Asterisk Switching Bridge To Native_rtp Even With Direct_media=no
Hey guys,
have issues with reinvite, no matter what endpoint is calling asterisk always tries switch simple_bridge to native_rtp
Bridge 0422bfa0-9d22-4bba-9108-a3f14d7d1cab: switching from simple_bridge technology to native_rtp
in endpoints table “direct_media” sets to “no” on all endpoints but it doesn’t help.
if native_rtp not work for some reason I have oneway audio. how can I fix this? if I add mix_monitor it works, but it’s not a right way to fix this issues.
Asterisk 13.2.0
6 thoughts on - Asterisk Switching Bridge To Native_rtp Even With Direct_media=no
A native_rtp bridge is used for more than direct media. It is also used for local native bridging, that is, when you have two RTP capable channels in a bridge and Asterisk does not require the media to flow through its core. The bridge then just performs a packet to packet swap between the two RTP capable channels.
Note that on verbosity 4, Asterisk will tell you if the bridge is locally or remotely bridging the two channels.
—
Matthew Jordan Digium, Inc. | Director of Technology
445 Jan Davis Drive NW – Huntsville, AL 35806 – USA
Check us out at: http://digium.com & http://asterisk.org
—
Well, it breaks audio for all NAT endpoints, how can I fix this?
Local (packet to packet) bridging should not do that. Remote (direct media) can do that.
Can you confirm – by looking at a verbose level 4 log – how Asterisk is bridging the two channels?
NAT endpoint calling local endpount – switching to native_rtp then no audio, both of them have direct_media=no, Verbose log:
— Executing [99@dialmap:1] AGI(“PJSIP/304-00000022”, “/pbx/agi.php”) in new stackAGI Script /pbx/agi.php completed, returning 4
— Launched AGI Script /pbx/agi.php
— AGI Script Executing Application: (Dial) Options: (PJSIP/99/sip:99@192.168.1.73:5060,20)
— Called PJSIP/99/sip:99@192.168.1.73:5060
— PJSIP/99-00000023 is ringing
— PJSIP/99-00000023 answered PJSIP/304-00000022
— Channel PJSIP/304-00000022 joined ‘simple_bridge’ basic-bridge
— Channel PJSIP/99-00000023 joined ‘simple_bridge’ basic-bridge
> Bridge da8840bc-9b71-4ca6-b1d8-9565bf8e5e28: switching from simple_bridge technology to native_rtp
> Locally RTP bridged ‘PJSIP/99-00000023’ and ‘PJSIP/304-00000022’ in stack
> Locally RTP bridged ‘PJSIP/99-00000023’ and ‘PJSIP/304-00000022’ in stack
> 0x7f4b50145420 — Probation passed – setting RTP source address to 194.204.157.200:8972
> 0x7f4b5014f140 — Probation passed – setting RTP source address to 192.168.1.73:5004
— Channel PJSIP/304-00000022 left ‘native_rtp’ basic-bridge
— Channel PJSIP/99-00000023 left ‘native_rtp’ basic-bridge
—
Correct – and per the log, they shouldn’t be in a direct media bridge:
> Locally RTP bridged ‘PJSIP/99-00000023’ and
‘PJSIP/304-00000022’ in stack
> Locally RTP bridged ‘PJSIP/99-00000023’ and
‘PJSIP/304-00000022’ in stack
Locally RTP bridged means media is still flowing through Asterisk, it just isn’t being decoded and passed through the core.
Ok, if this is normal why I have oneway audio when nat endpoint calling to local. if mixmonitor or srtp is enabled audio is ok. Issues with native_rtp for sure
Sent from my iPhone