You have a few options:

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.




 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale@hotmail.com
JABBER:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:213-799-1400


----- Original Message ----
From: James H Thompson <jht@lj.net>
To: freeswitch-users@lists.freeswitch.org
Sent: Monday, April 2, 2007 6:20:50 PM
Subject: [Freeswitch-users] Codec negotiation

I wondering how FreeSwitch does codec negotiation in the following call flow:
 
    SIP Endpoint A ----> FreeSwitch ----> SIP Endpoint B
 
For example, if the SIP Endpoint A offers Codecs: G.711u, G.711a, G.729
when FreeSwitch sets up the Call to SIP Endpoint B, how does it determine
what list of Codecs to offer to SIP Endpoint B?
 
What I'm looking for is for Freeswitch to always offer the same list of
Codecs to SIP Endpoint B as it received from SIP Endpoint A.
 
In this application, having the RTP packets bypass FreeSwitch and
go directly between SIP Endpoint A and SIP Endpoint B is not an option
since the two SIP Endpoints cannot talk to each other directly.
SIP Endpoint A is in public IP space, and SIP Endpoint B is in private IP
space.
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



Sucker-punch spam with award-winning protection.
Try the free Yahoo! Mail Beta.