Sangoma Signal Media Gateway

Sangoma Signal Media Gateway

User Manual

Michael J. Mueller



Preface

Revision History
Revision 0.0117 Jan 2008Revised by: mjm
First published on the web; still being reformatted from tikiwiki source
Revision 0.0221 Jan 2008Revised by: mjm
Call Redirection section: add SMGRev and fix example


Chapter 1. Sangoma SMG

This manual describes the Sangoma Signal Media Gateway (SMG) and its components. SMG is a Linux-based group of technologies that create an interchange for real-time bit-streams for voice and data applications. SMG integrates open-source PBX applications like Call Weaver, Freeswitch, and Asterisk with alternative circuit access technologies like SS7/ISUP, PRI, and BRI.

SMG separates circuit access technology from VoIP access technology, and call handling technology so that new combinations can be formed using preferred components. This is a continuation of the Unix approach of making small tools that users can engineer into new combinations.


Planning and Provisioning

1. Identify the 32 bit Linux distribution that you will use. 2. Identify each location that will support SS7 inter-machine trunks and PRIs 3. For each location, count the number of E1/T1 ports needed 4. Select Sangoma AFT series cards to support decisions above 5. Fill out the ss7box Installation Questionnaire 6. Get CIC Mapping for each SS7 inter-machine trunk 7. Get PRI Provisioning information for each PRI (optional) 8. Get ambnalog interface provisioning information (optional)


System Installation and Configuration

1. Disable Hotplug services for wanpipe drivers. http://sangoma.editme.com/wanpipe-linux-asterisk-appendix#hotplug 2. Configure zaptel interfaces used for PRI and analog plain-old-telephone-service (POTS) lines. * Asterisk PRI Configuration? * Asterisk A200 Analog POTS Configuration * TDMV_SPAN in wanpipeX.conf are in the range 1..n. Values are used only once. The range applies to both PRI and analog wanpipes. TDMV_SPAN is also the zaptel span number. The range does not apply to the SS7 IMT wanpipes. 3. Configure SS7 IMT interfaces * Perform CIC Mapping * Wanpipe Configuration for SS7 IMT Voice and F-Link * Wanpipe Configuration for SS7 IMT Voice-only? * Wanpipe Configuration for SS7 A-link? * TDMV_SPAN in wanpipeX.conf are in the range 1..n. Values are used only once. The range applies only to SS7 IMT wanpipes. The range does not apply to zaptel PRI or analog wanpipes. * Adjust the TDM API Interrupt Rate Control 4. Configure Echo Cancellation. 5. Specify order in which wanpipes are started in wanrouter.rc. * Wanpipes that have SS7 links in them must be omitted from wanrouter.rc. ss7box controls these wanpipe interfaces to adhere to the MTP2 protocol. These are the wanpipes whose numbers are specified in ss7box.conf. * TDMV_SPAN numbers for zaptel interfaces and the TDMV_SPAN numbers for SS7 IMTs are different instances of the same variable. This means that TDMV_SPAN = 0 in a zaptel wanpipeX.conf is different from TDMV_SPAN = 0 in an SS7 IMT wanpipeX.conf. * The following order for starting wanpipes is recommended: 1. zaptel wanpipe interfaces are started in the order of their zaptel TDMV_SPAN number assignment. 2. SS7 inter-machine trunk wanpipe interfaces that have no SS7 links in them can be started without regard to order. 6. ss7box.conf 7. ss7boost.conf 8. sangoma_mgd.conf 9. woomera.conf 10. Asterisk/Callweaver configuration


CIC Mapping

CIC mapping is assigning Circuit Identification Codes to specific spans and chans. The concept of Channel Numbering is intimately related. Here is a possible CIC map for a 2 E1 system: 1. CIC 1-15 and 17-31 are assigned to wanpipe1 (sangoma card at slot x bus y port 1 ) chans 1-15 and 17-31 (chan 16 is the ss7 signaling channel, so CIC 16 is unused by ISUP in this case) 2. CIC 33-63 are assigned to wanpipe 2 (sangoma card at slot x bus y port 2) chans 1-31 (very often, CIC 32 is not specified since it corresponds to slot 0 on the E1 which cannot be used for voice or signalling) This mapping comes from information supplied by the telco. They may provide an identifer for each E1 loop and the CICs assigned to each loop. We must then ensure that the: * telco E1 loop with CICs 1-15, 17-31 is plugged in to the wanpipe1 port * telco E1 loop with CICs 33-63 is plugged in to the wanpipe2 port It is possible that the telco could specify the same CIC map as follows: E1-1 CIC 00..31 E1-2 CIC 32..63 SS7 link T/S 16 on E1-1 In this case we modify the range to omit E1 sync channel 0 as follows: E1-1 CIC 01..31 E1-2 CIC 33..63 Then we omit the SS7 channel as follows: E1-1 CIC 01..15, 17..31 E1-2 CIC 33..63 The ss7boost.conf [TRUNK] section reflects this configuration.


Sangoma echo Cancellation

Sangoma provides a procedure on their wiki to turn on HWEC on your A200d or A102/104/108d. (http://sangoma.editme.com/wanpipe-linux-asterisk-appendix#confirmHWEC) You will need to make call to through your system to ensure echo cancellation is working. Handy commands for checking status of HWEC: * wanpipemon -i w1g1 -c ehw * wan_ec_client wanpipe1 stats Command for forcing HWEC in service on an SS7 IMT with channel 16 SS7 F-link: * wan_ec_client wanpipe2 be 1-15.17-31


TDM Interrupt Rate Control

This procedure only applies to Shark model E1/T1 cards: A104 and A108. 1. Query your Sangoma cards for model and firmware revision. These cards need updating: [root@ana17 ~]# wanrouter hwprobe ------------------------------- | Wanpipe Hardware Probe Info | ------------------------------- 1 . AFT-A200-SH : SLOT=7 : BUS=1 : IRQ=9 : CPU=A : PORT=PRI : HWEC=32 : V=06 2 . AFT-A104-SH : SLOT=9 : BUS=1 : IRQ=11 : CPU=A : PORT=1 : HWEC=128 : V=21 3 . AFT-A104-SH : SLOT=9 : BUS=1 : IRQ=11 : CPU=A : PORT=2 : HWEC=128 : V=21 4 . AFT-A104-SH : SLOT=9 : BUS=1 : IRQ=11 : CPU=A : PORT=3 : HWEC=128 : V=21 5 . AFT-A104-SH : SLOT=9 : BUS=1 : IRQ=11 : CPU=A : PORT=4 : HWEC=128 : V=21 Card Cnt: S508=0 S514X=0 S518=0 A101-2=0 A104=1 A300=0 A200=1 A108=0 2. Update firmware on Shark model cards to revision 25 or higher. Check out the Sangoma Firmware Update Procedure. 3. Edit /etc/wanpipe/wanpipeX.conf for each E1/T1 port. Find the [wXg1] section where X is the wanpipe number. The MTU variable control the size of the packets in octets delivered to the API. Changing this value also affects the rate of interrupts to the CPU. Less interrupts with more data is a more efficient arrangement for most SMG systems. The values for MTU can be: * 8 corresponding to a 1ms interrupt rate * 16 - 2 ms * 40 - 5 ms * 80 - 10 ms (It is recommedend that only the value of 80 be used.) 4. Save changes


Asterisk/Callweaver Configuration and Dialplan

Trunk groups are a key concept for coordinating Asterisk and SMG. Trunk groups are numbered 1..n. The trunk group is specified in the Asterisk dialplan with a "gN" notation. For example:

	exten => _X.,n,Dial(WOOMERA/g1/${EXTEN}|60|o,30)
	

where g1 specifies trunk group 1.

The Nature of Address Indicator of the Called Party Address of the IAM can be optionally filled using a Structured Trunk Group Value.

Inbound call context is defined according to the trunk group the call belongs to. Calls in trunk group N arrive in Asterisk in the context of sangomaN. For example, inbound calls on trunk group 1 are in the "sangoma1" context.

NADI prefix insertion and removal - If the NADI In Prefix feature is used, then for all outbound chan_woomera calls must have a NADI value prepended to the calling and called numbers. All inbound calls must have the NADI prefix value removed.

Calling Line Identification - Presentation and Restriction values passed from ISUP to Asterisk for inbound calls, and from Asterisk to ISUP for outbound calls. Information on establishing the values for outbound calls can be found in the description of the Asterisk dialplan function SetCallerPres. SetCallerPres uses symbolic constants whose values are composed of a Presentation value and a Screening value.

Here is an example of an Asterisk/SMG extensions.conf file.


Structured Trunk Group Indicators

Currently, Asterisk pushes the trunk group as an integer to SMG. The value is taken from the extensions.conf. We define a new class of trunk group number range for mapping additional information into what was the trunk group number. In the structure we place information into bitfields in the integer value. We propose placing Nature of Address indicator, number plan indicator, internal network indicator, and t/g info into the structured t/g integer. This will allow creation of routing information determined in Asterisk routing and used by the ss7boost ISUP engine. Furthermore, no changes are needed to Asterisk, chan_woomera, or sangoma_mgd since they transparently pass the configued gN value assigned in extensions.conf. The structure is defined as: typedef struct { unsigned int tg :4 PACKED; unsigned int spare0 :4 PACKED; unsigned int nadi :7 PACKED; unsigned int spare1 :1 PACKED; unsigned int spare2 :4 PACKED; unsigned int numplan :3 PACKED; unsigned int inni :1 PACKED; unsigned int spare3 :8 PACKED; } t_structured_tg; The structured value for a typical national application: trunk group: 1 Nature of Address: 3 (national significant number) number plan: 1 (E.164) internal network number routing allowed: no is the value 1 Putting the information into the structured format: 0x00000001 - trunk group 0x00000300 - Nature of Address 0x00100000 - number plan 0x00800000 - internal network number routing not allowed ----------------- (bitwise ORing) 0x00900301 which is decimal 9437953. The structured t/g value is what actually goes in to extensions.conf: exten => _2XXX.,n,Dial(WOOMERA/g9437953/${EXTEN}|60|o) Another common value for a national applcation is: trunk group: 1 Nature of Address: 1 (subscriber number - national use) number plan: 1 (E.164) internal network number routing allowed: no is the value 1 Putting the information into the structured format: 0x00000001 - trunk group 0x00000100 - Nature of Address 0x00100000 - number plan 0x00800000 - internal network number routing not allowed ----------------- (bitwise ORing) 0x00900101 which is decimal 9437441. The international value is: trunk group: 1 Nature of Address: 4 (international) number plan: 1 (E.164) internal network number routing allowed: no is the value 1 Putting the information into the structured format: 0x00000001 - trunk group 0x00000400 - Nature of Address 0x00100000 - number plan 0x00800000 - internal network number routing not allowed ----------------- (bitwise ORing) 0x00900401 which is decimal 9438209.


Nature of Address

From Q. 763, Section 3.9 Called Party Address and Section 3.10 Calling Party Address. Values used by both parameters: 0 - spare 1 - subscriber number (national use) 2 - unknown 3 - national (significant) number 4 - international number Values used only in Called Party Address: 5 - network-specific number (national use) 6 - network routing number in national (significant) number format (national use) 7 - network routing number in network-specific number format (national use) 8 - network routing number concatenated with Called Directory Number (national use)


NADI in Prefix

The NADI In Prefix feature allows and therefore requires the dialplan to set and get the Nature of Address for calling and called numbers dynamically per call. This is important for international gateway call switching. If this option is turned on, the dialplan must insert and remove the 3 decimal prefix digits on all callinga nd called numbers in and out of chan_woomera. For example, if a number is 33444555666 and it is an international number, then the NADI value of 004 is prepended and becomes 00433444555666. A three-digit prefix allows all values in the range 0..255 to be used. This is necessary so that certain nationally defined NADI values can be used. The feature is enabled in ss7boost.conf the TRUNK_GROUP section. The control is 'y' or 'n' for each trunk group. Here is one way to remove prefix digits from inbound called numbers from trunk group 1 in the dialplan: [tg1-inb] include => d10-analog-lines exten => _919333X.,1,noop exten => _919333X.,n,Playback(demo-congrats) ;exten => _919333X.,n,Goto(1) exten => _919333X.,n,Hangup exten => _919444X.,1,noop exten => _919444X.,n,Playback(tt-weasels) ;exten => _919444X.,n,Goto(1) exten => _919444X.,n,Hangup [sangoma1] exten => _X.,1,Goto(tg1-inb,${EXTEN:3},1) Some AGI scripts are needed to insert and remove digits from the calling numbers.


Call Redirection

Redirection is used for call forwarding and for some local number portability implementations. A redirected call will do one of the following on the SMG: originate, terminate, or transit. The origination consists of a single outbound call. The termination consists of a single inbound call. The transit consists of an inbound and an outbound call. The implementation is composed of an ISUP component and a dialplan component. The ISUP component is responsible for inserting redirection parameters supplied by the dialplan into outbound IAMs for outbound calls, and collecting redirection parameters from inbound IAMs on inbound calls and sending that information to the dialplan. The dialplan is responsible for analysing and processing the information and making decisions so that redirected calls are properly handled.

The redirection information contained in the IAM is a central part of the feature implementation. Moving that information between the ISUP engine (ss7boost) and the dialplan requires using the RDNIS channel variable in Asterisk. This information will be an ASCII string structured in dash-separated-value format as follows:

      PREFIX-RDN-RDNA-RDPR-RDNP-OCDN-I-O-R-C-N
	

Table 1-1. Redirection String Parameter Specifications

MnemonicNameFixed/Var. LengthWidthValues
PREFIXPrefix ID StringF6 charthe following string: "SMGRev"
RDNRedirecting NumberV1..31decimal digit char
RDNARedirecting Number Nature of Address IndicatorF3decimal digit char, "000".."255"
RDPRRedirecting Number PresentationF1decimal digit char, '0'..'3'
RDNPRedirecting Number Number PlanF1decimal digit char, '0'..'7'
OCDNOriginal Called NumberV1..31decimal digit char
IRedirecting IndicatorF1decimal digit char, '0'..'7'
OOriginal Redirecting ReasonF1hexadecimal digit char, '0'..'9', 'A'..'F'
RRedirecting ReasonF1hexadecimal digit char, '0'..'9', 'A'..'F'
CRedirection CounterF1decimal digit char, '0'..'5'
NReserve NationalF1binary digit char, '0' or '1'

Note: Additions will be forthcoming for Presentation and Nature of Address information elements for the Original Called Number.

The maximum string length will be 256 chars which fits into the RDNIS Asterisk channel variable and the SIP redirection variable string in Asterisk. Currently, the string limit is set to 79 chars. Future revisions will expand this limit.

ss7boost collects the information from the IAM and formats it in the CSV format shown above. The string is then passed in a call start message to sangoma_mgd who transfers the string into the RDNIS channels variable for the call session with Asterisk.

Refer to Q.762 and Q.763 for descriptions of parameters and meanings of code values.

AGI scripts are needed to create and use the RDNIS strings for this feature. More on that topic will be published at a later date.

If the RDNIS string is zero length, then the call has no redirection parameters associated with it.

To set the RDNIS variable prior to making an outbound SMG ISUP call, use the technique shown in the /etc/asterisk/extensions.conf example below:

[ss7-imt]
exten => _1X.,1,noop
exten => _1X.,2,noop(${CALLERID(rdnis)})
exten => _1X.,3,Set(CALLERID(rdnis)=SMGRev-1234-003-2-1-4321-1-2-3-4-1)
exten => _1X.,4,noop(${CALLERID(rdnis)})
exten => _1X.,5,Dial(WOOMERA/g1/${EXTEN:1}|60)
	

To examine the RDNIS of an inbound SMG ISUP call use the technique shown in the /etc/asterisk/extensions.conf example below:

[d10-analog-lines]
exten => _616XXXXXXX,1,noop(${CALLERID(rdnis)})
exten => _616XXXXXXX,2,Goto(d7-analog-lines,${EXTEN:3},1)
	

A200d Configuration

In this example we are using 4 FXS interfaces in a single A200d card. 1. Create a /etc/wanpipe/wanpipeX.conf file for each A200 and A200d in your box. A sample wanpipeX.conf for A200d shows the output of the wancfg program. When configuring Asterisk spans, the zaptel interfaces must be assigned to a contiguous block of TDMV_SPAN numbers in the range 1..n. The interfaces for TDMV_SPAN 1..n must be brought up in the order of their assigned TDMV_SPAN number. The TDMV_SPAN number is also the zaptel span number. 2. Start the A200 wanpipes now to ensure the configuration so far is correct. Take a look at an example of the /var/log/messages output during the start of an A200d so you'll know what to expect. 3. Stop the A200 wanpipes. 4. Configure Asterisk to use the A200 interfaces. Note that FXS ports are configured to expect and respond to the FXO signaling protocol. 1. If you have a set of template configuration files for Asterisk, they should be placed in /etc/asterisk now. 2. /etc/zaptel.conf loadzone=us defaultzone=us fxols=1-4 For more help with configuring zaptel. 3. /etc/asterisk/zapata.conf [channels] echocancel=yes echocancelwhenbridged=yes context=fxs-ports signalling=fxo_ls callerid=>2121113331 channel=>1 callerid=>2121113332 channel=>2 callerid=>2121113333 channel=>3 callerid=>2121113334 channel=>4 4. /etc/asterisk/extensions.conf [analog-lines] exten => 1113331,1,Dial(Zap/1) exten => 1113332,1,Dial(Zap/2) exten => 1113333,1,Dial(Zap/3) exten => 1113334,1,Dial(Zap/4) [fxs-ports] include => analog-lines For more information on Asterisk dialplan setup. 5. tail -f /var/log/messages& 6. Start the A200(d) wanpipe being configured: wanrouter start wanpipe1 7. Run ztcfg to read the zaptel.conf file and make the channels available to Asterisk. [root@b3 etc]# ztcfg -vvv Zaptel Configuration ====================== Channel map: Channel 01: FXO Loopstart (Default) (Slaves: 01) Channel 02: FXO Loopstart (Default) (Slaves: 02) Channel 03: FXO Loopstart (Default) (Slaves: 03) Channel 04: FXO Loopstart (Default) (Slaves: 04) 4 channels configured. 8. Start Asterisk interactively or in background. You will observe the following messages in /var/log/messages: Oct 3 15:25:14 b3 kernel: wanpipe1: Open (usecount=1, channo=1, chanpos=1)... Oct 3 15:25:14 b3 kernel: wanpipe1: Open (usecount=2, channo=2, chanpos=2)... Oct 3 15:25:14 b3 kernel: wanpipe1: Open (usecount=3, channo=3, chanpos=3)... Oct 3 15:25:14 b3 kernel: wanpipe1: Open (usecount=4, channo=4, chanpos=4)... 9. Make calls between the ports using the associated numbers shown above in extensions.conf to verify successful completion of this configuration. 10. Repeat for all other A200(d) in the system making changes to parameters as required.


System Operation

This section describes how to start, stop, and verify operation, and troubleshoot SMG.


Starting SMG

1. start ss7box 2. cd /smg 3. ./re-sync.sh 4. wanrouter start 5. optional, ztcfg 6. start asterisk/callweaver


Stopping SMG

Stopping ss7box and SMG is necessary for upgrading. Stopping is required if Asterisk is using Sangoma interfaces (analog or PRI). 1. stop ss7box 2. cd /smg 3. smgss7_ctrl stop 4. stop asterisk 5. wanrouter stop; ensure all wanrouters are stopped


Checking Component Revisions

1. ss7box 2. xmpt2km 3. wanrouter 4. sangoma_mgd and chan_woomera 5. wanpipe firmware


SMG Upgrade Procedure

1. Get smginstall package 2. IMPORTANT - save existing SMG configuration: ./smginstall archive 3. stop SMG 1. stop asterisk 2. stop SMG 1. cd /smg 2. ./smg_ctrl stop 3. stop ss7box 1. cd /ss7box 2. get pid of ss7box: ./xps 3. kill (pid of ss7box) 4. stop all wanpipes 4. install new drivers and software: ./smginstall install * answer no to starting wanpipes on init * answer no to modifying asterisk conf files * make y/n choice per preference for udev question * answer yes to all other questions 5. compile smg components and setup environment 1. cd /smg 2. ./install 6. SMG Start 7. Verify operation using the SMG Initial Test Calls procedure. Deprecated method 1. Get smginstall package 2. save SMG configuration: ./smginstall archive 3. stop SMG: /smg/smgss7_ctrl stop 4. install new drivers and software: ./smginstall install * answer no to starting wanpipes on init * answer no to modifying asterisk conf files * make y/n choice per preference for udev question * answer yes to all other questions 5. SMG Start 6. Verify operation using the SMG Initial Test Calls procedure.


Getting smginstall package

Browse: ftp://ftp.sangoma.com/linux/smg to find the latest smginstall version 1. cd /usr/src 2. wget -c ftp://ftp.sangoma.com/linux/smg/smginstall-(version).tgz 3. tar xzvf smginstall-(version).tgz 4. cd smginstall-(version)


Initial Test Calls

1. Ensure you have numbers to call on the switch. Ensure that you have numbers assigned to your SMG. 2. Get an IAX client working with the SMG/ASterisk box. This client will be used for sending and recieving test calls. 3. Ensure your dialplan is setup correctly. See above for details. 4. Setup verbose logging for call processing. Use VGI value of 1. See the ss7boost_cli manual for Verbose Logging. 5. Ensure this following: * SS7 link is up. Refer to the SS7 Link Status section for details. * SMG is running. You may use the /ss7box/xps script: [root@GWSS7 ss7box]# ./xps 30406 -15 ss7boxd 31398 -15 ss7boost 31402 0 sangoma_mgd 31406 0 asterisk * ISUP circuits are reset and unblocked 6. Make an inbound call. Verify ISUP signalling. Verify Asterisk debug. Verify two-way voice. Refer to Inbound Call Scenarios for examples. 7. Make an outbound call. Verify ISUP signalling. Verify Asterisk debug. Verify two-way voice. Refer to Outbound Call Scenarios? for examples.


Chapter 2. ss7box

This is the ss7box chapter.


Sample Section

This is a sample section.


Configuration

The ss7box configuration file is /etc/ss7box/ss7box.conf. An example of this file follows:

 
# This is the configuration file for Xygnada ss7box release 0.1 and 0.3
# Copyright 2004, Michael J. Mueller

# This a comment line

# The order of elements, the bracketed elements, and the order and type
# of information elements must adhere to the pattern specified.

# All index values must be sequential with a skip value of one (1).

[GLOBAL]
#
# SS7 Protocol: ITU/ANSI
#
# Self Point Code:
#       ITU format is 14 bit unsigned integer
#       ANSI format is (network) (cluster) (member)
#               network is an 8 bit unsigned integer
#               cluster is an 8 bit unsigned integer
#               network is an 8 bit unsigned integer
#
# SS7 Prot.  Self Point Code Serial No. Authorization Code            Verbose Group
  ITU           201           xlb3      86d74c6041412a16250670152b74750b 2

[CLI]
#       Local
#       address                 port
        127.0.0.104             55063
#       Remote
#       address                 port
        127.0.0.105             55063

[CROSSLINK]
# Mode (SIMPLEX | DUPLEX)       Local IP Addr   Local Port      Remote IP Addr  Remote Port
  SIMPLEX                       na              na              na              na
# DUPLEX                        192.168.1.21    54030           192.168.1.22    54020

[FACILITIES]
#
# Card Name:
#       wanpipeX where X is 1..n; see Sangoma documentation for more information;
#       don't care for UDP facilities
## Index Card Name Numeral       Frame/Packet    Clear Chan.
  0     1                       80              y
  end
# No more than four facilities supported at this time.

[MTP2LINKS]
# Index Fac  Slot LSet Link T1    T2    T3    T4e   T4n   T5    T6    T7
  0     0    15   0    0    13.00 11.50 11.50 0.60  2.30  0.12  3.00  1.00
  end
# Up to 93 links may be configured.

[MTP3TIMERS]
#
# Timer Value
  1     0.80
  2     1.40
  3     0.80
  4     0.80
  5     0.80
  6     0.80
  7     1.50
  8     1.20
  9     0.00
  10    30.00
  11    30.00
  12    1.50
  13    1.50
  14    3.00
  15    3.00
  16    2.00
  17    1.50
  18    20.00
  19    600.00
  20    120.00
  21    120.00
  22    15.00
  23    15.00
  24    15.00
  25    35.00
  26    15.00
  27    5.00
  28    35.00
  29    65.00
  30    35.00
  31    120.00
  32    120.00
  33    600.00
  34    120.00
# Periodic Facility Check Timer
  35    10.00
# Periodic Signaling Link Test Message Timer
  36    120.00
# Crosslink Test Acknowledge Timer (must be less the timer 35 Periodic Facility Check Timer
# that controls the Crosslink Test Message)
  37    5.00


  In the MTP3LINKSETS section the linkset are defined. A linkset is a collection of links 
  between ss7box and its adjacent nodes. Each entry in the table is a different linkset.

    * Index - identifies the linkset in the configuration; sequential, no skips, 0..15
    * APC - adjacent point code, point code of node on remote end of linkset
    * slt - signal link test pattern size: 0 - off, no SLT; 1..15 - on, pattern size  
    * slt - deprecated: y - on, size compiled in; n - off
    * prio: SIO priority value in SNM and SLT
    * ni: SIO networking indicator value in SNM and SLT
    * Links in Linkset: listed in order of SLC (0..15), entry is MTP2LINKS index, the 
         Link value in MTP2LINKS for selected entry must match the SLC column selected; 
	 if index 0 has link value 3 then insert '0' in the SLC 3 column of the table 

[MTP3LINKSETS]
#                              Links in Linkset (associated MTP2 link indices)
# Index APC   slt prio ni SLC: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
  0     4000  4   0    2       0 na na na na na na na na na na na na na na na
  end


In the PATHS section, linksets are grouped so that one or two linksets will be used as a single equivalent and load-balanced path to a destination. This is how the ANSI combined linkset in implemented. The PATH concept allows the combined linkset idea to be used in both ANSI and ITU implementations. ss7box routes messages to paths instead of linksets.

    * Index - identifies the path in the configuration, sequential, no skips, 0..15
    * Linkset-A - mandatory, index of linkset in MTP3LINKSETS section; linkset index may be used only once in the PATHS section.
    * Linkset-B - optional, index of linkset in MTP3LINKSETS section; linkset index may be used only once in the PATHS section. 

[PATHS]
# best practice for linksets to STP configurations:
# the first path associated with a linkset should be a path to the adjacent
# node with that linkset in the Linkset-A position; this is not enforced and
# is put into effect through careful attention to the construction of this
# section

# Index     Linkset-A     Linkset-B (optional)
  0         0             na
  end


In the ROUTES section the destination point codes recognized by a particular ss7box are defined. It is mandatory that all adjacent point codes be entered in the table. Non-adjacent destinations are accessible by going through the adjacent point codes.

    * Index - identifies the route in the configuration, sequential, no skips, 0..63
    * DPC - destination point code
    * Protocol - MTP3 or M3UA; MTP3 is the SS7 network; M3UA is a SIGTRAN IP network that is under development (experimental)
    * P/Path - Primary Path, index from PATHS section, the path this used normally for reaching the DPC
    * A/Path - Alternate Path, index from PATHS section, the path that is used if the Primary Path is not available
    * Crosslink - y/n, use link connecting two ss7boxes in a duplex/redundant configuration, used when the Primary Path is not available and before trying the Alternate Path 

[ROUTES]
#
# Must enter routes for adjacent and non-adjacent nodes.
#
# Index         DPC             Protocol  P/Path  A/Path  Crosslink
  0             4000            MTP3      0       na      N
  end

[M3UA]
# Two ports actually used; port and port+1
# local  ipv4 addr and port
   127.0.0.44           50220
# remote ipv4 addr and port
   127.0.0.43           50220

	 

working Section

Installation The first step for all installations is to complete the ss7box Installation Questionnaire.

1. Specify the transmission media 1. E1 or T1 2. Line encoding scheme 3. Framing scheme 4. Sangoma card clock (supplier or consumer) 2. Specify the transmission path 1. How many segments? 2. Identify the connection point of each segement. 3. Can you loopback each segement connection point in both directions? 3. Specify the protocol flavor: ITU or ANSI 4. Specify the SS7 link configuration: F-link or A-link (F-links are used everywhere. A-links are most common when connecting SS7 links to a signal transfer point (STP)). 5. What is the self point code (SPC) - the point code assigned to ss7box? See the discussion on Point Code Structure. 6. How many linksets will be defined? 7. For each linkset specify 1. Adjacent point code (APC) - the point code of the node on the other end of the linkset? 2. Equipment vendor and model of node on adjacent end 8. For each link in a linkset, indicate 1. Sangoma card (if more than one) 2. Sangoma card port (1..n) 3. channel number (E1: 1..31, T1: 1..24) 4. signal link code (SLC) 9. Do you want direct support? If so, how do we log in as a root-priviledged user to the ss7box platform? 10. Identify the installation/operation contacts 1. name 2. location (city/country) 3. email 4. instant messanger service and id 5. voice contact info 6. working hours

Installing ss7box requires: 1. Installing the Sangoma driver 2. Creating and populating /etc/ss7box 3. Creating and populating /usr/local/ss7box You should determine if you are installing ss7box as part of Sangoma Signal Media Gateway (SMG), SCP, STP, or some combination. If SMG functionality is needed then install with the standard SMG installation procedure; otherwise follow the instructions below. ALERT: Only works with 32 bit Linux kernels. GCC Rev 3.x compilers are recommended. 1. installation instructions go here...... Configuration All configuration files are found in /etc/ss7box. ss7box Wanpipe Configuration File ss7box.conf Operation Reading ss7box Output to /var/log/messages All messages have a text explanation and optional parameters that follow in a colon-separated format. Each message describes its own parameters. * "I:" messages are informational and exposed if the verbose options are used; ss7box now generates far too much information to be useful in a live system; this is an area in need of improvement. * "W:" messages are warnings that indicate events that should be noted and possibly remedied. * "F:" are fatal exceptions that cause ss7box to cease running. These exceptions require the attention of ss7box developers. Starting ss7box 1. cd /usr/local/ss7box 2. ./Tail 3. ./ss7boxd_(revision) 4. Watch output of /var/log/messages for indications of configuration problems and links coming up or not. The output is complex and not easy to decipher. Eventually you will become accustomed on how to read the output. Stopping ss7box You should stop ss7box only to change configuration or revisions of ss7box or xmtp2km. These events do not occur frequently. Stopping ss7box drops all SS7 links. Adjacent point codes will generate lots of alarms when SS7 links are down. In this case, the node technicians at the adjacent point codes will most likely put the offending links into a manually disabled state. You will need to coordinate manual enabling of the SS7 link to get it back in service. Once your links are up, leave them up unless you need to reconfigure or upgrade ss7box/xmtp2km. Any outages should be planned with the adjacent node operators and durations minimized. 1. ps axj | grep ss7 2. kill (pid of ss7box) 3. wanrouter stop all wanpipes to force removal of xmtp2km kernel module Are The Links Up? Refer to SS7 Link Status. Finding the SS7 Links In a E1/T1 This procedure samples the raw bitstream flow of the the entire E1/T1 as presented by the Sangoma Bitstream API which is channels 1-31 for E1 and 1-24 for T1. The wanpipeX.conf file is modified, so be sure to save existing wanpipeX.conf files if appropriate. * Find the SS7 Links E1 Procedure * Find the SS7 Links T1 Procedure? Checking Level 1 While ss7box is running you can do the following: * To check E1/T1 alarms use: # wanpipemon -i w1g1 -c Ta * To see if data is moving through the Sangoma drivers: # ifconfig > output.ifconfig; sleep 5; ifconfig >> output.ifconfig * To see a bit-level sample of what is being sent and received by the SS7 link driver: # wanpipemon -i w1g16 -c tr > bscap OUTGOING Len=80 TimeStamp= 1692 Oct 21 11:52:23 542222 [1/100s] Raw (HEX) 00 9C 98 FB 7D DF 37 00 E0 C4 DC EF FB BE 01 00 27 E6 7E DF F7 0D 00 38 31 F7 FB BE 6F 00 C0 89 B9 DF F7 7D 03 00 4E CC FD BE EF 1B 00 70 62 EE F7 7D DF 00 80 13 73 BF EF FB 06 00 9C 98 FB 7D DF 37 00 E0 C4 DC EF FB BE 01 00 27 E6 7E DF F7 Stop operation with ctl-c. A functioning SS7 link that is trying to align or is aligned and idle, a non-trival pattern of data will be evident by looking diagonally across the output. This is true for both INCOMING and OUTGOING data samples. This pattern exists because a long sequence of repeated small packets are being sent in both directions. The pattern complexity is increased by HDLC-style bit-stuffing. Note the pattern in the OUTGOING sample output shown above. If there is a trivial pattern or no pattern, and the SS7 link is not aligned, then mostly likely there is a configuration or transmission problem. Checking Level 2 This is a brand new tool that runs the bitstreams through and HDLC decoder so the LSSU and FISU patterns can be seen. Here's how to install and use it. It will be included in new Sangoma driver releases. 1. ftp.sangoma.com/tmp 2. untar the wanpipe_hdlc.tgz into 3. 2.3.4 release wanpipe/ directory 4. copy wanpipe_hdlc.tgz into wanpipe/ 5. untar 6. then go to utils/wanpipemon 7. make clean 8. make 9. make install 10. start ss7boxd 11. wanpipemon -i w1g16 -c trh (w1g16 must be set according to your configuration) Output: telco->ss7box, FISUs INCOMING Len=80 TimeStamp=59136 Mar 06 00:04:17 831279 [1/100s] Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF Raw (HEX) FF FF 00 FF FF ss7box->telco, FISUs OUTGOING Len=80 TimeStamp=59143 Mar 06 00:04:17 837884 [1/100s] Raw (HEX) FF 83 00 9B A6 Raw (HEX) FF 83 00 9B A6 Raw (HEX) FF 83 00 9B A6 Command Line Interface More to come....


ss7box Conformance

The compliance information is given with respect to the ITU conformance test specification in the tables in this section.

Table 2-1. Q.781 LINK STATE CONTROL-EXPECTED SIGNAL UNITS/ORDERS

Test IdentifierTest TitleCompliance Note
1.1Initialisation (Power-up)C
1.2Timer T2C
1.3Timer T3C
1.4Timer T1 and T4 (Normal)C
1.5Normal alignment - correct procedure (FISU)C
1.6Normal alignment - correct procedure (MSU)C
1.19Set emergency while in "not aligned stateC
1.25 Deactivation during initial alignment C
1.26 Deactivation during aligned state C
1.29 Deactivation during link in ser­vice C
1.32 Deactivation during proving period C
3.1 Link aligned ready (Break Tx path) C
3.3 Link aligned not ready (Break Tx path) C
3.5 Link in service (Break Tx path) C
3.7 Link in Processor outage (Break Tx path) C
8.1 MSU transmission and reception C
9.1 MSU transmission and reception NC

Table 2-2. Q782 COMPATIBILITY/VALIDATION TESTS

Test IdentifierTest TitleCompliance Note
1.1 First signalling link activation (Configuration A) C
1.2 Signalling linkset deactivation (Configuration A) (1)
1.3 Signalling linkset activation (Configuration A) (1)
2.4 Load sharing within a linkset C
2.4.1 All links available (Configuration A) C
2.4.2 With one link unavailable (Configuration A) C
2.5 Load sharing between linksets  
2.5.1 Between two linksets (Configuration B)  
2.7 Message transfer function (Configuration C)  
3.1 Changeover initiated at one side of a linkset (COO <-> COA) (Configuration A) (4)
3.2 Changeover initiated at both ends at the same time (COO <-> COO) (Configuration A) (4)
3.16 Changeover to another linkset with the adjacent SP accessible (Configuration B) (2)
3.17 Changeover to another linkset with the adjacent SP inaccessible (Configuration B) (2)
3.20 Changeover as compatibility test (Configuration A) C
4.1 Changeback within a linkset (Configuration A) C
4.4 No acknowledgement to first CBD (Configuration A) C
4.8 Changeback from another linkset (Configuration B) C
4.11 Time controlled diver­sion procedure (Configuration B) C
5. Forced rerouting (Configuration B) (2)
6. Controlled rerouting (Configuration B) (2)
7.1 Inhibition of a link (5)
7.1.1 Available link (Configuration A) (5)
7.1.2 Unavailable (5)
7.2 Inhibition not permitted (5)
7.2.1 Local reject on an available link (5)
7.2.2 Local reject on an unavailable link (5)
7.6 Manual uninhibition of a link (5)
7.6.1 With changeback (5)
7.6.2 Without changeback (5)
7.8 Not possible uninhibiting (5)
7.17 Management inhibiting test (5)
7.17.1 Normal procedure (5)
9.1 Sending of a TFP on an alternative route  
9.1.1 Failure of normal linkset (Configuration D) n/a
9.1.2 On reception of a TFP (Configuration D) n/a
9.2 Broadcast TFPs  
9.2.1 On one linkset failure (Configuration D) n/a
9.2.2 On multiple failures (Configuration D) n/a
9.4 Sending of a TFA on an alternative route  
9.4.1 Recovery of normal linkset (Configuration D) n/a
9.4.2 On reception of a TFA (Configuration D) n/a
9.5 Broadcast of TFAs  
9.5.1 On one linkset recovery (Configuration D) n/a
10.1 Recovery of a linkset (SP has not the STP function)  
10.1.1 With use of point restart procedure (Configuration B) (6)
10.2 Recovery of a linkset (SP has the STP function)  
10.2.1 With use of point restart procedure n/a
10.5 Restart of an SP having no STP function (Configuration B) (6)
10.6 Restart of an SP having STP function (Configuration D) n/a
12.1 After activation of a link (Configuration A) C
12.6 Additional SLTM/SLTA (Configuration A) C

NOTES C means comply. NC - does not comply, no plans to comply at this time command line interface link stop/start supported; CLI linkset stop/start not supported yet worked in past; needs testing in lab; used only as F-link access device in last two years; if not working, fix date will be provided n/a; not testing STP function only emergency changeover supported; normal changeover will be supported in the future; date not known at this time; link failures are infrequent; traffic volume on signal link not above 1%; not essential for small systems link inhibiting not supported; its absence has caused no inconvenience in any SMG installation so far; If a link is not to be used, then the telco or the ss7box side can simply stop the link; Inhibiting stops a link from being used but keeps the link aligned; Inhibiting has complicated rules for automatic uninhibiting in distress situations; the link inhibit procedure offers little value in operations, it is a complex implementation, and link stopping is a reasonable and simple alternative; comments to the contrary are welcome MTP restart not supported; systems have low link count signal low traffic; opposite end of linksets have restart procedure and throttle linkset operation during restart


Product Plan

This section describes the xmtp2km and ss7box product plans.


xmtp2km Product Plan

xmtp2km is Xygnada Technology's Linux 32 bit kernel module implementation of MTP2. A 64 bit Linux kernel module is coming sometime in the second half of 2007. Current release is 1.0.4 The MTP2 implementation is close to being a fully ITU and ANSI compliant implementation of MTP2 for narrow band links. It has been used successfully throughout the world. Future plans for xmtp2km may include support for high speed links using full E1 or T1 bandwidth. Features: * Has true implementation of MTP2 Delimitation, Alignment, Error Detection (DAED) for reception and transmission as described in ANSI T1.111.3 and ITU Q.703. Does not use HDLC which does not fully support MTP2. * Supports E1 and T1, 64 and 56 kb/s channels. * High reliability and high capacity come from the Linux kernel module implementation. Maximum real-time performance comes from running in kernel space and being driven by the Sangoma device driver. * Correct operation of SUERM and AERM based on DAED. * SUERM operating indicators identify and help isolate transmission errors. * Normal and emergency alignment support. * Emergency changeover support. * Successful connection to hundreds of SS7 link from many different manufacturers: http://www.ss7box.com/faq.html#connected_to What's Missing: * Support for normal changeover is nearly complete. Development was suspended given that most ss7box applications have a single SS7 link. * Support for the Processor Outage link status is partially complete. Remote PO is handled. Local PO is not supported as it is not in high demand. * Support for the Busy link status is not supported. We have never seen this state used in 5 years of operation. * Alignment Error Rate Monitor (AERM). AERM has little value except during conformance tests. AERM is a simpler and faster reacting version of SUERM. Without AERM it takes a 1-4 seconds longer for a distressed link to come in service.


ss7box Product Plan

ss7box is a Linux daemon that is Xyganda Technology's MTP3 implementation. Plan for 1.0 (current development) * Enhanced transfer routing for SMG clustering o M3UA ISUP + DPC/CIC to SMG IP address o M3UA SCCP + DPC/XID to IP address o M3UA over SCTP * Redundant platform support restored * Command line interface o start/stop links in linkset o MSU capture on/off * Protocol conformance testing enhancements * auto-start/restart * TFx procedure Plan for Future Releases * Increased conformance in MTP3 o Link Inhibit procedure o MTP Restart Procedure 1.0.0 Release Notes Patch 01 * comm port to ss7boost is SCTP protocol for M3UA applications only Patch 02 (2007-09-19 We) * modprobe sctp in m3ua level 4 init Release 0.4.3 * command line interface (CLI) available o link start/stop command o MSU capture (planned) * prio and ni of SNM and SLT are user configurable per linkset * slt is configurable on/off per linkset * ITU SNM bugs fixed * normal/emergency alignment Release 0.3.55 * Supports xmtp2km kernel module MTP2 * MTP3 adapted to new MTP2 * Routing using RFC 3332 M3UA subset over UDP * Redundant platform support broken Release 0.2.x (maintenance support) * Special application Release 0.1.x (maintenance support) * Linux user space MTP2 * MTP3 adapted to new MTP2 * Combined linkset support * Rewrite entirely in C Release 0.0.x (discontinued support) * Sangoma f/w MTP2 * MTP3 with combined linkset support * redundant platform support


ISUP Routing for Clustering

ss7box M3UA SNM The M3UA plug-in has a separate processing section for signal network management messages. ISUP The M3UA plug-in has a separate processing section for ISUP messages. DPC/XID to SMG IP address A new section is needed in ss7box.conf to list associations between point-code/CIC pairs and SMG IP-addresses. The M3UA ISUP plug-in will assume responsibility for final routing of ISUP MSUs to an SMG by selecting the appropriate IP address from the point-code/CIC/IP-address table. For ISUP MSUs sent from SMG, the ISUP M3UA will not need to do anything extra to the MTP3 routing section since ss7boost will have already filled in the appropriate values in the M3UA header. Automatic ISUP REL generated for downed SMG Notes on implementing a method for routing traffic away from a downed SMG: If the ss7box, the SS7 link, or the E1 is down, then the SS7 link is down and re-routing occurs without further action necessary. If ss7boost is down, then generating an REL with release cause is not possible - there is no ISUP engine running. One suggestion is to ensure ss7boost is not down so that it can generate the desired REL if it cannot reach the other parts of SMG. We cannot guarantee that ss7boost is not down or that the IP link between ss7box and ss7boost is not down. The problem gets more complex as we look forward to a time when ss7box supports clusters of media gateways that all share the same point code. If one of the m/g in the cluster is lost, the remaining clusters must continue operating without interruption. One solution is for the M3UA plug-in, on the ss7box side that connects to the various ss7boost entities, to take action on behalf of an ss7boost entity that is not responding. The action can be to automatically respond to an IAM inbound to the downed SMG with a REL with cause code 34. This will prevent the call from going through and will not hinder ss7box and other working SMG to continue their normal operations. This approach implies that the M3UA plug-in will finish the job of routing to SMG. The ss7box concept of routing is evolving. SCCP The M3UA plug-in has a separate processing section for SCCP messages. DPC/XID to IP address A new section is needed in ss7box.conf to list associations between point-code/transaction-id pairs and SMG IP-addresses. The M3UA SCCP plug-in will assume responsibility for final routing of SCCP MSUs to an SMG by selecting the appropriate IP address from the point-code/transaction-ip/IP-address table. For SCCP MSUs sent from SMG, the SCCP M3UA will not need to do anything extra to the MTP3 routing section since ss7boost will have already filled in the appropriate values in the M3UA header.


Chapter 3. ss7boost

This is the ss7boost chapter.


Installation

ss7boost is installed automatically in the smginstall process. An ss7boost installation consists of putting the ss7boost and ss7boost_cli binaries in /ss7box (a symlink) and putting ss7boost.conf and ss7boost_cli.conf in /etc/ss7box.


Configuration

 
# This is the ss7boost.conf file used by ss7boost.
# Copyright (c) 2005 Xygnada Technology, Inc.

[SS7BOOST]


This section defines some global attributes of a particular instance of ss7boost.

* SS7 Protocol
   o ITU
   o ANSI 
* Self Point Code
   o 14 bit unsigned integer for ITU
o Three 8 bit unsigned integers separated by spaces (network cluster member) 
* System ID
o unsigned integer
o identifies this system in CDR log report 
* Verbose Group (see Verbose Group Indicators) 

#       SS7 Protocol    Self Point Code   System Id      Verbose Group
	ITU             200               1              1


The SS7BOX section describe the connection to ss7box. The assignments must be the 
reverse of what is found in the [M3UA] section of ss7box.conf.

Two ports are used. One each for the normal and high priority queues.

[SS7BOX]
#       local address   local port
	127.0.0.43      50220
#       remote address  remote port
	127.0.0.44      50220

The SANGOMA_MGD section defines the connection to sangoma_mgd. The assignments must 
be the reverse of the boost_XXXXX assignments in sangoma_mgd.conf.

Two ports are used. One each for the normal and high priority queues.

[SANGOMA_MGD]
#       local address           port
	127.0.0.66              53000

#       remote address          port
	127.0.0.65              53000

The CLI  section defines the connection to the ss7boost command line interface system. The
assignments must be the reverse of what is found in the [APPSERVER] section of ss7boost_cli.conf.

[CLI]
#       Local 
#       address                 port
	127.0.0.92              55000
	
#       Remote (CLI script)
#       address                 port
	127.0.0.93              55000

[CDR]
# Automatic CDR Logging at Startup (y/n)
	n
#       Local
#       address                 port
	127.0.0.92              55011
#       Remote (CDR Collector)
#       address                 port
	127.0.0.93              55011

[SYSTEM_TIMERS]
# index  timer
  0       0.00 	# base, unused
  1       1.00	# heartbeat rate
  2      45.00	# call stop
  3       1.00	# circuit maintenance gap timer
  4      20.00	# automatic call gap timer
  5       0.00	# last, unused

The TRUNK section describes parameters for individual E1 or T1 trunks (also
called spans).  
  
* index - must match TDMV_SPAN-1 value in wanpipeX.conf of E1/T1 of this trunk
* wanrouter number - X in the filename found in /etc/wanpipe/wanpipeX.conf
	this value is needed to monitor trunk status and maintain the circuits
	in the trunk timeslots; derive this information as follows:
	1. get a list of wanpipes that are used as SMG controlled voice trunks
		grep TDM_VOICE_API /etc/wanpipe/wanpipe*.conf > smg-ctl-wp.txt
	2. for each smg controlled wanpipe in smg-ctl-wp.txt do
		a. grep TDMV_SPAN /etc/wanpipe/wanpipeX.conf where X is the
		   wanpipe number
		b. subtract 1 from the TDMV_SPAN value to get the TRUNK section
		   index value
	3. enter the wanpipe number value in the entry with the index value 
	   derived in step 2.b above
* facility type
	o T1 - 24 channels
	o E1 - 31 channels 
* CIC base
	o the CIC assigned to ss7boost channel 0
	o see Channel Numbering for more details
	o see CIC Mapping for more details 
* non-voice channels
	o any channel not used for voice, for example the SS7 signaling channels
	o use the ss7boost channel number 
	
[TRUNK]
#        wanpipe    fac   CIC    non-voice
# index  number     type  base   channels
  0      1          E1    1      15 end
  1      2          E1    65     end
end

[TRUNK_GROUP]
* A - tg_index
	o must be in order [0..99]
	o early termination of list with keyword "end" 
* B - remote p/c
	o point code of SSP on remote end of span 
* C - ISUP SIO PRIO
	o value to assign to MTP3 header SIO priority field in ISUP messages 
* D - ISUP SIO NI
	o value to assign to MTP3 header SIO network indicator field in ISUP messages 
* E - CIC descend
	o the direction of hunting for an available CIC
	o n - CIC hunting starts low and increments
	o y - CIC hunting starts high and decrements 
* F - overlap signalling
	o use of overlap vs en bloc call setup method
	o n - en bloc
	o y - overlap 
* G - NADI In Prefix
	o n - no prefix added to numbers
	o y - NADI value in prefix digit in all calling/called numbers 
	      passed between the dialplan and ISUP; disables the next 
	      option - clg num NADI; also makes the Structured Trunk 
	      Group Value dialplan feature unecessary 
* H - clg num NADI
	o integer value placed in the Calling Party Address - Nature of Address field for all outbound calls per Q.763 
* I - Tranmission Media Requirement 3.1 KHz allowed
	o n - not allowed
	o y - allowed 
* J - Tranmission Media Requirement Speech allowed
	o n - not allowed
	o y - allowed 
* K - Calling Party Category
	o 10 - ordinary subscriber (should be kept as default value)
o Refer to Q.763 for more values 
* L - outbound Transmission Medium Requirement value (0..3)
	o Refer to Q.763 
* Z - span_list
	o space separated list of span indices from the [TRUNK] section above
	o numerical order not required
	o a span may be used in only one trunk group
	o a span list may contain up to 20 spans
	o a span list is delimited with the keywords "begin" and "end" 

# A    B  C  D  E  F  G  H  I  J  K  L  Z
  0  201  1  2  n  y  n  3  y  y 10  0  begin 0 1 end
end

[GTT_TYPE]

This section associates a GTT type with a ss7boost defined value assigned to each GTT function. This is necessary because there is no industry consensus on the GTT functions associated with each of the possible values in the GTT Type field (0..255) of the SCCP Calling/Called Party Address parameter. It is possible, though unlikely, to have more functions than available GTT Type values (256).

The format of each entry is two decimal integers:
(gtt type value) (ss7boost gtt function id)
where:
* gtt type value is in the range 0..255
* ss7boost gtt function id is one of the following:
	o 5 (CNAM)
	o 6 (LNP)
	o 7 (TFS)
	o 8 (LIDB)
	o 9 (MAP)
	o 10 (HLR)
	o 11 (VLR)
	o more values added as needed by ss7boost maintainers 

Other rules:
* This section may have up to 256 entries.
* No order is enforced.
* Duplicate entries are allowed with later entries overriding previous ones.
* Early termination of the section with "end" is allowed. 
# GTT Type      SSN     Function ID
11           210     5 # CNAM
end
[CNAM_SERVER_2]
# describes parameters of relationship with the media_gw
#       Local (app server)
#       address                 port
	127.0.0.76              53040

#       Remote (media_gw)
#       address                 port
	127.0.0.75              53040
	
[CNAM_SERVER_3]
# describes parameters of relationship with the media_gw

#       Local (app server)
#       address                 port
	127.0.0.86              53040

#       Remote (media_gw)
#       address                 port
	127.0.0.85              53040
	 

Trunk Group Timers Configuration

There is a separate timer file for each trunk group. The value of N in the file name corresponds to the trunk group index found in the TRUNK_GROUP section of ss7boost.conf.

A sample of the contents of the ISUP timer file is shown below:

 
[ISUPTIMERS]
1      20.00
2      180.00
3      120.00
4      300.00
5      300.00
6      20.00
7      25.00
8      12.00
9      180.00
10      5.00
11      17.00
12      30.00
13      300.00
14      30.00
15      300.00
16      10.00
17      300.00
18      30.00
19      300.00
20      30.00
21      300.00
22      30.00
23      300.00
24      1.00
25      2.00
26      60.00
27      240.00
28      10.00
29      0.60
30      5.00
31      365.00
32      3.00
	 

Operation

This section describes how to operate ss7boost. All commands are executed from /usr/local/ss7box unless otherwise noted.


Starting and Stopping

ss7boost is always started or stopped using one of the SMG start/stop scripts.


Revision Checking

	[root@ana3 smg]# cd /ss7box/
	[root@ana3 ss7box]# ./ss7boost --ver
	Xyganda Technology, Inc. ss7boost Revision 1.0.2.137
	

Log File Output

ss7boost posts logs to the syslog facility. The results are most often found in /var/log/messages. Familiarity with the system logger will allow customization of where the ss7boost messages are placed.

The ss7boost CLI has commands to control the verbosity of logging.


Command Line Interface

The CLI is used to control ss7boost operation while it is running as a daemon. The CLI is composed of the ss7boost_cli program and ss7boost. ss7box_cli provides the human interface and sends and receives packetized information to ss7boost to execute the commands specified on the human interface.

The ss7boost_cli program provides the human, or command line interface for interacting with ss7boost. There is a packet interface between ss7boost_cli and ss7boost. This arrangment allows ss7boost to run in a higher priority than the ss7boost_cli program which a typical sytems engineering practice.

The ss7boost_cli program is copied to /usr/local/ss7box during normal SMG installation or upgrade.


ss7boost CLI Configuration

The ss7boost CLI configuration file, ss7boost_cli.conf is found in /etc/ss7box. The contents of this file are shown below:

The /usr/local/ss7boost_cli.conf file and the [CLI] section of ss7boost.conf contain the configurable parameters for ss7boost_cli.

 
[APPSERVER]

#       Local 
#       address                 port
        127.0.0.103             55033

#       Remote 
#       address                 port
	127.0.0.102             55033
	 

CLI Verbose Logging

Using the "-v" option when starting ss7boost activates verbose logging. Refer to the Verbose Logging parameter in ss7boost.conf.

The CLI command allows verbose logging control regardless of the use of the "-v" option when starting ss7boost.

To turn on verbose logging:

   cd /ss7box
   ./Tail
   ./ss7boost_cli --log-verbose on (vgi)
	

where vgi are Verbose Group Indicators shown in the table below.

To turn off verbose logging:

   ./ss7boost_cli --log-verbose off
	

Table 3-1. ss7boost CLI Verbose Group Indicators

ValueGroup
0initialization
1call processing detail; will swamp the system if load is high
3low level event processing detail
20command line interface detail
50ITX generation detail
103CQM/CQR detail

CLI CDR Logging

Refer to the User Manual for the Remote CDR Event Logger. CDR Logging can also be controlled in ss7boost.conf.

	./ss7boost_cli --log-cdr on
	./ss7boost_cli --log-cdr off 
	

Circuit Blocking and Unblocking

Circuit blocking prevents use of a particular span and channel, while unblocking allows use of it. This is a necessary tool for managing use of trunks and circuits for transmission maintenance, troubleshooting, and software upgrading.

There are two kinds of blocking: hardware and maintenance. Hardware blocking is automatic and it applies to a circuit when resources required to operate the circuit are unavailable. Maintenance blocking is a control applied to a circuit by a human or a system using commands at the local side (ss7boost in this case) or the remote side.

Hardware blocks can only be applied and removed by ss7boost or the remote side through automated processes. There is no command to remove a hardware block. Instead, the user must discover the cause of the hardware block and apply a remedy to that cause.

ITU Q.764 Section 2.8.2 and Q.763 Section 3.13 describe maintenance oriented blocking and hardware failure oriented blocking. Maintenance oriented blocking is an controlled and intentional circuit block put in effect by command. Hardware failure oriented blocking is the normally uncontrolled and unintentional blocking of a circuit resulting from some failure of a system or a component of a system.

In ss7boost, a circuit is hardware blocked for one or more of four causes. Those causes are:

  • Loss of communication with ss7box (the MTP3 signaling server); detected by loss of heartbeat over N periods

  • Loss of communication with sangoma_mgd (the call engine); detected by loss of heartbeat over N periods

  • Loss of the E1/T1 transmission line

  • Loss of the SS7 signal route; detected and reported by i ss7box

When the remote system detects a hardware blocking condition it may communicate this condition using the CGB/CGU which contains the Circuit Group Supervision Message field. So only when a node is capable of sending such messages with the `hardware failure oriented value in the CG Supervision Message field, ss7boost will set/clear the rhb bit in the CDR entry for a circuit. If a node does not send the CGB/CGU then there will be no distinct indication of remote hardware blocking. If the node only sends BLO/BLA then the remote maintenance block bit for a circuit will be set/cleared.

Using the commands described below the user can manually change the local maintenance blocked or unblocked state of a circuit.

	./ss7boost_cli --ckt-block --chan Y --span X
	./ss7boost_cli --ckt-unblock --chan Y --span X
	

  • Y - "all" or 0..31 for E1 and 0..23 for T1

  • X - "all" or 0..15


CLI Circuit Report

Use this command to create a status report for one, all, or a group of circuits. The span parm is an index value from the ss7boost.conf TRUNK section. The chan parameter is 0..30 for E1 and 0..23 for T1.

Single Circuit Report:

	./ss7boost_cli --ckt-report --span 0 --chan 3
	

All Circuits Report:

	./ss7boost_cli --ckt-report --span all --chan all
	

Single Span All Circuit Report:

	./ss7boost_cli --ckt-report --span 1 --chan all
	

Report Example:

 
[root@localhost ss7box]# ./ss7boost_cli --ckt-report --chan all --span all
ckt-report begin
   span:  0  chan cfg inuse inrst rhb lhbs lhbm lhbc lhbr rmb lmb
              0   n   -     -     -   -    -    -    -    -   -
	      1   Y   n     n     n   n    n    n    n    Y   n
	      2   Y   n     n     n   n    n    n    n    Y   n
	      3   Y   n     n     n   n    n    n    n    Y   n
	 

Table 3-2. Circuit Report Heading Definitions

HeadingDefinition
chanTimeslot in E1 or T1. ss7boost timeslot numbers begin with 0. Add 1 to get the customary timeslot number.
cfgChannel configured for voice. (y/n)
inuseChannel being used. (y/n)
inrstChannel in process or waiting to be reset. (y/n)
rhbChannel is blocked remotely for hardware reasons. (y/n)
lhbsChannel is blocked locally because the signal gateway heartbeat is missing. (y/n)
lhbmChannel is blocked locally because the media gateway heartbeat is missing. (y/n)
lhbcChannel is blocked locally because the E1 or T1 carrying the channel is not connected. (y/n)
lhbrChannel is blocked locally because the SS7 route to the remote channel controller is not available. (y/n)
rmbChannel is blocked remotely because the channel is manually blocked at remote channel controller. (y/n)
lmbChannel is blocked locally because the channel is manually blocked using the ./ss7boost_cli --ckt-block command. (y/n)

CLI Testcall

For specifiying a particular span/chan to be used in a call from a specific number to a specific number. This tool allows you to specify a call trigger by called/calling numbers. The triggering call will use the specified span/chan. 1. Tail the /var/log/messages file with the -f option - or use the ."/Tail" script. 2. Use the "./ss7boost_cli --log-verbose on 1" script to turn on verbose reporting with group 1 messages (refer to Verbose Group Indicators). 3. Make a call from to 2266 from 12345678 and ensure the call works 4. Enter "./ss7boost_cli --testcall --span 0 --chan 23 --cld 2266 --clg 12345678" to set the testcall trigger. 5. Make a call from to 2266 from 12345678 6. Observe in the messages file that the call is placed on span 0 channel 23. * The testcall tool only works with outbound calls. It does not work with inbound calls. * The testcall trigger is one-shot. Once it hits, the trigger is cleared. Making a second call immediately after the triggering test call results in the system reverting to its normal CIC hunt method. * There is only one trigger defined. Running the testcall script twice without making the test call results in the last run of the script defining the test call trigger. * The command sets up up the trigger in ss7boost. When the live call comes through ss7boost matching the trigger criteria (called/calling numbers), then the testcall span/chan will be assigned, if possible, to the call. * Be sure to use ss7boost numbering for span/chans. There are four different ways to specify the same e1 and timeslot: 1. ss7boost numbering from ss7boost.conf 2. wanpipeX and timeslot 3. E1 or T1 identifier from switch and timeslot 4. CIC (same on both sides of trunk group) Here is the /var/log/messages output for the test described above: Jul 26 20:59:53 b2 ss7boost_i_0.2.40.v[10090]: C:testcall trigger set:called_no/calling_no/span/chan follow:2266:12345678:0:29 A call to 2266 from 12345678 is made and following output is logged: Jul 26 21:00:09 b2 ss7boost_i_0.2.40.v[10090]: I:sb_send_isup.c:send_iam_to_ss7box:call setup id follows:2 Jul 26 21:00:09 b2 ss7boost_i_0.2.40.v[10090]: I:dir OUTB span 0 chan 29 cpcstate 0 csupid 2 tg 0 cic 30 Note that span 0 chan 29 is used


Conformance

Table 3-3. Q.784 Compatibility/Validation Tests

Test IdentifierTest TitleCompliance Note
1.1 Non allocated circuit C
1.2.1 RSC received on an idle circuit C
1.2.2 RSC sent on idle circuit C
1.2.3 RSC received on a locally blocked cir­cuit (10)
1.2.4 RSC received on a remotely blocked cir­cuit (10)
1.2.5 Circuit group reset received (11)
1.2.6 Circuit group reset sent (11)
1.2.7 Circuit group reset received on remotely blocked circuits (10)
1.3.1.1 CGB and CGU received (10)
1.3.1.2 CGB and CGU sent (10)
1.3.2.1 BLO received C
1.3.2.2 BLO sent C
1.3.2.3 Blocking from both ends; removal of block­ing from one end (10)
1.3.2.4 IAM received on remotely blocked cir­cuit (10)
1.4.1 CCR received successful (12)
1.4.2 CCR sent successful (12)
1.4.3 CCR received unsuccessful (12)
1.4.4 CCR sent unsuccessful (12)
1.4.5 CCR received successful verify timer T27
1.5.1 Receipt of unexpected mes­sages C
1.5.2 Receipt of unexpected messages during call setup C
1.5.3 Receipt of unexpected messages during a call C
1.5.4 Confusion procedures (13)
2.1 Bothway circuit selection  
2.1.1 IAM sent by controlling SP C
2.1.2 IAM sent by non-controlling SP C
2.2 Called address sending  
2.2.1 En-Block operation C
2.2.2 Overlap operation C
2.3 Successful operation  
2.3.1 Ordinary call; various in­dicators in ACM C
2.3.2 Ordinary call; various in­dicators in CPG or ANM C
2.3.3 Ordinary call; various in­dicators in CON C
2.3.4 Call switched via satellite (only from VSAT) (15)
2.3.5 Echo control procedure for call setup (16)
2.3.6 Blocking and unblocking during a call (initiated) (10)
2.3.7 Blocking and unblocking during a call (received) (10)
3.1 Calling party clears before ACM C
3.2 Calling party clears before ANM C
3.3 Calling party clears after ANM C
3.4 Called party clears after ANM C
3.5 Suspend initiated by network (17)
3.6 Suspend and resume initiated by calling party (17)
3.7 Suspend initiated by called par­ty (17)
3.8 Collision of REL messages C
4.1 Validate a set of knows causes for release C
5.1 Inability to release in response to a release after ANM  
5.2 Timers  
5.2.1 T7; waiting for an ANM C
5.2.2 T9; waiting for a ACM or CON (18)
5.2.3 T1 and T5; failure to receive a RLC C
5.2.4 T6; waiting for a RES (Network) message (17)
5.2.5 T8; waiting for COT message if ap­plicable (12)
5.2.6T12 and T13; failure to receive a BLAC
5.2.7T14 and T15; failure to receive a UBAC
5.2.8 T16 and T17; failure to receive a RLC C
5.2.9 T18 and T19; failure to receive a CGBA (10)
5.2.10 T20 and T21; failure to receive a CGUA (10)
5.2.11 T22 and T23; failure to receive a GRA (11)
Not-in-Q784? T33 INR/INF procedure (19)
5.3 Reset of circuits during a call  
5.3.1 Reset of circuits during a call - of an outgoing circuit C
5.3.2 Reset of circuits during a call - of an incoming circuit C
6.1.1 Continuity check required (12)
6.1.2 COT applied on previous circuit C
6.1.3 Calling party clears during a COT (12)
6.1.4 Delay of through connect (12)
6.1.5 COT unsuccessful (12)
6.2 Automatic repeat attempt  
6.2.1 Dual seizure for non-controlling SP C
6.2.2 Blocking of a circuit (10)
6.2.3 Circuit reset (20)
6.2.4 Continuity check failure (12)
6.2.5 Reception of unreasonable sig­nalling in­formation (21)
6.3 Dual seizure  
6.3.1 Dual seizure for controlling SP C
6.4 Semi-automatic operations  
6.4.1 FOT sent following a call to a subscriber (22)
6.4.2 FOT received following a call to a subscriber (22)
6.4.3 FOT sent following a call via codes 11 and 12 (22)
6.4.4 FOT received following a call via codes 11 and 12 (22)
7.1 64 kbit/s unrestricted  
7.1.1 Successful call setup (23)
7.1.2 Unsuccessful call setup (23)
7.1.3 Dual seizure (23)
7.2 3.1 kHz audio  
7.2.1 Successful call setup C

  • 10. circuit group blocking/unblocking sending is not supported; use BLO/UBL instead

  • 11. Circuit group reset sending is not supported; use RSC instead

  • 12. COT on previous and CCR supported; COT during call setup not supported

  • 13. confusion not implemented; has not been a problem so far

  • 14. number not used

  • 15. VSAT not supported

  • 16. echo control not dynamically supported; either all on or all off per facility; control in Sangoma driver

  • 17. suspend/resume operation supported

  • 18. T9 not implemented; needs to be done; not hard;

  • 19. INF/INR sending not supported; test does not apply; receiving is supported

  • 20. auto repeat call on reset not supported yet

  • 21. more testing needed

  • 22. FOT not supported; lack of interest

  • 23. 64 kb/s not tested


Product Plan

Overview ss7boost is Xygnada Technology's implementation of an M3UA application server (AS). This application server hosts an ISUP engine that is part of the Sangoma Signal Media Gateway. The application server also hosts SCCP applications like the CNAM Proxy Server and an SMS router. The ISUP engine is currently managed as an basic and integral part of ss7boost. The SCCP applications are managed as separate plug-ins under their own product plan. In the future, ISUP and SCCP applications will both be managed as plug-ins. The features in each release stream are documented below: Contents * Overview * Plan for Future Releases * Plan and Release Notes for 1.0 o 1.0 Plan o 1.0.1 Release Notes + Patch 00 (2007-10-02 Tu) + Patch 03 (2007-10-03 We) + Patch 04 (2007-10-10 We) + Patch 08 (2007-10-11 Th) + Patch 09 (2007-10-12 Fr) + Patch 12 (2007-10-15 Mo) + Patch 15 (2007-10-19 Fr) + Patch 18 (2007-10-27 Sa) o 1.0.0 Release Notes + Patch 00 + Patch 10 + Patch 11 + Patch 13 + Patch 14 + Patch 16 (2007-09-18 Tu) + Patch 17 (2007-09-18 Tu) * Plan for 0.2.x * Release Notes for 0.2.x o 0.2.95 + Patch 02 + Patch 03 o 0.2.94 o 0.2.92 o 0.2.91 o 0.2.90 o 0.2.89 o 0.2.88 * Plan for Future Releases * Past Releases 0.1.x * Omitted Features Plan for Future Releases * Automatic restart * Clustering * Operation with redundant ss7box configuration * Expanded SMS support (may become separate wireless product) Plan and Release Notes for 1.0 1.0 Plan * gcc 4 support * Call Redirection * Hardware Blocking * Group Circuit Blocking/Unblocking reception * Group Circuit Reset reception * CLI circuit reset * Suspend/Resume 1.0.1 Release Notes Patch 00 (2007-10-02 Tu) * some cgxx DEBUG messages replaced with log warnings * all ckts busy local vs remote distinguished Patch 03 (2007-10-03 We) * add suspend/resume procedure; T6 in /etc/ss7box/tgX_isup_timers.conf is used Patch 04 (2007-10-10 We) * change BCI charge and access values to chraging and isdn respectivelyh Patch 08 (2007-10-11 Th) * add Redirecting Number NADI, Presentation, and Number Plan info to RDNIS string; see Call Redirection for more information Patch 09 (2007-10-12 Fr) * catch and ignore suspend and resume message during T6 expiry processing Patch 12 (2007-10-15 Mo) * Warning for call entering middle stop process * Catch and process call stop from MG in call suspend state * Warning for MG event arrival for call in middle_stop_2 state Patch 15 (2007-10-19 Fr) * INR/INF processing for calling party address Patch 18 (2007-10-27 Sa) * local hw block route set/clear - code added not tested * ISUP call redirection bug fixes * house-cleaned some debug clutter * per t/g configurable tranmission medium requirement for outbound calls * spare field in redirection info set to zero 1.0.0 Release Notes Patch 00 * ss7boost has been fielded tested long enough to change revision level to 1.0.0 * redirection work still underway * adapted to gcc 4.1.1 * per trunk group calling party category configuration Patch 10 * redirection without transparent parm passing field tested; works as designed; more requirements found Patch 11 * comm port to ss7box is SCTP protocol Patch 13 * redirection kludge; change redirection_indicator from "no_redirection" to "unused" so that a non-zero value appear in the field, thus forcing the redirection procedure to run even though the telco has indicated no redirection is occurring; it satisfies a odd situation in HK * SCTP port to ss7box Patch 14 * removed release cause translation; release cause in sigboost messages is a Q.850 value now Patch 16 (2007-09-18 Tu) * hw block development * CGxx development; CGB/CGU reception works; CGxx sending works for unit testing Patch 17 (2007-09-18 Tu) * remove sangoma_mgd stop control from ss7boost init Plan for 0.2.x * automatic installation * automatic start/restart * CIC gap support * support for n E1/T1 per platform * ISUP timers * Per trunk group configuration of SIO priority and network indicator * high call volume robustness * International Gateway Switching o Method 1 + Specify called number NADI using a Structured Trunk Group Value + Specify calling number NADI statically with user configuration per trunk group o Method 2 + Add/remove NADI in dialplan as prefix to calling/called numbers on all inbound/outbound ISUP calls * Per Trunk Group Configurations o Calling Party Address NADI o MTP3 SIO Priority and Network Indicator for ISUP MSU * reset circuit on abnormal conditions * ISUP CON message support * SUS/REL o Q.764 handling of reception o option to treat SUSpend as RELease * Remote CDR Event Logging * Circuit Blocking Support o Maintenance Local/Remote o Circuit Status Reports + Static Information + Dynamic Information * Continuity Testing o Circuit Continutiy Request (CCR) Reception o IAM, Nature of Connections, CC on Previous Circuit * Calling Number Presentation and Screening Pass-Through * Command Line Interface ss7boost_cli o verbose logging on/off o CDR on/off o block/unblock ckt o ckt status report * ITU GSM support o SMS support * Automatic Call Gapping * Calling Party Number Presentation/Screening support * Network/User Calling Number support * Call Redirection Support Release Notes for 0.2.x 0.2.95 Patch 02 * added per t/g options to allow/disallow TMR 3.1 KHz and TMR Speech Patch 03 * clean up isup_decode code 0.2.94 * CCR support * static calling NADI per trunk group fixed * cdr logger has option to output to stdout from the daemon * France Telecom ITX/TXA * 3 digit NADI prefix feature for international gateway applications * support for 16 trunks, 16 trunk groups, 16 trunks/tg * support for hex digits A-F in dialed digit strings * CDR logger supplied with span/chan for every message except call start outbound * ss7boost sets its own nice to -15 internally during init * hearbeat to mgd function fixed * mgd is sole controller of all-ckt-reset now * SCTP used to communicate with mg * mg communication congestion monitored * single channel block/unblock fixed * automatic call gapping * ACM BCI called party status set to subscriber free * ITU: reject calls with TMR != SPEECH * controls for continuity indication and tmr added to IAM building API; still using hard-coded values for these controls, however * ISUP timer 17 fixed * calling number presentation/screening fixed 0.2.93 * CPG call progress being decoded * glare bug on outbound abandon fixed * SMS o SMS dev for collecting actual message text o msg string sent out UDP port o conf ready o accepting DCS of 0x00, 0xf0, 0xf1, 0xf2, 0xf3 * CDR call stop entries are made now * BLO/BLA/UBL/UBA unit testing fixes * CLI ckt-block and ckt-unblock now accept "--chan all" * added number prefix option to pass NADI info for clg/cld for inb/outb using a prefix digit on all cld and clg digit strings; prefix digit is NADI value 0.2.92 * ckt-block command is recognized; handling code is being written * manual decode of SMS samples in msu_workbench.c * decoding SMS in 09 mobile app in sccp_scrc.c * print_sccp decode debug aid built in * special app, filtering, decoding SMS SUBMIT and sending ack 0.2.91 * SCCP enhancements for processing ANSI/ITU called party address * SCCP improved handling of GTT for ITU * msu_workbench pokes 3 SMS submit MSUs * applied new functions for extracting packed BCD digit strings from ISUP and SCCP parameters * blocking doc. additions 0.2.90 * t/g span list now requires the string "begin" at the beginning of the span list in each trunk group entry 0.2.89 * toss out IAM with too many digits in calling/called party address * toss out SAM with too many digits in subsequent digits parm 0.2.88 * bci changes from 09mobile testing * ckt-report * warning if COT is required on inb call * specific warning on receipt of continuity messages * handling for NATURE OF CONNECTION, CONTINUITY = 2 (wait until upstream COT is finished) * t/g calling number NADI config Plan for Future Releases * Hardware ckt blocking * Media gateway cluster support * Redundant ss7box support * number translation services o select t/g from config. subscriber carrier choice o select t/g from prefix digits o config patterns for national, international numbers * call forwarding support: pass through of these parms in the IAM: Redirecting number, redirecting reason, original called number, called party address, calling party address * CLI ISUP timer change * configuration tools * additional ISUP message support as needed * CNAM support * LNP support * Free call support Past Releases 0.1.x * SS7 link configuration o F-link (1 link, done) * ss7boost ISUP state machine o basic call + inbound # ANSI # ITU + outbound # ANSI # ITU o suspend msg reception, action not implemented o call progress reception, action not implemented o reset ckt + reception + sending o reset ckt group + reception - message rcvd, action not implemented o boost restart + stop all sangoma_mgd calls + RSC all ckt o sangoma_mgd restart + RSC all ckts o ckt blocking/unblocking + blocking reception - message rcvd and ackd, action not implemented + unblocking reception - message rcvd and ackd, action not implemented o ckt group blocking/unblocking + ckt group blocking reception - message rcvd, action not implemented + ckt group unblocking reception - message rcvd and ackd, action not implemented Omitted Features * Sending Circuit Group Reset * Sending Circuit Group Block * Sending SUSpend/RESume * Continuity Test Sending


Chapter 4. ISUP CDR Logger

This is the ISUP CDR Logger chapter.


Overview

The CDR logger collects signaling event reports from multiple instances of ss7boost. The events are stored in a flat file in the order in which they are received. The information in the flat files can be read into an RDBMS for report generation and long term storage. CDR Logger and the RDBMS should run on a machine that is physically different from any of the the SMG feeding it information so that logging, sorting, and reporting does not impact the real-time performance of the SMG.

Features include:

  • Built in configurable periodic file rotation.

  • Collects information from multiple SMG.

  • CSV format output files are compatible with spreadsheets and databases.

  • Configurable location and file name prefix for CDR files.

  • Fine grained epoch-based time-stamps


Installation

The CDR Logger is installed in the /ss7box directory as part of the SMG installation process. Verify that the cdr_logger binary file is in /ss7box and the the cdr_logger.conf file is in /etc/ss7box.

CDR Logger may run on a separate machine and collect information from a multiple ss7boost instances. To do this, you must create /usr/src/ss7box directory on the new machine and copy cdr_logger to this directory. You must then create /etc/ss7box on the new machine and copy cdr_logger.conf to this directory on the new machine.


Configuration

The contents of the CDR Logger configuration file is as follows:

 
# This is the cdr_logger.conf file used by cdr_logger.
# Copyright (c) 2006 Xygnada Technology, Inc.

[CONNECT]
# Opposite config should be used by CDR event pushers like ss7boost and
# sangoma_mgd
#
#       Local
#       address                 port
192.168.1.141           55011
#       Remote (don't care, not used)
#       address                 port
192.168.1.202           55011

[OUTPUT]
# CDR file path and prefix              file rotate period (minutes)
/usr/local/ss7box/cdr/cdrfile-          30
	 

The ss7boost.conf CDR section is related to this application.


Operation

  1. Start the CDR Logging daemon.

    	# cd /ss7box
    	# ./cdr_logger
    			
  2. Start CDR ouput on ss7boost

    • Manually using the CDR Logging control CLI command described in the CLI section of the ss7boost User Manual.

    • Automatically using the auto-start control in the [CDR] section of ss7boost.conf as described in the ss7boost User Manual.

  3. Verify functioning

    1. Examine the contents of /var/log/messages on the CDR Logger machine to see the report on opening the CDR file.

    2. Verify calls are being made through SMG. Place some tracer test calls.

    3. List the detailed contents of the subdirectory for CDR files; ensure the CDR file is growing as calls are being made.

    4. Edit the current CDR file to review the contents. Search for evidence of test calls that might have been made.


CDR Log File Format

The CDR log file is a sequence of lines where each line is a set of comma separated values. Each lines corresponds to a call event in ss7boost. There are four line types:

  • Callstart

  • IAM

  • Common

  • Release

Call Event Field Reference mt - message type md - message direction sy - system id y - year mn - month d - day h - hour m - minute s - second sn - call serial number es - epoch timestamp seconds esu - epoch timestamp micro-seconds cs - call state cd - call direction su - csupid, call setup id tg - trunk group sp - span ch - chan ci - circuit id code dc - called number digit count dd - called number digits gc - calling number digit count gd - calling number digits gpi - calling number presentation indicator rc - release cause Call Event Record: Callstart Message Type: 128 mt md sy sn y mn d h mi s es esu cs cd 128 1 1 0 2006 09 29 10 23 17 1159420 54085 0 1 Call Event Record: IAM Message Type: 1001 mt md sy sn y mn d h mi s es esu cs cd su tg sp ch ci dc dd gc gd gpi 1001 0 1 0 2006 09 29 10 23 17 1159420 5414 0 0 1 0 0 0 1 4 1111 4 2222 0 Call Event Record: Common Message Type Value a 130 d 131 b 1012 c 501 mt md sy sn es esu cs 130 1 1 0 1159467526 590026 2002 501 1 1 0 1159467531 593045 1009 1016 1 1 0 1159467532 158290 1009 131 0 1 0 1159467532 158398 1009 Call Event Record: Release Message Type: 1012 mt md sy sn es esu cs rc 1012 0 1 0 1159467531 593128 1009 16 Creating Call Records The CDR Logger files are designed to be imported to a spreadsheet or database for storage, sorting, and reporting. A call report is created by first sorting on the system id (sy), then by the epoch time (es/esu), and then by the call serial number (sn). This will group the calls by system, time, and call. The call start time, end time, and duration are derived by using the calendar date/time and epoch times. Schema Example The call event records can be parsed in to a dB using a schema as shown in this section. mt md sy sn y mn d h mi s es esu cs cd su tg sp ch ci dc dd gc gd rc 128 1 1 0 2006 09 29 10 23 17 1159467520 54085 0 1 - - - - - - - - - 1001 0 1 0 2006 09 29 10 23 17 1159467520 54124 0 0 1 0 0 0 1 4 1111 4 2222 130 1 1 0 - - - - - - 1159467526 590026 2002 1012 0 1 0 - - - - - - 1159467526 590064 2002 501 1 1 0 - - - - - - 1159467531 593045 1009 1012 0 1 0 - - - - - - 1159467531 593128 1009 1016 1 1 0 - - - - - - 1159467532 158290 1009 131 0 1 0 - - - - - - 1159467532 158398 1009


Chapter 5. ss7mon

Sangoma cards can be used as passive SS7 monitors.


Installation

Hardware Installation 1. Install a Sangoma A102 or A104 card in a Linux box. A box that has a faster CPU and a lot of memory is better since ss7mon is a user space application. A 1 GHz CPU and 512 MB RAM box is sufficient. 2. Build a Monitor Tap Cable. 3. Insert the ss7mon E1/T1 tap cable in the circuit that will be monitored. Do not plug the monitor taps into the ss7mon ports at this time. 4. Ensure the SS7 link is working.

Software Installation 1. Get latest smginstall package and put in /usr/local and untar 2. cd /usr/local/smginstall-(version) 3. ./smginistall ss7mon 4. Verify wanrouter version 5. Verify Sangoma driver installation by asking it to report on cards that it can see using "wanrouter hwprobe".


Configuration

1. Disable Hotplug services for wanpipe drivers. 2. Create configuration for wanpipe1 and wanpipe2 from template files 1. cd /etc/wanpipe 2. cp wanpipe1.conf.mon wanpipe1.conf 3. cp wanpipe2.conf.mon wanpipe2.conf 3. Modify ss7mon Wanpipe Configuration File if needed 4. Edit wanrouter.rc so that WAN_DEVICES="wanpipe1 wanpipe2" 5. Verify wanpipe operation 1. /ss7box/Tail 2. wanrouter start 3. Verify that both wanpipe1 and wanpipe2 started 4. wanrouter stop 5. /ss7box/Tail off 6. Modify ss7mon Configuration File


Operation

Starting ss7mon 1. Ensure tap cables are connected to ports 1 and 2 of the Sangoma card. 2. cd /ss7box 3. Start ss7mon * Console interactive mode with MSU decode and FISU summary reports: # ./ss7mon -i --decode --fisu * Background mode with MSU decode and FISU summary reports: # ./ss7mon --decode --fisu * Help: # ./ss7mon -h * Version: # ./ss7mon --ver

Stopping ss7mon * If operating in console interactive mode, use ctl-c. * If operating in background 1. ps axj | grep ss7mon 2. kill (pid of ss7mon)

Low Impedance Interference Sangoma cards are low impedance devices. When they are used as a passive monitor with the monitor tap cable, they may interfere with normal operation of the circuit under observation. If the observed link will not go into service with the tap cables inserted into ss7mon, then remove the tap cables and get the observed link running. Then reconnect the tap cables to ss7mon and determine if both ss7mon and the observed circuit function simultaneously. For critical applications, consider using powered transformer-based high impedance taps.

Finding the SS7 Channels 1. Turn on option for bitstream capture for full E/T carrier # Card Name Number Frame/Packet Clear Chan. b/s harvest Channels/Frame 1 50 n y 24 # Card Name Number Frame/Packet Clear Chan. b/s harvest Channels/Frame 2 50 n y 24 2. Run ss7mon cts-knpl-ss7:/usr/local/ss7box# ./ss7mon_a_2.1.23_knpl -v -i Two files will be produced: bs_span_0 and bs_span1 where bs_span_0 is from the interface card defined near the top of the conf file (Card 1 in the example above), and bs_span_1 is from the interface card defined near the bottom of the conf file (Card 2 in the example above). 3. hexdump bitstream file cts-knpl-ss7:/usr/local/ss7box# hexdump -f hd.conf bs_span_1 ......... 100f8 ff ff ff ff ff ff ff ff 8d 9f ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10110 ff ff ff ff ff ff ff ff c0 bf ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10128 ff ff ff ff ff ff ff ff 98 e1 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10140 ff ff ff ff ff ff ff ff a6 ed ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10158 ff ff ff ff ff ff ff ff fe 82 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10170 ff ff ff ff ff ff ff ff c8 f8 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10188 ff ff ff ff ff ff ff ff fa b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 101a0 ff ff ff ff ff ff ff ff 8d 9f ff ff ff ff ff ff ff ff ff ff ff ff ff ff 101b8 ff ff ff ff ff ff ff ff c0 bf ff ff ff ff ff ff ff ff ff ff ff ff ff ff 101d0 ff ff ff ff ff ff ff ff 98 fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff 101e8 ff ff ff ff ff ff ff ff a6 c2 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10200 ff ff ff ff ff ff ff ff fe db ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10218 ff ff ff ff ff ff ff ff c8 85 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10230 ff ff ff ff ff ff ff ff fa f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10248 ff ff ff ff ff ff ff ff 8d e1 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10260 ff ff ff ff ff ff ff ff c0 be ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10278 ff ff ff ff ff ff ff ff 98 fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10290 ff ff ff ff ff ff ff ff a6 fc ff ff ff ff ff ff ff ff ff ff ff ff ff ff 102a8 ff ff ff ff ff ff ff ff fe 85 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 102c0 ff ff ff ff ff ff ff ff c8 b7 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 102d8 ff ff ff ff ff ff ff ff fa 8b ff ff ff ff ff ff ff ff ff ff ff ff ff ff * Leftmost column is octet offset from beginning of file * Remaining columns each contain the octet streams in each channel; the second column from the left is channel 1 and the rightmost column is channel 24 * There are hexdump format files for T1 and E1 provided # Find a repeating pattern of 7 octets in a column; this corresponds to the stream of FISU on an SS7 link; take the column number and subtract one to get the ss7mon channel number # Repeat procedure for bs_span_0 and bs_span_1 # Edit /etc/ss7box/ss7mon.conf and turn on monitoring for the resulting channels # Turn off bitstream capturing in /etc/ss7box/ss7mon.conf


Chapter 6. Miscellaneous Tools

This is the Miscellaneous Tools chapter. It describes a collection of tools and commands that pertain to SMG and other Xygnada products in general.

Point Code Structure ANSI/China point codes are 24 bit and ITU point codes are 14 bit. There are varying standards of how point codes are represented in documentation and in system configuration.

Point codes are either 24 or 14 bits wide and have varying structure. The term structure refers to the grouping of bits within the full bit field and the meanings assigned to the groups. The ITU point code is 14 bits wide. The ITU point code structure is not standardized throughout the world so Xygnada products rely on using a single decimal integer representation for ITU point codes. Here is a collection of ITU point code formats from around the world: * UK o decimal 14327 is structured as 13-15-55 o decimal 4457 is structured as 4-5-41 o There is not enough information in the example to derive the bit width of each of the 3 fields in the structured format. o We do not know the meanings of the structured format fields. * Moldova o decimal 99 is structured as 1-35 o decimal 10 is structured as 0-10 o There is not enough information in the example to derive the bit width of each of the 2 fields in the structured format. o We do not know the meanings of the structured format fields. * Poland and Holland format is 3 decimal digit-3 decimal digit; for example o PC = 5 - 137 - 5 is represented as 088-077 in the 3 decimal digit-3 decimal digit format, or as 11341 in decimal, or as 101 - 10001001 - 101 in binary, or as 2C4D in hex o APC = 4 - 219 - 0 is represented as 077-088 in the 3 digit-3 digit format, or as 9944 in decimal, or as 100 - 11011011 - 000 in binary, or as 26D8 in hex o These examples tells us there is also a 3 bit-8 bit-3 bit structure. o We do not know the meanings of the structured format fields. The 24 bit point code is used mainly in Canada, China, and the United States. In China, the ITU flavor of SS7 is used with a 24 bit point code. In Canada and the United States, the ANSI flavor of SS7 is used with a 24 bit point code. In the ANSI applications, the point code structure is three groups of 8 bits in the form of network-cluster-member. Each number is given in decimal format. We currently have no information on how the 24 bits are structured in China. Xygnada products use the three eight-bit field representation for 24 bit points codes, for example, 3 112 241. Note that the numbers 3, 112, and 241 are separated by spaces. In documentation, it is common to see the point fields separated by dashs like this, 3-112-241.

Using Wireshark to Decode Raw MSU from ss7box and ss7mon 1. change hex dump from this: S:2007-11-26-20-33-44: SI 0x03 PRIO 0x0 NI 0x2 dpc 0 opc 1977 sls 12 MARK ( ) ------------------------------------------------------------------------- 0000 81 83 17 83 00 40 ee c1 - 09 00 03 05 07 02 42 fc .....@........B. 0010 02 42 fa 06 00 04 30 04 - 01 07 c2 9a .B....0..... ------------------------------------------------------------------------- to this: 0000 81 83 17 83 00 40 ee c1 09 00 03 05 07 02 42 fc 0010 02 42 fa 06 00 04 30 04 01 07 c2 9a and place in a file (for example msg3.txt). 2. convert text file to pcap text2pcap -l 140 msg3.txt msg3.pcap 3. start wirkshark 4. Use File->Open to open the msg3.pcap file. You should see the message decoded in the Wireshark windows.

Sangoma Special Commands Digital Loopback in Sangoma Card (main CPU side of T1/E1/chip)) To activate: wanpipemon -i (interface name) -c Tadlb To deactivate: wanpipemon -i (interface name) -c Tddlb

Line Loopback in Sangoma Card (line side of T1/E1 chip) To activate: wanpipemon -i (interface name) -c Tallb To deactivate: wanpipemon -i (interface name) -c Tdllb

Payload Loopback in Sangoma Card (remote end of T1/E1 link) To activate: wanpipemon -i (interface name) -c Taplb To deactivate: wanpipemon -i (interface name) -c Tdplb

View alarms and counts * wanpipemon -i (ifname) -c Ta * ifconfig (ifname)

Sangoma Bitstream Testing 1. Setup a bitstream wanpipe configuration (no HDLC) 2. Start the wanpipe1 and ensure that it is connected (ref. /var/log/messages) 3. cd /usr/src/Sangoma/wanpipe/api/bitstrm/ 4. ./bitstrm_api -c wanpipe1 -i wp1bstrm1 -r -w -rxfile rx.bin -txcnt 100

Asterisk Tools Originate a Call from the Asterisk CLI originate woomera/g1/111 222@sangoma Rotate Asterisk Logfiles http://www.voip-info.org/tiki-index.php?page=logrotate

MSU Workbench (mwb) is a lab tool for unit testing the ISUP codecs and ss7boost itself. mwb connects to both the sangoma_mgd and ss7box interfaces of an instance of ss7boost that is under test.

Installation 1. Checkout the "as" and "common" projects. 2. cd as 3. Run configuration script. 4. make deps 5. make The program is run directly from the development directory so no further installation steps are required.

Configuration The mwb.conf file is located in the same directory as the mwb program and is in the same format as ss7boost.conf. The APPSERVER and SS7BOOST sections in mwb.conf should be opposite of the values in the ss7boost.conf used by the ss7boost under test. The CLI and CDR sections in mwb.conf should be different from the corresponding sections in ss7boost.conf. The TRUNK and TRUNK_GROUP sections in mwb.conf should be the same as the corresponding sections in ss7boost.conf with the exception that the CIC ascend value in the TRUNK_GROUP section should be set to opposite values in mwb.conf and ss7boost.conf.

Starting 1. Ensure current working directory is the ss7boost development directory. 2. Start mwb ./mwb -v -i 3. Start ss7boost ./ss7boost -v -i --nomgd The --nomgd option tells ss7boost to not start sangoma_mgd since mwb is acting as both sangoma_mgd and ss7boost.

Stopping If interactive, use ctl-c. If daemon then kill process.

Using (Change gt and lt symbols in menu to parens.) Copy menu here. Describe how to simulate inb and outb calls, and other scenarios.

ss7box Installation for S5142 (this needs to be reworked using newer Ssangoma driver releases.) 1. ss7box S Series Installation Example 2. ss7box S Series wanpipeX.conf Example 3. Verify wanrouter operation 1. cd /usr/local/ss7box (you can use the symlink /ss7box too) 2. Monitor the /var/log/messages file; use the Tail script in /ss7box 3. Start wanpipe1 and wanpipe2 and make sure no errors are announced; ensure the E1/T1 connections are made as shown in the ss7box S Series wanrouter start Example 4. Put an authorized copy of ss7box 0.1 in /usr/local/ss7box 5. ss7box S Series ss7box.conf Example 6. ss7box S Series Start Example 7. renice ss7boxd process [root@ana4 ss7box]# ps axj | grep ss7 1 25804 25804 25804 ? -1 Rr(Ls 0 37:38 ./ss7boxd [root@ana4 ss7box]# renice -15 -p 25804 25804: old priority 0, new priority -15

Sangoma Hardware Echo Cancellation Sangoma provides a procedure on their wiki to turn on HWEC on your A200d or A102/104/108d. You will need to make call to through your system to ensure echo cancellation is working. Handy commands for checking status of HWEC: * wanpipemon -i w1g1 -c ehw * wan_ec_client wanpipe1 stats Command for forcing HWEC in service on an SS7 IMT with channel 16 SS7 F-link: * wan_ec_client wanpipe2 be 1-15.17-31

This example is for wanpipe2. For other wanpipes, substitute '2' in the procedure and examples with a different wanpipe number (except where noted). 1. Turn off all wanpipes. Verify using the "wanrouter status" command. 2. cd /etc/wanpipe 3. Create a wanpipe2.conf file for raw bitstream. The easiest way is to copy wanpipeX.conf.e1bs to wanpipe2.conf. The wancfg configuration tool can also be used, but no instruction for it use is provided in this procedure. 1. cp wanpipeX.conf.e1bs wanpipe2.conf 2. edit wanpipe2.conf 1. change all "pipe1" to "pipe2" 2. change all "w1g" to 'w2g" 3. change "FE_LINE = 1" to "FE_LINE = 2". The rule about substituting '2' does not apply here. The FE_LINE value must be: # A101: 1 # A102: 1..2 # A104: 1..4 # A108: 1..8 1. set FE_FRAME to either CRC4 or NCRC4 1. save changes 1. /ss7box/Tail 2. wanrouter start wanpipe2 3. cd /usr/src/Sangoma/wanpipe/api/bitstrm 4. put the following string into a file called hd31.conf "%04.4_ax " 31/1 "%02x " "\n" 5. run the bitstrm_api program: [root@ss7box bitstrm]# ./bitstrm_api -c wanpipe2 -i w2g1 -r -rxcnt 50 -rxfile wp2bs Connecting to router wanpipe2, interface w2g1 prot 1700 Socket bound to w2g1 Socket Handler: Rx=1 Tx=0 TxCnt=1 TxLen=10 TxDelay=0 RxCnt=50 Opening wp2bs rx file Rxcnt 50 == RxCount=50 6. verify bistream capture was successful -rw-r--r-- 1 root root 62000 Oct 26 14:08 wp2bs 7. print the bitstream capture file using hexdump [root@ss7box bitstrm]# hexdump -f hd31.conf wp2bs * e5b7 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff df ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e5d6 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff f7 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e5f5 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0d ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e614 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e633 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 38 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e652 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 31 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e671 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff f7 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff e690 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff f3 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff It easy to see that a data channel exists in column 16. It's a good bet that this is an SS7 channel if the data repeats in a pattern over 5-30 octets in the column. Remember that channel 16 is channel 15 in ss7boost.conf and ss7box.conf configuration files. 8. stop all wanrouters: wanrouter stop wanpipeX

Build Monitor Tap Cable The monitor tap cable allows connection of the receivers of two E1/T1 Sangoma ports to be used as monitors. The pinout diagram below shows a E1/T1 crossover tap cable. Another option is to build a straight cable tap that can be used with either straight or crossover cables. References: Sangoma port pinout specifications. Materials: * Quanity 4, segment of Cat5e or Cat3 cable. * Quantity 4, 8 position block connectors, aka RJ-45 connectors * Small tie-wrap * Cable splice insulation, for example o Heat shrink tubing o Tape o Silicone Tools: * Wire cutters * Block connector crimp tool * Soldering pencil and solder Procedure: 1. Identify wires used for positions 1, 2, 4, 5 in the 8 position block connector. Ignore the crossover side of the cable if a crossover tap is being made. 2. Label two cable segements as Terminals 3. Label one segment as Tap_A 4. Label one segment as Tap_B 5. Create tap junction 1. Bare the 1, 2, 4, 5 wires on the Terminal segments 2. Bare the 1 and 2 wires on both of the Tap segments 3. Twist the 1 wires together on the Terminal segements; this is the wire 1 junction; repeat for the 2, 4, and 5 wires 4. For Tap_A 1. Twist the 1 wire to the the wire 1 junction; solder 2. Twist the 2 wire to the the wire 2 junction; solder 5. For Tap_B 1. Twist the 1 wire to the the wire 4 junction; solder 2. Twist the 2 wire to the the wire 5 junction; solder 6. Bundle the junction with a tie-wrap 6. Install the 1, 2, 4, 5 wires in the corresponding pins on an 8 position block connector on one of the Terminal segments 7. Attach 8 position block connector to remaining Terminal segment 1. If straight cable, install the 1, 2, 4, 5 wires in the corresponding pins on an 8 position block connector 2. If crossover cable, 1. Install wire 1 to connector position 4 2. Install wire 2 to connector position 5 3. Install wire 4 to connector position 1 4. Install wire 5 to connector position 2 8. Attach 8 position connector to Tap_A 1. Install wire 1 of to connector position 1 2. Install wire 2 of to connector position 2 9. Attach 8 position connector to Tap_B 1. Install wire 1 of to connector position 2 2. Install wire 2 of to connector position 2


Chapter 7. Blogs

2007-09-19 SMG Release Woomera version v1.15 : SMG Version v1.18 * sangoma_mgd sessions interface with Asterisk is a better method of managing calls * removal of call release cause translation * removal of called/calling digit analysis * http://sangoma.editme.com/sangoma-linux-drivers-software-announcements ss7boost 1.0.0 Patch 00 * ss7boost has been fielded tested long enough to change revision level to 1.0.0 * redirection work still underway * adapted to gcc 4.1.1 * p