Codec negotiation
From FreeSWITCH Wiki
Early Negotiation (default behaviour):
- When leg A calls FS the codecs will be compared against the configured codecs in the profile config.
- When B sends the invite, the chosen codec in leg A will be pushed to the top of the list regardless of if it's actually chosen in the config.(the other codecs offered to leg A will not appear)
Late Negotation (requires param):
<param name="inbound-late-negotiation" value="true"/>
- The call will hit the dialplan without looking at the codecs at all.
- The negotiation will take place when leg A is answered.
- This allows you to route the call to a script and examine the sdp and rewrite the acceptable codecs with the "codec_string" channel variable.
Early Negotiation + Disable Transcoding:
<param name="disable-transcoding" value="true"/>
If this sofia profile param is set, all B legs that you invite will contain *only* the codec negotiated by the A leg.
Also in either case the variable "codec_string" on the A leg controls
what codecs will be offered to the B leg.
The variable "absolute_codec_string" is similar except it implies the implicit list of codecs and will disable the addition of the A leg codec to the list as described in the defualt behaviour.
