SIP set outbound transport type from Registration
authorDavid Vossel <dvossel@digium.com>
Fri, 22 May 2009 21:09:45 +0000 (21:09 +0000)
committerDavid Vossel <dvossel@digium.com>
Fri, 22 May 2009 21:09:45 +0000 (21:09 +0000)
commitf50bb3bfa4734e75ac07b52c0e7e627d857356e3
tree8db36e1159ddb04acf09a8a4b1eeced4d2094d3a
parentde6498b2d32a94e418af79ec48b6eca4698a0522
SIP set outbound transport type from Registration

In sip.conf the transport option allows for the configuration of what transport types (udp, tcp, and tls) a peer will accept, but only the first type listed was used for outbound connections.  This patch changes this.  Now the default transport type is only used until the peer registers.  When registration takes place the transport type is parsed out of the Contact header.  If the Contact header's transport type is equal to one that the peer supports, the peer's default transport type for outbound connections is set to match the Contact header's type.  If the Contact header's transport type is not present, then the peer's default transport type is set to match the one the peer registered with.  When a peer unregisters or the registration expires, the default transport type for that peer is reset.

(closes issue #12282)
Reported by: rjain
Patches:
      reg_patch_1.diff uploaded by dvossel (license 671)
Tested by: dvossel

(closes issue #14727)
Reported by: pj
Patches:
      reg_patch_3.diff uploaded by dvossel (license 671)
Tested by: pj, dvossel

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c
configs/sip.conf.sample