ARI on NodeJS + Moving to Bridge = No sound on one end

Hi,

I am following the example on: ARI and Bridges: Bridge Operations - Asterisk Project - Asterisk Project Wiki

I used the sample where I transfer the channels from a Holding Bridge to a Mixing Bridge. Everything work, except that one of the channels has no sound (the other is fine).

After some tests, I found out that if I don`t start the Moh, everything works fine.

Can anyone help me? I`m fairly new to the asterisk world.

Thanks

You’d need to provide more information. Where is each channel located? What is their configuration? Are they behind NAT? Are you behind NAT? Does calling between them outside of ARI work?

Hi @jcolp , thanks for the prompt reply.

I am running it inside a docker container (code here: GitHub - hobojoe/asterisk).

To be able to run it, you just need to change the pjsip.conf “external_media_address”/“external_signaling_address” to your local ip (couldn`t find a way to make it work without this step).

After some additional tests I have found out the following?

  1. If I never enable Moh, everything works.
  2. If I enable recording on the mixing_bridge, everything works (even with the Moh on).

I really have no clue what could be causing this.

I really appreciate any help!

Is direct_media set to “no” on each PJSIP endpoint?

Yes:

[endpoint-base](!)
type=endpoint
context=default
direct_media=no
disallow=all
allow=ulaw

Then you’d need to provide further information such as what I originally asked for, alongside a SIP trace (pjsip set logger on) and RTP trace (rtp set debug on).

You should really start outside of Docker though to eliminate its networking aspect initially.

@jcolp Here are the log files you requested:

RTP Trace: RTP trace · GitHub

SIP Trace: SIP Trace · GitHub

I enabled them in separate attempts so the logs wouldn’t be mixed, but both cases represent a failed attempt (where the side that was on the holding bridge cannot hear the other).

I would assume Docker is NATting all of the source traffic, so the impact of which on your environment I have no idea. You could try enable rtp_symmetric on the endpointand see what happens otherwise I’m going to bow out of this conversation. Docker just complicates VoIP and adds extra work if you’re starting out.

That did the trick! Thanks a lot for your help @jcolp

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.