Asterisk Switching Bridge To Native_rtp Even With Direct_media=no

Home » Asterisk Users » Asterisk Switching Bridge To Native_rtp Even With Direct_media=no
Asterisk Users 6 Comments

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

  • 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 stack
    — 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

    AGI Script /pbx/agi.php completed, returning 4

  • 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