summaryrefslogtreecommitdiff
path: root/main/manager_channels.c
diff options
context:
space:
mode:
authorMichael L. Young <elgueromexicano@gmail.com>2013-04-12 15:06:09 +0000
committerMichael L. Young <elgueromexicano@gmail.com>2013-04-12 15:06:09 +0000
commitfcbb9f0c8dd43dde059abf2deb2ed09b2c4e4539 (patch)
tree76e041071847e61358c1bf6da908bb3310ad963c /main/manager_channels.c
parente5b0de55352bce1d143f33a3ee3db1f8c8a2ea4b (diff)
Fix One-Way Audio With auto_* NAT Settings When SIP Calls Initiated By PBX
When we reload Asterisk or chan_sip, the flags force_rport and comedia that are turned on and off when using the auto_force_rport and auto_comedia nat settings go back to the default setting off. These flags are turned on when needed or off when not needed at the time that a peer registers, re-registers or initiates a call. This would apply even when only the default global setting "nat=auto_force_rport" is being used, which in this case would only affect the force_rport flag. Everything is good except for the following: The nat setting is set to auto_force_rport and auto_comedia. We reload Asterisk and the peer's registration has not expired. We load in the settings for the peer which turns force_rport and comedia back to off. Since the peer has not re-registered or placed a call yet, those flags remain off. We then initiate a call to the peer from the PBX. The force_rport and comedia flags stay off. If NAT is involved, we end up with one-way audio since we never checked to see if the peer is behind NAT or not. This patch does the following: * Moves the checking of whether a peer is behind NAT into its own function * Create a function to set the peer's NAT flags if they are using the auto_* NAT settings * Adds calls in sip_request_call() to these new functions in order to setup the dialog according to the peer's settings (closes issue ASTERISK-21374) Reported by: Michael L. Young Tested by: Michael L. Young Patches: asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2421/ ........ Merged revisions 385473 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/manager_channels.c')
0 files changed, 0 insertions, 0 deletions