[asterisk-dev] [Code Review] 4216: res_pjsip: Direct Media calls within private network sometimes get one way audio

Kevin Harwell reviewboard at asterisk.org
Tue Dec 2 17:29:51 CST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4216/
-----------------------------------------------------------

(Updated Dec. 2, 2014, 5:29 p.m.)


Review request for Asterisk Developers and Joshua Colp.


Changes
-------

Addressed findings.  This new patch no longer requires changes to the glue structure and code, but instead stores the explicitly given remote address on the rtp instance itself.  It can then be utilized by the channel drivers where appropriate.  Currently, the only time the given_remote_address and original remote_address should differ is when the rtp engine "learns" a new address and symmetric rtp is enabled.

Re-tested everything with the new patch including chan_sip this time.


Bugs: ASTERISK-24563
    https://issues.asterisk.org/jira/browse/ASTERISK-24563


Repository: Asterisk


Description
-------

When endpoints with direct_media enabled, behind a firewall (Asterisk on a separate network) and were bridged sometimes Asterisk would send the ip address of the firewall in the sdp to one of the phones in the reinvite resulting in one way audio.  When sending the reinvite Asterisk will retrieve the media address from the associated rtp instance, but if frames were being read this can be overwritten with another address (in this case the firewall's).  This patch ensures that Asterisk uses the original device address when using direct media.


Diffs (updated)
-----

  branches/12/res/res_rtp_asterisk.c 428786 
  branches/12/main/rtp_engine.c 428786 
  branches/12/include/asterisk/rtp_engine.h 428786 
  branches/12/channels/chan_sip.c 428786 
  branches/12/channels/chan_pjsip.c 428786 
  branches/12/addons/chan_ooh323.c 428786 

Diff: https://reviewboard.asterisk.org/r/4216/diff/


Testing
-------

Used a test bed of 3 phones on a private network behind a firewall with Asterisk on another network.  Enabled direct media on the endpoints and then had phone A call phone B.  Noted in the logged SIP reinvites that the correct address was now being used and also made sure audio flowed in both directions.


Thanks,

Kevin Harwell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141202/11cd5a4f/attachment.html>


More information about the asterisk-dev mailing list