spci-cpm8 programmersmanual u03hsp02

Upload: juvito-cham

Post on 08-Aug-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    1/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 1

    Intel

    NetStructure SS7 Boards

    Programmers Manual for SPCI2S,

    SPCI4 and CPM8

    Document Reference: U03HSP

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    2/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 2

    Revision History

    ISSUE DATE CHANGESA 12-Apr-00 Initial release for evaluation purposes. Some sections

    incomplete.

    B 20-Apr-00 Several minor corrections especially relating to LIU configurationand switching. Addition of installation section for Windows NT.

    1 30-Jul-01 Sections detailing support for Windows2000, Linux and Solarisadded. Additional messages to read LIU state, indicate clockevents and s7_mgt completion status.

    2 06-Jan-03 Branding changed to Intel

    NetStructure. Septel PCI nowSPCI4 / SPCI2S and Septel cP now CPM8. References to NUPprotocol removed. INAP_API.LIB added.

    Disclaimer

    The product may contain design defects or errors known as errata, which may cause the product to deviate frompublished specifications.

    Information in this document is provided in connection with Intelproducts. No license, express or implied, by estoppel

    or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intels Terms and

    Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied

    warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular

    purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are

    not designed, intended or authorized for use in any medical, life saving, or life sustaining applications or for any other

    application in which the failure of the Intelproduct could create a situation where personal injury or death may occur. Intel

    may make changes to specifications and product descriptions at any time, without notice.

    Intel and Intel NetStructure are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United

    States and other countries.

    * Other names and brands may be claimed as the property of others.

    Copyright 1993-2003 Intel Corporation. All rights reserved. No part of this document may be copied, or reproduced in

    any form, or by any means without prior written consent of Intel.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    3/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 3

    Contents

    1. INTRODUCTION ....................................................................................................................................51.1 Related Documentation..............................................................................................................6

    2. INSTALLATION ......................................................................................................................................72.1 Introduction.................................................................................................................................72.2 Software Installation for Windows*.............................................................................................8

    2.2.1 Software installation for Windows.................................................................................82.2.2 Starting the device driver for Windows NT ...................................................................92.2.3 Starting the device driver for Windows 2000 ................................................................9 2.2.4 Clearing Windows 2000 Install Wizard .......................................................................102.2.5 Removing the Development Package.........................................................................10

    2.2 Software Installation for Linux*.................................................................................................112.2.1 Creating Linux device nodes.......................................................................................122.2.2 Loading the device driver............................................................................................122.2.3 Verifying device driver loading ....................................................................................13

    2.3 Software Installation for Solaris*...............................................................................................142.3.1 Removing the Development Package for Solaris .......................................................14

    3. CONFIGURATION AND OPERATION.................................................................................................163.1 Overview...................................................................................................................................16

    3.1.1 System Structure.........................................................................................................163.2 System Configuration ...............................................................................................................18

    3.2.1 System configuration file syntax..................................................................................183.2.2 Generating system.txt .................................................................................................20

    3.3 Protocol Configuration..............................................................................................................223.3.1 Protocol Configuration using the s7_mgt utility...........................................................22 3.3.2 Protocol Configuration using individual messages .....................................................22

    3.4 Using the CT bus......................................................................................................................243.4.1 Introduction .................................................................................................................243.4.2 Switching Model ..........................................................................................................243.4.3 Static Initialisation .......................................................................................................253.4.4 Dynamic Operation .....................................................................................................253.4.5 Example code - Building and sending SC_LISTEN....................................................26

    4. PROGRAM EXECUTION .....................................................................................................................274.1 Program execution under Windows .........................................................................................284.2 Program execution under Linux ...............................................................................................294.3 Program execution under Solaris.............................................................................................304.4 Developing a user application ..................................................................................................31

    5. APPLICATION MESSAGE SPECIFICATIONS ....................................................................................325.1 Overview...................................................................................................................................32

    5.1.1 General Configuration Messages ...............................................................................325.1.2 Hardware Control Messages ......................................................................................325.1.3 MTP Interface Messages............................................................................................335.1.4 Event Indication Messages.........................................................................................335.1.5 Message Type Table...................................................................................................33

    5.2 General Configuration Messages.............................................................................................355.2.1 SSD Reset Request....................................................................................................355.2.2 Board Reset Request..................................................................................................375.2.3 Board Configuration Request......................................................................................395.2.4 MTP Route Configuration Request.............................................................................46

    5.3 Hardware Control Messages....................................................................................................495.3.1 LIU Configuration Request..........................................................................................495.3.2 LIU Control Request....................................................................................................535.3.3 LIU Read Configuration Request ................................................................................555.3.4 LIU Read Control Request..........................................................................................56

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    4/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 4

    5.3.5 LIU State Request.......................................................................................................575.3.6 LIU CT bus Initialisation Request................................................................................585.3.7 CT bus Listen Request ...............................................................................................605.3.8 Fixed Data Output Request ........................................................................................625.3.9 Reset Switch Request.................................................................................................645.3.10 CT bus Connect Request..........................................................................................655.3.11 Configure Clock Request..........................................................................................695.3.12 Configure Clock Priority Request..............................................................................73

    5.4 MTP Interface Messages .........................................................................................................755.4.1 MTP Link Activation Request......................................................................................755.4.2 MTP Link Deactivation Request..................................................................................765.4.3 MTP Transfer Request................................................................................................775.4.4 MTP Transfer Indication..............................................................................................785.4.5 MTP Pause Indication.................................................................................................795.4.6 MTP Resume Indication..............................................................................................805.4.7 MTP Status Indication.................................................................................................81

    5.5 Event Indication Messages.......................................................................................................825.5.1 Board Status Indication...............................................................................................825.5.2 s7_mgt Completion Status Indication .........................................................................835.5.3 Clock Event Indication.................................................................................................84

    5.5.4 LIU Status Indication...................................................................................................855.5.5 Error Indication............................................................................................................865.5.6 MTP2 Level 2 State Indication ....................................................................................885.5.7 MTP2 Q.791 Event Indication.....................................................................................895.5.8 MTP3 Q.791 Event Indication.....................................................................................90

    APPENDIX A : PROTOCOL CONFIGURATION COMMANDS ...............................................................91A1 Physical Interface Parameters..................................................................................................91

    A1.1 SEPTELCP_BOARD / SEPTELPCI_BOARD Command............................................91A1.2 LIU_CONFIG Command .............................................................................................93A1.3 LIU_SC_DRIVE Command .........................................................................................95A1.4 SCBUS_LISTEN Command........................................................................................96

    A2 MTP Parameters.......................................................................................................................97

    A2.1 MTP Global Configuration ...........................................................................................97A2.2 MTP Link Set ...............................................................................................................98A2.3 MTP Signalling Link.....................................................................................................99A2.4 MTP Route.................................................................................................................101A2.5 MTP User Part...........................................................................................................103

    A3 ISUP Parameters ....................................................................................................................104A3.1 Global ISUP Configuration.........................................................................................104A3.2 ISUP Circuit Group Configuration..............................................................................104

    A4 TUP Parameters .....................................................................................................................106A4.1 Global TUP Configuration..........................................................................................106A4.2 TUP Circuit Group Configuration...............................................................................106

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    5/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 5

    1. INTRODUCTION

    The range of Intel

    NetStructure

    SS7 Boards includes specialised E1/T1 SS7

    signalling cards for use in ISA, PCI and Compact PCI systems. All cards offer acommon interface to the application allowing applications to be easily ported

    between hardware architectures. The product designations are as follows:

    Intel

    NetStructure

    CPM8 - Compact PCI (previously Septel cP)

    Intel

    NetStructure

    SPCI4 - PCI (previously Septel PCI)

    Intel

    NetStructure

    SPCI2S - PCI (previously Septel PCI)

    Intel

    NetStructure

    PCCS6 - ISA (previously Septel ISA)

    The Compact PCI card (CPM8) supports 8 E1/T1 interfaces, two synchronousserial interfaces (V.11/V.35) and an H.110 Computer Telephony bus (CT bus). It isused in conjunction with a rear transition board (CPR8RJ).

    The PCI card is available in two variants. SPCI4 supports 4 E1/T1 interfaces andan H.100 CT bus whilst the SPCI2S variant supports 2 E1/T1 interfaces, twosynchronous serial interfaces (V.11/V.35) and an H.100 CT bus.

    Both Compact PCI and PCI boards contain an embedded signalling processorcapable of handling up to 4 SS7 signalling links and run identical software,downloaded onto the board at run time.

    The cards provide a suitable hardware platform for running Intel

    NetStructure

    SS7

    Protocols for the realisation of Signalling System Number 7 signalling nodes. Theboards can be used under any of the following operating systems: Microsoft*

    Windows NT*, Microsoft* Windows* 2000, Linux* and Solaris*. Throughout theremainder of this document the term Windows is used to refer to both theMicrosoft Windows NT and the Microsoft Windows 2000 operating systems.

    This manual is the Programmer's Manual for the SPCI2S, SPCI4 and CPM8 cards.It is targeted at system developers who will be integrating the cards and developingapplications that will make use of the underlying SS7 protocol stack. The manualincludes information on software installation, system configuration, protocolconfiguration and operation of the board and SS7 software stack.

    The manual should be used in conjunction with the appropriate User Manual for the

    board and the Programmers Manuals for the individual protocol modules asdetailed below.

    Users of the PCCS6 product should refer instead to the documentation for thatcard.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    6/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 6

    1.1 Related Documentation

    U02HSP - CPM8 User Manual

    U04HSP - SPCI2S, SPCI4 User Manual

    U10SSS - Software Environment Programmers ManualU04SSS - ISUP Programmers Manual

    U09SSS - TUP Programmers Manual

    U05SSS - SCCP Programmers Manual

    U06SSS - TCAP Programmers Manual

    U14SSS - MAP Programmers Manual

    U17SSS - IS41 Programmers Manual

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    7/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 7

    2. INSTALLATION

    2.1 Introduction

    This programmers manual covers the installation and use of the softwarecontained on the following distributions:

    Development Package for WindowsDevelopment Package for LinuxDevelopment Package for SolarisUser Part Development PackageBinaries for SPCI4, SPCI2S and CPM8 (various protocols)

    The Development Package contains the device driver, library functions andheader files for use by an application, a number of executables to be run as part ofthe software environment, and a utility to configure the protocol software. Theinstallation of this package is described in the following sections.

    The User Part Development Package contains example source code to illustratethe techniques used for interfacing with the protocol modules and protocol-specificheader files for use when building an application. It is distributed as a zip file and atar file, and is applicable to all supported operating systems. Extract the contents ofthe User Part Development Package distribution disk onto the developmentmachine maintaining the sub-directory structure.

    The Binaries are the operating software for the SPCI2S, SPCI4 and CPM8 boards.This is in the form of a single binary file (the code file) which is downloaded to theboard at run-time by the driver program. Code files for these boards all have a filesuffix .dc3 and should not be confused with code files for other products which usedifferent suffices. A single SS7 code file (ss7.dc3) includes all SS7 protocol options(MTP, ISUP, TUP, SCCP, TCAP, MAP and IS41). The code file is used inconjunction with a software licence button which determines the protocols that theuser is authorised to run.

    The code file should be copied onto the target machine maintaining binary fileintegrity; it will subsequently be downloaded onto the board at run time. Note thatboth PCI and CompactPCI* boards run identical binary software.

    Note: Ensure that at least one SPCI4, SPCI2S or CPM8 card is present in thetarget system prior to installing and loading the device driver.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    8/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 8

    2.2 Software Installation for Windows*

    The Development Package for Windows is distributed either on a CD-ROM orelectronically. The distribution is in the form of a single zip file (dpkwin.zip) whichshould be unzipped and placed on a clean DOS format disk to replicate the normal

    distribution and serve as a backup.

    2.2.1 Software installation for Windows

    Prior to installing a new release of the Development Package it is necessary toremove any previous release of the package. Refer to instructions to the end of thissection.

    If installing the Development Package on a target system as opposed to a machineused only for developing an application, the user should first install the hardware.

    The software is installed from the distribution disk using Install Shield*. The usermust have Administrator privilege. First close all other applications then insert thedisk into the floppy disk drive of the target machine. If the target machine does notautomatically detect the installation disk then run the program 'Setup.exe' from thedistribution disk. The licence agreement must be read and accepted beforeinstallation can proceed.

    The installation procedure prompts for an installation directory. The default directoryis c:\septel. If required, the default directory can be modified.

    The following files (or similar) are transferred to the installation directory. Note thata number of additional files relating to other products in the range will be installed atthe same time.

    gctlib.lib Library to be linked with users application (Microsoft*)

    gctlibb.lib Library to be linked with users application (Borland*)

    INC Sub-directory containing include files

    system.txt Example system configuration file

    config.txt Example protocol configuration file

    gctload.exe

    ssds.exetick_nt.exetim_nt.exes7_mgt.exes7_log.exes7_play.exeservcfg.exegctserv.exemtpsl.exeupe.exe

    Executables for use as described elsewhere in this manual

    inap_api.lib INAP API library to be linked with the users application if it uses INAP.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    9/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 9

    The installation process automatically installs the device driver so the setupprogram should be allowed to reboot the target machine installing the package.

    Installation is now complete, although the device driver is not yet running. All thefiles that the user will need to use have been installed in the c:\septel directory. It is

    recommended that the user does not modify any files in this directory but insteadcreates a working directory into which all the necessary files are copied.

    If the machine is a development machine without any target boards then no furtherinstallation is required.

    2.2.2 Starting the device driver for Windows NT

    The device driver is initially installed as Manual, it must therefore be manuallystarted by a user with Administrator privilege using the following procedure:

    1) Select the Control Panel (Start->Settings->Control Panel).

    2) Select the Devices icon.

    3) Scroll down the devices and select Septel.

    4) The driver can be started immediately by using the Start button from theDevices dialogue box.

    To automatically start the driver at system startup select the Automatic option fromthe "Startup" menu. Note that the system must be re-started for this change to take

    effect. It is strongly recommended that automatic startup is NOT enabled untilcorrect operation has first been verified using manual startup.

    2.2.3 Starting the device driver for Windows 2000

    The device driver is currently installed as Manual, it must therefore be manuallystarted by a user with Administrator privilege using the following procedure:

    1) Select the Control Panel (Start->Settings->Control Panel).

    2) Select the System icon. In the "system properties" select the Hardware tab andthen select "Device manager". A tree of device nodes will be presented.

    3) From the toolbar select "View -> ShowHiddenDevices": Open the "Non Plug andPlay Drivers" node/branch. The Septel driver should be displayed.

    4) Right click on the "Septel" driver and select "Properties" and then select theDriver tab

    5) The driver can be started immediately by selecting "start" in the "current status"field.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    10/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 10

    To automatically start the driver at system startup, select the Automatic option fromthe "Startup" menu. Note that the system must be re-started for this change to takeeffect. It is strongly recommended that automatic startup is NOT enabled untilcorrect operation has first been verified using manual startup.

    2.2.4 Clearing Windows 2000 Install Wizard

    The Windows 2000*system may fail to fully recognise that the board is controlled

    by the driver. It may consequently produce an "Install Wizard" window for eachboard that is present at system boot.

    This "Install Wizard" window may be quit without any problems, however the usermay choose to use the work around to prevent the "Install Wizard" window beingpresented, thereby removing the need for manual intervention:

    1) Select the Control Panel (Start->Settings->Control Panel).

    2) Select the System icon. In the "system properties" select the Hardware tab andthen select "Device manager". A tree of device nodes will be presented.

    3) Open the "Other Devices" branch in the tree of device nodes. One "NetworkController" will be listed for each installed SS7 board.

    Note: additional Network Controllers may be listed for other non-WDM cardslocated in the system, in which case the user will need to identify which belongs toeach resource.

    4) "Disable" and then "enable" each of these "Network Controller". This can beachieved by right clicking on the device.

    5) Reboot the system.

    The "Install Wizard" window will then no longer be presented for the device.

    2.2.5 Removing the Development Package

    Prior to installing a new version of the Development Package for Windows, the

    previous package should be removed. This is achieved using the followingprocedure assuming a user with Administrator privilege:

    1) Select the Control Panel (Start->Settings->Control Panel).

    2) Select the Add/Remove Programs

    3) Scroll down the devices and select 'Septel' and select Remove

    4) Restart the target machine.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    11/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 11

    2.2 Software Installation for Linux*

    The Development Package for Linux is distributed either on a CD-ROM orelectronically. The distribution is in the form of a single compressed file calleddpklnx6.Z. It should be installed as follows:

    1. Login and switch to a user account with root privileges.

    2. Create a new directory (referred to as the install directory) to act as the rootdirectory for the software.

    3. Copy the dpklnz6.Z file to the development system that is running Linux. Takecare that the .Z file suffix is in upper case.

    4. Extract the files using the command:

    tar -zxvf dpklnx6

    The following files (or similar) are extracted into the current working directory, it isrecommended that you create a new directory to serve as the root directory for thesoftware. Note that a number of additional files relating to other products in therange will be installed at the same time.

    sptpci.o Linux device driver for the SPCI2S, SPCI4 & CPM8 cards.

    gctlib.lib Library to be linked with users application

    INC Sub-directory containing header files for use with users application

    system.txt Example system configuration file

    config.txt Example protocol configuration file

    gctloadssdstick_lnxtim_lnxs7_mgts7_logs7_playmtpslupe

    Executables for use as described elsewhere in this manual

    inap_api.lib INAP API library to be linked with the users application if it uses INAP.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    12/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 12

    2.2.1 Creating Linux device nodes

    The Linux device driver is a run-time loadable module. It can be loaded manuallyusing the insmod command and does not need the kernel to be rebuilt. Howeverprior to loading the device driver it is necessary to create a device file for each card

    in the system.

    The device file must be assigned an unallocated, major character device numberand a minor device number. First, it is necessary to establish an unallocated majordevice number. If your LINUX distribution supports the /proc file system, the majordevice numbers currently in use by character and block devices can be displayedusing:

    more /proc/devices

    Otherwise, refer to the operating system documentation for details on how to

    allocate a major character device number.

    Once a major device number is known, the mknod command must be run once foreach board in the system and the attributes of the device file must set usingchmod. Both these operations should be performed with root privileges.

    The appropriate syntax is:

    cd /dev

    mknod septel c

    chmod 0666 septel

    where: MAJNO is the major device number, MINNO is in the range 0 to 15. MINNOis the board_id.

    For example, the commands to create two SPCI4 boards using major characterdevice number 126 are:

    cd /devmknod septel0 c 126 0mknod septel1 c 126 1chmod 0666 septel0

    chmod 0666 septel1

    2.2.2 Loading the device driver

    The device driver should be manually loaded using the insmod command from thedirectory containing the device driver (i.e. sptpci.o) file whilst logged on with rootprivileges. The command can be executed either in a system start-up script orinteractively by the user from a command shell if required.

    The syntax is:

    insmod -f sptpci.o majno=

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    13/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 13

    The -f option is used to force loading of the driver even if it was built using adifferent minor kernel version.

    The major device number can be entered as hex or decimal numbers, hex valuesuse a 0x prefix (e.g. 10 can specified as 10 or 0x0a).

    For example:

    insmod -f sptpci.o majno=40

    - Major device number

    The majno option is used to specify the major device number.

    2.2.3 Verifying device driver loading

    When the device driver is loaded it will output status messages to the system log.The system log can be displayed using the following command:

    dmesg | more

    An example of messages written to the system log by the driver is:

    SeptelcP/SeptelPCI V0.03Copyright (C) 2000 Intel Corporation. All rights reserved.Bus mastering enabledFound 2 boards

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    14/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 14

    2.3 Software Installation for Solaris*

    The Development Package for Solaris is distributed either on a CD-ROM orelectronically. The distribution is in the form of two compressed files calleddpksol32 and dpksol64 for use with 32 bit and 64 bit kernels respectively.

    The Development Package is suitable for use in the following configurations:Solaris 2.6 (32-bit), Solaris 7 (32-bit), Solaris 8 (32-bit) and Solaris 8 (64-bit).

    The user should select the appropriate file and copy it to the Solaris system. Thefile then needs to be uncompressed and installed as follows:

    uncompress dpksol32pkgadd d dpksol32

    The Solaris* package installation utility (pkgadd) will then prompt for further input.

    On successful completion of the installation procedure the following message isdisplayed and the user should reboot the system.

    Installation of DKseptel was successful.

    The following files (or similar) are transferred into a directory /opt/Dkseptel. Notethat additional files relating to other products in the range will be installed at thesame time.

    gctlib.lib Library to be linked with users application

    INC Sub-directory containing header files for use with users application

    system.txt Example system configuration file

    config.txt Example protocol configuration file

    gctloadssdstick_soltim_sols7_mgts7_logs7_playmtpslupe

    Executables for use as described elsewhere in this manual

    inap_api.lib INAP API library to be linked with the users application if it uses INAP.

    2.3.1 Removing the Development Package for Solaris

    The Development Package for Solaris can be removed using the package removalutility as follows:

    pkgrm DKseptel

    The Solaris package removal utility (pkgrm) will then prompt for further input.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    15/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 15

    On successful completion of the procedure the following message is displayed andthe user should reboot the system.

    Removal of DKseptel was successful.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    16/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 16

    3. CONFIGURATION AND OPERATION

    3.1 Overview

    Prior to attempting software configuration the user should gain an appreciation ofthe flexibility of the protocol stack, what run-time options exist and whichmechanisms are used to select particular features. This section gives an overviewof these options. The user should also read the Software EnvironmentProgrammers Manual, which describes the basic principles of modules andmessage passing.

    3.1.1 System Structure

    The SS7 software running on the board communicates with an application runningon the main CPU of the host computer. The physical interface to the board uses the

    PCI bus. All communication with the board is handled by a device driver and allmessage passing to and from the board is managed by a process (ssd) which runson the host computer.

    In addition to running the application on the host processor the user may,depending on the size of the overall system and the network topology, elect to runsome of the SS7 protocol modules also on the host. In such cases the interfacebetween the application and the SS7 protocol software remains identical. Thisallows for easy migration from a small system contained on a single board to alarge system distributed over many boards with minimal changes to the application.The table below illustrates some possible practical system configurations for atelephony system.

    Small System Medium System Large System

    Software running onboard

    MTP2MTP3ISUP / TUP

    MTP2MTP3

    MTP2

    Software running onHost CPU

    User Application ISUP / TUPUser Application

    MTP3ISUP / TUPUser Application

    Number of boards Single Single board with

    signalling (althoughadditional boards maybe used to supportvoice only)

    Multiple

    Description Suitable for smallsystems, supporting 1,2, 3 or 4 signallinglinks and up to 4096voice circuits.

    Suitable for systemswith up to 4 signallinglinks where more than4096 voice circuits arerequired.

    Suitable for systemswith more than 4signalling links, andsystems that requiredistribution of MTPover multiple boards.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    17/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 17

    The following abbreviations are used in the table:

    MTP2 - Message Transfer Part - Level 2MTP3 - Message Transfer Part - Level 3ISUP - ISDN User Part

    TUP - Telephony User Part

    In all cases the process called ssd (Ss7 Software Driver) is required to be run onthe Host machine. This handles message transfer between the host and the boardusing the device driver.

    The selection of which protocol modules to run on the host is made by editing a textfile system.txt. The user then runs the program gctload which reads the systemconfiguration parameters from the file system.txt and starts up the selectedprocesses bringing the system into operation.

    For further details of the operation of gctload refer to the Software EnvironmentProgrammers Manual

    The following processes for use on the host are included in the distribution. All mustbe run on the host with the exception of s7_mgt, s7_log and s7_play which areoptional:

    gctload Process to initialise the system environment and start up all other relatedprocesses running on the host, deriving the configuration from a text file(system.txt).

    ssds Process to interface with the device driver for passing messages to and from the

    board(s) and for downloading software to the board(s).NOTE: This process is referred to in a generic manner as ssd although the nameof the binary for use with SPCI2S, SPCI4 and CPM8 cards is in fact ssds

    tick_nttick_lnxtick_sol

    Protocol timer process to send periodic tick notification to the tim_xxx processwhich in turn handles protocol timers.

    tim_nttim_lnxtim_sol

    Process to receive periodic tick notification from tick_xxx and handle protocoltimers for all other processes.

    s7_mgt Process to perform single shot protocol configuration for all protocol modules,deriving the configuration parameters from a text file (config.txt). This process is

    optional. As an alternative to using it the user may elect to perform protocolconfiguration by sending messages directly to the other modules in the system.

    s7_log Utility process to allow messages received from the protocol stack to be logged toa text file. This is useful for diagnostic purposes when getting started.

    s7_play Utility process used to generate messages from a text file and send them into thesystem. This is useful for diagnostic purposes when getting started.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    18/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 18

    3.2 System Configuration

    System configuration is handled by the program gctload which reads the systemconfiguration data from a file called system.txt.

    System initialisation requires first that a pool of message buffers are created forsubsequent inter-process communication. Secondly that a message queue iscreated for each process that will run and that any message re-direction formodules that are running remotely is initialised. Then all processes can be started.

    The program gctload exists to handle this initialisation sequence and create theinter-process communication environment. It reads input from a text file calledsystem.txt, carries out all system initialisation and starts up all processes.system.txt is a user configurable file containing details of all the module identifiersknown to the system, details of whether they are local modules or remote modulesaccessed by a local module (message redirection) and lists the command line for

    all processes to be started by gctload.

    gctload creates a message queue for each of the local module identifiers. Itsubsequently expects a process to service its message queue otherwise messageswritten to that queue will never be read causing eventual loss of system messages.

    It initialises the message queue look-up table so that messages destined formodules that do not exist locally are re-directed to a message queue for a modulethat does exist locally.

    Having created the system environment, gctload proceeds to spawn all processes

    listed in the system configuration file in the order listed.

    Prior to running gctload the system configuration file must be edited to reflect therequirements of your system.

    3.2.1 System configuration file syntax

    The system configuration file is a text file used by gctload to configure the softwareenvironment.

    The file syntax permits the use of comments to improve the readability of the file.

    Comments are inserted into the file by using an asterisk *; all characters on the lineafter the asterisk are ignored.

    Numbers can be entered in either decimal or hexadecimal format. Hexadecimalnumbers should be prefixed with 0x. For example the value eighteen can beentered in either of the following formats:

    0x12 *(Hexadecimal)18 *(Decimal)

    The System Configuration File contains the following commands:

    a) LOCAL commands to allow gctload to generate message queues for modulesrunning locally.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    19/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 19

    b) REDIRECT commands to cause messages generated for modules not runninglocally to be redirected via a module that is running locally.

    c) FORK_PROCESS commands advising gctload of any processes that need to bestarted locally.

    The full syntax of each command is listed in the Software EnvironmentProgrammers Manual.

    An example system.txt file is shown below:

    ** Example system.txt for the Development Package for Windows.** Edit this file to reflect your configuration.** Essential modules running on host:*

    LOCAL 0x20 * ssd/ssds - Board interface taskLOCAL 0x00 * tim_nt - Timer task** Optional modules running on the host:*LOCAL 0xcf * s7_mgt - Management/config taskLOCAL 0x2d * upe - Example user part task** Modules running on the board (all redirected via ssd):** REDIRECT 0x23 0x20 * ISUP module* REDIRECT 0x4a 0x20 * TUP module* REDIRECT 0x33 0x20 * SCCP module* REDIRECT 0x14 0x20 * TCAP module

    * REDIRECT 0x15 0x20 * MAP module* REDIRECT 0x25 0x20 * IS41 moduleREDIRECT 0x22 0x20 * MTP3 moduleREDIRECT 0x71 0x20 * MTP2 moduleREDIRECT 0x10 0x20 * CT bus/Clocking control moduleREDIRECT 0x8e 0x20 * On-board management module** Redirection of status indications:*REDIRECT 0xdf 0x2d * LIU/MTP2 status messages -> upeREDIRECT 0xef 0x2d * Other indications -> upe** Now start-up all local tasks:*

    FORK_PROCESS ssds.exeFORK_PROCESS tim_nt.exeFORK_PROCESS tick_nt.exeFORK_PROCESS s7_mgt.exeFORK_PROCESS upe.exe*

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    20/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 20

    3.2.2 Generating system.txt

    This section describes the procedure for generating a system configuration file(system.txt) and details any operating specific differences in behaviour of thedevelopment packages.

    First the file must contain LOCAL declarations for all modules that are to run on thehost computer. As a minimum this must include the SSD module and the timermodule. Hence the following declarations must exist:

    LOCAL 0x20 * ssd / ssds - Board interface taskLOCAL 0x00 * tim_xxx - Timer task

    LOCAL declarations are also required for any optional modules running on the host.Typically this will include s7_mgt and the users own application module. It may alsoinclude any host based protocol modules and the s7_log utility. For example:

    LOCAL 0xcf * s7_mgt - Management/config taskLOCAL 0x2d * upe - Example user part taskLOCAL 0x3d * s7_log - Prints messages to screen/file

    Once all the LOCAL declarations are in place, REDIRECT commands should beadded for all modules that are running on the board so that any messages destinedfor these modules are transported via ssd (module_id = 0x20) and the device driverto reach the board.

    The following REDIRECT commands are always required:

    REDIRECT 0x71 0x20 * MTP2 module

    REDIRECT 0x10 0x20 * CT bus/Clocking control moduleREDIRECT 0x8e 0x20 * On-board management module

    In addition REDIRECT commands are required for all protocols running on theboard. This will usually include MTP3 and one or more user parts. Examples ofthese commands are given below:

    REDIRECT 0x23 0x20 * ISUP moduleREDIRECT 0x4a 0x20 * TUP moduleREDIRECT 0x33 0x20 * SCCP moduleREDIRECT 0x14 0x20 * TCAP moduleREDIRECT 0x22 0x20 * MTP3 module

    Having ensured that all modules running on the board are accessible it is thennecessary to ensure that any status indications issued from the board willsuccessfully arrive at a module running on the host. (If this does not happen thenthe system will quickly run out of available messages for inter-processcommunication). Two module_ids (0xdf and 0xef) require redirection to a suitableprocess running on the host, initially these messages should be redirected to thes7_log utility which will print out a line for each message received. Ultimately theusers own application will expect to receive these notifications.

    REDIRECT 0xdf 0x3d * LIU/MTP2 status messages -> s7_logREDIRECT 0xef 0x3d * Other indications -> s7_log

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    21/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 21

    It is next necessary to include FORK_PROCESS commands for all modulesrunning on the host computer. All systems require ssd, tick and tim binaries to berun.

    Therefore for Windows users, the following FORK_PROCESS commands are

    mandatory:FORK_PROCESS ssds.exeFORK_PROCESS tim_nt.exeFORK_PROCESS tick_nt.exe

    For Linux, the following FORK_PROCESS commands are mandatory:

    FORK_PROCESS ssdsFORK_PROCESS tim_lnxFORK_PROCESS tick_lnx

    For SOLARIS, the following FORK_PROCESS commands are mandatory:

    FORK_PROCESS ssdsFORK_PROCESS tim_solFORK_PROCESS tick_sol

    Finally FORK_PROCESS commands should be added for any other modulesrunning on the host (such as protocol modules, users application or diagnosticutilities). For example:

    FORK_PROCESS s7_mgtFORK_PROCESS upeFORK_PROCESS s7_log

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    22/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 22

    3.3 Protocol Configuration

    The Development Package contains a protocol configuration utility, s7_mgt whichwill perform initialisation of all the software modules running on the signalling card.It reads the protocol configuration data from a text file called config.txt and

    provides a quick and flexible method of configuring the protocol modules withoutthe need to write any software for that purpose.

    Alternatively the protocol stack may be configured by sending the individualconfiguration messages documented in the per-module Programmers Manuals toeach protocol module. This approach is of particular use when the applicationneeds to reset the board and run a new configuration without stopping theapplication program. It is described in a later section.

    3.3.1 Protocol Configuration using the s7_mgt utility

    The default configuration file used by s7_mgt is config.txt. The -k option allows theuser to specify an alternative filename if required. For example:

    s7_mgt -kmyconfig.txt

    The format of the configuration commands is described in Appendix A.

    s7_mgt can optionally be configured to send a message to a nominated module oncompletion of the configuration sequence. This option is activated using the Ioption to specify the receiving module_id as shown in the example below:

    s7_mgt i0xef

    To assist problem diagnosis run s7_mgt using thed option and additionaldiagnostic output will be generated. For example:

    s7_mgt i0xef -d

    3.3.2 Protocol Configuration using individual messages

    As an alternative to using the s7_mgt configuration utility it is possible to carry outprotocol configuration by building and sending messages directly to the board. This

    approach does mean that it is necessary to write some application code to handleconfiguration but has the advantage that the application can, if required, re-configurethe board without re starting the application.

    All communication with the board is in the form of sending and receiving messages.The configuration sequence is described in the following section. The applicationshould allocate a message structure using the library function getm() and send it tothe board using the library function GCT_send(). The application should periodicallycall the library function GCT_receive() or GCT_grab() in order to receive messagesfrom the board. GCT_receive() will block until a message is available whilstGCT_grab() will return immediately. Once the application has finished processing thereceived message it should release the message structure back to the system by

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    23/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 23

    calling the library function relm(). The library functions are all described in theSoftware Environment Programmers Manual.

    To configure the board using individual messages the following sequence shouldbe used. (The format of all the messages is described in Section 5 of this manual).

    1. Build and send an SSD Reset Message. This contains the parameters toinitialise the ssd module.

    2. Build and send a Board Reset Message for each board. This includes the id ofthe board and the name of the code file. It causes the board to be reset and thecode file downloaded.

    3. Wait until a Board Status Message is received (for each board), inspect thestatus field to determine whether or not the reset operation was successful. Onfailure you should check carefully the parameters and try again. On success

    continue to the next step.

    4. Build and send a Board Configuration Message. This contains all mandatoryprotocol configuration parameters (such as point codes, physical link settings andMTP configuration parameters) for the Message Transfer Part (MTP).

    5. Wait until a Board Configuration Confirmation Message is received, inspect thestatus field which will be set to zero on success. On failure re-check configurationparameters and go back to resetting the board.

    6. Optionally send LIU Configuration Request Messages for each E1/T1 line

    interface unit on the board to configure the appropriate operating mode. Ensurethat the status is zero in the confirmation message.

    7. Optionally send MTP Config Route Messages for any remote signalling points(other than adjacent signalling points. The route configuration for adjacentsignalling points is automatically set up using the board configuration message).Ensure that the status is zero in the confirmation message.

    8. If a user part (eg ISUP or TUP) is included in the code file build and send theper-module configuration message (as described in the Programmers Manual forthe User Part Module). Ensure that the status is zero in the confirmation message.

    9. If a user part is included, build and send circuit group configuration messages foreach circuit group (as described in the Programmers Manual for the User PartModule). Ensure that the status is zero in the confirmation message.

    10. The protocol stack is now configured ready for use in the same way as if theconfiguration utility s7_mgt has been used. The user should send an MTP ActivateSignalling Link message for each signalling link to start up SS7 operation.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    24/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 24

    3.4 Using the CT bus

    3.4.1 Introduction

    The SPCI2S, SPCI4 and CPM8 cards support two, four or eight E1/T1 LineInterface Units and a CT bus interface (H.100 or H.110). The on-board signallingprocessor handles the SS7 signalling timeslots whilst the remaining circuits (voiceor data bearer circuits) are passed to the CT bus for distribution to other cards.

    All communication between the application and the board is message based. Initialconfiguration is usually handled by the configuration utility s7_mgt, which takescommands from the text file (config.txt) and generates all the necessaryconfiguration messages for the board. Subsequent operation is entirely messagedriven, messages being passed in both directions between the board and theapplication.

    One of the roles of the application is to control the dynamic switching between theCT bus and the E1 / T1 line interfaces. This section provides details of how tointerface with the CT bus, including the initial (static) configuration and thesubsequent (dynamic) switching.

    The operation of the CT bus switching interface is described in terms of the SCbusswitching model using the messages MVD_SC_DRIVE_LIU,MVD_MSG_SC_LISTEN and MVD_MSG_SC_FIXDATA and config.txt commandsLIU_SC_DRIVE and SCBUS_LISTEN.

    3.4.2 Switching Model

    The basic switching model assumes that at system initialisation all incoming E1/T1timeslots and all resource card output timeslots are connected up to channels onthe CT bus and that these connections are never changed. This has the advantagethat once the on-board CT bus drivers have been set up they are never changed sothe chances of inadvertently causing CT bus conflict is minimised. It also meansthat the user can predict the exact CT bus channels where any input timeslot canbe located and this in turn can assist with fault diagnosis and general system test.

    It is also possible to generate fixed patterns on any E1/T1 output timeslots toprovide the correct idle pattern for presentation to the network on all circuits wherethere is no active call.

    NOTE: Generation of fixed patterns to the network is handled differently to themethod used on the PCCS6 card which involved generating a fixed pattern on anSCbus channel and connecting it through the switch towards the E1/T1 interface.This is due in part to increased functionality available on the CT bus interfacehardware and in part due to a lack of available channels for use in generating apattern on the CT bus.

    Having completed the system initialisation all drives to the CT bus are set up. Thenon a dynamic (call by call) basis, the connectivity must be modified when a new callarrives and when it finishes.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    25/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 25

    When a new call arrives the application will, in general, need to initiate two listencommands. One command causes the resource to listen to the appropriate CT buschannel to hear the incoming voice path and the other causes the E1/T1 interfaceto listen to the output from the resource card to generate the outgoing voice path.

    When a call clears, the application needs to initiate generation of the fixed idlepattern towards the network operation (and may wish to connect an idle pattern tothe resource card).

    3.4.3 Static Initialisation

    Static initialisation is handled by the s7_mgt utility. For each E1/T1 line interfaceunit user should include an LIU_SC_DRIVE command in the config.txt file. Thesyntax for this command is detailed in appendix A.

    The LIU_SC_DRIVE command has several parameters. board_id and liu_idtogether uniquely identify the affected line interface unit. sc_channel is the channelnumber of the first channel on the CT bus that is to be used for timeslots from thespecified LIU. ts_mask is a mask identifying which timeslots on the E1/T1 interfaceare carrying voice circuits (as opposed to signalling) and therefore need to beconnected to the CT bus. The least significant bit of ts_mask should always be zerowhen driving from an E1/T1 interface.

    As an example consider a two board system where the first board has 4 E1 portsand the second board has 4 T1 ports. We allow the first 512 CT bus channels to beused by other cards in the system and therefore start at sc_channel 512.

    LIU_SC_DRIVE 0 0 512 0xfffefffe * 30 E1 voice ccts on ts 1..15 & 17..31LIU_SC_DRIVE 0 1 542 0xfffefffe * 30 E1 voice ccts on ts 1..15 & 17..31LIU_SC_DRIVE 0 2 572 0xfffefffe * 30 E1 voice ccts on ts 1..15 & 17..31LIU_SC_DRIVE 0 3 602 0xfffefffe * 30 E1 voice ccts on ts 1..15 & 17..31LIU_SC_DRIVE 1 0 632 0x00fffffe * 23 T1 voice ccts on timeslots 1..23LIU_SC_DRIVE 1 1 655 0x00fffffe * 23 T1 voice ccts on timeslots 1..23LIU_SC_DRIVE 1 2 678 0x00fffffe * 23 T1 voice ccts on timeslots 1..23LIU_SC_DRIVE 1 3 701 0x00fffffe * 23 T1 voice ccts on timeslots 1..23

    3.4.4 Dynamic Operation

    The application controls dynamic changes to CT bus switching by sending theMVD_MSG_SC_LISTEN message to the board. This message is documented inSection 5 of this manual. It contains the liu_id (0 .. 7), the timeslot number on theE1 / T1 interface and the CT bus channel number (sc_channel) to which thetimeslot should listen. The message is directed to the correct board by calling theGCT_set_instance function prior to calling GCT_send.

    When a new call arrives, the application will need to instigate 2 listen commands(although they will not necessarily both apply to the SS7 board). One will connectthe voice circuit in the forward direction and the other will connect it in the backwarddirection.

    When a call terminates, the application should issue a fixed data message toensure that the network port sees the voice idle pattern.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    26/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 26

    3.4.5 Example code - Building and sending SC_LISTEN

    /** Example function for building and sending an MVD_MSG_SC_LISTEN* message to a SPCI2S, SPCI4 or CPM8 signalling card.** The only change that the user needs to make is to fill in the* OUR_MOD_ID definition below so that is equal to the module_id* of the application module.*/

    #define OUR_MOD_ID (0xef)

    #include "system.h" /* Definitions of u8, u16 etc */#include "msg.h" /* Definitions of HDR, MSG etc */#include "libc.h" /* Used only for memset prototype */#include "sysgct.h" /* Prototypes for GCT_xxx */#include "pack.h" /* Prototypes for rpackbytes */#include "ss7_inc.h" /* Message & module definitions */

    /** Macro to generate the value for use in the rsp_req field of the* message header in order to request a confirmation message:*/#define RESPONSE(module) (((unsigned short) 1) len);

    /** Enter the parameters in machine independent format:*/rpackbytes(pptr, MVDMO_SCLIS_liu_id, (u32)liu_id, MVDMS_SCLIS_liu_id);rpackbytes(pptr, MVDMO_SCLIS_timeslot, (u32)timeslot, MVDMS_SCLIS_timeslot);rpackbytes(pptr, MVDMO_SCLIS_sc_channel, (u32)sc_channel, MVDMS_SCLIS_sc_channel);

    m->hdr.dst = MVD_TASK_ID;m->hdr.src = OUR_MOD_ID;

    /** Call GCT_set_instance to route the message to the* correct board and GCT_send to send the message.

    * If GCT_send returns non-zero release the message.*/GCT_set_instance(board_id, (HDR *)m);if (GCT_send(m->hdr.dst, (HDR *)m) != 0)relm((HDR *)m);

    }return(0);

    }

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    27/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 27

    4. PROGRAM EXECUTION

    This section describes how to start the software running. It assumes that thesoftware has already been installed and the configuration files system.txt andconfig.txt have been modified accordingly. Refer to previous sections if unsure.

    There are three main stages to getting a new application up and running althoughthe precise means of achieving this vary slightly depending upon the operatingsystem.

    First the device driver must be installed and run.

    Secondly the protocol software running on the host must be run up.

    The final stage is to write your application (making use of the examples supplied),compile it (using the header files supplied) and link it with the supplied libraries togenerate a finished application program.

    The details of how these steps are achieved for each operating system are givenbelow.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    28/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 28

    4.1 Program execution under Windows

    Ensure the device driver has been installed and the system configuration file(system.txt) has been modified in accordance with system requirements to selectthe correct protocols etc.

    Ensure that the correct code file has been copied into the directory containing allthe SS7 binaries.

    If using s7_mgt, ensure that the protocol configuration file config.txt has beenedited to provide correct protocol configuration.

    To start the software running, change to the directory containing all the binaries andrun gctload in the background optionally specifying the system configuration file.

    To run the system in a separate console enter:

    start gctload -csystem.txt

    To run the system within the current console enter:

    gctload -csystem.txt

    The gctload program will initialise the system environment and start up otherprocesses. The s7_mgt process will configure all the protocol modules. A bannerwill confirm that the system is running.

    The example utility mtpsl may be used to activate and deactivate signalling links as

    follows:mtpsl { act | deact }

    mtpsl act 0 0

    mtpsl deact 0 0

    The host software can be shutdown by running gctload from the command lineusing thex command line option as follows:

    gctload -x

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    29/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 29

    4.2 Program execution under Linux

    Ensure the device driver has been installed and the system configuration file(system.txt) has been modified in accordance with system requirements to selectthe correct protocols etc.

    Ensure that the correct code file has been copied into the directory containing allthe SS7 binaries.

    If using s7_mgt, ensure that the protocol configuration file config.txt has beenedited to provide correct protocol configuration.

    To start the software running, change to the directory containing all the binaries andrun gctload optionally specifying the system configuration file.

    To run the system in the foreground:

    gctload -csystem.txt

    To run it in the background enter:

    gctload -csystem.txt &

    The gctload program will initialise the system environment and start up otherprocesses. The s7_mgt process will configure all the protocol modules. A bannerwill confirm that the system is running.

    The example utility mtpsl may be used to activate and deactivate signalling links as

    follows:mtpsl { act | deact }

    mtpsl act 0 0

    mtpsl deact 0 0

    To shutdown the host software run gctload using the x' parameter

    gctload x

    Any modules that have been started by gctload will be terminated automatically.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    30/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 30

    4.3 Program execution under Solaris

    Ensure the device driver has been installed and the system configuration file(system.txt) has been modified in accordance with system requirements to selectthe correct protocols etc.

    Ensure that the correct code file has been copied into the directory containing allthe SS7 binaries.

    If using s7_mgt, ensure that the protocol configuration file config.txt has beenedited to provide correct protocol configuration.

    To start the software running, change to the directory containing all the binaries andrun gctload optionally specifying the system configuration file.

    To run the system in the foreground:

    gctload -csystem.txt

    To run it in the background enter:

    gctload -csystem.txt &

    The gctload program will initialise the system environment and start up otherprocesses. The s7_mgt process will configure all the protocol modules. A bannerwill confirm that the system is running.

    The example utility mtpsl may be used to activate and deactivate signalling links as

    follows:mtpsl { act | deact }

    mtpsl act 0 0

    mtpsl deact 0 0

    To shutdown the host software run gctload using the x' parameter

    gctload x

    Any modules that have been started by gctload will be terminated automatically.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    31/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 31

    4.4 Developing a user application

    The Development Package, along with the User Part Development Packagecontain all the files to allow the user to develop applications. These consist ofmakefile definitions, C header files (.h) and libraries.

    A single definitions file is supplied (for each operating system) which contains thedefinitions relating to the users own development environment. This file is thenincluded in the make files for all other processes. The user may need to modify thisdefinitions file to ensure that correct paths etc are set up.

    The definitions file is called one of the following depending on the operatingsystem:

    makdefs.mnt (Windows)makdefs.mlx (Linux)makdefs.ms2 (Solaris)

    The following library files should be linked with the users application code:

    gctlib.lib (Windows using Microsoft compiler)gctlibb.lib (Windows using Borland compiler)gctlib.lib (Linux)gctlib.lib (Solaris)

    Some simple example programs are supplied to illustrate the techniques forinterfacing to the protocol stack although they are not intended to show a realapplication. Before starting to develop an application, you should familiariseyourself with the example programs and how they are built.

    The example programs are contained on the User Part Development Package.

    upe is a framework for a User Part module and contains a worked example ofexchanging messages with the MTP3 module. It loops back any MTP-TRANSFER-INDICATIONS messages that it receives and reports other MTP indications to theuser.

    mtpsl is an example of how to send messages to MTP3 to activate and deactivatesignalling links. It can be used as a command line tool for this purpose initially. It isintended that the user builds the example code into the management application.

    ctu is an example of how a user application can interface with telephony user parts,eg. ISUP, TUP.

    ttu is an example of how a user application can interface with the TCAP protocolmodule.

    A makefile is included to allow you to build the application programs. To build theprogram change to the appropriate directory and enter (to build ctu):

    nmake /f ctu.mnt (Windows)make -f ctu.mlx (Linux)

    make -f ctu.ms2 (Solaris)

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    32/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 32

    5. APPLICATION MESSAGE SPECIFICATIONS

    5.1 Overview

    This section describes the individual message that may be sent to and receivedfrom the board. Some messages are sent by the users application software whilstothers are sent by utility programs such as the configuration utility s7_mgt.

    Prior to sending any message to the board the application should call the libraryfunction GCT_set_instance to select which board the message will be sent to. Afterreceiving a message from the board the application should call the library functionGCT_get_instance to determine which board the message came from. Theselibrary functions are described in the Software Environment ProgrammersManual.

    The messages are grouped into 4 categories: General Configuration Messages,Hardware Control Messages, MTP Interface Messages and Event IndicationMessages.

    5.1.1 General Configuration Messages

    General Configuration Messages are normally issued by the s7_mgt configurationutility in which case they need not and should not be generated by any userapplication software.

    If the user elects not to use s7_mgt then it is necessary for the application to build

    and send messages to configure the SSD module, reset each individual board,configure each board and optionally configure additional routes.

    5.1.2 Hardware Control Messages

    Hardware Control Messages are used to control various hardware devices on theboard. This includes the E1 / T1 Line Interface Units (LIU), the digital cross connectswitches and the clocking mode for the board.

    In a static configuration, all these hardware blocks can be set up using the s7_mgt

    configuration utility along with the appropriate commands in the config.txt file.

    If dynamic control of the hardware is required (or the user has elected not to uses7_mgt) then the user application will need to build and send at least some of theHardware Control Messages.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    33/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 33

    5.1.3 MTP Interface Messages

    MTP Interface Messages allow signalling links to be activated and deactivated bythe user and provide a mechanism for communication between the MTP3 moduleand the user part module (eg. ISUP, TUP, SCCP). In many cases the user part

    module is an Intel

    NetStructure

    SS7 Protocol so the user does not need to handlethe MTP-TRANSFER, MTP-PAUSE, MTP_RESUME & MTP-STATUS primitives asthey pass directly between MTP3 and the user part module.

    In the case that the user application is implementing the user part functionality thenthe MTP primitives are applicable and these are documented in the MTP Interfacemessages section.

    5.1.4 Event Indication Messages

    Event Indication Messages are the mechanism by which protocol and softwareerror events are reported to the application. These messages are generatedasynchronously by different modules within the stack.

    5.1.5 Message Type Table

    The following table lists, by message type, all the messages described in thismanual:

    MessageType

    Mnemonic Description

    0x0008 MGT_MSG_EVENT_IND Error Indication

    0x0201 MGT_MSG_SS7_STATE MTP2 Level 2 State Indication

    0x0202 MGT_MSG_SS7_EVENT MTP2 Q.791 Event Indication

    0x0301 MGT_MSG_MTP_EVENT MTP3 Q.791 Event Indication

    0x06a0 SSD_MSG_STATE_IND Board Status Indication

    0x0e01 MVD_MSG_LIU_STATUS LIU Status Indication

    0x0e23 MVD_MSG_CLK_IND Clock Event Indication

    0x0f09 API_MSG_CNF_IND s7_mgt Completion Status Indication

    0x1e37 Confirmation of LIU_MSG_R_CONFIG

    0x1e38 Confirmation of LIU_MSG_R_CONTROL

    0x1e39 Confirmation of LIU_MSG_R_STATE

    0x3312 Confirmation of MTP_MSG_CNF_ROUTE

    0x3680 Confirmation of SSD_MSG_RESET

    0x3681 Confirmation of SSD_MSG_RST_BOARD

    0x3e00 Confirmation of MVD_MSG_RESETSWX

    0x3e15 Confirmation of MVD_MSG_SC_FIXDATA

    0x3e17 Confirmation of MVD_MSG_SC_LISTEN

    0x3e18 Confirmation of MVD_MSG_SC_DRIVE_LIU

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    34/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 34

    0x3e1f Confirmation of MVD_MSG_SC_CONNECT

    0x3e20 Confirmation of MVD_MSG_CNFCLOCK

    0x3e21 Confirmation of MVD_MSG_CLK_PRI

    0x3e34 Confirmation of LIU_MSG_CONFIG

    0x3e35 Confirmation of LIU_MSG_CONTROL

    0x3f10 Confirmation of MGT_MSG_CONFIG0

    0x5e37 LIU_MSG_R_CONFIG LIU Read Configuration Request

    0x5e38 LIU_MSG_R_CONTROL LIU Read Configuration Request

    0x5e39 LIU_MSG_R_STATE LIU State Request

    0x7312 MTP_MSG_CNF_ROUTE MTP Route Configuration Request

    0x7680 SSD_MSG_RESET SSD Reset Request

    0x7681 SSD_MSG_RST_BOARD Board Reset Request

    0x7e00 MVD_MSG_RESETSWX Reset Switch Request0x7e15 MVD_MSG_SC_FIXDATA Fixed Data Request

    0x7e17 MVD_MSG_SC_LISTEN SCbus Listen Request

    0x7e18 MVD_MSG_SC_DRIVE_LIU SCbus Initialisation Request

    0x7e1f MVD_MSG_SC_CONNECT SCbus Connect Request

    0x7e20 MVD_MSG_CNFCLOCK Configure Clock Request

    0x7320 MVD_MSG_CLK_PRI Configure Clock Priority Request

    0x7e34 LIU_MSG_CONFIG LIU Configuration Request

    0x7e35 LIU_MSG_CONTROL LIU Control Request

    0x7f10 MGT_MSG_CONFIG0 Board Configuration Request

    0x830a Confirmation of MTP_MSG_ACT_SL

    0x830b Confirmation of MTP_MSG_DEACT_SL

    0x8403 MTP_MSG_PAUSE MTP Pause Indication

    0x8404 MTP_MSG_RESUME MTP Resume Indication

    0x8405 MTP_MSG_STATUS MTP Status Indication

    0x8f01 API_MSG_RX_IND MTP Transfer Indication

    0xc30a MTP_MSG_ACT_SL MTP Link Activation Request

    0xc30b MTP_MSG_DEACT_SL MTP Link Deactivation request

    0xcf00 API_MSG_TX_REQ MTP Transfer Request

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    35/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 35

    5.2 General Configuration Messages

    5.2.1 SSD Reset Request

    Synopsis:

    Message sent to SSD once at initialisation to set up run-time options.

    NOTE: When using s7_mgt, this message is generated by s7_mgt and shouldnot be generated by the user.

    Message Format:

    MESSAGE HEADER

    FIELD NAME MEANING

    type SSD_MSG_RESET (0x7680)

    id 0

    src Sending modules module_id

    dst SSD_TASK_ID (0x20)

    rsp_req used to request a confirmation

    hclass 0

    status 0

    err_info 0

    len 24

    PARAMETER AREAOFFSET SIZE NAME

    0 1 module_id - must be set to SSD_TASK_ID

    1 2 reserved - set to zero

    3 1 mgmt_id

    4 18 reserved - set to zero

    22 2 num_boards

    Description:

    This message is used during initialisation by the application to reset the ssdmodule and set up its run-time parameters.

    The confirmation message (if requested) will indicate success by a status of 0.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    36/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 36

    Parameter Description:

    mgmt_id

    The module_id of the management module to which ssd should sent board

    status indications.

    num_boards

    The maximum number of boards that ssd will be required to manage. Thisshould not exceed 16.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    37/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 37

    5.2.2 Board Reset Request

    Synopsis:

    Message sent to SSD to cause a single board to be reset and a code file

    downloaded.

    NOTE: When using s7_mgt, this message is generated by s7_mgt and shouldnot be generated by the user.

    Message Format:

    MESSAGE HEADER

    FIELD NAME MEANING

    type SSD_MSG_RST_BOARD (0x7681)

    id board_idsrc Sending modules module_id

    dst SSD_TASK_ID (0x20)

    rsp_req used to request a confirmation

    hclass 0

    status 0

    err_info 0

    len 26

    PARAMETER AREA

    OFFSET SIZE NAME0 2 board_type

    2 4 phy_id

    6 18 code_file

    24 2 run_mode

    Description:

    This message is used during initialisation (or re-configuration) by theapplication to reset a board and download the code file that contains the

    operating software for the board.

    The download operation is supervised by the device driver which reads thebinary format code file and transfers it to the board.

    The confirmation message (if requested) will indicate success by a status of 0.This implies that the reset operation has commenced but does not implycompletion. The application should then wait until a Board Status Indication isreceived. This will indicate either successful completion of the reset anddownload operation or failure during the procedure.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    38/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 38

    Parameter Description:

    board_type

    The type of board to be reset. This should be set to 2 for SPCI2S, SPCI4 and

    CPM8 boards.

    phy_id

    The physical id for the board. This field should be set to the same value as theboard_id. (ie 0 .. one less than the number of boards supported).

    code_file

    Null terminated string giving the filename of the code file to be downloaded tothe board.

    run_mode

    Number taken from the following table to indicate which protocols are to be run:

    NOTE: It is only possible to activate protocols that have been licensed to run onthe board by use of a suitable licence button.

    run_mode Mnemonic Protocols selected to run on the board

    1 DTI Digital Trunk Interface only, no protocol software. This mode doesNOT require the use of a software licence button).

    2 MTP2 MTP2 protocol only.

    3 MTP MTP3 plus MTP2 protocols.

    4 ISUP ISUP, standard version, up to 256 circuits plus all MTP.

    5 ISUP-L ISUP, large version, up to 4096 circuits plus all MTP.

    6 TUP TUP, standard version, up to 256 circuits plus all MTP.

    7 TUP-L TUP, large version, up to 4096 circuits plus all MTP.

    10 SCCP-CL SCCP connectionless operation plus all MTP.

    11 SCCP-CO SCCP connection-oriented plus connectionless plus all MTP.

    12 TCAP TCAP plus SCCP-CL plus all MTP.

    13 ISTC ISUP standard version plus TCAP, plus SCCP-CL plus all MTP

    14 MAP MAP plus TCAP plus SCCP-CL plus all MTP.

    15 IS41 IS41 plus TCAP plus SCCP-CL plus all MTP.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    39/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 39

    5.2.3 Board Configuration Request

    Synopsis:

    Message sent to a board immediately after starting the code running to provide

    protocol configuration parameters.

    NOTE: When using s7_mgt, this message is generated by s7_mgt and shouldnot be generated by the user.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    40/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 40

    Message Format:

    MESSAGE HEADER

    FIELD NAME MEANING

    type MGT_MSG_CONFIG0 (0x7F10)id 0

    src Sending modules module_id

    dst MGMT_TASK_ID (0x8e)

    rsp_req used to request a confirmation

    hclass 0

    status 0

    err_info 0

    len 68

    PARAMETER AREA

    OFFSET SIZE NAME

    0 2 config_type (Must be set to 2)

    2 2 flags

    4 2 l1_flags

    6 2 l2_flags

    8 2 max_sif_len

    10 2 l3_flags

    12 4 pc

    16 2 ssf

    18 2 up_enable20 2 link0_flags

    22 2 link0_slc

    24 4 link0_adj_pc

    28 2 link0_stream

    30 2 link0_timeslot

    32 2 link1_flags

    34 2 link1_slc

    36 4 link1_adj_pc

    40 2 link1_stream

    42 2 link1_timeslot

    44 2 link2_flags

    46 2 link2_slc

    48 4 link2_adj_pc

    52 2 link2_stream

    54 2 link2_timeslot

    56 2 link3_flags

    58 2 link3_slc

    60 4 link3_adj_pc

    64 2 link3_stream

    66 2 link3_timeslot

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    41/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 41

    Description:

    This message must be the first message sent to the board once the SS7software is running. It is used to configure all modules on the board foroperation. The message contains signalling point codes for this signalling point

    and the adjacent signalling point(s), flags to permit various level 1, level 2 andlevel 3 run-time options to be selected and the physical link parameters.

    Once the board has been configured it must not be configured again withoutfirst resetting it.

    The confirmation message (if requested) will indicate success by a status of 0.To ensure that configuration is complete before subsequent messages areissued to the board, the user should always request a confirmation messageand check the status for success.

    If the board is not licenced to run the requested software configuration a statusvalue of 0xfe is returned.

    Parameter Description:

    flags - Global flags

    Bit 0 is set to 1 to indicate that the user does not wish to use any signallingsoftware. This allows operation of the board without a software licence buttonproviding the board is used only for E1 / T1 interface and switching purposes. Ifsignalling software is required then this bit must be set to zero.

    Bit 9 is set to 1 to disable automatic MTP route configuration, in which case theuser must send individual MTP Route Configuration messages for eachdestination. When set to zero the board will automatically configure an MTPRoute to each adjacent signalling point using the link set directly connected tothe signalling point.

    Bit 10 is reserved for future use and should currently always be set to 1.

    Bit 12 is set to 1 to cause all signalling links to be automatically activated.Usually this bit is set to zero and the user sends individual MTP Link Activation

    requests to activate each link.

    Bit 15 is set to 1 for diagnostic purposes to cause the results of internal boardconfiguration to be passed to the host. When set, all confirmation messagesgenerated internally on the board during the configuration sequence are sent tothe module_id 0xdf on the host.

    All other bits are reserved for future use and should be set to zero.

    l1_flags - level 1 flags

    Bit 0 controls the reference source used for on-board clocks when acting as CTbus Primary Master. If set to 1 then the clock will be recovered from one of theline interfaces. If set to zero then the on-board clock oscillator will be used.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    42/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 42

    Bit 6 and 7 together select the initial CT bus clocking mode as shown in thefollowing table. The clocking mode can subsequently modified dynamicallyusing the MVD_MSG_CNFCLOCK message.

    Bit 7 Bit 6 CT bus clocking mode

    0 0 The CT bus interface is disabled - In this mode the card iselectrically isolated from the other cards using the CT bus. The CTbus connection commands may still be used, but the connectionsmade will only be visible to this card. When using this mode, the on-board clocks will be synchronised to the source selected by bit 0 ofthis flags parameter.

    0 1 Primary Master, A Channel - The board will drive CT bus clock setA using the clock source selected by bit 0 of this flags parameter.

    1 0 Secondary Master, B Channel - The board is configured to driveclock set B in Secondary Master mode. It will automatically switch tobecome Primary Master if the board driving clock set A fails. Whileacting as Secondary Master the on-board clocks will be

    synchronised to the CT bus clock set A.1 1 Slave, initially A Channel The board uses the CT bus clocks,

    which must be generated by another board on the CT bus. Initiallythe board will recover from clock set A, though will switch overautomatically to recover from clock set B should set A fail.

    Bit 13 causes the board to drive the CT_NETREF1 clocks on the CT bus whenset to 1. The highest priority in-sync line interface will be used as a clocksource. If this bit is set to zero then the CT_NETREF1 clock will not be driven.

    All other bits are reserved and should be set to zero.

    l2_flags - level 2 flags

    Bit 1 should be set to 1 for ANSI operation or zero for ITU-T operation.

    Bit 3 should be set to 1 for ANSI operation or zero for ITU-T operation.

    Bit 5 is set to 1 to cause Link Status Signal Units (LSSU) to have a two octetstatus field. Otherwise LSSUs will have a single octet status field. Usually thisbit should be set to 0.

    All other bits are reserved for future use and should be set to zero.

    max_sif_len - maximum Signalling Information Field length

    The maximum Signalling Information Field length in octets that is permittedover the signalling link. Usually this should be set to 272 although it can also beset to 62 for inter-working to switches that do not support 272 octet messages.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    43/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 43

    l3_flags - level 3 flags

    Bit 0 is set to 1 to disable the level 3 discrimination function (allowing thesignalling point to receive all messages irrespective of the destination pointcode contained in the message) or 0 to allow the discrimination function to

    function normally.

    Bit 1 is set to 1 to disable sub-service field (SSF) discrimination. If this bit is setto 0, received MSUs whose ssf value does not match the configured ssf valuewill be discarded.

    Bit 8 is set to 1 to select ANSI operation or zero for ITU-T operation.

    Bit 9 is set to 1 to select ANSI style 24 bit point codes in the MTP routing labelor zero to select ITU-T style 14 bit point codes. This bit should always be set toone when ANSI operation is selected.

    Bit 10 should be set to 1 for ANSI operation or zero for ITU-T operation.

    Bit 11 should be set to 1 for ANSI operation or zero for ITU-T operation.

    All other bits are reserved for future use and should be set to zero.

    NOTE: For correct ANSI operation bits 8, 9, 10 and 11 must all be set to 1.

    pc - point code

    The point code of this signalling point coded in pure binary representation.Should be in the range 0 to 16383 for 14 bit point code operation or 0 to16777215 for 24 bit point code operation.

    ssf - sub-service field

    The value to be used in the sub-service field of all messages generated by level3. Should be in the range 0 to 15. For correct ANSI operation the 2 leastsignificant bits must always be set to 1.

    up_enable - User Part Enable

    A 16 bit mask used to enable or disable reception of messages on a per userpart basis. If bit N is set to 1 then messages for user part N will be received bythe signalling point.

    For example to enable the TUP User Part (Service indicator = 4) set theup_enable field to 0x0010, For ISUP (Service Indicator = 5) set the up_enablefield to 0x0020. To use both TUP and ISUP set up_enable to 0x0030.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    44/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 44

    linkn_flags - Per link flags

    Bit 0 is set to 1 to force the use of the emergency proving period during linkalignment or 0 to use the appropriate proving period according to Q.703. Thisbit should usually be set to 0.

    Bit 1 is set to 1 to cause a signalling link test (in accordance with ITU-T Q.707)to be carried out before a link is put into service or 0 if a test is not required.This bit should usually be set to 1

    Bit 2 is set to 1 to cause a signalling link test (in accordance with ITU-T Q.707)to be carried out every 30 seconds. Note that this bit is ignored unless bit 1 isalso set to 1. This bit should usually be set to 1.

    Bit 8 is used to select the MTP2 error correction mode. It is set to 1 to selectPCR (Preventive Cyclic Retransmission) operation or zero for the Basic Method

    of Error Correction.

    Bit 11 is set to 1 to select 56kbit/s operation for the link or 0 for 64kbit/soperation.

    NOTE: When using a serial port, 56kbit/s operation is only supported when theclock is applied externally.

    Bit 13 is only used when the link has been configured to run over a serial port(ie. bit 14 is set). If set to 1 an external clock will be used (Receive clock). If setto zero an internal clock (Transmit clock) will be used. If the link has not been

    configured to run over a serial port, this bit must be set to 0.

    Bit 14 is set to 1 to use a serial port rather than a PCM timeslot for this link. Inthis mode the stream and timeslot parameters for this link will be ignored (andshould be set to zero). If this bit is set to zero, the link will use the specifiedstream and timeslot. The serial port used by the signalling processors for eachlink is fixed, according to the following table:

    linkn Serial Port

    0 B

    1 A2 Cannot be used for a serial port

    3 Cannot be used for a serial port

    Bit 15 is set to 1 to disable the link or 0 to enable the link.

    All other bits are reserved for future use and should be set to zero.

  • 8/22/2019 SPCI-CPM8 ProgrammersManual u03hsp02

    45/107

    SS7 Programmers Manual for SPCI2, SPCI4 and CPM8 Issue 2 Page 45

    linkn_slc - Signalling link code.

    The signalling link code for the link which must be in the range 0 to 15. Thesignalling link code must be agreed with the administration at the