Commit graph

3154 commits

Author SHA1 Message Date
David Vossel
f38f888416 Merged revisions 293924 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293924 | dvossel | 2010-11-04 16:39:51 -0500 (Thu, 04 Nov 2010) | 4 lines
  
  Fixes ringback tone on sip semi-attended transfer.
  
  ABE-2168
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 15:26:01 +00:00
Paul Belanger
dcd6dae413 Merged revisions 293887 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293887 | pabelanger | 2010-11-04 09:27:54 -0400 (Thu, 04 Nov 2010) | 8 lines
  
  Do not output port in IPaddress for AMI sippeers.
  
  (closes issue #18248)
  Reported by: orn
  Patches: 
        ami_sippeers.patch uploaded by pabelanger (license 224)
  Tested by: orn
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-04 13:29:20 +00:00
Terry Wilson
abc94089cd Merged revisions 293803 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293803 | twilson | 2010-11-03 11:05:14 -0700 (Wed, 03 Nov 2010) | 25 lines
  
  Avoid valgrind warnings for ast_rtp_instance_get_xxx_address
  
  The documentation for ast_rtp_instance_get_(local/remote)_address stated that
  they returned 0 for success and -1 on failure. Instead, they returned 0 if the
  address structure passed in was already equivalent to the address instance
  local/remote address or 1 otherwise. 90% of the calls to these functions
  completely ignored the return address and passed in an uninitialized struct,
  which would make valgrind complain even though the operation was technically
  safe.
  
  This patch fixes the documentation and converts the get_xxx_address functions
  to void since all they really do is copy the address and cannot fail.
  Additionally two new functions
  (ast_rtp_instance_get_and_cmp_(local/remote)_address) are created for the 3
  times where the return value was actually checked. The
  get_and_cmp_local_address function is currently unused, but exists for the sake
  of symmetry.
  
  The only functional change as a result of this change is that we will not do an
  ast_sockaddr_cmp() on (mostly uninitialized) addresses before doing the
  ast_sockaddr_copy() in the get_*_address functions. So, even though it is an
  API change, it shouldn't have a noticeable change in behavior.
  
  Review: https://reviewboard.asterisk.org/r/995/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-03 18:43:18 +00:00
Jeff Peeler
9528e27b8c Merged revisions 293724 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r293724 | jpeeler | 2010-11-02 18:09:06 -0500 (Tue, 02 Nov 2010) | 22 lines
  
  Merged revisions 293723 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r293723 | jpeeler | 2010-11-02 18:07:13 -0500 (Tue, 02 Nov 2010) | 15 lines
    
    Merged revisions 293722 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r293722 | jpeeler | 2010-11-02 18:02:51 -0500 (Tue, 02 Nov 2010) | 8 lines
      
      Add enabled/disabled information for rtautoclear sip show settings output.
      
      When setting to zero/"no", the numeric default was shown making it not obvious
      the disabled setting was respected.
      
      (closes issue #18123)
      Reported by: zerohalo
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-02 23:10:07 +00:00
Jeff Peeler
a491f69be6 Merged revisions 293305 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293305 | jpeeler | 2010-10-29 16:48:38 -0500 (Fri, 29 Oct 2010) | 9 lines
  
  Modify sip_setoption to not complain about unknown options.
  
  This now behaves just like the other setoption callbacks. For the curious the
  offending option for the reporter was AST_OPTION_CHANNEL_WRITE which was getting
  passed due to a fix for chan_local in 286189.
  
  (closes issue #17985)
  Reported by: globalnetinc
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-29 21:50:18 +00:00
Leif Madsen
8de8e4a11c Merged revisions 292787 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r292787 | lmadsen | 2010-10-22 16:28:43 -0500 (Fri, 22 Oct 2010) | 21 lines
  
  Merged revisions 292786 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r292786 | lmadsen | 2010-10-22 16:16:12 -0500 (Fri, 22 Oct 2010) | 13 lines
    
    Update the LDIF file for LDAP.
    The LDIF file asterisk.ldif was quite a bit out of date from the asterisk.ldap-schema file, so I've
    now updated that to be in sync. The asterisk.ldif file being out of sync was a problem on my systems
    where I was doing an ldapadd to import the schema into the LDAP database, and the existing file
    would cause problems and ERROR messages when registering.
    
    Additional documention has been added based on feedback in the issue I'm closing.
    
    (closes issue #13861)
    Reported by: scramatte
    Patches:
          ldap-update.txt uploaded by lmadsen (license 10)
    Tested by: lmadsen, jcovert, suretec, rgenthner
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-22 21:29:20 +00:00
Terry Wilson
9653b5d500 Merged revisions 292309 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r292309 | twilson | 2010-10-19 12:27:32 -0700 (Tue, 19 Oct 2010) | 10 lines
  
  Add sip show peer info about crypto and remove dated comment
  
  This patch adds information about the encryption setting to 'sip show
  peers' and removes an out-of-date comment from res_srtp.c and instead
  directs users to the proper documentation.
  
  (closes issue #18140)
  Reported by: chodorenko
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-19 19:35:24 +00:00
David Vossel
8be13e128f Merged revisions 291942 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291942 | dvossel | 2010-10-15 15:12:04 -0500 (Fri, 15 Oct 2010) | 8 lines
  
  Fixes peer's host port information being lost on sip reload.
  
  (closes issue #18135)
  Reported by: lmadsen
  Patches:
        crazy_ports_v2.diff uploaded by dvossel (license 671)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-15 20:12:46 +00:00
Paul Belanger
b1cc567e3f Merged revisions 291758 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291758 | pabelanger | 2010-10-14 11:15:12 -0400 (Thu, 14 Oct 2010) | 11 lines
  
  Add the ability for ast_find_ourip to return IPv4, IPv6 or both.
  
  While testing chan_gtalk I noticed jabber was using my IPv6 address
  and not IPv4. When using bindaddr=0.0.0.0 it is possible for ast_find_ourip()
  to return both IPv6 and IPv4 results.  Adding a family parameter gives you
  the ablility to choose.
  
  Since jabber/gtalk/h323 do not support IPv6, we should only return IPv4 results.
  
  Review: https://reviewboard.asterisk.org/r/973/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-14 15:21:42 +00:00
Russell Bryant
0971ebc037 Merged revisions 291394 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r291394 | russell | 2010-10-13 10:46:39 -0500 (Wed, 13 Oct 2010) | 20 lines
  
  Merged revisions 291393 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r291393 | russell | 2010-10-13 10:29:21 -0500 (Wed, 13 Oct 2010) | 13 lines
    
    Merged revisions 291392 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r291392 | russell | 2010-10-13 10:23:19 -0500 (Wed, 13 Oct 2010) | 6 lines
      
      Lock pvt so pvt->owner can't disappear when queueing up a frame.
      
      This fixes a crash due to a hangup race condition.
      
      ABE-2601
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-13 15:51:39 +00:00
Richard Mudgett
d8b4b9509a Add todo comment about handle_incoming() calling assumption.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-11 19:07:59 +00:00
Richard Mudgett
924793d6e6 Merged revisions 291112-291113 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r291112 | rmudgett | 2010-10-11 13:48:15 -0500 (Mon, 11 Oct 2010) | 20 lines
  
  Merged revisions 291110-291111 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r291110 | rmudgett | 2010-10-11 13:34:22 -0500 (Mon, 11 Oct 2010) | 9 lines
    
    Merged revisions 291109 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r291109 | rmudgett | 2010-10-11 13:29:43 -0500 (Mon, 11 Oct 2010) | 1 line
      
      Add missing unlock to an exception condition in reload_config().
    ........
  ................
    r291111 | rmudgett | 2010-10-11 13:39:06 -0500 (Mon, 11 Oct 2010) | 1 line
    
    Make exit from handle_request_do() consistent.
  ................
................
  r291113 | rmudgett | 2010-10-11 13:51:13 -0500 (Mon, 11 Oct 2010) | 1 line
  
  Move declaration closer to where now used.
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-11 18:58:50 +00:00
Jeff Peeler
c44527e185 Merged revisions 289840 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289840 | jpeeler | 2010-10-01 21:43:45 -0500 (Fri, 01 Oct 2010) | 29 lines
  
  Merged revisions 289798 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r289798 | jpeeler | 2010-10-01 18:01:31 -0500 (Fri, 01 Oct 2010) | 22 lines
    
    Merged revisions 289797 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r289797 | jpeeler | 2010-10-01 17:58:38 -0500 (Fri, 01 Oct 2010) | 15 lines
      
      Change RFC2833 DTMF event duration on end to report actual elapsed time.
      
      The scenario here is with a non P2P early media session. The reported time
      length of DTMF presses are coming up short when sending to the remote side.
      Currently the event duration is a running total that is incremented when sending
      continuation packets. These continuation packets are only triggered upon
      incoming media from the remote side, which means that the running total probably
      is not going to end up matching the actual length of time Asterisk received
      DTMF. This patch changes the end event duration to be lengthened if it is
      detected that the end event is going to come up short.
      
      Review: https://reviewboard.asterisk.org/r/957/
      
      ABE-2476
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-02 02:46:43 +00:00
Jeff Peeler
bb485fc6f9 Merged revisions 289701 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289701 | jpeeler | 2010-10-01 11:22:19 -0500 (Fri, 01 Oct 2010) | 28 lines
  
  Merged revisions 289700 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r289700 | jpeeler | 2010-10-01 11:21:04 -0500 (Fri, 01 Oct 2010) | 21 lines
    
    Merged revisions 289699 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r289699 | jpeeler | 2010-10-01 11:20:00 -0500 (Fri, 01 Oct 2010) | 14 lines
      
      Ensure user portion of SIP URI matches dialplan when using encoded characters.
      
      This commit takes a simliar approach to 288112 and checks the dialplan to
      determine the proper action for an incoming contact header as to whether or not
      it should be decoded or not. sip_new was blindly always decoding the extension,
      which also caused the outgoing contact header to be incorrect as well as failing
      to match the encoded extension in the dialplan.
      
      (closes issue #17892)
      Reported by: wdoekes
      Patches: 
            bug17892-1.patch uploaded by jpeeler (license 325)
      Tested by: wdoekes
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-01 16:23:16 +00:00
Stefan Schmidt
15cb4412f8 don't iterate through all dialogs to find and delete old subscribes
On every incoming subscribe there is a iteration through all dialogs to find old subscribes and delete them. This is slow and not RFC conform. This was only needed in 1.2 cause a subscribe was not deleted when a dialog was destroyed, after 1.4 a subscribe get removed when its dialog is destroyed.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-01 10:04:31 +00:00
Matthew Nicholson
72fbcfd95d Merged revisions 289554 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289554 | mnicholson | 2010-09-30 14:53:10 -0500 (Thu, 30 Sep 2010) | 11 lines
  
  Merged revisions 289553 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r289553 | mnicholson | 2010-09-30 14:51:27 -0500 (Thu, 30 Sep 2010) | 4 lines
    
    Properly handle channel allocation failures duing invites with replaces.
    
    ABE-2588
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-30 19:54:59 +00:00
Richard Mudgett
8bbe682e45 Merged revisions 289054-289055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r289054 | rmudgett | 2010-09-27 19:32:18 -0500 (Mon, 27 Sep 2010) | 1 line
  
  Break up long ast_manager_event_multichan() event lines.
........
  r289055 | rmudgett | 2010-09-27 19:35:25 -0500 (Mon, 27 Sep 2010) | 1 line
  
  Revert stuff not ready for commit in -r289054.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-28 00:36:27 +00:00
David Vossel
c60da4ec9d For an INVITE transaction, treat all 2XX responses the same as a 200.
ABE-2305


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-27 22:03:54 +00:00
Olle Johansson
9860ca7d16 Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-27 19:45:56 +00:00
Tilghman Lesher
475cd60ab2 Merged revisions 288961 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r288961 | tilghman | 2010-09-27 13:37:41 -0500 (Mon, 27 Sep 2010) | 5 lines
  
  Still build SIP, even if res_crypto cannot be built (use, not depend).
  
  (closes issue #18062)
   Reported by: a user on the mailing list
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-27 18:39:05 +00:00
David Vossel
9b8cdd8a9f Merged revisions 288852 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r288852 | dvossel | 2010-09-24 12:58:57 -0500 (Fri, 24 Sep 2010) | 5 lines
  
  Append Retry-After header on 500 error response to Re-INVITE according to RFC3261 section 14.2.
  
  ABE-2301
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-24 17:59:47 +00:00
David Vossel
344bd58d56 Merged revisions 288821 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r288821 | dvossel | 2010-09-24 12:05:12 -0500 (Fri, 24 Sep 2010) | 4 lines
  
  Inspect Require header on BYE transaction according to RFC3261 section 8.2.2.3.
  
  ABE-2293
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-24 17:06:02 +00:00
David Vossel
a2a1ec5336 Merged revisions 288418 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288418 | dvossel | 2010-09-22 12:49:56 -0500 (Wed, 22 Sep 2010) | 18 lines
  
  Merged revisions 288417 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r288417 | dvossel | 2010-09-22 12:49:05 -0500 (Wed, 22 Sep 2010) | 11 lines
    
    Merged revisions 288416 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r288416 | dvossel | 2010-09-22 12:48:15 -0500 (Wed, 22 Sep 2010) | 5 lines
      
      RFC3261 section 12.2 explicitly says out of order requests are responded with a 500 Server Internal Error response.
      
      ABE-2458
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-22 17:50:32 +00:00
David Vossel
e6382a2dcb Merged revisions 288345 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288345 | dvossel | 2010-09-22 11:59:14 -0500 (Wed, 22 Sep 2010) | 16 lines
  
  Merged revisions 288344 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r288344 | dvossel | 2010-09-22 11:53:28 -0500 (Wed, 22 Sep 2010) | 9 lines
    
    Merged revisions 288343 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r288343 | dvossel | 2010-09-22 11:49:56 -0500 (Wed, 22 Sep 2010) | 2 lines
      
      During check_pendings, if the dialog is terminated with a CANCEL, change the invitestate to INV_CANCEL like in sip_hangup.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-22 17:13:05 +00:00
Tilghman Lesher
949e81e6e5 Merged revisions 288159 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288159 | tilghman | 2010-09-21 17:57:22 -0500 (Tue, 21 Sep 2010) | 29 lines
  
  Merged revisions 288113 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r288113 | tilghman | 2010-09-21 16:59:46 -0500 (Tue, 21 Sep 2010) | 22 lines
    
    Merged revisions 288112 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r288112 | tilghman | 2010-09-21 16:58:13 -0500 (Tue, 21 Sep 2010) | 15 lines
      
      Try both the encoded and unencoded subscription URI for a match in hints.
      
      When a phone sends an encoded URI for a subscription, the URI is not matched
      with the actual hint that is in decoded format.  For example, if we have an
      extension with a hint that is named: "#5601" or "*5601", the subscription will
      work fine if the phone subscribes with an already decoded URI, but when it's
      decoded like "%255601" or "%2A5601", Asterisk is unable to match it with the
      correct hint.
      
      (closes issue #17785)
       Reported by: ramonpeek
       Patches: 
             20100831__issue17785.diff.txt uploaded by tilghman (license 14)
       Tested by: ramonpeek
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 22:58:10 +00:00
Stefan Schmidt
ee5af946e2 Instead of iterate through all dialogs, add two separte container for needdestroy and rtptimeout
adding two dialog container, one for dialogs which need destroy, another for rtptimeout checks. 
both container will be checked on every loop of do_monitor instead of iterate through all dialogs.

(closes issue #17912)
Reported by: schmidts
Tested by: schmidts

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 20:27:04 +00:00
David Vossel
08aeb74d7a Merged revisions 287929 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287929 | dvossel | 2010-09-21 13:32:12 -0500 (Tue, 21 Sep 2010) | 4 lines
  
  Send a "415 Unsupported Media Type" after failure to process sdp due to unknown Content-Encoding header.
  
  ABE-2258
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 18:33:18 +00:00
Russell Bryant
4a356afb7d Merged revisions 287895 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287895 | russell | 2010-09-21 10:43:33 -0500 (Tue, 21 Sep 2010) | 10 lines
  
  Don't use ast_strdupa() from within the arguments to a function.
  
  (closes issue #17902)
  Reported by: afried
  Patches:
        issue_17902.rev1.txt uploaded by russell (license 2)
  Tested by: russell
  
  Review: https://reviewboard.asterisk.org/r/927/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 15:45:46 +00:00
Tilghman Lesher
9b4cfb0d28 Merged revisions 287893 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287893 | tilghman | 2010-09-21 10:24:47 -0500 (Tue, 21 Sep 2010) | 9 lines
  
  Anonymous callerid needs a "sip:" uri prefix.
  
  (closes issue #17981)
   Reported by: avalentin
   Patches: 
         sip-anonymous-aastra.patch uploaded by avalentin (license 1107)
         (plus an additional fix by me)
   Tested by: avalentin
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 15:27:10 +00:00
David Vossel
e2d002a144 Merged revisions 287645 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287645 | dvossel | 2010-09-20 16:34:15 -0500 (Mon, 20 Sep 2010) | 9 lines
  
  Fixes issue with registrations not working properly with pedantic=yes.
  
  (closes issue #18017)
  Reported by: schmidts
  Patches:
        issues_18017_v1.diff uploaded by dvossel (license 671)
  Tested by: schmidts
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 21:35:46 +00:00
Olle Johansson
7c77cebd4e We do not handle AST_CAUSE_INTERWORKING which we set on a lot of incoming
SIP messages. Adding error based on RFC 3398 recommendations.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-16 16:49:28 +00:00
Jeff Peeler
41b95ee887 Merged revisions 286931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r286931 | jpeeler | 2010-09-15 14:22:15 -0500 (Wed, 15 Sep 2010) | 16 lines
  
  Add parking extension for non-default parking lots.
  
  This is a new feature that allows for parking to custom parking lots to be
  accessed directly, rather than with channel variables or by changing the
  default parking lot. The extension is set with the parkext option just as the
  default parking lot is done. Also, the manager action has been updated to
  optionally allow a specified parking lot.
  
  (closes issue #14882)
  Reported by: vmikhnevych
  Patches: 
        patch_14882.txt uploaded by mnick (license 874)
        modified by me
  
  Review: https://reviewboard.asterisk.org/r/884/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 19:23:56 +00:00
Matthew Nicholson
f9c7f53a1f Merged revisions 286868 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r286868 | mnicholson | 2010-09-15 08:05:52 -0500 (Wed, 15 Sep 2010) | 16 lines
  
  Set tohost to the domain specified in the configuration file instead of the IP address of the host we are calling.
  
  This fixes a regression introduced in r274783.
  
  (closes issue #17960)
  Reported by: adriavidal
  Patches:
        sip-tohost-fix1.diff uploaded by mnicholson (license 96)
  Tested by: mich, mnicholson, adriavidal
  
  (closes issue #17676)
  Reported by: outcast
  Patches:
        sip-tohost-fix1.diff uploaded by mnicholson (license 96)
  Tested by: mnicholson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 13:10:50 +00:00
David Vossel
c994bfae3d Merged revisions 286834 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r286834 | dvossel | 2010-09-14 16:57:35 -0500 (Tue, 14 Sep 2010) | 2 lines
  
  Sets subscribed type for outgoing MWI subscriptions so correct Event header is used.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-14 22:02:00 +00:00
Matthew Nicholson
2bb5307c8d Merged revisions 286758 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286758 | mnicholson | 2010-09-14 14:28:38 -0500 (Tue, 14 Sep 2010) | 27 lines
  
  Merged revisions 286757 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r286757 | mnicholson | 2010-09-14 14:27:28 -0500 (Tue, 14 Sep 2010) | 20 lines
    
    Merged revisions 286756 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r286756 | mnicholson | 2010-09-14 14:26:18 -0500 (Tue, 14 Sep 2010) | 13 lines
      
      Don't clear the username from a realtime database when a registration expires.
      
      Non-realtime chan_sip does not clear the username from memory when a registration expiries so realtime probably shouldn't either.
      
      (closes issue #17551)
      Reported by: ricardolandim
      Patches:
            reg-expiry-username-1.4-fix1.diff uploaded by mnicholson (license 96)
            reg-expiry-username-1.6.2-fix1.diff uploaded by mnicholson (license 96)
            reg-expiry-username-1.8-fix1.diff uploaded by mnicholson (license 96)
            reg-expiry-username-trunk-fix1.diff uploaded by mnicholson (license 96)
      Tested by: ricardolandim, mnicholson
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-14 19:29:43 +00:00
Jason Parker
7b2c877fcb Merged revisions 286457 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286457 | qwell | 2010-09-13 14:40:05 -0500 (Mon, 13 Sep 2010) | 12 lines
  
  Merged revisions 286456 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r286456 | qwell | 2010-09-13 14:38:35 -0500 (Mon, 13 Sep 2010) | 5 lines
    
    Remove "Internal IP" from sip show settings, as it's not at all useful to display.
    
    (closes issue #17840)
    Reported by: oej
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-13 19:40:42 +00:00
Olle Johansson
a6480ff889 Formatting changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-11 17:10:54 +00:00
David Vossel
83bc091ac3 Merged revisions 285568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285568 | dvossel | 2010-09-08 17:14:19 -0500 (Wed, 08 Sep 2010) | 16 lines
  
  Merged revisions 285567 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r285567 | dvossel | 2010-09-08 17:11:28 -0500 (Wed, 08 Sep 2010) | 9 lines
    
    Merged revisions 285566 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r285566 | dvossel | 2010-09-08 17:07:31 -0500 (Wed, 08 Sep 2010) | 2 lines
      
      In retrans_pkt, do not unlock pvt until the end of the function on a transmit failure.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08 22:15:34 +00:00
David Vossel
ede9032f92 Merged revisions 285564 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285564 | dvossel | 2010-09-08 16:48:37 -0500 (Wed, 08 Sep 2010) | 60 lines
  
  Merged revisions 285563 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r285563 | dvossel | 2010-09-08 16:47:29 -0500 (Wed, 08 Sep 2010) | 54 lines
    
    Fixes interoperability problems with session timer behavior in Asterisk.
    
    CHANGES:
    1. Never put "timer" in "Require" header.  This is not to our benefit
    and RFC 4028 section 7.1 even warns against it.  It is possible for one
    endpoint to perform session-timer refreshes while the other endpoint does
    not support them.  If in this case the end point performing the refreshing
    puts "timer" in the Require field during a refresh, the dialog will
    likely get terminated by the other end.
    
    2. Change the behavior of 'session-timer=accept' in sip.conf (which is
    the default behavior of Asterisk with no session timer configuration
    specified) to only run session-timers as result of an incoming INVITE
    request if the INVITE contains an "Session-Expires" header... Asterisk is
    currently treating having the "timer" option in the "Supported" header as
    a request for session timers by the UAC.  I do not agree with this.  Session
    timers should only be negotiated in "accept" mode when the incoming INVITE
    supplies a "Session-Expires" header, otherwise RFC 4028 says we should
    treat a request containing no "Session-Expires" header as a session with
    no expiration.
    
    Below I have outlined some situations and what Asterisk's behavior is.
    The table reflects the behavior changes implemented by this patch.
    
    SITUATIONS:
    -Asterisk as UAS
    1. Incoming INVITE: NO  "Session-Expires"
    2. Incoming INVITE: HAS "Session-Expires"
    
    -Asterisk as UAC
    3. Outgoing INVITE: NO  "Session-Expires". 200 Ok Response HAS "Session-Expires" header
    4. Outgoing INVITE: NO  "Session-Expires". 200 Ok Response NO  "Session-Expires" header
    5. Outgoing INVITE: HAS "Session-Expires".
    
    Active   - Asterisk will have an active refresh timer regardless if the other endpoint does.
    Inactive - Asterisk does not have an active refresh timer regardless if the other endpoint does.
    XXXXXXX  - Not possible for mode.
    ______________________________________
    |SITUATIONS | 'session-timer' MODES  |
    |___________|________________________|
    |           | originate  |  accept   |
    |-----------|------------|-----------|
    |1.         |   Active   | Inactive  |
    |2.         |   Active   |  Active   |
    |3.         | XXXXXXXX   | Active    |
    |4.         | XXXXXXXX   | Inactive  |
    |5.         |   Active   | XXXXXXXX  |
    --------------------------------------
    
    
    (closes issue #17005)
    Reported by: alexrecarey
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08 21:52:08 +00:00
Jason Parker
dc7e1c6183 Merged revisions 285455 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r285455 | qwell | 2010-09-07 17:22:14 -0500 (Tue, 07 Sep 2010) | 8 lines
  
  Don't automatically add domains for wildcard bindaddrs.
  
  (closes issue #17832)
  Reported by: oej
  Patches: 
        17832-wildcard.diff uploaded by qwell (license 4)
  Tested by: qwell
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-07 22:23:32 +00:00
Jason Parker
9b6fac435b Merged revisions 285369 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r285369 | qwell | 2010-09-07 15:58:34 -0500 (Tue, 07 Sep 2010) | 7 lines
  
  Add note to 'sip show settings' regarding dual-stack support, and a :: bindaddress.
  
  (closes issue #17831)
  Reported by: oej
  Patches: 
        17831-v6wildcardbind.diff uploaded by qwell (license 4)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-07 21:21:49 +00:00
Terry Wilson
3b5727bf38 Merged revisions 285017 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r285017 | twilson | 2010-09-03 18:19:54 -0500 (Fri, 03 Sep 2010) | 4 lines
  
  Call correct lock function as transferer is a sip_pvt not a channel
  
  Both functions are #defined to ao2_lock, but still...
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-03 23:23:47 +00:00
David Vossel
1b2039e7db Merged revisions 285006 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r285006 | dvossel | 2010-09-03 17:21:50 -0500 (Fri, 03 Sep 2010) | 9 lines
  
  Disables auth_options_request option by default.
  
  The auth_options_request option was created to do authentication
  on OPTIONS request just like INVITES are done.  Since it has been
  noted that some endpoints use OPTIONS requests as a way of qualifying
  a peer and that a 401 authentication response could result in
  interoperability issues, this option has been disabled by default.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-03 22:23:47 +00:00
David Vossel
16eac93882 Merged revisions 284952 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284952 | dvossel | 2010-09-03 13:03:23 -0500 (Fri, 03 Sep 2010) | 2 lines
  
  During OPTIONS authentication, the authpeer does not need to be returned for any reason.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-03 18:04:10 +00:00
David Vossel
d17eded2e9 Merged revisions 284950 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284950 | dvossel | 2010-09-03 12:29:02 -0500 (Fri, 03 Sep 2010) | 14 lines
  
  authenticate OPTIONS requests just like we would an INVITE
  
  OPTIONS requests should be treated the same as an INVITE
  This includes authentication.  This patch adds the ability for
  incoming out of dialog OPTION requests to be authenticated
  before providing a response indicating whether an extension
  is available or not.  The authentication routine works the
  exact same way as it does for incoming INVITEs.  This means
  that if a peer has 'insecure=invite' in their peer definition,
  the same will be true for the processing of the OPTIONS request.
  
  Review: https://reviewboard.asterisk.org/r/881/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-03 17:30:04 +00:00
David Vossel
804c8c38fd Merged revisions 284705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r284705 | dvossel | 2010-09-02 11:56:43 -0500 (Thu, 02 Sep 2010) | 20 lines
  
  Merged revisions 284704 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r284704 | dvossel | 2010-09-02 11:48:51 -0500 (Thu, 02 Sep 2010) | 13 lines
    
    Merged revisions 284703 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r284703 | dvossel | 2010-09-02 11:47:15 -0500 (Thu, 02 Sep 2010) | 7 lines
      
      Removed relatedpeer code from sip_autodestruct
      
      Handling of the relatedpeer structure associated with a
      sip_pvt should be done during the final sip_destruction
      function, not in sip_autodestruct.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 16:57:43 +00:00
Tilghman Lesher
8190e96fad Merged revisions 284610 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284610 | tilghman | 2010-09-02 00:20:59 -0500 (Thu, 02 Sep 2010) | 10 lines
  
  When optional_api is non-optional, force dependent modules to be loaded.
  
  (closes issue #17707)
   Reported by: ira
   Patches: 
         20100819__issue17707__asterisk1.8.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
   
  Review: https://reviewboard.asterisk.org/r/876/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:27:53 +00:00
David Vossel
c28c620936 Merged revisions 284561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284561 | dvossel | 2010-09-01 16:47:01 -0500 (Wed, 01 Sep 2010) | 9 lines
  
  During request to dialog matching, verify init_ruri is present before comparing.
  
  During request to dialog matching, we attempt a best effort routine for fork
  detection which requires several elements to be in place.  The dialog's
  initial request uri is one of those elements.  Since it is best effort,
  if the init_ruri is not present for some reason we can not proceed with that
  routine.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-01 21:48:32 +00:00
Terry Wilson
920f5ea8b7 Merged revisions 284477 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284477 | twilson | 2010-09-01 13:44:36 -0500 (Wed, 01 Sep 2010) | 17 lines
  
  Fix SRTP for changing SSRC and multiple a=crypto SDP lines
  
  Adding code to Asterisk that changed the SSRC during bridges and masquerades
  broke SRTP functionality. Also broken was handling the situation where an
  incoming INVITE had more than one crypto offer. This patch caches the SRTP
  policies the we use so that we can change the ssrc and inform libsrtp of the
  new streams. It also uses the first acceptable a=crypto line from the incoming
  INVITE.
  
  (closes issue #17563)
  Reported by: Alexcr
  Patches: 
        srtp.diff uploaded by twilson (license 396)
  Tested by: twilson
  
  Review: https://reviewboard.asterisk.org/r/878/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-01 18:52:27 +00:00
Tilghman Lesher
d99e8609de Merged revisions 284415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r284415 | tilghman | 2010-08-31 15:22:10 -0500 (Tue, 31 Aug 2010) | 21 lines
  
  Merged revisions 284399 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r284399 | tilghman | 2010-08-31 15:18:32 -0500 (Tue, 31 Aug 2010) | 14 lines
    
    Merged revisions 284393 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r284393 | tilghman | 2010-08-31 15:13:21 -0500 (Tue, 31 Aug 2010) | 7 lines
      
      Don't send a devstate change on poke_noanswer if the state did not change.
      
      (closes issue #17741)
       Reported by: schmidts
       Patches: 
             chan_sip.c.patch uploaded by schmidts (license 1077)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-31 20:47:28 +00:00
Leif Madsen
7e718275a5 Add trustrpid and sendrpid global values to 'sip show settings'
(closes issue #17860)
Reported by: jtodd
Patches:
      __20100816-chan_sip-sip-show-settings.txt uploaded by lmadsen (license 10)
Tested by: lmadsen, russell

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-31 18:53:51 +00:00
David Vossel
22c5c7c437 Merged revisions 284032 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r284032 | dvossel | 2010-08-27 17:37:11 -0500 (Fri, 27 Aug 2010) | 21 lines
  
  Merged revisions 284002 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r284002 | dvossel | 2010-08-27 17:27:50 -0500 (Fri, 27 Aug 2010) | 14 lines
    
    Merged revisions 283960 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r283960 | dvossel | 2010-08-27 17:17:26 -0500 (Fri, 27 Aug 2010) | 8 lines
      
      Parse all "Accept" headers for SIP SUBSCRIBE requests.
      
      (closes issue #17758)
      Reported by: ibc
      Patches:
            multiple_accept_headers_1.4.diff uploaded by dvossel (license 671)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-27 22:39:48 +00:00
David Vossel
522806df97 Merged revisions 283692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r283692 | dvossel | 2010-08-26 10:26:37 -0500 (Thu, 26 Aug 2010) | 32 lines
  
  Merged revisions 283691 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r283691 | dvossel | 2010-08-26 10:24:40 -0500 (Thu, 26 Aug 2010) | 25 lines
    
    Merged revisions 283690 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r283690 | dvossel | 2010-08-26 10:22:28 -0500 (Thu, 26 Aug 2010) | 19 lines
      
      Fixed how Asterisk destroys a dialog on channel hangup before invite receives a response.
      
      If an ast_channel with a SIP tech pvt hangs up before the sip dialog gets a response
      to its outgoing INVITE, Asterisk used to pretend_ack the INVITE.  This is not rfc
      compliant and results in confusion at the other endpoint.  sip_pretend_ack will ack
      and remove all the packets in the retransmit queue.  This means that the INVITE will
      stop retransmitting, and that any response to that INVITE that comes after the pretend_ack
      occurs will be ignored.
      
      Instead of faking any sort of acknowledgement for an outgoing INVITE during an internal
      hangup, we should let the protocol stack process the INVITE transaction and terminate
      the dialog properly.  This is achieved by setting the PENDING_BYE flag.  When this flag
      is used, once the dialog proceeds to an escapable state the transaction will either be
      canceled with a SIP_CANCEL or completed followed immediately by a BYE.  Attempting to do
      this any other way is incorrect.  If the endpoint is not responding to the INVITE request,
      the INVITE must continue to be retransmitted until it times out which will result in the
      dialog being destroyed.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-26 15:28:07 +00:00
David Vossel
75232687f4 Merged revisions 283595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r283595 | dvossel | 2010-08-25 17:57:56 -0500 (Wed, 25 Aug 2010) | 14 lines
  
  Merged revisions 283594 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r283594 | dvossel | 2010-08-25 17:56:42 -0500 (Wed, 25 Aug 2010) | 7 lines
    
    Add to and from tags to NOTIFY dialog-info xml body so pickup can occur.
    
    When pedantic mode is used, the dialog-info xml generated during a
    ringing event must contain the to and from tag values.  Otherwise if
    a pickup occurs using INVITE with replaces, Astrisk will not be able
    to locate the subscription.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-25 22:59:15 +00:00
David Vossel
848135748f Merged revisions 283559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r283559 | dvossel | 2010-08-25 10:54:11 -0500 (Wed, 25 Aug 2010) | 16 lines
  
  Merged revisions 283558 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r283558 | dvossel | 2010-08-25 10:52:54 -0500 (Wed, 25 Aug 2010) | 10 lines
    
    Asterisk will not advertise session timers are supported when 'session-timers=refuse' is used.
    
    Asterisk now dynamically builds the "Supported" header depending
    on what is enabled/disabled in sip.conf.  Session timers used
    to always be advertised as being supported even when they were disabled
    in the configuration.  This caused problems with some end points.
    
    (issue #17005)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-25 15:56:05 +00:00
Russell Bryant
2e4c877542 Merged revisions 283527 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r283527 | russell | 2010-08-25 09:55:00 -0500 (Wed, 25 Aug 2010) | 2 lines
  
  Convert ast_log(LOG_DEBUG, ...) to ast_debug(...)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-25 14:55:47 +00:00
Leif Madsen
ea7ddb38fc Merged revisions 283457 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r283457 | lmadsen | 2010-08-24 13:56:29 -0500 (Tue, 24 Aug 2010) | 9 lines
  
  Fix issue where TOS is no longer set on RTP packets.
  Fix issue where the tos is no longer being set on RTP packets through res_rtp_asterisk.
  
  (closes issue #17890)
  Reported by: elguero
  Patches:
        qos_18.diff uploaded by elguero (license 37)
  
  Review: https://reviewboard.asterisk.org/r/868
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-24 18:58:46 +00:00
David Vossel
bb9be59671 Merged revisions 283382 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r283382 | dvossel | 2010-08-24 11:11:18 -0500 (Tue, 24 Aug 2010) | 25 lines
  
  Merged revisions 283381 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r283381 | dvossel | 2010-08-24 11:07:37 -0500 (Tue, 24 Aug 2010) | 18 lines
    
    Merged revisions 283380 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r283380 | dvossel | 2010-08-24 11:01:51 -0500 (Tue, 24 Aug 2010) | 11 lines
      
      This fix makes sure the ast_channel hangs up correctly when the dialog's PENDING_BYE flag is set.
      
      When the pending bye flag is used, it is possible that the dialog will terminate
      and leave the sip_pvt->owner channel up.  This is because we never hangup the
      ast_channel after sending the SIP_BYE request.  When we receive the response for
      the SIP_BYE we set need_destroy which we would expect to destroy the dialog on the
      next do_monitor loop, but this is not the case.  The dialog will only be destroyed
      once the owner is hungup even with the need_destroy flag set.  This patch sets the
      softhangup flag on the ast_channel when a SIP_BYE request is sent as a result of the
      pending bye flag.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-24 16:12:36 +00:00
David Vossel
5ef8140eb2 Merged revisions 282895 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282895 | dvossel | 2010-08-19 16:07:20 -0500 (Thu, 19 Aug 2010) | 25 lines
  
  Merged revisions 282894 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r282894 | dvossel | 2010-08-19 16:05:54 -0500 (Thu, 19 Aug 2010) | 18 lines
    
    Merged revisions 282893 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r282893 | dvossel | 2010-08-19 16:03:24 -0500 (Thu, 19 Aug 2010) | 11 lines
      
      tos_sip option was not being set correctly
      
      When tos_sip is used, the tos of the sip socket is only set
      correctly if the socket binding changes on a reload.  If the binding
      stays the same but the TOS changes, the new tos value would not take
      into effect.  This patch fixes that.
      
      
      (closes issue #17712)
      Reported by: nickb
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-19 21:08:39 +00:00
David Vossel
da683f0cc0 Merged revisions 282891 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282891 | dvossel | 2010-08-19 15:34:41 -0500 (Thu, 19 Aug 2010) | 11 lines
  
  Merged revisions 282890 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r282890 | dvossel | 2010-08-19 15:31:22 -0500 (Thu, 19 Aug 2010) | 5 lines
    
    fixes sip peer memory leaks in the peer_by_ip table
    
    (issue #17798)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-19 20:35:42 +00:00
Matthew Nicholson
a49703a77d Merged revisions 282860 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282860 | mnicholson | 2010-08-19 15:01:11 -0500 (Thu, 19 Aug 2010) | 30 lines
  
  Merged revisions 282859 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r282859 | mnicholson | 2010-08-19 14:44:00 -0500 (Thu, 19 Aug 2010) | 23 lines
    
    Merged revisions 277944 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r277944 | pabelanger | 2010-07-19 15:56:07 -0500 (Mon, 19 Jul 2010) | 16 lines
      
      Regression with T.38 negotiation
      
      Prior to 1.4.26.3 T.38 negotiation worked properly, in the case
      of the reporter.  
      
      (issue #16852)
      Reported by: cfc
      
      (closes issue #16705)
      Reported by: mpiazzatnetbug
      Patches:
            issue16705_2.diff uploaded by ebroad (license 878)
      Tested by: vrban, ebroad, c0rnoTa, samdell3
      
      Review: https://reviewboard.asterisk.org/r/754/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-19 20:02:52 +00:00
Matthew Nicholson
70a7d40da7 Merged revisions 282639 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282639 | mnicholson | 2010-08-18 08:10:39 -0500 (Wed, 18 Aug 2010) | 13 lines
  
  Properly handle 200 and unknown responses conatined in NOTIFY requests received in response to REFER requests.
  
  This patch fixes the way asterisk handles NOTIFY requests received in response to REFER requests.  These changes to NOTIFY handler were first introduced in r217482.  This new change properly handles the 200 response by queueing an AST_TRANSFER_SUCCESS control frame and also prevents that control frame from being queued when provisional and unknown responses are received.
  
  (issue #17486)
  Reported by: davidw
  Tested by: mnicholson
  
  (issue #12713)
  Reported by: davidw
  
  Review: https://reviewboard.asterisk.org/r/860/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-18 13:11:38 +00:00
David Vossel
f283b0a61a Merged revisions 282577 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282577 | dvossel | 2010-08-17 16:36:57 -0500 (Tue, 17 Aug 2010) | 16 lines
  
  Merged revisions 282576 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r282576 | dvossel | 2010-08-17 16:35:17 -0500 (Tue, 17 Aug 2010) | 9 lines
    
    fixes no default transport for temp peer creation in chan_sip
    
    (closes issue #17829)
    Reported by: falves11
    Patches:
          issue_17829.rev1.txt uploaded by russell (license 2)
          issue_17829.diff uploaded by dvossel (license 671)
    Tested by: falves11
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-17 21:37:46 +00:00
David Vossel
eca5209181 Merged revisions 282302 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282302 | dvossel | 2010-08-13 17:23:38 -0500 (Fri, 13 Aug 2010) | 10 lines
  
  remove current STUN support from chan_sip.c
  
  This patch removes the current broken/useless stun
  support from chan_sip.
  
  (closes issue #17622)
  Reported by: philipp2
  
  Review: https://reviewboard.asterisk.org/r/855/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-13 22:27:20 +00:00
David Vossel
0f8eaa6299 Merged revisions 282269 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282269 | dvossel | 2010-08-13 15:03:56 -0500 (Fri, 13 Aug 2010) | 4 lines
  
  res_stun_monitor for monitoring network changes behind a NAT device
  
  Review: https://reviewboard.asterisk.org/r/854
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-13 20:05:44 +00:00
David Vossel
86142d711f Merged revisions 282236 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282236 | dvossel | 2010-08-13 13:58:10 -0500 (Fri, 13 Aug 2010) | 23 lines
  
  Merged revisions 282235 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r282235 | dvossel | 2010-08-13 13:54:53 -0500 (Fri, 13 Aug 2010) | 16 lines
    
    only do magic pickup when notifycid is enabled
    
    A new way of doing BLF pickup was introduced into 1.6.2.  This feature
    adds a call-id value into the XML of a SIP_NOTIFY message sent to alert
    a subscriber that a device is ringing.  This option should only be enabled
    when the new 'notifycid' option is set... but this was not the case.  Instead
    the call-id value was included for every RINGING Notify message, which
    caused a regression for people who used other methods for call pickup.
    
    (closes issue #17633)
    Reported by: urosh
    Patches:
          chan_sip.txt uploaded by urosh (license )
          blf_cid_issue.diff uploaded by dvossel (license 671)
    Tested by: dvossel, urosh, okrief, alecdavis
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-13 18:58:49 +00:00
Matthew Nicholson
8e178bb9eb Merged revisions 281874 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r281874 | mnicholson | 2010-08-11 16:11:54 -0500 (Wed, 11 Aug 2010) | 10 lines
  
  handle all possible responses to REFER requests
  
  (closes issue #17486)
  Reported by: davidw
  Patches:
        Issue17486-counterbid.diff.txt uploaded by davidw (license 780)
  Tested by: davidw
  
  Review: https://reviewboard.asterisk.org/r/837/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-11 21:12:25 +00:00
Matthew Nicholson
fbb801fc15 Merged revisions 281760 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r281760 | mnicholson | 2010-08-11 12:27:59 -0500 (Wed, 11 Aug 2010) | 4 lines
  
  Avoid a deadlock in add_header_max_forwards().
  
  Related to r276951
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-11 17:29:16 +00:00
Russell Bryant
e8aea605dc Merged revisions 281532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r281532 | russell | 2010-08-10 11:54:20 -0500 (Tue, 10 Aug 2010) | 8 lines
  
  Ensure that the proper external address is used for the RTP destination.
  
  (closes issue #17044)
  Reported by: ebroad
  Tested by: ebroad
  
  Review: https://reviewboard.asterisk.org/r/566/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-10 16:55:50 +00:00
David Vossel
62ab85a834 Merged revisions 281432 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r281432 | dvossel | 2010-08-09 15:47:53 -0500 (Mon, 09 Aug 2010) | 20 lines
  
  Merged revisions 281430 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r281430 | dvossel | 2010-08-09 15:46:50 -0500 (Mon, 09 Aug 2010) | 13 lines
    
    fixes SIP peers memory leak
    
    We zeroed out the peer's addr before it was removed from the
    peers_by_ip container.  This made it impossible to be removed
    from the container as the addr is the key used by the container
    to find the peer.
    
    (closes issue #17774)
    Reported by: kkm
    Patches:
          017774-sip-peer-leak-1.6.2.10.diff uploaded by kkm (license 888)
          017774-sip-peer-leak-1.8.diff uploaded by kkm (license 888)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-09 20:49:13 +00:00
dfb810efc3 Merged revisions 280778 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r280778 | simon.perreault | 2010-08-03 15:54:03 -0400 (Tue, 03 Aug 2010) | 9 lines
  
  Fixed IPv6-related SIP parsing bugs.
  
  (closes issue #17663)
  Reported by: oej
  Patches:
        diff uploaded by sperreault (license 252)
        diff2 uploaded by sperreault (license 252)
        get_domain.diff uploaded by sperreault (license 252)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-03 19:59:37 +00:00
dc0f39a760 Reverted r280706 and r280707. Will commit in branch 1.8 and merge to trunk properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-03 19:05:50 +00:00
b641ad14a4 Fixed IPv6-related SIP parsing bugs.
(closes issue #17663)
Reported by: oej
Patches:
      diff uploaded by sperreault (license 252)
      diff2 uploaded by sperreault (license 252)
      get_domain.diff uploaded by sperreault (license 252)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-03 16:52:01 +00:00
David Vossel
f507546498 if totag is not present for an ACK request, do not send an error response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-02 14:30:50 +00:00
David Vossel
5e2999324b Merged revisions 280552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r280552 | dvossel | 2010-07-29 15:43:47 -0500 (Thu, 29 Jul 2010) | 17 lines
  
  Merged revisions 280551 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r280551 | dvossel | 2010-07-29 15:42:29 -0500 (Thu, 29 Jul 2010) | 11 lines
    
    fixes wrong SRV query for TLS connection
    
    (closes issue #17612)
    Reported by: marcelloceschia
    Patches:
          chan-sip_srvQuery.patch uploaded by marcelloceschia (license 1079)
          chan-sip_Trunk_srvQuery.patch uploaded by st (license 907)
          chan-sip_asterisk18b1_srvQuery.patch uploaded by marcelloceschia (license 1079)
    Tested by: marcelloceschia, st, pabelanger
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 20:44:37 +00:00
David Vossel
91cfe9a93e respond with 481 when request requiring totag has no totag to match against
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 19:35:34 +00:00
Olle Johansson
8e4efe2164 Formatting changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-28 14:14:06 +00:00
Mark Michelson
eecac589ec Merged revisions 279887 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r279887 | mmichelson | 2010-07-27 13:54:07 -0500 (Tue, 27 Jul 2010) | 16 lines
  
  Fix parsing error in sip_sipredirect().
  
  The code was written in a way that did a bad job of
  parsing the port out of a URI. Specifically, it would
  do badly when dealing with an IPv6 address. In this
  particular scenario, there was no value from parsing
  the port out, so I just removed that logic. And while
  I was messing around in the function, I changed some
  variable names to be more descriptive.
  
  (closes issue #17661)
  Reported by: oej
  Patches: 
        17661.diff uploaded by mmichelson (license 60)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 18:55:06 +00:00
David Vossel
d61a4088f5 Merged revisions 279817 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r279817 | dvossel | 2010-07-27 11:09:15 -0500 (Tue, 27 Jul 2010) | 2 lines
  
  fix sip transaction match with authentication, fix confusing log message when using getaddrinfo
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 16:11:11 +00:00
Mark Michelson
805082efd4 Merged revisions 279785 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r279785 | mmichelson | 2010-07-27 10:15:22 -0500 (Tue, 27 Jul 2010) | 20 lines
  
  Merged revisions 279784 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r279784 | mmichelson | 2010-07-27 10:13:24 -0500 (Tue, 27 Jul 2010) | 14 lines
    
    Fix bad behavior of dynamic_exclude_static option in sip.conf.
    
    We were attempting to create a contactdeny rule based on the peer's
    IP address before the peer's IP address had been set. By moving the
    processing further down in the function, we can ensure stuff works
    as we expect for it to.
    
    (closes issue #17717)
    Reported by: mmichelson
    Patches: 
          17717.patch uploaded by mmichelson (license 60)
    Tested by: DennisD
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 15:16:45 +00:00
David Vossel
4a98994542 Merged revisions 279568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r279568 | dvossel | 2010-07-26 14:59:03 -0500 (Mon, 26 Jul 2010) | 21 lines
  
  transaction matching using top most Via header
  
  This patch modifies the way chan_sip.c does transaction to dialog
  matching.  Asterisk now stores information in the top most Via header
  of the initial incoming request and compares that against other Requests
  that have the same call-id.  This results in Asterisk being able to
  detect a forked call in which it has received multiple legs of the
  fork.  I completely stripped out the previous matching code and made
  the comparisons a little more explicit and easier to understand.  My
  comments in the code should offer all the details involving this patch.  
  
  This patch also fixes a bug with the usage of the OBJ-MULTIPLE flag to
  find multiple dialogs with the same call-id.  Since the callback
  function was returning (CMP_MATCH | CMP_STOP) only the first item
  found was being returned.  I fixed this by making a new callback
  function for finding multiple dialogs that only returns (CMP_MATCH)
  on a match allowing for multiple items to be returned.
  
  Review: https://reviewboard.asterisk.org/r/776/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-26 20:00:52 +00:00
Mark Michelson
d1ad460b3d SIP URI comparison fixes.
This initially was created to work around the issue of
using a string comparison instead of a binary comparison
for IP addresses. It evolved a bit when test cases were
created and it was discovered that comparison of URI
parameters was not working exactly as it should.

sip_uri_cmp() and its helpers have been moved to reqresp_parser.c
and a new test has been added.

(closes issue #17662)
Reported by: oej

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 16:33:52 +00:00
Russell Bryant
09206a7db8 ... just kidding. Enable SIP by default. :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 15:57:23 +00:00
Russell Bryant
98f0f3933f Disable SIP support by default for Asterisk 1.8.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 15:57:01 +00:00
Mark Michelson
57a92a6a7c Allow IPv6 addresses for UDPTL streams.
Review: https://reviewboard.asterisk.org/r/795



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 15:16:33 +00:00
David Vossel
3819ba7ac7 update sip subscription debug message to a warning message
If the Expire header of a SUBSCRIBE is less that our expiremin,
a log warning will be displayed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-22 14:56:26 +00:00
David Vossel
318798e932 send "423 Interval too small" Response to Subscribe with Expires less that min allowed
[RFC3265]3.1.6.1....
   The notifier MAY also check that the duration in the "Expires" header
   is not too small.  If and only if the expiration interval is greater
   than zero AND smaller than one hour AND less than a notifier-
   configured minimum, the notifier MAY return a "423 Interval too
   small" error which contains a "Min-Expires" header field.  The "Min-
   Expires" header field is described in SIP [1].




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 18:52:14 +00:00
Matthew Nicholson
43b486453b Properly set the port number for UDPTL media sessions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 15:51:24 +00:00
David Vossel
c26791d5f8 fixes sip CANCEL race condition
If Asterisk sends a 4xx error and the other side sends a CANCEl
before receiving the 4xx and responding with the ACK, Asterisk
will process the CANCEL and send a 487 Request Terminated as
a new final response to the INVITE.  Since we are issuing a new
final response to the INVITE, the old one must be pretend_acked
else it will keep retransmitting.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 21:41:21 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Mark Michelson
cb5892bb67 Fix port setting of external address in SIP.
There are two changes here:

1. Since the externip setting can now have a port attached
to it, calling it "externip" is misleading. The option is now
documented and parsed as "externaddr." This also extends to the
"matchexterniplocally" setting. It is now documented and parsed
as "matchexternaddrlocally." The old names for the options may
still be used, but they are no longer used in the sip.conf.sample
file.

2. If no port is set for the externaddr, and UDP is the transport
to be used, then we will set the port of the externaddr to that of
the udpbindaddr. This was how things worked prior to the IPv6 merge,
so this is a regression fix.

(closes issue #17665)
Reported by: mmichelson
Patches: 
      17665.diff#2 uploaded by pprindeville (license 347)
Tested by: pprindeville



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 17:16:23 +00:00
Mark Michelson
6fa79e8f77 Make ACLs IPv6-capable.
ACLs can now be configured to match IPv6 networks. This is only
relevant for ACLs in chan_sip for now since other channel drivers
do not support IPv6 addressing. However, once those channel drivers
are outfitted to support IPv6 addressing, the ACLs will already be
ready for IPv6 support.

https://reviewboard.asterisk.org/r/791



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 14:17:16 +00:00
Matthew Nicholson
5150954d4a Merged revisions 277497 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277497 | mnicholson | 2010-07-16 16:18:38 -0500 (Fri, 16 Jul 2010) | 4 lines
  
  Default to no udptl error correction so that error correction will be disabled in the event that the remote end indicates that they do not support the error correction mode we requested.
  
  FAX-128
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 21:24:45 +00:00
Olle Johansson
93373d7bdf Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 13:10:24 +00:00
Olle Johansson
cbe0a6dc02 Formatting changes (guideline corrections)
Found a unused bag of curly brackets under my table. I always wondered where 
they had gone. They where indeed needed in chan_sip.c


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 10:31:42 +00:00
Olle Johansson
e129b31fc6 Add ability to configure the Max-Forwards header in the dialplan, as well as in
sip.conf configuration for the channel and for devices.

The Max-Forwards header is used to prevent loops in a SIP network. Each intermediary,
like SIP proxys and SBCs, decrement this counter and detects when it reaches zero,
at which point the SIP request is nicely killed in a SIP-friendly way.

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

Thanks to dvossel for the review and good advice.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 10:00:58 +00:00
Mark Michelson
dfba265a0b Fix reversed logic of if statement.
Found based on message from Philip Prindeville on the
Asterisk Developers mailing list.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 05:42:24 +00:00
Jeff Peeler
44ae0033be Correct not setting the bindport before attempting to open the socket.
Related to changes from 276571, I was accidentally testing with a port set in
my configuration causing me to miss this. Also moved the TCP handling as well
to occur before build_peer is called.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-15 20:21:03 +00:00
Jeff Peeler
2b2a6123de Fix MWI notification transmission problems over SIP.
MWI updates were not being sent if no messages were found in the event cache.
This was corrected since a phone may need to clear its MWI status configured
previously from another mailbox.

Upon module or sip reload, MWI updates could not be sent due to the sipsock
socket not being set early enough in reload_config. The code handling the
descriptor assignment and such has simply been moved before the call to
build_peer.

Issuing a sip reload cleared the IP address of the peer, but skipped checking
the database for registration information. The database is now checked both
for sip reload and actually reloading the module.

If a transmission occurs before the do_monitor thread has started, do not
attempt to send a signal to it.

(closes issue #17398)
Reported by: ip-rob


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 22:58:24 +00:00
Mark Michelson
1e8c66e749 Fix errors where incorrect address information was printed.
ast_sockaddr_stringiy_fmt (which is call by all ast_sockaddr_stringify* functions)
uses thread-local storage for storing the string that it creates. In cases where
ast_sockaddr_stringify_fmt was being called twice within the same statement, the
result of one call would be overwritten by the result of the other call. This
usually was happening in printf-like statements and was resulting in the same
stringified addressed being printed twice instead of two separate addresses.

I have fixed this by using ast_strdupa on the result of stringify functions if
they are used twice within the same statement. As far as I could tell, there were
no instances where a pointer to the result of such a call were saved anywhere, so
this is the only situation I could see where this error could occur.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 22:32:29 +00:00
David Vossel
d1c9a4b366 handle special case were "200 Ok" to pending INVITE never receives ACK
Unlike most responses, the 200 Ok to a pending INVITE Request is
acknowledged by an ACK Request.  If the ACK Request for this Response is not received
the previous behavior was to immediately destroy the dialog and hangup
the channel. Now in an effort to be more RFC compliant, instead of immediately
destroying the dialog during this special case, termination is done with a BYE Request
as the dialog is technically confirmed when the 200 Ok is sent even if the ACK is
never received.  The behavior of immediately hanging up the channel remains.
This only affects how dialog termination proceeds for this one special case.

RFC 3261 section 13.3.1.4
"If the server retransmits the 2xx response for 64*T1 seconds without receiving
an ACK, the dialog is confirmed, but the session SHOULD be terminated.  This is
accomplished with a BYE, as described in Section 15."



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 19:51:08 +00:00
Richard Mudgett
cf7bbcc4c6 Expand the caller ANI field to an ast_party_id
Expand the ani field in ast_party_caller and ast_party_connected_line to
an ast_party_id.

This is an extension to the ast_callerid restructuring patch in review:
https://reviewboard.asterisk.org/r/702/

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:58:03 +00:00
David Vossel
e2599bc42c collapse debug code in retrans_pkt into separate lines
I've been working in this function a bunch lately, and
these huge debug strings are getting annoying.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:40:42 +00:00
Jeff Peeler
f4c665ee13 Do not skip sending MWI for a peer if an address is defined. Really just a merge mistake from IPv6
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:36:02 +00:00
Richard Mudgett
ec37ffbdaf ast_callerid restructuring
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.

Eliminate struct ast_callerid and replace it with the following struct
organization:

struct ast_party_name {
	char *str;
	int char_set;
	int presentation;
	unsigned char valid;
};
struct ast_party_number {
	char *str;
	int plan;
	int presentation;
	unsigned char valid;
};
struct ast_party_subaddress {
	char *str;
	int type;
	unsigned char odd_even_indicator;
	unsigned char valid;
};
struct ast_party_id {
	struct ast_party_name name;
	struct ast_party_number number;
	struct ast_party_subaddress subaddress;
	char *tag;
};
struct ast_party_dialed {
	struct {
		char *str;
		int plan;
	} number;
	struct ast_party_subaddress subaddress;
	int transit_network_select;
};
struct ast_party_caller {
	struct ast_party_id id;
	char *ani;
	int ani2;
};

The new organization adds some new information as well.

* The party name and number now have their own presentation value that can
be manipulated independently.  ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.

* The party name and number now have a valid flag.  Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.

* The party name now has a character set value.  SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.

* The dialed party now has a numbering plan value that could be useful to
have available.

The various channel drivers will need to be updated to support the new
core features as needed.  They have simply been converted to supply
current functionality at this time.


The following items of note were either corrected or enhanced:

* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.

* CALLERPRES() is now deprecated because the name and number have their
own presentation values.

* Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
contain garbage.  It also can only contain the caller id number so using
ast_callerid_parse() on it is silly.  There was also a typo in the
CALLERNAME if test.

* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string.  ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string.  Then using
ast_shrink_phone_number() could alter it even more.

* Fixed caller ID name and number memory leak in chan_usbradio.c.

* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.

* Protected access to a caller channel with lock in chan_sip.c.

* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk().  Also made save all caller ID data instead of just the name
and number strings.

* Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
function.

* Corrected some weirdness with app_privacy.c's use of caller
presentation.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00
David Vossel
23b6e621d2 chan_sip: RFC compliant retransmission timeout
Retransmission of packets should not be based on how many packets were
sent, but instead on a timeout period.  Depending on whether or not the
packet is for a INVITE or NON-INVITE transaction, the number of packets
sent during the retransmission timeout period will be different, so
timing out based on the number of packets sent is not accurate.

This patch fixes this by removing the retransmit limit and only stopping
retransmission after a timeout period is reached.  By default this
timeout period is 64*(Timer T1) for both INVITE and non-INVITE
transactions.  For more information on sip timer values refer to
RFC3261 Appendix A.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 22:18:38 +00:00
Terry Wilson
b42c6cab17 Revert early destruction of RTP sessions
Some code improperly assumes that the sessions are still there, so revert the
change until I can find all of them and fix them.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 21:42:42 +00:00
Terry Wilson
cb160a12b0 Destroy RTP fds when we schedule final dialog destruction
Since we are only keeping the dialog around for retransmissions at this point
and there is no possibility that we are still handling RTP, go ahead and
destroy the RTP sessions. Keeping them alive for 32 past when they are used
is unnecessary and can lead to problems with having too many open file
descriptors, etc.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 17:11:37 +00:00
Terry Wilson
6f8832735b Don't try to ref authpeer when it isn't set
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-12 23:27:42 +00:00
Mark Michelson
7b1e28c6a1 Fix error in parsing SIP registry strings from ASTdb.
It was essentially an off-by-one error. The easiest way
to fix this was to use the handy-dandy AST_NONSTANDARD_RAW_ARGS
macro to parse the pieces of the registration string out. Tested
and it works wonderfully.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 20:58:52 +00:00
Mark Michelson
e46325f18c Fix port parsing in check_via.
If a Via header contained an IPv6 address, we would not properly parse
the port. We would instead get the information after the first colon in
the address.

(closes issue #17614)
Reported by: oej
Patches: 
      diff uploaded by sperreault (license 252)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 19:46:20 +00:00
Mark Michelson
7e6f9b4e2d Fix an issue where the port for p->ourip was being set to 0.
This should fix all the CDR tests that were not passing. When they would
originate a call, all fields in the INVITE that contained the source port would
have the port set to 0. Most troubling of these was the Contact header. Tests
are passing locally now and should also pass on the bamboo build agents.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 19:29:30 +00:00
Paul Belanger
d2872c60e4 Merged revisions 275241 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r275241 | pabelanger | 2010-07-09 15:20:00 -0400 (Fri, 09 Jul 2010) | 8 lines
  
  Fix logging message for stale nonce.
  
  (closes issue #17582)
  Reported by: kenner
  Patches:
        chan_sip.c.diff uploaded by kenner (license 1040)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 19:21:27 +00:00
Tilghman Lesher
da8450323f Kill some startup warnings and errors and make some messages more helpful in tracking down the source.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 17:00:22 +00:00
Mark Michelson
5f92aed2ba Return logic of sip_debug_test_addr() to its original functionality.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 16:39:16 +00:00
53071af180 Copy the address into the peer structure after we set the default port
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 13:30:37 +00:00
Mark Michelson
cd4ebd336f Add IPv6 to Asterisk.
This adds a generic API for accommodating IPv6 and IPv4 addresses
within Asterisk. While many files have been updated to make use of the
API, chan_sip and the RTP code are the files which actually support
IPv6 addresses at the time of this commit. The way has been paved for
easier upgrading for other files in the near future, though.

Big thanks go to Simon Perrault, Marc Blanchet, and Jean-Philippe Dionne
for their hard work on this.

(closes issue #17565)
Reported by: russell
Patches: 
      asteriskv6-test-report.pdf uploaded by russell (license 2)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 22:08:07 +00:00
Eliel C. Sardanons
a1b89a6a50 Implement AstData API data providers as part of the GSOC 2010 project,
midterm evaluation.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 14:48:42 +00:00
David Vossel
21f8c77934 Fixes some ref count issues introduced by r274539
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-07 20:09:00 +00:00
Mark Michelson
d6f8dd67f7 Use the relatedpeer field of a sip_pvt during INVITE processing.
Review: https://reviewboard.asterisk.org/r/629



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-07 16:21:53 +00:00
Terry Wilson
745f4edbd5 Merged revisions 274280 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r274280 | twilson | 2010-07-06 17:08:20 -0500 (Tue, 06 Jul 2010) | 9 lines
  
  Add option to not do a call forward on 482 Loop Detected
  
  Asterisk has always set up a forwarded call when receiving a 482 Loop Detected.
  This prevents handling the call failure by just continuing on in the dialplan.
  Since this would be a change in behavior, the new option to disable this
  behavior is forwardloopdetected which defaults to 'yes'.
  
  Review: https://reviewboard.asterisk.org/r/764/
........

(no option for trunk, just changing the behavior)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-06 22:15:27 +00:00
Tzafrir Cohen
c613897d1c Fix various typos reported by Lintian
(Also fix the typos in the comments)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-02 15:57:02 +00:00
David Vossel
243d87038e correct handling of get_destination return values
A failure when calling the get_destination can mean multiple things.  If
the extension is not found, a 404 error is appropriate, but if the URI
scheme is incorrect, a 404 is not approperiate.  This patch adds the
get_destination_result enum to differentiate between these and other failure
types.  The only logical difference in this patch is that we now send a "416
Unsupported URI scheme" response instead of a "404" when the scheme is not
recognized.  This indicates to the initiator of the INVITE to retry the request
with a correct URI. 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-01 16:40:17 +00:00
Tilghman Lesher
62a3133df2 Merged revisions 273060 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r273060 | tilghman | 2010-06-29 18:15:28 -0500 (Tue, 29 Jun 2010) | 10 lines
  
  Allow the "useragent" value to be restored into memory from the realtime backend.
  
  This value is purely informational.  It does not alter configuration at all.
  
  (closes issue #16029)
   Reported by: Guggemand
   Patches: 
         realtime-useragent.patch uploaded by Guggemand (license 897)
   Tested by: Guggemand
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-29 23:20:40 +00:00
David Vossel
64ae2e1e2a send a 400 Bad Request on malformed sip request
RFC 2361 section 24.4.1 send a 400 Bad Request if the request
can not be understood due to malformed syntax.  Currently we
simply ignore a packet with a missing callid, to, from, or
via header.  Instead of ignoring we now send the 400 Bad request.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-29 20:44:05 +00:00
David Vossel
8a07dbf95d rfc compliant sip option parsing + new unit test
RFC 3261 section 8.2.2.3 states that if any unsupported options
are found in the Require header field, a "420 (Bad Extension)"
response should be sent with an Unsupported header field containing
only the unsupported options.

This is not currently being done correctly.  Right now, if Asterisk
detects any unsupported sip options in a Require header the entire
list of options are returned in the Unsupported header even if some
of those options are in fact supported.  This patch fixes that by
building an unsupported options character buffer when parsing the
options that can be sent with the 420 response.  A unit test verifying
this functionality has been created.  Some code refactoring was required.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272880 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-28 18:38:47 +00:00
Mark Michelson
dc877759cb Merged revisions 272804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r272804 | mmichelson | 2010-06-28 12:31:40 -0500 (Mon, 28 Jun 2010) | 5 lines
  
  Decode URI in contact header of 302 response.
  
  ABE-2352
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-28 17:33:12 +00:00
David Vossel
43871a926b code guidelines cleanup for retrans_pkt() function
I am doing work in this function.  I noticed a large number of
coding guidline fixes that needed to be made.  Rather than have
those changes distract from my functional changes I decided
to separate these into a separate patch.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-28 14:55:25 +00:00
David Vossel
aa428b8967 chan_sip: more accurate retransmissions
RFC3261 states that Timer A should start at 500ms (T1) by default.
In chan_sip this value initially started at 1000ms and I changed
it to 500ms recently. After doing that I noticed in my packet
captures that it still occasionally retransmitted starting at
1000ms instead of 500ms like I told it to.  This occurs because
the scheduler runs in the do_monitor thread.  If a new retransmission
is added while the do_monitor thread is sleeping then it may not
detect that retransmission for nearly 1000ms.  To fix this I just
poke the do_monitor thread to wake up when a new packet is sent
reliably requiring retransmits.  The thread then detects the new
scheduler entry and adjusts its sleep time to account for it.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-25 19:39:53 +00:00
Mark Michelson
2c798f321a Add extra protection for reinvite glare scenario.
Testing proved that if Asterisk sent a connected line reinvite, and
the endpoint to which the reinvite were being sent sent a reinvite, Asterisk
would not properly respond with a 491 response.

The reason is that on connected line reinvites, we set the dialog's invitestate
to INV_CALLING to prevent Asterisk from sending a rapid flurry of connected line
reinvites. For other reinvites we do not do this. Because of the current invitestate,
when Asterisk received the reinvite, we interpreted this as a spiraled INVITE, and thus
did not behave properly.

The fix for this is to not enter the loop detection or spiral logic in handle_request_invite
if the channel state is currently up. This way, no mid-call reinvites will be misinterpreted,
no matter what the nature of the reinvite may have been.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-23 17:08:34 +00:00
David Vossel
1509737580 ignore CANCEL request after having already received final response to INVITE
RFC 3261 section 9 states that a CANCEL has no effect on a
request to a UAS that has already given a final response.  This
patch checks to make sure there is a pending invite before
allowing a CANCEL request to be processed, otherwise it responds
to the CANCEL with a "481 Call/Transaction Does Not Exist".

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-22 20:37:05 +00:00
Matthew Nicholson
5f45ca4d50 Merged revisions 271902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r271902 | mnicholson | 2010-06-22 12:31:57 -0500 (Tue, 22 Jun 2010) | 8 lines
  
  Decrease the module ref count in sip_hangup when SIP_DEFER_BYE_ON_TRANSFER is set.  This is necessary to keep the ref count correct.
  
  (closes issue #16815)
  Reported by: rain
  Patches:
        chan_sip-unref-fix.diff uploaded by rain (license 327) (modified)
  Tested by: rain
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-22 17:35:17 +00:00
Matthew Nicholson
9bbeb945e8 Merged revisions 271689 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r271689 | mnicholson | 2010-06-22 07:52:27 -0500 (Tue, 22 Jun 2010) | 8 lines
  
  Modify chan_sip's packet generation api to automatically calculate the Content-Length.  This is done by storing packet content in a buffer until it is actually time to send the packet, at which time the size of the packet is calculated.  This change was made to ensure that the Content-Length is always correct.
  
  (closes issue #17326)
  Reported by: kenner
  Tested by: mnicholson, kenner
  
  Review: https://reviewboard.asterisk.org/r/693/
........


This change also adds an ast_str_copy_string() function (similar to ast_copy_string), that copies one ast_str into another, properly handling embedded nulls.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-22 12:58:28 +00:00
David Vossel
462da0585e fixes crash when From header URI is missing "sip:"
(closes issue #17437)
Reported by: klaus3000
Patches:
      sip_crash uploaded by dvossel (license 671)
Tested by: klaus3000



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-21 20:46:22 +00:00
David Vossel
a1fe641a38 retransmit response to BYE requests until timer J expires
According to RFC 3261 section 17.2.2, which describes non-INVITE server
transaction, when a dialog enters the Completed state it must destroy
the dialog after Timer J (T1*64) fires.  For a BYE transaction Asterisk
terminates the dialog immediately during sip_hangup() when it should be
waiting T1*64 ms.  This results in some odd behavior.  For instance if
Asterisk receives a BYE and transmits a 200ok in response, if the endpoint
never receives the 200ok it will retransmit the BYE to which Asterisk
responds with a "481 Call leg/transaction does not exist" because the
dialog is already gone.

To resolve this I made a function called sip_scheddestroy_final().  This
differs slightly from sip_schedestroy() in that it enables a flag that
will prevent the destruction from ever being rescheduled or canceled
afterwards.  It also prevents the pvt's needdestroy flag from being set
which triggers the destruction of the dialog within the do_monitor thread().
By using this function we are guaranteed destruction will not occur
until the scheduled time.  This allows Asterisk to respond to any possible
retransmits for a dialog after we process the initial BYE request for T1*64 ms.

Other changes: I removed two instances where sip_cancel_destroy is used
right before calling sip_scheddestroy.  sip_scheddestroy always calls
sip_cancel_destroy before scheduling the new destruction so it is completely
unnecessary.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-17 18:45:32 +00:00
David Vossel
fcb055fb4e addition of G.719 pass-through support
(closes issue #16293)
Reported by: malcolmd
Patches:
      g719.passthrough.patch.7 uploaded by malcolmd (license 924)
      format_g719.c uploaded by malcolmd (license 924)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-16 19:03:24 +00:00
Terry Wilson
480f412858 Make contactdeny apply to src ip when nat=yes
chan_sip's "contactdeny" feature screens the "to be registered contact".
In case of nat=yes it should not use the address information from the
Contact header (which is not used at all for routing), but the source
IP address of the request.

Thus, if nat=yes and a client sends a request from a denied IP address
(e.g. by spoofing the src-IP address) it can bypass the screening.

This commit makes contactdeny apply to the src ip when nat=yes instead.

(closes issue #17276)
Reported by: klaus3000
Patches: 
      patch-asterisk-trunk-contactdeny.txt uploaded by klaus3000 (license 65)
Tested by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-15 20:18:04 +00:00
Leif Madsen
c672763af8 Fix some doxygen warnings.
(closes issue #17336)
Reported by: snuffy
Patches:
      doxygen-fixes1.diff uploaded by snuffy (license 35)
Tested by: russell

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-08 14:38:18 +00:00
Terry Wilson
857814f435 Add SRTP support for Asterisk
After 5 years in mantis and over a year on reviewboard, SRTP support is finally
being comitted. This includes generic CHANNEL dialplan functions that work for
getting the status of whether a call has secure media or signaling as defined
by the underlying channel technology and for setting whether or not a new
channel being bridged to a calling channel should have secure signaling or
media. See doc/tex/secure-calls.tex for examples.

Original patch by mikma, updated for trunk and revised by me.

(closes issue #5413)
Reported by: mikma
Tested by: twilson, notthematrix, hemanshurpatel

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-08 05:29:08 +00:00
Tilghman Lesher
bfdb973191 Use the mailbox destructor function, instead.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-07 22:56:53 +00:00
Tilghman Lesher
8b790e4f06 Mailbox list would previously grow at each reload, containing duplicates.
Also, optimize the allocation of mailboxes to avoid additional memory structures.

(closes issue #16320)
 Reported by: Marquis
 Patches: 
       20100525__issue16320.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-07 22:47:13 +00:00
Tilghman Lesher
17bd11b8aa Seems strange (and the code backs up) that if the max and min of a statistic is expressed as a double, the last value would not also need to be a double.
(closes issue #15807)
 Reported by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-07 19:52:39 +00:00
David Vossel
e32d9a1303 fixes compile error from uninitialized variable
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-04 22:37:13 +00:00
David Vossel
19d1cd04ba RFC3261 compliant sip unreliable retransmit timing + 'registerattempts' option tweak
Changes.
1. RFC 3261 states in section 17.1.2.2 and 17.1.1.2 that retransmission
timers should initially be set to timer T1.   T1 by default is 500ms.
Asterisk was starting the retransmission timers at T1*2 which shouldn't
cause any problems, but is not RFC compliant.

2. RFC 3261 states in section 17.1.2.2 that for a non-INVITE client transaction,
if the retransmit timer fires while in the proceeding state that
the request must be retransmitted.  Asterisk currently ack's
requests for both INVITE and non-INVITE transactions when a
1XX response is received, this patch changes this for non-INVITE requests.

3. The 'registerattempts' option in sip.conf is supposed to set
how many registry attempts will be made before giving up.  When
this option is set to 1, I would expect only one registry attempt
to be made before stopping because of a failure, but instead two are
made.  In my opinion this is not expected behavior.  This option does
not indicate that these are re-attempts.  The logic behind this option
has been changed to only attempt registers the exact number of times
this option is set to.  If this option is 0, it still continues to
re-attempt the registration forever.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-04 21:55:14 +00:00
Terry Wilson
f06302755a Send an ACK for every final response received for an INVITE
From issue ABE-2247. RFC 3261 compliance for sections 13.2.24 and 17.1.1.2.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-04 03:11:31 +00:00
Mark Michelson
b8d39db94d Prevent use of uninitialized values.
Two struct sockaddr_ins are created when applying directmedia
host access rules. The addresses of these are passed to the RTP
engine to be filled in. However, the RTP engine inspects the fields
of the structs before actually taking action. This inspection caused
valgrind to be a bit unhappy.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 18:13:18 +00:00
Richard Mudgett
afd4454c44 Generic Advice of Charge.
Asterisk Generic AOC Representation
- Generic AOC encode/decode routines.
  (Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame)
- AST_CONTROL_AOC frame type to represent generic encoded AOC data
- Manager events for AOC-S, AOC-D, and AOC-E messages

Asterisk App Support
- app_dial AOC-S pass-through support on call setup
- app_queue AOC-S pass-through support on call setup

AOC Unit Tests
- AOC Unit Tests for encode/decode routines
- AOC Unit Test for manager event representation.

SIP AOC Support
- Pass-through of generic AOC-D and AOC-E messages to snom phones via the
  snom AOC specification.
- Creation of chan_sip page3 flags for the addition of the new
  'snom_aoc_enabled' sip.conf option.

IAX AOC Support
- Natively supports AOC pass-through through the use of the new
  AST_CONTROL_AOC frame type

DAHDI AOC Support
- ETSI PRI full AOC Pass-through support
- 'aoc_enable' chan_dahdi.conf option for independently enabling
  pass-through of AOC-S, AOC-D, AOC-E.
- 'aoce_delayhangup' option for retrieving AOC-E on disconnect.
- DAHDI A() dial string option for requesting AOC services.
  example usage:
  ;requests AOC-S, AOC-D, and AOC-E on call setup
  exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e))

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 18:10:15 +00:00
David Vossel
185f73d8b1 fixes crash when creation of UDPTL fails
(closes issue #17264)
Reported by: falves11
Patches:
      issue_17264_reviewboard_fix.diff uploaded by dvossel (license 671)
      issue_17264_1.6.2_reviewboard_fix.diff uploaded by dvossel (license 671)
Tested by: falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 17:55:38 +00:00
David Vossel
77a96c5a93 do all sip registry parsing before transmit_register
This patch breaks up every part of the sip registry string during
config parsing and removes all parsing from transmit_register().
Thanks to Nick_Lewis for contributing this patch!

(closes issue #14331)
Reported by: Nick_Lewis
Patches:
      chan_sip.c-domparse.patch uploaded by Nick Lewis (license 657)
      chan_sip.c.patch uploaded by Nick Lewis (license 657)
      chan_sip.c.domainparse3.patch uploaded by Nick Lewis (license 657)
      chan_sip.c-domparse4.patch uploaded by Nick Lewis (license 657)
      chan_sip.c-domparse5.patch uploaded by Nick Lewis (license 657)
      nicklewispatch.diff uploaded by dvossel (license 671)
Tested by: Nick_Lewis, dvossel

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 19:46:49 +00:00
David Vossel
07500098c1 fixes failed SIP Directed pickup resulting in dead channel
(closes issue #17339)
Reported by: one47
Patches:
      sip_magic_pickup2 uploaded by one47 (license 23)
Tested by: one47, dvossel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 18:32:51 +00:00
Mark Michelson
822423adb8 .......
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 14:45:47 +00:00
Mark Michelson
83ca84d9bd Re-enable "always" option for videosupport option in sip.conf.
(closes issue #17016)
Reported by: twilson
Patches:
      17016.patch uploaded by mmichelson (license 60)
	  Tested by: devmod



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 14:41:55 +00:00
Mark Michelson
01db62bdbe Properly use peer's outboundproxy for outbound REGISTERs.
The logic used in transmit_register to get the outboundproxy for a peer
was flawed since this value would be overridden shortly afterwards when
create_addr was called.

In addition, this also fixes some logic used when parsing users.conf so
that the peer name is placed in the internally-generated register string
so that an outboundproxy set in the Asterisk GUI will be used for outbound
REGISTERs.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 20:59:04 +00:00
Mark Michelson
f908dd984c Allow type=user SIP endpoints to be loaded properly from realtime.
(closes issue #16021)
Reported by: Guggemand
Patches:
      realtime-type-fix.patch uploaded by Guggemand (license 897)
	  (altered by me slightly to avoid ref leaks)
Tested by: Guggemand




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 21:44:30 +00:00
David Vossel
94de6f3cb8 reverses incorrect logic introduced by r243200
The decoding of the replace_id did not need to be broken
up in this instance.  This was brought to my attention
again because it caused a segfault when the from or to
tags were not present in the "Replaces" header.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 19:42:54 +00:00
Mark Michelson
ee60cb8d41 Be sure to set the sin_family on the proxy when allocating.
(closes issue #17157)
Reported by: stuarth




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21 20:38:14 +00:00
Terry Wilson
fe9c315171 Take dup'd code for directmedia ACLs and make utility func
The same code was repeated in lots of different places, so I made a utility
fuction for it. This should make the merge in the v6-new branch easier.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21 01:00:44 +00:00
Terry Wilson
c7303d840e Add support for direct media ACLs
directmediapermit/directmediadeny support to restrict which peers can do
directmedia based on ip address. In some networks not all phones are fully
routed, i.e. not all phones can ping each other. This patch adds a way to
restrict directmedia for certain peers between certain networks.

(closes issue #16645)
Reported by: raarts
Patches: 
      directmediapermit.patch uploaded by raarts (license 937)
Tested by: raarts

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-20 17:54:02 +00:00
Mark Michelson
6bb45831eb Fix transcode_via_sln option with SIP calls and improve PLC usage.
From reviewboard:
The problem here is a bit complex, so try to bear with me...

It was noticed by a Digium customer that generic PLC (as configured in
codecs.conf) did not appear to actually be having any sort of benefit when
packet loss was introduced on an RTP stream. I reproduced this issue myself
by streaming a file across an RTP stream and dropping approx. 5% of the
RTP packets. I saw no real difference between when PLC was enabled or disabled
when using wireshark to analyze the RTP streams.

After analyzing what was going on, it became clear that one of the problems
faced was that when running my tests, the translation paths were being set
up in such a way that PLC could not possibly work as expected. To illustrate,
if packets are lost on channel A's read stream, then we expect that PLC will
be applied to channel B's write stream. The problem is that generic PLC can
only be done when there is a translation path that moves from some codec to
SLINEAR. When I would run my tests, I found that every single time, read
and write translation paths would be set up on channel A instead of channel
B. There appeared to be no real way to predict which channel the translation
paths would be set up on.

This is where Kevin swooped in to let me know about the transcode_via_sln
option in asterisk.conf. It is supposed to work by placing a read translation
path on both channels from the channel's rawreadformat to SLINEAR. It also
will place a write translation path on both channels from SLINEAR to the
channel's rawwriteformat. Using this option allows one to predictably set up
translation paths on all channels. There are two problems with this, though.
First and foremost, the transcode_via_sln option did not appear to be working
properly when I was placing a SIP call between two endpoints which did not
share any common formats. Second, even if this option were to work, for PLC
to be applied, there had to be a write translation path that would go from
some format to SLINEAR. It would not work properly if the starting format
of translation was SLINEAR.

The one-line change presented in this review request in chan_sip.c fixed the
first issue for me. The problem was that in sip_request_call, the
jointcapability of the outbound channel was being set to the format passed to
sip_request_call. This is nativeformats of the inbound channel. Because of this,
when ast_channel_make_compatible was called by app_dial, both channels already
had compatibly read and write formats. Thus, no translation path was set up at
the time. My change is to set the jointcapability of the sip_pvt created during
sip_request_call to the intersection of the inbound channel's nativeformats and
the configured peer capability that we determined during the earlier call to
create_addr. Doing this got the translation paths set up as expected when using
transcode_via_sln.

The changes presented in channel.c fixed the second issue for me. First and
foremost, when Asterisk is started, we'll read codecs.conf to see the value of
the genericplc option. If this option is set, and ast_write is called for a
frame with no data, then we will attempt to fill in the missing samples for
the frame. The implementation uses a channel datastore for maintaining the
PLC state and for creating a buffer to store PLC samples in. Even when we
receive a frame with data, we'll call plc_rx so that the PLC state will have
knowledge of the previous voice frame, which it can use as a basis for when
it comes time to actually do a PLC fill-in.

So, reviewers, now I ask for your help. First off, there's the one line change
in chan_sip that I have put in. Is it right? By my logic it seems correct, but
I'm sure someone can tell me why it is not going to work. This is probably the
change I'm least concerned about, though. What concerns me much more is the
set of changes in channel.c. First off, am I even doing it right? When I run
tests, I can clearly see that when PLC is activated, I see a significant increase
in RTP traffic where I would expect it to be. However, in my humble opinion, the
audio sounds kind of crappy whenever the PLC fill-in is done. It sounds worse to
me than when no PLC is used at all. I need someone to review the logic I have used
to be sure that I'm not misusing anything. As far as I can see my pointer arithmetic
is correct, and my use of AST_FRIENDLY_OFFSET should be correct as well, but I'm
sure someone can point out somewhere where I've done something incorrectly.

As I was writing this review request up, I decided to give the code a test run under
valgrind, and I find that for some reason, calls to plc_rx are causing some invalid
reads. Apparently I'm reading past the end of a buffer somehow. I'll have to dig around
a bit to see why that is the case. If it's obvious to someone reviewing, speak up!

Finally, I have one other proposal that is not reflected in my code review. Since
without transcode_via_sln set, one cannot predict or control where a translation
path will be up, it seems to me that the current practice of using PLC only when
transcoding to SLINEAR is not useful. I recommend that once it has been determined
that the method used in this code review is correct and works as expected, then
the code in translate.c that invokes PLC should be removed.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-19 21:29:08 +00:00
David Vossel
0407208b6d fixes crash in check_rtp_timeout
During deadlock avoidance the sip dialog pvt is locked and
unlocked.  When this occurs we have no guarantee the pvt's owner
is still valid.  We were trying to access the pvt's owner after
this without checking to see if it still existed first. 

(closes issue #17271)
Reported by: under
Patches:
      check_rtp_timeout.diff uploaded by under (license 914)
Tested by: dvossel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-19 19:21:04 +00:00
Mark Michelson
7814913d86 Be sure to heap-allocate the redirecting to tag so as not to cause crashiness.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-18 21:09:41 +00:00
Mark Michelson
2b2439dede Fix memory leaks in redirecting structures in chan_sip.c
Thanks to Richard for pointing this out.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-18 20:09:24 +00:00
Mark Michelson
b5d5cc565f Enhancements to connected line and redirecting work.
From reviewboard:

Digium has a commercial customer who has made extensive use of the connected party and
redirecting information present in later versions of Asterisk Business Edition and which
is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions
have come about. This patch adds several enhancements to maximize usage of the connected party
and redirecting information functionality.

First, Asterisk trunk already had connected line interception macros. These macros allow you to
manipulate connected line information before it was sent out to its target. This patch adds the
same feature except for redirecting information instead.

Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This
tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI,
mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is
that it can be set to whatever value the administrator likes. Later, when running connected line
and redirecting macros, the admin can read the tag off the appropriate structure to determine what
action to take. You can think of this sort of like a channel variable, except that instead of having
the variable associated with a channel, the variable is associated with a specific identity within
Asterisk.

Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific
caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force
a specific calling presentation value on the outgoing channel.

Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added
to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party
being transferred would not have the opportunity to run a connected line interception macro to
possibly alter the transfer target's connected line information. The issue here was that during a
blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line
update. The way this was corrected was to add this new control frame subclass. Now, we queue an
AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should
be run. When ast_read is called to read the frame, ast_read responds by calling a callback function
associated with the specific read action the control frame describes. In this case, the action taken
is to run the connected line interception macro on the transferee's channel.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-17 15:36:31 +00:00
Paul Belanger
4b1d9f85a7 Convert to AST_CLI_YESNO and AST_CLI_ONOFF
Clean up chan_sip.c to use new AST_CLI functions

(closes issue #17287)
Reported by: pabelanger
Patches:
      issue17287.patch uploaded by pabelanger (license 224)
Tested by: russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@262613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-12 01:00:55 +00:00
Paul Belanger
9c012b460f Improve logging information for misconfigured contexts
(closes issue #17238)
Reported by: pprindeville
Patches:
      chan_sip-bug17238.patch uploaded by pprindeville (license 347)
Tested by: pprindeville


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@262414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-11 19:26:17 +00:00
David Vossel
f16625b7a0 fixes sip native transfer
The Refer-To header field containing the Replaces header in the URI
was not being decoded properly.  This caused invalid parsing between
the caller id field and the domain resulting in a failed transfer.

(closes issue #17284)
Reported by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-05 19:13:57 +00:00
Paul Belanger
35eeb71ead Merged revisions 261274 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r261274 | pabelanger | 2010-05-05 12:42:22 -0400 (Wed, 05 May 2010) | 12 lines
  
  Registration fix for SIP realtime.
  
  Make sure realtime fields are not empty.
  
  (closes issue #17266)
  Reported by: Nick_Lewis
  Patches:
        chan_sip.c-realtime.patch uploaded by Nick Lewis (license 657)
  Tested by: Nick_Lewis, sberney
  
  Review: https://reviewboard.asterisk.org/r/643/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-05 18:43:03 +00:00
Mark Michelson
9e1b6c7236 Don't override peer context with domain context.
(closes issue #17040)
Reported by: pprindeville
Patches:
      asterisk-1.6-bugid17040.patch uploaded by pprindeville (license 347)
Tested by: pprindeville

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@259957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-28 22:34:15 +00:00
Leif Madsen
1b62cf14e4 Small error in the T.140 RTP port verbose log.
(closes issue #16988)
Reported by: frawd
Patches: 
      chan_sip_sdp_verbose_fix.diff uploaded by frawd (license 610)
Tested by: russell

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258934 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-26 15:59:34 +00:00
David Vossel
f2b8561a5a fixes issue with double "sip:" in header field
This is a clear mistake in logic.  Future discussions
about how to avoid having to handle uri's like this
should take place in the future, but this fix needs
to go in for now.

(closes issue #15847)
Reported by: ebroad
Patches:
      doublesip.patch uploaded by ebroad (license 878)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-21 18:13:36 +00:00
Mark Michelson
ba81ee6d28 Make sure to fail a monitor if we receive a negative response for a CC SUBSCRIBE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@257646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-16 19:50:43 +00:00
Tilghman Lesher
84d0b95def Merged revisions 257467 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r257467 | tilghman | 2010-04-15 15:24:50 -0500 (Thu, 15 Apr 2010) | 13 lines
  
  Don't recreate peer, when responding to a repeated deregistration attempt.
  
  When a reply to a deregistration is lost in transmit, the client retries the
  deregistration.  Previously, this would cause a realtime/autocreate peer to be
  loaded back into memory, after it had already been correctly purged.  Instead,
  we just want to resend the reply without loading the peer.
  
  (closes issue #16908)
   Reported by: kkm
   Patches: 
         20100412__issue16908.diff.txt uploaded by tilghman (license 14)
   Tested by: kkm
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@257493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-15 20:30:15 +00:00
Tilghman Lesher
e148ffc00f Also unref the pvt when we delete the provisional keepalive job.
(closes issue #16774)
 Reported by: kowalma
 Patches: 
       20100315__issue16774.diff.txt uploaded by tilghman (license 14)
 Tested by: falves11, jamicque

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@257191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-13 19:17:48 +00:00
David Vossel
bd53cbabcf gives channel reference before unlocking it and using setvar helper.
To guarantee the channel is valid when calling setvar on the MASTER_CHANNEL
dialplan function, a channel reference must be taken before unlocking. Thanks
to russell for pointing out the error.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-12 14:47:16 +00:00
Mark Michelson
9afa6af881 Remove status_response callbacks where they are not needed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-09 22:20:22 +00:00
Mark Michelson
ae7b76a1b9 Fix some compiler errors that popped up after the CCSS merge.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-09 15:56:55 +00:00
Mark Michelson
e24661fd18 Merge Call completion support into trunk.
From Reviewboard:
CCSS stands for Call Completion Supplementary Services. An admittedly out-of-date
overview of the architecture can be found in the file doc/CCSS_architecture.pdf
in the CCSS branch. Off the top of my head, the big differences between what is
implemented and what is in the document are as follows:

1. We did not end up modifying the Hangup application at all.
2. The document states that a single call completion monitor may be used across
   multiple calls to the same device. This proved to not be such a good idea
   when implementing protocol-specific monitors, and so we ended up using one
   monitor per-device per-call.
3. There are some configuration options which were conceived after the document
   was written. These are documented in the ccss.conf.sample that is on this
   review request.
		      
For some basic understanding of terminology used throughout this code, see the
ccss.tex document that is on this review.

This implements CCBS and CCNR in several flavors.

First up is a "generic" implementation, which can work over any channel technology
provided that the channel technology can accurately report device state. Call
completion is requested using the dialplan application CallCompletionRequest and can
be canceled using CallCompletionCancel. Device state subscriptions are used in order
to monitor the state of called parties.

Next, there is a SIP-specific implementation of call completion. This method uses the
methods outlined in draft-ietf-bliss-call-completion-06 to implement call completion
using SIP signaling. There are a few things to note here:

* The agent/monitor terminology used throughout Asterisk sometimes is the reverse of
  what is defined in the referenced draft.

* Implementation of the draft required support for SIP PUBLISH. I attempted to write
  this in a generic-enough fashion such that if someone were to want to write PUBLISH
  support for other event packages, such as dialog-state or presence, most of the effort
  would be in writing callbacks specific to the event package.

* A subportion of supporting PUBLISH reception was that we had to implement a PIDF
  parser. The PIDF support added is a bit minimal. I first wrote a validation
  routine to ensure that the PIDF document is formatted properly. The rest of the
  PIDF reading is done in-line in the call-completion-specific PUBLISH-handling
  code. In other words, while there is PIDF support here, it is not in any state
  where it could easily be applied to other event packages as is.

Finally, there are a variety of ISDN-related call completion protocols supported. These
were written by Richard Mudgett, and as such I can't really say much about their
implementation. There are notes in the CHANGES file that indicate the ISDN protocols
over which call completion is supported.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-09 15:31:32 +00:00
Mark Michelson
6cad0f1602 func_srv and explicit specification of a remote IP for SIP.
From Review Board:
There are two interrelated changes here.

First, there is the introduction of func_srv. This adds two new read-only
dialplan functions, SRVQUERY and SRVRESULT. They work very similarly to the
ENUMQUERY and ENUMRESULT functions, except that this allows one to query SRV
records instead. In order to facilitate this work, I added a couple of new API
calls to srv.h. ast_srv_get_record_count tells the number of records returned
by an SRV lookup. This number is calculated at the time of the SRV lookup.
ast_srv_get_nth_record allows one to get a numbered SRV record.

Second, there is the modification to chan_sip that allows one to specify a
hostname or IP address (along with a port) to send an outgoing INVITE to when
dialing a SIP peer. This goes hand-in-hand with func_srv. You can query SRV
records and then use the host and port from the results to dial via a specific
host instead of what is configured in sip.conf.

Review: https://reviewboard.asterisk.org/r/608
SWP-1200



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-09 14:37:50 +00:00
David Vossel
d3f44c979c fixes deadlock in chan_sip caused by usage of MASTER_CHANNEL dialplan function
(closes issue #16767)
Reported by: lmsteffan
Patches:
      deadlock_16767v3.diff uploaded by dvossel (license 671)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-06 14:42:10 +00:00
Richard Mudgett
a5a0a5f867 Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number.
SWP-1229
ABE-2161

* Ensure chan_local.c:local_call() will not leak cid.cid_dnid when
copying.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-03 02:12:33 +00:00
Mark Michelson
284ac3a4d9 Fix improper comaparison of anonymous URI when getting P-Asserted-Identity.
There was a bug where we split the URI on the @ sign and then attempted
to compare to "anonymous@anonymous.invalid" afterwards. This comparison
could never evaluate true. So now we keep a copy of the URI prior to the
split so that the comparison is valid.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-31 22:35:20 +00:00
Kevin P. Fleming
42577406fd Improve handling of T.38 re-INVITEs that arrive before a T.38-capable
application is executing on a channel.

This patch addresses an issue found during working with end-users
using res_fax. If an incoming call is answered in the dialplan, or
jumps to the 'fax' extension due to reception of a CNG tone (with
faxdetect enabled), and then the remote endpoint sends a T.38
re-INVITE, it is possible for the channel's T.38 state to be
'T38_STATE_NEGOTIATING' when the application starts up. Unfortunately,
even if the application wants to use T.38, it can't respond to the
peer's negotiation request, because the AST_CONTROL_T38_PARAMETERS
control frame that chan_sip sent originally has been lost, and the
application needs the content of that frame to be able to formulate a
reply.

This patch adds a new 'request' type to AST_CONTROL_T38_PARAMETERS,
AST_T38_REQUEST_PARMS. If the application sends this request, chan_sip
will re-send the original control frame (with
AST_T38_REQUEST_NEGOTIATE as the request type), and the application
can respond as normal. If this occurs within the five second timeout
in chan_sip, the automatic cancellation of the peer reinvite will be
stopped, and the application will 'own' the negotiation process from
that point onwards.

This also improves the code path in chan_sip to allow sip_indicate(),
when called for AST_CONTROL_T38_PARAMETERS, to be able to return a
non-zero response, which should have been in place before since the
control frame *can* fail to be processed properly. It also modifies
ast_indicate() to return whatever result the channel driver returned
for this control frame, rather than converting all non-zero results
into '-1'. Finally, the new request type intentionally returns a
positive value, so that an application that sends
AST_T38_REQUEST_PARMS can know for certain whether the channel driver
accepted it and will be replying with a control frame of its own, or
whether it was ignored (if the sip_indicate()/ast_indicate() path had
properly supported failure responses before, this would not be
necessary).

This patch also modifies res_fax to take advantage of the new request.

In addition, this patch makes sip_t38_abort() actually lock the
private structure before doing its work... bad programmer, no donut.

This patch also enhances chan_sip's 'faxdetect' support to allow
triggering on T.38 re-INVITEs received as well as CNG tone detection.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@254450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 15:27:31 +00:00
Russell Bryant
ce4086bbdc Tell the RTP engine API about the initial read and write format.
Peer reviewed out-of-band by file.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@252627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-15 22:14:18 +00:00
Tilghman Lesher
7d963333e2 THIS IS NOT PYTHON. Indentation doesn't matter, only braces do.
(closes issue #17025)
 Reported by: smurfix
 Patches: 
       sip.patch uploaded by smurfix (license 547)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@252442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-15 04:25:35 +00:00
Terry Wilson
68d1ded8dd Only change the RTP ssrc when we see that it has changed
This change basically reverts the change reviewed in
https://reviewboard.asterisk.org/r/374/ and instead limits the
updating of the RTP synchronization source to only those times when we
detect that the other side of the conversation has changed the ssrc.

The problem is that SRCUPDATE control frames are sent many times where
we don't want a new ssrc, including whenever Asterisk has to send DTMF
in a normal bridge. This is also not the first time that this mistake
has been made. The initial implementation of the ast_rtp_new_source
function also changed the ssrc--and then it was removed because of
this same issue. Then, we put it back in again to fix a different
issue. This patch attempts to only change the ssrc when we see that
the other side of the conversation has changed the ssrc.

It also renames some functions to make their purpose more clear.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@252089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-12 22:04:51 +00:00
Russell Bryant
0c45fc4eda Fix a crash in SIP blind transfer handling found by an automated external test.
The first real test added to the external test suite found a pretty nasty crash
that occurred in Asterisk trunk.  The crash was due to a race condition between
the REFER handling and channel destruction in the channel thread.  After the
transfer has been completed, we go back to the transferrer channel and try to
lock it so we can fire off a CEL event.  However, there was no guarantee that
the channel was still around at that point since it's racing against the channel
thread.

Since ast_channel is a reference counted object, the fix is simple.  The code
unlocks the transferrer channel before finally completing the transfer with
an async goto.  At this point the channel thread is going to start call tear
down and the channel will eventually be destroyed.  To ensure that the channel
is valid when we want to fire off the CEL event, increase the channel's
reference count.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-06 14:16:20 +00:00
Russell Bryant
7f8e8d01de Fix up some of chan_sip's usage of the RTP engine API.
The get_local_address() function for an RTP instance was used when building an
SDP, but the results were not honored.  The RTP engine activate() function was
not being used once we have determined that media will now flow.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-05 05:03:41 +00:00
David Vossel
ba1a8d3ff0 fixes signed to unsigned int comparision issue for FaxMaxDatagram value.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03 00:18:28 +00:00
David Vossel
862ebf4d00 fixes adaptive jitterbuffer configuration
When configuring the adaptive jitterbuffer, the target_extra
value not only could not be set from the configuration, but was
not even being set to its proper default.  This value is required
in order for the adaptive jitterbuffer to work correctly.  To resolve
this a config option has been added to expose this value to the conf
files, and a default value is provided when no config specific value
is present.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-02 19:08:38 +00:00
Mark Michelson
86f0690571 Merged revisions 249100 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r249100 | mmichelson | 2010-02-26 11:04:29 -0600 (Fri, 26 Feb 2010) | 8 lines
  
  For T.38 reINVITEs treat a 606 the same as a 488.
  
  (closes issue #16792)
  Reported by: vrban
  Patches:
        t38_606.patch uploaded by vrban (license 756)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-26 17:04:58 +00:00
David Vossel
6568b06d29 Merged revisions 248396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r248396 | dvossel | 2010-02-23 10:26:05 -0600 (Tue, 23 Feb 2010) | 9 lines
  
  fixes invite with replaces deadlock
  
  (closes issue #16862)
  Reported by: pwalker
  Patches:
        replaces_deadlock_1.4 uploaded by dvossel (license 671)
  Tested by: pwalker, dvossel
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@248397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-23 16:34:39 +00:00
Mark Michelson
3a422d7796 Move the REF_DEBUG comment higher in the include list.
Uncommenting the REF_DEBUG definition where it was in the source
resulted in only a small part of the astobj2 references being logged
to a file. Moving this up higher in the include list causes all references
to be logged as they should be.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@248347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-22 20:19:00 +00:00
David Vossel
fc0cb53aa5 handle_request_invite revise comment, fix coding guideline issues
I'm working with this code right now trying to analyze a deadlock.
This change is just to clean up a few things before I make a more
complex patch.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@247915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-19 17:40:26 +00:00
Tilghman Lesher
6fb7e0ece7 If the peer record is from realtime, it could be set to 0, due to MySQL not representing NULL well in integer columns.
NULL means the value is not specified for the column, which normally means
the driver uses whatever is the default value.  However, on MySQL, placing
a NULL in either a float or integer column results in a retrieval of the 0
value.  Hence, users get an errant error on load.  This patch suppresses
that error and makes the value as if it was not there.

Note that this cannot be done in the realtime driver, because the lack of
difference between NULL and 0 can only be intepreted correctly by the
driver itself.  If we did it in the realtime driver, then it would be
effectively impossible to set any realtime field to 0, because it would act
as if the field were unspecified and possibly take on a different value.

(closes issue #16683)
 Reported by: wdoekes


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@247787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-18 21:42:53 +00:00
Tilghman Lesher
e7a5fb5459 Make all of the various rtpqos parameters in this branch available from the CHANNEL function.
Also includes a test for retrieving rtpqos parameters, including a NULL RTP
driver.  Additionally, some further separation of the SIP internal API into
headers was necessary.

(closes issue #16652)
 Reported by: kkm
 Patches: 
       20100204__issue16652.diff.txt uploaded by tilghman (license 14)
 
Review: https://reviewboard.asterisk.org/r/501/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@247124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-17 06:25:15 +00:00
Tilghman Lesher
b26b519159 Allow Timer B to be set on the peer, and ensure SIP rules are followed (or warn) in comparison to Timer T1.
(closes issue #16643)
 Reported by: nahuelgreco
 Patches: 
       20100204__issue16643.diff.txt uploaded by tilghman (license 14)
 Tested by: oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@246724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-16 00:19:38 +00:00
David Vossel
2003243947 chan_sip parse code refactoring plus two new unit tests
Code Refactoring Changes
- read_to_parts() moved to reqresp_parser.c and has been renamed as
  get_name_and_number()
- get_in_brackets() moved to reqresp_parser.c
- find_closing_quotes() added to sip_utils.h
Logic Changes
- get_name_and_number() now uses parse_uri() and get_calleridname()
  for parsing. Before this change only names within quotes were
  found, when names not within quotes are possible.
New Unit Tests
-sip_get_name_and_number_test
-sip_get_in_brackets_test

(closes issue #16707)
Reported by: Nick_Lewis
Patches:
      issue16706.diff uploaded by dvossel (license 671)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@246627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-15 15:45:02 +00:00
David Vossel
72dcd51cc8 fixes areas where port should be removed from domain during parsing
A patch was committed recently that converted duplicate uri parsing
code to use the parse_uri function.  There were two instances where
this conversion did not mimic previous behavior exactly because the
port was not being parsed off the end of the domain. In order to do
this, a dummy pointer argument needs to be passed into parse_uri so
it will know it must parse out the port from the domain.  If a port
output paramenter is not present,   the domain is returned with the
port still attached.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@246420 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-12 17:59:39 +00:00
Matthew Nicholson
f935799e51 This commit removes an extra newline in T.38 generated SDP packets. This bug was caused by the fix introduced in r243860.
(closes issue #16766)
Reported by: raivisr
Patches:
      t38-sdp-newline-fix1.diff uploaded by mnicholson (license 96)
Tested by: raivisr


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-09 17:40:04 +00:00
Mark Michelson
a1ac799b58 Remove parsing of constantssrc from reload_config.
This config option is already handled by the function handle_common_options
and it is unnecessary to parse the value again.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-07 19:51:54 +00:00