* Fixed deadlock potential calling dialog_unlink_all() in
__sip_autodestruct(). Found by helgrind.
* Fixed deadlock potential in handle_request_invite() after calling
sip_new(). Found by helgrind.
* The sip_new() function now returns with the created channel already
locked.
* Removed the dead code that starts a PBX in in sip_new(). No sip_new()
callers caused that code to be executed and it was a bad thing to do
anyway.
* Removed unused parameters and return value from dialog_unlink_all().
* Made dialog_unlink_all() and __sip_autodestruct() safely obtain the
owner and private channel locks without a deadlock avoidance loop.
........
Merged revisions 340284 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 340310 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r340165 | mjordan | 2011-10-10 15:30:18 -0500 (Mon, 10 Oct 2011) | 20 lines
Merged revisions 340164 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r340164 | mjordan | 2011-10-10 15:23:48 -0500 (Mon, 10 Oct 2011) | 13 lines
Updated chan_sip to place calls on hold if SDP address in INVITE is ANY
This patch fixes the case where an INVITE is received with c=0.0.0.0 or ::.
In this case, the call should be placed on hold. Previously, we checked for
the address being null; this patch keeps that behavior but also checks for
the ANY IP addresses.
Review: https://reviewboard.asterisk.org/r/1504/
(closes issue ASTERISK-18086)
Reported by: James Bottomley
Tested by: Matt Jordan
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r339626 | rmudgett | 2011-10-06 12:53:00 -0500 (Thu, 06 Oct 2011) | 25 lines
Merged revisions 339625 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r339625 | rmudgett | 2011-10-06 12:49:38 -0500 (Thu, 06 Oct 2011) | 18 lines
Fix debugging messages generated by 'udptl debug'.
* Makes chan_sip set the tag to the channel name.
* Fixes received debug message sequence number.
* Removed tx/rx debug message type since it was hard coded to 0.
* Made udptl.c logged message header consistent if possible: "UDPTL (%s): ".
* Removed unused rx_expected_seq_no from struct ast_udptl.
(closes issue ASTERISK-18401)
Reported by: Kevin P. Fleming
Patches:
jira_asterisk_18401_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Matthew Nicholson
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r339088 | twilson | 2011-10-03 11:44:27 -0700 (Mon, 03 Oct 2011) | 17 lines
Merged revisions 339086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r339086 | twilson | 2011-10-03 11:40:52 -0700 (Mon, 03 Oct 2011) | 10 lines
Properly ignore AST_CONTROL_UPDATE_RTP_PEER in more places
After the change in r336294, the new AST_CONTROL_UPDATE_RTP_PEER frame
is sent when a re-invite happens. If we receive a re-invite from a device
the waitstream_core was not aware of the new control frame and would drop
the call.
(closes issue ASTERISK-18610)
Reported by: Kristijan_Vrban
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
........
r337595 | jrose | 2011-09-22 10:35:50 -0500 (Thu, 22 Sep 2011) | 12 lines
Generate Security events in chan_sip using new Security Events Framework
Security Events Framework was added in 1.8 and support was added for AMI to generate
events at that time. This patch adds support for chan_sip to generate security events.
(closes issue ASTERISK-18264)
Reported by: Michael L. Young
Patches:
security_events_chan_sip_v4.patch (license #5026) by Michael L. Young
Review: https://reviewboard.asterisk.org/r/1362/
........
r337597 | jrose | 2011-09-22 10:47:05 -0500 (Thu, 22 Sep 2011) | 10 lines
Forgot to svn add new files to r337595
Part of Generating security events for chan_sip
(issue ASTERISK-18264)
Reported by: Michael L. Young
Patches:
security_events_chan_sip_v4.patch (License #5026) by Michael L. Young
Reviewboard: https://reviewboard.asterisk.org/r/1362/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
........
r336936 | irroot | 2011-09-20 18:51:59 +0200 (Tue, 20 Sep 2011) | 14 lines
Allow Setting Auth Tag Bit length Based on invite or config option
Update the SIP SRTP API to allow use of 32 or 80 bit taglen.
Curently only 80 bit is supported.
The outgoing invite will use the taglen of the incoming invite preventing
one-way audio.
(Closes issue ASTERISK-17895)
Review: https://reviewboard.asterisk.org/r/1173/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r336307 | jrose | 2011-09-16 16:09:20 -0500 (Fri, 16 Sep 2011) | 20 lines
Merged revisions 336294 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r336294 | jrose | 2011-09-16 14:53:40 -0500 (Fri, 16 Sep 2011) | 13 lines
Fix bad RTP media bridges in directmedia calls on peers separated by multiple Asterisk nodes.
In a situation involving devices on separate Asterisk trunks, the remote RTP bridge would
break when starting a call with directmedia. This patch queues a new type of control frame
so that our RTP bridge loop can properly detect when these situations occur and check to see
if peers need to be updated in order to send their media to the proper location.
(Closes issue ASTERISK-18340)
Reported by: Thomas Arimont
(Closes issue ASTERISK-17725)
Reported by: kwk
Tested by: twilson, jrose
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r335323 | oej | 2011-09-12 15:47:13 +0200 (Mån, 12 Sep 2011) | 19 lines
Merged revisions 335319 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r335319 | oej | 2011-09-12 15:25:30 +0200 (Mån, 12 Sep 2011) | 12 lines
Lock the peer->mvipvt to avoid crashes with SIP history enabled
After the launch of 1.6 event-based MWI we have two threads handling the peer->mwipvt,
which cause issues with SIP history additions in combination with the max limit for
number of history entries.
Review: https://reviewboard.asterisk.org/r/1373/
(closes issue ASTERISK-18288)
Thanks to irrot for peer review. Work with this bug funded by IPvision AS
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines
Merged revisions 335064 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines
Updated SIP 484 handling; added Incomplete control frame
When a SIP phone uses the dial application and receives a 484 Address
Incomplete response, if overlapped dialing is enabled for SIP, then
the 484 Address Incomplete is forwarded back to the SIP phone and the
HANGUPCAUSE channel variable is set to 28. Previously, the Incomplete
application dialplan logic was automatically triggered; now, explicit
dialplan usage of the application is required.
Additionally, this patch adds a new AST_CONTOL_FRAME type called
AST_CONTROL_INCOMPLETE. If a channel driver receives this control frame,
it is an indication that the dialplan expects more digits back from the
device. If the device supports overlap dialing it should attempt to
notify the device that the dialplan is waiting for more digits; otherwise,
it can handle the frame in a manner appropriate to the channel driver.
(closes issue ASTERISK-17288)
Reported by: Mikael Carlsson
Tested by: Matthew Jordan
Review: https://reviewboard.asterisk.org/r/1416/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Make check_rtp_timeout() remember the values returned by
ast_rtp_instance_get_timeout(), ast_rtp_instance_get_hold_timeout(), and
ast_rtp_instance_get_keepalive() instead of repeatedly calling them.
(closes issue ASTERISK-18319)
Reported by: Rob Gagnon
Patches:
issue-18319-trunk-r333066.diff (License #6159) patch uploaded by Rob Gagnon
Review: https://reviewboard.asterisk.org/r/1377/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r334007 | kmoore | 2011-08-31 10:19:30 -0500 (Wed, 31 Aug 2011) | 14 lines
Merged revisions 334006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r334006 | kmoore | 2011-08-31 10:18:37 -0500 (Wed, 31 Aug 2011) | 7 lines
Correct an AMI protocol violation with SIPshowpeer
The response of SIPshowpeer ends with "\r\n\r\n". Since other commands are
ended by using \r\n this confuses any interfacing script.
(closes issue ASTERISK-17486)
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r333837 | twilson | 2011-08-29 16:41:13 -0500 (Mon, 29 Aug 2011) | 22 lines
Merged revisions 333836 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r333836 | twilson | 2011-08-29 16:38:31 -0500 (Mon, 29 Aug 2011) | 15 lines
Refresh peer address if DNS unavailable at peer creation
If Asterisk starts and no DNS is available, outbound registrations will fail
indefinitely. This patch copies the address from the sip_registry struct, which
will be updated, to the peer->addr when necessary.
If dnsmgr is enabled, the registration fails without the patch because even
though the address on the registry is updated via dnsmgr, the address is just
copied on the first try. Since we use ast_sockaddr_copy, dnsmgr can't update
the address that is copied to the sip_pvt or peers.
Closes issue ASTERISK-18000
Review: https://reviewboard.asterisk.org/r/1335/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333838 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r332119 | jrose | 2011-08-16 12:45:38 -0500 (Tue, 16 Aug 2011) | 23 lines
Merged revisions 332118 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r332118 | jrose | 2011-08-16 12:38:19 -0500 (Tue, 16 Aug 2011) | 16 lines
ASTERISK-18067 ASTERISK-15479 - White Space affects mailbox value, multiple MWI subs
Before, having multiple subscriptions to mailboxes on a sip peer set via the mailbox
setting in sip.conf would only result in updates being sent on whichever mailbox
triggered the mwi event. Now all of them get counted regardless. Also fixes a bug
involving parsing of the mailbox option in sip.conf so that trailing and leading
spaces before/after commas are trimmed.
(closes issue ASTERISK-18067)
Reported by: aragon
(closes issue ASTERISK-15479)
Reported by: Ben Winslow
Patches: chan_sip.c-mwi_multi_mailbox_fix-1.6.2.13.diff (License #5288) patch uploaded by Ben Winslow
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r332022 | mnicholson | 2011-08-16 09:40:37 -0500 (Tue, 16 Aug 2011) | 16 lines
In 10 and trunk this option is disabled by default.
Merged revisions 332021 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r332021 | mnicholson | 2011-08-16 09:20:43 -0500 (Tue, 16 Aug 2011) | 7 lines
Added the 'storesipcause' option to sip.conf to allow the user to disable the
setting of HASH(SIP_CAUSE,<chan name>) on the channel.
Having chan_sip set HASH(SIP_CAUSE,<chan name>) on the channel carries a
significant performance penalty because of the usage of the MASTER_CHANNEL()
dialplan function.
AST-580
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r331518 | kmoore | 2011-08-10 17:23:49 -0500 (Wed, 10 Aug 2011) | 17 lines
Merged revisions 331517 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r331517 | kmoore | 2011-08-10 17:23:08 -0500 (Wed, 10 Aug 2011) | 10 lines
SIP Notify via AMI or CLI leaks SIP PVTs
Any SIP notify sent via AMI or CLI leaks a SIP PVT with ref count +2. Removing
the additional ref just before the invite and adding an unref following it
corrects the issue as seen via REF_DEBUG. The unref existed in a distant
revision and it appears as though the wrong ref operation was removed.
(closes issue ASTERISK-18091)
Review: https://reviewboard.asterisk.org/r/1332/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
In order to address a compatability issue with certain features on certain devices
which rely on display name content to change behavior, initreqprep in chan_sip.c
has been changed to no longer substitute cid_number into the display name when
cid_name isn't present. Instead, it will send no display name in that case.
(closes issue ASTERISK-16198)
Reported by: Walter Doekes
Review: https://reviewboard.asterisk.org/r/1341/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines
Merged revisions 331248 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines
Misc minor items found in code.
* Add some reentrancy protection in pbx.c when creating the contexts_table
hash table.
* Fix inverted test in chan_sip.c conditional code.
* Fix uninitialized variable and use of the wrong variable in chan_iax2.c.
* Fix test of return value in app_parkandannounce.c. Explicitly testing
for -1 is bad if the function does not actually return that value when it
fails.
* Fixup some comments and add some curly braces in features.c.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/2.0
................
r328936 | kmoore | 2011-07-20 14:01:37 -0500 (Wed, 20 Jul 2011) | 15 lines
Merged revisions 328935 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328935 | kmoore | 2011-07-20 14:00:23 -0500 (Wed, 20 Jul 2011) | 8 lines
Inband DTMF regression
The functionality of inband DTMF in chan_sip relied upon
ast_rtp_instance_dtmf_mode_get/set not working properly to avoid calling
ast_rtp_instance_dtmf_begin/end on RTP streams with inband DTMF. According to
documentation, ast_rtp_instance_dtmf_begin/end is meant only for RFC2833 DTMF,
never inband. This fixes the regression introduced in revision 328823.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.10
................
r328824 | kmoore | 2011-07-19 13:05:21 -0500 (Tue, 19 Jul 2011) | 18 lines
Merged revisions 328823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328823 | kmoore | 2011-07-19 12:57:18 -0500 (Tue, 19 Jul 2011) | 11 lines
RTP bridge away with inband DTMF and feature detection
When deciding whether Asterisk was allowed to bridge the call away from the
core, chan_sip did not take into account the usage of features on dialed
channels that require monitoring of DTMF on channels utilizing inband DTMF.
This would cause Asterisk to allow the call to be locally or remotely bridged,
preventing access to the data required to detect activations of such features.
(closes 17237)
Review: https://reviewboard.asterisk.org/r/1302/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.10
................
r328611 | markm | 2011-07-18 08:56:49 -0400 (Mon, 18 Jul 2011) | 15 lines
Merged revisions 328608 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328608 | markm | 2011-07-18 08:35:57 -0400 (Mon, 18 Jul 2011) | 9 lines
If the sip private structure is null, sip_setoption() will defref the null pointer and crash.
Ideally, sip_setoption shouldn't be called if there is a lack of a sip private structure. But this will fix a crash.
(closes issue ASTERISK-17909)
Reported by: Mark Murawski
Tested by: Mark Murawski
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r327211 | rmudgett | 2011-07-08 16:41:58 -0500 (Fri, 08 Jul 2011) | 9 lines
INVITE 403 Forbidden response always retransmits the maximum times.
Asterisk sends a 403 Forbidden response if authentication fails for an
INVITE as required. However, it ignores the ACK and keeps retransmitting
the response.
* Made not delete the to-tag in the dialog so the expected ACK can be
matched with the dialog and stop the retransmissions.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds pass-through support for CELT. CELT
formats are defined in codecs.conf and can be configured
to any sample rate a CELT endpoint supports. This patch also
addresses a crash in channel.c resulting from a frame list being
freed incorrectly. This crash was discovered while testing a CELT
translator which had to split encoded audio into multiple frames.
The codec translator is not a part of this patch, but may be
contributed in the future.
Review: https://reviewboard.asterisk.org/r/1294/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326855 65c4cc65-6c06-0410-ace0-fbb531ad65f3