Sample FreeSWITCH Configuration files
Important Note Regarding FreeSwitch® and FreeTDM® Support
Support for FreeSwitch and FreeTDM for Sangoma telephony card products are no longer provided by Sangoma. All FreeSwitch drivers and applications are provided as-is with no warranty. Â
Sangoma was previously involved in the FreeTDM and FreeSwitch projects, but has refocused its development efforts primarily on Asterisk-based platforms including FreePBX. The information on this page and other FreeSwitch- and FreeTDB-related pages on the Sangoma Wiki has been retained for historical and reference purposes, but should not be relied upon as reflecting Sangoma's current development efforts or support policies.
Â
Â
freetdm.conf
General File format
freetdm.conf
All I/O (b-channels) related parameters are set in freetdm.conf.
Â
[span wanpipe <span name>] trunk_type => <trunk type> |
Â
trunk type:Â possible values are: t1, e1, bri (for point-to-point), bri_ptmp (for point-to-multipoint).
group name:Â any string.
physical span number:Â This should match the TDMV_SPAN Â parameter in your /etc/wanpipe/wanpipeN.conf
channels:Â Specify which timeslots within this physical span you want to use.
Â
freetdm.conf.xml
All signalling related parameters are set in freetdm.conf.xml. Each span uses a configuration profile for signalling related parameters.
Â
Â
 name="freetdm.conf" description="FreeTDM Configuration">          <!-- General FreeTDM Configuration options --> <param name="crash-on-assert" value="no" /> </settings> <profile name="[profile name]"> <param name="[parameter key]" value="[parameter value]" /> </profile> </config_profiles> <span name="[span name]" cfgprofile="[profile name]"> <!-- switch related parameters --> </span> </sangoma_pri_spans> <!-- list of BRI spans --> <span name="[span name]" cfgprofile="[profile name]"> <!-- switch related parameters --> </span> </sangoma_bri_spans> </configuration>  |
NFAS Configuration
Trunkgroup
For each NFAS group, you will need a trunkgroup parameter in the profile section.
Format:
<param name="trunkgroup" value="<trunkgroup name>, <number of spans>, <primary d-chan>, [<secondary d-chan>]"/>
For example, if you have a NFAS group with 16 T1's and the primary d-channel on span:wp8, and secondary d-channel on span: wp16.
<param name="trunkgroup" value="nfas1, 16, wp8, wp16"/>
Spanmap
Format:
<param name="spanmap" value="<trunkgroup name>, <logical span number>"/>
For example:
<param name="spanmap" value="nfas1, 0"/>
Â
Â
Configuration Options
Switchtype
This specifies the switch variant used.
Valid options for T1:
ni2 or national | National ISDN 2 |
5ess | Lucent 5ESS |
4ess | Lucent 4ESS |
dms100 | NTT DMS-100 |
Â
Valid options for E1:
euroisdn or etsi | Â EuroISDN/ETSI |
qsig | QSIGÂ [coming soon!] |
Â
Valid options for BRI:
euroisdn or etsi | EuroISDN/ETSI |
insnet | Japanese INS-NET |
Â
Valid options for J1:
insnet | Japanese INS-NETÂ [coming soon!] |
Â
Example: <param name="switchtype" value="ni2" />
Â
Â
Interface
This specifies the switch emulation.
Valid options:Â
 | Customer Premises Equipment, when connected to a Telco |
net | Network Emulation, when emulating a Telco |
Default value:CPE
Freeswitch example: <param name="interface" value="cpe" />
Â
Overlap
Enables/Disables Overlap Receive.Â
Valid options:
Â
yes | Enables overlap receive |
no | Only BLOC mode is supported |
Â
Default value:no
Freeswitch example: <param name="overlap" value="yes" />
Note: Overlap sending is not supported.
Â
TEI
Specify the default TEI value. This parameter is ignored when in Point-to-multipoint mode.
Â
Valid options:1-126
Default value: 0
Freeswitch example: <param name="tei" value="64" />
Â
Facility
Enables/Disables support for FACILITY messages. Enable this option if your Caller ID name is received in a FACILITY message instead of the SETUP message.
Â
Valid options:
yes | Enables support for FACILITY messages and FACILITY IE decoding |
no | Disables support for FACILITY messages and FACILITY IE decoding |
Default value: no
Freeswitch example: <param name="facility" value="yes" />
Â
Facility timeout
If you are using the Facility option, and not all incoming SETUP messages are followed by FACILITY messages, you can specify a timeout for how long we will wait for the facility message, in milliseconds.
Default value: 0
Freeswitch example: <param name="facility-timeout" value="50" />
Â
Â
TON (Type of Number)
Specify the default TON on outbound calls.
See table 4-14 of ITU-T Q.931 (05/98) for descriptions.
Â
List of parameters:
outbound-called-ton | Modify the default TON for the Called Party Number |
outbound-calling-ton | Modify the default TON for the Calling Party Number |
outbound-rdnis-ton | Modify the default TON for the Redirecting Number |
Â
List of options:
unknown | Unknown |
international | International number |
national | National number |
local | Subscriber number |
Â
Freeswitch example: <param name="outbound-called-ton" value="international" />
Â
NPI (Numbering Plan Identification)
Â
Specify the default TON on outbound calls.
See table 4-14 of ITU-T Q.931 (05/98) for descriptions.
Â
List of parameters:
outbound-called-npi | Modify the default NPI for the Called Party Number |
outbound-calling-npi | Modify the default NPI for the Calling Party Number |
outbound-rdnis-npi | Modify the default NPI for the Redirection Number |
Â
List of options:
unknown | Unknown |
isdn | ISDN/telephony numbering plan (Recommendation E.164) |
data | Data numbering plan (Recommendation X.121) |
telex | Telex numbering plan (Recommendation F.69) |
national | National standard numbering plan |
private | Private numbering plan |
reserved | Reserved |
Â
Freeswitch example: <param name="outbound-calling-npi" value="isdn" />
Â
Â
Bearer Capability - Information Transfer Capability
Â
Sets the default Information Transfer Capability on outbound calls.
See section 4.5.5 (octet 3) of ITU-T Q.931 (05/98) for descriptions.
speech | Speech |
unrestricted-digital | Unrestricted digital information |
3.1khz | 3.1 kHz audio |
Â
Default value: speech
Freeswitch example: <param name="outbound-bc-transfer-cap" value="3.1khz" />
Â
Â
Bearer Capability - User Information Layer 1 Protocol
Â
Sets the default User information Layer 1 protocol on outbound calls.
See section 4.5.5 (octet 5) of ITU-T Q.931 (05/98) for descriptions.
v110 | ITU-T Standardized rate adaptation V.110, I.460 and X.30 |
ulaw | Recommendation G.711 mu-law |
alaw | Recommendation G.711 A-law |
Â
Freeswitch example: <param name="outbound-bc-user-layer1" value="ulaw" />
MSN (Multiple Subscriber Number)
Valid for BRI CPE Point-to-multipoint only. Assign a local number to this span. Sangoma ISDN Library will not respond to calls where the called number does not match the local number.
Each span can have up to 8 local numbers.
Default value:<none>
Freeswitch example: <param name="local-number" value="12356" />
Â
Â
Early Media Override
 On incoming calls, this option will enable early media, even if the remote switch does not indicate "In-band information or an appropriate pattern is now available" in the Progress Indicator Information Element.
See section 4.5.23 (octet 4) of ITU-T Q.931 (05/98) for descriptions.
Default value:<none>
on-proceed | Early media enabled when PROCEED message is received |
on-alert | Early media enabled when ALERT message is received |
on-progress | Early media enabled when PROGRESS message is received |
Freeswitch example: <param name="early-media-override" value="on-progress" />
Â
Q931 traceÂ
Enables Q.931 trace on start.
Â
Default value:no
Possible values:yes/no
Freeswitch example: <param name="q931-trace" value="yes" />
Â
Â
Q921 traceÂ
Enables Q.921 trace on start.
Â
Default value:no
Possible values:yes/no
Freeswitch example: <param name="q921-trace" value="yes" />
Â
Q931 Timers
For description of Q.931 timers, see section 9.1 and 9.2 of ITU-T Q.931 (05/98) .
Set to 0 to use default values.
Values are in seconds.Â
Timer | Parameter | Default value in CPE mode | Default value in NET mode |
T301 | timer-t301 | 180 | 180 |
T302 | timer-t302 | 15 (N/A for US variants) | 15Â (N/AÂ for US variants) |
T303 | timer-t303 | 4 | 4 |
T304 | timer-t304 | 30 | 30 |
T305 | timer-t305 | 30 | 30 |
T306 | timer-t306 | 35 | 35 |
T307 | timer-t307 | 35 | 35 |
T308 | timer-t308 | 4 | 4 |
T310 | timer-t310 | 10 | 120 |
T312 | timer-t312 | T303 + 2 | N/A |
T313 | timer-t313 | 4 | 4 |
T314 | timer-t314 | 35 | 35 |
T316 | timer-t316 | 120 | 120 |
T318 | timer-t318 | 4 | 4 |
T319 | timer-t319 | 4 | 4 |
T322 | timer-t322 | 4 | 4 |
Â
Â
Â
Channel Id Invert Extended Bit
Inverts the Channel-Id extended bit in the Channel Id IE when switchtype is DMS-100.
Note: This is a global parameter. This option will apply to all spans configured as DMS-100.
Default value:no
Possible values:yes/no
Â
Freeswitch example: <param name="channel-id-invert-extend-bit" value="yes" />
Â
Sending RESTART on link up
Forces the transmission of RESTART messages for each channel after the Q.921 layer is up.
Â
Default values:
switchtype | default value in CPE mode | default value in NET mode |
NI-2 | no | yes |
dms100 | no | yes |
5ess | no | yes |
4ess | no | yes |
euroisdn | no | yes |
insnet | no | yes |
qsig | no | no |
Â
Possible values:yes/no
Freeswitch example: <param name="channel-restart-on-link-up" value="yes" />
Â
Setup Arbitration
Whether or not this node should be the arbiter for the Q.921 link. The arbiter is the side that sends SABME's when the link is down, and RR's once the Q.921 link is up.
Default value: yes for CPE, no for NET.
Freeswitch example: <param name="setup-arbitration" value="yes" />
Â
Channel Restart Timeout
Once FreeTDM is loaded, if we do not receive a RESTART message withing this timeout, we will send a RESTART message on all idle channels within that span. This option is useful if FreeTDM is quickly reloaded, causing the remote side's Q.921 layer to say in connected state, and therefore have inconsistent channels.Â
Â
Default value:0 (disabled)
Possible values:1-any (in milliseconds)
Freeswitch example: <param name="channel-restart-timeout" value="yes" />
Â
Â
Force Sending Complete
Forces the transmission of the Sending Complete Information Element on NI-2 and 5ESS switchtypes.Â
The Sending Complete Information Element is automatically included for EuroISDN variant.
Note: Transmitting the Sending Complete IE on NI-2 and 5ESS is not to specifications, Â and you should only enable this option if the remote switch is responding to outgoing SETUP messages with SETUP ACKNOWLEDGE when its not supposed to be.
Default value:no
Possible values:yes/no
Â
Â
Freeswitch example: <param name="force-sending-complete" value="yes" />
Â
Â
Force Sending Caller ID Name
Forces the transmission for the Caller ID Name.
Note: Transmitting the  Caller ID Name from the CPE to the Network is usually not to spec.
Parameter name:send-cid-name
Default value:auto
Possible values:yes/no/auto
auto: Send the Caller ID Name if configured as Network side, and spec allows it.
no: Never send the Caller ID Name
yes: Always send the Caller ID Name
Â
Freeswitch example: <param name="send-cid-name" value="yes" />
Â
Â
Caller ID Name Transmit Method
Specify which Information Element to use when sending the Caller ID Name.
Note: Transmitting the Caller ID Name using Display IE on NI-2(national) variant is not to spec.
Note: Transmitting the Caller ID Name using Facility IE on EuroISDN variant is not to spec.
Parameter name:cid-name-transmit-method
Default value:auto
Possible values:display-ie, facility-ie, user-user-ie
display-ie: Use the Display Information Element to transmit the Caller ID Name. This is the recommended method for EuroISDN - PRI.
facility-ie: Use the Facility Information Element to transmit the Caller ID Name. This is the recommended method for North American Variants.
user-user-ie: Use the user-user Information Element to transmit the Caller ID Name. This is the recommended method for EuroISDN - BRI.
Freeswitch example: <param name="cid-name-transmit-method" value="display-ie" />