diff options
author | Terry Wilson <twilson@digium.com> | 2012-02-09 18:14:39 +0000 |
---|---|---|
committer | Terry Wilson <twilson@digium.com> | 2012-02-09 18:14:39 +0000 |
commit | e5c51ee44c79950ff90660f29ae4b78ce8cc06d2 (patch) | |
tree | 4a25b55ca8c3dcb00699c36ec270f0ff25750ca3 /channels/sip/include/sip.h | |
parent | 8f5c33f95a44347308fa9987ddad0598ba060522 (diff) |
Add auto_force_rport and auto_comedia NAT options
This patch adds the auto_force_rport and auto_comedia NAT options. It
also converts the nat= setting to a list of comma-separated combinable
options: no, force_rport, comedia, auto_force_rport, and auto_comedia.
nat=yes remains as an undocumented option equal to
"force_rport,comedia". The first instance of 'yes' or 'no' in the list
stops parsing and overrides any previously set options. If an auto_*
option is specified with its non-auto_ counterpart, the auto setting
takes precedence.
This patch builds upon the patch posted to ASTERISK-17860 by JIRA user
pedro-garcia.
(closes issue ASTERISK-17860)
Review: https://reviewboard.asterisk.org/r/1698/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sip/include/sip.h')
-rw-r--r-- | channels/sip/include/sip.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/sip/include/sip.h b/channels/sip/include/sip.h index d5de40d9c..0ae8be8f8 100644 --- a/channels/sip/include/sip.h +++ b/channels/sip/include/sip.h @@ -363,9 +363,11 @@ #define SIP_PAGE3_SNOM_AOC (1 << 0) /*!< DPG: Allow snom aoc messages */ #define SIP_PAGE3_SRTP_TAG_32 (1 << 1) /*!< DP: Use a 32bit auth tag in INVITE not 80bit */ +#define SIP_PAGE3_NAT_AUTO_RPORT (1 << 2) /*!< DGP: Set SIP_NAT_FORCE_RPORT when NAT is detected */ +#define SIP_PAGE3_NAT_AUTO_COMEDIA (1 << 3) /*!< DGP: Set SIP_PAGE2_SYMMETRICRTP when NAT is detected */ #define SIP_PAGE3_FLAGS_TO_COPY \ - (SIP_PAGE3_SNOM_AOC | SIP_PAGE3_SRTP_TAG_32) + (SIP_PAGE3_SNOM_AOC | SIP_PAGE3_SRTP_TAG_32 | SIP_PAGE3_NAT_AUTO_RPORT | SIP_PAGE3_NAT_AUTO_COMEDIA) #define CHECK_AUTH_BUF_INITLEN 256 @@ -1062,6 +1064,7 @@ struct sip_pvt { * for incoming calls */ unsigned short req_secure_signaling:1;/*!< Whether we are required to have secure signaling or not */ + unsigned short natdetected:1; /*!< Whether we detected a NAT when processing the Via */ char tag[11]; /*!< Our tag for this session */ int timer_t1; /*!< SIP timer T1, ms rtt */ int timer_b; /*!< SIP timer B, ms */ |