SS7 GW - Configuration
SMG-SS7 relies on 3 configuration files:
-> /etc/wanpipe/wanpipeX.conf ( physical layer configuration options)
-> /usr/local/smg/conf/freetdm.conf ( FreeTDM configuration options)
-> /usr/local/smg/conf/autoload_configs/freetdm.conf.xml ( SS7 specific options)
wanpipeX.conf
The wanpipeX.conf configuration files control the behaviour of the physical layer ports.
SMG-SS7 requires that the ports be configured for use with Sangoma's TDM Voice API. In addition any ports carry signalling links need to have:
-> TDMV_DCHAN = X set to the time slot carrying the signaling link in the general device options section
-> HDLC_REPEAT =YES set in the interface specific options section
freetdm.conf
The freetdm.conf configuration file controls the behaviour of the FreeTDM API.
SMG-SS7 requires that all channels EXCEPT signaling links be listed in this configuration file.
The structure of a freetdm.conf file is:
[span wanpipe <span name>]
group => <trunk group name>
b-channel => <TDMV Span>:<B-Channel list>
The <span name> is the name for this span. The name can consist of any alpha-numeric characters. The span name MUST be unique.
The <trunk group name> is the trunk group that this span belongs to. The trunk group name can consist of any alpha-numeric characters. Several spans can be part of the same trunk group.
The <TDMV Span> is the TDMV span value from the wanpipeX.conf file belonging to this span.
The <B-channel list> is a dash separated list of time slots that belong to this span.
Below is a sample configuration for a T1 span on port 1 that has 1 signaling on time slot 1, and the rest of the channels are used for voice CICs.
[span wanpipe p1]
group => g01
b-channel => 1:2-24
Below is a sample configuration for a E1 span on port 5 that has 1 signaling on time slot 16, and the rest of the channels are used for voice CICs.
[span wanpipe p5]
group => g03
b-channel => 5:1-15
b-channel => 5:17-31
Below is a sample configuration for a E1 span on port 3 that has 1 signaling on time slot 1, a gap/hole on times slot 16 and the rest of the channels are used for voice CICs.
[span wanpipe p3]
group => g01
b-channel => 3:2-31
freetdm.conf.xml
Sample configuration files:
ITU with 1 A-Link and 1 F-Link
ANSI with 2 A-Links (standard US setup)
General Structure of the file:
<configuration name="freetdm.conf" description="FreeTDM Configuration">
<settings>
"General FreeTDM configuration options"
</settings>
<signaling_configs>
<sngss7_configs>
<sng_isup name="ss7config">
<sng_gen>
"LibSNG-SS7 general configuration options"
</sng_gen>
<sng_relay>
"LibSNG-SS7 Relay configurations options"
</sng_relay>
<mtp1_links>
"LibSNG-SS7 MTP1 configurations options"
</mtp1_links>
<mtp2_links>
"LibSNG-SS7 MTP2 configurations options"
</mtp2_links>
<mtp3_links>
"LibSNG-SS7 MTP3 configurations options"
</mtp3_links>
<mtp_linksets>
"LibSNG-SS7 MTP3 Linkset configurations options"
</mtp_linksets>
<mtp_routes>
"LibSNG-SS7 MTP3 Route configurations options"
</mtp_routes>
<isup_interfaces>
"LibSNG-SS7 ISUP configurations options"
</isup_interfaces>
<cc_spans>
"LibSNG-SS7 Call-Control configurations options"
</cc_spans>
</sng_isup>
</sngss7_configs>
</signaling_configs>
<sangoma_ss7_spans>
<span name="span_name" cfgprofile="ss7config">
"FreeTDM span configurations options"
</span>
</sangoma_ss7_spans>
</configuration>
-
General FreeTDM Configuration Options
Description:
This section controls general options inside of the FreeTDM core.
Options:
|
Mandatory Options |
Description |
Possible Values |
|
Optional Options |
Description |
Possible Values |
| debug | set the default debug level for FTDM core |
0 = no debug 1 = alert 2 = critical 3 = error 4 = warning 5 = notice 6 = info 7 = debug |
| sip-headers | Allow SIP X-headers to and from FTDM |
0 = no/off 1= on/yes |
-
LibSNG-SS7 General Configuration Options
Description:
This sections sets a number of general options for the LibSNG-SS7 library
Options:
|
Mandatory Options |
Description |
Possible Values |
| procId |
A unique ID value for this system |
1 = ID of system running ISUP/MTP3 stacks 2-9 = voice only systems |
| license | full path of Sangoma's License file | /usr/local/freeswitch/conf/license.txt |
|
Optional Options |
Description |
Possible Values |
Sample section:
| <param name="procId" value="1"/> <param name="license" value="/usr/local/freeswitch/conf/license.txt"/> |
-
LibSNG-SS7 Relay Configuration Options
Description:
This section controls LibSNG-SS7's Relay functionalitiy.
Relay allows LibSNG-SS7 entities to communicate over TCP sockets so that they can be run on a different system.
Options:
|
Mandatory Options |
Description |
Possible Values |
| type | type of Relay Channel |
listen = every system needs a listen channel server = all channels on procId 1 are server channels client = all channels on procId 2-9 are listen channels |
| hostname | Host name reachable by this channel | DNS hostname of system |
| port | port to listen/connect to for this channel | Free TCP port |
| procID | process ID reachable by this channel | 1-9 |
|
Optional Options |
Description |
Possible Values |
Sample section for ProcId 1:
| <relay_channel name="channel1"> <param name="type" value="listen"/> <param name="hostname" value="192.168.1.100"/> <param name="port" value="5000"/> <param name="procId" value="1"/> </relay_channel> <relay_channel name="channel2"> <param name="type" value="server"/> <param name="hostname" value="192.168.1.101"/> <param name="port" value="5001"/> <param name="procId" value="2"/> </relay_channel> |
Sample section for ProcId 2:
| <relay_channel name="channel1"> <param name="type" value="listen"/> <param name="hostname" value="192.168.1.101"/> <param name="port" value="5001"/> <param name="procId" value="2"/> </relay_channel> <relay_channel name="channel2"> <param name="type" value="client"/> <param name="hostname" value="192.168.1.100"/> <param name="port" value="5000"/> <param name="procId" value="1"/> </relay_channel> |
-
LibSNG-SS7 MTP1 Configuration Options
Description:
This section sets configuration options MTP1 links.
Options:
|
Mandatory Options |
Description |
Possible Values |
| id | a unique id value | 1-99 |
| span | the TDMV span value | 1-32 |
| chan | the channel/timeslot of the link | 1-31 |
|
Optional Options |
Description |
Possible Values |
Sample Section:
| <mtp1_link name="mtp1-1"> <param name="id" value="1"/> <param name="span" value="1"/> <param name="chan" value="16"/> </mtp1_link> |
-
LibSNG-SS7 MTP2 Configuration Options
Description:
This section sets configuration options MTP2 links.
The MTP2 protocol ensures reliable communications on a signaling link.
Options:
|
Mandatory Options |
Description |
Possible Values |
| id | a unique id value for this section | 1-99 |
| mtp1Id | the ID of the mtp1 link used by this MTP2 link | 1-99 |
| errorType | type of MTP2 error correction used on the link |
basic pcr |
| lssuLength | the length of the data field in LSSU frames | 1,2 |
| linkType | protocol used on the the link |
itu88, itu92, etsi, ansi88, ansi92 |
|
Optional Options |
Description |
Possible Values |
Sample Section:
| <mtp2_link name="mtp2-1"> <param name="id" value="1"/> <param name="mtp1Id" value="1"/> <param name="errorType" value="basic"/> <param name="lssuLength" value="1"/> <param name="linkType" value="itu92"/> </mtp2_link> |
-
LibSNG-SS7 MTP3 Configuration Options
Description:
This section sets configuration options MTP3 links.
The MTP3 protocol is a layer 3 (network) layer protocol and ensures reliable communications to nodes in the network
Options:
|
Mandatory Options |
Description |
Possible Values |
| id | a unique id value for this section | 1-99 |
| mtp2Id | the ID of the mtp2 link used by this MTP3 link | 1-99 |
| mtp2ProcId | the procId where the mtp2 link is | 1-9 |
| linktype | protocol used on this link |
itu88, itu92, etsi, ansi88, ansi92 |
| switchtype | the ISUP protocol this link will carry |
itu88, itu92, itu97, itu00 etsiv2, etsiv3 ansi88, ansi92, ansi95 uk, india, russia, china |
| ssf | the Sub-Service Field value for this link | nat, int, spare, res |
| slc | Signal link selection code, unique in the linkset | 0-15 |
| linkset | the id of the linkset this link belongs to | 1-99 |
|
Optional Options |
Description |
Possible Values |
Sample Section:
| <mtp3_link name="mtp3-1"> <param name="id" value="1"/> <param name="mtp2Id" value="1"/> <param name="mtp2ProcId" value="1"/> <param name="linkType" value="itu92"/> <param name="switchType" value="itu00"/> <param name="ssf" value="nat" /> <param name="slc" value="0"/> <param name="linkset" value="1"/> </mtp3_link> |
-
LibSNG-SS7 MTP3 LinkSet Configuration Options
Description:
This section sets configuration options MTP3 linksets. An MTP3 linkset is a group of links all going to the same switch.
The MTP3 protocol is a layer 3 (network) layer protocol and ensures reliable communications to nodes in the network
Options:
|
Mandatory Options |
Description |
Possible Values |
| id | a unique id value for this section | 1-99 |
| apc | Adjacent Point Code, decimal point code for the other switch on these links | 1-99999 |
| minActive |
minimum number of links to keep active in the linkset. For load balancing the links keep all your links active |
1-16 |
|
Optional Options |
Description |
Possible Values |
Sample Section:
| <mtp_linkset name="linkset1"> <param name="id" value="1"/> <param name="apc" value="2"/> <param name="minActive" value="2"/> </mtp_linkset> |
-
LibSNG-SS7 MTP3 Route Configuration Options
Description:
This section configures the MTP3 routes. An MTP3 route is a logical connection to every node in the network (STPs and SSPs).
You need to configure a route for each node you will be communicating with.
Options:
|
Mandatory Options |
Description |
Possible Values |
| id | a unique id value for this section | 1-99 |
| dpc | The point code this route is for | 1-99999 |
| isSTP | is the node this route is for an STP | yes/no |
| linksets | a list of linksets this route is reachable through | 1-99 |
|
Optional Options |
Description |
Possbile Values |
Sample Section:
| <mtp_route name="route-4934"> <param name="id" value="1"/> <param name="dpc" value="4934"/> <param name="isSTP" value="no"/> <linksets> <linkset name="1"/> </linksets> </mtp_route> |
-
LibSNG-SS7 ISUP Interface Configuration Options
Description:
This section configures the ISUP interfaces. An ISUP interface is a logical connection to an SSP where voice channels are terminated.
You need to configure an ISUP interface for each SSP.
Options:
|
Mandtory Options |
Description |
Possible Values |
| id | a unique id value for this section | 1-99 |
| spc | the Self-Point-Code for this interface | 1-99999 |
| mtp3RouteId | the MTP3 route this interface uses to communicate with the SSP | 1-99 |
| ssf | the Sub-Service Field value used for ISUP messages |
nat, int, spare, res |
|
Optional Options |
Description |
Possible Values |
Sample Section:
| <isup_interface name="isup-4934"> <param name="id" value="1"/> <param name="spc" value="5111"/> <param name="mtpRouteId" value="1"/> <param name="ssf" value="int"/> </isup_interface> |
-
LibSNG-SS7 Call-Control Configuration Options
Description:
This section configures the Call-Control spans. SS7 specific configuration options for voice channels are set here.
Every span that will be used in the SS7 configuration needs to have a section here; even if the span is on another system.
Options:
|
Mandatory Options |
Descriptions |
Possible Values |
| id | a unique id value for this section | 1-99 |
| procId | the procId where this is span exists | 1-9 |
| isup_interface | the isup interface Id that these channels are associated with | 1-99 |
| cicbase | the base CIC value for this span | 1-99999 |
| ch_map | the channel map for this span | s,g, 1-31 |
| typeCntrl | the CIC control method for this span (mainly used for glare) | controlled, controlling |
| itx_auto_reply | Automatically reply to SPIROU ITX messages with a TXA message | yes/no |
|
Optional Options |
Description |
Possbile Values |
| clg_nadi | calling number NADI | see here |
| cld_nadi | called number NADI | see here |
| min_digits | minimum number of digits to wait for | see here |
| clg_sub | calling number sub-address | see here |
| cld_sub | called number sub-address | see here |
| obci_bita | ACM, Optional Backwards Indicator, In-band Information | see here |
| lpa_cot | LPA in response to COT | see here |
Sample Section:
| <cc_span name="SS7_CC1"> <param name="id" value="1"/> <param name="procId" value="1"/> <param name="isup_interface" value="1"/> <param name="cicbase" value="1"/> <param name="ch_map" value="s1,2-15,g16,17-31"/> <param name="typeCntrl" value="controlled"/> <param name="clg_nadi" value="4"/> <param name="cld_nadi" value="4"/> </cc_span> |
-
FreeTDM Span Configuration Options
Description:
This section configures the span for the FreeTDM core.
Every span on the local system needs a section here
Options:
|
Mandatory Options |
Description |
Possbile Values |
| ccSpanId | the Call-Control configuration ID that is to be used for this span | 1-99 |
| dialplan | the type of dialplan this span will be using | XML |
| context | the context in the dialplan this span will be using |
$${pstn_context}, from-ftdm-ss7 |
|
Optional Options |
Description |
Possbile Values |
Sample Section:
| <span name="wp1" cfgprofile="ss7config"> <param name="ccSpanId" value="1" /> <param name="dialplan" value="XML" /> <param name="context" value="$${pstn_context}" /> </span> |
-
-
.end