Commit graph

3154 commits

Author SHA1 Message Date
Terry Wilson
ece8a5702a Merged revisions 324237 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324237 | twilson | 2011-06-20 12:33:07 -0500 (Mon, 20 Jun 2011) | 12 lines
  
  Ignore media offers with a port of 0
  
  Section 5.1 of RFC3264 states:
    A port number of zero in the offer indicates that the stream is offered
    but MUST NOT be used.
  
  (closes issue ASTERISK-17845)
  Reported by: jacco
  Patches: 
        issue19281_2.patch uploaded by jacco (license 1277)
  Tested by: jacco, twilson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 17:34:45 +00:00
Terry Wilson
34e2305ae7 Merged revisions 324048 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r324048 | twilson | 2011-06-16 17:35:41 -0500 (Thu, 16 Jun 2011) | 8 lines
  
  Lock the channel before calling the setoption callback
  
  The channel needs to be locked before calling these callback functions. Also,
  sip_setoption needs to lock the pvt and a check p->rtp is non-null before using
  it.
  
  Review: https://reviewboard.asterisk.org/r/1220/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 22:49:49 +00:00
Terry Wilson
abd7ef817e Merged revisions 323370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323370 | twilson | 2011-06-14 09:33:55 -0700 (Tue, 14 Jun 2011) | 10 lines
  
  Add rtpkeepalives back to 1.8
  
  The RTP-engine conversion left out support for handling rtpkeepalives.
  This patch adds them back.
  
  (closes issue ASTERISK-17304)
  Reported by: lmadsen
  
  Review: https://reviewboard.asterisk.org/r/1226/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 17:03:37 +00:00
Jonathan Rose
00181729b4 Merged revisions 323371 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323371 | jrose | 2011-06-14 11:38:43 -0500 (Tue, 14 Jun 2011) | 12 lines
  
  Changes contact use in build_peer to use the FORCE_RPORT flag instead of RPORT_PRESENT
  
  It turned out that this was causing NAT=Yes to always use rport when present which was
  against 1.6.2 behavior and the check itself was redundant since the only way this
  segment of code could be reached was if RPORT_PRESENT was already evaluated as true
  earlier.
  
  (closes issue ASTERISK-17789)
  Reported by: byronclark
  Patches: 
        use_sip_nat_force_rport.patch uploaded by byronclark (license 1200)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:47:18 +00:00
David Vossel
379370a396 Store sip peer name as var data on a outofcall msg.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 14:37:41 +00:00
David Vossel
0bd877621e Addition of "outofcall_message_context" sip.conf option.
Review: https://reviewboard.asterisk.org/r/1265/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 19:43:57 +00:00
Matthew Nicholson
4c459c2c85 Merged revisions 323040 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r323040 | mnicholson | 2011-06-10 14:20:41 -0500 (Fri, 10 Jun 2011) | 5 lines
  
  Unlock the sip channel during fax detection like chan_dahdi does to prevent a deadlock with ast_autoservice_stop.
  
  (closes issue ASTERISK-17798)
  tested by mnicholson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 19:22:48 +00:00
Matthew Nicholson
53ef4bfc16 Merged revisions 322807 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r322807 | mnicholson | 2011-06-09 12:37:07 -0500 (Thu, 09 Jun 2011) | 5 lines
  
  don't drop any voice frames when checking for T.38 during early media
  
  (closes issue ASTERISK-17705)
  Review: https://reviewboard.asterisk.org/r/1186/
  patch by oej
  reported by oej
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 17:43:27 +00:00
Gregory Nietsky
4cd9bc43c2 Merged revisions 322322 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r322322 | irroot | 2011-06-08 08:18:38 +0200 (Wed, 08 Jun 2011) | 18 lines
  
    Make handle_request_publish do dialog expiration and destruction.
  
    This patch fixes handle_request_publish so that it does dialog expiration and destruction.
  
    Without this patch the incoming PUBLISH requests will get stuck in the dialog list.
    Restarting asterisk is the only way to remove them.
  
    Personal observation on one system the server hung up while looping through the channels
    rendering asterisk unusable and all sip phones unregisterd when they try reregister
    more requests are added.
  
    (closes issue #18898)
    Reported by: gareth
    Tested by: loloski, Chainsaw, wimpy, se, kuj, irroot
  
    Jira: https://issues.asterisk.org/jira/browse/ASTERISK-17915
    Review: https://reviewboard.asterisk.org/r/1253
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 06:45:55 +00:00
Richard Mudgett
ba625fa7d5 Correct some whitespace and a reference debug message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-07 23:14:25 +00:00
Richard Mudgett
397c379a7d Merged revisions 321812-321813 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321812 | rmudgett | 2011-06-03 14:55:21 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Correct IAX2 and SIP event subscription description string.
........
  r321813 | rmudgett | 2011-06-03 14:56:09 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Constify subscription description parameter string.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:57:03 +00:00
Russell Bryant
9cd3cf2e71 Fix message destination extension.
Don't send all messages to 's'.  Get the destination from the request URI.
(Found using automated test cases).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-02 22:09:05 +00:00
Russell Bryant
3f4d0e8743 Support routing text messages outside of a call.
Asterisk now has protocol independent support for processing text messages
outside of a call.  Messages are routed through the Asterisk dialplan.
SIP MESSAGE and XMPP are currently supported.  There are options in sip.conf
and jabber.conf that enable these features.

There is a new application, MessageSend().  There are two new functions,
MESSAGE() and MESSAGE_DATA().  Documentation will be available on
the project wiki, wiki.asterisk.org.

Thanks to Terry Wilson for the assistance with development and to David Vossel
for helping with some additional testing.

Review: https://reviewboard.asterisk.org/r/1042/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-01 21:31:40 +00:00
Leif Madsen
42907d40cd Merged revisions 321511 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321511 | lmadsen | 2011-05-31 12:04:47 -0400 (Tue, 31 May 2011) | 8 lines
  
  Enhance NOTICE message to know who couldn't access the dialplan.
  
  (closes issue #19390)
  Reported by: lmadsen
  Patches: 
        __20110531-sip-notice-tweak.txt uploaded by lmadsen (license 10)
  Tested by: russell
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-31 16:06:21 +00:00
Mark Murawki
9a7f807278 Merged revisions 321155 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321155 | markm | 2011-05-26 17:48:45 -0400 (Thu, 26 May 2011) | 10 lines
  
  Fixed build problem with dev mode enabled, which was caused by commit 321100.  Reformulated patch to be more generic.
  
  Moved the sip uri parse variable initalization to parse_uri_full in reqresp_parser.c.  This will ensure that any use of parse uri will have null output variables if the parse fails.
  
  (closes issue #19346)
  Reported by: kobaz
  Tested by: kobaz,JonathanRose
  
  Review: [full review board URL with trailing slash]
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 21:50:06 +00:00
Mark Murawki
0648d9595b Merged revisions 321100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321100 | markm | 2011-05-26 16:09:35 -0400 (Thu, 26 May 2011) | 11 lines
  
  ast_sockaddr_resolve() in netsock2.c may deref a null pointer
  
  Added a null check in netsock2 ast_sockaddr_resolve() as well as added default initalizers in chan_sip parse_uri_legacy_check() to make sure that invalid uris will make null (and not undefined) user,pass,domain,transport variables
  
  (closes issue #19346)
  Reported by: kobaz
  Patches: 
        netsock2.patch uploaded by kobaz (license 834)
  Tested by: kobaz, Marquis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-26 20:16:28 +00:00
Richard Mudgett
dbfac9cb55 Merged revisions 320883 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320883 | rmudgett | 2011-05-25 17:25:18 -0500 (Wed, 25 May 2011) | 17 lines
  
  Native SIP CCSS sends bad CC cancel SUBSCRIBE message.
  
  The SUBSCRIBE message used to cancel a CC request has incorrect To/From
  SIP headers.  They are reversed and the dialog tags are the same when they
  should not be.  If pedantic mode was disabled, then the cancel would have
  succeeded despite the incorrect message.
  
  * The SIP_OUTGOING flag was not set correctly for the dialog and I had to
  move some CC subscribe handling code as a result.
  
  * Initialized the dialog subscribed type to CALL_COMPLETION earlier.  If a
  CC request SUBSCRIBE message comes in and the CC instance is not found,
  the 404 response was duplicated.
  
  JIRA AST-568
  JIRA SWP-3493
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 22:28:01 +00:00
Jonathan Rose
12d7d81e6c Merged revisions 320504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320504 | jrose | 2011-05-23 09:33:20 -0500 (Mon, 23 May 2011) | 10 lines
  
  Fixes segfault occuring in chan_sip.c at __set_address_from_contact
  
  Checks to see if domain contains anything before sending it off to ast_sockaddr_resolve
  which is where the segfault was occuring due to null str.
  
  (closes issue #18857)
  Reported by: sybasesql
  
  Review: https://reviewboard.asterisk.org/r/1225/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-23 14:40:59 +00:00
Matthew Nicholson
81bd779c24 Merged revisions 320180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320180 | mnicholson | 2011-05-20 13:48:46 -0500 (Fri, 20 May 2011) | 16 lines
  
  This commit modifies the way polling is done on TLS sockets.
  
  Because of the buffering the TLS layer does, polling is unreliable. If poll is
  called while there is data waiting to be read in the TLS layer but not at the
  network layer, the messaging processing engine will not proceed until something
  else writes data to the socket, which may not occur. This change modifies the
  logic around TLS sockets to only poll after a failed read on a non-blocking
  socket. This way we know that there is no data waiting to be read from the
  buffering layer.
  
  (closes issue #19182)
  Reported by: st
  Patches:
        ssl-poll-fix3.diff uploaded by mnicholson (license 96)
  Tested by: mnicholson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 18:49:48 +00:00
Jonathan Rose
f90bc95f0d Merged revisions 319938 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319938 | jrose | 2011-05-20 08:28:24 -0500 (Fri, 20 May 2011) | 12 lines
  
  Adds legacy_useroption_parsing to address interoperability concerns.
  
  With the new option engaged, Asterisk should interpret user fields with useroptions
  contained within the userfield of the uri by stripping them out of the original message
  whenever a semicolon is encountered in the userfield string.
  
  (closes issue #18344)
  Reported by: danimal
  Tested by: jrose
  
  Review: https://reviewboard.asterisk.org/r/1223/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 13:42:15 +00:00
Terry Wilson
573108e63c Merged revisions 319654 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319654 | twilson | 2011-05-18 16:15:58 -0700 (Wed, 18 May 2011) | 22 lines
  
  Merged revisions 319653 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r319653 | twilson | 2011-05-18 16:11:57 -0700 (Wed, 18 May 2011) | 15 lines
    
    Merged revisions 319652 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r319652 | twilson | 2011-05-18 16:04:35 -0700 (Wed, 18 May 2011) | 8 lines
      
      Make sure everyone gets an unhold when a transfer succeeds
      
      Some phones, like the Snom phones, send a hold to the transfer target after
      before sending the REFER. We need to make sure that we unhold the parties
      that are being connected after the masquerade. If Local channels with the /nm
      option are used when dialing the parties, hold music would still be playing on
      the transfer target, even after being connected with the transferee.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 23:18:32 +00:00
Terry Wilson
99aaceacad Merged revisions 319552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319552 | twilson | 2011-05-18 13:22:36 -0700 (Wed, 18 May 2011) | 11 lines
  
  Unbreak the storing of registrations for restart
  
  The fix for issue 18882 broke retrieving non-realtime peers from the ast_db
  on restart/reload. This patch tries to unbreak things while leaving the intent
  of the original fix intact.
  (closes issue #19318)
  Reported by: remiq
  Patches: 
        diff.txt uploaded by twilson (license 396)
  Tested by: lmadsen, remiq
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-18 20:25:32 +00:00
Terry Wilson
d34d46a16e Merged revisions 319204 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319204 | twilson | 2011-05-16 13:17:43 -0500 (Mon, 16 May 2011) | 11 lines
  
  Merged revisions 319202 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r319202 | twilson | 2011-05-16 11:00:21 -0700 (Mon, 16 May 2011) | 4 lines
    
    Unlink a peer from peers_by_ip when expiring a registration
    
    Review: https://reviewboard.asterisk.org/r/1218/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 18:21:17 +00:00
David Vossel
980d896bde Merged revisions 319145 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r319145 | dvossel | 2011-05-16 10:57:26 -0500 (Mon, 16 May 2011) | 9 lines
  
  Merged revisions 319144 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r319144 | dvossel | 2011-05-16 10:56:16 -0500 (Mon, 16 May 2011) | 2 lines
    
    Fixes issue with peer ref-counting during handle_request_subscribe.
    (closes issue #19293)
    Reported by: irroot
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:58:12 +00:00
Matthew Nicholson
8e719c62b0 Merged revisions 319142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319142 | mnicholson | 2011-05-16 10:53:26 -0500 (Mon, 16 May 2011) | 8 lines
  
  Make sure tcptls_session exists before dereferencing it.
  
  (closes issue #19192)
  Reported by: stknob
  Patches:
        10-tcptls-unreachable-peer-segfault.patch uploaded by Chainsaw (license 723)
  Tested by: vois, Chainsaw
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 15:54:52 +00:00
Gregory Nietsky
32d43ebe19 When a error in T.38 negotiation happens or its rejected on a channel the
state of the channel reverts to unknown this should be rejected.
 
 this is important for negotiating T.38 gateway see #13405

 This patch adds a option T38_REJECTED that behaves as T38_DISABLED except it reports state rejected.

 Trivial Change to res_fax to honnor UNAVAILABLE and REJECTED states.

 (closes issue #18889)
 Reported by: irroot
 Tested by: irroot, darkbasic, 	mnicholson

 Review: https://reviewboard.asterisk.org/r/1115



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 14:56:53 +00:00
Brett Bryant
547490144c Merged revisions 318917 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318917 | bbryant | 2011-05-13 13:56:04 -0400 (Fri, 13 May 2011) | 11 lines
  
  This patch allows TCP peers into the ast_db where they were previously
  restricted.
  
  (closes issue #18882)
  Reported by: cmaj
  Patches: 
        patch-chan_sip-1.8.3-rc2-allow-tcp-peer-store-db-and-readonly-rt-backend.diff.txt
        uploaded by cmaj (license 830)
  Tested by: cmaj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318918 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-13 17:58:53 +00:00
Alec L Davis
892b7a2efd Merged revisions 318671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318671 | alecdavis | 2011-05-13 10:52:08 +1200 (Fri, 13 May 2011) | 30 lines
  
  Fix directed group pickup feature code *8 with pickupsounds enabled 
  
  Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.
  
  1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
  2). dialplan applications for directed_pickups shouldn't beep.
  3). feature code for directed pickup should beep on success/failure if configured.
  
  Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.
  
  Moved app_directed:pickup_do() to features:ast_do_pickup().
  
  Functions below, all now use the new ast_do_pickup()
  app_directed_pickup.c:
     pickup_by_channel()
     pickup_by_exten()
     pickup_by_mark()
     pickup_by_part()
  features.c:
     ast_pickup_call()
  
  (closes issue #18654)
  Reported by: Docent
  Patches: 
        ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
  Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1185/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 22:56:43 +00:00
Terry Wilson
475c264bd2 Merged revisions 318550 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318550 | twilson | 2011-05-11 13:47:33 -0500 (Wed, 11 May 2011) | 2 lines
  
  Comment out the REF_DEBUG that slipped in during debugging
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:52:53 +00:00
Terry Wilson
da4016544e Merged revisions 318549 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318549 | twilson | 2011-05-11 13:39:48 -0500 (Wed, 11 May 2011) | 27 lines
  
  Merged revisions 318548 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r318548 | twilson | 2011-05-11 12:15:39 -0500 (Wed, 11 May 2011) | 19 lines
    
    Clean up several chan_sip reference leaks
    
    Several situations in the code could lead to peers or sip_pvt references
    being leaked. This would cause RTP ports to never be destroyed (leading
    to exhaustion of all available RTP ports) and memory leaks.
    
    The original patch for this issue from rgagnon was the result of an
    obscene amount of testing and hard work, for which I am very grateful. I
    did some cleanup and added a few additional refcount fixes that I found.
    
    (closes issue #17255)
    Reported by: kvveltho
    Patches: 
          tag-1.6.2.17-r309252-sip-dos-mem-leak-fix.diff uploaded by rgagnon (license 1202)
    Tested by: rgagnon, twilson, wdoekes, loloski
    
    Review: https://reviewboard.asterisk.org/r/1101/
    Review: https://reviewboard.asterisk.org/r/1207/
    Review: https://reviewboard.asterisk.org/r/1210/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-11 18:50:51 +00:00
Terry Wilson
07b3742ad2 Merged revisions 318337 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318337 | twilson | 2011-05-09 15:23:15 -0500 (Mon, 09 May 2011) | 18 lines
  
  Merged revisions 318331 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r318331 | twilson | 2011-05-09 15:04:41 -0500 (Mon, 09 May 2011) | 12 lines
    
    Don't offer video to directmedia callee unless caller offered it as well
    
    Make sure that when directmedia is enabled, that video is not offered to the
    callee even if it supports it. p->vrtp will not exist since the caller didn't
    offer video.
    
    (closes issue #19195)
    Reported by: one47
    Patches: 
          sip_cant_add_video_rtp uploaded by one47 (license 23)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-10 00:22:02 +00:00
David Vossel
4c35291c6b Merged revisions 318233 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r318233 | dvossel | 2011-05-09 12:09:55 -0500 (Mon, 09 May 2011) | 14 lines
  
  Merged revisions 318230 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r318230 | dvossel | 2011-05-09 11:51:45 -0500 (Mon, 09 May 2011) | 7 lines
    
    Fixes cases where sip_set_rtp_peer can return too early during media path reset.
    
    (closes issue #19225)
    Reported by: one47
    Patches:
          sip_set_rtp_peer.patch uploaded by one47 (license 23)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 17:13:01 +00:00
Russell Bryant
33b7cc2ef6 Merged revisions 317867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317867 | russell | 2011-05-06 15:01:16 -0500 (Fri, 06 May 2011) | 10 lines
  
  chan_sip: Destroy variables on a sip_pvt before copying vars from the sip_peer.
  
  Don't duplicate variables on the sip_pvt.  Just reset the variable list each
  time.
  
  (closes issue #19202)
  Reported by: wdoekes
  Patches:
        issue19202_destroy_challenged_invite_chanvars.patch uploaded by wdoekes (license 717)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 20:02:31 +00:00
Russell Bryant
ae8dbde4a8 Merged revisions 317865 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317865 | russell | 2011-05-06 14:46:49 -0500 (Fri, 06 May 2011) | 11 lines
  
  chan_sip: fix a deadlock in check_rtp_timeout.
  
  Don't block doing silly deadlock avoidance.  Just return and try again later.
  The funciton gets called often enough that it's fine.  Also, this change was
  already made in trunk.
  
  (closes issue #18791)
  Reported by: irroot
  Patches:
        chan_sip.rtptimeout.patch uploaded by irroot (license 52)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 19:48:06 +00:00
Richard Mudgett
307f148adb Merged revisions 317670 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317670 | rmudgett | 2011-05-06 11:19:18 -0500 (Fri, 06 May 2011) | 22 lines
  
  Fix SIP connected line updates.
  
  This patch fixes a couple SIP connected line update problems:
  
  1) The connected line needs to be updated when the initial INVITE is sent
  if there is a peer callerid configured.  Previously, the connected line
  information did not get reported until the call was connected so SIP could
  not report connected line information in ringing or progress messages.
  
  2) The connected line should not be updated on initial connect if there is
  no connected line information.  Previously, all it did was wipe out any
  default preset CONNECTEDLINE information set by the dialplan with empty
  strings.
  
  (closes issue #18367)
  Reported by: GeorgeKonopacki
  Patches:
        issue18367_v1.8.patch uploaded by rmudgett (license 664)
  Tested by: rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1199/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 16:23:14 +00:00
Russell Bryant
0938974902 Merged revisions 317478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317478 | russell | 2011-05-05 17:53:45 -0500 (Thu, 05 May 2011) | 12 lines
  
  Fix some consistency issues with jitterbuffer config.
  
  Store the defaults noted in the sample config files in the jitterbuffer config
  data structure.  This makes the CLI commands that output these settings show
  the right thing.  Also only show the settings that are relevant in the settings
  CLI commands, based on which jitterbuffer is selected and whether it's enabled.
  
  (closes issue #19083)
  Reported by: rgagnon
  Patches:
        issue-19083-trunk-r313139.diff uploaded by rgagnon (license 1202)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:55:09 +00:00
Russell Bryant
f0f5e237bf Merged revisions 317474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317474 | russell | 2011-05-05 17:36:33 -0500 (Thu, 05 May 2011) | 2 lines
  
  Fix more "set but unused" warnings.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:44:52 +00:00
Jonathan Rose
932e34ee62 Merged revisions 317283 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317283 | jrose | 2011-05-05 14:09:13 -0500 (Thu, 05 May 2011) | 10 lines
  
  Resolves a deadlock that occurs during sip_new
  
  This is based on an uncommitted patch by jpeeler for the issue.  Instead of
  relocking and then unlocking the channel though, we keep the lock on the channel
  until we are finished doing what we need to the channel.
  
  (closes issue #18441)
  Reported by: Alric
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 19:33:11 +00:00
Russell Bryant
4d612d126b Merged revisions 317281 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r317281 | russell | 2011-05-05 13:39:44 -0500 (Thu, 05 May 2011) | 29 lines
  
  Merged revisions 317255 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r317255 | russell | 2011-05-05 13:29:53 -0500 (Thu, 05 May 2011) | 22 lines
    
    Merged revisions 317211 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r317211 | russell | 2011-05-05 13:20:29 -0500 (Thu, 05 May 2011) | 15 lines
      
      chan_sip: fix broken realtime peer count, fix memory leak
      
      This patch addresses two bugs in chan_sip:
      
      1) The count of realtime peers and users was off.  The increment checked the
      value of the caching option, while the decrement did not.
      
      2) Add a missing regfree() for a regex.
      
      (closes issue #19108)
      Reported by: vrban
      Patches:
            missing_regfree.patch uploaded by vrban (license 756)
            sip_object_counter.patch uploaded by vrban (license 756)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:46:22 +00:00
Matthew Nicholson
89da27b780 Merged revisions 317196 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317196 | mnicholson | 2011-05-05 13:02:52 -0500 (Thu, 05 May 2011) | 8 lines
  
  Set SO_KEEPALIVE on SIP TCP sockets so that they eventually go away when a peer
  abruptly disappears.  This mostly occurs after a successful registration.
  
  (closes issue #17544)
  Reported by: marcelloceschia
  Patches:
        (modified) tcptls.patch uploaded by st (license 907)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 18:09:23 +00:00
David Vossel
1f96380da5 Reverts rev 316218 as it breaks parsing the [general] section of sip.conf.
The functionality this patch attempts to achieve should already
be possible using [general](+) in the config file.

issue #17957



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 16:42:19 +00:00
David Vossel
3bf4b09a6e Merged revisions 316617 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r316617 | dvossel | 2011-05-04 08:44:41 -0500 (Wed, 04 May 2011) | 19 lines
  
  Merged revisions 316616 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r316616 | dvossel | 2011-05-04 08:40:41 -0500 (Wed, 04 May 2011) | 12 lines
    
    Fixes session-timers=refuse not being enforced for *caller*
    
    During handle_request_invite, the session timer mode was retrieved from
    a cached variable.  This patch forces a peer lookup of the session timer
    mode in the case of an incoming invite.
    
    (closes issue #18804)
    Reported by: wdoekes
    Patches: 
          issue18804_session_timer_refuse_caller.patch uploaded by wdoekes (license 717)
          issue_18804_v2.diff uploaded by dvossel (license 671)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 13:48:07 +00:00
Tilghman Lesher
ed56ae3ef7 If multiple [general] contexts occur from sip.conf (usually due to external includes), merge them.
The original implementation of this did the merging of all contexts with the
same name in the realtime layer, but that implementation severely breaks
drivers which use the same context name (e.g. iax.conf, type={peer,user}).
Therefore, the implementation needs to do the merging for particular entries
only, based upon what contexts would allow that in the channel driver itself.
This implementation is for chan_sip only, but others could be added in the
future.

(closes issue #17957)
 Reported by: marcelloceschia
 Patches: 
       chan-sip_parsing-general_branch162.patch uploaded by marcelloceschia (license 1079)
 Tested by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 23:36:35 +00:00
David Vossel
db72ee299a Merged revisions 316217 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316217 | dvossel | 2011-05-03 13:59:06 -0500 (Tue, 03 May 2011) | 9 lines
  
  Never put the Require: timer header in an Invite.
  
  This has already been discussed and should have been resolved earlier.  View
  revsion 285565's log for more information about why it is important to not
  put timer in the Require header.
  
  (closes issue #18704)
  Reported by: mfrager
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 19:00:26 +00:00
Matthew Nicholson
e87639fc26 Merged revisions 315894 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315894 | mnicholson | 2011-04-27 14:14:27 -0500 (Wed, 27 Apr 2011) | 28 lines
  
  Merged revisions 315893 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r315893 | mnicholson | 2011-04-27 14:03:05 -0500 (Wed, 27 Apr 2011) | 21 lines
    
    Merged revisions 315891 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r315891 | mnicholson | 2011-04-27 13:57:56 -0500 (Wed, 27 Apr 2011) | 14 lines
      
      Fix our compliance with RFC 3261 section 18.2.2.
      
      This change optimizes the free_via() function and removes some redundant null
      checking. It also fixes compliance with RFC 3261 section 18.2.2 by always using
      the port specified in the Via header for routing responses (even when maddr is
      not set). Also the htons() function is now used when setting the port.
      Additional documentation comments have been added in various places to make the
      logic in the code clearer.
      
      (closes issue #18951)
      Reported by: jmls
      Patches:
            issue18951_set_proper_port_from_via.patch uploaded by wdoekes (license 717) (modified)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-27 19:15:49 +00:00
Terry Wilson
181661c617 Merged revisions 315673 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315673 | twilson | 2011-04-26 15:56:19 -0700 (Tue, 26 Apr 2011) | 25 lines
  
  Merged revisions 315672 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r315672 | twilson | 2011-04-26 15:52:25 -0700 (Tue, 26 Apr 2011) | 18 lines
    
    Merged revisions 315671 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r315671 | twilson | 2011-04-26 15:47:56 -0700 (Tue, 26 Apr 2011) | 11 lines
      
      Make sure unregistering a peer unlinks it from the peer container
      
      Instead of mostly copying the code from expire_register, just use the function
      that "does the right thing".
      
      (closes issue #16033)
      Reported by: kkm
      Patches: 
            016033-tilgman-fixed-refcount.diff uploaded by kkm (license 888)
      Tested by: kkm, tilghman, twilson
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 23:10:58 +00:00
Terry Wilson
bd354a0378 Make sure to create the caps structure for autocreated peers
Because crashing is bad.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 23:04:10 +00:00
Russell Bryant
1c14c67ce8 Merged revisions 315213 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315213 | russell | 2011-04-25 14:04:28 -0500 (Mon, 25 Apr 2011) | 14 lines
  
  Merged revisions 315212 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r315212 | russell | 2011-04-25 14:00:24 -0500 (Mon, 25 Apr 2011) | 7 lines
    
    Don't link non-cached realtime peers into the peers_by_ip container.
    
    (closes issue #18924)
    Reported by: wdoekes
    Patches:
          issue18924_uncached_realtime_peers_leak-1.6.2.17.patch uploaded by wdoekes (license 717)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315214 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-25 19:06:08 +00:00
Matthew Nicholson
079e794b1c Merged revisions 314628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r314628 | mnicholson | 2011-04-21 13:24:05 -0500 (Thu, 21 Apr 2011) | 27 lines
  
  Merged revisions 314620 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r314620 | mnicholson | 2011-04-21 13:22:19 -0500 (Thu, 21 Apr 2011) | 20 lines
    
    Merged revisions 314607 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r314607 | mnicholson | 2011-04-21 13:19:21 -0500 (Thu, 21 Apr 2011) | 14 lines
      
      Added limits to the number of unauthenticated sessions TCP based protocols are allowed to have open simultaneously.  Also added timeouts for unauthenticated sessions where it made sense to do so.
      
      Unrelated, the manager interface now properly checks if the user has the "system" privilege before executing shell commands via the Originate action. 
      
      AST-2011-005
      AST-2011-006
      
      (closes issue #18787)
      Reported by: kobaz
      
      (related to issue #18996)
      Reported by: tzafrir
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:32:50 +00:00
Terry Wilson
b8f253161b Merged revisions 314550 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r314550 | twilson | 2011-04-20 17:23:04 -0700 (Wed, 20 Apr 2011) | 13 lines
  
  Merged revisions 314549 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r314549 | twilson | 2011-04-20 17:17:34 -0700 (Wed, 20 Apr 2011) | 6 lines
    
    Don't allocate more space than necessary for a sip_pkt
    
    This extra allocation is a hold-over from when pkt->data was a 
    character array. Now that it is an allocated string, just allocate 
    enough for the sip_pkt.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 00:29:21 +00:00
David Vossel
642249c360 Merged revisions 314067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r314067 | dvossel | 2011-04-18 10:23:45 -0500 (Mon, 18 Apr 2011) | 22 lines
  
  Remove the need for deadlock avoidance in chan_sip do_monitor.
  
  Deadlock avoidance between the sip pvt and the pvt->owner is
  very difficult.  Now that channel's are ao2 objects, this complication
  is no longer necessary.  It turns out the pvt's msg queue only
  exists because of deadlock avoidance (when deadlock avoidance fails
  msgs were added to a queue to be processed later), so this goes away as well.
  
  The technique used in the new sip_lock_pvt_full() function should
  be used as a template for replacing all locations where deadlock
  avoidance occurs between a channel tech_pvt and the pvt's owner.
  My hope is that this will begin a reversal of the invalid channel
  driver locking architecture we have been using for so long. 
  
  This patch also resolves an issue where the pvt->owner gets
  unlocked during processing the msg queue.
  
  (closes issue #18690)
  Reported by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/1182/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 16:22:55 +00:00
David Vossel
4b4549106b Merged revisions 314017 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r314017 | dvossel | 2011-04-18 08:41:06 -0500 (Mon, 18 Apr 2011) | 17 lines
  
  sip codec negotiation of dynamic rtp payloads error fix
  
  This patch fixes how chan_sip handles dynamic rtp payload types
  it does not understand.  At the moment if a dynamic payload's mime
  type does not match one we understand, the payload does not get
  removed from our payload table.  As a result of this, the payload
  is set to whatever dynamic codec we use internally for that payload
  number on outgoing INVITES.  This is incorrect.
  
  This patch fixes this by properly checking the rtpmap set function's
  return code to make sure it was found.  The function can return both
  -1 and -2 depending on the source of the mismatch.  We were just
  checking -1 explicitly.
  
  Review: https://reviewboard.asterisk.org/r/1169/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-18 13:42:51 +00:00
Leif Madsen
b8b1d085db Add 'description' field for CLI and Manager output
(closes issue #19076)
Reported by: lmadsen
Patches: 
      __20110408-channel-description.txt uploaded by lmadsen (license 10)
Tested by: lmadsen

Review: https://reviewboard.asterisk.org/r/1163/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-13 15:49:33 +00:00
Richard Mudgett
ad30fa7569 Merged revisions 312889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r312889 | rmudgett | 2011-04-05 11:19:35 -0500 (Tue, 05 Apr 2011) | 5 lines
  
  Add 416 response to OPTIONS packet.
  
  RFC3261 Section 11.2 says the response code to an OPTIONS packet needs to
  be the same as if it were an INVITE.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@312897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 16:21:28 +00:00
Richard Mudgett
e005f07b7d Merged revisions 312866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r312866 | rmudgett | 2011-04-05 10:38:14 -0500 (Tue, 05 Apr 2011) | 15 lines
  
  Responding to OPTIONS packet with 404 because Asterisk not looking for "s" extension.
  
  The get_destination() function was not using the "s" extension when the
  request URI did not specify an extension.  This is a regression caused
  when the URI parsing code was extracted into parse_uri().
  
  Made get_destination() substitute the "s" extension when the parsed URI
  results in an empty string.
  
  (closes issue #18348)
  Reported by: shmaize
  Patches:
        issue18348_v1.8.patch uploaded by rmudgett (license 664)
  Tested by: shmaize
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@312868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 15:40:38 +00:00
Jonathan Rose
f91462e7ca Merged revisions 311352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r311352 | jrose | 2011-03-18 11:19:05 -0500 (Fri, 18 Mar 2011) | 10 lines
  
  Changes some print statements/events to use a blank string in place of NULL if the string in question is NULL.
  
  This is supposed to improve Solaris compatibility since Solaris goes berserk when trying to output NULL strings.
  
  (closes issue #18759)
  Reported by: bklang
  Patches:
        null-strings.patch uploaded by bklang (license 919)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-18 16:24:19 +00:00
Mark Michelson
0d66e03bf4 Merged revisions 310231 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r310231 | mmichelson | 2011-03-10 09:17:04 -0600 (Thu, 10 Mar 2011) | 9 lines
  
  Be more tolerant of what URI we accept for call completion PUBLISH requests.
  
  (closes issue #18946)
  Reported by: GeorgeKonopacki
  Patches: 
        18946.patch uploaded by mmichelson (license 60)
  Tested by: GeorgeKonopacki
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@310238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-10 15:28:55 +00:00
Jason Parker
070cb4ef87 Merged revisions 309256 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r309256 | qwell | 2011-03-02 13:54:20 -0600 (Wed, 02 Mar 2011) | 15 lines
  
  Merged revisions 309255 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r309255 | qwell | 2011-03-02 13:53:47 -0600 (Wed, 02 Mar 2011) | 8 lines
    
    Fix usage of "hasvoicemail=yes" and "mailbox=" in users.conf for SIP.
    
    Since it's a duplicate, nothing is going to be done, so delme doesn't need to
    be set at all.  Strangely, when this was added, this was being set to 1 in 1.6,
    and 0 in trunk.
    
    (issue AST-439)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@309257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-02 19:54:43 +00:00
David Vossel
8e603ab4e1 Merged revisions 309084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r309084 | dvossel | 2011-03-01 10:09:11 -0600 (Tue, 01 Mar 2011) | 15 lines
  
  Merged revisions 309083 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r309083 | dvossel | 2011-03-01 10:05:25 -0600 (Tue, 01 Mar 2011) | 9 lines
    
    Fixes thread blocking issue in the sip TCP/TLS implementation.
    
    (closes issue #18497)
    Reported by: vois
    Patches:
          issues_18497.diff uploaded by dvossel (license 671)
    Tested by: vois, rossbeer, kowalma, Freddi_Fonet
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@309090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-01 16:22:27 +00:00
Alec L Davis
b6e37118c9 Merged revisions 308945 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r308945 | alecdavis | 2011-02-26 07:52:53 +1300 (Sat, 26 Feb 2011) | 21 lines
  
  Fix Deadlock with attended transfer of SIP call
  
  Call path 
    sip_set_rtp_peer (locks chan then pvt)
     transmit_reinvite_with_sdp
      try_suggested_sip_codec
       pbx_builtin_getvar_helper (locks p->owner)
  
  But by the time p->owner lock was attempted, seems as though chan and p->owner were different.
  
  So in sip_set_rtp_peer, lock pvt first then lock p->owner using deadlocking methods.
  
  (closes issue #18837)
  Reported by: alecdavis
  Patches: 
        bug18837-trunk.diff3.txt uploaded by alecdavis (license 585)
  Tested by: alecdavis, Irontec, ZX81, cmaj
  
  Review: [https://reviewboard.asterisk.org/r/1126/]
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-25 18:58:10 +00:00
Terry Wilson
5deb544d06 Merged revisions 308679 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r308679 | twilson | 2011-02-23 21:41:34 -0600 (Wed, 23 Feb 2011) | 15 lines
  
  Merged revisions 308678 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r308678 | twilson | 2011-02-23 21:38:22 -0600 (Wed, 23 Feb 2011) | 8 lines
    
    Use remotesecret to authenticate with a remote party
    
    The remotesecret option was only being used for outbound registration
    and not for placing calls. This patch uses remotesecret on outbound
    calls if it is set, otherwise secret is still used.
    
    Review: https://reviewboard.asterisk.org/r/1107/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-24 03:49:07 +00:00
David Vossel
d760e81f37 Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
   using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
   and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
   for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
   updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.

-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c

Review: https://reviewboard.asterisk.org/r/1104/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22 23:04:49 +00:00
Richard Mudgett
b2ef13cb60 Merged revisions 307879 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r307879 | rmudgett | 2011-02-15 10:13:55 -0600 (Tue, 15 Feb 2011) | 37 lines
  
  No response sent for SIP CC subscribe/resubscribe request.
  
  Asterisk does not send a response if we try to subscribe for call
  completion after we have received a 180 Ringing.  You can only subscribe
  for call completion when the call has been cleared.
  
  When we receive the 180 Ringing, for this call, its call-completion state
  is 'CC_AVAILABLE'.  If we then send a subscribe message to Asterisk, it
  trys to change the call-completion state to 'CC_CALLER_REQUESTED'.
  Because this is an invalid state change, it just ignores the message.  The
  only state Asterisk will accept our subscribe message is in the
  'CC_CALLER_OFFERED' state.
  
  Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears
  the call by sending a CANCEL.
  
  Asterisk should always send a response.  Even if its a negative one.
  
  
  The fix is to allow for the CCSS core to notify a CC agent that a failure
  has occurred when CC is requested.  The "ack" callback is replaced with a
  "respond" callback.  The "respond" callback has a parameter indicating
  either a successful response or a specific type of failure that may need
  to be communicated to the requester.
  
  (closes issue #18336)
  Reported by: GeorgeKonopacki
  Tested by: mmichelson, rmudgett
  
  JIRA SWP-2633
  
  (closes issue #18337)
  Reported by: GeorgeKonopacki
  Tested by: mmichelson
  
  JIRA SWP-2634
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 16:18:43 +00:00
David Vossel
08460fc094 Fixes bug in chan_sip where nativeformats are not set correctly.
The nativeformats field was being overwritten when it should have been
appended too.  This caused some format capabilities to be lost briefly and
some log warnings to be output.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-10 17:12:10 +00:00
Terry Wilson
4f57a3bb7c Merged revisions 306979 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r306979 | twilson | 2011-02-08 12:18:08 -0800 (Tue, 08 Feb 2011) | 16 lines
  
  Merged revisions 306973 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r306973 | twilson | 2011-02-08 12:14:09 -0800 (Tue, 08 Feb 2011) | 9 lines
    
    Merged revisions 306972 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r306972 | twilson | 2011-02-08 12:05:13 -0800 (Tue, 08 Feb 2011) | 2 lines
      
      Fix comparison for REFER Replaces tags with pedantic=yes
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-08 20:42:44 +00:00
Terry Wilson
a974d1a4ce Merged revisions 306619 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r306619 | twilson | 2011-02-07 14:15:27 -0800 (Mon, 07 Feb 2011) | 24 lines
  
  Merged revisions 306618 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r306618 | twilson | 2011-02-07 13:59:54 -0800 (Mon, 07 Feb 2011) | 17 lines
    
    Merged revisions 306617 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r306617 | twilson | 2011-02-07 13:51:43 -0800 (Mon, 07 Feb 2011) | 10 lines
      
      Don't allow a REFER w/replaces to replace its own dialog
      
      Asterisk currently accepts a REFER with a Refer-To with an embedded Replaces
      header that matches the dialog of the REFER. This would be a situation like A
      calls B, A calls C, A transfers B to A, which is just silly. This patch makes
      the transfer fail instead of making Asterisk freak out and forget to hang other
      channels up.
      
      Review: https://reviewboard.asterisk.org/r/1093/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-07 22:31:25 +00:00
David Vossel
2db3c9e058 Fixes use of ast_format_cap_append where ast_format_cap_copy is necessary.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-07 16:33:43 +00:00
Paul Belanger
3556e4c2d4 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

Review: https://reviewboard.asterisk.org/r/1071/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 16:55:39 +00:00
Jeff Peeler
285d953fdf Merged revisions 306215 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r306215 | jpeeler | 2011-02-03 17:49:28 -0600 (Thu, 03 Feb 2011) | 20 lines
  
  Fix SIP deadlock involving state changes.
  
  Once again a call to pbx_builtin_getvar_helper (and pbx_builtin_setvar_helper)
  has caused locking problems. Both of these functions lock the channel when
  the channel argument is passed in!
  
  In this case, the suspected problem (the backtrace makes it impossible to tell)
  was the private being locked in sip_set_rtp_peer and then:
  transmit_reinvite_with_sdp
   try_suggested_sip_codec
     pbx_builtin_getvar_helper
  (Traced to verify that the fix was only required in 1.8 and later.)
  
  (closes issue #18491)
  Reported by: cmaj
  Patches: 
        chan_sip_fix_deadlocks_bug_18491.txt uploaded by cmaj (license 830)
  Tested by: cmaj
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 23:50:08 +00:00
David Vossel
c26c190711 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

Review: https://reviewboard.asterisk.org/r/1083/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 16:22:10 +00:00
Richard Mudgett
f71322f239 Merged revisions 305923 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r305923 | rmudgett | 2011-02-02 18:24:40 -0600 (Wed, 02 Feb 2011) | 24 lines
  
  Merged revisions 305889 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r305889 | rmudgett | 2011-02-02 18:15:07 -0600 (Wed, 02 Feb 2011) | 17 lines
    
    Merged revisions 305888 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r305888 | rmudgett | 2011-02-02 18:02:43 -0600 (Wed, 02 Feb 2011) | 8 lines
    
      Minor AST_FRAME_TEXT related issues.
    
      * Include the null terminator in the buffer length.  When the frame is
      queued it is copied.  If the null terminator is not part of the frame
      buffer length, the receiver could see garbage appended onto it.
    
      * Add channel lock protection with ast_sendtext().
    
      * Fixed AMI SendText action ast_sendtext() return value check.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 00:29:46 +00:00
Andrew Latham
175dd0ebf6 Replace link to old doc with new wiki page.
Link to https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-02 15:25:12 +00:00
Jason Parker
6908539952 Merged revisions 305254 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r305254 | qwell | 2011-01-31 17:07:00 -0600 (Mon, 31 Jan 2011) | 24 lines
  
  Merged revisions 305253 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r305253 | qwell | 2011-01-31 16:59:34 -0600 (Mon, 31 Jan 2011) | 17 lines
    
    Merged revisions 305252 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r305252 | qwell | 2011-01-31 16:56:54 -0600 (Mon, 31 Jan 2011) | 10 lines
      
      Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/))
      
      chan_iax2 and other channel drivers already had code to prevent this.  The
      attempt that app_dial was making to prevent it was not correct, so I fixed that.
      
      (closes issue #18371)
      Reported by: gbour
      Patches: 
            18371.patch uploaded by gbour (license 1162)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-31 23:08:38 +00:00
Matthew Nicholson
48a9694ed0 Merged revisions 304245 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r304245 | mnicholson | 2011-01-26 14:43:27 -0600 (Wed, 26 Jan 2011) | 20 lines
  
  Merged revisions 304244 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r304244 | mnicholson | 2011-01-26 14:42:16 -0600 (Wed, 26 Jan 2011) | 13 lines
    
    Merged revisions 304241 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r304241 | mnicholson | 2011-01-26 14:38:22 -0600 (Wed, 26 Jan 2011) | 6 lines
      
      This patch modifies chan_sip to route responses to the address the request came from.  It also modifies chan_sip to respect the maddr parameter in the Via header.
      
      ABE-2664
      
      Review: https://reviewboard.asterisk.org/r/1059/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26 20:44:47 +00:00
Terry Wilson
cd9221d2f6 Merged revisions 303962 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r303962 | twilson | 2011-01-25 16:09:01 -0600 (Tue, 25 Jan 2011) | 30 lines
  
  Merged revisions 303960 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r303960 | twilson | 2011-01-25 16:02:42 -0600 (Tue, 25 Jan 2011) | 23 lines
    
    Merged revisions 303906 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r303906 | twilson | 2011-01-25 14:50:59 -0600 (Tue, 25 Jan 2011) | 16 lines
      
      Guard against retransmitting BYEs indefinitely
      
      In the case of an attended transfer (A calls B, A atxfers to C) where
      A becomes unreachable before replying to Asterisk's BYE, Asterisk can
      sometimes retransmit the BYE indefinitely. This is because
      __sip_autodestruct tests p->refer && !ast_test_flag(&p->flags[0],
      SIP_ALREADYGONE and will then transmit a BYE. When this BYE times out,
      it will not ever be marked as ALREADYGONE, so when __sip_autodestruct
      is called again, we end up starting the cycle over.
      
      This patch adds a call to sip_alreadygone(pkt->owner) in retrans_pkt
      in the case of a BYE that has timed out. This should prevent Asterisk
      from trying to transmit new BYE messages in the future.
      
      Review: https://reviewboard.asterisk.org/r/1077/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 22:15:41 +00:00
Tilghman Lesher
50c432324b Merged revisions 303860 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r303860 | tilghman | 2011-01-25 12:55:27 -0600 (Tue, 25 Jan 2011) | 12 lines
  
  Merged revisions 303858 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r303858 | tilghman | 2011-01-25 12:41:26 -0600 (Tue, 25 Jan 2011) | 5 lines
    
    Fix "sip show user <tab>", so that it actually shows results, instead of just completing the last entry.
    
    (closes issue #16675)
    Reported by: pj
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 18:56:23 +00:00
Matthew Nicholson
e706b5706e According to section 19.1.2 of RFC 3261:
For each component, the set of valid BNF expansions defines exactly
  which characters may appear unescaped.  All other characters MUST be
  escaped.

This patch modifies ast_uri_encode() to encode strings in line with this recommendation.  This patch also adds an ast_escape_quoted() function which escapes '"' and '\' characters in quoted strings in accordance with section 25.1 of RFC 3261.  The ast_uri_encode() function has also been modified to take an ast_flags struct describing the set of rules it should use when escaping characters to allow for it to escape SIP URIs in addition to HTTP URIs and other types of URIs or variations of those two URI types in the future.

The ast_uri_decode() function has also been modified to accept an ast_flags struct describing the set of rules to use when decoding to enable decoding '+' as ' ' in legacy http URLs.

The unit tests for these functions have also been updated.

ABE-2705

Review: https://reviewboard.asterisk.org/r/1081/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-24 18:59:22 +00:00
Sean Bright
06ac89965c Merged revisions 302414 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r302414 | seanbright | 2011-01-19 10:45:17 -0500 (Wed, 19 Jan 2011) | 7 lines
  
  Initialize an uninitialized variable.
  
  (closes issue #18640)
  Reported by: jcovert
  Patches:
        chan_sip.c.patch uploaded by jcovert (license 551)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-19 15:46:56 +00:00
Matthew Nicholson
785e3a1417 Merged revisions 302314 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r302314 | mnicholson | 2011-01-18 15:43:21 -0600 (Tue, 18 Jan 2011) | 18 lines
  
  Merged revisions 302313 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r302313 | mnicholson | 2011-01-18 15:40:03 -0600 (Tue, 18 Jan 2011) | 11 lines
    
    Merged revisions 302311 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r302311 | mnicholson | 2011-01-18 15:35:03 -0600 (Tue, 18 Jan 2011) | 4 lines
      
      URI encode the user part of the contact header.
      
      ABE-2705
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-18 21:44:49 +00:00
Terry Wilson
ae6b55e4a3 Merged revisions 293493 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293493 | twilson | 2010-11-01 09:58:00 -0500 (Mon, 01 Nov 2010) | 14 lines
  
  Only offer codecs both sides support for directmedia
  
  When using directmedia, Asterisk needs to limit the codecs offered to just
  the ones that both sides recognize, otherwise they may end up sending audio
  that the other side doesn't understand.
  
  (closes issue #17403)
  Reported by: one47
  Patches: 
        sip_codecs_simplified4 uploaded by one47 (license 23)
  Tested by: one47, falves11
  
  Review: https://reviewboard.asterisk.org/r/967/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-17 16:38:21 +00:00
Jeff Peeler
a0e4c4ee5b Merged revisions 301790 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r301790 | jpeeler | 2011-01-14 11:32:52 -0600 (Fri, 14 Jan 2011) | 42 lines
  
  Resolve deadlock involving REFER.
  
  Two fixes:
  1) One must always have the private unlocked before calling
  pbx_builtin_setvar_helper to not invalidate locking order since it locks the
  channel.
  2) Unlock the channel before calling pbx_find_extension, which starts and stops
  autoservice during the lookup. The problem scenario as illustrated by the
  reporter:
  
  Thread: do_monitor
  -----------------------
  handle_request_do
   handle_incoming
    handle_request_refer
     ast_parking_ext_valid
      pbx_find_extension
       ast_autoservice_stop
        while (chan_list_state == as_chan_list_state) { usleep(1000); }
  
  Thread: autoservice_run
  -----------------------
  autoservice_run
   chan = ast_waitfor_n
    ast_waitfor_nandfds
     ast_waitfor_nandfds_classic / simple / complex (depending on your system)
      ast_channel_lock(c[x]);
  
  handle_request_do and schedule_process_request_queue locks the owner
  if it exists. The autoservice thread is waiting for the channel lock, which
  wasn't ever released since the do_monitor thread was waiting for autoservice
  operations to complete. Solved by unlocking the channel but keeping a reference
  to guarantee safety.
  
  (closes issue #18403)
  Reported by: jthurman
  Patches: 
        20110103-blind_deadlock.diff uploaded by jthurman (license 614)
        issue18403.patch uploaded by jpeeler (license 325)
  Tested by: jthurman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@301791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-14 17:34:28 +00:00
Terry Wilson
c6858b9a1d Merged revisions 301683 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r301683 | twilson | 2011-01-12 15:19:48 -0600 (Wed, 12 Jan 2011) | 15 lines
  
  Merged revisions 301682 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r301682 | twilson | 2011-01-12 15:05:02 -0600 (Wed, 12 Jan 2011) | 9 lines
    
    Don't reject all SUBSCRIBE auth requests
    
    When merging another SUBSCRIBE fix from 1.4, some braces were put in
    the wrong place. This patch fixes that.
    
    (closes issue #18597)
    Reported by: thsgmbh
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@301684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-12 21:24:18 +00:00
Leif Madsen
783ea39ba1 Merged revisions 300521 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r300521 | lmadsen | 2011-01-04 15:53:27 -0600 (Tue, 04 Jan 2011) | 17 lines
  
  Merged revisions 300520 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r300520 | lmadsen | 2011-01-04 15:52:41 -0600 (Tue, 04 Jan 2011) | 9 lines
    
    Fix backwards and broken XML documentation.
    
    (closes issue #18547)
    Reported by: jcovert
    Patches: 
          xmldoc.c.patch uploaded by jcovert (license 551)
          chan_iax2.c.doc.patch uploaded by jcovert (license 551)
          chan_sip.c.patch uploaded by jcovert (license 551)
          chan_agent.c.patch uploaded by jcovert (license 551)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-04 21:54:20 +00:00
Terry Wilson
94ef793caa Merged revisions 300301 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r300301 | twilson | 2011-01-04 11:54:41 -0600 (Tue, 04 Jan 2011) | 29 lines
  
  Merged revisions 300298 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r300298 | twilson | 2011-01-04 11:37:26 -0600 (Tue, 04 Jan 2011) | 22 lines
    
    Merged revisions 300216 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r300216 | twilson | 2011-01-04 11:11:48 -0600 (Tue, 04 Jan 2011) | 15 lines
      
      Don't authenticate SUBSCRIBE re-transmissions
      
      This only skips authentication on retransmissions that are already
      authenticated. A similar method is already used for INVITES. This
      is the kind of thing we end up having to do when we don't have a
      transaction layer...
      
      (closes issue #18075)
      Reported by: mdu113
      Patches: 
            diff.txt uploaded by twilson (license 396)
      Tested by: twilson, mdu113
      
      Review: https://reviewboard.asterisk.org/r/1005/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-04 18:06:46 +00:00
Matthew Nicholson
ef23c07447 Merged revisions 299353 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r299353 | mnicholson | 2010-12-21 09:25:03 -0600 (Tue, 21 Dec 2010) | 30 lines
  
  Merged revisions 299242 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r299242 | mnicholson | 2010-12-20 15:25:35 -0600 (Mon, 20 Dec 2010) | 23 lines
    
    Merged revisions 299194,299198,299220 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r299194 | mnicholson | 2010-12-20 14:45:38 -0600 (Mon, 20 Dec 2010) | 6 lines
      
      Respond as soon as possible with a 202 Accepted to refer requests.
      
      This change also plugs a few memory leaks that can occur when parking sip calls.
      
      ABE-2656
    ........
      r299198 | mnicholson | 2010-12-20 15:00:44 -0600 (Mon, 20 Dec 2010) | 2 lines
      
      Remove changes to via processing that were not supposed to go into the last commit.
    ........
      r299220 | mnicholson | 2010-12-20 15:21:39 -0600 (Mon, 20 Dec 2010) | 4 lines
      
      Use ast_free() instead of free()
      
      ABE-2656
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-21 16:02:52 +00:00
Mark Michelson
59ec959844 Merged revisions 299248 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r299248 | mmichelson | 2010-12-20 15:38:30 -0600 (Mon, 20 Dec 2010) | 20 lines
  
  Fix a couple of CCSS issues.
  
  * Make sure to allocate a cc_params structure
    when creating autopeers.
  
  * Use sip_uri_cmp when retrieving SIP CC agents
    and monitors in case parameters appear in the
    URI.
  
  (closes issue #18504)
  Reported by: kkm
  
  (closes issue #18338)
  Reported by: GeorgeKonopacki
  Patches: 
        18338.diff uploaded by mmichelson (license 60)
  Tested by: GeorgeKonopacki
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 21:40:32 +00:00
Russell Bryant
cc0b7e7df5 Some scheduler API cleanup and improvements.
Previously, I had added the ast_sched_thread stuff that was a generic scheduler
thread implementation.  However, if you used it, it required using different
functions for modifying scheduler contents.  This patch reworks how this is
done and just allows you to optionally start a thread on the original scheduler
context structure that has always been there.  This makes it trivial to switch
to the generic scheduler thread implementation without having to touch any of
the other code that adds or removes scheduler entries.

In passing, I made some naming tweaks to add ast_ prefixes where they were not
there before.

Review: https://reviewboard.asterisk.org/r/1007/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 17:15:54 +00:00
Tzafrir Cohen
6307b6fe3a Typos: recieved => received
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 09:14:45 +00:00
Brad Watkins
806d69dc93 Merged revisions 298773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r298773 | marquis | 2010-12-17 12:26:31 -0500 (Fri, 17 Dec 2010) | 10 lines
  
  Fix parsing of mwi => lines in sip.conf
  
  Reworking parsing of mwi => lines to resolve a segfault.  Also add a set of unit tests for the function that does the parsing.
  
  (closes issue #18350)
  Reported by: gbour
  Tested by: Marquis, gbour
  
  Review: https://reviewboard.asterisk.org/r/1053/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-17 17:29:09 +00:00
Tilghman Lesher
8ba7ff54b4 Merged revisions 298539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r298539 | tilghman | 2010-12-16 03:28:17 -0600 (Thu, 16 Dec 2010) | 8 lines
  
  Ensure the ipaddr field in realtime is large enough to handle IPv6 addresses.
  
  (closes issue #18464)
   Reported by: IgorG
   Patches: 
         realtime_ipv6store.diff uploaded by IgorG (license 20)
         (plus a few additional lines by tilghman)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-16 09:29:05 +00:00
Terry Wilson
30f81f902d Merged revisions 297965 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r297965 | twilson | 2010-12-09 16:18:19 -0600 (Thu, 09 Dec 2010) | 28 lines
  
  Merged revisions 297960 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r297960 | twilson | 2010-12-09 16:10:31 -0600 (Thu, 09 Dec 2010) | 21 lines
    
    Merged revisions 297959 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r297959 | twilson | 2010-12-09 16:00:30 -0600 (Thu, 09 Dec 2010) | 14 lines
      
      Ignore spurious REGISTER requests
      
      If a REGISTER request with a Call-ID matching an existing transaction is received
      it was possible that the REGISTER request would overwrite the initreq of the
      private structure. This info is used to generate messages for other responses in
      the transaction. This patch ignores REGISTER requests that match non-REGISTER
      transactions.
      
      (closes issue #18051)
      Reported by: eeman
      Tested by: twilson
      
      Review: https://reviewboard.asterisk.org/r/1050/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297972 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-09 22:19:56 +00:00
Jeff Peeler
537d235460 Merged revisions 297607 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r297607 | jpeeler | 2010-12-06 16:06:37 -0600 (Mon, 06 Dec 2010) | 25 lines
  
  Merged revisions 297605 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r297605 | jpeeler | 2010-12-06 16:03:04 -0600 (Mon, 06 Dec 2010) | 18 lines
    
    Merged revisions 297603 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r297603 | jpeeler | 2010-12-06 15:57:15 -0600 (Mon, 06 Dec 2010) | 12 lines
      
      Improve handling of REGISTER requests with multiple contact headers.
      
      The changes here attempt to more strictly follow RFC 3261 section 10.3.
      Basically the following will now cause a 400 Bad Response to be returned, if:
      - multiple Contact headers are present with one set to expire all bindings ("*")
      - wildcard parameter is specified for Contact without Expires header or Expires
        header is not set to zero.
      
      ABE-2442
      ABE-2443
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-06 22:10:41 +00:00
Jeff Peeler
a46bd43ae8 Merged revisions 297075 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r297075 | jpeeler | 2010-12-01 11:53:13 -0600 (Wed, 01 Dec 2010) | 37 lines
  
  Merged revisions 297073 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r297073 | jpeeler | 2010-12-01 11:52:46 -0600 (Wed, 01 Dec 2010) | 30 lines
    
    Merged revisions 297072 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r297072 | jpeeler | 2010-12-01 11:50:09 -0600 (Wed, 01 Dec 2010) | 23 lines
      
      Fix not stopping MOH when transfered local channel queue member is answered.
      
      The problem here is only present when local channels are used with the MOH
      passthru option as well as no optimization (/nm). I will describe the slightly
      bizarre scenario that was used to test, where phones B and C are queue members:
      
      Phone A dials into a queue with two members using local channels and the above
      options. Phone B answers. Phone A blind transfers phone B into the same queue.
      Phone A hangs up. Phone C answers, but phone B didn't stop playing MOH.
      
      In this scenario, the unhold frame that should have gotten to phone B never
      arrived due to the masquerade from the blind transfer. This is usually fine
      since app_queue manages the starting and stopping of MOH. However, with the
      passthrough option enabled when app_queue attempts to stop MOH it tries to do
      so on the local channel rather than the real channel. The easiest solution
      was to just make sure to send an unhold frame during the transfer since it
      wouldn't make sense to have MOH playing after a transfer anyway. This only
      modifies SIP transfers, but the other transfers did not seem to be a problem.
      If DTMF based transfers were a problem it might be okay to add ast_moh_stop
      to finishup, but I didn't want to have to add that unless required.
      
      ABE-2624
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-01 17:53:54 +00:00
Russell Bryant
40cc550f1f Merged revisions 296628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r296628 | russell | 2010-11-29 15:26:44 -0600 (Mon, 29 Nov 2010) | 6 lines
  
  Complete some error handling in transmit_publish() in chan_sip.c.
  
  This error handling block caught my eye.  It was missing a couple of things,
  but it should be safe now.  Thanks to mmichelson for the quick peer review
  on IRC.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-29 21:31:05 +00:00
Brad Watkins
ad56a4d16e Merged revisions 296352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r296352 | marquis | 2010-11-26 13:19:02 -0500 (Fri, 26 Nov 2010) | 12 lines
  
  Fix reloading of peer when a user is requested.
  
  Prevent peer reloading from causing multiple MWI subscriptions to be created when using realtime.  This had the effect of sending one NOTIFY for every time a sip peer made a call, in one case eventually overwhelming  the phone and causing it to reboot.
  
  (closes issue #18342)
  Reported by: nivek
  Patches:
        issue0018342p1.patch uploaded by nivek (license 636)
  Tested by: nivek
  
  Review: https://reviewboard.asterisk.org/r/1029/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296353 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-26 18:23:02 +00:00
Terry Wilson
e5ede71934 Merged revisions 295673 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r295673 | twilson | 2010-11-19 14:06:10 -0800 (Fri, 19 Nov 2010) | 22 lines
  
  Merged revisions 295672 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r295672 | twilson | 2010-11-19 13:55:48 -0800 (Fri, 19 Nov 2010) | 15 lines
    
    Merged revisions 295628 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r295628 | twilson | 2010-11-19 12:53:36 -0800 (Fri, 19 Nov 2010) | 8 lines
      
      Discard responses with more than one Via
      
      This is not a perfect solution as headers that are joined via commas are not
      detected. This is a parsing issue that to fix "correctly" would necessitate 
      a new SIP parser.
      
      Review: https://reviewboard.asterisk.org/r/1019/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@295674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 22:15:49 +00:00
Jeff Peeler
99a698efb7 Merged revisions 294734 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r294734 | jpeeler | 2010-11-11 15:58:25 -0600 (Thu, 11 Nov 2010) | 32 lines
  
  Merged revisions 294733 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r294733 | jpeeler | 2010-11-11 15:57:22 -0600 (Thu, 11 Nov 2010) | 25 lines
    
    Merged revisions 294688 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r294688 | jpeeler | 2010-11-11 15:12:27 -0600 (Thu, 11 Nov 2010) | 18 lines
      
      Fix problem with qualify option packets for realtime peers never stopping.
      
      The option packets not only never stopped, but if a realtime peer was not in
      the peer list multiple options dialogs could accumulate over time. This
      scenario has the potential to progress to the point of saturating a link just
      from options packets. The fix was to ensure that the poke scheduler checks to
      see if a peer is in the peer list before continuing to poke. The reason a peer
      must be in the peer list to be able to properly manage an options dialog is
      because otherwise the call pointer is lost when the peer is regenerated from
      the database, which is how existing qualify dialogs are detected.
      
      (closes issue #16382)
      (closes issue #17779)
      Reported by: lftsy
      Patches: 
            bug16382-3.patch uploaded by jpeeler (license 325)
      Tested by: zerohalo
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-11 22:01:01 +00:00
Matthew Nicholson
2df9e23e35 Merged revisions 294243 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r294243 | mnicholson | 2010-11-08 14:56:30 -0600 (Mon, 08 Nov 2010) | 15 lines
  
  Merged revisions 294242 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r294242 | mnicholson | 2010-11-08 14:50:21 -0600 (Mon, 08 Nov 2010) | 8 lines
    
    Go off hold when we get an empty reinvite telling us to.
    
    (closes issue 0014448)
    Reported by: frawd
    
    (closes issue #17878)
    Reported by: frawd
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 21:04:01 +00:00
Brett Bryant
bbffb7fb07 Merged revisions 294084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r294084 | bbryant | 2010-11-05 18:03:11 -0400 (Fri, 05 Nov 2010) | 9 lines
  
  Fixed deadlock avoidance issues while locking channel when adding the
  Max-Forwards header to a request.
  
  (closes issue #17949)
  (closes issue #18200)
  Reported by: bwg
  
  Review: https://reviewboard.asterisk.org/r/997/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 22:17:16 +00:00
David Vossel
97a1489960 Perform proper handling of forked outbound INVITE requests.
RFC3261 section 12 about dialog creation says an INVITE transaction
results in an established dialog once it receives the 200 OK response.
It is possible to receive multiple differing 200 OK responses for a
single outbound INVITE Request, and this should result in establishing
multiple dialogs.

This patch allows for all differing 200 OK responses to an INVITE request
to establish a separate dialog, but only the first dialog is kept. All other
resulting dialogs from the initial request are immediately ACKed and then
immediately terminated with a BYE request.

Review: https://reviewboard.asterisk.org/r/946/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294083 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 21:56:38 +00:00