Commit Graph

2399 Commits

Author SHA1 Message Date
David Vossel
5f6fa4990f Merged revisions 207029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r207029 | dvossel | 2009-07-17 12:51:44 -0500 (Fri, 17 Jul 2009) | 6 lines
  
  sip option flags handled incorrectly
  
  (closes issue #15376)
  Reported by: Takehiko Ooshima
  Tested by: dvossel, Takehiko_Ooshima
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@207032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 17:53:50 +00:00
David Vossel
263df0044d Merged revisions 206939 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r206939 | dvossel | 2009-07-17 11:13:22 -0500 (Fri, 17 Jul 2009) | 20 lines
  
  Merged revisions 206938 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r206938 | dvossel | 2009-07-17 11:05:06 -0500 (Fri, 17 Jul 2009) | 14 lines
    
    SIP incorrect From: header information when callpres is prohib
    
    Some ITSP make use of the "Anonymous" display name to detect a
    requirement to withhold caller id across the PSTN. This does
    not work if the display name is "Unknown".
    
    (closes issue #14465)
    Reported by: Nick_Lewis
    Patches:
          chan_sip.c-callerpres.patch uploaded by Nick (license 657)
          chan_sip.c-callerpres_trunk.patch uploaded by dvossel (license 671)
    Tested by: Nick_Lewis, dvossel
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@206947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-17 16:18:49 +00:00
David Vossel
0faed3d459 Merged revisions 206768 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r206768 | dvossel | 2009-07-15 17:04:13 -0500 (Wed, 15 Jul 2009) | 8 lines
  
  Session timer were not activated if Supported header field in INVITE had both "timer" and other options.
  
  (closes issue #15403)
  Reported by: makoto
  Patches:
        sip-session-timer.patch uploaded by makoto (license
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@206775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-15 22:06:36 +00:00
David Vossel
f84624e23d Merged revisions 206702 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r206702 | dvossel | 2009-07-15 15:20:01 -0500 (Wed, 15 Jul 2009) | 10 lines
  
  callerid(num) is wrong when username is missing 
  
  A domain only sip uri <sip:123.123.123.123> would return
  123.123.123.123 as callid num.  Now, if the username is
  missing from a uri, the callerid num field is left empty.
  
  (closes issue #15476)
  Reported by: viraptor
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@206705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-15 20:21:34 +00:00
David Vossel
23705acc5e Merged revisions 205985 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r205985 | dvossel | 2009-07-10 16:42:10 -0500 (Fri, 10 Jul 2009) | 16 lines
  
  SIP register not using peer's outbound proxy
  
  If callbackextension is defined for a peer it successfully causes
  a registration to occur, but the registration ignores the
  outboundproxy settings for the peer.  This patch allows the
  peer to be passed to obproxy_get() in transmit_register().
  
  (closes issue #14344)
  Reported by: Nick_Lewis
  Patches:
        callbackextension_peer_trunk.diff uploaded by dvossel (license 671)
  Tested by: dvossel
  
  Review: https://reviewboard.asterisk.org/r/294/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@206017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 22:50:51 +00:00
Mark Michelson
d2c214e042 Fix build.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 17:44:34 +00:00
Mark Michelson
b3c7b4fa2d Merged revisions 205878 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205878 | mmichelson | 2009-07-10 12:39:57 -0500 (Fri, 10 Jul 2009) | 30 lines
  
  Merged revisions 205877 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ................
    r205877 | mmichelson | 2009-07-10 12:39:13 -0500 (Fri, 10 Jul 2009) | 23 lines
    
    Merged revisions 205776 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/trunk
    
    ................
      r205776 | mmichelson | 2009-07-10 10:56:45 -0500 (Fri, 10 Jul 2009) | 16 lines
      
      Merged revisions 205775 via svnmerge from 
      https://origsvn.digium.com/svn/asterisk/branches/1.4
      
      ........
        r205775 | mmichelson | 2009-07-10 10:51:36 -0500 (Fri, 10 Jul 2009) | 10 lines
        
        Ensure that outbound NOTIFY requests are properly routed through stateful proxies.
        
        With this change, we make note of Record-Route headers present in any SUBSCRIBE
        request that we receive so that our outbound NOTIFY requests will have the proper
        Route headers in them.
        
        (closes issue #14725)
        Reported by: ibc
      ........
    ................
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 17:42:19 +00:00
David Vossel
6e6557cb04 Merged revisions 205840 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205840 | dvossel | 2009-07-10 11:42:04 -0500 (Fri, 10 Jul 2009) | 37 lines
  
  Merged revisions 205804 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205804 | dvossel | 2009-07-10 11:23:59 -0500 (Fri, 10 Jul 2009) | 31 lines
    
    SIP registration auth loop caused by stale nonce
    
    If an endpoint sends two registration requests in a very short
    period of time with the same nonce, both receive 401 responses
    from Asterisk, each with a different nonce (the second 401
    containing the current nonce and the first one being stale).
    If the endpoint responds to the first 401, it does not match
    the current nonce so Asterisk sends a third 401 with a newly
    generated nonce (which updates the current nonce)... Now if
    the endpoint responds to the second 401, it does not match the
    current nonce either and Asterisk sends a fourth 401 with a
    newly generated nonce... This loop goes on and on.
    
    There appears to be a simple fix for this.  If the nonce from
    the request does not match our nonce, but is a good response
    to a previous nonce, instead of sending a 401 with a newly
    generated nonce, use the current one instead.  This breaks
    the loop as the nonce is not updated until a response is
    received. Additional logic has been added to make sure no
    nonce can be responded to twice though.
    
    (closes issue #15102)
    Reported by: Jamuel
    Patches:
          patch-bug_0015102 uploaded by Jamuel (license 809)
          nonce_sip.diff uploaded by dvossel (license 671)
    Tested by: Jamuel
    
    Review: https://reviewboard.asterisk.org/r/289/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 16:48:56 +00:00
Mark Michelson
966a316fac Merged revisions 205776 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r205776 | mmichelson | 2009-07-10 10:56:45 -0500 (Fri, 10 Jul 2009) | 16 lines
  
  Merged revisions 205775 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r205775 | mmichelson | 2009-07-10 10:51:36 -0500 (Fri, 10 Jul 2009) | 10 lines
    
    Ensure that outbound NOTIFY requests are properly routed through stateful proxies.
    
    With this change, we make note of Record-Route headers present in any SUBSCRIBE
    request that we receive so that our outbound NOTIFY requests will have the proper
    Route headers in them.
    
    (closes issue #14725)
    Reported by: ibc
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 15:57:08 +00:00
Kevin P. Fleming
b2e3c3e436 Merged revisions 205696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r205696 | kpfleming | 2009-07-09 16:20:23 -0500 (Thu, 09 Jul 2009) | 16 lines
  
  Repair ability of SendFAX/ReceiveFAX to respond to T.38 switchover.
  
  Recent changes in T.38 negotiation in Asterisk caused these applications to
  not respond when the other endpoint initiated a switchover to T.38; this
  resulted in the T.38 switchover failing, and the FAX attempt to be made
  using an audio connection, instead of T.38 (which would usually cause the
  FAX to fail completely).
  
  This patch corrects this problem, and the applications will now correctly
  respond to the T.38 switchover request. In addition, the response will include
  the appopriate T.38 session parameters based on what the other end offered
  and what our end is capable of.
  
  (closes issue #14849)
  Reported by: afosorio
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 21:26:00 +00:00
David Vossel
6547190dd4 SIP Dialog ref counting
This patch adds reference counting for sip dialogs into 1.6.0.
When proc_session_timer() is called from the scheduler thread
it has no guarantee the session timer's dialog won't be freed
from underneath it.  Now the session timer holds a reference
to the dialog, preventing it from being destroyed during the
middle of proc_session_timer().

(closes issue #13623)
Reported by: Nik Soggia

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@205117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 14:35:57 +00:00
David Vossel
8d1643655b removes fake dialog_unref and dialog_ref function calls.
dialog_unref() and dialog_ref() in 1.6.0 where only place holders
for reference counting once it was implemented.  The functions
did nothing but return the pointer on ref and NULL on unref.  These
calls have been removed to make way for a patch that actually does
dialog ref counting.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@204652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-01 18:48:50 +00:00
Mark Michelson
ae065d0125 Merged revisions 204301 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r204301 | mmichelson | 2009-06-29 17:50:35 -0500 (Mon, 29 Jun 2009) | 15 lines
  
  Merged revisions 204300 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r204300 | mmichelson | 2009-06-29 17:45:34 -0500 (Mon, 29 Jun 2009) | 9 lines
    
    Add error message so that it is clear why a SIP peer was not processed when
    a DNS lookup fails on a host or outboundproxy.
    
    (closes issue #13432)
    Reported by: p_lindheimer
    Patches:
          outboundproxy.patch uploaded by p (license 558)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@204302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 22:52:39 +00:00
Mark Michelson
0889af49c6 Merged revisions 204247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r204247 | mmichelson | 2009-06-29 16:48:54 -0500 (Mon, 29 Jun 2009) | 32 lines
  
  Merged revisions 204243,204246 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r204243 | mmichelson | 2009-06-29 16:23:43 -0500 (Mon, 29 Jun 2009) | 22 lines
    
    Fix a problem where chan_sip would ignore "old" but valid responses.
    
    chan_sip has had a problem for quite a long time that would manifest when
    Asterisk would send multiple SIP responses on the same dialog before receiving
    a response. The problem occurred because chan_sip only kept track of the highest
    outgoing sequence number used on the dialog. If Asterisk sent two requests out,
    and a response arrived for the first request sent, then Asterisk would ignore
    the response. The result was that Asterisk would continue retransmitting the
    requests and ignoring the responses until the maximum number of retransmissions
    had been reached.
    
    The fix here is to rearrange the code a bit so that instead of simply comparing
    the sequence number of the response to our latest outgoing sequence number, we
    walk our list of outstanding packets and determine if there is a match. If there is,
    we continue. If not, then we ignore the response.
    
    In doing this, I found a few completely useless variables that I have now removed.
    
    (closes issue #11231)
    Reported by: flefoll

    Review: https://reviewboard.asterisk.org/r/298
  ........
    r204246 | mmichelson | 2009-06-29 16:37:05 -0500 (Mon, 29 Jun 2009) | 3 lines
    
    Fix build oops.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@204248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:51:27 +00:00
Russell Bryant
3be09ad7e9 Merged revisions 203779 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r203779 | russell | 2009-06-26 15:45:00 -0500 (Fri, 26 Jun 2009) | 5 lines
  
  Ensure the TCP read buffer is fully initialized before handling each packet.
  
  (closes issue #14452)
  Reported by: umberto71
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@203780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 20:46:55 +00:00
Joshua Colp
fc33f7b57e Merged revisions 203699 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r203699 | file | 2009-06-26 16:27:24 -0300 (Fri, 26 Jun 2009) | 2 lines
  
  Improve T.38 negotiation by exchanging session parameters between application and channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@203701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:29:02 +00:00
Russell Bryant
8ee2d538bd Merged revisions 203116 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r203116 | russell | 2009-06-25 11:04:10 -0500 (Thu, 25 Jun 2009) | 18 lines
  
  Merged revisions 203115 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r203115 | russell | 2009-06-25 11:02:16 -0500 (Thu, 25 Jun 2009) | 11 lines
    
    Resolve a crash related to a T.38 reinvite race condition.
    
    This change resolves a crash observed locally during some T.38 testing.
    A call was set up using a call file, and when the T.38 reinvite came in,
    the channel state was still AST_STATE_DOWN.  The reason is explained by
    a comment in the code that previously lived in the handling of
    AST_STATE_RINGING.  This change modifies the logic to handle the same
    race condition for any channel state that is not UP.
    
    (closes ABE-1895)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@203117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 16:05:36 +00:00
Mark Michelson
a228e74faa Merged revisions 202967 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202967 | mmichelson | 2009-06-24 13:29:10 -0500 (Wed, 24 Jun 2009) | 9 lines
  
  Merged revisions 202966 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r202966 | mmichelson | 2009-06-24 13:28:47 -0500 (Wed, 24 Jun 2009) | 3 lines
    
    Use the handy UNLINK macro instead of hand-coding the same thing in-line.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-24 18:29:43 +00:00
Joshua Colp
03914b9a4a Merged revisions 202925 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r202925 | file | 2009-06-24 15:08:17 -0300 (Wed, 24 Jun 2009) | 2 lines
  
  Ensure the default settings are applied for T.38 when we set it up for a peer.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-24 18:09:31 +00:00
David Vossel
cbdbf23bdc Merged revisions 202672 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202672 | dvossel | 2009-06-23 11:31:30 -0500 (Tue, 23 Jun 2009) | 18 lines
  
  Merged revisions 202671 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r202671 | dvossel | 2009-06-23 11:28:46 -0500 (Tue, 23 Jun 2009) | 12 lines
    
    MWI NOTIFY contains a wrong URI if Asterisk listens to non-standard port and transport
    
    (closes issue #14659)
    Reported by: klaus3000
    Patches:
          patch_chan_sip_fixMWIuri_1.4.txt uploaded by klaus3000 (license 65)
          mwi_port-transport_trunk.diff uploaded by dvossel (license 671)
    Tested by: dvossel, klaus3000
    
    Review: https://reviewboard.asterisk.org/r/288/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 16:40:15 +00:00
Mark Michelson
b535dda70c Merged revisions 202603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202603 | mmichelson | 2009-06-23 10:23:00 -0500 (Tue, 23 Jun 2009) | 8 lines
  
  Blocked revisions 202601 via svnmerge
  
  ........
    r202601 | mmichelson | 2009-06-23 10:22:35 -0500 (Tue, 23 Jun 2009) | 3 lines
    
    Fix more memory leaks that may result if rtp is not successfully allocated.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:25:03 +00:00
Mark Michelson
436dce6109 Recorded merge of revisions 202574 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202574 | mmichelson | 2009-06-23 10:11:47 -0500 (Tue, 23 Jun 2009) | 8 lines
  
  Blocked revisions 202572 via svnmerge
  
  ........
    r202572 | mmichelson | 2009-06-23 10:08:27 -0500 (Tue, 23 Jun 2009) | 3 lines
    
    Fix potential memory leak in chan_sip when video rtp is not allocated properly.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:16:06 +00:00
Russell Bryant
eca12f6e13 Merged revisions 202415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202415 | russell | 2009-06-22 11:05:08 -0500 (Mon, 22 Jun 2009) | 9 lines
  
  Merged revisions 202414 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r202414 | russell | 2009-06-22 11:00:00 -0500 (Mon, 22 Jun 2009) | 2 lines
    
    Make Polycom subscription type override check more explicit.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 16:06:43 +00:00
Mark Michelson
25b0edc60a Merged revisions 202343 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202343 | mmichelson | 2009-06-22 09:58:24 -0500 (Mon, 22 Jun 2009) | 36 lines
  
  Merged revisions 202341-202342 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r202341 | mmichelson | 2009-06-22 09:42:55 -0500 (Mon, 22 Jun 2009) | 26 lines
    
    Fix a situation in which Asterisk would not stop retransmitting 487s.
    
    If a CANCEL were received by Asterisk, we would send a 487 in response
    to the original INVITE and a 200 OK for the CANCEL. If there were a network
    hiccup which caused the 200 OK and the 487 to be lost, then the UA communicating
    with Asterisk may try to retransmit its CANCEL. Asterisk's response to this used
    to be to try sending another 487 to the canceled INVITE and another 200 OK to the
    CANCEL.
    
    The problem here is that the originally-sent 487 was sent "reliably" meaning that
    it will be retransmitted until it is received properly. So when we receive the second
    CANCEL it is likely that the first batch of 487s we sent is still going strong and
    reaches the UA. The result was that the second set of 487s would be retransmitted
    constantly until the maximum number of retries had been reached.
    
    The fix for this is that if we receive a second CANCEL for an INVITE, then we cancel
    the retransmission of the first set of 487s and start a second set. This causes the
    dialog to be terminated reasonably.
    
    (closes issue #14584)
    Reported by: klaus3000
    Patches:
          14584_v2.patch uploaded by mmichelson (license 60)
    Tested by: klaus3000
  ........
    r202342 | mmichelson | 2009-06-22 09:44:58 -0500 (Mon, 22 Jun 2009) | 3 lines
    
    Remove an extra debug line left from previous commit.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 15:05:00 +00:00
Mark Michelson
03f46e7a81 Merged revisions 202337 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r202337 | mmichelson | 2009-06-22 09:35:09 -0500 (Mon, 22 Jun 2009) | 31 lines
  
  Merged revisions 202336 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r202336 | mmichelson | 2009-06-22 09:34:05 -0500 (Mon, 22 Jun 2009) | 25 lines
    
    Fix a possible infinite loop in SDP parsing during glare situation.
    
    There was a while loop in get_ip_and_port_from_sdp which was controlled
    by a call to get_sdp_iterate. The loop would exit either if what we were
    searching for was found or if the return was NULL. The problem is that
    get_sdp_iterate never returns NULL. This means that if what we were searching
    for was not present, the loop would run infinitely. This modification of the
    loop fixes the problem.
    
    (closes issue #15213)
    Reported by: schmidts
    
    (closes issue #15349)
    Reported by: samy
    
    (closes issue #14464)
    Reported by: pj
    
    (closes issue #15345)
    Reported by: aragon
    Patches:
          sip_inf_loop.patch uploaded by mmichelson (license 60)
    Tested by: aragon
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 14:35:35 +00:00
Matthew Nicholson
93017afcc8 Added deadlock protection to try_suggested_sip_codec in chan_sip.c.
Review: https://reviewboard.asterisk.org/r/287/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@202006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19 21:07:53 +00:00
Mark Michelson
82f2aa293d Merged revisions 201462 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r201462 | mmichelson | 2009-06-17 15:10:01 -0500 (Wed, 17 Jun 2009) | 12 lines
  
  Fix problem with no audio due to ignoring the SDP.
  
  A recent change to our SDP version comparison made audio not function
  on some calls. This was because of a test wherein we were trying to
  see if an unsigned value was less than 0. This is a dumb comparison
  and arguably the compiler should have warned about it. Alas, though,
  it slipped past. Now it's fixed by changing the variable to be a
  signed type.
  
  Found by several developers. Tested by mnicholson and dbrooks.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@201463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 20:10:50 +00:00
David Brooks
ca7b9b9fe4 Merged revisions 201381 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r201381 | dbrooks | 2009-06-17 14:15:07 -0500 (Wed, 17 Jun 2009) | 16 lines
  
  Merged revisions 201380 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r201380 | dbrooks | 2009-06-17 13:45:50 -0500 (Wed, 17 Jun 2009) | 9 lines
    
    Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
    
    Zombie channels could be passed, and chan_sip.c wasn't checking for it.
    Could crash Asterisk. Now checking for NULL pointer.
    
    (closes issue #15330)
    Reported by: okrief
    Tested by: dbrooks
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@201443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 19:35:23 +00:00
David Vossel
6cbe57b730 Merged revisions 201223 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r201223 | dvossel | 2009-06-16 17:29:30 -0500 (Tue, 16 Jun 2009) | 2 lines
  
  fix issue with build_contact introduced by the "SIP trasnport type issues" commit
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@201226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 22:31:42 +00:00
David Vossel
c2d79c89bb Merged revisions 200946 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r200946 | dvossel | 2009-06-16 11:03:30 -0500 (Tue, 16 Jun 2009) | 32 lines
  
  SIP transport type issues
  
  What this patch addresses:
  1. ast_sip_ouraddrfor() by default binds to the UDP address/port
  reguardless if the sip->pvt is of type UDP or not.  Now when no
  remapping is required, ast_sip_ouraddrfor() checks the sip_pvt's
  transport type, attempting to set the address and port to the
  correct TCP/TLS bindings if necessary.
  2.  It is not necessary to send the port number in the Contact
  header unless the port is non-standard for the transport type.
  This patch fixes this and removes the todo note.
  3.  In sip_alloc(), the default dialog built always uses transport
  type UDP.  Now sip_alloc() looks at the sip_request (if present)
  and determines what transport type to use by default.
  4.  When changing the transport type of a sip_socket, the file
  descriptor must be set to -1 and in some cases the tcptls_session's
  ref count must be decremented and set to NULL.  I've encountered
  several issues associated with this process and have created a function,
  set_socket_transport(), to handle the setting of the socket type.
  
  
  (closes issue #13865)
  Reported by: st
  Patches:
        dont_add_port_if_tls.patch uploaded by Kristijan (license 753)
        13865.patch uploaded by mmichelson (license 60)
        tls_port_v5.patch uploaded by vrban (license 756)
        transport_issues.diff uploaded by dvossel (license 671)
  Tested by: mmichelson, Kristijan, vrban, jmacz, dvossel
  
  Review: https://reviewboard.asterisk.org/r/278/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@200992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 17:11:51 +00:00
Kevin P. Fleming
40757d599e Merged revisions 165180,200689 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r165180 | mnicholson | 2008-12-17 12:49:12 -0600 (Wed, 17 Dec 2008) | 14 lines
  
  This patch adds a new 'ignoresdpversion' option to sip.conf.  When this is
  enabled (either globally or for a specific peer), chan_sip will treat any SDP
  data it receives as new data and update the media stream accordingly.  By
  default, Asterisk will only modify the media stream if the SDP session version
  received is different from the current SDP session version.  This option is
  required to interoperate with devices that have non-standard SDP session
  version implementations (observed by toc on the bug tracker with Microsoft OCS
  which always uses 0 as the session version).
  
  http://reviewboard.digium.com/r/94/
  (closes issue #13958)
  Reported by: toc
  Tested by: toc
........
  r200689 | kpfleming | 2009-06-15 15:42:38 -0500 (Mon, 15 Jun 2009) | 12 lines
  
  Accept T.38 re-INVITE responses with invalid SDP versions.
  
  This commit changes the 'incoming SDP version' check logic a bit more; when
  'ignoresdpversion' is *not* set for a peer, if we initiate a re-INVITE to
  switch to T.38, we'll always accept the peer's SDP response, even if they
  don't properly increment the SDP version number as they should. If this situation
  occurs, a warning message will be generated suggesting that the peer's
  configuration be changed to include the 'ignoresdpversion' configuration option
  (although ideally they'd fix their SIP implementation to be RFC compliant).
  
  AST-221
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@200724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 21:29:27 +00:00
Mark Michelson
5f0b3e489f Merged revisions 200514 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r200514 | mmichelson | 2009-06-15 10:22:11 -0500 (Mon, 15 Jun 2009) | 11 lines
  
  Merged revisions 200513 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r200513 | mmichelson | 2009-06-15 10:21:46 -0500 (Mon, 15 Jun 2009) | 5 lines
    
    Add INFO to our allowed methods so that endpoints know they may send it to us.
    
    AST-223
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@200515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 15:22:34 +00:00
Mark Michelson
bd9f6cf82d Merged revisions 200146 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r200146 | mmichelson | 2009-06-11 16:17:14 -0500 (Thu, 11 Jun 2009) | 5 lines
  
  Fix a crash due to a potentially NULL p->options.
  
  Thanks to mnicholson for pointing it out.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@200149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-11 21:18:03 +00:00
Mark Michelson
7a3b46c789 The 1.6.0 branch was missing all invite_branch logic. It has now been added.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@199975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 20:20:53 +00:00
David Vossel
6cab2f47e6 Merged revisions 199818 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r199818 | dvossel | 2009-06-09 15:47:57 -0500 (Tue, 09 Jun 2009) | 11 lines
  
  CLI NOTIFY sending wrong transport type.
  
  SIP's cli NOTIFY command only used UDP rather than copying the transport type from the peer.
  
  (closes issue #15283)
  Reported by: jthurman
  Patches:
        sip-notify-tcp-svn199728.patch uploaded by jthurman (license 614)
  Tested by: jthurman, dvossel
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@199821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-09 20:54:10 +00:00
Joshua Colp
bc1b330dec Merged revisions 198791 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r198791 | file | 2009-06-02 10:48:06 -0300 (Tue, 02 Jun 2009) | 5 lines
  
  Correct documentation for the register line, specifically where the domain should be specified.
  
  (closes issue #14367)
  Reported by: Nick_Lewis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@198792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-02 13:49:24 +00:00
Eliel C. Sardanons
93e30e3e23 Merged revisions 197621 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r197621 | eliel | 2009-05-28 12:01:48 -0400 (Thu, 28 May 2009) | 19 lines
  
  Merged revisions 197562 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r197562 | eliel | 2009-05-28 11:21:32 -0400 (Thu, 28 May 2009) | 13 lines
    
    Use the address we already know when reloading a peer with nat=yes.
    
    If we already have an address for a peer, and we are reloading the sip
    configuration, try to use that address to contact the peer, instead of
    getting it from the Contact.
    
    (closes issue #15194)
    Reported by: ibc
    Patches:
          sip.patch uploaded by eliel (license 64)
          Tested by: manwe
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@197704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 19:00:21 +00:00
Mark Michelson
a66b938920 Merged revisions 197606 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r197606 | mmichelson | 2009-05-28 10:32:19 -0500 (Thu, 28 May 2009) | 22 lines
  
  Recorded merge of revisions 197588 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r197588 | mmichelson | 2009-05-28 10:27:49 -0500 (Thu, 28 May 2009) | 16 lines
    
    Allow for media to arrive from an alternate source when responding to a reinvite with 491.
    
    When we receive a SIP reinvite, it is possible that we may not be able to process the
    reinvite immediately since we have also sent a reinvite out ourselves. The problem is
    that whoever sent us the reinvite may have also sent a reinvite out to another party,
    and that reinvite may have succeeded.
    
    As a result, even though we are not going to accept the reinvite we just received, it
    is important for us to not have problems if we suddenly start receiving RTP from a new
    source. The fix for this is to grab the media source information from the SDP of the
    reinvite that we receive. This information is passed to the RTP layer so that it will
    know about the alternate source for media.
    
    Review: https://reviewboard.asterisk.org/r/252
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@197615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 15:34:48 +00:00
Joshua Colp
cd950bcbf8 Merged revisions 197467 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r197467 | file | 2009-05-28 10:47:45 -0300 (Thu, 28 May 2009) | 15 lines
  
  Merged revisions 197466 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r197466 | file | 2009-05-28 10:44:58 -0300 (Thu, 28 May 2009) | 8 lines
    
    Fix a bug where the flag indicating the presence of rport would get overwritten by the nat setting.
    
    The presence of rport is now stored as a separate flag. Once the dialog is setup and authenticated
    (or it passes through unauthenticated) the proper nat flag is set.
    
    (closes issue #13823)
    Reported by: dimas
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@197469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-28 13:50:19 +00:00
David Vossel
2b5d7b9ce7 Fixes merge issue during r196454.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@197086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-27 15:58:24 +00:00
Joshua Colp
6c1703877b Merged revisions 196721 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r196721 | file | 2009-05-26 10:43:13 -0300 (Tue, 26 May 2009) | 7 lines
  
  Fix a bug where the sip unregister CLI command did not completely unregister the peer.
  
  (closes issue #15118)
  Reported by: alecdavis
  Patches:
        chan_sip_unregister.diff2.txt uploaded by alecdavis (license 585)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@196722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 13:44:47 +00:00
David Vossel
5249104890 Merged revisions 196416 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r196416 | dvossel | 2009-05-22 16:09:45 -0500 (Fri, 22 May 2009) | 19 lines
  
  SIP set outbound transport type from Registration
  
  In sip.conf the transport option allows for the configuration of what transport types (udp, tcp, and tls) a peer will accept, but only the first type listed was used for outbound connections.  This patch changes this.  Now the default transport type is only used until the peer registers.  When registration takes place the transport type is parsed out of the Contact header.  If the Contact header's transport type is equal to one that the peer supports, the peer's default transport type for outbound connections is set to match the Contact header's type.  If the Contact header's transport type is not present, then the peer's default transport type is set to match the one the peer registered with.  When a peer unregisters or the registration expires, the default transport type for that peer is reset.
  
  (closes issue #12282)
  Reported by: rjain
  Patches:
        reg_patch_1.diff uploaded by dvossel (license 671)
  Tested by: dvossel
  
  (closes issue #14727)
  Reported by: pj
  Patches:
        reg_patch_3.diff uploaded by dvossel (license 671)
  Tested by: pj, dvossel
  
  Review: https://reviewboard.asterisk.org/r/249/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@196454 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 22:51:09 +00:00
Joshua Colp
0b6e79502e Merged revisions 195449 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r195449 | file | 2009-05-19 11:43:54 -0300 (Tue, 19 May 2009) | 14 lines
  
  Merged revisions 195448 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r195448 | file | 2009-05-19 11:41:45 -0300 (Tue, 19 May 2009) | 7 lines
    
    Fix a bug where direct RTP setup would partially occur even when disabled if the calling channel was answered.
    
    (issue #13545)
    Reported by: davidw
    (issue #14244)
    Reported by: mbnwa
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@195450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 14:45:54 +00:00
Joshua Colp
bbcf0052fd Merged revisions 195089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r195089 | file | 2009-05-18 10:36:17 -0300 (Mon, 18 May 2009) | 5 lines
  
  Fix a bug where specifying an empty outboundproxy would cause packets to get sent to ourself.
  
  (closes issue #15106)
  Reported by: timeshell
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@195090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 13:37:20 +00:00
Mark Michelson
bd0383c3be Merged revisions 194496 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r194496 | mmichelson | 2009-05-14 17:20:51 -0500 (Thu, 14 May 2009) | 30 lines
  
  Merged revisions 194484 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r194484 | mmichelson | 2009-05-14 17:17:55 -0500 (Thu, 14 May 2009) | 24 lines
    
    Fix a race condition where a reinvite could trigger a 482 response.
    
    The loop detection/spiral detection code in chan_sip used the owner
    channel's state as a criterion for determining if the incoming INVITE
    is a looped request. The problem with this is that the INVITE-handling
    code happens in a different thread than the thread that marks the owner
    channel as being up. As a result, if a reinvite were to come in very quickly,
    say from another Asterisk on the same LAN, it was possible for the reinvite
    to arrive before the owner channel had been set to the up state.
    
    This patch corrects the problem by using the invitestate of the sip_pvt
    instead, since that can be guaranteed to be set correctly by the time
    the reinvite arrives. Since there is a switch statement further in the
    INVITE-handling code, the AST_STATE_RINGING state also checks the invitestate
    of the sip_pvt in case we should actually be treating the channel as if it were
    up already.
    
    (closes issue #12215)
    Reported by: jpyle
    Patches:
          12215_confirmed.patch uploaded by mmichelson (license 60)
    Tested by: lmadsen
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@194504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 22:22:44 +00:00
Mark Michelson
4a9497891c Merged revisions 193954 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r193954 | mmichelson | 2009-05-12 15:28:13 -0500 (Tue, 12 May 2009) | 18 lines
  
  Update spiral support in trunk and 1.6.X to match what is in 1.4.
  
  In 1.4, a SIP spiral is treated the same way as a call forward. This
  works much better than what is currently in trunk and 1.6.X. The code
  in trunk and 1.6.X did not create a new call to the recipient of the spiral,
  instead trying to continue the same call. In addition to just being plain
  wrong, this also had the side effect of only being able to spiral calls
  to other SIP channels.
  
  With this in place, as long as call forwards are honored, SIP spirals
  will work properly. This means that it will work for outbound calls
  made  by the Queue, Dial, and Page applications. For originated calls and
  spool calls, however, the spiral will not work properly until a generic
  call forward mechanism is introduced into Asterisk.
  
  (relates to issue #13630)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@193960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 20:50:30 +00:00
David Vossel
80a37a02a6 Merged revisions 193387 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r193387 | dvossel | 2009-05-08 15:32:51 -0500 (Fri, 08 May 2009) | 7 lines
  
  TCP not matching valid peer.
  
  find_peer() does not find a valid peer when using pvt->recv as the sockaddr_in argument.  Because of the way TCP works, the port number in pvt->recv is not what we're looking for at all.  There is currently only one place that find_peer searches for a peer using the sockaddr_in argument.  If the peer is not found after using pvt->recv (works for UDP since the port number will be correct), a temp sockaddr_in struct is made using the Contact header in the sip_request.  This has the correct port number in it.
  
  Review: http://reviewboard.digium.com/r/236/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@193449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-08 21:32:25 +00:00
Tilghman Lesher
2a0f0439e5 Merged revisions 192933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r192933 | tilghman | 2009-05-07 11:43:56 -0500 (Thu, 07 May 2009) | 17 lines
  
  Merged revisions 192932 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r192932 | tilghman | 2009-05-07 11:29:08 -0500 (Thu, 07 May 2009) | 10 lines
    
    Eliminate repetition of fullcontact during reconstruction.
    If the fullcontact field appears in both the sippeers and the
    sipregs table, then during reconstruction of the field, it will
    otherwise be doubled.
    (closes issue #14754)
     Reported by: Alexei Gradinari
     Patches: 
           20090506__bug14754.diff.txt uploaded by tilghman (license 14)
     Tested by: lmadsen
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@192934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-07 16:45:23 +00:00
Joshua Colp
2f3e7752f2 Merged revisions 192634 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r192634 | file | 2009-05-06 10:34:35 -0300 (Wed, 06 May 2009) | 14 lines
  
  Merged revisions 192633 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r192633 | file | 2009-05-06 10:30:51 -0300 (Wed, 06 May 2009) | 7 lines
    
    Update some old logic to stop both begin and end DTMF frames from reaching the core if rfc2833 is not enabled.
    
    (closes issue #15036)
    Reported by: dimas
    Patches:
          v1-15036.patch uploaded by dimas (license 88)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@192635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-06 13:36:19 +00:00
Joshua Colp
e088059f46 Merged revisions 192387 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r192387 | file | 2009-05-05 11:22:47 -0300 (Tue, 05 May 2009) | 10 lines
  
  Fix a bug with setting t38pt_udptl at the user or peer level.
  
  If an incoming call authenticated as a user or peer and t38pt_udptl was
  not set to yes in general then no UDPTL session would be present and any
  T38 related things would fail. This commit changes it so that if after
  authenticating T38 is enabled but no UDPTL session is present one will be
  created.
  
  (issue AST-215)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@192397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-05 14:25:15 +00:00