[Freeswitch-users] RTP reception before sending any RTP packet

Vallimamod Abdullah vma at vallimamod.org
Mon Apr 23 14:13:04 UTC 2018

Hi Mickael,

Are you doing SDP mangling on the opensips box? If so, freeswitch may not detect that the endpoint is nated as the RTP ip is public.

Can you try to disable it and let freeswitch auto-detect the public RTP ip/port?

If the auto-adjust is activated, you will get something like "Auto Changing audio port from <local ip:port> to <public ip:port>" in the debug logs.

Hope this helps!

Best Regards,
Vallimamod Abdullah
SIP Solutions

> On 20 Apr 2018, at 10:47, Mickael Hubert <mickael at winlux.fr> wrote:
> Thanks for your answer Vallimamod,
> You can see our dialplan bellow:
> We tried these commands "rtp auto adjust, etc ...", but the issue continues.
> is there a way to show if FS knows when the call is natted or not ? FYI we have an opensips of front for SIP, but RTP is send directly to FS.
> SIP call --> Opensips (nat detection) --> FS
> RTP flow ------------------------------------------> FS
> <condition field="${destinationAuthorized}" expression="^yes$" break="never">
>          <action application="export" data="codec_string=${ep_codec_string}"/>
>          <action application="export" data="sip_h_X-cid=${uuid}"/>
>          <action application="set" data="hangup_after_bridge=true"/>
>           <action application="set" data="ignore_early_media=false"/>
>           <action application="set" data="ignore_display_updates=true"/>
>           <action application="set" data="inherit_codec=true"/>
>           <action application="set" data="fax_enable_t38=false"/>
>           <action application="export" data="suppress_cng=true"/>
>           <action application="set" data="disable_rtp_auto_adjust=false"/>
>           <action application="set" data="rtp_auto_adjust_threshold=1"/>
>           <action application="set" data="rtp_manual_rtp_bugs=accept_any_packets"/>
>           <action application="unset" data="sip_h_X-Username"/>
>           <action application="bridge" data="
>           {
>               sip_invite_params=user=phone,
>               sip_cid_type=none,
>               ignore_display_updates=true,
>                sip_contact_user=${caller_id_number}
>           }
>           sofia/internal/${destination_number}@${distributor(LISTINTERNAL ${sofia(profile internal gwlist down)})}"/>
> Thanks in advance
> 2018-04-19 11:35 GMT+02:00 Vallimamod Abdullah <vma at vallimamod.org>:
> Hi,
> To my knowledge, it is the default beahviour for freeswitch to wait for incoming rtp from nated endpoints before starting to transmit.
> You can explicitely force it with the profile param disable-rtp-auto-adjust=false.
> You can also play with the channel variable rtp_auto_adjust_threshold which defines the number of rtp packets to wait for initially (default is 10 iirc)
> Best Regards,
> -- 
> Vallimamod Abdullah
> SIP Solutions
> linkedin.com/in/vallimamod
> .
> > On 19 Apr 2018, at 10:31, Mickael Hubert <mickael at winlux.fr> wrote:
> > 
> > Hi list, 
> > I'd like to know if there's a way to tell FS to wait for RTP reception before sending any RTP packet ? 
> > We're facing a problem regarding early media with a PBX, NATed behind a dumb router : actually, if FS first sends RTP to the PBX, without waiting for RTP coming from the PBX, there's no audio. In some cases (related to the provider we use behind FS to establish call to the PSTN) FS isn't the 'first-shooter' of the RTP flow, and everything works fine, but when FS is the first to send RTP, it doesn't work... 
> > Because we can't change anything at our providers configs, we'd like to know if FS can "delay" RTP sending until it receives some RTP from the calling party.
> >  
> > The schematic is following :
> > PBX ===> FS ===> ...voice backbone... ===> Providers
> > (FS is acting as an SBC)
> >  
> > Thanks for your help, 
> > 

More information about the FreeSWITCH-users mailing list