Commit Graph

31138 Commits

Author SHA1 Message Date
William McCall
a7f4121238 app_confbridge: Add talking indicator for ConfBridgeList AMI response
When an AMI client connects, it cannot determine if a user was talking
prior to a transition in the user speaking state (which would generate
a ConfbridgeTalking event). This patch causes app_confbridge to track the
talking state and make this state available via ConfBridgeList.

ASTERISK-27877 #close

Change-Id: I19b5284f34966c3fda94f5b99a7e40e6b89767c6
2018-06-01 07:46:30 -06:00
Joshua Colp
4ea98e49f1 Merge "rtp: Add support for RTP extension negotiation and abs-send-time." 2018-05-24 15:26:57 -05:00
Joshua Colp
1a11fd5187 Merge "res/res_rtp_asterisk: ensure marker bit is correctly set on ssrc change" 2018-05-24 15:09:58 -05:00
Joshua Colp
fbb33ba6e8 Merge "tcptls: Repair ./configure --with-ssl=PATH." 2018-05-24 06:20:15 -05:00
Joshua Colp
f5c1e74524 Merge "app_queue: Update year Copyright and fix missing tabs in documentation" 2018-05-24 05:49:41 -05:00
Joshua Colp
ca9120a1f0 Merge "config.c: Fix successful DELETE treated as failure" 2018-05-24 05:49:21 -05:00
Joshua Colp
7e655b26d1 Merge "channel.c: Fix off nominal channel allocation failure path." 2018-05-24 05:18:16 -05:00
Torrey Searle
c5d2bf05f4 res/res_rtp_asterisk: ensure marker bit is correctly set on ssrc change
Certain race conditions between changing bridge types and DTMF can
cause the current FLAG_NEED_MARKER_BIT to send the marker bit before
the actual first packet of native bridging.

This logic keeps track of the ssrc the bridge is currently sending
and will correctly ensure the marker bit is set if SSRC as changed
from the previous sent packet.

ASTERISK-27845

Change-Id: I01858bd0235f1e5e629e20de71b422b16f55759b
2018-05-23 20:18:32 -06:00
Joshua Colp
25764691b0 Merge "netsock2: Add ast_sockaddr_resolve_first_af to netsock2 public API" 2018-05-23 12:10:13 -05:00
Joshua Colp
a507c73a78 rtp: Add support for RTP extension negotiation and abs-send-time.
When RTP was originally created it had the ability to place a single
extension in an RTP packet. In practice people wanted to potentially
put multiple extensions in one and so RFC 5285 (obsoleted by RFC
8285) came into existence. This allows RTP extensions to be negotiated
with a unique identifier to be used in the RTP packet, allowing
multiple extensions to be present in the packet.

This change extends the RTP engine API to add support for this. A
user of it can enable extensions and the API provides the ability to
retrieve the information (to construct SDP for example) and to provide
negotiated information (from SDP). The end result is that the RTP
engine can then query to see if the extension has been negotiated and
what unique identifier is to be used. It is then up to the RTP engine
implementation to construct the packet appropriately.

The first extension to use this support is abs-send-time which is
defined in the REMB draft[1] and is a second timestamp placed in an
RTP packet which is for when the packet has left the sending system.
It is used to more accurately determine the available bandwidth.

ASTERISK-27831

[1] https://tools.ietf.org/html/draft-alvestrand-rmcat-remb-03

Change-Id: I508deac557867b1e27fc7339be890c8018171588
2018-05-23 09:41:59 -06:00
Richard Mudgett
1bec0c73b3 channel.c: Fix off nominal channel allocation failure path.
__ast_channel_alloc_ap() had a failure exit path that hadn't setup the fd
descriptors to -1 yet.  The destructor would then attempt to close these
fd's that had never been opened.

Change-Id: Icf21093f36c60781e8cf6ee9d586536302af33e3
2018-05-22 16:41:42 -06:00
Rodrigo Ramírez Norambuena
d402594f74 app_queue: Update year Copyright and fix missing tabs in documentation
Change-Id: Ieb8faf37dc765463ee5dbca1d1343242c756b1c7
2018-05-22 13:10:59 -04:00
Alexei Gradinari
39632c7e00 config.c: Fix successful DELETE treated as failure
The config engine destroy_func callback function returns the number of
rows deleted or -1 on error.  But the function
ast_destroy_realtime_fields treated non-zero return values as error.

ASTERISK-27863

Change-Id: Ied02b38e8196cb03043e609a0679feebd288d17b
2018-05-22 08:29:29 -06:00
Matthew Fredrickson
9f9dce05b2 netsock2: Add ast_sockaddr_resolve_first_af to netsock2 public API
This function originally was used in chan_sip to enable some simplifying
assumptions and eventually was copy and pasted into res_pjsip_logger and
res_hep.  Since it's replicated in three places, it's probably best to
move it into the public netsock2 API for these modules to use.

Change-Id: Id52e23be885601c51d70259f62de1a5e59d38d04
2018-05-21 11:03:10 -05:00
Joshua Colp
21dd609e77 Merge "app_voicemail: Fix data-type mismatch between app_voicemail and database" 2018-05-21 09:05:19 -05:00
Alexander Traud
2228ae3f27 tcptls: Repair ./configure --with-ssl=PATH.
SSL_OP_NO_TLSv1_1 and SSL_OP_NO_TLSv1_2 got discovered without honoring a PATH.

ASTERISK-27865

Change-Id: I8cd358eed7411726d08fa7b01691bef122fbeb71
2018-05-19 15:23:30 +02:00
Kevin Harwell
be9a1952d8 Merge "chan_mobile: support handling of caller-id names ("cnam")." 2018-05-18 17:44:23 -05:00
Kevin Harwell
01f3483e6b Merge "app_voicemail: Fix incorrect msg leaving/retrieving an ODBC voicemail" 2018-05-18 17:18:59 -05:00
Kevin Harwell
357654313f Merge "rtp_engine: Allow Media Formats with add_static_payload(-1) on egress again." 2018-05-18 16:42:29 -05:00
Nic Colledge
2ca3b6d9cc app_voicemail: Fix data-type mismatch between app_voicemail and database
Fix data-type mismatch between app_voicemail and database columns
exposed by new version of MariaDB

ASTERISK-27760

Change-Id: I8543ad480a08c98be78bde1ee870e6e6c84b2c5b
2018-05-17 16:18:04 -06:00
Nic Colledge
97f20fe5ed app_voicemail: Fix incorrect msg leaving/retrieving an ODBC voicemail
Correct the log warning message shown when ODBC voicemail
retrieve_file is called and there is a null value in the category
column.
A more meaningfull message is now written at debug level.

ASTERISK-27853

Change-Id: Ic36e97d5eb070a23a12ba45972f6b53e2182a3f4
2018-05-17 16:15:00 -06:00
Brian P. Martin
52ed6bcc8f chan_mobile: support handling of caller-id names ("cnam").
Add support to handle caller-ID names ("cnam") in addition to caller-ID
numbers.  The prior code ignored the caller-ID name altogether, and
used the local name for the cell phone (e.g. "my-iphone") in its place.

Note: as of this writing, at least some Android phones don't pass cnam to
us. This can be seen by issuing "core set debug 2" in the CLI and watching
the "CLIP" record when a call comes in.  If cnam isn't in the CLIP record,
there's nothing we can do to provide one.  We'll provide a null cnam field,
so later Asterisk processes know to try other sources (e.g. cidname database,
OpenCNAM, etc.).

Reported by: Brian Martin
Tested by: Brian Martin
ASTERISK-27726

Change-Id: I89490d85fa406c36261879c50ae5e65595538ba5
2018-05-17 15:24:34 -06:00
Alexander Traud
f10fc135d4 res_pjsip_endpoint_identifier_ip: Unregister the module for headers.
Asterisk uses Reference Counting to track whether a module can be unloaded.
Every consumer who requires a module, increases the reference count. When the
consumer goes, is unloaded itself, it has to decrease the reference count on
all its used/required modules. That way
 core stop gracefully
works on the command-line interface (CLI): One module after the other is
unloaded. A recent change broke this for the module res_pjsip.

ASTERISK-27861

Change-Id: I261abcb411d026bbb0691cc78f28300bfd3103a3
2018-05-17 08:58:43 +02:00
Joshua Colp
60ce5d0003 Merge "cli: Display correct unit for HTTP timeout in "manager show settings"." 2018-05-16 13:56:48 -05:00
Joshua Colp
195af35026 Merge "Fix GCC 8 build issues." 2018-05-16 13:56:34 -05:00
Joshua Colp
1cc4313d32 Merge "rtp_engine: Remove the double assigned RTP payload ID of H.263+." 2018-05-15 04:06:39 -05:00
Joshua Colp
c0c79997f8 Merge "git: Ignore *.orig." 2018-05-14 06:56:08 -05:00
Joshua Colp
bc4b3c535d Merge "rtp_engine: Avoid a typo error in Doxygen for ast_rtp_codecs_find_payload_code." 2018-05-14 06:30:44 -05:00
Joshua Colp
a103221de2 Merge "pjsip: Rewrite OPTIONS support with new eyes." 2018-05-14 04:06:53 -05:00
Alexander Traud
71d1e8d8c8 rtp_engine: Remove the double assigned RTP payload ID of H.263+.
Mantis-3709 (Commit 68ff3c3, Asterisk 1.2) added support for the video format
H.263+. For this, the RTP payload ID 103 got assigned statically. Commit f1aadc8
assigned another payload ID 98 for this format in Asterisk 1.6.

Change-Id: I90e35b158487f8f1f8187da6241b54cd3b74e667
2018-05-11 19:49:12 +02:00
Corey Farrell
4722a653f4 cli: Display correct unit for HTTP timeout in "manager show settings".
HTTP timeout is in seconds, not minutes.

ASTERISK-27852 #close

Change-Id: Ie6640835cb07307555741f9b559c2eb876d9343e
2018-05-11 11:28:49 -06:00
Alexander Traud
263637a38d rtp_engine: Avoid a typo error in Doxygen for ast_rtp_codecs_find_payload_code.
Change-Id: Ica089d4507a27ddfc4ce3a88d697ffbef378de48
2018-05-11 17:37:57 +02:00
Corey Farrell
b5914d90ac Fix GCC 8 build issues.
This fixes build warnings found by GCC 8.  In some cases format
truncation is intentional so the warning is just suppressed.

ASTERISK-27824 #close

Change-Id: I724f146cbddba8b86619d4c4a9931ee877995c84
2018-05-11 09:48:58 -04:00
Alexander Traud
919b0eb3f2 rtp_engine: Allow Media Formats with add_static_payload(-1) on egress again.
This issue affected only installations with rtp_use_dynamic=yes in asterisk.conf
which is the default since Asterisk 15. Codec 2 and SiLK were built-in examples
of media formats which were affected.

ASTERISK-27850
Reported by: Dinis Brazão, Selene Feigl

Change-Id: I08c1e76433a67e4350141d38cacf3a1cb5086496
2018-05-11 14:10:51 +02:00
Joshua Colp
6773ea9e39 Merge "makeopts.in: Remove unused/undefined AST_MARCH_NATIVE." 2018-05-10 03:44:40 -05:00
Joshua Colp
5437b3932d Merge "sip_to_pjsip: Enable python3 compatibility." 2018-05-09 19:25:55 -05:00
Joshua Colp
1351f42363 Merge "res_hep: Adds hostname resolution support for capture_address" 2018-05-09 19:00:41 -05:00
Jenkins2
179c794879 Merge "app_macro: Prevent infinite loop in find_matching_priority." 2018-05-09 11:32:30 -05:00
Corey Farrell
2e37684913 git: Ignore *.orig.
This prevents accidental commit of files created by patch.

Change-Id: I68380db61f0f9d620046f719ccd978811d0e9964
2018-05-09 08:51:11 -06:00
Alexander Traud
2d81709ab1 sip_to_pjsip: Enable python3 compatibility.
The script remains compatible with Python 2.7 but now also works with
Python 3.3 and newer; to ease the migration from chan_sip to chan_pjsip.

ASTERISK-27811

Change-Id: I59cc6b52a1a89777eebcf25b3023bdf93babf835
2018-05-09 09:38:38 -04:00
Corey Farrell
cea87fe7b8 makeopts.in: Remove unused/undefined AST_MARCH_NATIVE.
Change-Id: I617a96ebb83ec99f5d3176bbbee2d2a272ccb203
2018-05-08 13:29:14 -06:00
Jaco Kroon
9f1e1d153a manager: fix digest auth for ami/http mechanism.
Due to a fixed size buffer the digest authentication could be
incorrectly calculated if a large URI was provided, causing
authentication failure. The buffer is now dynamically allocated to allow
any size URI within the normal limits of the HTTP request size.

ASTERISK-27841

Change-Id: I660609db13b8f9e5f9567f339dd804f4985d41b3
2018-05-08 08:25:20 -06:00
Jenkins2
d83a37f0cc Merge "stream: Make the topology a reference counted object." 2018-05-08 05:42:53 -05:00
Corey Farrell
d855658f23 app_macro: Prevent infinite loop in find_matching_priority.
Use AST_PBX_MAX_STACK to escape if we recurse 128 times.  This will
prevent crash if dialplan contains an include loop.  Log an error when
this occurs, at most one message per call to Macro() so we avoid logger
spam.

ASTERISK-26570 #close

Change-Id: I6c71b76998c31434391b150de055ae9a531e31da
2018-05-07 07:58:12 -06:00
Matthew Fredrickson
8f55f7c333 res_hep: Adds hostname resolution support for capture_address
Previously, only an IP address would be accepted for the capture_address config
setting in hep.conf.  This change allows capture_address to be a resolvable
hostname or an IP address.

ASTERISK-27796 #close
Reported-By: Sebastian Gutierrez

Change-Id: I33e1a37a8b86e20505dadeda760b861a9ef51f6f
2018-05-04 16:13:55 -05:00
Jenkins2
57ad488451 Merge "res_ari: Remove requirement that body exists when debug is on." 2018-05-04 06:32:38 -05:00
Jenkins2
dcaaae6cd1 Merge "iostreams: Add some documentation for the ast_iostream_* functions" 2018-05-04 06:14:56 -05:00
Joshua Colp
11f5aba43b Merge "chan_dahdi: Configurable dialed digit timeouts" 2018-05-03 12:07:14 -05:00
Jenkins2
85f894a8e0 Merge "pbx_lua: Support displaying lua error message if no debug table exists" 2018-05-03 11:41:35 -05:00
Jenkins2
8e228fc138 Merge "res_pjsip/pjsip_distributor.c: Add missing off-nominal request response." 2018-05-03 11:32:08 -05:00