[Freeswitch-users] Early Media and "Late Negotiation"

Sebastian Kemper sebastian_ml at gmx.net
Mon Aug 27 19:32:30 UTC 2018

Hello list,

I have a bit of a transcoding issue when calling out. This is a tiny
(literally) home PBX running FreeSWITCH 1.8.1. I have

<param name="inbound-late-negotiation" value="true"/>

in the SIP profiles and

<action application="set" data="inherit_codec=true"/>

in the dialplan.

This works well when there is no early media, meaning the late
negotiation results in the same codec on both legs.

But when there is early media from the provider, then this usually
results in transcoding.


1. Phone offers this to FS:


2. FS offers the following to provider:


3. Provider sends 183 with PCMA

4. FS sends 183 with G722 to local phone (transcoding begins)

5. Provider sends 200 OK with PCMA

6. FS sends 200 OK with G722 to phone (transcoding continues)

This is obviously a bit inefficient, because PCMA would've be fine on
both legs :)

I found some variables like ignore_early_media and bridge_early_media,
but after a bit of reading up on them I don't think they're what I need.
On the WWW somebody said inbound-codec-negotiation set to greedy should
take care of this, but I tried it and didn't see a difference.

On the Confluence Early Media page there is actually a paragraph "Early
Media and Late Negotiation", but as of now it's just a stub.

Anybody knows some dialplan magic to get what I'm after?


More information about the FreeSWITCH-users mailing list