Commit Graph

30654 Commits

Author SHA1 Message Date
neutrino88
e5721b01f6 res_rtp_asterisk: Avoid merging command and regular T.140 text packets
When realtime text packets are to be sent, the text is accumulated in a
buffer and sent regularly by a timer.  It can happen that commands such as
a backspace, CR, or LF get merged with regular text.  This breaks some
UAs.

The proposed change:
* We test if the current packet contains a command.  If so we send the
buffer immediately.
* We test if the buffer contained a command.  If so we send the buffer
immediately.
* We accumulate the text (or the command) in the buffer.

ASTERISK-27970

Change-Id: Ifbe993311410fa855cb8aa4a12084db75f413462
2018-07-20 12:30:10 -05:00
Corey Farrell
fd84eb65b3 CI: Fix logger.conf for unit tests.
Change-Id: Idea59d60eab20105de50b34f0f0d506e6ef55d5c
2018-07-20 09:30:23 -05:00
George Joseph
2acba0f418 CI: Add wiki doc publish to periodics
Change-Id: I29ba26134e5083bc6788ede235f1a5d4383c148a
2018-07-20 06:53:43 -06:00
Joshua Colp
18e9acc3c1 res_pjsip: Update default keepalive interval to 90 seconds.
A change recently went in which disabled the built-in PJSIP
keepalive. This defaulted to 90 seconds and kept TCP/TLS
connections alive. Disabling this functionality has resulted
in a behavior change of not doing keepalives by default resulting
in TCP/TLS connections dropping for some people.

This change makes our default keepalive interval 90 seconds
to match the previous behavior and preserve it.

ASTERISK-27978

Change-Id: Ibd9a45f3cbe5d9bb6d2161268696645ff781b1d6
2018-07-20 11:54:35 +00:00
George Joseph
58c7b64ed6 xmldoc.c: Fix dump of xml document
The "xmldoc dump" cli command was simply concatenating xml documents
into the output file.  The resulting file had multiple "xml"
processing instructions and multiple root elements which is illegal.
Normally this isn't an issue because Asterisk has only 1 main xml
documentation file but codec_opus has its own file so if it's
downloaded and you do "xmldoc dump", the result is invalid.

* Added 2 new functions to xml.c:
    ast_xml_copy_node_list creates a copy of a list of children.
    ast_xml_add_child_list adds a list to an existing list.

* Modified handle_dump_docs to create a new output document and
  add to it the children from each input file.  It then dumps the
  new document to the output file.

Change-Id: I3f182d38c75776aee76413dadd2d489d54a85c07
2018-07-20 05:20:25 -06:00
Richard Mudgett
0ade9df3b6 res_pjsip: Update endpoint transport option documentation.
Change-Id: I5394fdff6a296efc8e1695a156e616acd932ae52
2018-07-19 16:39:09 -05:00
George Joseph
f4ddc56b9a Merge "res_pjsip_sdp_rtp: include ice in ANSWER only if offered" into 13 2018-07-18 15:20:01 -05:00
George Joseph
716bac536f Merge "pjproject_bundled: Repair ./configure --with-ssl=PATH." into 13 2018-07-18 15:19:14 -05:00
George Joseph
bc1dd131f6 Merge "res_sorcery_config: Allow configuration section to be used based on name." into 13 2018-07-18 14:47:01 -05:00
Torrey Searle
bd36ec69e2 res_pjsip_sdp_rtp: include ice in ANSWER only if offered
Keep track if ICE candidates were in the SDP offer & only put them
in the corresponding SDP answer if the offer condaind ICE candidates

ASTERISK-27957 #close

Change-Id: Idf2597ee48e9a287e07aa4030bfa705430a13a92
2018-07-18 13:57:42 -05:00
Alexander Traud
6cf1aefff8 pjproject_bundled: Repair ./configure --with-ssl=PATH.
Previously, Asterisk did not tell its bundled PJProject about this configure
parameter. Therefore, PJProject used the platform provided OpenSSL always.

ASTERISK-27880

Change-Id: Iea545aec854dd0e2c061c69bb118a76ce56c5dc6
2018-07-18 13:55:55 -05:00
Chris-Savinovich
ae5ba776ae stasis: Improve message type "Use of before/init after destruction"
Fixes issue where error msg
"Use of before/init after destruction"
was being printed on disabled messages
in dev mode.  With this
fix if message is disabled
a warning will print.

ASTERISK-25548
Change-Id: Ie0d866d1cbc60c16dbef08bc65e99505c3c1adfa
2018-07-18 13:11:42 -05:00
Joshua Colp
03c1bbffd2 res_sorcery_config: Allow configuration section to be used based on name.
A problem I've seen countless times is a global or system section
for PJSIP not getting applied. This is inevitably the result of
the "type=" line missing. This change alleviates that problem.

The ability to specify an explicit section name has been
added to res_sorcery_config. If the configured section
name matches this and there are no unknown things configured
the section is taken as being for the given type.

Both the PJSIP "global" and "system" types now support this
so you can just name your section "global" or "system" and it
will be matched and used, even without a "type=" line.

ASTERISK-27972

Change-Id: Ie22723663c1ddd24f869af8c9b4c1b59e2476893
2018-07-18 17:42:37 +00:00
George Joseph
953bdc3365 Merge "SRTP: Lower SDES key lifetime minimum to 2^20" into 13 2018-07-18 10:21:18 -05:00
Joshua Colp
00f9872dbd Merge "res_pjsip: Remove spurious error logging when printing silent headers" into 13 2018-07-18 05:49:07 -05:00
Joshua Colp
64e5ce7225 Merge "res_config_ldap.c: Fix mem leak in CLI "realtime show ldap status"" into 13 2018-07-17 16:29:35 -05:00
Nick French
6a0847cfc6 SRTP: Lower SDES key lifetime minimum to 2^20
SRTP SDES key lifetime support was added in ASTERISK_17899.

In that addition, the minimum key lifetime to be accepted was
set at the 10 hours @ 20ms/packet = 1800000 packets.

The firmware in the obi1xx ATA uses a hardcoded lifetime of
2^20 packets.

Lower the limit to 2^20 to support a wider field of clients.

ASTERISK-27967 #close

Change-Id: I81a0703c595a0c9101dfdf02300149a3cc39bf94
2018-07-17 14:45:56 -05:00
Joshua Colp
39a352a35c Merge "Build: Fix modules getting their optimization setting overridden." into 13 2018-07-17 12:14:46 -05:00
George Joseph
f8fa7182ac CI: Fix merge strategy
Change-Id: I5e3fb6adfa6cbf694c0deecf02e3879297b0c12e
2018-07-17 10:09:32 -06:00
George Joseph
ca651c8973 CI: Fix regex in daily and ref_debug jobs
Change-Id: Icf2e67818b2155a158d2390b138613e1f653ea92
2018-07-17 09:42:13 -06:00
Nick French
47572a5831 res_pjsip: Remove spurious error logging when printing silent headers
Asterisk patched the pjproject source to avoid crashing when pjproject
sip_msg headers are encountered with NULL vptr's, but the patch also
output error messages for some valid headers which simply did not need
to be added to the message itself, such as hidden route headers.

pjproject has since applied a similar patch to their baseline to avoid
crashes, but their version also avoids the spurious error logging.

Lets use their patch instead.

ASTERISK-27961 #close

Change-Id: I2ddbd82c8da10e0dcc9807a48089d1f3c2d6e389
2018-07-17 10:28:12 -05:00
Richard Mudgett
33668ab46a res_config_ldap.c: Fix mem leak in CLI "realtime show ldap status"
Change-Id: Ib2a3622b297b0363c62d23958f7a20039bcb9b4c
2018-07-17 10:18:55 -05:00
George Joseph
081f689bc5 CI: Add pre-build merge back in as RECURSIVE
Change-Id: I0ff1730ef4a4f0ac9f18ccc9bc0dfe7a782f57a8
2018-07-17 09:16:37 -06:00
George Joseph
ab72d23795 Merge "Fix declaration of PBX_CURL for ./configure --without-libcurl" into 13 2018-07-17 09:50:00 -05:00
George Joseph
694503d378 CI: Remove pre-build merge from gates and checks
Change-Id: Ibc151f63dcec4db847915c2f3cbe5b467dd59574
2018-07-17 08:02:28 -06:00
George Joseph
65cf0001fe CI: Fix logic inversion in runTestsuite
Change-Id: I56399aa384468f45494c2c3650420563a0b6efe1
2018-07-17 06:14:22 -06:00
George Joseph
c025f09452 CI: Add teardownRealtime
Change-Id: I2fe55c38607eaec2fbf69ef23a5019e0c443a64b
2018-07-17 03:04:03 -06:00
George Joseph
0da16dd5d0 CI: Prevent Jenkins from triggering jobs back to itself
Change-Id: I9cae8bb3d1a2cea335d3ccd88d471832549666fd
2018-07-16 12:30:59 -06:00
Richard Mudgett
c8ea924b50 Build: Fix modules getting their optimization setting overridden.
Asterisk modules that use PJPROJECT services have their compiler
optimization and possibly their symbolic debug options overridden by the
PJPROJECT configure script selected settings.

* We need to filter-out any -O and -g options in PJ_CFLAGS before echoing
out the result so the PJPROJECT_INCLUDE variable does not override the
Asterisk module settings when using bundled PJPROJECT.

NOTE: This patch only has an effect when using bundled PJPROJECT.

ASTERISK-27563

Change-Id: If124169735ecf572ad1535cd43bff94cb44d5b30
2018-07-16 12:40:32 -05:00
George Joseph
bb52ce0b64 CI: runUnittests: loop a few times on waitfullybooted
Change-Id: Icebc0d013896f3b2a7214945cac60647435c1651
2018-07-16 10:10:47 -06:00
George Joseph
a5e6ffa1f2 CI: Add realtime checks to dailies
Change-Id: I6dc8ab1679b3505c6dde1d47e1b9276df47814f8
2018-07-16 09:56:06 -06:00
George Joseph
1817d5a3e7 CI: Add weekly REF_DEBUG testsuite run
Change-Id: I5b581d0a0d1d1bb9b38961d40b112fb448355037
2018-07-16 09:56:06 -06:00
George Joseph
340c383d21 Merge "CI: Fix bad reporting of status by the verification pub" into 13 2018-07-16 10:46:09 -05:00
George Joseph
0023e40308 CI: Fix bad reporting of status by the verification pub
Change-Id: I6f31a130b3ba0187149aaaa2ce94195a79e0f6a6
2018-07-16 07:46:31 -06:00
George Joseph
014f226bf1 CI: Make build tag an acceptable docker name
Change-Id: I3a4b8a4a9c488ddabf9daf651dc1334222056f38
2018-07-16 07:20:09 -05:00
Corey Farrell
871715f77c Fix declaration of PBX_CURL for ./configure --without-libcurl
When `--without-libcurl` is used PBX_CURL is never set.  Set default
value 0 so the proper value is passed to menuselect.

Change-Id: I03e2842a00899cbca2dbde52bb1f6636d54bae1e
2018-07-14 11:23:39 -05:00
George Joseph
b97b39fe1b CI: Add daily periodics to CI
Change-Id: I26933e73928e091ae72e838c02f4f2ec7c3983d6
2018-07-13 11:00:53 -05:00
Jenkins2
3560ab197d Merge "Bundled PJPROJECT: Disable internal connection oriented keep-alive." into 13 2018-07-12 18:25:56 -05:00
George Joseph
1b1271c3ea CI: Add Asterisk Gates
Change-Id: I7e2467f9120812551238d8005deb97f965279205
2018-07-12 15:51:46 -06:00
George Joseph
df67a98938 CI: Remove duplicate checkout
Change-Id: If5f925b4c4ed7000b153f3ed8386ce2140c886f8
2018-07-12 15:51:38 -06:00
George Joseph
947d024539 CI: Update cleanup steps and permissions
Change-Id: I7ca92935979d94845af8e1caf4468cbd6209b7de
2018-07-12 15:51:27 -06:00
George Joseph
578d381164 CI: Fix log artifact paths
Change-Id: I55136de8f4d9c3b56bd4d054306a187bb04a4b7d
2018-07-11 14:53:31 -05:00
George Joseph
96464a523b CI: Remove CleanBeforeCheckout option for testsuite
Change-Id: I510231c9087f7be5272b8ef3f3223eadaaffb754
2018-07-11 14:45:16 -05:00
George Joseph
2d16c85574 CI: Move gates into source repo
Change-Id: If028ede5f3b127fa274c63ce166bc04ad7c1e5db
2018-07-11 14:01:07 -05:00
Alexander Traud
d739aa71f8 Bundled PJPROJECT: Disable internal connection oriented keep-alive.
Turn off the periodic sending of CRLNCRLN.  Default is on (90 seconds),
which conflicts with the global section's keep_alive_interval option in
pjsip.conf.

patches:
  pjsip_keep_not_alive.patch submitted by Alexander Traud (License 6520)

ASTERISK-27347

Change-Id: I6a197f56e1830d3b7e5ec70f17025840a290b057
2018-07-11 12:05:42 -05:00
George Joseph
8167048804 CI: Initial commit for moving CI into source repo
Create tests/CI directory and add files used by Jenkins to
build and test Asterisk.

With this commit, Jenkins will run the Asterisk Unit Tests using
the Jenkinsfile at tests/CI/unittests.jenkinsfile.  Bash scripts
to do the actual building and testing are also in the same directory.
Output is placed in tests/CI/output so that directory has been
added to .gitignore.

Change-Id: I9448065465e6de2b878634510ace8fd1ef378608
2018-07-11 06:29:29 -05:00
Joshua Colp
3fe275ca02 Merge "res_pjsip_t38.c: Be smarter about how we respond when T.38 is disabled." into 13 2018-07-10 06:54:51 -05:00
Jenkins2
50e46e3bdb Merge "res_pjsip_pubsub: segfault in function publish_expire" into 13 2018-07-10 06:28:46 -05:00
Jenkins2
bca550649a Merge "chan_ooh323: IPTOS_MINCOST is not defined on Solaris." into 13 2018-07-10 06:21:42 -05:00
Jenkins2
ba5668bb1f Merge "res_pjsip/pjsip_transport_management.c: Fix deadlock with transport keep alive." into 13 2018-07-09 06:54:51 -05:00