background image

5 Program Execution 

34 

5.3

 

Program Execution under Solaris 

Ensure the device driver has been installed and the system configuration file 

(

system.txt

) has been modified according to the system requirements to 

select the correct protocols etc. 

Ensure the code file has been copied to the directory containing the SS7 

binaries. 

If using s7_mgt, ensure the protocol configuration file 

config.txt

 has been 

edited to provide protocol configuration. 

To start the software running, change to the directory containing the binaries 

and run 

gctload

 optionally specifying the system configuration file. 

To run the system in the foreground enter: 

gctload -csystem.txt 

To run it in the background enter: 

gctload -csystem.txt & 

The 

gctload 

program initializes the system environment and starts up other 

processes. The 

s7_mgt

 process configures all the protocol modules. A 

banner confirms that the system is running. 

The example utility mtpsl may be used to activate and deactivate signaling 

links as follows: 

mtpsl { act | deact } <linkset_id> <link_ref> 

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

 are terminated 

automatically. 

5.4

 

Developing a User Application 

The development package, with the User Part Development Package, contains 
the files to allow the user to develop applications. These consist of makefile 

definitions, C header files (.h), and libraries. 

A single definitions file is supplied (for each operating system) containing the 
definitions relating to the user's own development environment. This file is 

then included in the make files for all other processes. The user may need to 

modify this definitions file to ensure correct paths etc are set up. 

The definitions file is called one of the following depending on the operating 

system: 

makdefs.mnt 

 (Windows®) 

makdefs.mlx 

 (Linux) 

makdefs.ms2 

 (Solaris) 

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

Summary of Contents for DSI SPCI Network Interface Boards

Page 1: ...March 2009 U03HSP www dialogic com Dialogic DSI SPCI Network Interface Boards Programmer s Manual...

Page 2: ...oducts other than a license to use such product in accordance with intellectual property owned or validly licensed by Dialogic and no such licenses are provided except pursuant to a signed agreement w...

Page 3: ...ware Installation for Solaris 16 3 5 1 Installing the Development Package for Solaris 16 3 5 2 Solaris 9 Interface Name Checking 17 3 5 3 Solaris 10 Additional Commands 17 3 5 4 Non serviced interrupt...

Page 4: ...Request 67 6 3 9 Reset Switch Request 68 6 3 10 CT bus Connect Request 69 6 3 11 Configure Clock Request 74 6 3 12 Configure Clock Priority Request 77 6 4 Event Indication Messages 79 6 4 1 Board Sta...

Page 5: ...1 SPCI Network Interface Board Capability 8 Table 2 Relationship between License Button Codes Run Modes and Protocol Modules 9 Table 3 Protocol Dimensioning 9 Table 4 Files Installed on a System Runn...

Page 6: ...ay 05 Remove INAP_API module Change name of package in Solaris DPK to dpksol32 Z dpksol64 Z Add geographic addressing gctload as a service watchdog timer Linux driver source code release Added board O...

Page 7: ...PCI Network Interface Boards Programmer s Manual and it is targeted at system developers who choose to integrate the boards in a host computer and to develop applications that make use of the underlyi...

Page 8: ...ty Number of SPCI4 SPCI2S T1 E1 links 4 2 V 11 V 35 synchronous serial interfaces 0 2 H 100 Computer Telephony bus CT bus 1 1 SS7 links 4 4 2 3 License Buttons The ss7 dc3 codefile supports different...

Page 9: ...S7SBPCIMTPQ MTP 4 T1 SS7SBPCIISTUPSQ ISUP TUP Small 2 T2 SS7SBPCIISTUPQ ISUP TUP Regular 4 T4 SS7SBPCIISTUPLQ ISUP TUP Large 4 2 3 2 Capacity The figures in the table below indicate the capacity for m...

Page 10: ...machine maintaining the sub directory structure The Code File contains the operating software for the DSI SPCI Boards It is in the form of a single binary file which is downloaded by the host to the b...

Page 11: ...EXE This binary can be run directly from a hard disk 3 3 1 Installing Development Package for Windows If the development package is to be used with a board then the board must be installed before ins...

Page 12: ...n the installation directory It is recommended that the user does not modify any files in this directory but instead creates a working directory into which all the necessary files are copied If the ma...

Page 13: ...indows 2000 system may fail to fully recognize that the board is controlled by the driver It may consequently produce an Install Wizard window for each board that is present at system boot This Instal...

Page 14: ...tribution is in the form of a single compressed file called dpklnx6 Z 3 4 1 Installing Development Package for Linux Install the Development Package as follows 1 Login and switch to a user account wit...

Page 15: ...ry To build the driver run this script This build script assumes a suitable environment for building Kernel modules is available This must include the appropriate Kernel include files being found at u...

Page 16: ...es to the system log The system log is displayed using the command dmesg more An example message is sptpci V1 06 Copyright C 2000 2007 Dialogic Corporation All rights reserved Using major device numbe...

Page 17: ...e tim_sol exe s7_mgt exe s7_log exe upe exe Executables for use as described elsewhere in this manual 3 5 2 Solaris 9 Interface Name Checking To use the package under Solaris 9 interface name checking...

Page 18: ...ct 3 5 5 Removing the Development Package for Solaris The Development Package for Solaris is removed using the package removal utility pkgrm dpksol32 dpksol64 The Solaris package removal utility pkgrm...

Page 19: ...at runs on the host computer In addition to running the application on the host computer the user may depending on the size of the overall system and the network topology elect to also run some of the...

Page 20: ...Process to initialize the system environment and start up all other related processes running on the host deriving the configuration from a text file system txt ssds Process to interface with the devi...

Page 21: ...fiers It subsequently expects a process to service its message queue otherwise messages written to that queue will never be read causing eventual loss of system messages gctload initializes the messag...

Page 22: ...indications REDIRECT 0xdf 0x2d LIU MTP2 status messages upe REDIRECT 0xef 0x2d Other indications upe Now start up all local tasks FORK_PROCESS ssds exe FORK_PROCESS tim_nt exe FORK_PROCESS tick_nt exe...

Page 23: ...ll quickly run out of available messages for inter process communication Two module_id s 0xdf and 0xef require redirection to a suitable process running on the host Initially these messages should be...

Page 24: ...on to specify the receiving module_id For example s7_mgt i0xef To assist problem diagnosis run s7_mgt using the d option and additional diagnostic output will be generated For example s7_mgt i0xef d S...

Page 25: ...success On failure re check the configuration parameters and go back to resetting the board 6 Optionally send LIU Configuration Request Messages for each T1 E1 line interface unit on the board to conf...

Page 26: ...ardware Parameters Parameter Description Board type Board types are reported as follows 2 SPCI2S or SPCI4 Hardware revision The board hardware revision number RAM size The on board RAM size Interface...

Page 27: ...rameters to the ssds utility See section 8 1 ssds for details 4 7 Using the CT bus The SPCI2S and SPCI4 boards support two or four T1 E1 Line Interface Units and a CT bus interface H 100 respectively...

Page 28: ...ppropriate CT bus channel to hear the incoming voice path and the other causes the T1 E1 interface to listen to the output from the resource board to generate the outgoing voice path When a call clear...

Page 29: ...rface and the CT bus channel number sc_channel to which the timeslot listens The message is directed to the correct board by calling the GCT_set_instance function prior to calling GCT_send When a new...

Page 30: ...eslot sc_channel int board_id board_id 0 1 2 int liu_id PCM port id int timeslot Timeslot on the PCM port 1 31 int sc_channel SCbus CT bus channel number MSG m u8 pptr Allocate a message and fill in t...

Page 31: ...l Issue 5 31 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 boa...

Page 32: ...m configuration file system txt has been modified according to the system requirements to select the correct protocols etc Ensure the code file has been copied to the directory containing the SS7 bina...

Page 33: ...ange to the directory containing the binaries and run gctload optionally specify the system configuration file To run the system in the foreground enter gctload csystem txt To run it in the background...

Page 34: ...stem is running The example utility mtpsl may be used to activate and deactivate signaling links as follows mtpsl act deact linkset_id link_ref mtpsl act 0 0 mtpsl deact 0 0 To shutdown the host softw...

Page 35: ...for a User Part module and contains a worked example of exchanging messages with the MTP3 module It loops back any MTP TRANSFER INDICATIONS messages that it receives and reports other MTP indications...

Page 36: ...es and Event Indication Messages 6 1 1 General Configuration Messages General Configuration Messages are normally issued by the s7_mgt configuration utility in which case they need not and must not be...

Page 37: ...the application These messages are generated asynchronously by different modules within the stack 6 1 5 Message Summary Table The following table lists by message type all the messages described in th...

Page 38: ...essage 0x6f0d MGT_MSG_R_BRDINFO Read Board Info Request Message 0x7680 SSD_MSG_RESET SSD Reset Request 0x7681 SSD_MSG_RST_BOARD Board Reset Request 0x7e00 MVD_MSG_RESETSWX Reset Switch Request 0x7e15...

Page 39: ...0x7680 id 0 src Sending module s module_id dst SSD_TASK_ID 0x20 rsp_req used to request a confirmation hclass 0 status Status Response if confirmation requested err_info 0 len 24 PARAMETER AREA Offset...

Page 40: ...y formatted 6 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 must no...

Page 41: ...ication must then wait until a Board Status Indication is received This indicates either successful completion of the reset and download operation or failure during the procedure Parameter Description...

Page 42: ...gular version plus all MTP 7 TUP L TUP large version plus all MTP See section 2 3 2 Capacity for details of the capacity for modules running on the DSI SPCI Boards Status Response The confirmation mes...

Page 43: ...appears corrupt 6 2 4 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...

Page 44: ...st message sent to the DSI SPCI Board once the SS7 software is running It is used to configure all modules on the board for operation The message contains signaling point codes for this signaling poin...

Page 45: ...sent to the module_id 0xdf on the host All other bits are reserved for future use and must be set to zero l1_flags level 1 flags Bit 0 controls the reference source used for on board clocks when actin...

Page 46: ...ignaling point to receive all messages irrespective of the destination point code contained in the message or zero to allow the discrimination function to function normally Bit 1 is set to 1 to disabl...

Page 47: ...to 1 but is ignored if Bit 1 is set to zero Bit 8 is used to select the MTP2 error correction mode It is set to 1 to select PCR Preventive Cyclic Retransmission operation or zero for the Basic Method...

Page 48: ...ks in a link set must have the same adjacent point code linkn_stream Signaling stream When linkn_timeslot is set to a non zero value the linkn_stream is the logical identity of the T1 E1 line interfac...

Page 49: ...uccess err_info 0 len 28 PARAMETER AREA Offset Size Name 0 2 reserved 2 1 maj_rev 3 1 min_rev 4 24 text Description This message is provided to request a reply indicating the software version for modu...

Page 50: ...ntity e g SS7 DC3 6 2 6 Read Board Info Request Message Synopsis Message used to request basic board information This message may be sent to several Dialogic DSI SS7 Boards but only the parameters rel...

Page 51: ...Response if confirmation requested err_info 0 len 60 PARAMETER AREA Offset Size Name 0 1 board_type 1 1 board_rev 2 1 reserved 3 1 swa 4 1 swb 5 1 reserved 6 1 reserved 7 1 reserved 8 1 prom_maj_rev...

Page 52: ...n the o3 feature of ssds is used prom_maj_rev Firmware major revision number prom_min_rev Firmware minor revision number esn The board s electronic serial number lsn License serial number The serial n...

Page 53: ...ated by the user Message Format MESSAGE HEADER Field Name Meaning type LIU_MSG_CONFIG 0x7e34 id liu_id src Sending Module ID dst MVD_TASK_ID 0x10 rsp_req used to request a confirmation hclass 0 status...

Page 54: ...ion liu_type The physical type of interface according to the following table note that this must be selected by the user to be appropriate for the actual hardware fitted otherwise an error status is r...

Page 55: ...s 1 Setting for T1 devices faw The 8 bit value to be used for any E1 frame alignment word bit positions that are not modified by other options This allows the spare bit designated For International Us...

Page 56: ...and line_code mode 3 AMI with Zero Code Suppression to disable zero code suppression on selected channels This parameter is a 32 bit mask Zero code suppression may be disabled for the signaling chann...

Page 57: ...status Status Response if confirmation requested err_info 0 len 16 PARAMETER AREA Offset Size Name 0 1 ais_gen 1 1 rai_gen 2 1 loop_mode 3 13 Reserved for future use must be set to zero Description Th...

Page 58: ...tion of RAI Yellow alarm upon loss of synchronization loop_mode The diagnostic loop back mode taken from the following table loop_mode Description 0 Do not change diagnostic loop back mode 1 Disabled...

Page 59: ...set Size Name 0 40 Parameter area formatted as for the LIU_MSG_CONFIG message The user should set the fields to zero and the module writes the current configuration parameters in the confirmation mess...

Page 60: ...ID dst MVD_TASK_ID 0x10 rsp_req used to request a confirmation hclass 0 status Status Response if confirmation requested err_info 0 len 16 PARAMETER AREA Offset Size Name 0 16 Parameter area formatted...

Page 61: ...urrent state of a Line Interface Unit LIU Message Format MESSAGE HEADER Field Name Meaning type LIU_MSG_R_STATE 0x5e39 id liu_id src Sending Module ID dst MVD_TASK_ID 0x10 rsp_req used to request a co...

Page 62: ...ID 0xff None Invalid message length 6 3 6 LIU CT bus Initialization Request Synopsis This message is sent to the board at initialization time to set up a static switch path through the board between t...

Page 63: ...Us fitted This parameter can also be set to the special value 0x83 to select the signaling processor instead of an LIU In this case timeslots 0 3 correspond to signaling processor 0 3 respectively sc_...

Page 64: ...are allocated Usually mode 1 the first timeslot connected to the CT bus is connected to sc_channel and each subsequent timeslot that is selected is connected to the next CT bus channel This allows max...

Page 65: ...Line Interface Unit LIU It is issued by the application and is typically used at the start of each call although it may also be issued during a call to connect to a different resource Correct operati...

Page 66: ...unit on which the data from the CT bus is transmitted The valid range for timeslot is 1 to 31 for an E1 interface and 1 to 24 for a T1 interface sc_channel The channel number on the CT bus to which t...

Page 67: ...s 0 status Status Response if confirmation requested err_info 0 len 6 PARAMETER AREA Offset Size Name 0 2 liu_id 2 2 timeslot 4 2 pattern Description This message is sent to the DSI SPCI Board in orde...

Page 68: ...es success by status of zero On error the following status values can be found in the confirmation message Value Mnemonic Description 0xd2 MVIP_INVALID_STREAM Invalid stream specified in listen reques...

Page 69: ...irmation message if requested indicates success by status of zero On receipt of the confirmation message the operation to reset the switch has completed Status Response The confirmation message if req...

Page 70: ...eam 12 2 dest_slot 14 2 pattern Description This message is sent to the DSI SPCI Board to control the CT bus switch Several different actions can be performed depending on the value of the mode parame...

Page 71: ...liu_id 0 3 131 0x83 Signaling Processor local_slot The local slot defines which timeslot on the local stream to use for all the modes of operation The local slot value has the following valid ranges...

Page 72: ...o specify both timeslots for disconnection mode 10 Generate a fixed pattern e g idle pattern on a local timeslot local_stream specifies the liu_id local_slot the timeslot and pattern the 8 bit data to...

Page 73: ...as the same range as the source slot pattern The value of the fixed data to be generated The value must be in the range 0 to 255 Typical values are 0xff for an all ones idle pattern or 0x2a for an ITU...

Page 74: ...firmation requested err_info 0 len 8 PARAMETER AREA Offset Size Name 0 2 bus_speed 2 2 clk_mode 4 2 pll_clk_src 6 2 ref1_mode 8 2 Reserved Set to zero Description This message is used to control the o...

Page 75: ...made are only visible to this board The on board clocks are synchronized to the configured pll_clk_src reference If the DSI SPCI Board is configured to be Slave to the CT bus then it automatically sw...

Page 76: ...EF signal is lost the board continues with the PLL in holdover mode until another MVD_MSG_CNFCLOCK message is received to switch to a new mode Note If the NETREF signal recovers it is still necessary...

Page 77: ...liu1_pri 2 1 liu2_pri 3 1 liu3_pri 4 1 liu4_pri 5 1 liu5_pri 6 1 liu6_pri 7 1 liu7_pri Description This message allows the user to specify a priority for each line interface When configured to recover...

Page 78: ...iority 32 the lowest priority If two interfaces are given the same priority the lowest numbered interface is used first 255 Special value indicating that the line interface must not be used for clock...

Page 79: ...e or on detection of a board failure Note This message is not required when using the configuration utility s7_mgt Message Format MESSAGE HEADER Field Name Meaning type SSD_MSG_STATE_IND 0x06a0 id boa...

Page 80: ...rds board cleared 0x71 SSDSI_BCONG_ON Message congestion towards board occurred 0x72 SSDSI_DIS_CLR Message congestion discard towards board cleared 0x73 SSDSI_DIS_ON Message congestion discard towards...

Page 81: ...ait for the API_MSG_CNF_IND message to ensure the application does not attempt to send messages until initial configuration is complete Parameter Description Completion Status The result of initial co...

Page 82: ...he last valid reference signal 2 PLL left hold over mode The nominated clock reference for a primary or secondary master board has become available and the is now being used as the input to the board...

Page 83: ...VD_MSG_LIU_STATUS 0x0e01 id liu_id src MVD_TASK_ID dst MGMT_TASK_ID rsp_req 0 hclass 0 status liu_status see below err_info Reserved for future use len 0 Description This message is issued by the boar...

Page 84: ..._SLIP Frame Slip 25 LIUS_BER5_OCRD BER 1 in 100 000 26 LIUS_BER5_CLRD BER5 cleared 27 LIUS_BER3_OCRD BER 1 in 1 000 28 LIUS_BER3_CLRD BER3 cleared 6 4 5 Error Indication Synopsis Message issued to man...

Page 85: ...accept primitive 0x52 MTP_POOL_EMPTY 0 No free frames in MTP3 transmit pool 0x53 MTP_TX_FAIL 0 MTP3 failed to send MSU to lower layer 0x54 MTP_LEN_ERR 0 MSU too long for buffer 0x55 MTP_SLT_FAIL link_...

Page 86: ...e a change of state takes place at level 2 It is intended only for diagnostic use by system management Normally the MTP Pause and MTP Resume Indications are used by the user parts to determine destina...

Page 87: ...eq 0 hclass 0 status Event Code see below err_info Timestamp next 0 len 0 Description This primitive is used by MTP2 to advise management of the occurrence of protocol related events in accordance wit...

Page 88: ...estion 5 S7F_SIO_RXD Unexpected SIO received 6 S7F_SIN_RXD Unexpected SIN received 7 S7F_SIE_RXD Unexpected SIE received 8 S7F_SIOS_RXD SIOS received 16 S7G_CONG Onset of signaling link congestion 17...

Page 89: ...ER AREA Offset Size Name 0 len Event specific parameters Description This primitive is used by MTP2 to advise management of the occurrence of protocol related events in accordance with Q 752 These eve...

Page 90: ...ge cleared 6 MTPEV_CONG link Signaling link congestion 7 MTPEV_CONG_CLR link Congestion cleared 8 MTPEV_CONG_DIS link MSU discarded due to congestion 9 MTPEV_LS_LOST linkset Link set failure 10 MTPEV_...

Page 91: ...ype within the system Possible values are SPCI2S for Dialogic DSI SPCI2S Network Interface Boards SPCI4 for Dialogic DSI SPCI4 Network Interface Boards boards flags A 16 bit value that provides additi...

Page 92: ...e CT bus Initially the board recovers from clock set A though will switch over automatically to recover from clock set B if set A fails Bit 13 causes the board to drive the CT_NETREF1 clocks on the CT...

Page 93: ...plus MTP2 protocols See section 2 3 2 Capacity for details of the capacity for modules running on the DSI SPCI Boards 7 1 2 LIU_CONFIG Command Syntax LIU_CONFIG board_id liu_id liu_type line_code fram...

Page 94: ...ession 3 AMI with Zero Code Suppression The appropriate bit in the clear_mask parameter may be set to disable Zero Code Suppression for individual timeslots if required T1 only 4 B8ZS T1 only frame_fo...

Page 95: ...ote that for the SPCI2S valid values for the LIU identifiers are 2 and 3 sc_channel The channel number of the first channel to be used on the CT bus This must be in the range from 0 up to one less tha...

Page 96: ...board_id liu_id timeslot sc_channel Example SCBUS_LISTEN 0 0 31 23 This command establishes a connection from the CT bus to an outgoing timeslot on the Line Interface Unit LIU Dynamic modification of...

Page 97: ...alue does not match the configured ssf value for that link set are discarded Bit 2 is set to 1 to cause MTP3 to generate a UPU User Part Unavailable message to the network on receipt of a message cont...

Page 98: ...int code of the adjacent signaling point num_links The number of links to be allocated to the link set flags A 16 bit value reserved for future use to specify run time options Currently no options are...

Page 99: ...0 to one less than the number of signaling processors on the board stream When timeslot is set to a non zero value the stream parameter is the logical identity of the T1 E1 line interface liu_id cont...

Page 100: ...slot for this link In this mode the stream and timeslot parameters for this link are ignored and must be set to zero If this bit is set to zero the link uses the specified stream and timeslot The seri...

Page 101: ...fy the user parts that are supported over this route The bits are labelled 0 to 15 and for each user part supported the bit corresponding to the Service Indicator for that user part must be set e g To...

Page 102: ...ction of the MTP_USER_PART command 7 3 ISUP Parameters 7 3 1 Global ISUP Configuration Syntax ISUP_CONFIG res1 res2 user_id options num_grps num_ccts partner_id Example ISUP_CONFIG 0 0 0x2d 0x0435 4 1...

Page 103: ...eter for use when operating in dual resilient configuration This parameter is the module_id of the partner ISUP module equivalent to the module_id field in the ISUP Configure Request message as docume...

Page 104: ...xt_options field as detailed in the ISUP Programmer s Manual user_inst The instance number of the user application Typically only a single user application exists so this field would be set to zero us...

Page 105: ...TUP circuit groups that the user intends to use This must not exceed the maximum number of circuit groups supported otherwise module configuration will fail Typically num_grps would be set to the maxi...

Page 106: ...group base_cid The logical id for the first circuit in the circuit group It must lie in the range 0 to one less than the number of circuits supported cic_mask A 32 bit mask with bits set to indicate w...

Page 107: ...s Manual Issue 5 107 ssf The value to be used in the sub service field of all TUP messages for this circuit group variant This field is reserved for future use and must be set to zero options2 This fi...

Page 108: ...s the congestion handling module for gctload then it will stop retrieving messages from the board until the congestion abates Other congestion handling steps may be required depending on the system co...

Page 109: ...ernative the user may elect to perform protocol configuration by sending messages directly to the other modules in the system See section 4 3 2 Protocol Configuration Using Individual Messages for mor...

Page 110: ...s sent when the configuration is complete d Enable diagnostic tracing 8 2 4 Example To run the s7_mgt utility as module ID 0xdf with the file my_config txt as its configuration file and notifying the...

Page 111: ...Dialogic DSI SPCI Network Interface Boards Programmer s Manual Issue 5 111...

Reviews: