SIGTRAN Stack Dev Ref Manual

Download as pdf or txt
Download as pdf or txt
You are on page 1of 206

Dialogic NaturalAccess SIGTRAN Stack Developers Reference Manual

July 2009

64-0451-01 www.dialogic.com

Copyright and legal notices


Copyright 2008-2009 Dialogic Corporation. All Rights Reserved. You may not reproduce this document in whole or in part without permission in writing from Dialogic Corporation at the address provided below. All contents of this document are furnished for informational use only and are subject to change without notice and do not represent a commitment on the part of Dialogic Corporation or its subsidiaries (Dialogic). Reasonable effort is made to ensure the accuracy of the information contained in the document. However, Dialogic does not warrant the accuracy of this information and cannot accept responsibility for errors, inaccuracies or omissions that may be contained in this document. INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH DIALOGIC PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN A SIGNED AGREEMENT BETWEEN YOU AND DIALOGIC, DIALOGIC ASSUMES NO LIABILITY WHATSOEVER, AND DIALOGIC DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF DIALOGIC PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHT OF A THIRD PARTY. Dialogic products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications. Due to differing national regulations and approval requirements, certain Dialogic products may be suitable for use only in specific countries, and thus may not function properly in other countries. You are responsible for ensuring that your use of such products occurs only in the countries where such use is suitable. For information on specific products, contact Dialogic Corporation at the address indicated below or on the web at www.dialogic.com. It is possible that the use or implementation of any one of the concepts, applications, or ideas described in this document, in marketing collateral produced by or on web pages maintained by Dialogic may infringe one or more patents or other intellectual property rights owned by third parties. Dialogic does not provide any intellectual property licenses with the sale of Dialogic products 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 with Dialogic. More detailed information about such intellectual property is available from Dialogics legal department at 9800 Cavendish Blvd., 5th Floor, Montreal, Quebec, Canada H4M 2V9. Dialogic encourages all users of its products to procure all necessary intellectual property licenses required to implement any concepts or applications and does not condone or encourage any intellectual property infringement and disclaims any responsibility related thereto. These intellectual property licenses may differ from country to country and it is the responsibility of those who develop the concepts or applications to be aware of and comply with different national license requirements. Any use case(s) shown and/or described herein represent one or more examples of the various ways, scenarios or environments in which Dialogic products can be used. Such use case(s) are non-limiting and do not represent recommendations of Dialogic as to whether or how to use Dialogic products. Dialogic, Dialogic Pro, Brooktrout, Diva, Cantata, SnowShore, Eicon, Eicon Networks, NMS Communications, NMS (stylized), Eiconcard, SIPcontrol, Diva ISDN, TruFax, Exnet, EXS, SwitchKit, N20, Making Innovation Thrive, Connecting to Growth, Video is the New Voice, Fusion, Vision, PacketMedia, NaturalAccess, NaturalCallControl, NaturalConference, NaturalFax and Shiva, among others as well as related logos, are either registered trademarks or trademarks of Dialogic Corporation or its subsidiaries. Dialogic's trademarks may be used publicly only with permission from Dialogic. Such permission may only be granted by Dialogics legal department at 9800 Cavendish Blvd., 5th Floor, Montreal, Quebec, Canada H4M 2V9. Any authorized use of Dialogic's trademarks will be subject to full respect of the trademark guidelines published by Dialogic from time to time and any use of Dialogics trademarks requires proper acknowledgement. The names of actual companies and product mentioned herein are the trademarks of their respective owners. This document discusses one or more open source products, systems and/or releases. Dialogic is not responsible for your decision to use open source in connection with Dialogic products (including without limitation those referred to herein), nor is Dialogic responsible for any present or future effects such usage might have, including without limitation effects on your products, your business, or your intellectual property rights.

Revision history Revision Release date Notes DEH, SS7 5.0 Beta LBG, SS7 5.1 9000-62735-10 July 2008 64-0451-01 July 2009

9000-62735-11 October 2008 DEH, SS7 5.0 Last modified: July 7, 2009 Refer to www.dialogic.com for product updates and for information about support policies, warranty information, and service offerings.

Table Of Contents
Chapter 1: Introduction .................................................................................9 Chapter 2: Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual..........................................................................................9 Chapter 3: SIGTRAN overview .....................................................................11 Overview of Dialogic NaturalAccess SIGTRAN Stack ...................................11 SIGTRAN architecture ..............................................................................12 SIGTRAN components ..............................................................................13 M3UA layer ...............................................................................................15 Network definitions ..................................................................................15 NSAPs....................................................................................................15 SCT SAP.................................................................................................16 Peer servers ...........................................................................................17 Peer signaling processes...........................................................................17 SCTP associations....................................................................................17 Routing keys...........................................................................................18 SCTP layer ................................................................................................18 STCP message tasks ................................................................................18 Configurable entities ................................................................................19 Chapter 4: SIGTRAN programming model ....................................................21 M3UA message handling .............................................................................21 Inbound messages...................................................................................21 Outbound messages ................................................................................23 Contexts and queues ..................................................................................23 M3UA service users ....................................................................................26 Entity and instance IDs ...............................................................................27 Transferring data .......................................................................................27 Status indications.......................................................................................28 Controlling congestion.................................................................................29 Establishing a connection ............................................................................30 IPSP-IPSP configuration in double-ended mode ............................................31 IPSP-IPSP configuration in single-ended mode .............................................32 ASP-SGP configuration .............................................................................34 Redundant configuration...........................................................................35 Chapter 5: Using the M3UA service ..............................................................37 Initializing the M3UA service under Natural Access ..........................................37 Initializing the Natural Access environment .................................................37 Creating queues and contexts ...................................................................38 Using ctaOpenServices .............................................................................38 Handling redundancy events ........................................................................40 Chapter 6: M3UA service function reference ................................................41 M3UA service function summary...................................................................41 Using the M3UA service function reference.....................................................41 M3uaGetApiStats........................................................................................42 M3uaRetrieveMessage.................................................................................43 M3uaSendData ..........................................................................................45
Dialogic Corporation 3

Introduction

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Chapter 7: Managing the M3UA layer ...........................................................47 Configuring M3UA entities............................................................................47 General M3UA configuration ......................................................................49 M3UA network configuration .....................................................................50 M3UA SCT SAP configuration .....................................................................51 M3UA NSAP configuration .........................................................................51 M3UA peer signaling process configuration ..................................................52 M3UA peer server configuration .................................................................52 M3UA route configuration .........................................................................53 Controlling M3UA entities ............................................................................54 Retrieving M3UA statistics ...........................................................................55 Retrieving M3UA status information ..............................................................55 Chapter 8: M3UA management function reference.......................................57 M3UA management function summary ..........................................................57 Control functions .....................................................................................57 Configuration functions.............................................................................58 Statistics functions ..................................................................................59 Status functions ......................................................................................59 Using the M3UA management function reference ............................................59 M3uaAddrTransStatus .................................................................................60 M3uaDpcStatus..........................................................................................61 M3uaGenStatistics......................................................................................62 M3uaGenStatus .........................................................................................63 M3uaGetGenCfg .........................................................................................64 M3uaGetNSapCfg .......................................................................................65 M3uaGetNwkCfg ........................................................................................66 M3uaGetPsCfg ...........................................................................................67 M3uaGetPspCfg..........................................................................................68 M3uaGetRteCfg..........................................................................................69 M3uaGetSctSapCfg.....................................................................................70 M3uaInitGenCfg .........................................................................................71 M3uaInitNSapCfg .......................................................................................72 M3uaInitNwkCfg.........................................................................................73 M3uaInitPsCfg ...........................................................................................74 M3uaInitPspCfg..........................................................................................75 M3uaInitRteCfg ..........................................................................................76 M3uaInitSctSapCfg .....................................................................................77 M3uaMgmtCtrl ...........................................................................................78 M3uaMgmtInit ...........................................................................................81 M3uaMgmtTerm .........................................................................................82 M3uaNSapStatistics ....................................................................................83 M3uaNSapStatus........................................................................................84 M3uaPspRkIdStatus....................................................................................85 M3uaPspStatistics ......................................................................................86 M3uaPspStatus ..........................................................................................87 M3uaPsStatus ............................................................................................88 M3uaRkStatus ...........................................................................................89 M3uaRteStatus ..........................................................................................90 M3uaSctSapStatistics..................................................................................91 M3uaSctSapStatus .....................................................................................92 M3uaSetGenCfg .........................................................................................93 M3uaSetNSapCfg .......................................................................................94

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Introduction

M3uaSetNwkCfg.........................................................................................95 M3uaSetPsCfg............................................................................................96 M3uaSetPspCfg ..........................................................................................97 M3uaSetRteCfg ..........................................................................................98 M3uaSetSctSapCfg .....................................................................................99 Chapter 9: M3UA management structures .................................................101 M3UA management structures summary...................................................... 101 Configuration structures ......................................................................... 101 Statistics structures ............................................................................... 102 Status structures ................................................................................... 102 AssocCfg ................................................................................................. 103 AssocSta................................................................................................. 104 DateTime (for M3UA) ................................................................................ 105 M3UAAtSta.............................................................................................. 106 M3UADpcSta ........................................................................................... 107 M3UAGenCfg ........................................................................................... 108 M3UAGenSta ........................................................................................... 110 M3UAGenSts ........................................................................................... 111 M3UANSapCfg ......................................................................................... 112 M3UANSapSta ......................................................................................... 113 M3UANSapSts.......................................................................................... 114 M3UANwkCfg ........................................................................................... 115 M3UAPsCfg.............................................................................................. 117 M3UAPsSta.............................................................................................. 119 M3UAPsStaEndp....................................................................................... 120 M3UAPspCfg ............................................................................................ 121 M3UAPspRkIdSta...................................................................................... 123 M3UAPspSta ............................................................................................ 124 M3UAPspSts ............................................................................................ 125 M3UARkSta ............................................................................................. 126 M3UARteCfg ............................................................................................ 127 M3UARtFilter ........................................................................................... 128 M3UASctSapCfg ....................................................................................... 129 M3UASctSapSta ....................................................................................... 130 M3UASctSapSts ....................................................................................... 131 M3UA network address sub-structures......................................................... 132 NetAddrLst ........................................................................................... 132 NetAddr ............................................................................................... 132 M3UA timer sub-structures ........................................................................ 133 M3UAGenTimerCfg................................................................................. 133 TmrCfg ................................................................................................ 134 M3UA statistics sub-structures ................................................................... 136 CongSts ............................................................................................... 136 DataSts................................................................................................ 136 DataErrSts............................................................................................ 136 Mtp3Sts ............................................................................................... 137 M3UASts .............................................................................................. 137 Chapter 10: m3uamgr utility ....................................................................139 m3uamgr overview................................................................................... 139 m3uamgr commands ................................................................................ 140 m3uamgr statistics command examples ...................................................... 143

Dialogic Corporation

Introduction

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

stats m3ua ........................................................................................... 143 stats nsap ............................................................................................ 144 stats psp .............................................................................................. 145 stats sctsap .......................................................................................... 145 m3uamgr status command examples .......................................................... 146 status addr ........................................................................................... 146 status dpc ............................................................................................ 146 status m3ua ......................................................................................... 146 status nsap........................................................................................... 147 status nwk ........................................................................................... 147 status ps .............................................................................................. 147 status psp ............................................................................................ 147 status psprk ......................................................................................... 148 status rk .............................................................................................. 148 status sctsap ........................................................................................ 148 Chapter 11: Managing the SCTP layer.......................................................149 Configuring SCTP entities .......................................................................... 149 General SCTP configuration..................................................................... 149 SCTP SCT SAP configuration.................................................................... 150 SCTP TSAP configuration ........................................................................ 150 Controlling SCTP entities ........................................................................... 151 Retrieving SCTP status information ............................................................. 152 Retrieving SCTP statistics .......................................................................... 152 Chapter 12: SCTP management functions.................................................153 SCTP management function summary ......................................................... 153 Control functions ................................................................................... 153 Configuration functions........................................................................... 153 Status functions .................................................................................... 154 Statistics functions ................................................................................ 154 Using the SCTP management function reference ........................................... 154 SctpAssocStatus ...................................................................................... 155 SctpDestTransAddrStatus .......................................................................... 156 SctpGenStatistics ..................................................................................... 157 SctpGenStatus ......................................................................................... 158 SctpGetGenCfg ........................................................................................ 159 SctpGetSctSapCfg .................................................................................... 160 SctpGetTSapCfg ....................................................................................... 161 SctpInitGenCfg ........................................................................................ 162 SctpInitSctSapCfg .................................................................................... 163 SctpInitTSapCfg ....................................................................................... 164 SctpMgmtCtrl .......................................................................................... 165 SctpMgmtInit........................................................................................... 167 SctpMgmtTerm ........................................................................................ 168 SctpSctSapStatistics ................................................................................. 169 SctpSapStatus ......................................................................................... 170 SctpSetGenCfg ........................................................................................ 171 SctpSetSctSapCfg .................................................................................... 172 SctpSetTsapCfg ....................................................................................... 173 SctpTSapStatistics.................................................................................... 174

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Introduction

Chapter 13: SCTP management structures ...............................................175 SCTP management structures summary ...................................................... 175 Configuration structures ......................................................................... 175 Statistics structures ............................................................................... 175 Status structures ................................................................................... 176 DateTime (for SCTP)................................................................................. 177 SCTPAssocSta.......................................................................................... 178 SCTPDtaSta............................................................................................. 180 SCTPGenCfg ............................................................................................ 181 SCTPGenReCfg ........................................................................................ 183 SCTPGenSta ............................................................................................ 184 SCTPGenSts ............................................................................................ 185 SCTPSapSta ............................................................................................ 186 SCTPSctSapCfg ........................................................................................ 187 SCTPSctSapReCfg .................................................................................... 188 SCTPSctSapSts ........................................................................................ 190 SCTPTSapCfg........................................................................................... 191 SCTPTSapReCfg ....................................................................................... 192 SCTPTSapSts ........................................................................................... 193 SCTP network address substructures........................................................... 194 SCTPNetAddrLst .................................................................................... 194 CmNetAddr........................................................................................... 194 SCTP statistics substructures ..................................................................... 195 SCTPByteSts......................................................................................... 195 SCTPChunkSts ...................................................................................... 195 SCTPDnsSts.......................................................................................... 195 Chapter 14: sctpmgr utility.......................................................................197 sctpmgr overview..................................................................................... 197 sctpmgr commands .................................................................................. 198 sctpmgr statistics command examples......................................................... 200 stats sctp ............................................................................................. 200 stats sctsap .......................................................................................... 200 stats tsap ............................................................................................. 200 sctpmgr status command examples ............................................................ 201 status assoc.......................................................................................... 201 status sap ............................................................................................ 201 status sctp ........................................................................................... 202

Dialogic Corporation

Introduction

The Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual explains how to use the Signaling Transport Protocol (SIGTRAN) to transport upper layer SS7 signaling packets over the IP network. This manual explains how to create applications using SIGTRAN and presents a detailed specification of its procedures and functions. Note: The product to which this document pertains is part of the NMS Communications Platforms business that was sold by NMS Communications Corporation (NMS) to Dialogic Corporation (Dialogic) on December 8, 2008. Accordingly, certain terminology relating to the product has been changed. Below is a table indicating both terminology that was formerly associated with the product, as well as the new terminology by which the product is now known. This document is being published during a transition period; therefore, it may be that some of the former terminology will appear within the document, in which case the former terminology should be equated to the new terminology, and vice versa.
Former terminology NMS SS7 Natural Access Current terminology Dialogic NaturalAccess Signaling Software Dialogic NaturalAccess Software

Dialogic Corporation

2
SS7 layer M3UA

SIGTRAN overview

Overview of Dialogic NaturalAccess SIGTRAN Stack


The Dialogic NaturalAccess SIGTRAN Stack consists of the following SS7 layers:
Description MTP 3 user adaptation layer An adaptation layer protocol that replaces the traditional SS7 MTP 3 layer in an IP network. It supports the transport of SS7 MTP 3 user signaling messages (such as ISUP and SCCP) over IP, using the services of SCTP. M3UA is used for communication between an application server process (ASP) and a signaling gateway process (SGP), or communication between two IP server processes (IPSPs). An ASP can serve as a media gateway controller (MGC) or IPresident database. The M3UA implementation includes a data service API and a management API (MAPI). Host applications can use the service functions to transfer data, control flow, and obtain API statistics. They can use the management functions to configure and control M3UA entities, and to obtain status and statistical information from the M3UA layer. For more information, see M3UA layer on page 15. SCTP Stream control transmission protocol A reliable transport protocol that replaces the traditional SS7 MTP 2 layer in an IP network. It transports M3UA and higher layer SS7 signaling messages over IP networks. The SCTP implementation includes a management API (MAPI) that host applications can use to configure and control SCTP entities, and to obtain SCTP status and statistical information from the SCTP layer. For more information, see SCTP layer on page 18.

Note: The remainder of this manual refers to the Dialogic NaturalAccess implementation of the SIGTRAN Stack as SIGTRAN.

Dialogic Corporation

11

SIGTRAN overview

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN architecture The following illustration shows the SIGTRAN high-level architecture:
Host application

txalarm utility

Log file Application M3UA service API

Manager utility Configuration utility M3UA management API

Manager utility Configuration utility SCTP management API

Host processor Host TX driver

TX communications processor

TCAP task

Alarms manager task

SCCP task

ISUP/TUP task

M3UA layer

SIGRAN task

SCTP layer

IP layer

Two endpoints in a SIGTRAN network are connected through an SCTP association. The endpoints can be logically connected in the following ways: As nodes in a client-server relationship, where one node is an application server process (ASP) and the other is a signaling gateway process (SGP). As peer IP-only nodes, where each node is an IP server process (IPSP).

12

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN overview

The following illustration shows an association that connects an ASP to a SGP:


SS7 (PSTN domain) Application server process (IP domain)

SCCP MTP3 MTP2 Level 1

ISUP MTP3 MTP2 Level 1 M3UA SCTP IP

SCCP

SCCP M3UA SCTP IP

ISUP

Signaling gateway process SCTP association

The following illustration shows an association that connects endpoints from two IPSPs:
IP domain

IP server process SCCP M3UA SCTP IP ISUP

IP server process SCCP M3UA SCTP IP ISUP

SCTP association

Associations are initiated automatically by SIGTRAN when the Ethernet interface becomes active. Dialogic NaturalAccess SIGTRAN currently supports ASP and IPSP functionality. It cannot be used as an SGP. SIGTRAN components SIGTRAN consists of the following components:
Component M3UA layer Purpose Provide a seamless replacement for MTP 3 to upper layer protocols, routes outgoing and incoming messages to specified destinations or applications, and reroutes traffic in the case of failure or congestion. Provides reliable transport for signaling.

SCTP layer

Dialogic Corporation

13

SIGTRAN overview

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Component TX alarms manager Operating systemindependent TX device driver M3UA configuration program M3UA service API M3UA management API

Purpose Collects unsolicited alarms (status changes) generated by the SS7 tasks and forwards them to the host for application-specific alarm processing. Provides low-level access to the TX board from the host computer.

Reads the M3UA configuration file and loads the configuration to the M3UA layer at system startup. For information, see the Dialogic NaturalAccess Signaling Software Configuration Manual. Functions that get and send data, control data flow, and return API statistics. For information, see M3UA service function summary on page 41. Functions that initialize, set, and return configuration parameters for M3UA entities. These functions can also control M3UA entities and return status and statistical information for these entities. For information, see M3UA management function summary on page 57. Reads the SCTP configuration file and loads the configuration to the SCTP layer at system startup. For information, see the Dialogic NaturalAccess Signaling Software Configuration Manual. Functions that initialize, set, and return configuration parameters for SCTP entities. These functions can also control SCTP entities and return status and statistical information for these entities. For information, see SCTP management function summary on page 153. Sample application that uses the M3UA service API to send and receive data, provided in source and object code formats. Utility that uses the M3UA management API, provided in source code and object code formats. For information, see m3uamgr overview on page 139. Utility that uses the SCTP management API, provided in source code and object code formats. For information, see sctpmgr overview on page 197. Utility that captures alarms from the board and optionally writes them to a log file. Proprietary operating system for the TX series boards. Includes utilities for troubleshooting and statistics gathering. For more information, see the TX Utilities Manual.

SCTP configuration program SCTP management API

M3UA sample application M3UA management utility (m3uamgr) SCTP management utility (sctpmgr) txalarm utility CPK/OS operating system

14

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN overview

M3UA layer
The M3UA layer enables MTP 3-like functionality to be performed over IP. It performs these primary tasks:
Task Interface to the higher and lower SS7 layers Description Provides an interface between the higher SS7 layers (ISUP, SCCP, and TUP), and the lower SCTP layer. This interface is implemented with a set of messages that the application can pass to the M3UA layer on the TX communications processor. For more information, see M3UA service function summary on page 41. Routing Routes messages to their IP destinations. M3UA uses a flexible configuration capable of supporting a wide variety of network routing and addressing requirements. For more information, see M3UA message handling on page 21. Signaling network management Maintains the availability status of all destinations through all routes. Automatically reroutes traffic in the case of failure or congestion.

In addition to general parameters, the M3UA layer consists of the following entities: Network definitions NSAPs SCT SAP Peer servers Peer signaling processes SCTP associations Routing keys

Network definitions A network definition is a logical network that describes the signaling traffic between two IP signaling points (IPSPs) or an application server process (ASP) and a signaling gateway (SG) over a common SCTP association. Typically only one network definition is required, unless the local node supports both ANSI and ITU networks. The M3UA management API lets you perform the following actions on a network definition: Initialize configuration parameters Configure a network for M3UA Obtain configuration information

For more information, see M3UA management function summary on page 57. NSAPs Network service access points (NSAPs) define the upper layer SS7 applications that use M3UA. Each NSAP is associated with a service indicator field and protocol variant combination. If multiple protocol variants (network definitions) or multiple upper layers must be supported on the same M3UA instance (same board), an NSAP is required for each

Dialogic Corporation

15

SIGTRAN overview

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIO value and protocol variant. A single application can associate itself with multiple NSAPs, or a separate application can bind to each NSAP. The M3UA management API lets you perform the following actions on an NSAP: Initialize configuration parameters Configure the NSAP for M3UA Obtain configuration information Obtain status information Obtain statistical information

For more information, see M3UA management function summary on page 57. SCT SAP An SCT service access point (SCT SAP) defines the interface between M3UA and SCTP. It is the lower SAP for M3UA and the upper SAP for SCTP. Only one SCT SAP is defined. The following illustration shows three NSAPS and one SCT SAP defined for an M3UA layer:
ISUP Bind NSAP 0 SIO x85 MTP 3 NSAP 1 SIO x83 NSAPs NSAP 2 SIO x84 M3UA layer SCCP TUP

Message routing/discrimination SCT SAP 0

SCT SAP 0

SCTP layer

The M3UA management API lets you perform the following actions on the SCT SAP: Initialize configuration parameters Configure the SCT SAP for M3UA Obtain configuration information Obtain status information Obtain statistical information

For more information, see M3UA management function summary on page 57.

16

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN overview

Peer servers A peer server (PS) is a logical entity on the IP network, such as a virtual switch or a database element, that is served by one or more peer signaling processes (PSPs). Each peer server serves a specific routing key. For example, a peer server can handle a signaling relation identified by a DPC/OPC combination or an SIO/DPC/OPC combination. There is a one-to-one relationship between a peer server and a routing key. Peer servers can be local or remote. The M3UA API lets you perform the following actions on a peer server: Initialize configuration parameters Configure the peer server Obtain configuration information Obtain status information Obtain statistical information

For more information, see M3UA management function summary on page 57. Peer signaling processes A peer signaling process (PSP) is used to describe a remote SGP or IPSP that is, or will be, accessible from the local M3UA through an association. It is an executing process that handles signaling traffic for one or more peer servers/routing keys. A peer signaling process can be in an active or standby state. The M3UA API lets you perform the following actions on a peer signaling process: Initialize configuration parameters Configure the peer signaling process Obtain configuration information Obtain status information Obtain statistical information Obtain the number of dynamic routing keys associated with the peer signaling process View the status of the SCTP association by which the remote peer signaling process is reachable.

Note: The local M3UA is a special case and is referred to as the local PSP. This local PSP is created automatically, not configured. For more information, see M3UA management function summary on page 57. SCTP associations An SCTP association is a logical relationship between two SCTP endpoints that is used to transport M3UA user protocol messages between two peer servers. The transport addresses used by the endpoints in the association uniquely identify that association. Two SCTP endpoints cannot have more than one SCTP association between them at any given time. Each M3UA instance can support up to 254 associations. The Dialogic NaturalAccess M3UA API lets you perform the following actions on an association:

Dialogic Corporation

17

SIGTRAN overview

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Establish an association Terminate an association Inhibit, to temporarily remove the association from service Uninhibit, to restore the association to service Obtain the status of associations to determine which are active

For more information, see M3UA management function summary on page 57. Routing keys A routing key defines the range of signaling traffic to be handled by a particular peer server. Routing keys are defined using combinations of the following parameters: Destination point code (DPC) (the minimum requirement) Origination point code (OPC) Service indicator (SI) Initialize configuration parameters Configure the routing key Obtain configuration information Obtain status information

The M3UA API lets you perform the following actions on a routing key:

For more information, see M3UA management function summary on page 57.

SCTP layer
The SCTP layer provides transport functionality for higher protocol layers over IP. It is responsible for the reliable transfer of M3UA and higher level SS7 messages between two IP endpoints. STCP message tasks SCTP consists of messages that govern communications between SCTP functions and the lower layers on the TX board. The messages perform the following tasks: Binding Establishing an SCTP association Transferring messages

18

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN overview

Binding The binding phase establishes the higher layer application (M3UA) as the user of the SCTP interface, an SCT SAP. M3UA sends a single bind request message to SCTP, for which there is a bind confirmation response. Similarly, SCTP binds with its lower layer (IP) through a transport SAP (TSAP). This binding is performed automatically by the SCTP and M3UA layers at startup. Establishing an SCTP association The application establishes an SCTP association when directed to by M3UA. It initiates a four message handshake with the peer endpoint. When completed successfully, SCTP sends a connection up indication to M3UA. Transferring messages After the SCTP layer returns a connection up message to M3UA, M3UA initiates the sending of ASPUP (ASP UP) and ASPAC (ASP Active) messages to allow the transfer of higher level messages. M3UA sends a data request message to SCTP to request transmission of an SS7 packet on a particular association. When the message is acknowledged by the far exchange, there is no corresponding notification sent to the application. SCTP sends a data indication message to notify M3UA of an incoming data packet. Configurable entities In addition to general parameters, the SCTP layer consists of the following configurable entities: SCT service access point (SCT SAP) Transport service access point (TSAP)

SCT service access point (SCT SAP) An SCT service access point (SCT SAP) defines the interface between SCTP and M3UA. It is the upper SAP for SCTP and the lower SAP for M3UA. Only one SCT SAP is defined for an SCTP layer. The SCTP API lets you perform the following actions on the SCT SAP: Initialize configuration parameters Configure the SCT SAP for SCTP Obtain configuration information Obtain status information Obtain statistical information

For more information, see SCTP management function summary on page 153.

Dialogic Corporation

19

SIGTRAN overview

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Transport service access point (TSAP) A transport service access point (TSAP) defines the interface between SCTP and the IP/Ethernet layer. It is the lower SAP for SCTP. Only one TSAP is defined for an SCTP layer. The following illustration shows the SCT SAP and TSAP defined for SCTP:
SCTP SAP 0 M3UA layer

SCT SAP 0 SCTP layer

Data transport TSAP 0

IP address

IP/Ethernet layer

The SCTP API lets you perform the following actions on the TSAP: Initialize configuration parameters Configure the TSAP for SCTP Obtain configuration information Obtain status information Obtain statistical information

For more information, see SCTP management function summary on page 153.

20

Dialogic Corporation

SIGTRAN programming model

M3UA message handling


M3UA validates and routes both inbound and outbound messages. This topic describes each data flow direction. Inbound messages When an inbound message is received, M3UA finds a local peer server that matches the routing context in the received message. If the peer server is associated with an NSAP through a routing key, the message is routed over that NSAP to the appropriate M3UA user. In some error cases, such as a message received over an inactive association or with an invalid routing context, the message is discarded and an error message is returned to the sending side. In all other error cases, the message is discarded without generating a message.

Dialogic Corporation

21

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

The following illustration shows inbound message distribution for M3UA:

ISUP

SCCP

M3UA layer NSAP 0 PS1 (Local) DPC = 1.1.2 SIO=ISUP RteCtx=C NSAP 1 PS2 (Local) DPC = 1.1.2 SIO=SCCP RteCtx=D

Message routing

MsgType=DATA

RteCtx=C

SCTP layer

IP layer

Inbound message

22

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

Outbound messages Message routing for outbound messages originated by local user parts or applications is based on the following combinations of DPC, OPC, and SIO values: DPC DPC and OPC DPC, OPC, and SIO DPC and SIO

When an outbound message is ready for routing, M3UA searches its routing tables for a route that matches the DPC specified for the message (and optionally the OPC and SIO, depending on the values and masks configured). If a matching route is found for the message and the associated peer server is remote, the message is routed over the association for the peer signaling process associated with the peer server. If a route is not found, an error status indication (NO_ROUTE_FOUND) is generated for the application. If the route is found but unavailable, a user part unavailable (UPU) status indication is generated for the application.

Contexts and queues


Natural Access organizes services and their associated resources around a processing object known as a context. Each instance of an application binding to an M3UA NSAP is a unique Natural Access context. Contexts are created with ctaCreateContext. A Natural Access queue delivers all events and messages from the M3UA layer to the application. Queues are created with ctaCreateQueue. Each context is associated with a single queue through which all events and messages belonging to that context are distributed. More than one context can be assigned to the same queue. Different application programming models are possible depending on how many M3UA NSAPs (subsystems) are implemented by the application and how the application is organized.

Dialogic Corporation

23

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

An application that uses a single M3UA NSAP uses a single context, single queue model, as shown in the following illustration:
Application

Natural Access

Event queue

Service manager M3UA service

Context

NSAP 0 SIO=ISUP

NSAP 1 SIO=SCCP M3UA layer

NSAP 2 SIO=TUP

For a single threaded application that uses multiple M3UA NSAPs (multiple M3UA subsystems), a multiple context, single queue model is recommended. The application has a single event loop with events from all SAPs delivered through the same queue. The application determines which SAP a particular event is associated with from a service user ID (suID) value returned with each event.

24

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

The following illustration shows a multiple context, single queue model:


Application

Natural Access

Event queue

Service manager M3UA service

Service manager M3UA service

Service manager M3UA service

Context

Context

Context

NSAP 0 SIO=ISUP

NSAP 1 SIO=SCCP M3UA layer

NSAP 2 SIO=TUP

For multi-threaded applications using multiple M3UA NSAPs (one per thread), a multiple context, multiple queue model is recommended. Each thread has its own independent event loop, receiving only the events associated with its M3UA NSAP on its Natural Access queue. For this programming model, each thread and event queue must be assigned its own entity ID, unique among all applications on that host accessing any of the SS7 services.

Dialogic Corporation

25

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

The following illustration shows a multiple context, multiple queue model:


Application
Thread Thread Thread

Event queue

Natural Access

Event queue

Event queue

Service manager M3UA service

Service manager M3UA service

Service manager M3UA service

NSAP 0 SIO=ISUP

NSAP 1 SIO=SCCP M3UA layer

NSAP 2 SIO=TUP

M3UA service users


The M3UA data interface supports one or more applications using network service access points (NSAPs). One NSAP is defined for each application that uses the M3UA service. An application binds to a particular NSAP at initialization time, specifying the NSAP ID to which it wants to bind. Each NSAP is associated with a service information octet (SIO) value, which in turn identifies the upper task protocol in use on that NSAP (for example ISUP, TUP, SCCP). Therefore, only one application process can handle incoming messages for a particular upper task protocol (only one process receiving incoming ISUP messages). The M3UA configuration file specifies the number of upper NSAPs and the characteristics of each upper NSAP. For information, see M3UANsapCfg on page 112 and the Dialogic NaturalAccess Signaling Software Configuration Manual.

26

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

Entity and instance IDs


Each application must have a unique entity and instance ID to route messages between the processes in the system. Entity IDs are single byte values in the range of 0x00 through 0xFF that represent a specific process. Allocate entity IDs as follows:
Range Usage

0x00 through 0x1F Reserved for system utilities, configuration utilities, and management utilities. 0x80 through 0xFF 0x20 through 0x7F Reserved for applications.

Instance IDs identify the processor on which the entity executes. The host is always processor 0 (zero). All host-resident M3UA applications must be coded to zero. All tasks on TX board 1 receive an instance ID of 1, all tasks on TX board 2 receive an instance ID of 2, and so on.

Transferring data
After the SCTP layer returns a connection up message to M3UA, M3UA sends ASPUP (ASP Up) and ASPAC (ASP Active) messages to allow the transfer of higher-level messages. M3UA sends a data request message to SCTP to request transmission of an SS7 packet. When a message or messages are acknowledged by the far exchange, there is no corresponding notification sent to M3UA. When it receives an M3UA message, SCTP sends a data indication message to notify M3UA of an incoming data packet. After an application binds to the M3UA layer and receives a RESUME for a given destination, it can start sending data to that destination using M3UASendData. If the call succeeds, but later the message is undeliverable, the application receives a status indication describing the cause of failure. When the message is successfully delivered, no status indication is sent. The following illustration shows how an application sends data:
Application M3UA layer M3UASendData (dpc = x.y.z) M3UASendData (dpc = x.y.z) Remote SP

DATA

DATA

Asynchronous notification and polling are two methods for an application to receive incoming data or status indications. Polling requires the application to call M3UARetrieveMessage to continually check for incoming messages. The application must call this function regularly to avoid excessive queuing of messages in the TX driver or the M3UA layer. M3UARetrieveMessage returns M3UA_NO_MSG until a message is available. M3UA returns M3UA_SUCCESS when a message is available.
Dialogic Corporation 27

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

An application can use an operating system-specific function, such as WaitForMultipleObjects in Windows, to set up asynchronous notifications that are triggered when a message is available. In this way, the application only calls M3UARetrieveData when a data or status indication is waiting to be read. The following illustration shows the asynchronous notification method of receiving data:
Application M3UA layer DATA OS-specific notification Remote SP

M3UARetrieveData

Status indications
An application can receive status indications through asynchronous notification or polling. A status indication is sent to all applications when the corresponding network status changes. The following table describes the status indications:
Status indication StatPaused Description Delivery to the specified destination point code is not currently possible. This can mean that there is no route configured for the destination point code or that all routes to that point code are currently unavailable. Occurs initially or after a StatPaused indication when one or more routes to a particular destination point code become available. Delivery to the destination SP failed due to network congestion at some point along the route. The user part or application must reduce traffic to that destination.

StatResumed StatCongested

StatCongestionEnds Occurs after a StatCongested indication when network congestion has abated. StatUsrUnavail Message was delivered to the remote M3UA layer, but no application was registered to receive data with the service information octet (SIO) contained in the message. For example, data was sent with an SIO indicating an ISUP message, but there was no ISUP application running at the destination. The remote M3UA layer discards the message. Local M3UA is the primary node in a redundant configuration. Local M3UA is the backup node in a redundant configuration. M3UA is not in a redundant configuration.

StatPrimary StatBackup StatStandAlone

28

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

Controlling congestion
The NaturalAccess SIGTRAN Stack has queues and congestion thresholds at several points during the outbound flow of messages. There are internal thresholds at the IP layer and configurable thresholds at the SCTP and M3UA layers. The following table describes how the IP, SCTP, and M3UA layers control congestion:
Layer IP Trigger Traffic exceeds the internal upper transmit threshold. Transmit queue size is reduced to the lower transmit threshold. SCTP Number of queued packets exceeds the configured value FLOW_START_THRESH. Number of queued packets is reduced to the configured value FLOW_STOP_THRESH. M3UA Receipt of a flow control start indication from SCTP. Description IP layer notifies the SCTP layer, which begins queuing messages. IP layer notifies the SCTP layer, which resumes transmitting messages. SCTP sends a flow control start indication to M3UA.

SCTP sends a flow control stop indication to M3UA.

M3UA sets the congestion active flag for the association and begins polling SCTP periodically about its flow control status. While an association is in flow control, M3UA queues future data requests for that association until QUEUE_SIZE is reached. At that point, future messages for the association are discarded. M3UA propagates the association congestion information to the individual remote DPCs that are part of the association.

Receipt of a flow control stop indication from SCTP.

M3UA clears the congestion flag for the association and stops polling SCTP. M3UA then transmits anything in its congestion queue for that association to SCTP.

In addition to internal congestion monitoring, M3UA maintains the congestion state of individual remote DPCs, as would an MTP3 layer. Congestion level indications for these DPCs are passed in a status indication to the bound upper layer, as with MTP3. It is up to the application to further reduce traffic as the congestion level increases in order to alleviate the congestion.

Dialogic Corporation

29

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Establishing a connection
The M3UA layer creates a connection between a local and remote endpoint by establishing an SCTP association between the endpoints, and then exchanging M3UA management messages that specify the state of the peer server process (PSP) and the routing keys (PS). This message exchange occurs when the Ethernet port is activated. The message exchange used to establish a connection differs depending on the endpoint configurations.

30

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

IPSP-IPSP configuration in double-ended mode The following illustration shows the message flow used to establish a connection between two endpoints configured as IPSPs in double-ended mode (DE), where each side supports two route contexts:
Client IPSP
INIT INIT ACK COOKIE COOKIE ACK

Server IPSP

Association established
ASPUP ASPUP ACK ASPUP ASPUP ACK ASPAC (RC=A, RC=B) ASPAC ACK (RC=A) ASPAC ACK (RC=B) ASPAC (RC=C, RC=D) ASPAC ACK (RC=C) ASPAC ACK (RC=D)

The following table describes the process for establishing a connection between two IPSP endpoints in DE mode:
Stage 1 2 Description Client IPSP initiates an SCTP association by sending an INIT when the Ethernet port becomes active (which occurs when electrical connectivity is established). M3UA layer establishes an SCTP association between the local and remote endpoints using INIT (Initiation), INIT ACK (Initiation Acknowledgement), COOKIE (State Cookie), and COOKIE ACK (Cookie Acknowledgment) messages. The association state changes from DOWN to ACTIVE (as displayed in the m3uamgr command: status psp <n>). 3 Each IPSP sends an ASPUP (ASP Up) message to notify the other side that the PSP is up. The ASP State on each side changes from DOWN to INACTIVE for each remote route context (as displayed in the m3uamgr command: status psp <n>).

Dialogic Corporation

31

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Stage 4 5

Description Each IPSP receiving an ASPUP responds with an ASPUP ACK message. Each IPSP sends NOTIFY messages of type ASCHG (AS State Change) with new state INACTIVE for each route context. For readability, these messages are not shown in the message flow illustration. Each IPSP sends an ASPAC (ASP Active) message for each active local route context. A local route is considered active when the following conditions are met:

An ASPUP message was sent and acknowledged. A NOW-PRIMARY or NOW-STANDALONE event was received by the IPSP. An M3UA-user has bound to the corresponding NSAP.

The ASP State on the receiving side changes from INACTIVE to ACTIVE for each remote route context in the ASPAC message (as displayed in the m3uamgr command: status psp <n>). The sending of an ASPAC message indicates that the sending IPSP can now receive traffic related to the routing contexts identified in the message. The receipt of an ASPAC message indicates that the receiving IPSP can now send traffic related to the routing contexts identified in the message. 7 8 Each IPSP receiving an ASPAC responds with an ASPAC ACK message for each routing context. Each IPSP sends NOTIFY messages of type ASCHG with new state ACTIVE for each route context. For readability, these messages are not shown in the flow illustration.

IPSP-IPSP configuration in single-ended mode The following illustration shows the message flow for establishing a connection between two IPSPs in single-ended mode (SE):
Client IPSP
INIT INIT ACK COOKIE COOKIE ACK Association established ASPUP ASPUP ACK ASPAC (RC=A, RC=B) ASPAC ACK (RC=A) ASPAC ACK (RC=B)

Server IPSP

For endpoints configured as IPSPs in single-ended (SE) mode, only one side is required to send the ASPUP and ASPAC messages. In this configuration, the routing contexts must be configured identically on both sides.

32

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

The following table describes the process for establishing a connection between two IPSP endpoints in SE mode:
Stage 1 2 Description Client IPSP initiates an SCTP association by sending an INIT when the Ethernet port becomes active (which occurs when electrical connectivity is established). M3UA layer establishes an SCTP association between the local and remote endpoints using INT (Initiation), INT ACK (Initiation Acknowledgement), COOKIE (State Cookie), and COOKIE ACK (Cookie Acknowledgment) messages. The association State changes from DOWN to ACTIVE (as displayed in the m3uamgr command: status psp <n>). 3 Client IPSP sends an ASPUP (ASP Up) message to notify the other side that the PSP is up. The ASP State on each side changes from DOWN to INACTIVE (as displayed in the m3uamgr command: status psp <n>). 4 5 Each IPSP receiving an ASPUP responds with an ASPUP ACK message. Each side sends NOTIFY messages of type ASCHG (AS State Change) with new state INACTIVE for each route context. For readability, these messages are not shown in the message flow illustration. Client IPSP sends an ASPAC (ASP Active) message for each active local route context. A local route is considered active when the following conditions are met:

An ASPUP message was sent and acknowledged. A NOW-PRIMARY or NOW-STANDALONE event was received by the IPSP. An M3UA-user has bound to the corresponding NSAP.

The ASP State on the each side changes from INACTIVE to ACTIVE for each remote route context in the ASPAC message (as displayed in the m3uamgr command: status psp <n>). The sending of an ASPAC message indicates that the sending IPSP can now receive traffic related to the routing contexts identified in the message. The receipt of an ASPAC message indicates that the receiving IPSP can now send traffic related to the routing contexts identified in the message. 7 8 Each IPSP receiving an ASPAC responds with an ASPAC ACK message for each routing context. Each side sends NOTIFY messages of type ASCHG with new state ACTIVE for each route context. For readability, these messages are not shown in the flow illustration.

Dialogic Corporation

33

SIGTRAN programming model

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

ASP-SGP configuration The following illustration shows the message flow used to establish a connection between an endpoint configured as an ASP and an endpoint configured as an SGP:
ASP
INIT INIT ACK COOKIE COOKIE ACK Association established ASPUP ASPUP ACK ASPAC (RC=A, RC=B) ASPAC ACK (RC=A) ASPAC ACK (RC=B)

SGP

The following table describes the process for establishing a connection between an ASP endpoint and an SGP endpoint:
Stage 1 2 Description ASP initiates an SCTP association by sending an INIT when the Ethernet port becomes active (which occurs when electrical connectivity is established). M3UA layer establishes an SCTP association between the local and remote endpoints using INT (Initiation), INT ACK (Initiation Acknowledgement), COOKIE (State Cookie), and COOKIE ACK (Cookie Acknowledgment) messages. The association State changes from DOWN to ACTIVE (as displayed in the m3uamgr command: status psp <n>). 3 ASP sends an ASPUP (ASP Up) message to notify the other side that the PSP is up. The ASP state on each side changes from DOWN to INACTIVE for each remote route context (as displayed in the m3uamgr command: status psp <n>). 4 5 Each IPSP receiving an ASPUP responds with an ASPUP ACK message. SGP sends NOTIFY messages of type ASCHG (AS State Change) with new state INACTIVE for each route context. For readability, these messages are not shown in the message flow illustration.

34

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SIGTRAN programming model

Stage 6

Description ASP sends one or more ASPAC (ASP Active) messages that identify its remote route contexts. These message are sent after the following conditions are met:

An ASPUP message was sent and acknowledged. A NOW-PRIMARY or NOW-STANDALONE event was received by the ASP. An M3UA-user has bound to the corresponding NSAP.

The ASP State for each side changes from INACTIVE to ACTIVE for each remote route context in the ASPAC message (as displayed in the m3uamgr command: status psp <n>). The sending of an ASPAC message indicates that the ASP can now receive traffic related to the routing contexts identified in the message. The receipt of an ASPAC message indicates that the SGP can now send traffic related to the routing contexts identified in the message. 7 8 Each IPSP receiving an ASPAC responds with an ASPAC ACK message for each routing context. SGP sends NOTIFY messages of type ASCHG with new state ACTIVE for each route context. For readability, these messages are not shown in the flow illustration.

Redundant configuration The message flow for a redundant configuration differs from that for a nonredundant configuration in the following ways: Both the primary and backup PSP establish associations and send the ASPUP message. Only the primary PSP sends ASPAC messages. When a switchover occurs, the PSP that went from primary to backup sends ASPIA (ASP Inactive) messages for all local route contexts, indicating that it can no longer receive traffic related to those route contexts. The PSP that went from backup to primary sends ASPAC messages for all local route contexts, indicating that it will now receive traffic related to those route contexts. The receiver of these messages changes the association over which the related traffic is transferred.

As with the non-redundant configurations, NOTIFY (ASCHG) messages are sent by an IPSP or SGP upon receipt of ASPAC or ASPIA messages.

Dialogic Corporation

35

Using the M3UA service

Initializing the M3UA service under Natural Access


M3UA data functions are implemented as a Natural Access service. Natural Access is a development environment for telephony and signaling applications. It provides a standard application programming interface for services, such as signaling protocol stacks, independent of the underlying hardware. Natural Access is described in detail in the Natural Access Developer's Reference Manual. Understanding the basic Natural Access programming concepts, including services, queues, contexts, and asynchronous events, is critical to developing applications that utilize the M3UA service. Before calling any M3UA service functions, the application must: 1. Initialize the Natural Access run-time environment. 2. Create the desired queues and contexts. 3. Open the M3UA service to bind it to the desired M3UA service access points (SAPs). Initializing the Natural Access environment Initialize the Natural Access environment by calling ctaInitialize once per application, regardless of the number of queues and contexts to be created:
CTA_INIT_PARMS M3UAInitparms = {0}; CTA_SERVICE_NAME M3UAServiceNames[] = {{"M3UA", "M3UAMGR"}}; ... M3UAInitparms.size = sizeof(CTA_INIT_PARMS); M3UAInitparms.traceflags = CTA_TRACE_ENABLE; M3UAInitparms.parmflags = CTA_PARM_MGMT_SHARED; M3UAInitparms.ctacompatlevel = CTA_COMPATLEVEL; Ret = ctaInitialize(M3UAServiceNames, 1, &M3UAInitparms); if (Ret != SUCCESS) { printf("ERROR code 0x%08x initializing Natural Access.", Ret); exit( 1 ); }

Dialogic Corporation

37

Using the M3UA service

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Creating queues and contexts The application creates the required Natural Access queues and contexts, as described in Contexts and queues on page 23. The queue must always be created before any context associated with it.
CTAHD CTAQUEUEHD ... ctaHd; ctaQueue; /* CTA context handle */ /* Queue */

Ret = ctaCreateQueue( NULL, 0, &ctaQueue ); if ( Ret != SUCCESS ) { ctaGetText( NULL_CTAHD, Ret, sErr, sizeof( sErr ) ); printf( "*ERROR : ctaCreateQueue failed( %s )\n", sErr ); ... } sprintf( contextName, "M3UASAP-%d", spId ); /* context name is optional */ Ret = ctaCreateContext( ctaQueue, spId, contextName, &ctaHd ); if ( Ret != SUCCESS ) { ctaGetText( NULL_CTAHD, Ret, sErr, sizeof( sErr ) ); printf( "ERROR : ctaCreateContext failed( %s )\n", sErr ); ctaDestroyQueue( pSap->ctaQueue ); ... }

Using ctaOpenServices After the queues and contexts are created, the application must bind itself to each desired M3UA NSAP by calling ctaOpenServices once for each binding. The binding operation specifies the following parameters:
Parameter Description board srvInfo sapId srcEnt srcInst suId poolsize TX board number. Service information octet. M3UA NSAP ID (defined in configuration) on which to bind. This parameter must be passed in all functions that make requests to the board. Calling application entity ID. Calling application instance ID. Calling application service user ID. This parameter is passed up in future indications from the board. Number of messages allowed to be queued to the TX board. Default value is 256.

Under Natural Access, these parameters are specified in the CTA_SERVICE_ARGS structure, contained in the CTA_SERVICE_DESC structure. An example of the parameter specification is provided:
CTA_SERVICE_DESC M3UAOpenSvcLst[] = {{{"M3UA","M3UAMGR"}, {0}, {0}, {0}}}; M3UAOpenSvcLst[0].svcargs.args[0] = Board; M3UAOpenSvcLst[0].svcargs.args[1] = Sio; M3UAOpenSvcLst[0].svcargs.args[2] M3UAOpenSvcLst[0].svcargs.args[3] M3UAOpenSvcLst[0].svcargs.args[4] M3UAOpenSvcLst[0].svcargs.args[5] M3UAOpenSvcLst[0].svcargs.args[6] /* /* * = NSapNmb; /* = MyEnt; /* = DFLT_INST; /* = SuId; /* = poolsize; /* board number Service Information Octet network SAP number application entity ID Inst ID Service user ID Pool size */ */ */ */ */ */ */

38

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Using the M3UA service

ctaOpenServices is an asynchronous function. The return from the function indicates that the bind operation was initiated. Once completed, a CTAEVN_OPEN_SERVICES_DONE event is returned to the application. If multiple contexts are assigned to the same queue, all of those contexts must use the same entity ID in the service arguments parameter. Conversely, contexts bound to different queues must specify unique entity IDs.
CTA_EVENT ... event; /* Event structure to wait for M3UA events */

Ret = ctaOpenServices( ctaHd, M3UAOpenSvcLst, 1 ); if ( Ret != SUCCESS ) { ctaGetText( NULL_CTAHD, Ret, sErr, sizeof( sErr ) ); printf( "ERROR : ctaOpenServices failed( %s )\n", sErr ); ctaDestroyQueue( ctaQueue ); /* destroys context too */ return(...) } /* Wait for "open services" to complete; note: this loop * assumes no other contexts are already active on the queue * we're waiting on, so no other events will be received that * need handling */ event.id = CTAEVN_NULL_EVENT; do { ctaWaitEvent( ctaQueue, &event, 5000 ); } while( (event.id != CTAEVN_OPEN_SERVICES_DONE) && (event.id != CTAEVN_WAIT_TIMEOUT) ); /* check if binding succeeded */ if( (pSap->event.id != CTAEVN_OPEN_SERVICES_DONE) || (pSap->event.value != CTA_REASON_FINISHED) ) { ctaGetText( event.ctahd, event.value, sErr, sizeof( sErr ) ); printf( "ERROR opening M3UA service [%s]\n", sErr ); ctaDestroyQueue( pSap->ctaQueue ); /* destroys context too */ return( ... ); }

This example is correct only if the application uses a separate queue for each context and service instance. If the application opens multiple service instances against the same queue, with either multiple SAPs on the same board or on multiple boards (in a redundant configuration), it must process events (call M3UARetrieveMessage) for other contexts while waiting for the CTAEVN_OPEN_SERVICES_DONE event. Failure to do so can result in an infinite loop.

Dialogic Corporation

39

Using the M3UA service

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Handling redundancy events


After binding to an M3UA NSAP, the application receives a M3UARUNSTATEIND event indicating the redundancy state of the M3UA layer on the board. The event type associated with this event indicates one of the following states:
Event type Description

SN_HAST_STANDALONE Application is in a non-redundant configuration; normal operation can begin. SN_HAST_PRIMARY SN_HAST_BACKUP M3UA layer is configured on the primary board in a redundant board pair; normal operation is allowed as long as the board remains the primary. M3UA layer is configured on the backup board in a redundant board pair, monitoring the status of the primary board; no active traffic passes through this SAP until the board becomes the primary member of the pair.

The M3UARUNSTATEIND event is the first message posted to the application queue for each SAP after the binding is confirmed. No data traffic (unitdata or connections requests) should be directed to this SAP until this event is received. See the Dialogic TX Series SS7 Boards Health Management Developer's Reference Manual for details on writing redundant M3UA applications.

40

Dialogic Corporation

5
Function M3uaGetApiStats

M3UA service function reference

M3UA service function summary


The M3UA service consists of the following asynchronous functions:
Description Obtains statistics from the service about congestion level activity.

M3uaRetrieveMessage Checks for and retrieves an incoming message from the M3UA layer. M3uaSendData Requests data to be transmitted to a specified signaling point.

Using the M3UA service function reference


This section provides an alphabetical reference to the M3UA service functions. A typical function includes:
Prototype The prototype is followed by a list of the function arguments. Dialogic data types include:


Return values

U8 (8-bit unsigned) U16 (16-bit unsigned) S16 (16-bit signed) U32 (32-bit unsigned) Bool (8-bit unsigned)

The return value for a function is either M3UA_SUCCESS or an error code. A return value of M3UA_SUCCESS (zero) indicates the function was initiated; subsequent events indicate the status of the operation.

Dialogic Corporation

41

M3UA service function reference Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGetApiStats
Obtains statistics from the host driver about congestion level and data transfer activity. Prototype DWORD M3uaGetApiStats ( CTAHD ctahd, M3UAAPISTATS *pStats, U8 bReset)
Argument ctahd pStats Description Natural Access handle. Pointer to the following M3UAApiSt structure: typedef struct { U32 qCount;

/* /* U32 qPeak; /* /* U32 txPending; /* /* U32 txPendPeak; /* /* U32 txSuccess; /* /* U32 txFailed; /* U32 txLastErr; /* /* U32 rxSuccess; /* U32 rxFailed; /* /* U8 apiQCongLvl; /* /* U8 spare1; /* U16 spare2; /* } M3UAAPISTATS; bReset

number of API messages currently queued to M3UA task max number of API messages ever queued to M3UA task current number of outstanding transmit rqsts to M3UA task max number of transmit rqsts ever outstanding to M3UA task number of successful transmit requests completed number of failed transmit requests error code from last failed transmit request number of events received from M3UA task number of receive failure events from M3UA task current outbound queue congestion level [0..3] spare for alignment spare for alignment

*/ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */

If non-zero, statistics are reset after returning them to the application.

Return values
Return value M3UA_SUCCESS CTAERR_INVALID_CTAHD Invalid handle. Description

42

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual M3UA service function reference

M3uaRetrieveMessage
Checks for and retrieves an incoming message from the M3UA layer. Prototype DWORD NMSAPI M3uaRetrieveMessage ( CTAHD ctahd, void *pMsgInd, short *Length)
Argument ctahd pMsgInd Description Natural Access handle. Pointer to the buffer where the received message is returned. The size of the buffer must be large enough to contain a data indication. See the Details section for more information about data indications. Pointer to the buffer where the length of the incoming message is returned.

Length

Return values
Return value M3UA_SUCCESS M3UA_INVBOARD M3UA_NOT_BOUND M3UA_NO_MSG Invalid board number. ctaOpenServices not previously called. No message currently waiting. Description

Details To process incoming messages, the application can perform one of the following tasks: Call M3UARetrieveMessage periodically within a polling process. The application must poll regularly to avoid excessive queuing of messages in the TX driver or the M3UA layer. Wait for an asynchronous notification that a message is available, and then call M3UARetrieveMessage to retrieve it. Data indications Status indications

Applications can receive the following types of messages:

Data indications An application receives a DATA_IND structure when a remote signaling point sends data matching the application's service information octet:
typedef struct data_ind_s { U8 code; /* U8 spare1; /* U16 sapId; /* U32 opc; /* U32 dpc; /* U8 srvInfo; /* U8 lnkSel; /* U16 spare2; /* U8 data[MAXDATA] /* } DATA_IND; M3UA_DATA_IND (0x1A) */ Alignment */ Service user Id from Open Services*/ Originating Point Code */ Destination Point Code */ Service information octet */ Link selector field */ Alignment */ Received data packet */

Dialogic Corporation

43

M3UA service function reference Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

DATA_IND contains the following fields:


Field code sapID opc dpc srvInfo lnkSel Description Always set to M3UA_DATA_IND, for data indications. Service user identifier passed as suId in ctaOpenServices. Point code of the remote node that sent this data. Valid values are 0 through 0xFFFFFF. Destination point code from the routing label of the incoming message. Valid values are 0 through 0xFFFFFF. Service information octet from the incoming message specifying the upper task protocol and the network indicator. Link selector field from the incoming message. Valid values are: 0 through 15 (ITU-T) 0 through 31 (ANSI) 0 through 255 (TUP or 8-bit ANSI) data [MAXDATA] Array of size MAXDATA where received data is stored.

Status indications An application receives a STAT_IND structure when an important status change occurs. Status changes may be generated by the local M3UA layer or received from a remote MTP3 layer via a signaling gateway (SG). For more information, see Status indications on page 28.
typedef struct stat_ind_s { U8 code; /* M3UA_STAT_IND (0x7A) */ U8 spare1; /* Alignment */ U16 sapId; /* Service user Id from Open Services */ U32 pc; /* Point Code related to the status ind */ U32 opc; /* Originating point code related to the status ind */ S16 status; /* Status indicator. See defines below*/ U8 priority; /* Priority of this status indication */ U16 spare2; /* Alignment */ } STAT_IND;

STAT_IND contains the following fields:


Field code sapId pc opc status Description Whether an indication is data or status. Always M3UA_STAT_IND for status indications. Service user identifier passed as suId in the ctaOpenServices call. Destination point code affected by this status indication. Originating point code affected by this status indication. Status event that occurred: StatPaused = Data traffic paused StatResumed = Data traffic resumed StatCongested = Data congested StatUsrUnavail = User unavailable StatCongestionEnds = Congestion ended StatPrimary = M3UA is primary in a redundant configuration StatBackup = M3UA is backup in a redundant configuration StatStandAlone = M3UA is not in a redundant configuration priority Current congestion level for congestion-related indications. Valid range is 0 (lowest) through 3 (highest).

44

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual M3UA service function reference

M3uaSendData
Requests data to be transmitted to a specified signaling point. Prototype DWORD NMSAPI M3uaSendData ( CTAHD ctahd, S16 sapId, U32 opc, U32 dpc, U8 lnkSel, U8 priority, U8 *data, S16 length, U8 srvInfo)
Argument ctahd sapId opc dpc lnkSel Description Natural Access handle. Service access point ID. Specify the same value used for ctaOpenServices. 24-bit, 14-bit, or 16-bit originating point code to be inserted in the outgoing message. 24-bit, 14-bit, or 16-bit destination point code of the remote system. Link selector passed to an SGP to choose the link to send data over. Value is masked based on the configured slsLen. Masking results in ranges from 0 through 15 for slsLen=4, 0 through 31 for slsLen=5, or 0 through 255 for slsLen=8. Priority of the message. Valid range is 0 (lowest) through 3 (highest). Pointer to the address of a buffer of data to transmit. Length (in octets) of the data in the data field. Service information octet (SIO) associated with this message.

priority data length srvInfo

Return values
Return value M3UA_SUCCESS M3UA_INVBOARD M3UA_NOT_BOUND M3UA_OSERROR M3UA_RESOURCE Invalid board number. ctaOpenServices not previously called. Lower-level drivers or task returned an error. Host running out of buffers to send to the board. See the Details section for more information. Description

Details Both opc and dpc are passed as 32-bit values. For example, the 24-bit point code 5.49.7 is passed as 0x053107. lnkSel is an 8-bit value that is masked by M3UA based on the configured slsLen. The lower four bits of lnkSel are used as the sls value if slsLen is configured as 4, the lower five bits of lnkSel are used as the sls value if slsLen is configured as 5, and no masking is performed and the entire 8-bit lnkSel is used as the sls value if slsLen is configured as 8. For more information, see M3UANwkCfg on page 115. The user data consists of the upper layer data. For example, when constructing an ISUP message, the first byte of user data is the first byte of the circuit identification code (CIC). The user application is responsible for any byte-order translation necessary for all data in the data field. The SIO must be unique for each application. The service information field is composed of service indicator and network indicator fields.

Dialogic Corporation

45

M3UA service function reference Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

If you receive an M3UA_RESOURCE error, perform one or more of the following tasks: Increase the number of host buffers in ctaOpenServices. See Using ctaOpenServices on page 38. Monitor M3UAEVN_CONGEST indications to determine when the number of available buffers is running low. Traffic could then be throttled before the buffer pool is exhausted. See Controlling congestion on page 29. Reduce other host to board traffic, including management function traffic.

For more information, see Transferring data on page 27.

46

Dialogic Corporation

6
Networks SCT SAPs NSAPs

Managing the M3UA layer

Configuring M3UA entities


Configure M3UA entities after calling M3UAMgmtInit. You must configure M3UA entities in the following order: General M3UA configuration

Peer signaling processes Peer servers Routes

Dialogic Corporation

47

Managing the M3UA layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

The following illustration shows the local and remote configuration for a SIGTRAN architecture consisting of two IP server processes (IPSPs):
ISUP SCCP ISUP SCCP

NSAP 0 PS1 (Local) DPC = 1.1.1 SIO=ISUP RteCtx=A

NSAP 1 PS2 (Local) DPC = 1.1.1 SIO=SCCP RteCtx=B

NSAP 0 PS1 (Local) DPC = 1.1.2 SIO=ISUP RteCtx=C

NSAP 1 PS2 (Local) DPC = 1.1.2 SIO=SCCP RteCtx=D

IPSP-A M3UA

PS3 (Remote) DPC=1.1.2 RteCtx=C

PS3 (Remote) DPC=1.1.1 SIO=ISUP RteCtx=A

IPSP-B M3UA

PS4 (Remote) DPC=1.1.2 RteCtx=D

PS4 (Remote) DPC=1.1.1 SIO=SCCP RteCtx=B

SCT SAP 0

SCT SAP 0

SCTP

SCTP

IP layer

IP layer

SCTP association

48

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Managing the M3UA layer

The following configuration shows the local and remote configuration for a SIGTRAN architecture consisting of an application server process (ASP) and a signaling gateway process (SGP):
ISUP SCCP

NSAP 0 PS1 (Local) DPC = 1.1.1 SIO=ISUP RteCtx=A

NSAP 1 PS2 (Local) DPC = 1.1.1 SIO=SCCP RteCtx=B

SS7 links

1.1.2

ASP M3UA

PS3 (Remote) DPC=1.1.2 RteCtx=C

SGP M3UA

SS7 links

1.1.3

PS3 (Remote) DPC=1.1.3 RteCtx=D

SCT SAP 0

SCTP

SCTP

IP layer

IP layer

SCTP association

For information about the initial configuration of M3UA, see the Dialogic NaturalAccess Signaling Software Configuration Manual. General M3UA configuration General configuration parameters define and control the general operation of the signaling point (SP) implemented by the SS7 software. The configurable attributes for the general M3UA configuration include the: Maximum number of other configurable elements (such as NSAPs) to control memory allocation Congestion level attributes Timer values

Dialogic Corporation

49

Managing the M3UA layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Define the general parameters for M3UA once at board download time, before you configure the other M3UA entities. To define the general parameters, follow these steps:
Step 1 2 3 Action Call M3uaInitGenCfg to initialize the general configuration parameter structure (M3UAGenCfg) to default values. Change the parameter values, as appropriate. Call M3uaSetCfg to set the configuration.

After the general configuration is defined, you can optionally change the values for the congestion level and timer parameters. To change these parameter values, follow these steps:
Step 1 2 3 Action Call M3uaGetGenCfg to obtain the current general configuration values. Change the parameter values, as appropriate. Call M3uaSetGenCfg to set the configuration with the specified values.

You must download the board again to change any of the other general configuration parameters. For more information, see M3uaInitGenCfg on page 71, M3uaSetGenCfg on page 93, and M3UAGenCfg on page 108. M3UA network configuration Network configuration parameters define the types of networks in which the M3UA layer is used. The configurable attributes of a network include the: Network identifier Network appearance Subservice field (SSF) DPC length SLS length Service user variants

Define network types after you define the general M3UA configuration parameters. In most applications, a single network configuration is sufficient. However, if you use multiple network types (such as ANSI and ITU) in the same node, define one network configuration for each network type. You can define multiple network configurations up to the maximum number of networks (MAX_NETWORK) allowed by the general configuration parameters definition. To define a network configuration, follow these steps:
Step 1 2 3 Action Call M3uaInitNwkCfg to initialize the network parameter structure (M3UANwkCfg) to default values. Change the default values, as appropriate. Call M3uaSetNwkCfg to set the configuration with the specified values.

50

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Managing the M3UA layer

You must download the board again to change the network configuration parameters. For more information, see M3uaInitNwkCfg on page 73, M3uaSetNwkCfg on page 95,and M3UANwkCfg on page 115. M3UA SCT SAP configuration The M3UA SCT service access point (SCT SAP) configuration parameters define the interface between the M3UA and SCTP layers. The configurable attributes in an SCT SAP include the: M3UA identifier for the SCT SAP Source port SCTP identifier for the SCT SAP

Define the SCT SAP for the M3UA layer right after you define the M3UA network configuration parameters. You can define only one SCT SAP, whose identifier must be 0. To define an SCT SAP configuration, follow these steps:
Step 1 2 3 Action Call M3uaInitSctSapCfg to initialize the SCT SAP parameter structure (M3UASCTSapCfg) to default values. Change the default values, as appropriate. Call M3uaSetSctSapCfg to set the configuration with the specified values.

You must download the board again to change the SCT SAP configuration parameters. For more information, see M3uaInitSctSapCfg on page 77, M3uaSetSctSapCfg on page 99, and M3UASctSapCfg on page 129. M3UA NSAP configuration M3UA network service access point (NSAP) configuration parameters define the SS7 applications, such as ISUP, SCCP, and TCAP, that use M3UA. The configurable attributes of NSAPs include the: NSAP identifier Logical network identifier Type of NSAP service user

Define NSAPs for the M3UA layer after you define the SCT SAP configuration parameters. You can define up to the maximum number of NSAPs (MAX_NSAP) allowed by the general configuration parameters definition. To define an NSAP configuration, follow these steps:
Step 1 2 3 Action Call M3uaInitNSapCfg to initialize the NSAP parameter structure (M3UANSapCfg) to default values. Change the default values, as appropriate. Call M3uaSetNSapCfg to set the configuration with the specified values.

You must download the board again to change the network configuration parameters. For more information, see M3uaInitGenCfg on page 71, M3uaSetNSapCfg on page 94,and M3UANSapCfg on page 112.

Dialogic Corporation

51

Managing the M3UA layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA peer signaling process configuration M3UA peer signaling process configuration parameters define a peer signaling process for the M3UA layer. The configurable attributes in a peer signaling process include the: Peer signaling process identifier Remote peer signaling process type (signaling gateway process or IP signaling process) Optional message field requirements Remote association attributes

Define peer signaling processes for the M3UA layer after you define the M3UA NSAP configuration parameters. You can define up to the maximum number of peer signaling processes (MAX_PSP) allowed by the general configuration parameters definition. To define a peer signaling process configuration, follow these steps:
Step 1 2 3 Action Call M3uaInitPspCfg to initialize the peer signaling process parameter structure (M3UAPSPCfg) to default values. Change the default values, as appropriate. Call M3uaSetPspCfg to set the configuration with the specified values.

After a peer signaling process configuration is defined, you can optionally change the values for some of the peer signaling process parameters, as described in M3UAPspCfg on page 121. To change these parameter values, follow these steps:
Step 1 2 3 Action Call M3uaGetPspCfg to obtain the current peer signaling process configuration values. Change the parameter values, as appropriate. Call M3uaSetPspCfg to set the configuration with the specified values.

You must download the board again to change any of the other peer signaling process configuration parameters. For more information, see M3uaInitPspCfg on page 75, M3uaSetPspCfg on page 97, and M3UAPspCfg on page 121. M3UA peer server configuration The M3UA peer server configuration parameters define a peer server for the M3UA layer. The configurable attributes in a peer server include: Peer server identifier Peer server network identifier Whether the peer server is local or remote Routing context List of peer signaling processes defined for this PS

Define peer servers for the M3UA layer after you define peer server processes. You can define up to the maximum number of peer servers (MAX_PS) allowed by the general configuration parameters definition.

52

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Managing the M3UA layer

To define a peer server configuration, follow these steps:


Step 1 2 3 Action Call M3uaInitPsCfg to initialize the peer server parameter structure (M3UAPSCfg) to default values. Change the default values, as appropriate. Call M3uaSetPsCfg to set the configuration with the specified values.

After a peer server configuration is defined, you can optionally change the values for some parameters, as described in M3UAPsCfg. To change these parameter values, follow these steps:
Step 1 2 3 Action Call M3uaGetPsCfg to obtain the current PS configuration values. Change the parameter values as appropriate. Call M3uaSetPsCfg to set the configuration with the specified values.

You must download the board again to change the other peer server configuration parameters. For more information, see M3uaInitPsCfg on page 74, M3uaSetPsCfg on page 96, and M3UAPsCfg on page 117. M3UA route configuration The route configuration parameters define a route for the M3UA layer. The configurable attributes in a route include the: Route identifier Route type (local user or peer server) NSAP identifier associated with the route, for local (inbound) routes Route filter configuration

Define routes for the M3UA layer after you define the peer servers. To define a route configuration, follow these steps:
Step 1 2 3 Action Call M3uaInitRteCfg to initialize the route parameter structure (M3UARteCfg) to default values. Change the default values, as appropriate. Call M3uaSetRteCfg to set the configuration with the specified values.

You must download the board again to change the route configuration parameters. For more information, see M3uaInitRteCfg on page 76, M3uaSetRteCfg on page 98, M3UARteCfg on page 127.

Dialogic Corporation

53

Managing the M3UA layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Controlling M3UA entities


Use M3uaMgmtCtrl to enable the application to control M3UA entities. The following table describes the available control requests by entity:
Entity None specified Control request One of the following general control requests:

Enable or disable alarms. Start or stop debug logging. Start flow control and disable the transmission of all M3UA messages except critical messages. End flow control and enable the transmission of all M3UA messages. Shut down the M3UA layer. Start or stop trace data

ASP

Send any of the following messages:

ASP Up ASP Down ASP Active ASP Inactive

Note: Use these messages for debugging purposes only. They are sent automatically by the M3UA layer and should not usually be sent through the management API. Association Any of the following:

Inhibit or uninhibit the association. Establish or terminate the association. Dynamically change the Type Of Service octet for all IP messages across this association.

Note: Establish or terminate an association for debugging purposes only. This is performed automatically by the M3UA layer and should not usually be performed through the management API. Routing key Register or de-register a dynamic routing key. Note: Dynamic routing keys are not currently supported. SCT SAP Enable or disable the SCT SAP. Note: Enable or disable the SCT SAP for debugging purposes only. These actions are performed automatically by the M3UA layer and should not usually be performed through the management interface.

54

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Managing the M3UA layer

Retrieving M3UA statistics


Use the following M3UA statistics functions to retrieve and optionally reset the following statistics:
Entity None specified Function M3uaGenStatistics Statistics returned include... Transmit and receive counts for M3UA management messages, lower and upper interface messages, and error messages. M3UA transmit and receive message statistics over an NSAP. M3UA transmit and receive message statistics to and from the peer signaling process. Transmit and receive counts for messages over the SCT SAP.

NSAP Peer signaling process SCT SAP

M3uaNsapStatistics M3uaPspStatistics M3uaSctSapStatistics

Retrieving M3UA status information


Use the following M3UA status functions to retrieve status information from the M3UA layer:
Entity Address translation Destination point General M3UA layer Network service access point (NSAP) Peer server Peer signaling process Routing key SCT SAP Function Status information returned includes

M3uaAddrTransStatus Number of destination point codes and routes. M3uaDpcStatus M3uaGenStatus M3uaNSapStatus M3uaPsStatus M3uaPspStatus M3uaRkStatus M3uaSctSapStatus Destination point code state and congestion level. Size of the memory reserved for and allocated for M3UA. NSAP state and remote identifier. Peer server's application server state and endpoint status. Peer signaling process state and endpoint status. Number of dynamically registered routing keys. SCT SAP state and list of IP addresses used in associations over the SAP.

Dialogic Corporation

55

7
Control Statistics Status

M3UA management function reference

M3UA management function summary


NaturalAccess M3UA consists of the following synchronous management functions, in which the action is completed before control is returned to the application: Configuration

Control functions
Function M3uaMgmtCtrl M3uaMgmtInit M3uaMgmtTerm Description Sends a control request to the M3UA layer. Initializes internal structures and opens communication with the M3UA process on the TX board. This function must be called before any other management function. Terminates access to the M3UA management API for this application.

Dialogic Corporation

57

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Configuration functions
Function M3uaGetGenCfg M3uaGetNwkCfg M3uaGetNSapCfg M3uaGetPsCfg M3uaGetPspCfg M3uaGetRteCfg M3uaGetSctSapCfg M3uaInitGenCfg M3uaInitNSapCfg M3uaInitNwkCfg M3uaInitPsCfg M3uaInitPspCfg M3uaInitRteCfg M3uaInitSctSapCfg M3uaSetGenCfg M3uaSetNSapCfg M3uaSetNwkCfg M3uaSetPsCfg M3uaSetPspCfg M3uaSetRteCfg M3uaSetSctSapCfg Description Obtains general configuration parameter values from the M3UA layer. Obtains network configuration parameter values from the M3UA layer. Obtains NSAP configuration parameter values from the M3UA layer. Obtains peer server configuration parameter values from the M3UA layer. Obtains peer signaling process configuration parameter values from the M3UA layer. Obtains route configuration parameter values from the M3UA layer. Obtains SCT SAP configuration parameter values from the M3UA layer. Initializes the provided general configuration structure with default values. Initializes the provided NSAP configuration structure with default values and the NSAP identifier. Initializes the provided network configuration structure with default values and the network identifier. Initializes the provided peer server configuration structure with default values and the peer server identifier. Initializes the provided peer signaling process configuration structure with default values and the peer signaling process identifier. Initializes the provided route configuration structure with default values and the route number, DPC, and switch type. Initializes the provided SCT SAP configuration structure with default values and the SCT SAP identifier. Configures the M3UA layer with the values contained in the general configuration structure. Configures the M3UA layer with the values contained in the NSAP configuration structure. Configures the M3UA layer with the values contained in the network configuration structure. Configures the M3UA layer with the values contained in the peer server configuration structure. Configures the M3UA layer with the values contained in the peer signaling process structure. Configures the M3UA layer with the values contained in the route configuration structure. Configures the M3UA layer with the values contained in the SCTP SAP configuration structure.

58

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

Statistics functions
Function M3uaGenStatistics M3uaNSapStatistics M3uaPspStatistics M3uaSctSapStatistics Description Obtains and optionally resets the general statistics for the M3UA layer. Obtains and optionally resets the statistics for the specified M3UA NSAP. Obtains and optionally resets the statistics for the specified M3UA peer signaling process. Obtains and optionally resets the statistics for the specified M3UA SCT SAP.

Status functions
Function M3uaAddrTransStatus M3uaDpcStatus M3uaGenStatus M3uaNSapStatus M3uaPspRkIdStatus M3uaPspStatus M3uaPsStatus M3uaRkStatus M3uaRteStatus M3uaSctSapStatus Description Obtains address translation status information from the M3UA layer. Obtains destination point code status information from the M3UA layer. Obtains general status information from the M3UA layer. Obtains NSAP status information from the M3UA layer. Obtains information about the routing keys associated with the specified peer signaling process. Obtains peer signaling process status information from the M3UA layer. Obtains peer server status information from the M3UA layer. Obtains routing key status information from the M3UA layer. Obtains route status information from the M3UA layer. Obtains SCT SAP status information from the M3UA layer.

Using the M3UA management function reference


This section provides an alphabetical reference to the M3UA management functions. A typical function includes:
Prototype The prototype is followed by a list of the function arguments. Dialogic data types include:


Return values

U8 (8-bit unsigned) S16 (16-bit signed) U16 (16-bit unsigned) U32 (32-bit unsigned) Bool (8-bit unsigned)

The return value for a function is either M3UA_SUCCESS or an error code.

Dialogic Corporation

59

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaAddrTransStatus
Obtains address translation status information from the M3UA layer, including the number of DPCs and the number of routes. Prototype STATUS TXM3UAFUNC M3uaAddrTransStatus ( U8 board, M3UAAtSta *pStatus)
Argument board pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAAtSta structure where the requested status information is returned. For information, see M3UAAtSta on page 106.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

60

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaDpcStatus
Obtains DPC status information from the M3UA layer, including DPC state and congestion level. Prototype STATUS TXM3UAFUNC M3uaDpcStatus ( U8 board, U32 pc, U8 nwkId, M3UADpcSta *pStatus)
Argument board pc nwkId pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Destination point code for the status request. Network identifier. Pointer to the M3UADpcSta structure where the requested status information is returned. For information, see M3UADpcSta on page 107.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

61

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGenStatistics
Obtains and optionally resets the general statistics for the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGenStatistics ( U8 board, M3UAGenSts *pSts, Bool isReset)
Argument board pSts isReset Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAGenSts structure where the general statistics information is returned. For information, see M3UAGenSts on page 111. If non-zero, statistics are set to zero after retrieval.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

62

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaGenStatus
Obtains general status information from the M3UA layer, including the size of reserved and allocated memory. Prototype STATUS TXM3UAFUNC M3uaGenStatus ( U8 board, M3UAGenSta *pStatus)
Argument board pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAGenSta structure where the requested status information is returned. For information, see M3UAGenSta on page 110.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

63

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGetGenCfg
Obtains general configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetGenCfg ( U8 board, M3UAGenCfg *pGenCfg)
Argument board pGenCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAGenCfg structure where the requested configuration information is returned. For information, see M3UAGenCfg on page 108.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UAGenCfg structure. See also M3uaInitGenCfg, M3uaSetGenCfg

64

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaGetNSapCfg
Obtains NSAP configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetNSapCfg ( U8 board, M3UANSapCfg *pNSapCfg, S16 nSapNo)
Argument board pNSapCfg nSapNo Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UANSapCfg structure where the requested configuration information is returned. For information, see M3UANSapCfg on page 112. Network SAP number from which to retrieve the configuration information. Valid range is 0 through (MAX_NSAP - 1).

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UANSapCfg structure. See also M3uaInitNSapCfg, M3uaSetNSapCfg

Dialogic Corporation

65

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGetNwkCfg
Obtains network configuration parameter values from the M3UA layer. Prototype M3uaGetNwkCfg ( U8 board, M3UANwkCfg *pNwkCfg, U8 nwkId)
Argument board pNwkCfg nwkId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UANwkCfg structure where the requested configuration information is returned. For information, see M3UANwkCfg on page 115. Network identifier.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UANwkCfg structure. See also M3uaInitNwkCfg, M3uaSetNwkCfg

66

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaGetPsCfg
Obtains peer server configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetPsCfg ( U8 board, M3UAPsCfg *cfg, U32 psId )
Argument board cfg psId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAPsCfg structure where the requested configuration information is returned. For information, see M3UAPsCfg on page 117. Identifier of the peer server for which to obtain configuration information.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UAPsCfg structure. See also M3uaInitPsCfg, M3uaSetPsCfg

Dialogic Corporation

67

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGetPspCfg
Obtains peer signaling process configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetPspCfg ( U8 board, U16 pspId, M3UAPspCfg *pPspCfg)
Argument board pspId pPspCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Identifier of the peer server for which to obtain configuration information. Pointer to the M3UAPspCfg structure where the requested configuration information is returned. For information, see M3UAPspCfg on page 121.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UAPspCfg structure. See also M3uaInitPspCfg, M3uaSetPspCfg

68

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaGetRteCfg
Obtains route configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetRteCfg ( U8 board, M3UARteCfg *pRouteCfg, U32 dpc)
Argument board pRouteCfg dpc Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UARteCfg structure where the requested configuration information is returned. For information, see M3UARteCfg on page 127. Destination point code associated with the route for which configuration information is obtained.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UARteCfg structure. See also M3uaInitRteCfg, M3uaSetRteCfg

Dialogic Corporation

69

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaGetSctSapCfg
Obtains SCT SAP configuration parameter values from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaGetSctSapCfg ( U8 board, M3UASctSapCfg *pSctSapCfg, S16 suId)
Argument board pSctSapCfg suId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UASctSapCfg structure where the requested configuration information is returned. For information, see M3UASctSapCfg on page 129. M3UA identifier of the SCT SAP for which to obtain configuration information.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details This function can be called any time after M3uaMgmtInit. An application must provide a pointer to a buffer large enough to hold the M3UASctSapCfg structure. See also M3uaInitSctSapCfg, M3uaSetSctSapCfg

70

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaInitGenCfg
Initializes the provided M3UA general configuration structure with default values. Prototype STATUS TXM3UAFUNC M3uaInitGenCfg ( M3UAGenCfg *pGencfg)
Argument pGenCfg Description Pointer to the M3UAGenCfg structure to be initialized. For information, see M3UAGenCfg on page 108.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitGenCfg, call M3uaSetGenCfg to set the M3UA general configuration values. You can optionally override specific field values before calling M3uaSetGenCfg. For more information about configuring general parameters for the M3UA layer, see General M3UA configuration on page 49. See also M3uaGetGenCfg

Dialogic Corporation

71

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaInitNSapCfg
Initializes the provided M3UA NSAP configuration structure with default values and the NSAP identifier. Prototype STATUS TXM3UAFUNC M3uaInitNSapCfg ( M3UANSapCfg *pNSapCfg, S16 nsapId)
Argument pNSapCfg nsapId Description Pointer to the M3UANSapCfg structure that contains the NSAP configuration values. For information, see M3UANSapCfg on page 112. Identifier of the NSAP to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitNSapCfg, call M3uaSetNSapCfg to set the NSAP configuration. You can optionally override specific field values before calling M3uaSetNSapCfg. For more information about defining an NSAP to the M3UA layer, see M3UA NSAP configuration on page 51. See also M3uaGetNSapCfg

72

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaInitNwkCfg
Initializes the provided M3UA network configuration structure with default values and the network identifier. Prototype STATUS TXM3UAFUNC M3uaInitNwkCfg ( M3UANwkCfg *pNwkCfg, U8 nwkId)
Argument pNwkCfg nwkId Description Pointer to the M3UANwkCfg structure to be initialized. For information, see M3UANwkCfg on page 115. Identifier of the network to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitNwkCfg, call M3uaSetNwkCfg to set the network configuration. You can optionally override specific field values before calling M3uaSetNwkCfg. For more information about defining a network to the M3UA layer, see M3UA network configuration on page 50. See Also M3uaGetNwkCfg

Dialogic Corporation

73

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaInitPsCfg
Initializes the provided M3UA peer server configuration structure with default values and the peer server identifier. Prototype STATUS TXM3UAFUNC M3uaInitPsCfg ( M3UAPsCfg *pPsCfg, U32 psId)
Argument pPsCfg psId Description Pointer to the M3UAPsCfg structure to be initialized. For information, see M3UAPsCfg on page 117. Identifier of the peer server to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitPsCfg, call M3uaSetPsCfg to set the peer server configuration. You can optionally override specific field values before calling M3uaSetPsCfg. For more information about defining a peer server to the M3UA layer, see M3UA peer server configuration on page 52. See also M3uaGetPsCfg

74

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaInitPspCfg
Initializes the provided M3UA peer signaling process configuration structure with default values, the peer signaling process identifier, and the IP address. Prototype STATUS TXM3UAFUNC M3uaInitPspCfg ( M3UAPspCfg *pPspCfg, U16 pspId, U32 ipAddr)
Argument pPspCfg pspId ipAddr Description Pointer to the M3UAPspCfg structure to be initialized. For information, see M3UAPspCfg on page 121. Identifier of the peer signaling process to initialize. IP address of the peer signaling process to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitPspCfg, call M3uaSetPspCfg to set the peer server configuration. You can optionally override specific field values before calling M3uaSetPspCfg. For more information about defining a peer signaling process to the M3UA layer, see M3UA peer signaling process configuration on page 52. See also M3uaGetPspCfg

Dialogic Corporation

75

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaInitRteCfg
Initializes the provided M3UA route configuration structure with default values and the associated DPC. Prototype STATUS TXM3UAFUNC M3uaInitRteCfg ( M3UARteCfg *rte, U32 dpc)
Argument rte dpc Description Pointer to the M3UARteCfg structure to be initialized. For information, see M3UARteCfg on page 127. Destination point code of the route to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitRteCfg, call M3uaSetRteCfg to set the route configuration. You can optionally override specific field values before calling M3uaSetRteCfg. For more information about defining a route to the M3UA layer, see M3UA route configuration on page 53. See also M3uaGetRteCfg

76

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaInitSctSapCfg
Initializes the provided M3UA SCT SAP configuration structure with default values and the SCT SAP identifier. Prototype STATUS TXM3UAFUNC M3UAInitSctSapCfg ( M3UASctSapCfg *pSctSapCfg, S16 sapId)
Argument pSctSapCfg sapId Description Pointer to the M3UASctSapCfg structure that contains default values. For information, see M3UASctSapCfg on page 129. M3UA identifier of the SCT SAP to initialize.

Return value
Return value M3UA_SUCCESS Description

Details After calling M3uaInitSctSapCfg, call M3uaSetSctSapCfg to set the SCTP SAP configuration. You can optionally override specific field values before calling M3uaSetSctSapCfg. For more information about defining an SCT SAP to the M3UA layer, see M3UA SCT SAP configuration on page 51. See Also M3uaGetSctSapCfg

Dialogic Corporation

77

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaMgmtCtrl
Sends an M3UA control request to the M3UA layer. Prototype TXM3UAFUNC M3uaMgmtCtrl ( U8 board, S16 entity, U8 action)
Argument board entity Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Type of control action the function performs. Valid values are: No value = General control ASP identifier = ASP control Association identifier = Association control Routing key identifier = Routing key control SCT SAP identifier - SCT SAP control Note: The entity identifier (entity) must have been previously defined with the appropriate set configuration function. action Action to take on the specified entity. See the Details section for valid actions.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE SIGTRAN_ERR_BADACT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid action parameter. Description

Details Use M3uaMgmtCtrl to activate and deactivate network task resources. The combination of entity and action tells M3UA what entity to act upon and what action to take. There are five types of control actions: General ASP Association Routing key SCT SAP

In the following value-description tables, do not use the management API to perform the actions marked with an asterisk, unless you are an experienced user. These actions are performed automatically by the M3UA layer, and are provided through the management API for testing and debugging purposes only. General control actions

78

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

If the entity argument is not used, the action argument has the following valid values:
Value *M3UA_CTRL_ALARM_DIS *M3UA_CTRL_ALARM_ENA M3UA_CTRL_DEBUG_OFF M3UA_CTRL_DEBUG_ON Description Disables alarms. Enables alarms. Stops debug logging. Starts debug logging.

*M3UA_CTRL_FLOWCTL_OFF Ends flow control, and enable transmission of all M3UA management messages. *M3UA_CTRL_FLOWCTL_ON *M3UA_CTRL_SHUTDOWN M3UA_CTRL_TRACE_OFF M3UA_CTRL_TRACE_ON Starts flow control, and disable transmission of all except critical M3UA management messages. Shuts down the M3UA layer. Stops trace data. Starts trace data.

ASP control actions If the entity argument specifies an ASP identifier, the action argument has the following valid values:
Value *M3UA_CTRL_ASP_AC Description Sends an ASPAC (ASP Active) message.

*M3UA_CTRL_ASP_DN Sends an ASPDN (ASP Down) message. *M3UA_CTRL_ASP_IA *M3UA_CTRL_ASP_UP Sends an ASPIA (ASP Inactive) message. Sends an ASPUP (ASP Up) message.

Association control actions If the entity argument specifies an association identifier, the action argument has the following valid values:
Value *M3UA_CTRL_ASSOC_EST M3UA_CTRL_ASSOC_INH Description Establishes the association. Inhibits the association.

*M3UA_CTRL_ASSOC_TERM Terminates the association. M3UA_CTRL_ASSOC_UNI Uninhibits the association.

Routing key control actions If the entity argument specifies a routing key identifier, the action argument has the following valid values:
Value Description

*M3UA_CTRL_RK_DEREG De-registers the dynamic routing key. *M3UA_CTRL_RK_REG Registers the dynamic routing key.

Dialogic Corporation

79

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCT SAP control actions If the entity argument specifies an SCT SAP identifier, the action argument has the following valid values:
Value *M3UA_CTRL_SCTSAP_DIS Description Disables the SCT SAP.

*M3UA_CTRL_SCTSAP_ENA Enables the SCT SAP.

TOS control actions If the entity argument specifies an ASP identifier and a new TOS value, the action argument has the following valid values:
Value Description

M3UA_CTRL_SET_TOS Set the Type of Service octet used on the association.

Note: The ASP identifier occupies the high byte in the entity field. The new TOS value occupies the low byte in the entity field. See also M3uaMgmtInit, M3UAMgmtTerm

80

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaMgmtInit
Initializes internal structures and opens communication with the M3UA layer on the TX board. Prototype STATUS TXM3UAFUNC M3uaMgmtInit ( U8 board, U8 srcEnt, U8 srcInst)
Argument board srcEnt srcInst Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Source entity ID, which is the channel to open for communication with TX board. Source instance ID.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER Invalid board number. CPI driver error. Description

Details You must call this function once before calling any other management functions. The source entity ID must be from 0x20 through 0x7F and unique for each application accessing the M3UA layer through the management API. The source instance ID should always be 0 for host applications. See also M3uaMgmtCtrl, M3uaMgmtTerm

Dialogic Corporation

81

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaMgmtTerm
Terminates access to the M3UA management API for this application, making the management channel for a specified board available for other applications. Prototype STATUS TXM3UAFUNC M3uaMgmtTerm ( U8 board)
Argument board Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32).

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_HANDLE Invalid board number. Handle closed or was never opened. Description

Details Call this function to free up resources when an application terminates or finishes communication with the M3UA layer. See also M3uaMgmtCtrl, M3uaMgmtInit

82

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaNSapStatistics
Obtains and optionally resets the statistics for the specified M3UA NSAP. Prototype STATUS TXM3UAFUNC M3uaNSapStatistics ( U8 board, M3UANSapSts *pSts, Bool isReset, S16 nsapNo)
Argument board pSts isReset nsapNo Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UANSapSts structure where the requested statistics information is returned. For information, see M3UANSapSts on page 114. If non-zero, statistics are reset after returning them to the application. Identifier of the NSAP for which to obtain statistics.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

83

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaNSapStatus
Obtains NSAP status information from the M3UA layer, including the high level NSAP state and the remote SAP identifier. Prototype STATUS TXM3UAFUNC M3uaNSapStatus ( U8 board, S16 nsapNo, M3UANSapSta *pStatus)
Argument board nsapNo pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Identifier of the NSAP for which to obtain status information. Pointer to the M3UANSapSta structure where the requested status information is returned. For information, see M3UANSapSta on page 113.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

84

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaPspRkIdStatus
Obtains the number of dynamic routing keys associated with the specified peer signaling process. Prototype STATUS TXM3UAFUNC M3uaPspRkIdStatus (U8 board, M3UAPspRkIdSta *pStatus, U16 pspId)
Argument board pStatus pspId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3uaPspRkIdSta structure where the requested status information is returned. For information, see M3UAPspRkIdSta on page 123. Identifier of the peer signaling process for which to obtain routing key information.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

85

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaPspStatistics
Obtains and optionally resets the statistics for the specified M3UA peer signaling process. Prototype STATUS TXM3UAFUNC M3uaPspStatistics ( U8 board, M3UAPspSts *pSts, Bool isReset, U16 pspId)
Argument board pSts isReset pspId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAPspSts structure where the requested statistics information is returned. For information, see M3UAPspSts on page 125. If non-zero, statistics are reset after returning them to the application. Identifier of the peer signaling process for which to obtain statistics.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

86

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaPspStatus
Obtains peer signaling process status information from the M3UA layer, including the state of its associations. Prototype STATUS TXM3UAFUNC M3uaPspStatus ( U8 board, U16 pspNo, M3UAPspSta *pStatus)
Argument board pspNo pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Identifier of the peer signaling process for which to obtain status information. Pointer to the M3UAPspSta structure where the requested status information is returned. For information, see M3UAPspSta on page 124.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

87

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaPsStatus
Obtains peer server status information from the M3UA layer, including the peer server state and the status of the associated endpoints. Prototype STATUS TXM3UAFUNC M3uaPsStatus ( U8 board, U32 id, M3UAPsSta *pStatus)
Argument board id pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Identifier of the peer server for which to obtain status information. Pointer to the M3UAPsSta structure where the requested status information is returned. For information, see M3UAPsSta on page 119.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

88

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaRkStatus
Obtains the number of dynamically registered routing keys defined in the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaRkStatus ( U8 board, M3UAGenCfg *pStatus)
Argument board pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UARkSta structure where the requested status information is returned. For information, see M3UARkSta on page 126.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

89

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaRteStatus
Obtains route status information from the M3UA layer. Prototype STATUS TXM3UAFUNC M3uaRteStatus ( U8 board, M3UARteCfg *pStatus)
Argument board pStatus Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UARteCfg structure where the requested status information is returned. For information, see M3UARteCfg on page 127.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

90

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaSctSapStatistics
Obtains and optionally resets the statistics for the specified SCTP service access point. Prototype STATUS TXM3UAFUNC M3uaSctSapStatistics ( U8 board, M3UASctSapSts *pSts, Bool isReset, S16 suId)
Argument board pSts isReset suId Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UASctSapSts structure where the requested statistics information is returned. For information, see M3UASctSapSts on page 131. If non-zero, statistics are reset after returning them to the application. M3UA identifier of the SCT SAP for which to obtain statistics.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

91

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaSctSapStatus
Obtains SCT SAP status information from M3UA. Prototype STATUS TXM3UAFUNC M3uaSctSapStatus ( U8 board, S16 id, M3UASctSapSta *pStatus)
Argument board id pStatus Description TX board number on which the desired MTP 3 task resides. Valid range is 1 through MAXBOARD (currently 32). M3UA identifier of the SCT SAP for which to obtain status information. Pointer to the M3UASctSapSta structure where the requested status information is returned. For information, see M3UASctSapSta on page 130.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

92

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaSetGenCfg
Configures the M3UA layer with the values contained in the general configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetGenCfg ( U8 board, M3UAGenCfg *pGencfg)
rgument board pGenCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAGenCfg structure that contains the general configuration values. For information, see M3UAGenCfg on page 108.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function to configure the M3UA layer after you download the TX board and call M3uaMgmtInit. An application must set the field values in the M3UAGenCfg structure before calling M3uaSetGenCfg. Set the values in any of the following ways: Call M3uaInitGenCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitGenCfg and then override specific field values before passing the M3UAGenCfg structure to M3uaSetGenCfg.

M3uaSetGenCfg is typically called once by an application to set global values. For more information, see General M3UA configuration on page 49. See also M3uaGetGenCfg

Dialogic Corporation

93

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaSetNSapCfg
Configures the M3UA layer with the values contained in the NSAP configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetNSapCfg ( U8 board, M3UANSapCfg *pNSapCfg)
Argument board pNSapCfg Description TX board number on which the desired MTP 3 task resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UANSapCfg structure that contains the NSAP configuration values. For information, see M3UANSapCfg on page 112.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you configure an SCT SAP for the M3UA layer, but before you configure peer signaling processes. An application must set the field values in the M3UANSapCfg structure before calling M3uaSetNSapCfg. Set the values in any of the following ways: Call M3uaInitNSapCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitNSapCfg and then override specific field values before passing the M3UANSapCfg structure to M3uaSetNsapCfg.

M3uaSetNSapCfg is typically called once for each configured NSAP. For more information, see M3UA NSAP configuration on page 51. See also M3uaGetNSapCfg

94

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaSetNwkCfg
Configures the M3UA layer with the values contained in the network configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetNwkCfg ( U8 board, M3UANwkCfg *pNwkCfg)
Argument board pNwkCfg Description TX board number on which the desired MTP 3 task resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UANwkCfg structure that contains the network configuration values. For information, see M3UANwkCfg on page 115.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you set the general configuration parameters for the M3UA layer, but before you configure an SCTP SAP. An application must set the field values in the M3UANwkCfg structure before calling M3uaSetNwkCfg. Set the values in any of the following ways: Call M3uaInitNwkCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitNwkCfg and then override specific field values before passing the M3UANwkCfg structure to M3uaSetNwkCfg.

M3uaSetNwkCfg is typically called once for each configured network. For more information, see M3UA network configuration on page 50. See also M3uaGetNwkCfg

Dialogic Corporation

95

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaSetPsCfg
Configures the M3UA layer with the values contained in the peer server configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetPsCfg ( U8 board, M3UAPsCfg *pPsCfg)
Argument board pPsCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAPsCfg structure that contains the peer server configuration values. For information, see M3UAPsCfg on page 117.

Return values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you configure peer signaling processes for the M3UA layer, but before you configure routes. An application must set the field values in the M3UAPsCfg structure before calling M3uaSetPsCfg. Set the values in any of the following ways: Call M3uaInitPsCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitPsCfg and then override specific field values before passing the M3UAPsCfg structure to M3uaSetPsCfg.

M3uaSetPsCfg is typically called once for each configured peer server. For more information, see M3UA peer server configuration on page 52. See also M3uaGetPsCfg

96

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaSetPspCfg
Configures the M3UA layer with the values contained in the peer signaling process structure. Prototype STATUS TXM3UAFUNC M3uaSetPspCfg ( U8 board, M3UAPspCfg *pPspCfg)
Argument board pPspCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UAPspCfg structure that contains the peer signaling process configuration values. For information, see M3UAPspCfg on page 121.

Returned values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you configure NSAPs for the M3UA layer, but before you configure a peer server. An application must set the field values in the M3UAPspCfg structure before calling M3uaSetPspCfg. Set the values in any of the following ways: Call M3uaInitPspCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitPspCfg and then override specific field values before passing the M3UAPspCfg structure to M3uaSetPspCfg.

M3uaSetPspCfg is typically called once for each configured peer signaling process. For more information, see M3UA peer signaling process configuration on page 52. See also M3uaGetPspCfg

Dialogic Corporation

97

M3UA management function referenceDialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3uaSetRteCfg
Configures the M3UA layer with the values contained in the route configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetRteCfg ( U8 board, M3UARteCfg *pRteCfg)
Argument board pRteCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UARteCfg structure that contains the route configuration values. For information, see M3UARteCfg on page 127.

Returned values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you configure peer servers for the M3UA layer. An application must set the field values in the M3UARteCfg structure before calling M3uaSetRteCfg. Set the values in any of the following ways: Call M3uaInitRteCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitRteCfg and then override specific field values before passing the M3UARteCfg structure to M3uaSetRteCfg.

M3uaSetRteCfg is typically called once for each configured route. For more information, see M3UA route configuration on page 53. See also M3uaGetRteCfg

98

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference ManualM3UA management function reference

M3uaSetSctSapCfg
Configures the M3UA layer with the values contained in the SCT SAP configuration structure. Prototype STATUS TXM3UAFUNC M3uaSetSctSapCfg ( U8 board, M3UASctSapCfg *pSctSapCfg)
Argument board pSctSapCfg Description TX board number on which the desired M3UA layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the M3UASctSapCfg structure that contains the SCT SAP configuration values. For information, see M3UASctSapCfg on page 129.

Returned values
Return value M3UA_SUCCESS M3UA_BOARD M3UA_DRIVER M3UA_HANDLE M3UA_PARAM M3UA_RESPONSE M3UA_TIMEOUT Invalid board number. CPI driver error. M3UAMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you configure networks for the M3UA layer, but before you configure an NSAP. An application must set the field values in the M3UASctSapCfg structure before calling M3uaSetSctSapCfg. Set the values in any of the following ways: Call M3uaInitSctSapCfg to set the fields to default values. Set each field value from within the application. Call M3uaInitSctSapCfg and then override specific field values before passing the M3UASctSapCfg structure to M3uaSetSctSapCfg.

M3uaSetSctSapCfg is typically called once for each configured SCT SAP. For more information, see M3UA SCT SAP configuration on page 51. See also M3uaGetSctSapCfg

Dialogic Corporation

99

8
Statistics Status

M3UA management structures

M3UA management structures summary


This section provides an alphabetical reference to the management structures used by M3UA functions. The topics in the structure reference include the structure definition and a table of field descriptions. The NaturalAccess SIGTRAN Stack implementation uses the following types of M3UA structures: Configuration

Configuration structures The following table describes the M3UA configuration structures in the NaturalAccess SIGTRAN Stack implementation:
Structure AssocCfg M3UAGenCfg M3UANsapCfg M3UANwkCfg M3UAPsCfg M3UAPspCfg M3UARteCfg M3UARtFilter M3UASctSapCfg M3UA network address substructures M3UA timer sub-structures Description SCTP association configuration parameters. General configuration parameters. NSAP configuration parameters. Network configuration parameters. Peer server configuration parameters. Peer signaling process configuration parameters. Route configuration parameters. Route filter parameters. SCT SAP configuration parameters. Sub-structures that contain network address configuration information. Sub-structures that contain timer configuration information.

Dialogic Corporation

101

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Statistics structures The following table describes the M3UA statistics structures in the NaturalAccess SIGTRAN implementation:
Structure DateTime M3UAGenSts M3UANsapSts M3UAPspSts M3UASctSapSts M3UA statistics substructures Description Defines time stamps that indicate when M3UA statistics counters were initialized to zero. General statistics. Network SAP statistics. Peer signaling process statistics. SCT SAP statistics. Sub-structures that contain various types of statistics.

Status structures The following table describes the M3UA status structures in the NaturalAccess SIGTRAN implementation:
Structure AssocSta M3UAAtSta M3UADpcSta M3UAGenSta M3UANSapSta M3UAPsSta M3UAPspRkIdSta M3UAPspSta M3UAPsStaEndp M3UARkSta M3UASctSapSta Description SCTP association status information. Address translation status information. Destination point code (DPC) status information. General status information. NSAP status information. Peer server status information. Information about the routing keys associated with the specified peer server process. Peer signaling process status information. Status information for the endpoints of an M3UA peer server. Number of dynamically registered routing keys defined in the M3UA layer. SCT SAP status information.

102

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

AssocCfg
Dependent function: None. The following AssocCfg structure contains SCTP association parameters for M3UA. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. AssocCfg is a substructure to the M3UAPspCfg structure, and its values are set at the time of peer server process configuration.
typedef struct _AssocCfg { NetAddr priDstAddr; NetAddrLst dstAddrLst; U16 dstPort; U16 locOutStrms; Bool clientSide; U8 tos; U8 spare1[2]; } AssocCfg; /* SCTP association configuration */ /* /* /* /* /* /* primary destination address */ destination address list */ destination port */ number of streams supported */ If true, we initiate associations (if IPSP) */ Type of Service octet */ /* Alignment */

The AssocCfg structure is a substructure to the M3UAPspCfg. structure. The following table describes the fields in the AssocCfg structure that you can set. These fields are not re-configurable.
Field priDstAddr Type NetAddr Default 192.168.1.2 Description Primary destination address of the remote peer used in outgoing association requests, defined by the NetAddr structure. For information, see NetAddr on page 132. List of destination addresses for the association, defined by the NetAddrLst structure. This list is automatically obtained from the source addresses received in the Initiation (INIT) or Initiation Acknowledgement (INIT ACK) SCTP messages. For more information, see NetAddrLst on page 132. dstPort locOutStrms clientSide tos U16 U16 Bool U8 2905 2 True 0 Remote SCTP port. Number of streams supported by this association. Valid range is 1 - 255. In IPSP mode, if this value set to TRUE, an association is established automatically. Type of Service octet value that is sent in all outgoing IP messages over this association. This can later be changed through the M3uaMgmtCtrl on page 78 function.

dstAddrLst

NetAddrLst

None.

Dialogic Corporation

103

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

AssocSta
Dependent function: None. The following AssocSta structure contains SCTP association status information:
typedef struct _AssocSta /* Association status */ { U32 spAssocId; /* Association Id */ U8 hlSt; /* High level state */ U8 aspSt; /* PSP's ASP state */ Bool inhibited; /* Management inhibit status */ U8 spare1; /* alignment */ U16 nmbAct; /* number of active PSs */ U16 nmbRegPs; /* number of registered PSs */ U32 actPs[M3UA_MAX_ACT_PS]; /* list of active PSs */ U32 regPs[M3UA_MAX_PSID]; /* Registered PSs List */ } AssocSta;

The AssocSta structure is a substructure to the M3UAPspSta structure. It contains the following fields:
Field spAssocId hlSt Type U32 U8 Description Association identifier. High level state of the association. Valid values are: M3UA_ASSOC_ACTIVE = Association is up. M3UA_ASSOC_CONGSTART = Association started flow control. M3UA_ASSOC_CONGDROP = Association is dropping data due to congestion. M3UA_ASSOC_DOWN = Association is down. aspSt U8 Application server process state for this peer signaling process. Valid values are: M3UA_ASP_ACTIVE = Peer signaling process is actively processing traffic for this peer server. M3UA_ASP_DOWN = Peer signaling process is down. M3UA_ASP_INACTIVE = Peer signaling process is up, but not actively processing traffic for this peer server. M3UA_ASP_UNSUPP = Peer signaling process does not support this peer server. inhibited Bool Indicates whether the association is inhibited by management for maintenance: TRUE = Association is inhibited. FALSE = Association is not inhibited. spare1 nmbAct nmbRegPs actPs[M3UA_MAX_ACT_PS] regPs[M3UA_MAX_PSID] U8 U16 U16 U32 U32 Alignment. Number of active peer servers. Number of registered peer servers. Lists the active peer servers supported by this association, where M3UA_MAX_ACT_PS is an array of peer servers. List of registered peer servers, where M3UA_MAX_PSID is the maximum number of active peer servers per peer signaling process (currently 10).

104

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

DateTime (for M3UA)


Dependent function: None. The following DateTime structure defines time stamps that indicate when M3UA statistics counters were initialized to zero:
typedef struct _DateTime /* date and time */ { U8 month; /* month */ U8 day; /* day */ U8 year; /* year - since 1900 (eg. 2000 = 100) */ U8 hour; /* hour - 24 hour clock */ U8 min; /* minute */ U8 sec; /* second */ U8 tenths; /* tenths of second */ U8 fill; } DateTime;

The DateTime structure is a substructure of the M3UAGenSts, M3UANSapSts, M3UAPsSts, M3UAPspSts, and M3UASctSapSts structures. It contains the following fields:
Field month day year hour min sec tenths fill Type U8 U8 U8 U8 U8 U8 U8 U8 Description Month. Day. (Current year) - 1900. Hour in UTC time (24 hour clock). Minutes. Seconds. Tenths of seconds. Not used.

Dialogic Corporation

105

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UAAtSta
Dependent function: M3uaAddrTransStatus The following M3UAAtSta structure contains M3UA address translation status information:
typedef struct _M3UAAtSta { U16 nmbDpc; U16 nmbRout; } M3UAAtSta; /* Address Translation status */ /* Number of entries in DPC table */ /* Number of entries in routing table */

The M3UAAtSta structure contains the following fields:


Field nmbDpc nmbRout Type U16 U16 Description Number of DPCs in the DPC table. Number of routes in the routing table.

106

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UADpcSta
Dependent function: M3uaDpcStatus The following M3UADpcSta structure contains DPC status information:
typedef struct _M3UAUDpcSta { U32 dpc; U8 nwkId; U8 dpcSt; U8 congLevel; U8 spare1; } M3UADpcSta; /* DPC Status */ /* /* /* /* /* DPC value */ Network Id */ DPC status */ DPC Congestion Level */ alignment */

The M3UADpcSta structure contains the following fields:


Field dpc nwkId dpcSt Type U32 U8 U8 Description DPC value. Network identifier for the specified DPC. Valid range is 1 - 255. DPC state. Valid values are: AVAILABLE = DPC is available. CONGESTED = DPC received more traffic than it can handle. The congestion level is described in the congLevel field. UNAVAILABLE = DPC is not available. UNKNOWN = DPC state is unknown. congLevel U8 DPC congestion level. Valid values are: 0 1 2 3 spare1 U8 = = = = Not congested. Congestion level 1 in the queue; not valid in international networks. Congestion level 2 in the queue; not valid in international networks. Congestion level 3 in the queue; not valid in international networks.

Alignment.

Dialogic Corporation

107

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UAGenCfg
Dependent functions: M3uaGetGenCfg, M3uaInitGenCfg, M3uaSetGenCfg The following M3UAGenCfg structure contains general M3UA configuration parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitGenCfg and must not be overridden.
typedef struct _M3UAGenCfg { U8 nodeType; Bool dpcLrnFlag; Bool drkmSupp; Bool drstSupp; U16 maxNmbNSap; U16 maxNmbSctSap; U16 maxNmbNwk; U16 maxNmbRtEnt; U16 maxNmbDpcEnt; U16 maxNmbPs; U16 maxNmbLps; U16 maxNmbPsp; U16 maxNmbMsg; U16 maxNmbRndRbnLs; U16 maxNmbSlsLs; U32 maxNmbSls; U32 qSize; U32 congLevel1; U32 congLevel2; U32 congLevel3; M3UAGenTimerCfg tmr; S16 timeRes; U16 spare1; U32 debugMask; U32 traceMask; Pst smPst; } M3UAGenCfg; /* M3UA general configuration */ /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* type of M3UA - SGP or ASP */ DPC learning mode enable */ DRKM supported */ DRST supported */ number of upper SAPs */ number of lower SAPs */ number of Network Appearances */ number of Routing Entries */ number of DPC entries */ number of Peer Servers */ number of Local PS */ number of Peer Signalling Processes */ max MTP3/M3UA messages in transit */ number of Round Robin Loadshare contexts */ number of SLS based Loadshare contexts */ number of SLS contexts */ congestion queue size in M3UA */ congestion level 1 in the queue */ congestion level 2 in the queue */ congestion level 3 in the queue */ gen Timer Config */ timer resolution */ alignment */ Debugging mask */ Tracing mask */ Post stack mgr structure */

The following table describes the fields in the M3UAGenCfg structure that you can set:
Field nodeType Type U8 Default ASP Reconfigurable? No Description Type of node. Valid values are: M3UA_TYPE_ASP = ASP or IPSP configuration. M3UA_TYPE_SGP = SGP configuration. Currently only M3UA_TYPE_ASP is supported. maxNmbNSap maxNmbNwk U16 U16 2 2 No No Maximum number of NSAPs supported simultaneously. Maximum number of network contexts supported. There is one network context per variant and network indicator. Maximum number of route entries supported, including local routes.

maxNmbRtEnt

U16

16

No

108

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

Field maxNmbDpcEnt

Type U16

Default 32

Reconfigurable? No

Description Maximum number of DPCs supported, including configured and dynamically learned DPCs. Maximum number of peer servers supported, including both local and remote peer servers. Maximum number of peer signaling processes supported. Number of M3UA messages in transit supported. Maximum number of peer servers that can use round-robin load sharing. Maximum number of peer servers that can use SLS-based load sharing. Maximum number of SLS values used by all peer servers. Outgoing congestion queue size per association. Messages above this limit are dropped. Congestion level 1 in the queue; not valid in international networks. Congestion level 2 in the queue; not valid in international networks. Congestion level 3 in the queue; not valid in international networks. Timer configurations, defined by M3UAGenTimerCfg on page 133. Enables debug logging. Valid values are: 0 = No debug logging. 0xFFFFFFFF = Enables debug logging. You can also enable debug logging by using the m3uamgr debug command, as described in m3uamgr commands on page 140.

maxNmbPs

U16

No

maxNmbPsp maxNmbMsg maxNmbRndRbnLs

U16 U16 U16

16 128 4

No No No

maxNmbSlsLs maxNmbSls qSize

U16 U32 U32

4 128 256

No No Yes

congLevel1 congLevel2 congLevel3 tmr debugMask

U32 U32 U32 Structure U32

64 128 196 Refer to structure 0

Yes Yes Yes Refer to structure Yes

trcMask

U32

Yes

Enables data tracing. Values are: 0 = No data logging. 0xFFFFFFFF = Enables data tracing. You can also enable data tracing by using the m3uamgr trace command, as described in m3uamgr commands on page 140.

Dialogic Corporation

109

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UAGenSta
Dependent function: M3uaGenStatus The following M3UAGenSta structure contains general M3UA status information:
typedef struct _M3UAGenSta { U32 memSize; U32 memAlloc; U8 haState; U8 isolated; U16 spare2; } M3UAGenSta; /* General status */ /* /* /* /* /* Reserved memory size */ Allocated memory size */ High Availability State */ Isolation state. False = connected to mate. */ alignment */

The M3UAGenSta structure contains the following fields:


Field memSize memAlloc haState Type U32 U32 U8 Description Size of the memory, in bytes, reserved for M3UA. Size of the memory, in bytes, currently allocated by M3UA. High availability state of the M3UA layer. Valid values are: M3UA_HAST_BACKUP - M3UA is the backup node in a redundant configuration. M3UA_HAST_PRIMARY - M3UA is the primary node in a redundant configuration. M3UA_HAST_STANDALONE - M3UA is operating in a non-redundant configuration. M3UA_HAST_STARTING - M3UA has not been assigned a high availability state. isolated U8 Isolation state. Valid values are: True = Not connected to redundant mate. False = Connected to redundant mate. spare2 U16 Alignment.

110

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAGenSts
Dependent function: M3uaGenStatistics The following M3UAGenSts structure contains general M3UA statistics:
typedef struct _M3UAGenSts { DateTime dt; Mtp3Sts Mtp3Sts M3UASts M3UASts DataSts DataSts DataSts DataSts DataErrSts DataErrSts } M3UAGenSts; txMtp3Sts; rxMtp3Sts; txM3uaSts; rxM3uaSts; liTxDataSts; liRxDataSts; uiTxDataSts; uiRxDataSts; downDataErrSts; upDataErrSts; /* General statistics */ /* Date and time when statistics counters are initialized to zero */ /* MTP3 message statistics - TX */ /* MTP3 message statistics - RX */ /* M3UA message statistics - TX */ /* M3UA message statistics - RX */ /* Lower interface data statistics - TX */ /* Lower interface data statistics - RX */ /* Upper interface data statistics - TX */ /* Upper interface data statistics - RX */ /* task data error stats - downward */ /* task data error statistics - upward */

The M3UAGenSts structure contains the following fields:


Argument dt txMtp3Sts Type Structure Structure Description Date and time when the statistics counters were reset to zero, defined by DateTime (for M3UA) on page 105. MTP3 transmit message statistics. Note: This field applies to a signaling gateway, which is not currently supported. rxMtp3Sts Structure MTP3 receive message statistics. Note: This field applies to a signaling gateway, which is not currently supported. txM3uaSts rxM3uaSts liTxDataSts liRxDataSts uiTxDataSts uiRxDataSts downDataErrSts upDataErrSts Structure Structure Structure Structure Structure Structure Structure Structure M3UA transmit message statistics, defined by M3UASts on page 137. M3UA receive message statistics, defined by M3UASts. Lower interface transmit statistics, defined by DataSts on page 136. Lower interface receive statistics, defined by DataSts structure. Upper interface transmit statistics, defined by DataSts. Upper interface receive statistics, defined by DataSts. Downward or outbound error statistics, defined by DataErrSts on page 136. Upward or inbound error statistics, defined by DataErrSts.

Dialogic Corporation

111

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UANSapCfg
Dependent functions: M3uaGetNSapCfg, M3uaInitNSapCfg, M3uaSetNSapCfg The following M3UANSapCfg structure contains M3UA NSAP configuration parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitNSapCfg and must not be overridden.
typedef struct _M3UANSapCfg { S16 sapId; U8 nwkId; U8 suType; MemoryId mem; U8 selector; U8 prior; U8 route; U8 spare1; } M3UANSapCfg; /* M3UA Network SAP configuration */ /* /* /* /* /* /* /* /* NSAP id */ logical network ID */ service user protocol type */ memory region and pool id */ upper layer selector */ priority */ route */ alignment */

The following table describes the fields in the M3UANsapCfg structure that you can set. These fields are not re-configurable.
Field sapId nwkId suType Type S16 U8 U8 Default 0 1 M3UA_SU_ISUP Description Identifier for this NSAP. Valid values range from 0 to the result of (genCfg.maxNmbNSap - 1). Logical network identifier for this NSAP. Type of NSAP service user. Valid values are: M3UA_SU_AAL2 = AAL2 user M3UA_SU_BICC = BICC user M3UA_SU_B_ISUP = B-ISUP user M3UA_SU_DUP = DUP user M3UA_SU_DUPF = DUPF user M3UA_SU_ISUP = ISUP user M3UA_SU_MGCP = MGCP user M3UA_SP_MTP3 = MTP3 user M3UA_SU_MTUP = MTUP user M3UA_SU_S_ISUP = S-ISUP user M3UA_SU_SCCP = SCCP user M3UA_SU_TUP = TUP user

112

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UANSapSta
Dependent function: M3uaNSapStatus The following M3UANsapSta structure contains M3UA NSAP status information:
typedef struct _M3UANSapSta { S16 lclSapId; S16 remSapId; U8 hlSt; U8 spare1; U16 spare2; /* Upper SAP status */ /* /* /* /* /* local SAP Id */ remote (MTP3/M3UA-User) SAP Id */ High level state */ alignment */ alignment */

The M3UANSapSta structure contains the following fields:


Field lclSapId remSapId hlSt Type S16 S16 U8 Description Local SAP identifier. Remote SAP identifier. High level state of this NSAP. Valid values are: BOUND = NSAP is bound. READY = NSAP is ready for use. UNBOUND = NSAP is unbound. WAIT_BIND = NSAP is waiting for bind confirmation. WAIT_OPEN = NSAP is waiting for open confirmation. UNKNOWN = NSAP state is unknown. spare1 spare2 U8 U8 Alignment. Alignment.

Dialogic Corporation

113

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UANSapSts
Dependent function: M3uaNsapStatistics The following M3UANSapSts structure contains M3UA NSAP statistics:
typedef struct _M3UANSapSts { S16 spId; U16 spare1; DateTime dt; Mtp3Sts Mtp3Sts DataSts DataSts DataErrSts } M3UANSapSts; txMtp3Sts; rxMtp3Sts; txDataSts; rxDataSts; dataErrSts; /* M3UA Statistics for NSAP */ /* /* /* /* /* /* /* /* /* NSAP Id */ alignment */ date and time when statistics counters are */ initialized to zero */ MTP3 message statistics - TX */ MTP3 message statistics - RX */ SAP data statistics - TX */ SAP data statistics - RX */ SAP data error statistics - downward */

The M3UANSapSts structure contains the following fields:


Field spid spare1 dt txMtp3Sts Type S16 U16 Structure Structure Description NSAP identifier. Alignment. Date and time when the statistics counters were reset to zero, defined by DateTime (for M3UA) on page 105. MTP3 transmit message statistics. Note: This field applies to a signaling gateway, which is not currently supported. rxMtp3Sts Structure MTP3 receive message statistics. Note: This field applies to a signaling gateway, which is not currently supported. txDataSts rxDataSts dataErrSts Structure Structure Structure NSAP transmit data statistics, defined by DataSts on page 136. NSAP receive data statistics, defined by DataSts. NSAP data error statistics, defined by DataErrSts on page 136.

114

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UANwkCfg
Dependent functions: M3uaGetNwkCfg, M3UAInitNwkCfg, M3uaSetNwkCfg The following M3UANwkCfg structure contains M3UA network configuration parameters:
typedef struct _M3UANwkCfg { U8 nwkId; U8 ssf; U8 dpcLen; U8 slsLen; S16 suSwtch; S16 su2Swtch; U32 nwkApp[M3UA_MAX_PSP]; }M3UANwkCfg; /* M3UA network configuration */ /* /* /* /* /* /* /* network ID */ sub service field */ dpc or opc length */ sls length */ protocol variant of service user */ protocol variant of user of service user */ network appearance code */

The following table describes the fields in the M3UANwkCfg structure. These fields are not re-configurable.
Field nwkId ssf Type U8 U8 Default 1 M3UA_SSF_NAT Description Network identifier. Valid range is 1 - 255. Subservice field. Valid values are: M3UA_SSF_INTL = International M3UA_SSF_NAT = National M3UA_SSF_SPARE = Spare M3UA_SSF_RES = Reserved dpcLen U8 DPC24 DPC or OPC length. Valid values are: DPC14 = Length for ITU networks. DPC16 = Length for Japanese networks. DPC24 = Length for ANSI networks and other national variants. slsLen U8 M3UA_SLS5 SLS length, in bits. Valid values are: M3UA_SLS4 = 4 bits M3UA_SLS5 = 5 bits M3UA_SLS8 = 8 bits suSwtch S16 M3UA_SW_ANS Protocol variant of the M3UA service user, such as ISUP, SCCP, and TUP. Valid values are: M3UA_SW_ANS = ANSI variant M3UA_SW_BICI = BICI variant M3UA_SW_ANS96 = ANSI 96 variant M3UA_SW_ITU = CCITT variant M3UA_SW_CHINA = CHINA variant M3UA_SW_NTT = NTT variant M3UA_SW_TTC = TTC variant

Dialogic Corporation

115

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Field su2Swtch

Type S16

Default M3UA_SW2_ANS

Description Protocol variant for user of the M3UA service user, such as TCAP, which uses SCCP. Valid values are: M3UA_SW2_ANS = TCAP type ANSI M3UA_NWK_ANSI = ANSI network M3UA_SW2_ETS = TCAP type ETSI M3UA_SW2_ITU = TCAP type ITU M3UA_NWK_ITU = ITU network 3UA_NWK_NSS = NSS network M3UA_SW2_TTC = TCAP type TTC M3UA_SW2_UNUSED = su2Swtch is unused

nwkApp[M3UA_MAX_PSP]

32

Network appearance code, where M3UA_MAX_PSP is an array of network appearance codes. Network appearance values are determined and configured by network operators on each side of an association.

116

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAPsCfg
Dependent functions: M3uaGetPsCfg, M3UAInitPsCfg, M3uaSetPsCfg The following M3UAPsCfg structure contains M3UA peer server configuration parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitPsCfg and must not be overridden.
typedef struct _M3UAPsCfg /* { U8 nwkId; /* U8 mode; /* U8 loadShareMode; /* Bool reqAvail; /* U32 psId; /* U32 routCtx; /* U16 nmbActPspReqd; /* U16 nmbPsp; /* U16 psp[M3UA_MAX_PSP]; Bool lclFlag; /* U8 spare1; /* U16 spare2; /* } M3UAPsCfg; Peer Server configuration */ Network ID */ Active/Standby or load sharing */ Round robin, SLS mapping etc. */ TRUE if required for SPMC availability */ Peer Server ID */ Routing Context */ number of active PSPs sharing load */ number of entries in PSP list */ /* ordered list of PSPs */ PS type is local if set */ alignment */ alignment */

The following table describes the fields in the M3UAPsCfg structure that you can set:
Field nwkId mode Type U8 U8 Default 1 M3UA_MODE_ACTSTANDBY Reconfigurable? No Yes Description Peer server network identifier. Indicates whether the peer signaling process is in active/standby mode or load sharing mode. Valid values are: M3UA_MODE_ACTSTANDBY = Active/standby mode M3UA_MODE_LOADSHARE = Load sharing mode (Remote peer server only, used only if mode = M3UA_MODE_LOADSHARE) Type of load sharing. Valid values are: M3UA_LOADSH_RNDROBIN = Round robin. M3UA_LOADSH_SLS = By link selector. psId routCtx U32 U32 1 0 No Yes Peer server identifier. (Local peer server only) Routing context. nmbPsp U16 1 Yes Total number of peer signaling processes defined for this peer server.

loadShareMode

U8

M3UA_LOADSH_RNDROBIN

No

Dialogic Corporation

117

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Field psp[M3UA_MAX_PSP]

Type U16

Default Psp[0] = 1

Reconfigurable? Yes, but may affect service

Description An ordered list of peer signaling processes referenced by pspId. Preference is given to earlier entries when performing failover and failback operations. Indicates whether the peer server is local or remote: TRUE = Local peer server FALSE = Remote peer server

lclFlag

Bool

FALSE

No

118

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAPsSta
Dependent function: M3uaPsStatus The following M3UAPsSta structure contains M3UA peer server status information:
typedef struct _M3UAPsSta /* Peer Server status */ { U32 psId; /* Peer Server Id */ U8 asSt; /* PS's AS state */ U8 spare1; /* alignment */ U16 spare2; /* alignment */ M3UAPsStaEndp psStaEndp[M3UA_MAX_SEP]; /* Status per endpoint */ } M3UAPsSta;

The M3UAPsSta structure contains the following fields:


Field psId asSt Type U32 U8 Description Peer server identifier. Application server state of the peer server. Valid values are: ACTIVE = State is active. DOWN = State is down. INACTIVE = State is up, but not active. PENDING = State is queuing, pending reactivation. UNKNOWN = State is unknown. spare1 spare2 psStaEndp[M3UA_MAX_SEP] U8 U16 Structure Alignment. Alignment. Status for each peer server endpoint, defined by M3UAPsStaEndp on page 120.

Dialogic Corporation

119

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UAPsStaEndp
Dependent function: None. The following M3UAsStaEndp structure contains peer signaling process status information for an M3UA endpoint:
typedef struct _M3UAPsStaEndp { U8 aspSt[M3UA_MAX_PSP]; U16 nmbPspReg; U16 nmbAct; U16 actPsp[M3UA_MAX_PSP]; struct { U32 rCtx; Bool rcValid; U8 mode; U16 spare1; } rteCtx[M3UA_MAX_PSP]; } M3UAPsStaEndp; /* /* /* /* /* /* /* /* PS's assoc states (currently 20) */ number of registered assocs */ number of active assocs */ list of active assocs */ routing Context */ routing context valid flag */ Dynamically/Static */ alignment */

The M3UAPsStaEndp structure is a substructure to M3UAPsSta. It contains the following fields:


Field aspSt[M3UA_MAX_PSP] Type U8 Description For an endpoint, the peer servers ASP state per peer, where M3UA_MAX_PSP is an array of ASP states. Valid values are: M3UA_ASP_ACTIVE = Peer signaling process is actively processing traffic for this peer server. M3UA_ASP_DOWN = Peer signaling process is down. M3UA_ASP_INACTIVE = Peer signaling process is up, but not actively processing traffic for this peer server. M3UA_ASP_UNSUPP = Peer signaling process does not support this peer server. nmbPspReg nmbAct actPsp[M3UA_MAX_PSP] rCtx rcValid mode U16 U16 U16 U32 Bool U8 Number of registered peer signaling processes for this peer server. Number of currently active peer signaling servers for this peer server. List of currently active peer signaling processes for this peer server. M3UA_MAX_PSP is currently set to 20. Routing context corresponding to each configured peer signaling process. Indicates whether the routing context is valid. Indicates how the routing context was created: IT_RC_DYNAMIC_REGD = Dynamically created by routing key registration. IT_RC_STATIC_REGD = Statically created by configuration. spare1 U16 Alignment.

120

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAPspCfg
Dependent functions: M3uaGetPspCfg, M3uaInitPspCfg, M3uaSetPspCfg The following M3UAPspCfg structure contains M3UA peer signaling parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitPspCfg and must not be overridden.
typedef struct _M3UAPspCfg { U16 pspId; U8 pspType; U8 ipspMode; Bool dynRegRkallwd; U8 dfltLshareMode; Bool nwkAppIncl; Bool rxTxAspId; U32 selfAspId; U8 nwkId; Bool cfgForAllLps; U16 spare1 AssocCfg assocCfg; } M3UAPspCfg; /* Peer Signalling Process configuration */ /* /* /* /* /* /* /* /* /* /* /* /* PSP id */ PSP client/server type */ IPSP single ended/double ended type */ PSP is authorized for DRKM mesg */ Default mode for dynamic cfg of ps */ Network Appearance flag */ ASP Id parameter */ ASP Id to be sent in ASP UP message */ Default network ID */ Configure for all local PSs? */ Alginment Association configuration */

Note: Peer signaling process 0 (pspId 0) is the local peer signaling process and is automatically created by the M3UA layer during initialization. It cannot be configured. The following table describes the fields in the M3UAPspCfg structure that you can set:
Field pspId Type U16 Default 1 Reconfigurable? No Description Peer signaling process identifier. Values range from 1 to the result of (MAX_PSP 1). pspId 0 is created internally and is reserved for the local peer signaling process. pspType U8 M3UA_PSPTYPE_IPSP No Remote peer signaling process type. Valid values are: M3UA_PSPTYPE_SGP = Process is a signaling gateway process. M3UA_PSPTYPE_IPSP = Process is an IP service process. ipspMode U8 M3UA_IPSMODE_SE No (Valid when the value of the pspType field is M3UA_PSPTYPE_IPSP) Indicates whether the IP service process mode is single-ended or doubleended. Valid values are: M3UA_IPSMODE_DE = Double-ended mode. M3UA_IPSMODE_SE = Single-ended mode.

Dialogic Corporation

121

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Field dynRegRkallwd

Type Bool

Default FALSE

Reconfigurable? No

Description Indicates whether this peer signaling process can send and receive DRKM (Dynamic Routing Key Management) messages. Valid values are: TRUE = Peer signaling process can send and receive DRKM messages. FALSE = Peer signaling process cannot send or receive DRKM messages.

nwkAppIncl

Bool

FALSE

Yes

Determines whether the optional network appearance parameter is included when communicating with the remote peer. Valid values are: TRUE = Includes the network appearance parameter. FALSE = Does not include the network appearance parameter.

rxTxAspId

Bool

Yes

Indicates whether an application server process identifier is required to be sent or received in ASPUP (ASP Up) and ASPUP ACK (ASP Up Acknowledgement) messages. Valid values are: M3UA_RX_ASPID = ASP ID is required in received ASPUP and ASPUP ACK messages. M3UA_TX_ASPID = Identifier is required in transmitted ASPUP and ASPUP ACK messages.

selfAspId

U32

Yes, in the ASP Down state only Yes

ASP identifier to send if required by the rxTxAspId field. Default network context identifier for incoming messages, if the messages do not include one. Remote association configuration, defined by AssocCfg on page 103.

nwkId

U8

assocCfg

Structure

Refer to structure.

Refer to structure.

122

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAPspRkIdSta
Dependent function: M3uaPspRkIdStatus The following M3UAPspRkIdSta structure contains information about the routing keys associated with the specified peer signaling process:
typedef struct _M3UAPspRkIdSta { U16 pspId; S16 sctSuId; U32 nmbRkReqPend; U32 lclRkId[M3UA_MAX_RK_IN_DRKM]; } M3UAPspRkIdSta; /* PSP's RK-Ids awaiting response */ /* /* /* /* PSP Id */ SCT SAP SU Id */ nmb of RKs req pending */ RK-ids */

The M3UAPspRkIdSta structure contains the following fields:


Field pspId sctSuId nmbRkReqPend Type U16 S16 U32 Description Identifier of the peer signaling process. SCT SAP service user identifier. Number of pending routing key requests. These are routing key requests to the other peer for which no response has been received. List of routing key identifiers.

lclRkId[M3UA_RK_IN_DRKM]

U32

Dialogic Corporation

123

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UAPspSta
Dependent function: M3uaPspStatus The following M3UAPspSta structure contains M3UA peer signaling process status information:
typedef struct _M3UAPspSta { U16 pspId; U16 spare1; AssocSta assocSta[M3UA_MAX_SEP]; } M3UAPspSta; /* Peer Signalling Process status */ /* PSP Id */ /* alignment */ /*status of PSP's all associations*/

The M3UAPspSta structure contains the following fields:


Field pspId spare1 assocSta[M3UA_MAX_SEP] Type U16 U16 Structure Description Peer signaling process identifier. Alignment. Status of each of the associations associated with this peer signaling process, defined by the AssocSta structure. For information, see AssocSta on page 104.

124

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UAPspSts
Dependent function: M3uaPspStatistics The following M3UAPspSts structure contains M3UA peer signaling process statistics:
typedef struct _M3UAPspSts { U16 pspId; U16 spare1; DateTime dt; ized to zero */ struct { M3UASts txM3uaSts; M3UASts rxM3uaSts; DataSts txDataSts; DataSts rxDataSts; DataErrSts dataErrSts; } assocSts[M3UA_MAX_SEP]; } M3UAPspSts; /* M3UA Statistics for remote PSP */ /* PSP ID */ /* alignment */ /* date and time when statistics counters are initial /* /* /* /* /* M3UA message statistics - TX */ M3UA message statistics - RX */ PSP data statistics - TX */ PSP data statistics - RX */ PSP data error statistics - upward */

The M3UAPspSts structure contains the following fields:


Field pspId dt txM3uaSts rxM3UASts txDataSts rxDataSts dataErrSts Type U16 Structure Structure Structure Structure Structure Structure Description Peer signaling process identifier. Date and time when the statistics counters were reset to zero, defined by DateTime (for M3UA) on page 105. Statistics for M3UA messages transmitted by this peer signaling process, defined by M3UASts on page 137. Statistics for M3UA messages received by this peer signaling process, defined by M3UASts. Statistics for data transmitted by this peer signaling process, defined by DataSts on page 136. Statistics for data received by this peer signaling process, defined by DataSts. Data error statistics, defined by DataErrSts on page 136.

Dialogic Corporation

125

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UARkSta
Dependent function: M3uaRkStatus The following M3UARkSta structure contains the number of dynamically registered routing keys in the M3UA layer:
typedef struct _M3UARkSta { U16 nmbRkReg; U16 spare1; } M3UARkSta; /* Dynamic Routing Key status */ /* Num of RK dynamically registered */ /* alignment */

The M3UARkSta structure contains the following field:


Field nmbRkReq spare1 Type U16 U16 Description Number of dynamically registered routing keys in the M3UA layer. Alignment.

126

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UARteCfg
Dependent functions: M3uaGetRteCfg, M3uaInitRteCfg, M3uaSetRteCfg The following M3UARteCfg structure contains M3UA route configuration entry parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitRteCfg and must not be overridden.
typedef struct _M3UARteCfg { U8 nwkId; U8 rtType; U16 spare1; M3UARtFilter rtFilter; U32 psId; Bool noStatus; Bool nSapIdPres; S16 nSapId; } M3UARteCfg; /* Routing entry */ /* /* /* /* /* /* /* /* network ID */ Route Type */ alignment */ M3UA routing filter */ Peer Server ID */ TRUE if status suppressed */ Upper SAP ID present */ Upper SAP ID */

The following table describes the fields in the M3UARteCfg structure that you can set. These fields are not re-configurable.
Field nwkId rtType Type U8 U8 Default 1 M3UA_RTTYPE_PS Description Network identifier. Valid range is 1 - 255. Route type. Only valid value is: M3UA_RTTYPE_PS = Route to a peer server. rtFilter psId nSapIdPres Structure U32 Bool Refer to structure 0 FALSE Routing filter parameters specified in M3UARtFilter on page 128. (Valid when rtType is M3UA_RTTYPE_PS.) Identifier of the peer server associated with this route. Determines whether an NSAP identifier is associated with this route. Valid values are: TRUE = NSAP identifier is associated with this route. Use this value for local (up) routes. FALSE = NSAP identifier is not associated with this route. Use this value for remote (down) routes. nSapId S16 0 (Valid when nSapIdPres is TRUE.) NSAP identifier with which this route is associated.

For more information about configuring routes, see M3UA route configuration on page 53.

Dialogic Corporation

127

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UARtFilter
Dependent function: None. The following M3UARtFilter structure contains M3UA route filter parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by M3uaInitRteCfg and must not be overridden.
typedef struct _M3UARtFilter { U32 dpcMask; U32 dpc; U32 opcMask; U32 opc; U8 slsMask; U8 sls; U8 sioMask; U8 sio; U16 cicStart; U16 cicEnd; Bool includeCic; Bool includeSsn; U8 ssn; Bool includeTrid; U32 tridStart; U32 tridEnd; } M3UARtFilter; /* M3UA routing filter */ /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* DPC wildcard mask */ Destination Point Code */ OPC wildcard mask */ Originator Point Code */ Link Selector wildcard mask */ Link Selector */ SIO wildcard mask */ Service Identifier Octet */ Start of CIC range */ End of CIC range */ TRUE = include ISUP CIC in filter */ TRUE = include SCCP SSN in filter */ Subsystem Number */ TRUE = include TCAP TRID in filter */ Start of TCAP Transaction ID range */ End of TCAP Transaction ID range */

The M3UARtFilter structure is a substructure to M3UARteCfg. The following table describes the fields in the M3UARtFilter structure. These fields are not reconfigurable.
Field dpcMask dpc opcMask opc sioMask Type U32 U32 U32 U32 U8 Default 0xFFFFFF 0 0 0 0 Description Wildcard mask for the destination point code (DPC). DPC associated with this route. Wildcard mask for the originating point code (OPC). Leave the default value at 0, if OPC matching is not used. OPC associated with this route, if any. Wildcard mask for the service information octet (SIO). Leave the default value at 0, if SIO matching is not used. Set to 0xF if SIO is used for routing. SIO associated with this route, if any.

sio

U8

128

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UASctSapCfg
Dependent functions: M3uaGetSctSapCfg, M3uaInitSctSapCfg, M3uaSetSctSapCfg The following M3UASctSapCfg structure contains M3UA SCT SAP configuration parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to the correct value by M3uaInitSctSapCfg and must not be overridden.
typedef struct _M3UASctSapCfg { S16 suId; U16 srcPort; NetAddrLst srcAddrLst; TmrCfg tmrPrim; TmrCfg tmrSta; MemoryId mem; U8 selector; U8 spare1; U16 procId; U8 ent; U8 inst; U8 prior; U8 route; S16 spId; U16 spare2; } M3UASctSapCfg; /* SCT SAP configuration */ /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* service user SAP ID */ source port for listening endpoint */ source address list */ lower SAP primitive time */ congestion poll time */ memory region and pool ID */ selector for SCT */ alignment */ processor ID */ entity */ instance */ priority */ route */ service provider ID */ alignment */

Only one SCT SAP may be configured. The following table describes the fields in the M3UASctSapCfg structure that you can set. These fields are not re-configurable.
Field suId srcPort spId Type S16 U16 S16 Default 0 2905 0 Description M3UA identifier for this SCT SAP. The only valid value is 0. Source port for the listening endpoint. SCTP identifier for this SCT SAP. The only valid value is 0.

Dialogic Corporation

129

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UASctSapSta
Dependent function: M3uaSctSapStatus The following M3UASctSapSta structure contains M3UA SCT SAP status information:
typedef struct _M3UASctSapSta { S16 suId; U8 hlSt; U8 spare1; U32 spEndpId; U16 nmbActAssoc; U16 spare2; } M3UASctSapSta; /* lower SAP status */ /* /* /* /* /* /* Service user SAP Id */ High level state */ alignment */ SP ID of my endpoint */ Number of active associations */ alignment */

The M3UASctSapSta structure contains the following fields:


Field suid hlSt Type S16 U8 Description M3UA ID for this SAP. High level state of this SAP. Valid values are: BOUND = SAP is bound. READY = SAP is ready for use. UNBOUND = SAP is unbound. WAIT_BIND = Waiting for bind confirmation. WAIT_OPEN = Waiting for open confirmation. UNKNOWN = SAP state is unknown. spare1 spEndpId nmbActAssoc spare2 U8 U32 U16 U16 Alignment. SAP ID of local endpoint. Number of active associations over this SCT SAP. Alignment.

130

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UASctSapSts
Dependent function: M3uaSctSapStatistics The following M3UASctSapSts structure contains M3UA SCT SAP statistics:
typedef struct _M3UASctSapSts { S16 suId; U16 spare1; DateTime dt; DataSts txDataSts; DataSts rxDataSts; } M3UASctSapSts; /* M3UA Statistics for SCTSAP */ /* /* /* /* /* /* Service user SAP Id */ alignment */ date and time when statistics counters */ are initialized to zero */ SAP data statistics - TX */ SAP data statistics - RX */

The M3UASctSapStsstructure contains the following fields:


Field suid spare1 dt txDataSts rxDataSts Type S16 U16 Structure Structure Structure Description M3UA identifier for this SCT SAP. Alignment. Date and time when the statistics counters were reset to zero, defined by DateTime (for M3UA) on page 105. Data transmit statistics, defined by DataSts on page 136. Data receive statistics, defined by DataSts on page 136.

Dialogic Corporation

131

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA network address sub-structures


This topic describes the following M3UA network address sub-structures: NetAddrLst NetAddr

NetAddrLst The following NetAddrLst structure defines an array of network addresses. NetAddrLst is a substructure to the AssocCfg and M3UASctSapCfg structures.
typedef struct _NetAddrLst { U32 nmb; NetAddr nAddr[SCT_MAX_NET_ADDRS]; } NetAddrLst; /* Number of Network Addresses */ /* List of Network Addresses */

The following table describes the fields in the NetAddrLst structure. These fields are not re-configurable.
Field nmb nAddr[SCT_MAX_NET_ADDRS] Type U32 NetAddr Description Number of network addresses. List of network addresses, defined by the NetAddr structure, where SCT_MAX_NET_ADDRS is an array of network addresses. For information, see NetAddr.

NetAddr The following NetAddr structure defines an IPv4 or IPv6 network address. NetAddr is a substructure to the AssocCfg and NetAddrLst structures.
typedef struct NetAddr { U8 type; /* type of network address */ union { U32 ipv4NetAddr; /* IP network address */ U8 ipv6NetAddr[16]; /* IPv6 network address */ }u; } NetAddr;

The following table describes the fields in the NetAddr structure. These fields are not re-configurable.
Field type Type U8 Description Network address type. Valid values are: CM_NETADDR_IPV4 = IPV4 CM_NETADDR_IPV6 = IPV6 Note: IPV6 is not supported in the current release. ipv4NetAddr ipv6NetAddr[16] U32 U8 IPv4 network address. Not supported in the current release.

132

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

M3UA timer sub-structures


This topic describes the following M3UA timer sub-structures: M3UAGenTimerCfg TmrCfg

M3UAGenTimerCfg The following M3UAGenTimerCfg structure contains general timer configurations. M3UAGenTimerCfg is a substructure to the M3UAGenCfg structure.
typedef struct _M3UAGenTimerCfg { U8 nmbAspUp1; U8 maxNmbRkTry; U16 spare1; TmrCfg tmrRestart; TmrCfg tmrMtp3Sta; TmrCfg tmrAsPend; TmrCfg tmrHeartbeat; TmrCfg tmrAspUp1; TmrCfg tmrAspUp2; TmrCfg tmrAspDn; TmrCfg tmrAspM; TmrCfg tmrDaud; TmrCfg tmrDrkm; TmrCfg tmrDunaSettle; TmrCfg tmrSeqCntrl; } M3UAGenTimerCfg; /* M3UA general timer configuration structure */ /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* initial number of ASPUP */ initial number of DRKM msgs */ alignment */ restart hold-off time */ MTP3 status poll time */ AS-PENDING time */ heartbeat period */ initial time between ASPUP */ steady-state time between ASPUP */ time between ASPDN */ timeout value for ASPM messages */ time between DAUD */ time between DRKM msgs */ time to settle DUNA message */ Sequence Control timer */

The following table describes the fields in the M3UAGenTimerCfg structure. These fields are re-configurable. All timer values are specified in milliseconds.

Dialogic Corporation

133

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Fields not listed in the table are either unused or for internal use only, and should not be modified.
Field nmbAspUp1 Type U8 Default 3 Description Number of initial attempts at sending ASPUP messages at interval tmrAspUp1 before sending them at interval tmrAspUp2. Number of DRKM attempts before failing. Alignment. (ASP only) Restart hold-off time, defined by the TmrCfg structure. This timer starts when all point codes in a network are marked Inactive by DUNA (Destination Unavailable) messages received from an SG. When the timer expires, all related PS states change to Inactive. tmrMtp3Sta tmrAsPend tmrAspUp1 tmrAspUp2 tmrAspDn tmrAspM Structure Structure Structure Structure Structure Structure 0 50000 2000 2000 2000 2000 (SG only) MTP3 status poll time, defined by the TmrCfg structure. Time for which a peer server can remain in an AS_PENDING state, defined by the TmrCfg structure. Initial time between ASPUP (ASP Up) retries, defined by the TmrCfg structure. Steady state time between ASPUP retries, defined by the TmrCfg structure. Time between ASPDN (ASP Down) retries, defined by the TmrCfg structure. Time to wait before failing, after sending ASPAC (ASP Active) or ASPIA (ASP Inactive) messages, defined by the TmrCfg structure. Time between Destination State Audit (DAUD) messages, defined by the TmrCfg structure. Time between DRKM (Dynamic Routing Key Management) messages, defined by the TmrCfg structure. (SG only) Time to settle DUNA (Destination Unavailable) messages. Delay used when diverting traffic to maintain sequencing, defined by the TmrCfg structure.

maxNmbRkTry spare1 tmrRestart

U8 U16 Structure

3 NA 1000

tmrDaud tmrDrkm trmDunaSettle tmrSeqCntrl

Structure Structure Structure Structure

2000 2000 1000 1000

TmrCfg The following TmrCfg structure configures a timer. TmrCfg is a substructure to the M3UAGenCfg structure.
typedef struct tmrCfg { Bool enb; U8 spare1; U16 val; }TmrCfg; /* timer configuration structure */ /* enable */ /* alignment */ /* value */

134

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

The following table describes the fields in the TmrCfg structure. These fields are reconfigurable.
Field enb Type Bool Description Indicates whether the timer is enabled: 0 = Disabled 1 = Enabled spare1 val U8 U16 Alignment. Timer value, in ms.

Dialogic Corporation

135

M3UA management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA statistics sub-structures


This topic describes the following M3UA statistics sub-structures: CongSts DataSts DataErrSts MtpSts M3uaSts

CongSts The following CongSts substructure contains congestion statistics for M3UA peer signaling processes. CongSts is a substructure to the M3UAPspSts structure.
typedef struct _CongSts { U32 cong; U32 cong1; U32 cong2; U32 cong3; Ticks durCong; } CongSts; /* /* /* /* /* Association Association Association Association Duration of congested */ at congestion level 1 */ at congestion level 2 */ at congestion level 3 */ association congestion */

DataSts The following DataSts substructure contains data statistics for M3UA peer signaling processes and SCT SAPs. DataSts is a substructure to the M3UAGenSts, M3UAPspSts, and M3UASctSapSts structures.
typedef struct _DataSts { U32 nPdus; U32 pduBytes; } DataSts; /* Number of PDUs */ /* Total size of PDUs */

DataErrSts The following DataErrSts substructure contains data error statistics for M3UA peer signaling processes and SCT SAPs. DataErrSts is a substructure to the M3UAGenSts and M3UAPspSts structures.
typedef struct _DataErrSts { U32 dropNoRoute; U32 dropPcUnavail; U32 dropPcCong; U32 dropNoPspAvail; U32 dropNoNSapAvail; U32 dropLoadShFail; U32 dropMmhFail; U32 dataQCong; U32 dataQAsPend; } DataErrSts; /* /* /* /* /* /* /* /* /* Data Data Data Data Data Data Data Data Data dropped, no route found */ dropped, point code unavail */ dropped, point code congested */ dropped, no PSP avail */ dropped, no NSAP avail */ dropped, load-sharing failed */ dropped, M3UA message failed */ queued in congestion queue */ queued in AS-PENDING queue */

136

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UA management structures

Mtp3Sts The following Mtp3Sts structure contains signaling gateway statistics. It is currently unsupported.
typedef struct _Mtp3Sts { U32 data; U32 pause; U32 resume; U32 cong; U32 drst; U32 rstBeg; U32 rstEnd; U32 upu; } Mtp3Sts; /* /* /* /* /* /* /* /* MTP3 MTP3 MTP3 MTP3 MTP3 MTP3 MTP3 MTP3 Data primitives */ Pause status primitives */ Resume status primitives */ Cong status primitives */ Restrict status primitive */ Reset begin status primitives */ Reset end status primitives */ UPU status primitives */

M3UASts The following M3UASts structure contains service function statistics for the M3UA layer. M3uaSts is a substructure to the M3UAGenCfg, M3UAPsSts, and M3UAPspSts structures.
typedef struct _M3UASts { U32 data; U32 duna; U32 dava; U32 daud; U32 scon; U32 dupu; U32 drst; U32 regReq; U32 deRegReq; U32 regRsp; U32 deRegRsp; U32 aspUp; U32 aspUpAck; U32 aspDn; U32 aspDnAck; U32 aspAc; U32 aspAcAck; U32 aspIa; U32 aspIaAck; U32 hBeat; U32 hBeatAck; U32 err; U32 notify; } M3UASts; /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA M3UA DATA messages */ DUNA messages */ DAVA messages */ DAUD messages */ SCON messages */ DUPU messages */ DRST messages */ REG-REQ messages */ DEREG-REQ messages */ REG-RSP messages */ DEREG-RSP messages */ ASPUP messages */ ASPUP ACK messages */ ASPDN messages */ ASPDN ACK messages */ ASPAC messages */ ASPAC ACK messages */ ASPIA messages */ ASPIA ACK messages */ HBEAT messages */ HBEAT ACK messages */ ERR messages */ NTFY messages */

Dialogic Corporation

137

m3uamgr utility

m3uamgr overview
m3uamgr is an M3UA utility for managing and troubleshooting SS7 signaling. Use m3uamgr to: Send ASP or association messages to the M3UA layer Register or de-register routing keys Switch the m3uamgr context to the other board on the host Enable or disable SCT SAPs Display statistics for the M3UA layer and M3UA entities Display status information and configuration values for the M3UA layer and M3UA entities Dynamically change the Type of Service (TOS) sent in the IP header of messages over an association

Complete the following steps to use m3uamgr:


Step 1 Action Start m3uamgr by entering the following command: m3uamgr The following information displays: m3uamgr: sample M3UA management application version 1.0 Jun m3uamgr[1]> 2 3 Enter m3uamgr commands at the command prompt. For information, see m3uamgr commands on page 140. End an m3uamgr session by typing q and pressing Enter. 3 2008

Dialogic Corporation

139

m3uamgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr commands
The following table describes the available m3uamgr commands. The commands and arguments can be in upper, lower, or mixed case.
Command ? Description Displays the usage of all supported m3uamgr commands. ? asp Causes the M3UA layer to send an ASP message. asp message <pspId> where message is one of the following arguments: Argument ac dn ia up Description ASPAC (ASP Active) message. ASPDN (ASP Down) message. ASPIA (Inactive) message. ASPUP (ASP Up) message.

<pspId> is the ID of the psp to send the mesage to. assoc Causes the M3UA layer to initiate, terminate, inhibit, or uninhibit an association. assoc message <pspId> where message is one of the following arguments: Argument est inh term uni Description Association establish message. Association inhibit message. Association terminate message. Association uninhibit message.

<pspId> is the ID of the psp related to the association. board Switches the m3uamgr communication to the board specified by boardNum. board boardNum debug Enables or disables debug logging for the M3UA layer. debug operation where operation is one of the following arguments: Argument ena dis Valid values Enables debug logging. Disables debug logging.

140

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr utility

Command rk

Description Registers or de-registers the routing key. rk operation where operation is one of the following arguments: Argument reg dereg Description Registers the routing key. De-registers the routing key.

sctsap

Enables or disables the SCT SAP. sctsap operation where operation is one of the following arguments: Argument ena dis Description Enables the SCT SAP. Disables the SCT SAP.

stats

Displays and optionally clears current statistics for the M3UA layer or an M3UA entity. stats entity [ reset ] where entity is one of the following arguments: Argument m3ua psp pspId sctsap sapId nsap sapId Description Displays MTP 3 counters, M3UA counters, data statistics, and error statistics for the M3UA layer. Displays counters, data statistics, and error statistics for the association with the peer signaling process specified by pspId. Displays data statistics for the SCT SAP specified by sapId. Displays counters, data statistics, and error statistics for the NSAP specified by sapId.

If specified, reset sets all statistics for the specified object to zero (0) immediately after the current statistics are displayed. See m3uamgr statistics command examples on page 143 for more information.

Dialogic Corporation

141

m3uamgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Command status

Description Displays status information and configuration values for the M3UA layer and M3UA entities. status entity where entity is one of the following arguments: Argument addr dpc nwkId dpc Description Displays the address translation table status for the M3UA layer. Displays the status of the specified destination point code The DPC can be specified as a decimal number (for example, 2) or as a hexadecimal number (for example, 0x2). Displays general status information and configuration values for the M3UA layer. Displays status information and configuration values for the NSAP specified by sapId. Displays configuration values for the network specified by nwkId. Displays status information and configuration values for the peer server specified by psId. Displays status information and configuration values for the peer signaling process specified by pspId. Displays routing key status information for the PSP specified by pspId. Displays the number of registered routing keys in the M3UA layer. Displays status information and configuration values for the SCT SAP specified by sapId.

m3ua nsap sapId nwk nwkId ps psId psp pspId psprk pspId rk sctsap sapId

See m3uamgr status command examples on page 146 for more information. trace Enables or disables data tracing for the M3UA layer. trace operation where operation is one of the following arguments: Argument ena dis tos Valid values Enables data tracing. Disables data tracing.

Sets the Type of Service (TOS) octet in the IP header of all outgoing message over an association. Tos <pspId> <tosVal> Where <pspId> is the ID of the PSP related to the association where TOS is to be changed. <tosVal> is the new TOS value to use.

Quits the m3uamgr application.

142

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr utility

m3uamgr statistics command examples


This topic provides examples of the following m3uamgr statistics commands: stats m3ua stats nsap stats psp stats sctsap

stats m3ua The following example displays general statistics for the M3UA layer:
m3uamgr[1]>stats m3ua =========M3UA General Statistics since 8-15-2008 16:43:11========= MTP3 Statistics: Counter Tx Rx ===================================================== Data 51777 7 Pause 2 0 Resume 5 0 Cong 0 0 Restrict 0 0 ResetBegin 0 0 ResetEnd 0 0 UPUs 0 0 M3UA Statistics: Counter Tx Rx ===================================================== Data 2 51777 DUNA 0 0 DAVA 0 0 DAUD 0 0 SCON 0 0 DUPU 0 0 DRST 0 0 REGREQ 0 0 DEREGREQ 0 0 REGRSP 0 0 DEREGRSP 0 0 ASPUP 3 1 ASPUPACK 1 3 ASPDN 0 0 ASPDNACK 0 0 ASPAC 3 2 ASPACACK 4 6 ASPIA 0 0 ASPIAACK 0 0 HBEAT 0 0 HBEATACK 0 0 ERROR 0 0 NOTIFY 4 12 DATA Statistics: Tx/Rx PDUs Bytes ===================================================== LowerIntf Tx 17 484 LowerIntf Rx 51801 7870480 UpperIntf Tx 51777 6109498 UpperIntf Rx 7 879 Error Statistics: Error Upward Downward ===================================================== NoRoute 0 0

Dialogic Corporation

143

m3uamgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

PC-Unavail PC-Cong PSP-Unavail NSAP-Unavail LoadSH-Fail M3uaMsgFail Que-Cong AS-Pending

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

stats nsap The following example displays statistics for NSAP 1:


m3uamgr[1]>stats nsap 1 =========M3UA NSAP 1 Statistics since 8-15-2008 16:43:20========= MTP3 Statistics: Counter Tx Rx ===================================================== Data 2 51898 Pause 3 0 Resume 3 0 Cong 0 0 Restrict 0 0 ResetBegin 0 0 ResetEnd 0 0 UPUs 0 0 DATA Statistics: Tx/Rx PDUs Bytes ===================================================== Tx 2 48 Rx 51898 6123776 Error Statistics: Error Msg Dropped ===================================================== NoRoute 0 PC-Unavail 2 PC-Cong 0 PSP-Unavail 0 NSAP-Unavail 0 LoadSH-Fail 0 M3uaMsgFail 0 Que-Cong 0 AS-Pending 2

144

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr utility

stats psp The following example displays statistics for peer signaling process 1:
m3uamgr[1]>stats psp 1 =======M3UA PSP 1 Statistics since 8-15-2008 16:43:11======= M3UA Statistics for Association 0: Counter Tx Rx ===================================================== Data 2 51919 DUNA 0 0 DAVA 0 0 DAUD 0 0 SCON 0 0 DUPU 0 0 DRST 0 0 REGREQ 0 0 DEREGREQ 0 0 REGRSP 0 0 DEREGRSP 0 0 ASPUP 4 1 ASPUPACK 1 4 ASPDN 0 0 ASPDNACK 0 0 ASPAC 4 3 ASPACACK 6 8 ASPIA 0 0 ASPIAACK 0 0 HBEAT 0 0 HBEATACK 0 0 ERROR 0 0 NOTIFY 6 16 DATA Statistics for Association 0 Tx/Rx PDUs Bytes ===================================================== Tx 23 632 Rx 51951 7892260 Error Statistics for Association 0 Error Msg Dropped ===================================================== NoRoute 0 PC-Unavail 0 PC-Cong 0 PSP-Unavail 0 NSAP-Unavail 0 LoadSH-Fail 0 M3uaMsgFail 0 Que-Cong 0 AS-Pending 0

stats sctsap The following example displays statistics for SCT SAP 0:
m3uamgr[2]>stats sctsap 0 =========M3UA SCTSAP 0 Statistics since 8-15-2008 16:43:20========= DATA Statistics: Tx/Rx PDUs Bytes ===================================================== Tx 51932 7890028 Rx 20 564

Dialogic Corporation

145

m3uamgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr status command examples


This topic provides examples of the following m3uamgr status commands: status addr status dpc status m3ua status nsap status nwk status ps status psp status psprk status rk status sctsap

status addr The following example displays the address translation table status for the M3UA layer:
m3uamgr[1]>status addr ====================Address Translation Status==================== Number of DPCs = 2 Number of Routes = 4

status dpc The following example displays status information for DPC 1 in network 1:
m3uamgr[1]>status dpc 1 1 =======================DPC Status ======================= Network Id = 1 DPC = 0x1 DPC Status = AVAILABLE Cong level = 0

status m3ua The following example displays general status information and configuration values for the M3UA layer:
m3uamgr[1]>status m3ua M3UA Memory Size = 53145 M3UA Memory Allocated = 7571 M3UA HA State = STANDALONE ====================Current M3UA Configuration==================== NodeType = ASP dpcLrnFlag = FALSE maxNmbNSap = 2 maxNmbSctSap = 1 maxNmbNwk = 2 maxNmbRtEnt = 16 maxNmbDpcEnt = 32 maxNmbPs = 8 maxNmbPsp = 16 maxNmbMsg = 128 maxNmbRndRbnLs= 4 maxNmbSlsLs = 4 maxNmbSls = 128 drkmSupp = FALSE drstSupp = FALSE qSize = 256 congLevel1 = 64 congLevel2 = 128 congLevel3 = 196 timeRes = 1 ========================Current M3UA Timers======================= tmrRestart = 10000 tmrMtp3Sta = 0 tmrAsPend = 5000 tmrHeartbeat = 0 tmrAspUp1 = 2000 tmrAspUp2 = 2000 nmbAspUp1 = 3 tmrAspDn = 2000 tmrAspM = 2000 tmrDaud = 2000 tmrDrkm = 2000 maxNmbRkTry = 3 tmrDunaSettle = 1000 tmrSeqCntrl = 1000

146

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

m3uamgr utility

status nsap The following example displays status information and configuration values for NSAP 0:
m3uamgr[1]>status nsap 0 ====================NSAP 0 Status========================== Local SAP ID = 0 Remote SAP ID = 0 High Level Status = BOUND ====================NSAP 0 Configuration==================== SAP ID = 0 Network Id = 1 Su Type = ISUP Selector = UNKNWN Mem Pool = 0 Mem Region = 0 Priority = 0 Route = 0

status nwk The following example displays configuration values for network 1:
m3uamgr[1]>status nwk 1 ====================Network 1 Configuration==================== ssf = NAT dpcLen = DPC24 slsLen = 5 suSwtch = ANSI suSwtch = ANSI NetAppear[1 ] = 1234

status ps The following example displays status information and configuration values for peer server 1:
m3uamgr[1]>status ps 1 ===================Peer Server(PS) 1 Status=================== PS ID = 1 AS STATE = ACTIVE =======================PS STATUS PER SEP======================= Active PSPs = 0 Registerd PSPs = 0 PspId = 1 ASP State = UNSUP RtCtx = 0 Valid = NO Mode = STATIC ===================Current PS 1 Configuration=================== PS Id = 1 Net Id = 1 Mode = ACT/STBY RoutCtx = 10 LoadShMode = RNDRBN ReqAvail = TRUE ActPspReqd = 1 NmbPsps = 1 PSLocal = YES Psp Id = 1

status psp The following example displays status information and configuration values for peer signaling process 1:
m3uamgr[1]>status psp 1 =====================PSP 1 Association Status=================== AssocId = 0 State = ACTIVE ASP State = ACTV Inhibit = NO =================Active PSs (4)================= PsId = 1 PsId = 2 PsId = 3 PsId = 4 =================Registered PSs (0)============== None =====================Current PSP 1 Confuration================= pspType = IPSP ipspMode = DBL END dynRegAllow = NO loadShareMode = RNDRBN nwkAppIncl = NO rxTxAspId = NO selfAspId = 0 nwkId = 1 PriDestAddr = 10.51.1.103 DestPort = 2905 locOutStrms = 2 TOS = 0

Dialogic Corporation

147

m3uamgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

status psprk The following example displays routing key status information for peer signaling process 1:
m3uamgr[1]>status psprk 1 ================== Routing Key Status for PSP 1 ================ SCT SuID = 0 Pending RK Req. = 0 Local RK IDs 1. 0 2. 0 3. 0 4. 0

status rk The following example displays the number of registered routing keys in the M3UA layer:
m3uamgr[1]>status rk ====================== Registered Routing Keys ==================== Number RK registered = 0

status sctsap The following example displays status information and configuration values for SCT SAP 0:
m3uamgr[1]>status sctsap 0 ==========================User SAP 0 Status======================= State = READY EndPoint SP = 0 Active Assoc = 1 ==================Current Configuration for SAP 0================= tmrPrim = 512001 tmrSta = 0 srcPort = 2905 Selector = 1 Mem.Pool = 0 Mem.Region = 0 ProcId = 1792 Ent = 136 Inst = 0 Prior = 0 Route = 0 SP Id = 0 SrcAddrLst[1] = 10.51.1.102

148

Dialogic Corporation

10
SCT SAP TSAP

Managing the SCTP layer

Configuring SCTP entities


Configure SCTP entities after calling SctpMgmtInit. You must configure SCTP entities in the following order: General SCTP configuration

For information about the initial configuration of SCTP, see the Dialogic NaturalAccess Signaling Software Configuration Manual. General SCTP configuration General configuration parameters define and control the general operation of the SCTP layer. The configurable attributes for the general SCTP configuration include the: Maximum number of queued datagrams, open SCTP associations, and other elements to control memory allocation Timer values

Define the general parameters for SCTP once at board download time, before you configure the other SCTP entities. To define the general parameters, follow these steps:
Step 1 2 3 Action Call SctpInitGenCfg to initialize the general configuration parameter structure (SCTPGenCfg) to default values. Change the parameter values, as appropriate. Call SctpSetGenCfg to set the configuration.

After the general configuration is defined, you can optionally change the parameters in the SCTPGenReCfg structure. To change these parameter values, follow these steps:
Step 1 2 3 Action Call SctpGetGenCfg to obtain the current general configuration values. Change the parameter values, as appropriate. Call SctpSetGenCfg to set the configuration with the specified values.

You must download the board again to change any of the parameter values in the SCTPGenCfg structure. For more information, see SctpInitGenCfg on page 162, SctpSetGenCfg on page 171, SCTPGenCfg on page 181, and SCTPGenReCfg on page 183.

Dialogic Corporation

149

Managing the SCTP layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP SCT SAP configuration The SCT SAP defines the interface that the M3UA application uses to access the SCTP layer. The configurable attributes of the SCT SAP includes: The SCT SAP identifier Timers and other parameters affecting communication with the peer Flow control thresholds

Define the SCT SAP for the SCTP layer after you define the SCTP general configuration parameters. Currently, you can define only one SCT SAP, whose identifier must be 0. To define an SCT SAP configuration, follow these steps:
Step 1 2 3 Action Call SctpInitSctSapCfg to initialize the SCT SAP parameter structure (SCTPSctSapCfg) to default values. Change the default values, as appropriate. Call SctpSetSctSapCfg to set the configuration with the specified values.

After the SCT SAP configuration is defined, you can optionally change the values for the parameters in the SCTPSctSapReCfg structure. To change these parameter values, follow these steps:
Step 1 2 3 Action Call SctpGetSctSapCfg to obtain the current SCT SAP configuration values. Change the parameter values in the SCTPSctSapReCfg structure as appropriate. Call SctpSetSctSapCfg to set the configuration with the specified values.

You must download the board again to change any of the parameter values in the SCTPSctSapCfg structure. For more information, see SctpInitSctSapCfg on page 163, SctpSetSctSapCfg on page 172, SctpGetSctSapCfg on page 160, SCTPSctSapCfg on page 187, and SCTPSctSapReCfg on page 188. SCTP TSAP configuration The transport service access point (TSAP) configuration defines the interface to the layer below SCTP, which is the IP layer. The configurable attributes of a TSAP include the: TSAP identifier from the perspective of both SCTP and the lower layer. Currently, these identifiers must be set to 0, and only one TSAP can be defined. Maximum number of bind request retries allowed. Time interval for which the SCTP layer waits for bind or status confirmations from the lower layer.

150

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Managing the SCTP layer

Define the TSAP for the SCTP layer right after you define the SCTP SAP configuration parameters. To define a TSAP configuration, follow these steps:
Step 1 2 3 Action Call SctpInitTSapCfg to initialize the TSAP parameter structure (SCTPTSapCfg) to default values. Change the default values, as appropriate. Call SctpSetTSapCfg to set the configuration with the specified values.

After the TSAP configuration is defined, you can optionally change the values for the parameters in the SCTPTsapReCfg structure. To change these parameter values, follow these steps:
Step 1 2 3 Action Call SctpGetTSapCfg to obtain the current SCT SAP configuration values. Change the parameter values in the SCTPTSapReCfg structure as appropriate. Call SctpSetTSapCfg to set the configuration with the specified values.

You must download the board again to change any of the parameter values in the SCTPTSapCfg structure. For more information, see SctpInitTSapCfg on page 164, SctpSetTsapCfg on page 173, SctpGetTSapCfg on page 161, SCTPTSapCfg on page 191, and SCTPTSapReCfg on page 192.

Controlling SCTP entities


Use SctpMgmtCtrl to enable the application to control SCTP entities. The following table describes the available control requests by entity:
Entity None specified Control request One of the following general control requests:

Enable or disable alarms. Start or stop debug logging or trace data. Start flow control and disable the transmission of all SCTP management messages, except critical messages. End flow control and enable the transmission of all SCTP management messages. Shut down the SCTP layer.

SCT SAP TSAP

Enable or disable the SCT SAP. Enable or disable the TSAP.

Dialogic Corporation

151

Managing the SCTP layer

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Retrieving SCTP status information


Use the following SCTP status functions to retrieve status information from the SCTP layer:
Entity Function Status information returned includes... Identifier, destination and source network address lists, destination port, and association state for the specified association.

SCTP association SctpAssocStatus

Destination transport addresses General SCTP layer SCT SAP

SctpDestTransAddrStatus Destination network address and address state, port, path MTU, and retransmission timeout for the destination transport address within a specific SCTP association. SctpGenStatus Memory size allocated for the SCTP layer. Also contains the number of open associations, open endpoints, local addresses in use, and peer addresses in use. Protocol in use and state for the specified SCT SAP.

SctpSapStatus

Retrieving SCTP statistics


Use the following SCTP statistics functions to retrieve and optionally reset the following statistics:
Entity None specified SCT SAP TSAP Function SctpGenStatistics Statistics returned include... Statistics counters for incoming and outgoing chunks, total incoming and outgoing bytes, and DNS transactions in the SCTP layer. Protocol variant and statistics counters for total incoming and outgoing bytes on the SCTP SAP. Statistics counters for incoming and outgoing chunks, total incoming and outgoing bytes, and number of bind retries on the TSAP.

SctpSctSapStatistics SctpTSapStatistics

152

Dialogic Corporation

11
Control Status Statistics

SCTP management functions

SCTP management function summary


NaturalAccess SCTP consists of the following synchronous management functions, in which the action is completed before control is returned to the application: Configuration

Control functions
Function SctpMgmtCtrl SctpMgmtInit Description Sends a control request to the SCTP layer. Initializes internal structures and opens communication with the SCTP process on the TX board. This function must be called before calling any other SCTP management functions. Terminates access to the SCTP management API for this application.

SctpMgmtTerm

Configuration functions
Function SctpGetGenCfg SctpGetSctSapCfg SctpGetTSapCfg SctpInitGenCfg SctpInitSctSapCfg SctpInitTSapCfg SctpSetGenCfg SctpSetSctSapCfg SctpSetTSapCfg Description Obtains general configuration parameter values from the SCTP layer. Obtains SCTP configuration parameter values from the SCTP layer. Obtains TSAP configuration parameter values from the SCTP layer. Initializes the provided general configuration structure with default values. Initializes the provided SCT SAP configuration structure with default values and the SCT SAP identifier. Initializes the provided TSAP configuration structure with default values and the TSAP identifier. Configures the SCTP layer with the values contained in the general configuration structure. Configures the SCTP layer with the values contained in the SCT SAP configuration structure. Configures the SCTP layer with the values contained in the TSAP configuration structure.

Dialogic Corporation

153

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Status functions
Function SctpAssocStatus SctpDestTransAddrStatus SctpGenStatus SctpSapStatus Description Obtains status information for the specified SCTP association. Obtains status information for all destination transport addresses within a specific SCTP association. Obtains general status information from the SCTP layer. Obtains status information for the specified SCT SAP or TSAP from the SCTP layer.

Statistics functions
Function DateTime SctpGenStatistics SctpSctSapStatistics SctpTsapStatistics Description Defines time stamps that indicate when SCTP statistics counters were initialized to zero. Obtains and optionally resets the general statistics for the SCTP layer. Obtains and optionally resets the statistics for the specified SCT SAP. Obtains and optionally resets the statistics for the specified TSAP.

Using the SCTP management function reference


This section provides an alphabetical reference to the SCTP management functions. A typical function includes:
Prototype The prototype is followed by a list of the function arguments. Dialogic data types include:


Return values

U8 (8-bit unsigned) S16 (16-bit signed) U16 (16-bit unsigned) U32 (32-bit unsigned) Bool (8-bit unsigned)

The return value for a function is either SCTP_SUCCESS or an error code.

154

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpAssocStatus
Obtains status information for the specified SCTP association. Prototype SCTP_STATUS TXSCTPFUNC SctpAssocStatus ( U8 board, SCTPAssocSta *sta, U32 assocId)
Argument board sta assocId Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPAssocSta structure where the requested status information is returned. For information, see SCTPAssocSta on page 178. Identifier of the association for which status is requested.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

155

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpDestTransAddrStatus
Obtains status information for the destination transport addresses within the specified SCTP association. Prototype SCTP_STATUS TXSCTPFUNC SctpDestTransAddrStatus ( U8 board, SCTPDtaSta *sta, S16 sapId)
Argument board sta sapId Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPDtaSta structure where the requested status information is returned. For information, see SCTPDtaSta on page 180. SCTP association identifier.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter Incorrect response from the board. No response from the board. Description

156

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpGenStatistics
Obtains and optionally resets the general statistics for the SCTP layer. Prototype SCTP_STATUS TXSCTPFUNC SctpGenStatistics ( U8 board, SCTPGenSts *pStats, Bool isReset)
Argument board pStats isReset Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPGenSts structure where the requested statistics information is returned. For information, see SCTPGenSts on page 185. If non-zero, statistics are set to zero after retrieval.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

157

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpGenStatus
Obtains general status information for the SCTP layer, including the size of reserved and allocated memory. Prototype SCTP_STATUS TXSCTPFUNC SctpGenStatus ( U8 board, SCTPGenSta *sta)
Argument board sta Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPGenSta structure where the requested status information is returned. For information, see SCTPGenSta on page 184.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

158

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpGetGenCfg
Obtains general configuration parameter values from the SCTP layer. Prototype SCTP_STATUS TXSCTPFUNC SctpGetGenCfg ( U8 board, SCTPGenCfg *pGenCfg)
Argument board pGenCfg Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPGenCfg structure where the requested configuration information is returned. For information, see SCTPGenCfg on page 181.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter Incorrect response from the board. No response from the board. Description

See also SctpInitGenCfg, SctpSetGenCfg

Dialogic Corporation

159

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpGetSctSapCfg
Obtains SCT SAP parameter values from the SCTP layer. Prototype SCTP_STATUS TXSCTPFUNC SctpGetSctSapCfg ( U8 board, SCTPSctSapCfg *pSctSapCfg, S16 sapid)
Argument board pSctSapCfg sapid Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPSctSapCfg structure where the requested configuration information is returned. For information, see SCTPSctSapCfg on page 187. Identifier of the upper SAP for which to obtain information.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter Incorrect response from the board. No response from the board. Description

See also SctpInitSctSapCfg, SctpSetSctSapCfg

160

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpGetTSapCfg
Obtains TSAP configuration parameter values from the SCTP layer. Prototype SCTP_STATUS TXSCTPFUNC SctpGetTSapCfg ( U8 board, SCTPTSapCfg *pTSapCfg, U16 sapid)
Argument board pTSapCfg sapid Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPTSapCfg structure where the requested configuration information is returned. For information, see SCTPTSapCfg on page 191. Identifier of the lower SAP for which to obtain information.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter Incorrect response from the board. No response from the board. Description

See also SctpInitTSapCfg, SctpSetTsapCfg

Dialogic Corporation

161

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpInitGenCfg
Initializes the SCTP general parameter structures (SCTPGenCfg and SCTPGenReCfg) with default values. SCTPGenReCfg is a substructure to SCTPGenCfg. Prototype SCTP_STATUS TXSCTPFUNC SctpInitGenCfg ( SCTPGenCfg *pCfg )
Argument pCfg Description Pointer to the SCTPGenCfg structure to initialize. For information, see SCTPGenCfg on page 181.

Return values
Return value SCTP_SUCCESS Description

Details Call this function prior to calling SctpSetGenCfg to define the general configuration parameters for SCTP. You can optionally override specific field values before calling M3uaSetGenCfg. For more information, see General SCTP configuration on page 149. See also SctpGetGenCfg

162

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpInitSctSapCfg
Initializes the SCT SAP configuration structures (SCTPSctSapCfg and SCTPSctSapReCfg) with default values. SCTPSctSapReCfg is a substructure to SCTPSctSapCfg. Prototype SCTP_STATUS TXSCTPFUNC SctpInitSctSapCfg ( SCTPSctSapCfg *pCfg, U16 id )
Argument pCfg id Description Pointer to the SCTPSctSapCfg structure that contains the SCT SAP configuration values to set. For information, see SCTPSctSapCfg on page 187. Identifier of the SCT SAP to initialize. This value is always 0 (zero).

Return values
Return value SCTP_SUCCESS Description

Details Call this function prior to calling SctpSetSctSapCfg to define an SCT SAP. You can optionally override specific field values before calling M3uaSetSctSapCfg. For more information, see SCTP SCT SAP configuration on page 150. See also SctpGetSctSapCfg

Dialogic Corporation

163

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpInitTSapCfg
Initializes the TSAP configuration structures (SCTPTSapCfg and SCTPTSapReCfg) with default values. SCTPTSapReCfg is a dependent structure to SCTPTSapCfg. Prototype SCTP_STATUS TXSCTPFUNC SctpInitTSapCfg ( SCTPTSapCfg *pCfg, U16 id)
Argument pCfg id Description Pointer to the SCTPTSapCfg structure that contains the TSAP configuration values to set. For information, see SCTPTSapCfg on page 191. Identifier of the TSAP to initialize. This value is always zero (0).

Return values
Return value SCTP_SUCCESS Description

Details Call this function prior to calling SctpSetTsapCfg to define a TSAP. You can optionally override specific field values before calling M3uaSetTsapCfg. For more information, see SCTP TSAP configuration on page 150. See also SctpGetTsapCfg

164

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpMgmtCtrl
Sends an SCTP control request to the SCTP layer. Prototype SCTP_STATUS TXSCTPFUNC SctpMgmtCtrl ( U8 board, S16 entity, U8 action)
Argument board entity Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Type of control action the function performs. Valid values are: No value = General control SCT SAP identifier - SCT SAP control TSAP identifier = TSAP control Note: The entity identifier (entity) must have been previously defined with the appropriate set configuration function. action Action to take on the specified entity. See the Details section for valid actions.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_HANDLE SIGTRAN_ERR_BADACT Invalid board number. SctpMgmtInit was not called for the specified board. Invalid action argument. Description

Details Use SCTPMgmtCntrl to activate and deactivate SCTP resources. The combination of entity and action tells SCTP what entity to act upon and what action to take. There are three types of control actions: General SCT SAP TSAP

Note: In the following value-description tables, do not use the management API to perform the actions marked with an asterisk, unless you are an experienced user. These actions are performed automatically by the SCTP layer, and are provided through the management API for testing and debugging purposes only. General control actions

Dialogic Corporation

165

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

If the entity argument is not used, the action argument has the following valid values.
Value *SCTP_CTRL_ALARM_DIS *SCTP_CTRL_ALARM_ENA SCTP_CTRL_DEBUG_OFF SCTP_CTRL_DEBUG_ON Description Disables alarms. Enables alarms. Stops debug logging. Starts debug logging.

*SCTP_CTRL_FLOWCTL_OFF Ends flow control and enables transmission of all SCTP management messages. *SCTP_CTRL_FLOWCTL_ON *SCTP_CTRL_SHUTDOWN SCTP_CTRL_TRACE_OFF SCTP_CTRL_TRACE_ON Starts flow control, and disable transmission of all except critical M3UA management messages. Shuts down the SCTP layer. Stops trace data. Starts trace data.

SCT SAP control actions If the entity argument specifies an SCT SAP identifier, the action argument has the following valid values:
Value *SCTP_CTRL_SCTSAP_DEL *SCTP_CTRL_SCTSAP_DIS Description Deletes the SCT SAP. Disables the SCT SAP.

*SCTP_CTRL_SCTSAP_ENA Enables the SCT SAP.

TSAP control actions If the entity argument specifies a TSAP identifier, the action argument has the following valid values:
Value *SCTP_CTRL_TSAP_DEL *SCTP_CTRL_TSAP_DIS Description Deletes the TSAP. Disables the TSAP.

*SCTP_CTRL_TSAP_ENA Enables the TSAP.

See also SctpMgmtInit, SctpMgmtTerm

166

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpMgmtInit
Initializes internal structures and opens communication with the SCTP task on the TX board. Prototype SCTP_STATUS TXSCTPFUNC SctpMgmtInit ( U8 board, U8 srcEnt, U8 srcInst)
Argument board srcEnt srcInst Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Source entity ID, which is channel to open for communication with TX board. Source instance ID.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER Invalid board number. CPI driver error. Description

Details You must call this function once before calling any other SCTP management functions. The source entity ID must be from 0x20 through 0x7F and unique for each application accessing the SCTP layer through the management API. Source instance ID should always be 0 for host applications. See also SctpMgmtCtrl, SctpMgmtTerm

Dialogic Corporation

167

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpMgmtTerm
Terminates access to the SCTP management API for this application, making the management channel for a specified board available for other uses. Prototype SCTP_STATUS TXSCTPFUNC SctpMgmtTerm ( U8 board)
Argument board Description TX board number on which the SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32).

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_HANDLE Invalid board number. Handle closed or was never opened. Description

Details Call this function to free up resources when an application terminates or finishes communication with the SCTP layer. See also SctpMgmtCtrl, SctpMgmtInit

168

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpSctSapStatistics
Retrieves and optionally resets the statistics for the specified SCTP SCT SAP. Prototype SCTP_STATUS TXSCTPFUNC SctpSctSapStatistics ( U8 board, SCTPSctSapSts *pStats, S16 sapid, Bool isReset)
Argument board pStats sapid isReset Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPSctSapSts structure where the requested statistics information is returned. For information, see SCTPSctSapSts on page 190. SCT SAP identifier. This value is always zero (0). If non-zero, statistics are set to zero after retrieval.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Dialogic Corporation

169

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpSapStatus
Obtains SCT SAP status information from the SCTP layer, including the SCTP protocol in use and the high level SAP state. Prototype SCTP_STATUS TXSCTPFUNC SctpSapStatus ( U8 board, SCTPSapSta *sta, S16 sapId)
Argument board sta sapId Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPSapSta structure where the requested status information is returned. For information, see SCTPSapSta on page 186. SCT SAP identifier. This value is always zero (0).

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

170

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpSetGenCfg
Configures the SCTP layer with the values contained in the general configuration structure. Prototype SCTP_STATUS TXSCTPFUNC SctpSetGenCfg ( U8 board, SCTPGenCfg *pGenCfg )
Argument board pGenCfg Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPGenCfg structure that contains the values to be configured. For information, see SCTPGenCfg on page 181.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function to configure the SCTP layer after you download the TX board and call SctpMgmtInit. An application must set the field values in the SCTPGenCfg structure before calling SctpSetGenCfg. Set the values in any of the following ways: Call SctpInitGenCfg to set the fields to default values. Set each field value from within the application. Call SctpInitGenCfg and then override specific field values before passing the SCTPGenCfg structure to SctpSetGenCfg.

SctpSetGenCfg is typically called once by an application to set global values. For more information, see General SCTP configuration on page 149. See also SctpGetGenCfg

Dialogic Corporation

171

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpSetSctSapCfg
Configures the SCTP layer with the values contained in the SCT SAP configuration structure. Prototype SCTP_STATUS TXSCTPFUNC SctpSetSctSapCfg ( U8 board, SCTPSctSapCfg *pSctSapCfg)
Argument board pSctSapCfg Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPSctSapCfg structure that contains the values to be configured. For information, see SCTPSctSapCfg on page 187.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function after you set the general configuration parameters for the SCTP layer, but before you configure a TSAP. An application must set the field values in the SCTPSctSapCfg structure before calling SctpSetSctSapCfg. Set the values in any of the following ways: Call SctpInitSctSapCfg to set the fields to default values, and then pass the SCTPSapCfg structure. Set each field value from within the application. Call SctpInitSctSapCfg and then override specific field values before passing the SCTPSapCfg structure.

For more information, see SCTP SCT SAP configuration on page 150. See also SctpGetSctSapCfg

172

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management functions

SctpSetTsapCfg
Configures the SCTP layer with the values contained in the TSAP configuration structure. Prototype SCTP_STATUS TXSCTPFUNC SctpSetTSapCfg ( U8 board, SCTPTSapCfg *pTSapCfg)
Argument board pTSapCfg Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPTSapCfg structure that contains the values to be configured. For information, see SCTPTSapCfg on page 191.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

Details Call this function any time after you configure an SCT SAP, but before an application attempts to send data for transaction processing. An application must set the field values in the SCTPTSapCfg structure before calling SctpSetTSapCfg. Set the values in any of the following ways: Call SctpInitTSapCfg to set the fields to default values, and then pass the SCTPTSapCfg structure. Set each field value from within the application. Call SctpInitTSapCfg and then override specific field values before passing the SCTPTSapCfg structure.

For more information, see SCTP TSAP configuration on page 150. See also SctpGetTsapCfg

Dialogic Corporation

173

SCTP management functions

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SctpTSapStatistics
Obtains and optionally resets the statistics for the specified SCTP TSAP. Prototype SCTP_STATUS TXSCTPFUNC SctpTSapStatistics ( U8 board, SCTPTSapSts *pStats, S16 sapid, Bool isReset)
Argument board pStats sapid isReset Description TX board number on which the desired SCTP layer resides. Valid range is 1 through MAXBOARD (currently 32). Pointer to the SCTPTSapSts structure where the requested statistics information is returned. For information, see SCTPTSapSts on page 193. Lower SAP identifier. If non-zero, statistics are set to zero after retrieval.

Return values
Return value SCTP_SUCCESS SCTP_BOARD SCTP_DRIVER SCTP_HANDLE SCTP_PARAM SCTP_RESPONSE SCTP_TIMEOUT Invalid board number. CPI driver error. SctpMgmtInit was not called for the specified board. Invalid parameter. Incorrect response from the board. No response from the board. Description

174

Dialogic Corporation

12
Statistics Status

SCTP management structures

SCTP management structures summary


This section provides an alphabetical reference to the structures used by SCTP management functions. The topics in the structure reference include the structure definition and a table of field descriptions. The NaturalAccess SIGTRAN implementation task uses the following types of SCTP management structures: Configuration

Configuration structures The following table describes the SCTP configuration structures in the NaturalAccess SIGTRAN implementation:
Structure SCTPGenCfg SCTPGenReCfg SCTPSctSapCfg SCTPSctSapReCfg SCTPTSapCfg SCTPTSapReCfg Description General configuration parameters that cannot be re-configured after setting them with SctpSetGenCfg. General configuration parameters can be re-configured after setting them with SctpSetGenCfg. SCT SAP configuration fields that cannot be re-configured after setting them with SctpSetSctSapCfg. SCT SAP configuration fields that can be re-configured after setting them with SctpSetSctSapCfg. TSAP configuration fields that cannot be re-configured after setting them with SctpSetTsapCfg. TSAP configuration fields that can be re-configured after setting them with SctpSetTsapCfg.

Statistics structures The following table describes the SCTP statistics structures in the NaturalAccess SIGTRAN implementation:
Structure DateTime SCTPGenSts SCTPSctSapSts SCTPTSapSts SCTP statistics substructures Description Defines time stamps that indicate when SCTP statistics counters were initialized to zero. General statistics for the SCTP layer. Statistics for the specified SCT SAP. Statistics for the specified TSAP. Sub-structures to the other statistics structures. These sub-structures hold various types of statistics.

Dialogic Corporation

175

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Status structures The following table describes the SCTP status structures in the NaturalAccess SIGTRAN implementation:
Structure SCTPAssocSta SCTPDtaSta SCTPGenSta SCTPSapSta Description Status information for the specified SCTP association. Status information for a destination transport address within the specified SCTP association. General SCTP status information. Status information for the SCT SAP.

176

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

DateTime (for SCTP)


Dependent function: None. The following DateTime structure configures timestamps that indicate when statistics counters for SCTP were initialized to zero:
typedef struct _DateTime /* date and time */ { U8 month; /* month */ U8 day; /* day */ U8 year; /* year - since 1900 (eg. 2000 = 100) */ U8 hour; /* hour - 24 hour clock */ U8 min; /* minute */ U8 sec; /* second */ U8 tenths; /* tenths of second */ U8 fill; } DateTime;

The DateTime structure is a substructure to the SCTPGenSts, SCTPSctSapSts, and SCTPTSapSts structures. It contains the following fields:
Field month day year hour min sec tenths fill Type U8 U8 U8 U8 U8 U8 U8 U8 Description Month. Day. (Current year) - 1900. Hour in UTC time (24 hour clock). Minutes. Seconds. Tenths of seconds. Not used.

Dialogic Corporation

177

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPAssocSta
Dependent function: SctpAssocStatus The following SCTPAssocSta structure contains status information for a specific SCTP association:
typedef struct _sctpAssocSta /* Association related solicited status */ { U32 assocId; /* association identifier */ U8 assocState; /* association state */ U8 spare1; /* alignment */ U16 spare2; /* alignment */ SCTPNetAddrLst dstNAddrLst; /* destination network address list */ SCTPNetAddrLst srcNAddrLst; /* source network address list */ CmNetAddr priNAddr; /* primary network address */ U16 dstPort; /* destination port */ U16 srcPort; /* source port */ } SCTPAssocSta;

The SCTPAssocSta structure contains the following fields:


Field assocId assocState Type U32 U8 Description SCTP association identifier. The value of this field is zero (0) if the status is not available. Association state. Valid values are: SCTP_ASSOC_STATE_CLOSED No association is active or open. SCTP_ASSOC_STATE_COOKIE_SENT Association sent a cookie message to the service and is waiting for a cookie acknowledgement message. SCTP_ASSOC_STATE_COOKIE_WAIT Association is waiting for a cookie in an INIT ACK (Initiation Acknowledgement) message from the service user. SCTP_ASSOC_STATE_ESTABLISHED Association is established and ready for two-way communication. SCTP_ASSOC_STATE_OPEN Association is capable of accepting association requests from a remote peer. SCTP_ASSOC_STATE_SDOWNACK_SENT Association sent a SHUTDOWN ACK (Shutdown Acknowledgement) message to the service and is waiting for a SHUTDOWN COMPLETE message. SCTP_ASSOC_STATE_SHUTDOWN_PEND Association received a SHUTDOWN message from the service user. SCTP_ASSOC_STATE_SHUTDOWN_RCVD Association received a SHUTDOWN message from the service user and is waiting for outstanding data to be acknowledged SCTP_ASSOC_STATE_SHUTDOWN_SENT Association sent a SHUTDOWN message to the service and is waiting for a SHUTDOWN ACK (Shutdown Acknowledgement) message. spare1 spare2 dstNAddrLst U8 U16 SCTPNetAddrLst Alignment. Alignment. Lists destination addresses that SCTP uses for this association, defined by SCTPNetAddrLst on page 194.

178

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

Field srcNAddrLst priNAddr dstPort srcPort

Type SCTPNetAddrLst CmNetAddr U16 U16

Description Lists source network addresses that SCTP uses for this association, defined by SCTPNetAddrLst on page 194. Primary network address for the association, defined by CmNetAddr on page 194. Port number for the remote SCTP endpoint in the association. Port number for the local SCTP endpoint in the association.

Dialogic Corporation

179

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPDtaSta
Dependent function: SctpDestTransAddrStatus The following SCTPDtaSta structure contains status information for a destination transport address within a specific SCTP association:
typedef struct _sctpDtaSta { CmNetAddr dstNAddr; U16 dstPort; U16 mtu; U32 assocId; U8 state; U8 spare1; U16 rto; } SCTPDtaSta; /* Destination transport address status */ /* /* /* /* /* /* /* destination network address */ destination port */ path MTU */ association ID */ destination transport address state */ alignment */ retransmission timeout */

The SCTPDtaSta structure contains the following fields:


Field dstNAddr dstPort mtu assocId state Type CMNetAddr U16 U16 U32 U8 Description IP address of the destination transport address, defined by CmNetAddr on page 194. Port of the destination transport address. Maximum transmission unit for the destination transport address. Identifier for the association to which the destination transport address is defined. State of the destination transport address. Valid values are: ACTIVE = Address is able to send and receive user messages. INACTIVE = Address is unable to send and receive user messages. spare1 rto U8 U16 Alignment. Retransmission timeout value in ms. A re-transmission timeout value of zero (0) means immediate re-transmission.

180

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPGenCfg
Dependent functions: SctpGetGenCfg, SctpInitGenCfg, SctpSetGenCfg The following SCTPGenCfg structure contains general SCTP configuration parameters. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by SctpInitGenCfg and must not be overridden.
typedef struct _sctpGenCfg { U8 serviceType; U16 spare2; U16 maxNmbSctSaps; U16 maxNmbTSaps; U16 maxNmbEndp; U16 maxNmbAssoc; U16 maxNmbDstAddr; U16 maxNmbSrcAddr; U32 maxNmbTxChunks; U32 maxNmbRxChunks; U16 maxNmbInStrms; U16 maxNmbOutStrms; U32 initARwnd; U16 mtuInitial; U16 mtuMinInitial; U16 mtuMaxInitial; Bool performMtu; Bool useHstName; /* SCTP General Configuration */ /* TUCL transport protocol (IP/UDP) */ /* alignment */ /* max no. SCT SAPS */ /* max no. Transport SAPS */ /* max no. endpoints */ /* max no. associations */ /* max no. dest. addresses */ /* max no. src. addresses */ /* max no. outgoing chunks */ /* max no. recv chunks */ /* max no. in streams PER ASSOCIATION */ /* max no. out streams PER ASSOCIATION */ /* max receiver window space */ /* Initial MTU size */ /* Initial minimum MTU size */ /* Initial maximum MTU size */ /* Perform path MTU discovery */ /* Flag whether hostname is to be used in INIT */ .* and INITACK msg */ U16 timeRes; /* timer resolution */ U16 spare3; /* alignment */ U32 debugMask; /* Debugging mask */ U32 traceMask; /* Tracing mask */ Pst smPst; /* layer manager post structure for alarms */ U8 hostname[CM_DNS_DNAME_LEN]; /* Own Domain Name */ SCTPGenReCfg reConfig; /* reconfigurable params */ } SCTPGenCfg;

The SCTPTGenCfg structure contains fields that you can set the first time you call SctpSetGenCfg. Once you use SctpSetGenCfg, you cannot change the field values in this structure, unless you download the TX board and call SctpSetGenCfg again. The following table describes the fields in the SCTPGenCfg structure that you can set:
Field maxNmbAssoc Type U16 Default 4 Description Maximum number of SCTP associations the service user can open simultaneously. Valid range is 1 65535. Maximum number of destination addresses that can be active simultaneously in SCTP. Valid range is 1 65535. Maximum number of datagrams that can be queued for sending to the peer. Valid range is 1 - the result of (2^32-1). Maximum number of datagrams received from the peer that can be queued before being sent up to the service user. Maximum number of incoming streams per association. Valid range is 1 - 65545.

maxNmbDstAddr

U16

maxNmbTxChunks

U32

256

maxNmbRxChunks

U32

256

maxNmbInStrms

U16

Dialogic Corporation

181

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Field maxNmbOutStrms mtuInitial mtuMinInitial

Type U16 U16 U16

Default 8 1400 500

Description Maximum number of outgoing streams per association. Valid range is 1 - 65545. Initial path max transmit unit (MTU) in bytes. Valid range is 1 - the result of (2^32-1). Minimum value in bytes when searching for an optimal MTU size using the midpoint algorithm. This field is mandatory if the value of the performMtu field is TRUE. Valid range is 1 - the result of (2^32-1). Maximum value in bytes when searching for an optimal MTU size using the midpoint algorithm. This field is mandatory if the value of the performMtu field is TRUE. Valid range is 1 - the result of (2^32-1). Indicates whether or not to perform MTU discovery. Valid values are: TRUE = Perform MTU discovery. FALSE = Do not perform MTU discovery.

mtuMaxInitial

U16

1400

performMtu

Bool

FALSE

reConfig

Structure

Refer to structure.

General parameters that can be re-configured in subsequent calls to SctpSetGenCfg. For information, see SCTPGenReCfg on page 183.

182

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPGenReCfg
Dependent function: None. The following SCTPGenReCfg structure contains re-configurable general SCTP configuration parameters. Bold text indicates fields you can modify. The spare1 field is for internal use only and must not be overridden.
typedef struct _sctpGenReCfg /* SCTP General Reconfiguration */ { U8 maxInitReTx; /* Maximum Association Init Retransmits */ U8 maxAssocReTx; /* Maximum Retransmissions for an association */ U8 maxPathReTx; /* Maximum Retransmission for a destination address */ Bool altAcceptFlg; /* Accept or don't accept additional life time parameter */ /* for init from peer */ U16 keyTm; /* Initial value for MD5 key expiry timer */ U16 alpha; /* Used in RTT calculations */ U16 beta; /* Used in RTT calculations */ U16 spare1; /* alignment */ } SCTPGenReCfg;

SCTPGenReCfg is a substructure to SCTPGenCfg. Unlike with SCTPGenCfg, you can modify the field values for the bolded fields at any time. The SCTPGenReCfg structure contains the following fields. Fields not listed in the table are either unused or for internal use only.
Field maxInitReTx Type U8 Default 0 Description Maximum number of retries for the Initiation (INIT) message to open an association. Valid range is 0 - 255. When maxInitReTx is reached, the association is terminated, and M3UA is notified. M3UA will immediately attempt to reestablish the association with new TSN and InitTag values. INIT retry attempts are rotated through all known IP addresses for the destination. Set to 0 for infinite retries. maxAssocReTx U8 10 Maximum number of datagram re-transmissions for an association. The endpoint will be declared unreachable after maxAssocReTx number of consecutive re-transmissions to an endpoint on any transport address. Valid range is 0 to 255. Maximum number of datagram re-transmissions to a destination address. The destination address will be declared unreachable after maxPathReTx number of consecutive re-transmissions to a destination address. Valid range is 0 to 255. If TRUE, accepts an additional parameter from the peer to extended cookie lifetime. Lifetime of an MD5 key. A new private key is generated when this timer expires. Valid range is 1 - 65535. Used for round trip time (RTT) calculations. Used for RTT calculations.

maxPathReTx

U8

altAcceptFlg keyTm alpha beta

Bool U16 U16 U16

FALSE 60000 12 25

Dialogic Corporation

183

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPGenSta
Dependent function: SctpGenStatus The following SCTP structure contains general SCTP status information:
typedef struct _sctpGenSta { U8 status; U8 spare1; U16 spare2; Size memSize; Size memAlloc; U16 nmbAssoc; U16 nmbEndp; U16 nmbLocalAddr; U16 nmbPeerAddr; 1`} SCTPGenSta; /* General Solicited Status */ /* /* /* /* /* /* /* /* /* Status */ alignment */ alignment */ Memory Size Reserved (U32) */ Memory Size Allocated (U32) */ Number of open associations */ Number of open endpoints */ Number of local addresses in use */ Number of peer addresses in use */

The SCTPGenSta structure contains the following fields:


Field status spare1 spare2 memSize memAlloc nmbAssoc nmbEndp nmbLocalAddr nmbPeerAddr Type U8 U8 U16 Size Size U16 U16 U16 U16 Description Unused. Alignment. Alignment. Total static memory reserved for SCTP, in octets. Total static memory currently allocated by SCTP, in octets. Number of open SCTP associations. Number of open endpoints. Number of local addresses used by SCTP. Number of peer addresses used by SCTP.

184

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPGenSts
Dependent function: SctpGenStatistics The following SCTPGenSts structure contains general statistics for the SCTP layer:
typedef struct _sctpGenSts { DateTime dt; SCTPChunkSts SCTPByteSts SCTPDnsSts } SCTPGenSts; sbChunkSts; sbByteSts; sbDnsSts; /* /* /* /* /* /* Date and time when statistics counters are */ initialized to zero */ Statistics counters for incoming and outgoing chunks */ Statistics counters for total incoming and */ outgoing bytes */ Statistics couters for Dns Transations */

The SCTPTGenSts structure contains the following fields:


Field dt sbChunkSts sbByteSts sbDnsSts Type Structure Structure Structure Structure Description Date and time when the general SCTP statistics were initialized to zero, defined by DateTime (for SCTP) on page 177. Statistics counters for incoming and outgoing chunks, defined by SCTPChunkSts on page 195. Statistics counters for total incoming and outgoing bytes, defined by SCTPByteSts on page 195. Statistics counters for DNS transactions, defined by SCTPDnsSts on page 195.

Dialogic Corporation

185

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPSapSta
Dependent function: SctpSapStatus The following SCTPSapSta structure contains status information for the SCT SAP:
typedef struct _sctpSapSta { S16 swtch; U8 hlSt; U8 spare1; } SCTPSapSta; /* SAP Status */ /* Protocol Switch */ /* SAP State */ /* alignment */

The SctpSapStatus structure contains the following fields:


Field swtch hlst Type S16 U8 Description SCTP protocol in use. Only value is LBS_SW_RFC_REL1 (RFC 4460). High level upper SAP state. Valid values are: LSB_SAP_UBND_DSBL = Configured and disabled. LSB_SAP_BND_ENBL = Bound and enabled. spare1 U8 Alignment.

186

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPSctSapCfg
Dependent functions: SctpGetSctSapCfg, SctpInitSctSapCfg, SctpSetSctSapCfg The following SCTPSctSapCfg structure contains SCT SAP configuration parameters for SCTP. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by SctpInitSctSapCfg and must not be overridden.
{ S16 S16 MemoryId U8 U8 U8 U8 SCTPSctSapReCfg } SCTPSctSapCfg; swtch; spId; memId; sel; prior; route; spare1; reConfig; /* /* /* /* /* /* /* /* Protocol Switch */ Service Provider SAP Id */ Memory region and pool id for SCTP user */ Coupling selector for SCTP user */ Message priority for SCTP user messages */ Route */ alignment */ Reconfigurable parameters */

The SCTPSctSapCfg structure contains fields that you set the first time you call SctpSetSctSapCfg. Once you call SctpSctSetSapCfg, you cannot change the field values in this structure, unless you re-download the TX board and call SctpSctSetSapCfg again. The following table describes the fields in the SCTPSctSapCfg structure that you can set:
Field spId reConfig Type S16 SCTPSctSapReCfg Default 0 Refer to structure. Description SAP identifier used by the SCTP layer. Only value is 0. Re-configurable upper SAP parameters, defined by SCTPSctSapReCfg on page 188.

Dialogic Corporation

187

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPSctSapReCfg
Dependent function: None. The following SCTPSctSapReCfg structure contains re-configurable SCT SAP configuration parameters for SCTP. Bold text indicates fields you can modify. Unbolded fields are either unused or for internal use only. They are set to correct values by SctpInitSctSapCfg and must not be overridden.
typedef struct _SctSapReCfg /* SCT SAP Reconfiguration */ { U16 maxAckDelayTm; /* Maximum time delay for generating Acks */ U16 maxAckDelayDg; /* Maximum # of datagrams after which an Ack */ /* shall be sent */ U16 rtoInitial; /* Initial value of RTO */ U16 rtoMin; /* Minimum RTO */ U16 rtoMax; /* Maximum RTO */ U16 freezeTm; /* Default Freeze timer value */ U16 cookieLife; /* Life time for a Valid Cookie */ U16 intervalTm; /* Default Heartbeat interval timer value */ U16 maxBurst; /* new protocol parameter defined */ U16 maxHbBurst; /* new protocol parameter defined */ U16 t5SdownGrdTm; /* T5 Shutdown Guard Timer value */ U16 spare1; /* alignment */ Bool handleInitFlg; /* Flag to indicate whether SCTP should * handle INIT itself */ Bool negAbrtFlg; /* Negotiate or Abort the init if MIS is * less than OS */ Bool hBeatEnable; /* Enable HeartBeat by Default */ U8 spare2; /* alignment */ U32 flcUpThr; /* Flow Control upper threshold */ U32 flcLowThr; /* Flow Control lower threshold */ U32 spare3; /* alignment */ } SCTPSctSapReCfg;

SCTPSctSapReCfg is a substructure to SCTPSctSapCfg. Unlike with SCTPSctSapCfg, you can modify the field values for bolded fields at any time. The following table describes the fields in the SCTPSctSapReCfg structure. Fields not listed in the table are either unused or for internal use only.
Field maxAckDelayTm Type U16 Default 200 Description Maximum time to wait before the SCTP layer must send a Selective Acknowledgement (SACK) message. Valid range is 1 165535. Maximum number of messages to receive before the SCTP layer must send a SACK message. Valid range is 1 - 165535. Initial value of the retransmission timer (RTO). The SCTP layer retransmits data after waiting for feedback during this time period. Valid range is 1 - 65535. Minimum value used for the RTO. If the computed value of RTO is less than rtoMin, the computed value is rounded up to this value. Maxiumum value used for RTO. If the computed value of RTO is greater than rtoMax, the computed value is rounded down to this value. Base cookie lifetime for the cookie in the Initiation Acknowledgement (INIT ACK) message. Default heartbeat interval timer. Valid range is 1 - 65535. Maximum burst value. Valid range is 1 - 65535.

maxAckDelayDg rtoInitial

U16 U16

2 3000

rtoMin

U16

1000

rtoMax

U16

10000

cookieLife intervalTm maxBurst

U16 U16 U16

60000 3000 4

188

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

Field maxHbBrust t5SdownGrdTm negAbrtFlg

Type U16 U16 Bool

Default 1 15000 FALSE

Description Maximum number of heartbeats sent at each retransmission timeout (RTO). Valid range is 1 - 65535. Shutdown guard timer value for graceful shutdowns. Action to take when the receiver's number of incoming streams is less than the sender's number of outgoing streams. Valid values are: TRUE = Accept incoming stream and continue association. FALSE = Abort the association.

hBeatEnable

Bool

TRUE

Whether to enable or disable heartbeat by default. Valid values are: TRUE = Enable heartbeat. FALSE = Disable heartbeat.

flcUpThr flcLowThr

U32 U32

192 64

Flow control start threshold. When the number of messages in SCTPs message queue reaches this value, flow control starts. Flow control stop threshold. When the number of messages in SCTPs message queue reaches this value, flow control stops.

Dialogic Corporation

189

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPSctSapSts
Dependent function: SctpSctSapStatistics The following SCTPSctSapSts structure contains statistics for the specified SCTP upper SAP:
typedef struct _sctpSctSapSts { S16 swtch; U16 spare1; DateTime dt; SCTPByteSts } SCTPSctSapSts; sbByteSts; /* SCTP Statistics for SCTSAP */ /* Protocol switch */ /* alignment */ /* date and time when statistics counters are */ /* initialized to zero */ /* Statistics counters for total incoming and /* /*outgoing bytes */

The SCTPSctSapSts structure contains the following fields:


Field swtch spare1 dt sbByteSts Type S16 U16 Structure Structure Description SCTP protocol in use. Only value is LBS_SW_RFC_REL1 (RFC 4460). Alignment. Date and time when the statistics for this SAP were initialized to zero, defined by DateTime (for SCTP) on page 177. Statistics counters for incoming and outgoing bytes, defined by SCTPByteSts on page 195.

190

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPTSapCfg
Dependent functions: SctpGetTsapCfg, SctpInitTSapCfg, SctpSetTsapCfg The following SCTPTSapCfg structure contains TSAP configuration parameters for SCTP. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by SctpInitTSapCfg and must not be overridden.
typedef struct _sctpTSapCfg { S16 swtch; S16 suId; U8 sel; U8 ent; U8 inst; U8 spare1; U16 procId; U8 prior; U8 MemoryId SCTPNetAddrLst SCTPTSapReCfg } SCTPTSapCfg; route; memId; srcNAddrLst; reConfig; /* Transport SAP Configuration */ /* /* /* /* /* /* /* /* /* /* /* /* /* Protocol Switch */ Service User SAP Id */ Coupling selector for SCTP provider */ Service Provider Entity */ Service Provider Instance */ alignment */ Service Provider Processor Id */ Message priority for SCTP provider messages */ Route */ Memory region and pool id for SCTP provider * Source Network Address List */ Reconfigurable parameters */

The SCTPTSapCfg structure contains fields that you set the first time you call SctpSetTsapCfg. Once you use SctpSetTSapCfg, you cannot change the field values in this structure, unless you re-download the TX board and call SctpTSapCfg again. The following table describes the fields in the SCTPTSapCfg structure that you can set:
Field suId reConfig Type S16 Structure Default 0 Refer to structure Description TSAP identifier. Re-configurable TSAP configuration parameters, defined by SCTPTSapReCfg on page 192.

Dialogic Corporation

191

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTPTSapReCfg
Dependent function: None. The following SCTPTSapReCfg structure contains re-configurable TSAP configuration parameters for SCTP. Bold text indicates fields you can set. Unbolded fields are either unused or for internal use only. They are set to correct values by SctpInitTSapCfg and must not be overridden.
typedef struct _sctpTSapReCfg /* Transport SAP Reonfiguration */ { S16 spId; /* Service provider SAP ID */ U8 maxBndRetry; /* Maximum number of bind retries allowed */ U8 spare1; /* alignment */ U16 tIntTmr; /* Default time to wait for bind confirm */ U16 spare2; /* alignment */ SCTPDnsCfg sbDnsCfg; /* Dns Configuration structure */ } SCTPTSapReCfg;

SCTPTSapReCfg is a substructure to SCTPTSapCfg. Unlike with SCTPTSapCfg, You can modify the field values for the bolded fields at any time. The following table describes the fields in the SCTPTSapReCfg structure. Fields not listed in the table are either unused or for internal use only.
Field spId maxBndRetry tIntTmr Type S16 U8 U18 Default 0 3 200 Description Identifier for this TSAP. Only value is 0. Maximum number of bind request retries allowed. Time interval for which the SCTP layer waits for bind or status confirmations from the lower layer.

192

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTPTSapSts
Dependent function: SctpTsapStatistics The following SCTPSctSapSts structure contains statistics for the specified SCT SAP:
typedef struct _sctpTSapSts { S16 swtch; U16 spare1; DateTime dt; SCTPChunkSts SCTPByteSts U32 } SCTPTSapSts; sbChunkSts; sbByteSts; nmbBndRetry; /* SCTP Statistics for TSAP */ /* /* /* /* /* /* /* /* /* Protocol switch */ alignment */ date and time when statistics counters are */ initialized to zero */ Statistics counters for incoming and */ outgoing chunks */ Statistics counters for total incoming and */ outgoing bytes */ number of bind retries on the SAP */

The SCTPTSapSts structure contains the following fields:


Field swtch spare1 dt SbChunkSts sbByteSts nmbBndRetry Type S16 U16 Structure Structure Structure U32 Description SCTP protocol in use. Only value is LSB_SW_RFC_REL0 (RFC 2960). Alignment. Date and time when the statistics for this TSAP were initialized to zero, defined by DateTime (for SCTP) on page 177. Statistics counters for incoming and outgoing chunks, defined by SCTPChunkSts on page 195. Statistics counters for incoming and outgoing bytes, defined by SCTPByteSts on page 195. Number of blind retries on this TSAP.

Dialogic Corporation

193

SCTP management structures

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP network address substructures


This topic describes the following SCTP network address substructures: SCTPNetAddrLst CmNetAddr

SCTPNetAddrLst The following SCTPNetAddrLst defines an array of network addresses. SCTPNetAddrLst is a substructure to the SCTPAssocSta, SCTPSctSapCfg, and SCTPTSapCfg structures.
typedef struct _sctptNetAddrLst { U32 nmb; CmNetAddr nAddr[SCT_MAX_NET_ADDRS]; } SCTPNetAddrLst; /* Number of Network Addresses */ /* List of Network Addresses */

The SCTPNetAddrLst structure contains the following fields:


Field nmb nAddr[SCT_MAX_NET_ADDRS] Type U32 CmNetAddr Description Number of network addresses. List of network addresses, defined by the CmNetAddr structure, where SCT_MAX_NET_ADDRS is an array of network addresses. For information, see CmNetAddr.

CmNetAddr The following CmNetAddr structure defines an IPv4 or IPv6 network address. CmNetAddr is a substructure to the SCTPAssocSta, SCTPDtaSta, and SCTPNetAddrLst structures.
typedef struct cmNetAddr { U32 type; /* type of network address */ union { Ip4Addr ipv4NetAddr; /* IP network address (U32) */ Ip6Addr ipv6NetAddr; /* IPv6 network address (16 bytes) */ }u; } CmNetAddr;

The following table describes the fields in the CmNetAddr structure. These fields are not re-configurable.
Field type Type U8 Description Network address type. Valid values are: CM_NETADDR_IPV4 = IPV4 CM_NETADDR_IPV6 = IPV6 Note: IPV6 is not supported in the current release. ipv4NetAddr ipv6NetAddr[16] U32 U8 IPv4 network address. Not supported in the current release.

194

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

SCTP management structures

SCTP statistics substructures


This topic describes the following SCTP network address substructures: SCTPByteSts SCTPChunkSts SCTPDnsSts

SCTPByteSts The following SCTPByteSts structure contains counts of bytes sent and received. SCTPByteSts is a substructure to the SCTPGenSts, SCTPSctSapSts, and SCTPTSapSts structures.
typedef struct _sctpByteSts /* Statistics counters for bytes */ { U32 bytesTx; /* bytes sent */ U32 bytesRx; /* bytes received */ } SCTPByteSts;

SCTPChunkSts The following SCTPChunkSts structure contains counts of incoming and outgoing data chunks. SCTPChunkSts is a substructure to the SCTPGenSts, SCTPSctSapSts, and SCTPTSapSts structures.
typedef struct _sctpChunkSts { U32 noInitTx; U32 noInitReTx; U32 noInitRx; U32 noIAckTx; U32 noIAckRx; U32 noShDwnTx; U32 noShDwnReTx; U32 noShDwnRx; U32 noShDwnAckTx; U32 noShDwnAckReTx; U32 noShDwnAckRx; U32 noCookieTx; U32 noCookieReTx; U32 noCookieRx; U32 noCkAckTx; U32 noCkAckRx; U32 noDataTx; U32 noDataReTx; U32 noDataRx; U32 noDAckTx; U32 noDAckRx; U32 noShDwnCmpltTx; U32 noShDwnCmpltRx; } SCTPChunkSts; /* Statistics counters for chunks */ /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* number number number number number number number number number number number number number number number number number number number number number number number INITs sent */ INITs resent */ INITs received */ INIT_ACKs sent */ INIT_ACKs received */ SHUTDOWNs sent */ SHUTDOWNs resent */ SHUTDOWNs received */ SHUTDOWN_ACKs sent */ SHUTDOWN_ACKSs resent */ SHUTDOWN_ACKs received */ COOKIEs sent */ COOKIEs resent */ COOKIEs received */ COOKIE_ACKs sent */ COOKIE_ACKs received */ DATAs sent */ DATAs resent */ DATAs received */ SACKs sent */ SACKs received */ of Shutdown completed sent */ of Shutdown completed sent */

SCTPDnsSts The following SCTPDnsSts structure contains counts of DNS queries sent, resent, and received. SCTPDnsSts is a substructure to SCTPGenSts.
typedef struct _sctpDnsSts { U32 noQueryTx; U32 noQueryReTx; U32 noQueryRspRx; } SCTPDnsSts; /* Number of DNS Queries Txmitted */ /* Number of DNS Queries ReTxmitted */ /* Number of DNS Query Responses Received */

Dialogic Corporation

195

13

sctpmgr utility

sctpmgr overview
sctpmgr is an SCTP utility for managing and troubleshooting the SCTP layer. Use sctpmgr to: Enable or disable SCT SAPs and TSAPs Display statistics for the SCTP layer and SCTP entities Display general status information and configuration values for the SCTP layer and SCTP entities

Complete the following steps to use sctpmgr:


Step 1 Action Start sctpmgr by entering: sctpmgr The following information displays: sctpmgr: sample SCTP management application version 1.0 Jun 12 2008 sctpmgr[1]> 2 3 Enter sctpmgr commands at the command prompt. For information, see sctpmgr commands on page 198. End an sctpmgr session by typing q and pressing Enter.

Dialogic Corporation

197

sctpmgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

sctpmgr commands
The following table describes the available sctpmgr commands. The commands and arguments can be in upper, lower, or mixed case.
Command ? Description Displays the usage of all supported sctpmgr commands. ? board Switches the sctpmgr communication to the board specified by boardNum. board boardNum debug Enables or disables debug logging for the SCTP layer. debug operation where operation is one of the following arguments: Argument ena dis stats Valid values Enables debug logging. Disables debug logging.

Displays and optionally resets current statistics for the SCTP layer. stats entity [reset] where entity is one of the following arguments: Argument sctp sctsap sapId tsap sapId Description Displays data chunk counters for the SCTP layer. Displays transmitted, received, and re-transmitted message statistics for the SCT SAP specified by sapid. Displays transmitted, received, and re-transmitted message statistics for the TSAP specified by sapId.

If specified, reset sets all statistics for the specified object to zero (0) immediately after the current statistics are displayed. For more information, see sctpmgr statistics command examples on page 200. status Displays status information and configuration values for the SCTP layer and its entities. status entity where entity is one of the following arguments: Argument assoc assocId sap sapId sctp Description Displays status information and configuration values for the association specified by assocId. Displays status information and configuration values for the SCT SAP or TSAP specified by sapId. Displays general status information and configuration values for the SCTP layer.

For more information, see sctpmgr status command examples on page 201.

198

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

sctpmgr utility

Command trace

Description Enables or disables data tracing for the SCTP layer. trace operation where operation is one of the following arguments: Argument ena dis Valid values Enables data tracing. Disables data tracing.

tsap

Enables or disables the specified TSAP. For example: TSAP operation sapId where operation is one of the following arguments: Argument ena dis Valid values Enables TSAP sapId. Disables TSAP sapId.

Quits the sctpmgr application.

Dialogic Corporation

199

sctpmgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

sctpmgr statistics command examples


This topic provides examples of the following sctpmgr stats commands: stats sctp stats sctsap stats tsap

stats sctp The following example displays statistics for the SCTP layer:
sctpmgr[1]>stats sctp ============SCTP Statistics Since 8-15-2008 16:43:11============= Statstics for Rx & Tx Chunks Counter Tx Rx Re-Tx ============================================================= INIT 2 0 2 INIT ACK 0 2 n/a SHUTDOWN 0 0 0 DOWN ACK 0 0 0 COOKIES 2 0 0 CK ACKS 0 2 n/a DATA 11 51285 0 DAT ACKS 51279 9 n/a DWN COMPL 0 0 n/a BYTES 7793068 336 n/a DNS QRY 0 0 0

stats sctsap The following example displays statistics for SCT SAP 0:
sctpmgr[1]>stats sctsap 0 =============SCTSAP 0 Statistic Since 8-15-2008 16:43:11============== Total Bytes Received: 336 Total Bytes Transmit: 7801580

stats tsap The following example displays statistics for TSAP 0:


sctpmgr[1]>stats tsap 0 ==============TSAP 0 Statistic Since 8-15-2008 16:43:11============== Counter Tx Rx Re-Tx ===================================================================== INIT 2 0 2 INIT ACK 0 2 n/a SHUTDOWN 0 0 0 DOWN ACK 0 0 0 COOKIES 2 0 0 CK ACKS 0 2 n/a DATA 11 51365 0 DAT ACKS 51359 9 n/a DWN COMPL 0 0 n/a BYTES 0 0 n/a BIND RETRY n/a n/a 0

200

Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

sctpmgr utility

sctpmgr status command examples


This topic provides examples of the following sctpmgr status commands: status assoc status sap status sctp

status assoc The following example displays status information and configuration values for association 0:
sctpmgr[1]>status assoc 0 | Association Status for 0 | State: ESTABLISHED | Destination Address List | (1) 10.51.1.101 | Source Address List | (1) 10.51.1.100 | Primary Network Address: 10.51.1.101 | Source Port: 2905 | Destination Port: 2905

status sap The following example displays status information and configuration values for the SCTP SAP and TSAP in the SCTP layer:
sctpmgr[1]>status sap 0 Protocol Switch :1 SAP Status :BND =====================Current SCT SAP Configurations===================== swtch = 1 spId = 0 selector = 1 MemRegion = 0 Mempool = 0 prior = 0 route = 0 maxAckDelayTm = 200 maxAckDelayDg = 2 rtoInitial = 3000 rtoMin = 1000 rtoMax = 10000 freezeTm = 3000 cookieLife = 60000 intervalTm = 3000 maxBurst = 4 maxHbBurst = 1 t5SdownGrdTm = 15000 handleInitFlg = FALSE negAbrtFlg = FALSE hBeatEnable = TRUE flcUpThr = 192 flcLowThr = 64 ======================Current TSAP Configurations====================== swtch = 1 suId = 0 sel = 1 ent = ENTHI inst = 0 procId = 0 MemPool = 0 prior = 0 route = 0 SrcAddrType = 4 srcAddress = a330166 srcNAdrNmb = 1 spId = 0 maxBndRetry = 3 BndCfmTmr = 200

Dialogic Corporation

201

sctpmgr utility

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

status sctp The following example displays general status information and configuration values for the SCTP layer:
sctpmgr[1]>status sctp Status = 0 Mem Reserved = 0 Mem Allocated = 0 Associations = 1 Local Addr in Use = 1 Peer Addr in Use = 1 ======================Current SCTP Configurations====================== serviceType = TCP maxNmbSctSaps = 1 maxNmbTSaps = 1 maxNmbEndp = 1 maxNmbAssoc = 4 maxNmbDstAddr = 8 maxNmbSrcAddr = 3 maxNmbTxChunks = 256 maxNmbRxChunks = 256 maxNmbInStrms = 8 maxNmbOutStrms = 8 initARwnd = 32767 mtuInitial = 1400 mtuMinInitial = 500 mtuMaxInitial = 1400 performMtu = FALSE UseHstName = FALSE Hostname = timeRes = 10 maxInitReTx = 5 maxAssocReTx = 5 maxPathReTx = 5 altAcceptFlg = 0 keyTm = 60000 alpha = 12 beta = 25

202

Dialogic Corporation

Index
A address translation 55 alarms 54 ANSI 50 application server process (ASP) 11, 17, 54 application support 26 ASP messages 19, 54, 139, 140 ASPs 11, 47 ASSOC messages 139, 140 AssocCfg 103 associations 17, 19, 54 AssocSta 104 B binding 19, 38 C cmNetAddr 194 commands 140, 198 configuration 11 M3UA 47, 58, 101 SCTP 149, 153, 175 congestion 29, 49 CongSts 136 contexts 23, 38 control functions 54, 57, 151, 153 CTA_SERVICE_ARGS structure 38 CTA_SERVICE_DESC structure 38 ctaCreatecontext 23 ctaCreateQueue 23 CTAEVN_OPEN_SERVICES_DONE 38 ctaInitialize 37 ctaOpenServices 38 D data tracing 54 data transfer 27 DATA_IND structure 43 DataErrSts 136 DataSts 136 DateTime 105, 177 destination point code 18, 21 E entity IDs 27 events 40 F flow control 54 functions 41, 57, 153 G general configuration 49, 58, 149, 153 general statistics 55, 152 I inbound messages 21 initialization 37, 58, 153 instance IDs 27 IP server processes (IPSPs) 11, 47 ISUP 15, 26 ITU 50 M M3UA 15 configuring entities 47 controlling entities 54 management functions 57 management utility (m3uamgr) 139 messages 21, 54 service functions 41 statistics 55, 59, 140, 143 status information 55, 59, 140, 146 M3uaAddrTransStatus 60 M3UAAtSTA 106

Dialogic Corporation

203

Index

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

M3UADpcSta 107 M3uaDpcStatus 61 M3UAGenCfg 108 M3uaGenSatistics 62 M3UAGenSta 110 M3uaGenStatus 63 M3UAGenSts 111 M3UAGenTimerCfg 133 M3uaGetApiStats 42 M3uaGetGenCfg 64 M3uaGetNSapCfg 65 M3uaGetNwkCfg 66 M3uaGetPsCfg 67 M3uaGetPspCfg 68 M3uaGetRteCfg 69 M3uaGetSctSapCfg 70 M3uaInitGenCfg 71 M3uaInitNSapCfg 72 M3uaInitNwkCfg 73 M3uaInitPsCfg 74 M3uaInitPspCfg 75 M3uaInitRteCfg 76 M3uaInitSctSapCfg 77 M3uaMgmtCtrl 78 M3uaMgmtInit 81 M3uaMgmtTerm 82 m3uamgr utility 139 commands 140 statistics command examples 143 status command examples 146 M3UANSapCfg 112 M3UANSapSta 113 M3uaNSapStatistics 83 M3uaNSapStatus 84 M3UANSapSts 114 M3UANwkCfg 115 M3UAPsCfg 117 M3UAPspCfg 121
204

M3UAPspRkIdSta 123 M3uaPspRkIdStatus 85 M3UAPspSta 124 M3uaPspStatistics 86 M3uaPspStatus 87 M3UAPspSts 125 M3UAPsSta 119 M3UAPsStaEndp 120 M3uaPsStatus 88 M3UARetrieveMessage 27, 43 M3UARkSta 126 M3uaRkStatus 89 M3UARteCfg 127 M3uaRteStatus 90 M3UARtFilter 128 M3UARUNSTATEIND event 40 M3UASctSapCfg 129 M3UASctSapSta 130 M3uaSctSapStatistics 91 M3uaSctSapStatus 92 M3uaSctSapSts 131 M3UASendData 27, 45 M3UASetGenCfg 93 M3uaSetNSapCfg 94 M3uaSetNwkCfg 95 M3uaSetPsCfg 96 M3uaSetPspCfg 97 M3uaSetRteCfg 98 M3uaSetSctSapCfg 99 M3UASts 137 management functions 57, 153 management structures 101, 175 messages 21, 41 MTP 2 11 MTP 3 11 multi-threaded application 23 N Natural Access 23, 37
Dialogic Corporation

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

Index

NetAddr 132 NetAddrLst 132 network 15, 50, 58, 101 network service access points (NSAPs) 15, 26, 51, 55, 55, 58 O origination point code 18 outbound messages 23 P peer servers 17, 52, 55, 57 peer signaling processes 17, 52, 55, 55, 57 programming models 23 protocols 15, 26 Q queues 23, 27, 38 R redundancy events 40 routes 15, 53, 54 S SCCP 15, 26 SCT service access points (SCT SAPs) 16 M3UA 51, 54, 55, 55, 57, 139, 140 SCTP 19, 150, 151, 152, 152, 153, 197, 198 SCTP 18 associations 17, 19, 54 configuration functions 153 configuring entities 149 control functions 153 management functions 153 management structures 175 statistics 152, 154, 175, 200 status information 152, 154, 176 structures 175 SCTPAssocSta 178 SctpAssocStatus 155 SctpDestTransAddrStatus 156

SCTPDtaSta 180 SCTPGenCfg 181 SCTPGenReCfg 183 SCTPGenSta 184 SctpGenStatistics 157 SctpGenStatus 158 SctpGenSts 185 SctpGetGenCfg 159 SctpGetSctSapCfg 160 SctpGetTsapCfg 161 SCTPInitGenCfg 162 SctpInitSctSapCfg 163 SctpInitTSapCfg 164 SctpMgmtCtrl 165 SctpMgmtInit 167 SctpMgmtTerm 168 sctpmgr utility 197 commands 198 statistics command examples 200 status command examples 201 SCTPNetAddrLst 194 SCTPSapSta 186 SctpSapStatus 170 SCTPSctSapReCfg 188 SCTPSctSapStatistics 169 SctpSetGenCfg 171 SctpSetSctSapCfg 172 SctpSetTsapCfg 173 SCTPTSapCfg 191 SCTPTSapReCfg 192 SctpTsapStatistics 174 SctpTsapSts 193 SCTSctSapCfg 187 service functions 41 service information octet (SIO) 26 SGP (signaling gateway process) 11, 17, 47 signaling network 15

Dialogic Corporation

205

Index

Dialogic NaturalAccess SIGTRAN Stack Developer's Reference Manual

signaling points (SPs) 49, 149 single threaded application 23 SLS 21 SN_HAST_xxx event 40 statistics 11 M3UA 55, 59 SCTP 152, 154 status indication 27, 28 status information 11 M3UA 55, 59, 102 SCTP 152, 154, 176

structures 101, 175 T termination 57 TmrCfg 134 transport service access point (TSAP) 20, 150, 151, 153 TUP 15, 26 U upper layer 15, 26 utilities 139, 197

206

Dialogic Corporation

You might also like