Routing premature media to the calling channel

Home » Asterisk Users » Routing premature media to the calling channel
Asterisk Users 9 Comments

I have a problem with premature media and inband progress audio. I am using
the latest and this is the setup:

soft phone — asterisk — SIP provider

The number I call is giving back some hints via inband audio I am not able
to ear from the soft phone. They stop on the asterisk and are not routed
down the path to the sip phone.

The SIP part is simple:

soft phone -> asterisk: INVITE

asterisk -> soft phone: TRYING

asterisk -> provider: INVITE

asterisk -> soft phone: 180 RINGING

provider -> asterisk: 183 SESSION PROGRESS

provider -> asterisk: AUDIO

Unfortunately the AUDIO received from the provider by the asterisk box is
not sent to the soft phone.

I think I have tried every combination of progressinband and
prematuremedia, without success.

How can I made the audio received from the provider to the asterisk be
transmitted to the soft phone?

Thank you


9 thoughts on - Routing premature media to the calling channel

  • I assume you have ruled out NAT and firewall issues?

    Between those two, 99% of the reasons why something may not be routed somewhere correctly are accounted for.

    If you don’t know, your best bet is to take a packet capture or SIP debug on the Asterisk server and find out where that early media is going.

  • All NAT and firewall problems are already been excluded. All peers are on
    public IP address and no firewall is active between them. The missing
    routing of the audio path to the peer has been checked with tcpdump …
    nothing is coming out from the asterisk box.


    2012/3/25 Alex Balashov

  • Are you absolutely sure that nothing is coming out, even on a different interface than the one on which you are capturing? Are you capture on the Asterisk server and not the receiving host?

    Secondly, are you absolutely positive that something is supposed to be coming out? 183 does not logically imply or mandate backward early media, though 183+SDP is generally used as a convention to indicate that it is about to be sent.

  • The asterisk box has only one interface. I am capturing all the traffic on
    the box and the only audio traffic is from the provider to the asterisk box.

    Obviously if I set progressinband=yes, then I get the ringing tone from the
    asterisk box, but no the audio from the provider I was looking for.


    2012/3/25 Alex Balashov

  • I think I may have misunderstood your initial question, sorry.

    You are looking for Asterisk to directly pass through the early media from upstream? Why would it do that?

  • I want to have the early media to pass from the provider down to the soft
    phone because it contains important information about the call, like “Your
    call cannot go through, please try your call again ” … The provider is
    giving this info via early media, just after the 183 SESSION PROGRESS.


    2012/3/25 Alex Balashov

  • As far as I know, this is not the general tendency of any B2BUA that generates such media independently. However, I could be mistaken.