Sofia is a
To understand how to write dialplans, use pattern matching, etc., see Dialplan
The Relationship Between SIP Profiles and Domains
The following is a list of param elements that are children of a gateway element:
Where it will first check the specific XML file, then hit normal XML which also do a mod_xml_curl lookup assuming you have that configured and working.
Media related options
See also: Proxy Media
When calls are in no media this will bring them back to media when you press the hold button. To return the calls to bypass-media after the call is unheld, enable bypass-media-after-hold.
Codecs related options
This parameter allows to change the allowed inbound codecs per profile.
- 'generous' permits the remote codec list have precedence and 'win' the codec negotiation and selection process
- 'greedy' forces a win by the local FreeSWITCH preference list
- 'scrooge' takes 'greedy' a step further, so that the FreeSWITCH wins even when the far side lies about capabilities during the negotiation process
sip_codec_negotiation is a channel variable version of this setting
When receiving a REGISTER or INVITE, enable NAT mode automatically if IP address in Contact header matches an entry defined in the RFC 1918 access list. "acl" is a misnomer in this case because access will not be denied if the user's contact IP doesn't match.
VAD and CNG
VAD stands for Voice Activity Detector. FreeSWITCH is capable of detecting speech and can stop transmitting RTP packets when no voice is detected.
This will force FreeSWITCH to send SIP responses to the network port from which they were received. Use at your own risk! For more information see NAT Traversal.
<param name="NDLB-force-rport" value="true|safe"/>
This goes in the "..sip_profiles/external.xml" file.
Please make sure to read http://wiki.freeswitch.org/wiki/SIP_TLS#Limitations_of_the_Freeswitch_TLS.2FSSLv23_Implementation before read SIP TLS before enabling certain features below as they may not behave as expected.
Note the "_" instead of "-" in profile param (this is var set in dialplan). (24.10.2010: "both" don't seem to me work in my tests, "outbound" does)
If true, it passes RFC 2833 DTMF's from one side of a bridge to the other, untouched. Otherwise, it decodes and re-encodes them before passing them on.
Set this to the size of the jitterbuffer you would like to have on all calls coming through this profile.
Can be set to 'true', 'false' or 'first-only'. If set to 'true' (this is the default behavior), mod_sofia will send a message-query event upon registration. mod_voicemail uses this for counting messages.
If set to True with nat-options-ping the endpoint will be unregistered if no answer on OPTIONS packet.
With this option set FreeSWITCH will periodically send an OPTIONS packet to all NATed registered endpoints to keep alive connection. If set to True with unregister-on-options-fail the endpoint will be unregistered if no answer on OPTIONS packet.
With this option set FreeSWITCH will periodically send an OPTIONS packet to all registered endpoints to keep alive connection. If set to True with unregister-on-options-fail the endpoint will be unregistered if no answer on OPTIONS packet.
Default Configuration File
If you've made a change in sofia.conf.xml, there are two ways to get FreeSWITCH to use the new values.
- sofia profile <profilename> restart reloadxml