msp 1010 printed documentation - dialogic
TRANSCRIPT
Multi-Services Platform 1010 Release 10.2.1 Controlled Introduction
Printer-Friendly Documentation This version of the MSP 1010 documentation is formatted specifically for printing. Cantata’s primary format for documentation is web-based help and is available from the Cantata support site:
iii
Table Of Contents Multi-Services Platform Overview .......................................................................1
Introduction to the Multi-Services Platform (MSP) 1010......................................1
Overview ...................................................................................................1
Applications ...............................................................................................1
Supported Protocols....................................................................................1
Hardware Overview .......................................................................................4
1u Signaling Server ....................................................................................4
SS7 Capacity ................................................................................................5
SS7 Monitoring .............................................................................................6
Overview ...................................................................................................6
Licensing ...................................................................................................6
DS3 .............................................................................................................7
DS3 Technology .........................................................................................7
DS3 in the MSP ..........................................................................................7
DSP Media Module .........................................................................................8
Introduction...............................................................................................8
Benefits.....................................................................................................8
VoIP ............................................................................................................9
Introduction to the NG API ...........................................................................10
Overview .................................................................................................10
Portable ..................................................................................................10
Streamlined .............................................................................................10
Versatile..................................................................................................10
Logical ....................................................................................................10
Configurations.............................................................................................11
Overview .................................................................................................11
Stand alone .............................................................................................11
Redundant...............................................................................................11
Highlights of the ClientView ..........................................................................14
Features ..................................................................................................14
ClientView Functionality Defined .................................................................14
DataManager ...........................................................................................14
AdminManager .........................................................................................15
Licensing....................................................................................................16
MSP
iv
Hardware Installation & Maintenance................................................................17
Overview....................................................................................................17
Installation .................................................................................................18
Pre-Installation Considerations ...................................................................18
Unpacking ...............................................................................................22
Rack Mounting .........................................................................................23
Surface Mounting .....................................................................................25
Ground Connections..................................................................................26
AC Power Connections...............................................................................28
DC Power Connections ..............................................................................30
Power and Fan Control ..............................................................................34
Rear Panel I/O Connectors.........................................................................35
I/O Interconnections .................................................................................38
Operation ...................................................................................................41
Operation Overview ..................................................................................41
Front Panel Controls and Indicators.............................................................42
LCD Display .............................................................................................45
Maintenance ...............................................................................................56
Troubleshooting........................................................................................56
Hardware Alarm Module ............................................................................60
Tray Removal and Replacement..................................................................62
Installing a VoIP or Media Module..................................................................64
Hardware Installation................................................................................64
Diagram - Removing Motherboard Tray .......................................................65
Diagram - Module Positions.......................................................................66
Industry Compliance....................................................................................67
FCC Regulatory Compliance Notices ............................................................67
Declaration of Conformity ..........................................................................70
MSP Hardware Product Description ...................................................................73
Overview....................................................................................................73
Physical Configuration..................................................................................74
Tray........................................................................................................74
Docking Station........................................................................................74
Features.....................................................................................................75
General ...................................................................................................75
CPU ........................................................................................................75
Table Of Contents
v
Input Power .............................................................................................75
Front Panel ..............................................................................................75
Rear I/O Panel .........................................................................................75
Redundancy.............................................................................................75
Configuration Information.............................................................................76
Specifications..............................................................................................77
Compliance.................................................................................................79
Rear Panel I/O Card Signal and Timing Connectors ..........................................80
CTRL 0, CTRL 1 - 10/100 (Ethernet Control Connectors)................................80
DATA 0, DATA 1 - 10/100/1000 (Ethernet Data Connectors) ..........................80
SIG 0, SIG 1 - 10/100 (Ethernet Signaling Connectors).................................80
SIGNAL/TIMING - 0, 1, 2, 3 .......................................................................80
(T1/E1 Signaling and Timing Span Connectors) ............................................80
REDUNDANCY (1+1 Bearer Redundancy Connector) .....................................80
BEARER 0 - 27 (T1/E1 Bearer Span Connectors)...........................................80
Rear Panel AC and DC Input Power Modules ...................................................82
AC Power Module......................................................................................82
DC Power Module......................................................................................82
Front Panel .................................................................................................83
Power, Alarm and Status LEDs ......................................................................84
POWER....................................................................................................84
ALARM ....................................................................................................84
SIG/TIMING.............................................................................................84
TIMING ...................................................................................................84
ENET CTRL...............................................................................................84
ENET DATA ..............................................................................................84
ENET SIG ................................................................................................84
AUX ........................................................................................................84
SPAN STATUS ..........................................................................................84
LCD Display ................................................................................................86
LCD Menus .................................................................................................87
LCD Pushbutton Switches .............................................................................88
Hard Reset...............................................................................................88
Soft Reset................................................................................................88
ClientView .....................................................................................................89
Conventions Used in ClientView Documentation ..............................................89
MSP
vi
Accessing this Pane...................................................................................89
An Overview of ClientView ............................................................................90
Main Window ...........................................................................................90
Panes......................................................................................................91
System Requirements for ClientView..............................................................92
Windows Requirements .............................................................................92
Linux Requirements ..................................................................................92
Solaris Requirements ................................................................................92
HP-UX Requirements.................................................................................92
Installation Process......................................................................................93
Before You Begin ......................................................................................93
Steps ......................................................................................................93
Windows Defaults File ...............................................................................93
UNIX Defaults File.....................................................................................94
Installing ClientView and EventView...............................................................95
On Windows.............................................................................................95
On UNIX..................................................................................................95
./MSPUserInterface.bin ................................................................................95
Open ClientView..........................................................................................96
Opening Multiple Instances of ClientView........................................................98
Using Configuration Files ..............................................................................99
Creating a Configuration File ......................................................................99
Opening a Saved File ................................................................................99
MSP Licensing ........................................................................................... 100
Accessing this Pane................................................................................. 100
Default Location of License ...................................................................... 100
ClientView Pane...................................................................................... 100
Creating a Configuration for the First Time ................................................... 102
Steps .................................................................................................... 102
Downloading a License for Upgraded Capabilities........................................... 104
Steps .................................................................................................... 104
Verifying a license After Failure in ClientView ................................................ 105
ClientView Indicators ................................................................................. 106
Configuration Fields ................................................................................ 106
Progress Indicator .................................................................................. 106
Mandatory fields..................................................................................... 107
Table Of Contents
vii
Icons in Left Pane ................................................................................... 107
ClientView Menus ...................................................................................... 109
Options Available in Node Configuration ....................................................... 112
Validation Report .................................................................................... 112
Help...................................................................................................... 112
Reset Node ............................................................................................ 112
Clear Software ....................................................................................... 112
Download Raw File.................................................................................. 112
Resetting an MSP 1010 .............................................................................. 114
Importing and Exporting a Signaling Variant ................................................. 115
For Importing......................................................................................... 115
For Exporting ......................................................................................... 115
Upgrading ClientView................................................................................. 116
Report Files ........................................................................................... 117
File Changes/Actions............................................................................... 117
Configuration File Missing Mandatory Value................................................ 118
Common Example Configurations ................................................................ 119
Example Configuration for DS3 Spans ....................................................... 119
Example Configuration for SS7 Voice Circuits ............................................. 121
Example Configuration for SS7 Redundancy ............................................... 122
Example Configuration for SS7 Monitoring ................................................. 123
Example Configuration for Media Resources ............................................... 124
Example Configuration for SCCP/TCAP....................................................... 125
Configuring VoIP Modules ........................................................................ 126
Example Configuration for ISDN ............................................................... 127
Alphabetical List of Configurable MSP 1010 Objects ....................................... 128
Adjacent Translator................................................................................. 128
BERT Test.............................................................................................. 129
Circuit Group.......................................................................................... 132
Conference Parameters ........................................................................... 135
Channel Configuration Groups .................................................................. 136
DS3 Physical Span .................................................................................. 137
E1 Physical Span .................................................................................... 140
Echo Cancel Parameters .......................................................................... 143
Cantata MSP EMS ................................................................................... 144
Facility .................................................................................................. 145
MSP
viii
Filter Rules ............................................................................................ 147
Global Title Entry.................................................................................... 148
Global Title Group................................................................................... 149
Global Title Translation............................................................................ 150
IP Bearer Profile ..................................................................................... 151
IP Bearer Profiles.................................................................................... 157
ISDN D Channels.................................................................................... 158
Congestion Threshold.............................................................................. 159
ISDN Circuits: B Channels ....................................................................... 160
ISDN D Channel ..................................................................................... 161
D Channel Entity .................................................................................... 164
ISDN Group ........................................................................................... 166
ISDN Timers .......................................................................................... 171
ISUP Group............................................................................................ 172
License Information ................................................................................ 174
Link Configuration .................................................................................. 176
Node Group ........................................................................................... 177
Logical Spans......................................................................................... 178
Media DSP ............................................................................................. 179
Media Module......................................................................................... 181
Media.................................................................................................... 182
Monitoring Object ................................................................................... 183
Monitor Application ................................................................................. 184
Monitoring Application Map ...................................................................... 185
Link ...................................................................................................... 186
Links..................................................................................................... 187
Point Code ............................................................................................. 188
Additional Applications ............................................................................ 189
Service Indicator .................................................................................... 190
Multi-Host Socket ................................................................................... 191
Network DPC and SSN............................................................................. 192
Network Indicator ................................................................................... 193
Network Interface................................................................................... 194
Network Interfaces ................................................................................. 196
NFS Servers........................................................................................... 197
Node Object........................................................................................... 198
Table Of Contents
ix
NFS Server ............................................................................................ 200
Other Concerned Point Codes ................................................................... 202
Physical MSP.......................................................................................... 203
PVD and AMD Parameters........................................................................ 205
Raw API Command ................................................................................. 206
Raw API Commands................................................................................ 207
Configuring a Range of Signaling Spans..................................................... 208
Remote User Part ................................................................................... 209
Replicated SSN....................................................................................... 210
Routing Configuration ............................................................................. 211
SCCP/TCAP ............................................................................................ 212
SCCP-TCAP Default Parameter Table ......................................................... 214
Signaling Object ..................................................................................... 215
Configuring a Range of Signaling Spans..................................................... 216
Signaling Variant .................................................................................... 217
Signaling Variants Object......................................................................... 219
Multi-Host Socket ................................................................................... 220
SS7 ...................................................................................................... 221
SS7 CIC ................................................................................................ 224
SS7 Link................................................................................................ 225
SS7 Link Set .......................................................................................... 228
SS7 Route ............................................................................................. 229
SS7 Stack.............................................................................................. 231
SSN ...................................................................................................... 234
Sub-system Number Default Parameter..................................................... 236
T.30 Parameters..................................................................................... 237
TCAP Object Syntax Descriptor................................................................. 238
T1 Physical Span .................................................................................... 239
TDM-DS1............................................................................................... 242
TDM DS3 ............................................................................................... 243
Telnet Client .......................................................................................... 245
Timing Synchronization Priority List .......................................................... 246
Variant Entry ......................................................................................... 249
Vocabulary Index Entry ........................................................................... 251
Vocabulary Index File.............................................................................. 253
Vocabulary Index Files ............................................................................ 254
MSP
x
VoIP Module........................................................................................... 255
EventView ................................................................................................... 259
Introduction to EventView .......................................................................... 259
EventView Main Window .......................................................................... 259
Getting Help in EventView........................................................................ 259
Exporting Alarms to a Text File.................................................................... 260
Filtering Alarm Views ................................................................................. 261
Sorting Alarm Fields................................................................................ 261
Forcing a Log File to Roll-over ..................................................................... 262
AdminView .................................................................................................. 263
An Overview of AdminView ......................................................................... 263
User Management Access ........................................................................ 263
ClientView Access ................................................................................... 263
Default Administrator Information............................................................. 264
Linux Users............................................................................................ 264
ClientView Log In.................................................................................... 264
Admin Commands .................................................................................. 264
Re-installation of Software....................................................................... 264
Assigning Users in AdminView..................................................................... 265
Procedure .............................................................................................. 265
User (name) is added successfully. .............................................................. 266
Administering User Privileges ...................................................................... 267
Before You Begin .................................................................................... 267
Start AdminManager ............................................................................... 267
Start AdminView..................................................................................... 267
Admin Tasks .......................................................................................... 267
Changing the Admin Password ................................................................. 267
Adding a User ........................................................................................ 268
Changing a Password .............................................................................. 268
Changing a User's Roles .......................................................................... 268
Resetting Your Own Password .................................................................. 268
Removing a User .................................................................................... 268
Viewing User Information ........................................................................... 270
Displaying all User Information................................................................. 270
Display a Specific User's Information......................................................... 270
Displaying Your Own Information.............................................................. 270
Table Of Contents
xi
List All Commands .................................................................................. 271
Displaying Help ...................................................................................... 271
Starting AdminManager on an Alternate RMI port .......................................... 272
Windows................................................................................................ 272
UNIX..................................................................................................... 273
Intelligent Network & Wireless Protocols Overview ........................................... 275
Introduction.............................................................................................. 275
IN and Wireless Protocols ........................................................................ 275
SwitchKit IN and Wireless Components ..................................................... 276
SwitchKit Users ...................................................................................... 276
Excel API Users ...................................................................................... 277
Codecs .................................................................................................. 278
Performance & Reliability......................................................................... 278
Supported Operating Environments and Compatibility .................................... 279
Compatibility.......................................................................................... 279
Benefits of using SwitchKit to develop an IN/Wireless Application .................... 280
Application Development ......................................................................... 280
SwitchKit API ......................................................................................... 280
The Role of LLC ...................................................................................... 280
OAM&P.................................................................................................. 280
Intelligent Network and Wireless Protocols.................................................... 281
Matrix ................................................................................................... 281
CAMEL .................................................................................................. 281
UMTS/GSM-MAP ..................................................................................... 281
WIN ...................................................................................................... 282
ANSI - 41 .............................................................................................. 282
Future availability of AIN protocol ............................................................. 283
Licensing of Intelligent Network and Wireless Protocols .................................. 284
Upgrades............................................................................................... 284
Pricing................................................................................................... 284
SwitchKit Intelligent Network and Wireless Components................................. 285
SwitchKit TCAP Abstraction Layer ............................................................. 285
SKTAL APIs............................................................................................ 285
SwitchKit Interface Module ...................................................................... 286
SKIM APIs ............................................................................................. 286
Wireless Call Flow...................................................................................... 288
MSP
xii
Purpose................................................................................................. 288
SwitchKit Installation & Maintenance .............................................................. 289
Introduction.............................................................................................. 289
SwitchKit ............................................................................................... 289
SwitchKit Features and Components ......................................................... 291
LLC - The Low-Level Communicator .......................................................... 293
The SwitchManager................................................................................. 294
SwitchKit Application Programming Interface ............................................. 295
Highlights of the ClientView ..................................................................... 296
Installation ............................................................................................... 298
SwitchKit Supported Operating Environments............................................. 298
Downloading Or Upgrading System Software ............................................. 300
SwitchKit Software Licensing.................................................................... 301
Installing SwitchKit on UNIX .................................................................... 302
Installing Profiles on UNIX Hosts............................................................... 304
Installing SwitchKit on Windows ............................................................... 306
Running SwitchKit Components Automatically at Startup ............................. 308
SwitchKit Tray Icons ............................................................................... 310
Configuring SwitchKit to Run from the Start Menu on Windows .................... 312
Environment Variables Modify SwitchKit Default Behavior ............................ 313
List of Environment Variables ................................................................... 315
Setting Environment Variables on Windows 2000........................................ 331
Setting Environment Variables on Windows XP ........................................... 332
Running SwitchKit Components and Companion Products ............................... 333
Running SwitchKit Components and Companion Products ............................ 333
System Start-up Behavior........................................................................ 334
Running the LLC in Windows .................................................................... 335
LLC Arguments....................................................................................... 336
Basics of SwitchManager ......................................................................... 338
Running SwitchManager .......................................................................... 339
SwitchManager Arguments....................................................................... 341
Running DataManager ............................................................................ 343
Running AdminManager........................................................................... 345
Redundancy Setup..................................................................................... 347
SwitchKit Redundancy............................................................................. 347
Running Redundant LLCs ......................................................................... 349
Table Of Contents
xiii
Failure Scenarios Resolved with Redundancy.............................................. 351
Logging.................................................................................................... 354
Log File Management .............................................................................. 354
Log Files................................................................................................ 356
Server Status Change ................................................................................ 360
Server Status Change Feature.................................................................. 360
ServerStatusChange ............................................................................... 361
SwitchKit Programmer's Information............................................................... 367
Addressing Functions ................................................................................. 367
AIB Manipulation Functions ...................................................................... 368
SS7 Addressing Functions........................................................................ 373
Connection Management Functions.............................................................. 377
Applications Connecting to Multiple LLCs.................................................... 377
Applications Connecting to One LLC .......................................................... 378
Connecting Legacy Applications to Multiple LLCs ......................................... 379
Introduction to Connection Management.................................................... 380
List of SwitchKit APIs .............................................................................. 381
sk_closeNamedConnection() .................................................................... 384
sk_createConnection() ............................................................................ 385
sk_createConnectionWithID()................................................................... 387
sk_destroyConnection()........................................................................... 389
sk_destroyConnectionForced() ................................................................. 390
sk_getConnectionForID()......................................................................... 391
sk_getConnectionName() ........................................................................ 392
sk_getConnectionNameForConnection() .................................................... 393
sk_getCurrentConnection() ...................................................................... 394
sk_getLLCSocketDescriptor() ................................................................... 395
sk_getLLCSocketDescriptorForConnection() ............................................... 396
sk_getSpecificConnectionLabel()............................................................... 397
sk_getSpecificConnectionName().............................................................. 398
sk_initializeConnection() / sk_initializeForcedConnection()........................... 399
sk_*OnConnection() ............................................................................... 400
sk_setCurrentConnection() ...................................................................... 402
Device Connectivity Functions ..................................................................... 403
Add LLC Node Feature............................................................................. 403
AddLLCNode .......................................................................................... 405
MSP
xiv
LLC: Application Load Balancing for TCAP .................................................. 408
SS7 SCCP/TCAP Configure 0x0077............................................................ 411
TCAPMessageRegister ............................................................................. 419
TCAP Routing Feature ............................................................................. 421
Handler Functions...................................................................................... 423
Handler Functions................................................................................... 423
Logging Functions...................................................................................... 447
Logging Functions................................................................................... 447
Message Functions..................................................................................... 452
Base Classes .......................................................................................... 452
Instantiating a Large SwitchKit Message.................................................... 455
Message Class Macros ............................................................................. 456
Message Functions.................................................................................. 458
Message Headers in C ............................................................................. 459
Message Macros for C Programmers.......................................................... 461
Message Structure Macros ....................................................................... 465
Messages in C++.................................................................................... 468
sk_packAutoStorage()............................................................................. 469
sk_packMessage() .................................................................................. 470
Redundancy.............................................................................................. 485
LLC and Application Redundancy .............................................................. 489
API Messages used for Redundancy .......................................................... 492
Utility Functions ........................................................................................ 493
sk_extractExtendedICBFromChannelReleasedWithData()............................. 493
Register Functions ..................................................................................... 503
Register Functions .................................................................................. 503
SwitchKit API ............................................................................................ 510
API Messages Used for Call Control Programming ....................................... 510
SwitchKit Application Programming Interface ............................................. 512
Using SwitchKit API................................................................................. 514
Threadsafe SwitchKit API............................................................................ 515
Dos and Don’ts of the ThreadSafe SwitchKit Library .................................... 515
Other Changes Developers Must Make When Using Threadsafe SK API .......... 518
Sample Applications................................................................................ 522
Threadsafe Introduction .......................................................................... 529
Programming Tips and Examples................................................................. 530
Table Of Contents
xv
Advanced Programming Technique in UNIX................................................ 530
Building a SwitchKit Application................................................................ 532
Parsing of AIBs....................................................................................... 535
Programming Tips & Examples ................................................................. 536
Running the Application........................................................................... 537
Simple Tandem and CallSim..................................................................... 538
SwitchKit TCAP Interface............................................................................... 541
Introduction.............................................................................................. 541
SwitchKit TCAP API Architecture ............................................................... 541
SKIM and SKTAL API............................................................................... 543
SKIM and SKTAL API Call Flow ................................................................. 547
TCAP Concepts ....................................................................................... 551
SwitchKit Interface Module ......................................................................... 554
SKIM API Messaging ............................................................................... 554
Initialize().............................................................................................. 557
Terminate() ........................................................................................... 559
SSNInService() ...................................................................................... 560
SSNOutOfService() ................................................................................. 561
Send() .................................................................................................. 562
SendReject().......................................................................................... 563
CancelOperation() .................................................................................. 564
SendPreArrangedEnd()............................................................................ 565
SetTransHandler() .................................................................................. 566
ClearTransHandler()................................................................................ 567
EnableTracing()...................................................................................... 568
DisableTracing() ..................................................................................... 569
SKIM Parameter Classes............................................................................. 570
SKIM_Trans Class................................................................................... 570
SKIM_Operation Class............................................................................. 582
SKIM_Operation Class Methods ................................................................ 584
SKIM_Notify Class .................................................................................. 593
SKIM_CallingPartyAddress / SKIM_CalledPartyAddress Class........................ 597
SKIM Sample Application............................................................................ 604
Step One: Creating a connection with LLC using SwitchKit ........................... 604
Step Two: Creating an Instance of SKIM API Class...................................... 605
Step Three: Sending a TCAP Transaction ................................................... 606
MSP
xvi
Step Four: Receiving a TCAP Transaction................................................... 608
Step Five: Receiving Notifications ............................................................. 611
Step Six: Terminating SKIM API Object Disconnection................................. 612
SwitchKit TCAP Abstraction Level................................................................. 613
sktal_allocateTCAPDialogID() ................................................................... 613
sktal_clearTCAPDialogHandler()................................................................ 614
sktal_getTCAPHandle()............................................................................ 615
sktal_initializeTCAP() .............................................................................. 616
sktal_recvTCAPComponent() .................................................................... 617
sktal_recvTCAPDialog() ........................................................................... 618
sktal_registerTCAPSSNHandler() .............................................................. 619
sktal_sendTCAPComponent() ................................................................... 621
sktal_sendTCAPDialog() .......................................................................... 622
sktal_setTCAPDialogueHandler ().............................................................. 623
sktal_terminateTCAP() ............................................................................ 624
sktal_unregisterTCAPSSNHandler () .......................................................... 625
SwitchKit TCAP Abstraction Layer Messaging API ........................................ 626
SKTAL Parameter Classes ........................................................................... 627
SKTAL Parameter Classes ........................................................................ 627
Class TCAP_Component........................................................................... 628
Class TCAP_Abort : public TCAP_Dialogue.................................................. 633
Class TCAP_Begin : public TCAP_Dialogue ................................................. 636
Class TCAP_Cancel : public TCAP_Component ............................................ 641
Class TCAP_Continue : public TCAP_Dialogue............................................. 642
Class TCAP_Dialogue............................................................................... 645
Class TCAP_End: public TCAP_Dialogue..................................................... 656
Class TCAP_Error : public TCAP_Component .............................................. 658
Class TCAP_Invoke : public TCAP_Component............................................ 661
Class TCAP_Reject : public TCAP_Component............................................. 669
Class TCAP_ResetTimer : public TCAP_Component...................................... 672
Class TCAP_Result : public TCAP_Component............................................. 673
ClassTCAP_Notice : public TCAP_Dialogue ................................................. 676
TCAP_Unidirectional : public TCAP_Dialogue class....................................... 680
SKTAL Sample Application .......................................................................... 685
Step One - Creating a connection with LLC using SwitchKit APIs ................... 685
Step Two - Initializing SKTAL and registering SSN ...................................... 686
Table Of Contents
xvii
Step Three - Sending a TCAP Dialogue and Component ............................... 687
Step Four - Receiving a TCAP Transaction.................................................. 689
Step Five - Terminating SKTAL and Disconnection ...................................... 691
Appendix A TCAP Codes ............................................................................. 692
ANSI TCAP Codes ................................................................................... 692
ITU TCAP Codes ..................................................................................... 697
Appendix B- SKIM Data Types and Codes ..................................................... 700
SKIM Data Types and Codes .................................................................... 700
Appendix C - SKTAL Data Types and Codes .................................................. 702
SKTAL Data Types .................................................................................. 702
Appendix D - SKTAL Dialog and Component Structure Definitions.................... 705
SKTAL_DLG and SKTAL_CPT Structure Definitions ...................................... 705
Appendix E - SKIM and SKTAL API Integration with IntelliNet Codecs............... 713
Integrating SKIM and SKTAL API with IntelliNet Codecs............................... 713
Developer Information .................................................................................. 715
Developer Licensing................................................................................... 715
General Licensing Information.................................................................. 715
System Software Licensing ...................................................................... 717
Software Modules Licensing ..................................................................... 718
SS7 Links Licensing ................................................................................ 720
Introduction to Resource Points ................................................................ 721
VoIP Licensing........................................................................................ 722
Software Overview .................................................................................... 723
Application Requirements (Non-SwitchKit) ................................................. 723
Changing System Software Version........................................................... 730
Downloading System Software to the MSP ................................................. 731
Downloading MSP System Software Using Boot File on an SD Card ............... 743
Downloading MSP System Software From an SD Card ................................. 745
Distributing IMG System Software Using an SD Card................................... 746
Fault Diagnostics .................................................................................... 747
Installing and Configuring a BOOTP Server ................................................ 748
Installing and Configuring a FTP Server ..................................................... 749
Installing and Configuring a TFTP Server ................................................... 750
Using Telnet to Connect to the MSP 1010 .................................................. 751
Ethernet Network Analyzers ..................................................................... 753
Overload Logic ....................................................................................... 754
MSP
xviii
SwitchKit ............................................................................................... 757
Multi-Host.............................................................................................. 758
Configuring the MSP - Getting Started.......................................................... 763
Overview of MSP Configuration................................................................. 763
System Configuration.............................................................................. 765
Common Resources - DSP ....................................................................... 772
Span Configuration ................................................................................. 781
Channel Configuration ............................................................................. 786
SS7 Configuration................................................................................... 792
ISDN Configuration ................................................................................. 804
VoIP Configuration.................................................................................. 820
Reconfiguring the MSP ............................................................................ 826
SS7 ......................................................................................................... 828
Basics of SS7 ......................................................................................... 828
SS7 in the MSP....................................................................................... 832
SS7 Software Architecture ....................................................................... 834
Causes of SS7 Signaling Link Problems...................................................... 836
SS7 Redundancy Overview ...................................................................... 838
Configuring Redundancy on the SS7 Component ........................................ 840
SS7 Redundancy Process......................................................................... 842
Configurable SS7 Component Attributes .................................................... 843
SS7 State Transitions.............................................................................. 845
SS7 State Machine Diagrams ................................................................... 847
Host Link Failure..................................................................................... 849
Message Transfer Part (MTP).................................................................... 851
Combined Link Set.................................................................................. 855
MTP3 to Host ......................................................................................... 859
ISUP ..................................................................................................... 875
Monitoring SS7 ....................................................................................... 1020
Introduction to SS7 Monitoring............................................................... 1020
SwitchKit Support ................................................................................. 1023
Hardware Specifications ........................................................................ 1024
The Structure of SS7 Messages .............................................................. 1025
Filtering............................................................................................... 1027
Host/Application Server Interface ........................................................... 1030
Excel API for SS7 Monitoring.................................................................. 1031
Table Of Contents
xix
DS3 ....................................................................................................... 1034
DS3 Overview ...................................................................................... 1034
Overview of Loopback Testing ................................................................ 1035
Enabling Loopback Diagnostics using the EXS API..................................... 1036
BERT Test............................................................................................ 1039
Configuring BERT Test Using the NG API.................................................. 1041
VoIP ...................................................................................................... 1042
VoIP Overview...................................................................................... 1042
VoIP Resource Profiles........................................................................... 1043
Codec Overview.................................................................................... 1044
Codec Payload Size ............................................................................... 1045
Dynamic Payload Type .......................................................................... 1046
SCCP TCAP ............................................................................................. 1048
Introduction to SCCP/TCAP .................................................................... 1048
SCCP/TCAP in the Excel Architecture....................................................... 1050
SCCP/TCAP Supports Many Services and Applications................................ 1051
Global Title Translation.......................................................................... 1054
Global Title Translation (GTT) Configuration Samples ................................ 1056
Message Flow of TCAP Components ........................................................ 1063
SCCP/TCAP Call Flows ........................................................................... 1065
Configuring SCCP TCAP ......................................................................... 1069
Deconfiguring SCCP/TCAP...................................................................... 1071
China National Variant Configuration....................................................... 1072
TCAP Object Syntax Descriptor (OSD) Configuration ................................. 1074
Adjacent Translators Configuration ......................................................... 1075
Example Configurations and TCAP API Messaging ..................................... 1076
SCCP TCAP Primitives............................................................................ 1083
ANSI TCAP Primitives ............................................................................ 1091
TCAP Primitive Set Interface .................................................................. 1098
ITU TCAP Primitives .............................................................................. 1102
ITU and ANSI SCCP Primitives................................................................ 1111
ITU TCAP Primitive Sets......................................................................... 1114
ANSI TCAP Primitive Sets ...................................................................... 1117
SCCP/TCAP Parameter Information ......................................................... 1122
SCCP Segmentation .............................................................................. 1137
TCAP Parameter IDs.............................................................................. 1139
MSP
xx
SCCP Parameter IDs ............................................................................. 1142
SCCP Connection Oriented Network Services............................................ 1143
SCCP Connection Oriented Call Flows ...................................................... 1147
TCAP Dialog Synchronization.................................................................. 1149
DSP Information...................................................................................... 1164
Overview ............................................................................................. 1165
File Record & Playback .......................................................................... 1184
Conferencing........................................................................................ 1193
Tones.................................................................................................. 1199
T.30 Fax.............................................................................................. 1208
Administration...................................................................................... 1211
Specifications....................................................................................... 1217
Configuring & Using DSP Resources ........................................................... 1240
Overview of Configuring and Using DSP Resources.................................... 1240
Basic DSP Configuration ........................................................................ 1241
Record/Play Files .................................................................................. 1250
Conferencing........................................................................................ 1256
Tones.................................................................................................. 1267
Echo Cancellation ................................................................................. 1280
Media Streaming over RTP ..................................................................... 1288
PVD/AMD............................................................................................. 1295
T.30 Fax.............................................................................................. 1297
ISDN ..................................................................................................... 1298
Introduction to ISDN............................................................................. 1298
ISDN Architecture................................................................................. 1300
Configuring ISDN.................................................................................. 1301
0x01 ................................................................................................... 1303
Network Side Euro-ISDN ....................................................................... 1306
Span Configuration ............................................................................... 1309
ISDN D Channel Configuration................................................................ 1311
B Channel Configuration ........................................................................ 1317
Configuring the Backup D Channel .......................................................... 1318
Optional Information Elements ............................................................... 1321
Optional ISDN Configurations................................................................. 1325
ISDN Call Processing............................................................................. 1330
ISDN Congestion Control ....................................................................... 1336
Table Of Contents
xxi
ISDN Bearer Connection Independent Supplementary Services .................. 1339
PPL Developer's Information........................................................................ 1341
Introduction............................................................................................ 1341
Basics of PPL........................................................................................ 1341
PPL Environment .................................................................................. 1344
PPL Guidelines...................................................................................... 1347
API Messages used for Protocol Modification............................................. 1350
State Machines..................................................................................... 1352
PPL Timers........................................................................................... 1357
PPL Auditing......................................................................................... 1360
Common Atomic Functions ....................................................................... 1363
Atomic Functions .................................................................................. 1363
T1 Atomic Functions ................................................................................ 1374
Atomic Functions .................................................................................. 1374
E1 Atomic Functions ................................................................................ 1388
Atomic Functions .................................................................................. 1388
VDAC IP Network Interface Atomic Functions .............................................. 1426
Atomic Functions .................................................................................. 1426
Layer 4 Atomic Functions ......................................................................... 1431
Call Control Channel Management (0x0061) ............................................ 1431
Layer 4 Call Management (0x0062) ........................................................ 1478
Layer 4 Physical Connection (0x0063)..................................................... 1489
Call Control Router (0x0064) ................................................................. 1491
SS7 Atomic Functions .............................................................................. 1501
BT IUP CPC (0x0052) ............................................................................ 1501
ISUP BLS, HGBS, and MGBS .................................................................. 1518
ISUP CPC (0x0012)............................................................................... 1519
cISUP SPRC (0x0013) ........................................................................... 1535
ISUP SSC (0x0085) .............................................................................. 1550
L3P BT IUP (0x0011)............................................................................. 1553
L3P CIC (0x000F) ................................................................................. 1581
L3P Link (0x0010) ................................................................................ 1595
L3P TUP (0x0011)................................................................................. 1597
SCCP CSCC (0x007F) ............................................................................ 1599
SCCP SCOC (0x007D) .......................................................................... 1602
SCCP SCRC (0x0066)............................................................................ 1609
MSP
xxii
SCCP SRTC (0x007E) ............................................................................ 1613
SCCP SUSI (0x0067)............................................................................. 1615
ISDN Atomic Functions............................................................................. 1618
L3P Call Control (0x0005) Atomic Functions ............................................. 1618
L3P B Channel Control (0x0007) Atomic Functions.................................... 1633
L3 Call Reference (0x0008) Atomic Function ............................................ 1635
L3 Global Call Reference (0x0009) Atomic Function................................... 1638
1
Multi-Services Platform Overview
Introduction to the Multi-Services Platform (MSP) 1010
Overview
The MSP 1010 (hereafter referred to as the MSP) is a cost-effective, high-performance, multi-functional platform. It is highly flexible, supporting TDM and IP interfaces as well as fixed and mobile signaling protocols. The MSP 1010 is a high-density solution with an unmatched price-performance ratio. The single-shelf (1u) form factor and comprehensive GUI make the MSP 1010 easy to install and maintain.
The MSP simultaneously supports signaling and bearer traffic over circuit and packet switched networks.
Applications
This Telco-grade platform allows the user to develop different signaling applications in a wireless or wireline environment.
The MSP 1010 supports applications including:
Short Message Service (SMS)
Location based services
Intelligent Network (IN) applications
Interactive Voice Recognition (IVR) application
Supported Protocols
SS7 Protocols
The MSP 1010 supports the ITU and ANSI versions of the following SS7 protocols:
Message Transfer Part 2 and 3 (MTP2/MTP3) - China and Japan
Signaling Connection Control Part (SCCP) - China and Japan
Transaction Capabilities Application Part (TCAP)
Integrated Services Digital Network User Parts (ISUP) including the following variants:
ANSI 97, ANSI 95, ANSI 92
ITU 97, ITU 93, CCITT 88
ETSI V1, ETSI V2, ETSI V3
China
IN Protocols
The MSP 1010 supports the following IN protocols on the host:
Customized Applications for Mobile Network Enhanced Logic (CAMEL) - ITU
Wireless Intelligent Network (WIN) for ANSI Wireless Networks - ANSI
MSP
2
Intelligent Network Application Protocol (INAP) mostly for wireline networks - ITU
Wireless Protocols
The MSP 1010 supports the following wireless protocols on the host:
Mobile Application Part for Global System for Mobile communication (GSM-MAP) - ITU
Mobile Application Part for ANSI networks (ANSI-41) - ANSI
These protocols were developed by IntelliNet Technologies, and allow the MSP 1010 to access IN and wireless networks.
Physical Interfaces
64 SS7 links
32 T1
24 E1/J1
1 DS3
4 10/100 Mb/s Ethernet
2 10/100/1000 Mb/s Ethernet
2 External clocking
2 USB Ports
RS-232 for debug
1+1 Redundancy Connection
IP Interfaces
2 Fast Ethernet for Gate Control EMS
2 Fast Ethernet for VoIP Signaling
2 GIG-E for IP Bearer Traffic
VoIP
The MSP supports two VoIP modules, each supporting the following features:
384 VoIP resources
Codecs: G.711, G.723.1, G.729/A/B, G.726, G.728, iLBC, FR/EFR, AMR, EVRC
G3 Fax Relay that is compliant with the T.38 ASN.1 standard.
Voice/Fax/Data: Automatic Switching
Fax Support: Group 3 2.4 – 14.4 kbps, T.38 compliant fax relay or automatic switch to PCM
Multi-Services Platform Overview
3
Modem Support: Up to V.92 rates
Echo Cancellation: G.168-2000 Compliant; Maximum tail length of 128 milliseconds.
Ping and Trace Route Capabilities
If the MSP has two VoIP modules in it, the software will automatically spread all the licenses evenly across the two modules. This process is done in groups of 32 channels, so if there is an odd number of blocks, module 0 will have the extra channels.
MSP
4
Hardware Overview
1u Signaling Server
The MSP 1010 is a high-density single-shelf (1u) signaling server that can support TDM interfaces and mobile signaling protocols in this release.
The 1010 supports Central Office locations where -48 V DC power is used or in the enterprise market where AC is the only power source option
Physically, the 1010 consists of two parts:
docking station
field-replaceable tray (includes main board)
The tray and docking station mate together to form a single unit. This unit can either be mounted in a 19-inch rack or set on a secure, level surface.
Refer to the MSP 1010 Platform Hardware Product Description for more information.
Multi-Services Platform Overview
5
SS7 Capacity
The MSP 1010 provides the following SS7 capacity:
64 SS7 links in a stand-alone configuration and 128 SS7 links in a redundant configuration
128 link sets for redundant configuration
512 route sets
Four SS7 stacks
128 Destinations per stack
100,000 Global Title Translation entries
32,000 concurrent TCAP dialogs per stack shared by all configured stacks (maximum is 4)
4 spans for SS7 signaling
32 nodes
672 channels per node
Related Topics
Basics of SS7
SS7 in the MSP
MSP
6
SS7 Monitoring
Overview
The MSP 1010 has the ability to monitor SS7 links. It allows you to set up monitoring links on a host to receive SS7 traffic. In doing this, Message Signal Units (MSUs) are sent directly to the host with no intervention by an operator or intrusion into communications. The signaling data that is received by the MSP 1010 is intercepted and interpreted automatically and in real time. Since there is no transmission allowed on the monitoring links, these links do not interfere with the "live" SS7 links — the links that are being monitored. The SS7 monitoring software module is capable of monitoring E1 and T1. The SS7 monitoring module supports ITU, ANSI, China MTP and Japan MTP. The SS7 monitoring module and the high impedance spans co-exist with low impedance spans without any interference — monitoring links co-exist with duplex SS7 links.
Licensing
SS7 Monitoring Links are licensed in increments of 16 links up to 64. This license is available to enable the monitoring feature only if the MSP 1010 includes the base SS7 protocol license.
Refer to Introduction to SS7 Monitoring
Multi-Services Platform Overview
7
DS3
DS3 Technology
A DS3 has a bandwidth of 44.736 Mbps, which is the capacity of 28 T1 spans. Every 85th bit in a DS3 bit sequence is used for overhead functions such as frame alignment, error detection, and terminal-to-terminal data communication. All other bits are payload bits.
The DS3 signal format typically transports 672 channels at 64 Kbps per channel. The DS3 signaling interface is bipolar with Bit 3 Zero Substitution (B3ZS).
DS3 in the MSP
The MSP supports loop timing for DS1's residing on the DS3.
The DS3 uses the M-Frame format and supports the following framing modes:
M13
C-bit (default)
Use the DS3 AIB (0x32) for configuring with the Excel API
The MSP supports the following type of loopbacks diagnostics:
local loop back
request a remote loop back from the far-end switch
You can query the MSP to determine if a local or remote loop back is enabled/disabled. Refer to DS3 Loopback Diagnostics.
MSP
8
DSP Media Module
Introduction
Excel’s DSP Media module is a high-performance media processing resource that is fully integrated into the developer’s MSP platform, providing a consistent and easy-to-manage integrated telecommunications and media services environment.
The DSP Media module eliminates the need for separate voice response units (VRU) by providing powerful media processing services and resources within the DSP environment. This also reduces T1/E1 communications, saving service providers both capital expense costs and on-going operating costs.
The DSP Media module enables the MSP platform to operate as a service node or intelligent peripheral. Configured with DSP media resources, the MSP can be programmed to inter-operate with speech recognition and/or bulk storage to provide a comprehensive media server solution. The MSP supports up to Network File System (NFS) with on-board cache for voice file storage. You can have up to eight NFS servers.
Benefits
The DSP Media module was designed to meet the demand for an integrated solution for media-intensive services with the MSP architecture. Design criteria for media-rich resources, streamlined development, cost reduction and operational ease of use results in important benefits for developers, including:
Ability to offer Media-Rich Revenue Generating Services: the DSP Media module offers a rich, programmable environment in which to create innovative services.
Faster Time-to-Market: since media processing is integrated into the MSP platform, there is no need to develop interfaces between external VRU systems and the service platform.
Reduced Costs: since media resources are built-in, costs for external VRU systems, plus the cost of T1/E1 service are eliminated
Ability to provide a single, integrated solution offering.
Multi-Services Platform Overview
9
VoIP
The VoIP module in the MSP performs two-way conversion between circuit-switched data and packet-switched data. This conversion is required by packetized voice applications, such as the Voice over Internet Protocol (VoIP). The module also integrates media resources over IP technology.
Circuit-switched voice is converted to IP packets, using compression algorithms that can increase capacity toward the IP network side. You can have parameters modified for an individual call, often while the call is active, changing the quality of service, as needed.
Related Topics
VoIP Overview
VoIP Module
MSP
10
Introduction to the NG API
Overview
The MSP 1010 uses a combination of existing EXS API messages and NG API messages.
This section provides a brief overview of NG API benefits. Refer to the NG API Reference for a complete explanation.
Portable
The NG API abstracts the message from the MSP 1010 physical hardware by addressing functionality. Backward compatibility is supported where necessary to address existing functions.
Streamlined
The NG API design provides a more consistent and logical message structure. The new API design means more simplified development for our application developer customers.
Versatile
The NG API messages are generic so that they can be used and re-used for different, but related, purposes. Because the messages are generic, it will be much easier for Excel to add functionality to them in a modular way, without having to create a new special purpose message.
Logical
The NG API messages use new addressing methods with a consistent and logical hierarchy. For example, in a Address Information Block, the message is guided down through logical levels that become more specific as you go deeper into the hierarchy. Because of this new design, application developers can re-use much of their existing code, making changes only where the logic must branch.
Multi-Services Platform Overview
11
Configurations
Overview
The MSP 1010 can function in the following configurations:
Stand Alone
Redundant
Stand alone
The following figure shows a typical stand-alone configuration.
MSP 1010 in Stand Alone Configuration
Redundant
The following two diagrams depict two types of redundancy:
MSP 1010 Redundancy
Network Redundancy
MSP
12
MSP 1010 Redundancy
The MSP 1010 redundant configuration ensures that if an MSP 1010 fails, no signaling traffic is lost. The MTP3 layer in each MSP 1010 receives all the MTP3 traffic from both MSP 1010’s, through the Ethernet connection, and only the master MSP 1010 controls the traffic.
Multi-Services Platform Overview
13
Network Redundancy
Network redundancy loadshares the traffic between the two MSP 1010’s . If one of the MSP 1010 malfunctions,the second MSP 1010 handles the traffic.
MSP
14
Highlights of the ClientView
The ClientView is a graphical user interface that helps you with the administration and configuration of your Multi-Services Platform (MSP). The ClientView provides a simple, data-driven environment that you can customize and extend at run-time without recompiling. The communication between ClientView and the DataManager server is based on XML messaging. The ClientView provides context-sensitive Help for easy access to information when using the tool. The ClientView accompanies SwitchKit (see SwitchKit Features and Components).
Features
The ClientView is a real-time node configuration, maintenance, and administration application. It also lets you monitor the current state of your system in real-time.
You can apply changes to the connected nodes with simple point-and-click operations. Through the ClientView, system developers avoid low level, code-intensive channel and trunk group assignments and maintenance. Instead you can create and maintain trunk groups through the interface. You can examine detailed alarms and statistics without decoding log files.
The user guide describes the ClientView interface and procedures that can be performed and includes screen shots of the application’s configuration panes that graphically show tasks that can be completed. In some cases, it may be necessary to consult the API developer’s guides for more information on the various options available in the fields shown in the ClientView windows. The ClientView section explains the administrative steps you can perform using the application. It contains all the information you need to get your ClientView started. It also outlines and demonstrates all the features provided.
ClientView Functionality Defined
The ClientView provides easy access to configure, monitor, and provision functionality on the MSP. The functionality is defined as follows:
• Configuration
Ability to graphically configure an MSP 1010 from initial setup to channel configuration.
• Monitoring
Real-time view of a MSP 1010 used to monitor hardware status, application status, alarm status, and calls in progress.
• Provisioning
Allows real-time changes required to maintain optimal processing on the MSP 1010. This includes bringing components in or out of service, busying out components, and managing channel groups.
DataManager
ClientView was designed using a client-server software architecture. ClientView is the client. DataManager is the database server.
DataManager does the following:
Manages the data model to a configured specification
Provides configuration and provisioning data to ClientView
Multi-Services Platform Overview
15
Interfaces between ClientView and SwitchManager for configuration and provisioning.
Generates log files: maintenance_datamanager.xxxx.log
It is required that DataManager be running for ClientView to function.
AdminManager
AdminManager is the server for the AdminView client, which is also a component of SwitchKit. AdminManager manages access levels in AdminView. AdminManager validates users and passwords created in AdminView and used by ClientView. If AdminView is not running, the log-in to ClientView will fail.
MSP
16
Licensing
The following are licensed components in the MSP 1010.
System Software per MSP (includes the four signaling spans)
Number of SS7 links
Base SS7 MTP2/MTP3 License per MSP
SS7 Monitoring
SCCP/TCAP licensed by transactions per second
ISUP licensed per CIC
Call Control licensed by channel manager license
DSP Resource Points
E1/T1 spans
SwitchKit
IN and Wireless protocol stacks
Refer to General Licensing Information for more information.
17
Hardware Installation & Maintenance
Overview
Description
The MSP 1010, an open programmable telecommunications platform, functions as a SS7 signaling server for multiple Excel switching platforms.
This section and the succeeding sections describe how to install, operate and maintain this unit.
Refer to the MSP 1010 Hardware Product Description (HPD) for general information, physical description, features, configuration information, specifications, and compliance.
MSP 1010
This figure shows the front view of the MSP 1010.
Read and Understand this Technical Publication
Each person who will install, operate, perform service or maintenance or supervise its use must first read and understand the information in this guide and labels on the equipment.
MSP
18
Installation
Pre-Installation Considerations
The installation location for the MSP 1010 is as follows:
The -48 V DC unit must be located in a restricted area, such as a dedicated equipment room or limited access office.
The 120/240 V AC unit does not have to be located in a restricted area. For example, it can be located in a clean and well ventilated office space.
Environmental Specifications
The temperature, humidity, and altitude of the site must fall within the specifications listed below. In general, a typical office environment satisfies these conditions. A temperature-controlled environment is preferable.
Parameter Specification
Temperature, Operating 0° C to 50° C
Temperature, Operating (Short Term) - 5° C to 50° C
Temperature, Storage -40° C to 70° C
Shock, Operational 30° C/hr
Shock, Storage -40° C to 23° C @ 10° C/min
70° C to 23° C @ 13° C/min
23° C to -40° C @ 30° C/hr
23° C to 70° C @ 30° C/hr
Humidity, Operational 5% to 85%
Humidity, Operating (Short Term) 5% to 90% but not to exceed 0.24kg water/kg of dry air
Humidity, Packaging 90% to 95% relative humidity @ 40° C
Altitude Up to 1800 m (5905 ft)
Physical Description
The MSP 1010, a low profile unit, consists of two assemblies: a docking station and field-replaceable tray which mates to the docking station to form a single unit. It has the following dimensions and weight.
Hardware Installation & Maintenance
19
Parameter Specification
Width
43.89 cm (17.28 in.)
Height
4.36 cm (1.72 in.) (1U)
Depth
48.26 cm (19.0 in.)
Weight
9 kg (20 lbs.)
MSP 1010 Dimensions
Space Requirements
Allow approximately 76 cm (2.5 ft.) of space in front of the MSP 1010, so that the tray can be removed and maneuvered with ease. Leave enough room so that air flow is not obstructed to the four fans at the front or through the side vent holes towards the rear of the unit. Avoid putting the MSP 1010 inside a cabinet with closed doors unless you can provide sufficient ventilation inside the cabinet.
Important! Elevated operating ambient conditions may occur in an enclosed equipment rack. The operating ambient temperature may be greater than the room temperature.
When installing the MSP 1010 do not block the four fans at the front of the chassis. This will cause the unit to overheat.
MSP
20
Rack-Mounting Options
The MSP 1010 can be mounted in a 19-inch rack. The mounting brackets can also be mounted at either the front or the middle of the chassis.
When mounting multiple MSP 1010s in a rack, ensure that a hazardous condition does not exist due to uneven mechanical loading.
AC and DC Power, Wiring and Grounding Requirements
Refer to the Connect Grounding, Connect AC Power and Connect DC Power sections in this section for all power and grounding requirements, surge protection, etc.
Electromagnetic Interference
Electromagnetic Interference (EMI) is a type of radiation that can hinder your system. Keep the following in mind when selecting cables:
Shielded cable prevents outside electrical interference and drains off any induced current.
Twisted wire reduces induction, and thus interference, from one wire to the other. Varying the length of twists reduces the potential for signal interference between pairs.
Twisted pair wiring is available in various thicknesses. Thicker cable covers longer distances and provides better sound quality but it is more expensive.
Channel Service Units
A Channel Service Unit (CSU) connects a digital phone line (T1, E1) from the phone company to a digital communications device. CSUs are required between all telecommunication ports and the network to provide necessary linking capabilities such as:
Line conditioning for long haul transmissions
Remote loopback
Equalization
Regeneration and monitoring of digital signals
Digital circuit testing
Protection from outside lines
Hardware Installation & Maintenance
21
Electrostatic Discharge Protection
Electrostatic Discharge Protection (EDP) must always be used. Electrostatic Discharge (ESD) protective straps, shoes, or mats must be used when working with electronic components.
Electrostatic discharge from your body can damage integrated circuits during installation.
DC Surge Suppression
This product has been tested and complies with the Singapore IDA EMC requirements for dc surge suppression, with the use of the EDCO PHC-060 surge suppressor or equivalent.
MSP
22
Unpacking
Overview
The MSP 1010 and supplied items are shipped in a single container. Carefully unpack the MSP 1010 as described below.
Procedure
To unpack the MSP 1010, do the following:
Use caution when moving and lifting the unit. The unit weighs 9 kg (20 lbs.).
1. After the container has been opened, remove the packing list.
2. Remove the protective cover and the MSP 1010 from the container.
3. Carefully remove the static protective bag from the MAP 1010.
4. Carefully inspect the MSP 1010. Should any discrepancies exist, contact your Cantata Technology representative immediately.
Important! Retain all shipping materials in case you need to either relocate or re-ship the unit in the future. Use the Excel packing materials to return the unit to Excel, otherwise you may be charged for any damage that may occur during shipment.
Supplied items
Review the packing list to ensure that the following items have been sent. Should any discrepancies exist, contact your Cantata Technology representative immediately.
AC 1010
AC power cord (AC option)
Software CD ROMs
DC 1010
DC power module plugs (2) (DC option)
DC grounding lug (factory-installed on back of unit) (DC option)
Software CD ROMs
Hardware Installation & Maintenance
23
Rack Mounting
Overview
The MSP 1010 is shipped with the tray and docking station mated together to provide ease in mounting.You can either front-mount or mid-mount the MSP 1010 in a 48.2 cm (19-inch) rack. The unit is shipped with the brackets in the front mounting position. The brackets are movable and reversible to accommodate two mid-mounting positions.
Required Tools and Hardware
The following customer supplied tools and hardware are needed to mount the unit.
Phillips head screwdriver
Rack mounting hardware
Front and Mid-Mounting Bracket Positions
Mounting Guidelines
When mounting the chassis, follow these guidelines:
Mount the MSP 1010 with another person helping you.
Do not obstruct air flow to the four fans at the front or air flow through the side vent holes towards the rear of the unit.
Allow approximately 76 cm (2.5 ft.) to slide the field-replaceable tray out.
Procedure
To mount the MSP 1010, do the following:
MSP
24
Use caution when moving and lifting the unit. The unit weighs 9 kg (20 lbs.). Always use two people to mount the unit.
1. Position the mounting brackets for either front or mid-mounting.
2. Align the holes on the mounting bracket ears to the mounting holes on rack.
3. Secure with mounting hardware.
4. At rear of the unit on each side, a mounting hole with a captive nut is available for attaching mounting ears for extra support. Use 6/32 screws for this application.
Important! The rear mounting ears are not supplied by Cantata Technology.
5. After rack mounting, refer to the following sections on grounding, powering, and interconnecting the MSP 1010.
Hardware Installation & Maintenance
25
Surface Mounting
Overview
The MSP1010 is shipped with the tray and docking station mated together to provide ease in mounting.
Mounting Guidelines
When mounting the chassis, follow these guidelines:
Do not obstruct air flow to the four fans at the front or air flow through the side vent holes towards the rear of the unit.
Allow sufficient room, approximately 76 cm (2.5 ft.), to access the tray.
Optional Mounting Feet
The customer has the option of mounting the supplied four rubber feet to protect the surface finish.
Procedure
To surface mount the MSP 1010, do the following:
Use caution when moving and lifting the unit. The unit weighs 9 kg (20 lbs.). Always use two people to mount the unit.
1. If desired, mount the self-adhesive feet to the bottom of the unit.
2. Set the unit on a clean, secure, and level surface.
3. After surface mounting, refer to the following sections on grounding, powering, and interconnecting the MSP 1010.
MSP
26
Ground Connections
Overview
After mounting the MSP 1010, the user must ground the unit.
AC Grounding
If you have an AC unit grounding is accomplished by plugging the power cable into a grounded outlet. Refer to AC Power Connections in this section for detailed information.
Important! Do not ground the AC unit using the external grounding points located at the rear of the unit. These grounding points are for DC unit grounding only.
DC Grounding
Always connect the DC unit to earth ground as described below before connecting DC power. Refer to DC Power Connections in this section after grounding is complete.
Earth Ground Wiring Specifications
To connect a true earth ground to the chassis, you need the following:
Use 14-16 AWG machine tool wire (MTW)
Green/yellow for earth ground.
Excel supplies a two-hole, # 10 solderless crimp grounding lug that is attached to the grounding screws at the rear of the chassis.
Procedure
Complete the following steps to connect the MSP 1010 chassis to earth ground.
You must connect your chassis to a true earth ground to maintain signaling integrity and to prevent electrical shock.
Do not connect ground to -48 V.
1. At rear of MSP 1010 chassis, remove the two-hole grounding lug by removing the grounding screws.
2. Crimp the grounding wire to the lug. Re-attach the lug to the unit using the grounding screws.
3. Attach the other end of grounding wire to either a grounding point on the mounting rack or a building ground point.
MSP
28
AC Power Connections
Overview
The MSP 1010 supports an AC power option to support domestic and international customers. The AC power module is located at the rear of the docking station.
Internally, the output of the AC power module connects to a panel-mounted connector via a cable assembly. This connector mates with an AC-to-DC 12 V DC power supply connector on the tray.
Important! Only when the tray is fully seated into the docking station will the power up sequence start. This ensures that the main board does not power up until the system is properly seated.
AC Power Specifications
The AC input power must conform to the following specifications:
120-240 V AC, 60-50 Hz, 3A-1.5A
Range: 90 to 240 V AC
AC Grounding
Ensure the AC power cable is plugged into a grounded outlet.
Important! Do not ground the AC unit using the external grounding points located at the rear of the unit. These grounding points are for DC unit grounding only.
AC Uninterruptible Power Supply Option
If your site has frequent power interruptions, consider using an Uninterruptible Power Supply (UPS) for your MSP 1010. You can prevent downtime by running your system that receives its AC power from batteries during a power failure.
AC Surge Protection
Cantata recommends installing a surge protector between your call processing system and the power outlet. If a high voltage surge occurs on the power line, this device protects your system by sending the overload to ground.
AC Power Cable
An AC power cable is supplied to both United States and international customers.
AC Power Module
The AC power docking station provides an AC input power module with an integrated fuse, power switch, and standard three position female AC input connector. This connector allows the docking station to interface with all variations of AC outlets by simply using a standard power cable with a compatible outlet plug.
Hardware Installation & Maintenance
29
Fuse Removal and Replacement
Complete the following steps to remove and replace the fuse.
Replace the fuse with only an Cantata Technology supplied fuse or equivalent: 3 Amp Slo-Blo fuse, type 3AG.
Procedure
1. Ensure the power switch on the AC power module is set to O (Off).
2. Unplug AC power cord. Important! For safety, the integrated fuse can only be replaced when the power cord is removed.
3. Using a small flat bladed screwdriver, open the hinged fuse cover.
4. Remove the fuse holder using the screwdriver and replace fuse in holder. Important! The fuse only mounts on one side of the cartridge.
5. Install the fuse holder into the AC power module with the fuse facing down.
AC Power Module
Connecting to AC Power Source
Complete the following steps to connect AC power to the chassis.
Procedure
1. Ensure the power switch on the AC power module is set to O (Off).
Ensure the AC power module switch is set to O (Off) prior to connecting the MSP 1010 to the AC power source.
2.
3. Plug AC cable into the receptacle on the AC power module.
4. Insert other end into a grounded wall outlet, Uninterruptible power supply (UPS), or surge protector.
5. Press switch on the AC power module to I (On).
MSP
30
DC Power Connections
Overview
The MSP 1010 supports a DC input power option to support both domestic and international customers. The DC power module is located at the rear of the docking station.
Internally, the output of the DC power module connects to a panel-mounted connector via a cable assembly. This connector mates with an DC-to-DC 12 V DC power supply connector on the tray.
Important! Only when the tray is fully seated into the docking station will the power up sequence start. This ensures that the main board does not power up until the system is properly seated.
DC Grounding
Important! Always connect the DC MSP 1010 to earth ground before connecting DC power. Refer to Ground Connections in this section.
DC Power Specifications
The DC input power must conform to the following specifications:
-48 V DC (nominal), 7A
Range: -40 to -60 V DC
DC Power Module
The DC docking station provides a DC power module with the following:
Two -48 V DC power input terminals (PWR1/PWR2)
Two ON/OFF circuit breakers (CB1/CB2).
The user can use to select either a single non-redundant power source or dual, redundant power sources. The DC-to-DC power supply on the tray provides control for dual, redundant power.
DC Power Module
Hardware Installation & Maintenance
31
-48 V Wiring Specifications
You connect the external DC power source to the chassis at the DC power module terminals.
The DC power module must be wired directly to a –48 V fused power source. To connect an external power source to the DC power module, you need the following:
14-16 AWG machine tool wire (MTW)
Blue for –48
White for –48 V Return
DC power module plug(s) (Excel supplied)
Do not daisy-chain two or more MSP 1010 chassis. Do not wire chassis directly to other equipment or to a common bus bar. Most feeders from the -48 V to frames are limited to about 20 A, whereas load distributions support several hundred amperes. Direct wiring to the fused power source eliminates the coupling mechanism, which appears as impedance in the power distribution system. If impedance is not controlled, transient voltages will cause temporary or permanent malfunctions.
Connecting to an External Single Power Source
Complete the following steps to connect a single power source to the DC power module.
Procedure
1. Ensure both circuit breakers on the DC power module are set to OFF (O).
2. Turn power OFF at power source. Failure to turn power OFF at the power source may result in electrical shock.
3. Route the RET and -48V wires from the external power source to the DC power module plug. Secure the wires to the plug with screws. Ensure that the wires are pushed into the plug far enough, so that none of the copper is visible. Ensure that the RET and -48V wires are connected for the correct polarity.
4. Insert the plug into the DC power module and secure with screws.
5. Turn power ON at power source.
6. Press the required circuit breaker on DC power module to ON (I).
MSP
32
DC Wiring Installation
Connecting to an External Redundant Power Source
You can add a second power source to the chassis for redundancy in case the primary power source fails. Complete the following steps to connect a redundant power source to the chassis.
Important! The MSP 1010 supports a redundant power configuration. The secondary source (battery) serves as backup to the primary source (power supply).
Procedure
1. Ensure both circuit breakers on the DC power module are set to OFF (O).
2. Turn power OFF at redundant power source.
Failure to turn power OFF at the redundant power source may result in electrical shock.
3. Route the RET and -48V wires from the redundant power source to the DC power module plug. Secure the wires to the plug with screws.
Important! Ensure that the wires are pushed into the plug far enough, so that none of the copper is visible.
Hardware Installation & Maintenance
33
Ensure that the RET and -48V wires are connected for the correct polarity.
4. Insert the plug into the DC power module and secure with screws.
5. Turn power ON at redundant power source.
6. Press the required circuit breaker on the DC power module to ON (I).
MSP
34
Power and Fan Control
Power Control
The MSP 1010 power ramp-up is initiated only when the tray (main board) is fully seated into the docking station. This is done when the main board receives a fully seated signal from the docking station
I/O board. This ensures that power on the main board does not come on until the system is properly seated.
All board voltages are then monitored and if any voltage falls out of tolerance on the low-side, a power down of all voltages will occur. In the case where a fault is detected by the CPU and main board shutdown is necessary, a forced shutdown will be initiated. A restart will not be initiated until all voltages are within tolerance.
Fan Control
The MSP 1010 uses four fans for cooling. The fans, located on the front panel, draw air into the unit to cool the main board and I/O board. The air exhausts out vent holes at the rear sides of the docking station.
The fans connect directly to the main board and are individually fused and controlled by a fan controller on the main board. The main board also provides six temperature sensors that monitor ambient temperature at strategic locations on the board. When the fan controller detects an over temperature, the fans will increase speed to full on. For example:
If one of the fans fail, the remaining fans will increase speed to full on to supply the required cooling.
If any of the six temperature sensors detect an over temperature condition, the fans will increase speed to full on to supply the required cooling.
Hardware Installation & Maintenance
35
Rear Panel I/O Connectors
Overview
The MSP 1010 rear panel I/O card connectors provide the required interfacing in so that the MSP 1010 can operate as a SS7 signaling server.
CTRL 0, CTRL 1 - 10/100 (Ethernet Control Connectors)
These two redundant 10/100BaseT Ethernet connectors provide communication with an external host or any other device that needs to be secure from the public network. The connectors do not interface with the internal Ethernet switch and are physically isolated from any network internal to the MSP 1010. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
DATA 0, DATA 1 - 10/100/1000
(Ethernet Data Connectors)
These two redundant 10/100/1000BaseT connectors interface to the internal Ethernet switch. These connectors are used to communicate to all devices in the MSP 1010 that need to communicate over the public network. All internal connections are 10/100BaseT and are aggregated to 1000BaseT, if required. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
SIG 0, SIG 1 - 10/100 (Ethernet Signaling Connectors)
These two redundant 10/100BaseT Ethernet connectors interface to the internal Ethernet switch. These connectors can be logically isolated from the data network or can be used as connections to the data network via software configuration. The connectors bring in signaling over IP. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
SIGNALING/TIMING - 0, 1, 2, 3 (T1/E1 Signaling and Timing Span Connectors)
These four RJ-45 connectors are dedicated for timing and signaling and support T1/E1 interfaces. Any of the four spans can be used to provide reference timing or signaling to the system. These connectors cannot provide bearer traffic to the system.
REDUNDANCY (1+1 Bearer Redundancy Connector)
A dual stacked SCSI connector provides the interface for 1+1 bearer redundancy between MSPs. Redundant 1010s are connected by using two cables.
MSP
36
BEARER 0 - 27 (T1/E1 Bearer Span Connectors)
The 28 T1 and 21 E1 bearer spans are accessed through the RJ-45 Ethernet connectors. The connectors provide T1 with 100 ohm impedance and E1 with 120 ohm impedance and signaling.
BEARER TX, RX (DS3 Bearer Span Connectors)
The DS3 bearer spans are accessed through the BNC interface connectors. The connectors provide the DS3 with 75 ohm impedence and signaling.
Rear Panel I/O Connectors
Ethernet Control, Signaling and Data Connector LEDs
These Ethernet RJ-45 connectors contain two LEDs that provide the user with Ethernet status.
RJ-45 Ethernet Connector LED Status
Activity Green/Off Blinks on either transmit (TX) or receive (RX)
Hardware Installation & Maintenance
37
activity
Speed
10/100
Yellow/Off On when 100 Mpbs link established. Off when 10 Mpbs link established
Speed 10/100/1000 Yellow/Off On when 1000 Mpbs link established
Off when 10 or 100 Mpbs link established.
RJ-45 Ethernet Connector LEDs
MSP
38
I/O Interconnections
Overview
After mounting the MSP 1010, the 1010 can be interconnected in a single platform configuration or in a redundant platform configuration.
Cable Requirements
Ensure the interconnection cables meet the following requirements:
10/100/1000BaseT Ethernet Cable Specifications
The MSP 1010 communicates with the host and other units in the network through Ethernet connections over 10BaseT, 100BaseT or 1000BaseT (shielded) cables. The table below lists the cable specifications.
Characteristics 10/100Base-T (Shielded) Category 5
Designator Twisted pair
Segment Length Recommended maximum 100 m
Cable Type 24 gauge 100-Ohm shielded twisted pair
Connector 8-pin RJ-45
T1/E1 Span/Timing Cable Specifications
The table below lists the cable specifications.
Characteristics T1 (Shielded) Category 8
Designator Twisted pair
Segment Length Recommended maximum 100 m
Cable Type 24 gauge 100-Ohm shielded twisted pair
Connector 8-pin RJ-48
1+1 Redundancy Cable Specifications
The table below lists the cable specifications. These cables are reserved for future use.
Characteristics VHDCI 8 mm
Designator 28 gauge twisted pair
Hardware Installation & Maintenance
39
Segment Length 12 inches
Cable Type 34 twisted pair, shielded
Connector 68-pin VDCI style
Typical Stand Alone MSP 1010 Configuration
To interconnect the MSP 1010 in this configuration, see Figure below.
Stand Alone MSP 1010 I/O Interconnections
Typical Redundant MSP 1010 Configuration
To interconnect the MSP 1010 in this configuration, see Figure below.
Redundant MSP 1010 I/O Interconnections
Hardware Installation & Maintenance
41
Operation
Operation Overview
Description
After making the I/O interconnections, the MSP 1010 is ready for system setup and operation.
Controls and Indicators
Prior to operating the MSP 1010, the user must become familiar with the front panel controls and indicators. Refer to Controls and Indicators in this section.
MSP
42
Front Panel Controls and Indicators
Overview
The MSP 1010 front panel consists of a PCB that houses 43 bi-color LEDs, a LCD display and five LCD pushbutton switches used to control the display. A cable interfaces the front panel components with the main board.
Controls and Indicators
Status and Alarm LEDs
Each LED consists of two separate LEDs (red and green). The bi-colored LEDs can be selected to be red, green, orange (both red and green on) or blinking of any of the colors. All LEDs are under software control.
The LEDs are grouped as follows:
POWER
This LED that indicates power status. The green LED is hardwired to 3.3V while the orange LED is under software control.
LED Color Description
Off No 3.3V power
Green 3.3V power available
Orange Power warning
Hardware Installation & Maintenance
43
ALARM
This LED indicates alarm conditions.
LED Color Description
Off Not applicable
Green No alarms
Orange Minor alarm
Red Major alarm
SIG/TIMING
These four LEDs indicate T1/E1 spans statuses for the SIGNAL/TIMING 0, 1, 2, 3 connectors.
LED Color Description
Off Span is out of service.
Green Span is in service and is receiving valid data.
Orange Receiving an orange alarm RAI
Red Span is in service and is receiving a red alarm or no span is connected.
TIMING
This LED indicates whether the system timing is free running, locked on an external timing source or in hold over (lost lock on external timing source, but still synched to it).
LED Color Description
Off Free running
Green Locked on external timing source
Orange Hold over (lost lock on external timing source, but still synched to it)
ENET CTRL
These two LEDs indicate link and master control of the Ethernet control plane via the CTRL 0 and CTRL 1 connectors. The mastership is controlled via software while the link is under hardware control.
MSP
44
ENET DATA
These two LEDs indicate link and master control of the Ethernet data plane via the DATA 0 and DATA 1 connectors. The mastership is controlled via software while the link is under hardware control.
ENET SIG
These two LEDs indicate link and master control of the Ethernet signaling plane via the SIG 0 and SIG 1 connectors. The mastership is controlled via software while the link is under hardware control.
LED Color Description
Off No link established
Green Link established and active port
Orange Link established and standby port
Red No link established, error
AUX
These LEDs are reserved for future use.
SPAN STATUS
These 28 LEDs indicate the E1/T1 bearer span (0 - 27) statuses.
LED Color Description
Off Span is out of service.
Green Span is in service and is receiving valid data.
Orange Receiving an orange alarm RAI
Red Span is in service and is receiving a red alarm or no span is connected.
Hardware Installation & Maintenance
45
LCD Display
The LCD display unit consists of a hierarchical LCD display menu system controlled by the five push button switches and default menu items. The display allows the user the capability to retrieve and monitor information.
The LCD display is a standard two line times 24 (2x24) character display with a backlight. The default display is initially set to show the Product name and unique chassis ID. The user may optionally set any displayed item as the default by viewing the item and depressing and holding the Select push button then the Right push button.
If the host configures a Node Name and ID, the Product Name, Node Name and ID will become the new default item to be displayed. The default display is displayed after all the pushbuttons are in the released state for a period for approximately one minute. The LCD is typically updated when interrupted by a pushbutton input from the user.
Any item displayed by the front panel can be queried by the Host controlling the MSP 1010.
LCD Push Button Switches
The five push button switches allow the user to select and display information on the LCD display that are specific to an active MSP 1010 configuration. Each switch is interfaced to the main board for control and monitoring. Depressing and holding any of the switches for 500ms (0.5 seconds) will cause that keystroke to be reprocessed, in a typeomatic fashion.
The push buttons are as follows:
Up
Used to scroll up to a different line of text.
When pressed simultaneously with the Down push button, a hard reset of the MSP 1010 occurs.
Down
Used to scroll down to a different line of text.
Used to display contents of a menu item if no additional menu items exist to the bottom of this item.
When pressed simultaneously with the Up push button, a hard reset of the MSP 1010 occurs.
Left
Used to scroll left to a different line of text.
When pressed simultaneously with the Right push button, a soft reset of the MSP 1010 occurs.
Right
MSP
46
Used to scroll right to a different line of text.
Used to display contents of a menu item if no additional menu items exist to the right of this item.
When pressed simultaneously with the Left push button, a soft reset of the MSP 1010 occurs.
Select
Used to display the contents of a menu item.
Used to enter and exit the scroll mode, when an item contains scrollable text. This will allow a menu item to display multiple lines of text by scrolling up and down and read the entire line by scrolling right and left.
Hard and Soft Resets
The push button switches also allow the user to initiate hard and soft unit resets as described below.
Hard Reset
Pressing the Up and Down switches simultaneously for 2.5 seconds causes a hard reset of the CPU. A hard reset reloads the processor configuration registers and the FPGA configuration data.
Soft Reset
Pressing the Left and Right switches simultaneously for 2.5 seconds causes a soft reset of the CPU. A soft reset will not reload the processor configuration registers and the FPGA configuration data.
LCD Menus
The LCD main menus provide the user with means to access, verify, and monitor the information listed below:
System Info
Physical Span Info
IP Info
Hardware Info
Menu Display/Control
To enter a main menu, the user can either use the Select or Right push button to select the desired menu.
The items in the selected main menu will be displayed on the first line (item name line).
The second line will be blank.
Hardware Installation & Maintenance
47
When the item is selected, its text will be displayed in one of three ways:
o If the text data to be displayed is within 24 characters, the first line will remain and the data will be displayed on the second line.
o If the data is greater than 24 characters, the data will over right the first line and continue on the second line. In either of these two styles of presentation the text will be updated every second.
o In the third method, the text data may be scrolled left/right and up/down to a different line of text. When an item contains scrollable text the user must enable scroll mode by depressing the Select pushbutton. To end scrolling mode, depress the Select pushbutton again.
Important! While in the scroll mode the text data will not be updated.
System Info Menu
MSP
56
Maintenance
Troubleshooting
Overview
This section contains a troubleshooting table to help you diagnose and resolve hardware issues that could occur during the MSP 1010 installation and operation.
The table is organized into three sections:
Power
Cooling
Alarm LED Indicators
The information in each section is organized as follows:
Problem or Symptom
Cause or Description
Corrective Action
This section addresses only the most common issues. If you are unable to solve a problem, record all the information pertaining to your system configuration, including:
A description of the symptoms and any corrective action already taken
Whether you are using a single power source or redundant power sources
The grounding method
LAN topology
The version of System Software used with the MSP
A trace of messaging between the host and the MSP
After you record this information, please contact Cantata technical Support.
Power
Problem or Symptom Cause or Description Corrective Action
The DC 1010 does not power up.
The circuit breaker(s) at the rear of the chassis are switched to OFF (O).
Switch the circuit breaker(s) to ON (1).
The -48 V DC power source is not plugged in or is not operating.
Check the power source for proper output. Replace it if necessary.
The –48 V DC power source is not connected properly to the DC power module at the rear of the chassis.
Refer to Connect DC Power in Section 2 and make sure that the power source is connected properly. If necessary, rewire the connections.
Tray not properly seated Remove tray and reinstall
Hardware Installation & Maintenance
57
in docking station. to ensure the tray is properly seated. Refer to Tray Removal and Replacement in this section.
One of the voltages is out-of-tolerance on the low side. Main board shuts down.
Restart 1010.
Remove tray and reinstall to ensure the tray is properly seated.
The AC 1010 does not power up.
If 120/240 V AC power is used the switch at the rear of the chassis is switched to O (Off).
Set the switch to 1 (On)
The 120/240 V AC power source (outlet) is not plugged in or is not operating.
Check the power source (outlet) for power or proper output. Check for tripped circuit breaker. Reset circuit breaker or repair as necessary.
The AC power cable is faulty.
Replace cable. Refer to Connect AC Power in Section 2.
Tray not properly seated in docking station.
Remove tray and reinstall to ensure the tray is properly seated. Refer to Tray Removal and Replacement in this section.
One of the voltages is out-of-tolerance on the low side. Main board shuts down.
Restart 1010
Remove tray and reinstall to ensure the tray is properly seated. Refer to Tray Removal and Replacement in this section..
The DC 1010 powers up, but then shuts down.
A circuit breaker has tripped.
Reset circuit breaker.
Check the wiring.
Refer to Connect DC Power in Section 2.
The power source failed or does not provide the required level of voltage and current (–48 V DC/7A).
Ensure external power source is functioning at the required levels. If the power source is faulty, repair or replace it.
The AC 1010 powers up, An external circuit breaker Reset circuit breaker.
MSP
58
but then shuts down. has tripped.
The fuse in the AC power module has blown.
Replace fuse. Refer to Connect AC Power in Section 2.
Cooling
Problem or Symptom Cause or Description Corrective Action
The 1010 is operating, but the tray over heats. ALARM LED on front panel lights red (major) or orange (minor)
Refer to the Hardware Alarm Module section in this section to access Fan and Temperature Sensor alarm descriptions.
Refer to Hardware Alarm Module section in this section to access Fan and Temperature Sensor corrective action information.
Refer to Section 3 for the LCD display, Hardware Info Menu to access Fan and Temperature Sensor information.
If ALARM LED remains on, call Cantata technical Support. To remove tray and replace, refer to Tray Removal and Replacement in this section.
Front Panel LED Indicators
Problem or Symptom Cause or Description Corrective Action
The 1010 powers up, but the ALARM LED lights red (major) or orange (minor)
An alarm condition exists. The LCD display will indicate source of alarm condition. Refer to Controls and Indicators in Section 3. If ALARM LED is still red, call Cantata technical Support.
The SIG/TIMING 0, 1, 2, or 3 LED lights red (timing error) or orange (reference clock present but not timing system)
The E1/T1 SIGNAL/TIMING port 0, 1, 2, or 3 at the rear I/O panel is not connected to an external reference clock.
Refer to the MSP 1010 Developer's Guide to configure reference timing.
he TIMING LED lights orange (hold over)
Lost lock on external timing source, but still synched to it.
Refer to the MSP 1010 Developer’s Guide to reconfigure external timing.
Hardware Installation & Maintenance
59
he ENET CTRL, ENET DATA, or ENET SIG LED lights red (no link established, error)
The Ethernet link has not been established or has been lost
Refer to the MSP 1010 Developer’s Guide to establish or re-establish link.
The SIGNAL SPAN LEDs, for licensed E1/T1 spans, light red (major alarm) or orange (minor alarm)
Not used in this release. Not used in this release.
MSP
60
Hardware Alarm Module
Overview
The hardware alarm module supports the 1010 platform by configuring the fans and temperature senors for optimal cooling and temperature control. It also monitors for fan and temperature sensor alarm conditions. The four fans are located on the front panel and the six temperature sensors are located on the main board.
The hardware alarm module monitors the following fan and temperature sensor parameters:
Fan status: Revolutions per minute (RPM)
Temperature sensor status: degrees Celsius (° C)
API Alarm Messages
The hardware alarms will generate one of the following API alarm messages:
Fan Failure Alarm Message
Temperature Failure Alarm Message
Alarm Status Levels
The hardware alarm module supports three levels of alarm reporting:
Status of a single fan or temperature sensor
Status of all fans or all temperature sensors
Status of all fans and temperature sensors
Fan Alarms
Single Fan
Minor - speed is 10% or -5% than the normal speed (8400 RMP).
Major - speed is less then the lower threshold (1200 RPM).
Multiple Fans
Minor - if two or more of the fans are set to the minor alarm state.
Major - if one or more fans are set to the major alarm state.
Normal- if a fans exists an alarm state (returns to normal).
Important! It is possible to get a Normal Alarm without a corresponding Minor Alarm. For example, a single minor alarm followed by a return to normal will generate only a Normal Alarm.
Temperature Sensor Alarms
Single Temperature Sensor
Minor - temperature reading is more than 50° C (alarm clears at 55° C).
Hardware Installation & Maintenance
61
Major - temperature reading is more than 70° C (alarm goes back to Minor at 65° C).
Critical - temperature reading is more than 80° C (alarm goes back to Major at 75° C).
Multiple Temperature Sensors
Indicates the highest alarm on all temperature sensors.
Fan and Temperature Sensor Alarms
Minor - if either the sum of the fans or sum of the temperature sensors is in a minor alarm state.
Major - if the sum of the temperature sensors is in major alarm state or the sum of the fans is in a major alarm state.
Critical - only if the sum of the temperature sensors is in a critical alarm state.
The consequential actions for the above alarm conditions are as follows:
Major - fans increase speed to full on.
Critical - system resets.
MSP
62
Tray Removal and Replacement
Description
The tray is the only field replaceable unit of the MSP 1010.
Procedure
To remove the tray from the docking station and then replace it, proceed as follows:
Removal
1. Set power to OFF (O) at rear of docking station.
2. Loosen the two ejector captive fasteners located on each side of the front panel.
3. Lift the ejectors upward and pull to unseat tray from docking station.
4. Slide tray completely out. If returning the tray to Excel, contact Cantata technical Support.
Replacement
1. Align rail on each side of the tray with the guides on the inside of the docking station.
2. Ensure the ejectors are in the up position.
3. Slide the tray in until the power connectors and signal connectors initially mate. The ejectors will start to move down. Important! The guides only provide gross alignment to the power and signal connectors. The guide pins on the main board and I/O card are self aligning and provide exact alignment for the connectors. Important! The tray guides also acts as the conduit for any Electrostatic Discharge (ESD) as the tray initially mates with the docking station.
Do not force the tray if any resistance occurs when mating with the docking station. Using undue force could damage the unit.
4. When the tray is seated and the connectors are mated, push the ejectors down and tighten captive fasteners.
5. When ready, set power to ON (1) at rear of docking station.
MSP
64
Installing a VoIP or Media Module Hardware Installation
Follow this procedure to add a VoIP or Media module on the MSP.
Caution: Electrostatic Discharge Protection (EDP) must always be used. Electrostatic Discharge (ESD) protective straps, shoes, or mats must be used when working with electronic components. Electrostatic discharge from your body can damage integrated circuits during installation.
Required Tools and Parts
#1 Phillips head screwdriver (customer supplied)
4 Phillips pan head screws
VoIP module or Media module.
Steps
1. Set power to OFF (O) at rear of docking station.
2. Remove Motherboard Tray. See Diagram – Removing Motherboard Tray.
a. Loosen the two ejector captive fasteners located on each side of the front panel.
b. Lift the ejectors upward and pull to unseat the tray from the docking station.
c. Slide the tray out.
3. Locate Module Position. See Diagram – Module Position. If you are replacing an existing module, remove the existing module by unscrewing the screws and lifting the module off of the motherboard.
5. Install the module on motherboard
a. Position the module over the four standoffs.
b. Align the connectors on the module with the connectors on the motherboard and press together. Caution: The connectors must be properly aligned and fully seated, to ensure a trouble-free installation.
Caution: When pressing the module onto the motherboard do not press on
the components installed on the module, but rather press on an open area
on the edge of the Printed Circuit Board itself.
Hardware Installation & Maintenance
65
c. Attach the module with the four (4) Phillips pan head screws. Caution: Do not over tighten the screws.
6. Re-insert Motherboard Tray
a. Align the rail on each side of the tray with the guides on the inside of the docking station.
b. Ensure the ejectors are in the up position.
c. Slide the tray in until the power connectors and signal connectors initially mate (the ejectors will start to move down).
Important Notes
- Do not force the tray if any resistance occurs when mating with the docking station. Using undue force could damage the unit.
- The guides only provide gross alignment to the power and signal connectors. The guide pins on the main board and I/O card are self-aligning and provide exact alignment for the connectors.
- The tray guides also act as the conduit for any Electrostatic Discharge (ESD) as the tray initially mates with the docking station.
d. When the tray is seated and the connectors are mated, push the ejectors down and tighten captive fasteners.
7. Set power to ON (1) at rear of docking station.
8. See the procedures for configuring modules in the Alphabetical List of Configurable MSP 1010 Objects section.
Diagram - Removing Motherboard Tray
MSP
66
Diagram - Module Positions
Important: If only one VoIP module is to be installed, it must be at Position 0.
Hardware Installation & Maintenance
67
Industry Compliance
FCC Regulatory Compliance Notices
Overview
This section identifies the United States Federal Communications Commission compliance notices.
Federal Communications Commission Part 68 Requirements
This equipment complies with FCC rules, Part 68. On the back of this equipment is a label that contains, among other things, the FCC Registration Number. When you are ready to install this unit, contact your local telephone company and supply them with the following information:
Standard Jack(s) for connection to the network: RJ48
Service Order Code(s): NA
Facility Interface Code(s) (FIC): NA
FCC ID#: US: 1RHXDNAN XL1010
Should this equipment cause harm to the telephone network, the telephone company shall, where practicable, notify the customer that temporary discontinuance of service may be required; however, where prior or written notice is not practicable, the telephone company may discontinue service forthwith, if such action is reasonable in the circumstances. You will be informed of your right to file a complaint with the FCC.
The telephone company may make changes in its communications facilities, equipment, operation procedures, where such action is reasonable, required in the operation of its business, and is not inconsistent with the rules and regulations of the Federal Communications Commission. If they do, you will be notified in advance to give you an opportunity to maintain uninterrupted telephone service.
Do not attempt to repair or modify this equipment. If defective, return it to the person from whom it was purchased who will in turn arrange to return it or to have it repaired by the manufacturer of his authorized agent. The telephone company may ask that you disconnect this equipment from the network until the problem has been corrected or until you are sure that the equipment is not malfunctioning. If trouble is experienced, disconnect this equipment from the telephone line to determine if it is causing the malfunction. If equipment is determined to be malfunctioning, its use shall be discontinued until the problem has been corrected.
Affidavit Requirements for Connection to Digital Services
An affidavit is required to be given the telephone company whenever digital terminal equipment without encoded analog content and billing protection is used to transmit digital signals containing encoded analog content which are intended for eventual conversion into voice band analog signals and retransmitted on the network.
The affidavit shall affirm that either no encoded analog content or billing information is being transmitted or that the output of the device meets Part 68 encoded analog content or billing protection specifications.
MSP
68
End user/customer will be responsible to file an affidavit with the CPE to a 1.544 Mbps or subrate digital services.
Until such time as subrate digital terminal equipment is registered for voice applications, the affidavit requirement for subrate services is waived.
Affidavit for Connection of Customer Premises Equipment to 1.544 MBPS and/or Subrate Digital Services
For the work to be performed in the certified territory of
_______________________________ (Telco Name)
State of _________________________
County of _______________________
I, ______________________________ (name)
________________________________ (business address)
___________________ (telephone number) being duly sworn, state:
I have responsibility for the operation and maintenance of the terminal equipment to be connected to 1.544 Mbps and/or ____________ subrate digital services. The terminal equipment to be connected complies with Part 68 of the FCC rules except for the encoded analog content and billing protection specifications. With respect to encoded analog content and billing protection:
( ) I attest that all operations associated with the establishment, maintenance, and adjustment of the digital CPE with respect to analog content and encoded billing protection information continuously complies with Part 68 of the FCC Rules and Regulations.
( ) The digital CPE does not transmit digital signals containing encoded analog content or billing information which is intended to be decoded within the telecommunications network.
( ) The encoded analog content and billing protection is factory set and is not under the control of the customer.
I attest that the operator(s)/maintainer(s) of the digital CPE responsible for the establishment, maintenance, and adjustment of the encoded analog content and billing information has (have) been trained to perform these functions by successfully having completed one of the following: (Check appropriate blocks)
( ) A. A training course provided by the manufacturer/grantee of the equipment used to encode analog signals; or
( ) B. A training course provided by the customer or authorized representative, using training materials and instructions provided by the manufacturer/grantee of the equipment used to encode analog singles; or
( ) C. An independent training course (e.g., trade school or technical institution) recognized by the manufacturer/grantee of the equipment used to encode analog signals; or
( ) D. In lieu of the preceding training requirements, the operator(s)/maintainer(s) is (are) under the control of a supervisor trained in accordance with ___________________ (circle one) above.
Hardware Installation & Maintenance
69
I agree to provide _________________________________ (Telco’s name) with proper documentation to demonstrate compliance with the information as provided in the preceding paragraph, is so requested.
______________________________________________ Signature
______________________________________________ Title
______________________________________________ Date
Subscribed and sworn to before me
This day of _________________, 20___
________________________________
Notary Public
My commission expires: ____________________________
MSP
70
Declaration of Conformity
Overview
This section provides the United States European Declarations of Conformity. Refer to the Cantata salesperson for the latest copies.
73
MSP Hardware Product Description
Overview
The MSP 1010 is an open programmable telecommunications platform. This telecommunications-grade platform allows the user to develop different applications such as signaling, voice, and data in a wireless or wireline environment. The MSP 1010 can operate either as a stand alone unit or in a 1+1 redundancy configuration.
The MSP 1010 supports Central Office locations where –48 V DC power is used or in the enterprise market where AC is the only power source option.
MSP
74
Physical Configuration
Physically, the MSP 1010 consists of two parts: a non field-replaceable docking station and field-replaceable tray. The tray and docking station mate together to form a single unit. This unit can either be mounted in a 19-inch rack or set on a secure, level surface.
Tray
The tray contains the front panel, main board, and either an AC-to-DC or DC-to-DC power supply. The front panel provides the user with a LCD display and associated pushbutton switches used to access menus that verify and monitor MSP 1010 operation. The front panel also provides span and alarm status LED indicators and a power LED indicator.
Docking Station
The docking station rear panel provides AC or DC input power modules and network I/O interface connectors. Depending on user requirements, various network I/O interfaces are supported.
MSP Hardware Product Description
75
Features
The MSP 1010 provides the following features:
General
Low profile (1U)
Rack mounted or surface mounted
Centralized and distributed architecture
Scalable configurations
CPU
750 MHz CPU
100 MHz SDRAM
Input Power
Rear input power module (AC or DC)
120/240 V AC, 60/50 Hz
-48 V DC
Front Panel
Front panel with LCD display, span and alarm status indicators, and pushbuttons
Rear I/O Panel
Rear I/O interface connectors (signaling and timing, host control, network interfaces, and redundancy)
Redundancy
1+1 bearer redundancy
MSP
76
Configuration Information
The MSP 1010 serial numbers and model numbers are located as follows:
Main board: front of unit
I/O: rear of unit
MSP Hardware Product Description
77
Specifications
The MSP 1010 is designed to the following electrical, physical, and environmental specifications.
Electrical Specification Range
AC Power Range 120-240 V AC, 60-50 Hz, 3A-1.5A
90 to 240 V AC
DC Power -48 V DC (nominal), 7A -40 to -60 V DC
Physical Specification
Width 43.89 cm (17.28 in.)
Height 4.36 cm (1.72 in.) (1U)
Depth 48.26 cm (19.0 in.)
Weight 9 kg (20 lbs.)
Environmental Specification
Temperature, Operating 0° C to 50° C
Temperature, Operating (Short Term) -5° C to 50° C
Temperature, Storage -40° C to 70° C
Shock, Operational 30° C/hr
Shock, Storage -40° C to 23° C @ 10° C/min
70° C to 23° C @ 13° C/min
23° C to -40° C @ 30° C/hr
23° C to 70° C @ 30° C/hr
MSP
78
Humidity, Operational 5% to 85%
Humidity, Operating (Short Term) 5% to 90% but not to exceed 0.24kg water/kg of dry air
Humidity, Packaging 90% to 95% relative humidity @ 40° C
Altitude Up to 1800 m (5905 ft)
MSP Hardware Product Description
79
Compliance
The MSP 1010 meets the following national and international standards.
Standard USA/Canada European Union Australia/New Zealand
EMC FCC Part 15
ICES-003
EN55022: 98
EN55024: 98
EN300386: Rev 1.3.1
AS/NZS CISPR 22
Safety CSA-C22.2 No. 60950-1
EN60950-1 AS/NZ 60950
CB Scheme IEC 60950-1
Telecom FCC Part 68/IC CS03
TBR 12, 13 AS/ACIF S-016
MSP
80
Rear Panel I/O Card Signal and Timing Connectors
The following rear panel I/O card connectors provide the required interfacing so that the MSP 1010 can operate as a SS7 signaling server.
CTRL 0, CTRL 1 - 10/100 (Ethernet Control Connectors)
These two redundant 10/100BaseT Ethernet connectors provide communication with an external host or any other device that needs to be secure from the public network. The connectors do not interface with the internal Ethernet switch and are physically isolated from any network internal to the MSP 1010. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
DATA 0, DATA 1 - 10/100/1000 (Ethernet Data Connectors)
These two redundant 10/100/1000BaseT connectors interface to the internal Ethernet switch. These connectors are used to communicate to all devices in the MSP 1010 that need to communicate over the public network. All internal connections are 10/100BaseT and are aggregated to 1000BaseT, if required. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
SIG 0, SIG 1 - 10/100 (Ethernet Signaling Connectors)
These two redundant 10/100BaseT Ethernet connectors interface to the internal Ethernet switch. These connectors can be logically isolated from the data network or can be used as connections to the data network via software configuration. The connectors bring in signaling over IP. These auto-negotiating, full duplex connectors support MDIX (cable cross-over) which eliminates the need for crossover cables for point-to-point connections.
SIGNAL/TIMING - 0, 1, 2, 3
(T1/E1 Signaling and Timing Span Connectors)
These four RJ-45 connectors are dedicated for timing and signaling and support T1/E1 interfaces. Any of the four spans can be used to provide reference timing or signaling to the system. These connectors cannot provide bearer traffic to the system.
REDUNDANCY (1+1 Bearer Redundancy Connector)
A dual stacked SCSI connector provides the interface for 1+1 redundancy between MSPs. Redundant MSPs are connected by using two cables.
BEARER 0 - 27 (T1/E1 Bearer Span Connectors)
The 28 T1 and 21 E1 bearer spans are accessed through the RJ-45 interface connectors. The connectors provide T1 with 100 ohm impedance and E1 with 120 ohm impedance and signaling.
MSP
82
Rear Panel AC and DC Input Power Modules
The MSP 1010 provides AC or DC power options. The type of power depends on the input power module installed on the docking station and the power supply installed on the tray.
AC Power Module
The AC power docking station provides an AC input power module with an integrated fuse, a power switch, and a standard three position female AC input connector. This connector allows the docking station to connect with all variations of AC outlets using a standard power cable with a compatible outlet plug. The AC power module operates on both 120 V AC, 60 Hz and 240 V AC, 50 Hz voltages to support domestic and international customers.
DC Power Module
The DC power docking station provides a DC terminal module with dual input power terminals and dual on/off circuit breakers. The DC power module operates on -48 V DC to support both domestic and international customers.
The user may opt to use dual, redundant -48 V DC feeds or a single, non-redundant -48 V DC feed. Dual, redundant power is diode protected on the DC power supply on the tray.
MSP Hardware Product Description
83
Front Panel
The front panel consists of a PCB that houses 43 bi-color LEDs, an LCD display and five LCD pushbutton switches used to control the display. The user can only retrieve and monitor information via the front panel.
MSP
84
Power, Alarm and Status LEDs
Each LED consists of two separate LEDs (red and green). The bi-colored LEDs can be selected to be red, green, orange (both red and green on) or blinking of any of the colors. All LEDs are under software control. Except the green POWER LED which is hardwired to 3.3V. The LEDs are grouped as follows:
POWER
This LED indicates power status. The green LED is hardwired to 3.3V while the orange LED is under software control.
ALARM
This LED under software control used to indicate alarm conditions.
SIG/TIMING
These four LEDs indicate T1/E1 spans statuses for the SIGNAL/TIMING 0, 1, 2, 3 connectors.
TIMING
This LED indicates whether the system timing is free running, locked on an external timing source or in hold over (lost lock on external timing source, but still synched to it).
ENET CTRL
These two LEDs indicate link and master control of the Ethernet control plane via the CTRL 0 and CTRL 1 connectors. The mastership is controlled via software while the link is under hardware control.
ENET DATA
These two LEDs indicate link and master control of the Ethernet data plane via the DATA 0 and DATA 1 connectors. The mastership is controlled via software while the link is under hardware control.
ENET SIG
These two LEDs indicate link and master control of the Ethernet signaling plane via the SIG 0 and SIG 1 connectors. The mastership is controlled via software while the link is under hardware control.
AUX
These two LEDs are reserved for future use.
SPAN STATUS
These 28 LEDs indicate the E1/T1 bearer span (0 - 27) statuses via the BEARER 0 - 27 connectors.
MSP
86
LCD Display
The LCD display is a standard two line times 24 (2x24) character display with a back-light. It consists of a hierarchical LCD display menu system controlled by the five push-button switches. The display allows the user the capability to retrieve and monitor information.
The default display is initially set to show the Product name and unique chassis ID, however the user may optionally set any displayed item as the default. The display is typically updated when interrupted by a pushbutton input from the user. Any item displayed by the front panel can be queried by the host controlling the MSP 1010.
MSP Hardware Product Description
87
LCD Menus
The LCD menus provide the user with means to access, verify, and monitor the information listed below.
The main menus are listed below. Refer to the MSP Installation and Maintenance Guide for detailed display and control, and menu information.
System Info
Physical Span Info
IP Info
Hardware Info
MSP
88
LCD Pushbutton Switches
The five pushbutton switches listed below allow the user to select and display the menu information on the LCD display that are specific to the active MSP 1010 configuration. Each pushbutton switch is interfaced to the main board for control and monitoring. Refer to the MSP 1010 Installation and Maintenance Guide for detailed pushbutton switch control information.
Up
Down
Left
Right
Select
The pushbutton switches also allow the user to initiate hard and soft unit resets as described below.
Hard Reset
Pressing the Up and Down switches simultaneously causes a hard reset of the CPU. A hard reset reloads the processor configuration registers and the FPGA configuration data.
Soft Reset
Pressing the Left and Right switches simultaneously causes a soft reset of the CPU. A soft reset will not reload the processor configuration registers and the FPGA configuration data.
89
ClientView
Conventions Used in ClientView Documentation
ClientView presents the configuration of the MSP 1010 as an Element Management System. All the elements are displayed as individual objects that are created in a hierarchical structure as shown. (These are accessible from right-click menus on the objects.):
Since ClientView allows you to configure your MSP 1010 based on a hierarchy of objects, each object in this documentation has been described in an individual topic. Each object's description explains how to access the configuration pane for that object. For example, this is what you would see:
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP Name -> New Media -> New Media Module -> New Media DSP
The objects described in this book are shown in alphabetical order under ClientView in the table of contents in the web-based documentation.
MSP
90
An Overview of ClientView
ClientView is a real-time Graphical User Interface that allows you to do the following, depending on the Roles a user has been assigned:
Configuration
Ability to graphically configure an MSP 1010 from initial setup to channel configuration. You can apply changes to the connected nodes with simple point-and-click operations.
Monitoring
Real-time view of an MSP 1010 to monitor hardware status, alarm status, and calls in progress. You can examine detailed alarms and statistics without decoding log files.
Provisioning
Allows real-time changes required to maintain optimal processing, including bringing components in or out of service, busying out components, and managing channel groups. You can avoid low level channel and trunk group assignments and maintenance by creating and maintaining trunk groups through the interface.
Main Window
ClientView
91
Panes
The following panes appear in the main window.
Configuration Tree (Top-Left)
This pane contains all of the items that can be configured. You right-click an item to access additional configuration items. Creating an entry in the Configuration Tree opens the corresponding Configuration Pane (top right).
Configuration Pane (Top-Right)
This pane shows the properties of the selected object. You use this pane to view and edit your configuration. The column entitled As Configured shows the current configuration when connected to an MSP 1010. You enter or edit values in the User-Specified column.
Status Pane (Lower-Right)
Object Table - an "at a glance" view of data related to that object
Object Status - status messages relating to that object
System Status - status messages relating to the entire system
Socket Log - used for debugging client/server messaging
Client/Server Monitor Pane (Lower-Left)
This pane shows the activity between ClientView and DataManager.
MSP
92
System Requirements for ClientView
This section describes the recommended minimum system requirements supported with this release of the Multi-Services Platform, ClientView. The ClientView works in conjunction with SwitchKit. To find out more about the operating systems ClientView is supported on, see SwitchKit Supported Operating Environments.
Windows Requirements
To run ClientView on Windows, a host machine with the following minimal specifications is required:
• A minimum of Pentium IV, 1.3 GHz.
• Display resolution: 1024 x 768 pixels
• Free Disk Space: 1 GB
• Memory: 512 MB of RAM
Linux Requirements
To run ClientView on Linux, a host machine with the following minimal specifications is required:
• A minimum of Pentium IV, 1.3 GHz.
• Display resolution: 1024 x 768 pixels
• Free Disk Space: 1 GB
• Memory: 512 MB of RAM
Solaris Requirements
To run ClientView on Solaris, a host machine with the following minimal specifications is required:
• A minimum of Sparc, 360 MHz.
• Display resolution: 1024 x 768 pixels
• Free Disk Space: 1 GB
• Memory: 512 MB of RAM
HP-UX Requirements
To run ClientView on HP-UX, a host machine with the following minimal specifications is required:
• Display resolution: 1024 x 768 pixels
• Free Disk Space: 1 GB
• Memory: 512 MB of RAM
ClientView
93
Installation Process
SwitchKit software must be installed to support ClientView functionality on an MSP 1010. Please check the SwitchKit Supported Operating Environments before installing ClientView.
Before You Begin
If there is a previous version of the ClientView already installed on your system, remove that version.
Windows:
You can remove the program using the Control Panel utility or you can use the Uninstall MSPUserInterface.exe file in your installation folder which by default is:
C:\Program Files\Cantata\installs\MSPUserInterface_version\MSPUserInterface\Uninstall_MSPUserInterface
Version refers to the software release for the installation. For example:
C:\Program Files\Cantata\installs\MSPUserInterface_10.2.1.91\MSPUserInterface\Uninstall_MSPUserInterface
Linux, Solaris, HP-UX:
Use this command:
./Uninstall_MSPUserInterface
from:
/opt/cantata/MSP/MSPUserInterface/Uninstall_MSPUserInterface
Steps
Cantata recommends the following sequence of installations before installing ClientView:
1. Download the system software to your MSP 1010. See Downloading System Software to the MSP.
2. Install SwitchKit. See Installing SwitchKit on Windows. Or, see Installing SwitchKit on UNIX.
Windows Defaults File
During the SwitchKit installation the Defaults file is created in the environment variable, SK_LIB_DIR, which by default is located in C:\Program Files\Cantata \common. This file defines the directory for the proper running of SwitchKit processes. Here is an example of the contents of the Defaults file:
MSP
94
UNIX Defaults File
During the SwitchKit installation the Defaults file is created in the environment variable, SK_LIB_DIR, which by default is located in ./opt/canata/MSP/switchkit. This file defines the directory for the proper running of SwitchKit processes. Here is an example of the contents of the Defaults file:
ClientView
95
Installing ClientView and EventView
On Windows
To install ClientView and/or EventView on a host running Windows, do the following.
1. Transfer the MSP user interface software file (MSPUserInterface.exe) to the host.
2. Go to the location where you stored the file and click the MSPUserInterface.exe file. This will launch the InstallAnywhere installation wizard.
3. If you wish, accept the defaults as each screen appears. On the second screen, you will be given the option to install EventView as well as ClientView by selecting a checkbox.
On UNIX
To install ClientView and/or EventView on a host running Linux, Solaris or HP-UX do the following.
1. Transfer the MSP user interface software file (MSPUserInterface.exe) to the host.
2. Enter the location where you stored the file and type the following:
./MSPUserInterface.bin
3. This will launch the InstallAnywhere installation wizard.
4. If you wish, accept the defaults as each option is presented. You will be given the option to install both EventView and ClientView by selecting the appropriate option.
MSP
96
Open ClientView
Before you start ClientView, the following SwitchKit components should be started in the sequence shown:
1. LLC
2. SwitchManager
3. DataManager
4. AdminManager
1. To start the ClientView, use any one of the methods you specified in your installation. For example, double-click the ClientView icon on your desktop, if using Windows. If you are using Linux, Solaris or HP-UX, type:
./ClientView
2. Close the About ClientView window.
3. In the Client Socket window you must log in. Unless you have been assigned a different user name and password, enter the following:
Username: admin
Password: admin
4. Enter the Host Name or IP Address for the host where the SwitchKit components are running: AdminManager, DataManager, LLC and SwitchManager. If these SwitchKit components are running on the same host as ClientView, use localhost. If the SwitchKit components are running on different hosts, then use the IP address of the host where DataManager resides.
5. Click OK
The ClientView opens.
ClientView
97
You are now ready to begin configuration. See Creating a Configuration for the First Time.
MSP
98
Opening Multiple Instances of ClientView
You can run multiple instances of ClientView. This feature allows more than one user to connect to the SwitchKit controlling the MSP 1010.
Any instance of ClientView connects to the system by first registering with the AdminManager, using a user ID and password. The AdminManager authenticates the user and determines the scope of configuration privileges for that user. The three levels of user privileges are
Monitor (view-only mode)
Provision (limited-access mode)
Configure (full-access mode)
Once authenticated by the AdminManager, ClientView connects to the DataManager. Though multiple instances of ClientView can connect to the system, only one instance can be running with configure privileges. At login, the AdminManager determines whether there is already an instance of ClientView running with configure privileges. If so, any new instance of ClientView that connects to the system is granted either provision or monitor status, depending on the privileges defined for that user. Only when the current user with configure privileges logs off the system, can another user log in and be granted configure privileges.
A prerequisite to this is create additional users as required, with the different levels of privileges.
See Assigning Users in AdminView.
ClientView
99
Using Configuration Files
Creating a Configuration File
A default configuration called "default" is created when ClientView connects to DataManager.
To save the configuration file with a new name:
1. Click Configuration default in the object configuration tree.
2. Enter a new name in the Filename field of the Configuration default pane.
3. Click File->Save Configuration File.
Opening a Saved File
To open this configuration going forward:
1. Select File - Open and Commit Configuration File.
2. Select the desired configuration file.
See Also Upgrading ClientView.
MSP
100
MSP Licensing
ClientView displays your current MSP license information, if it has been installed. Your license must be installed in the installation folder or directory.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Licensing Info
Default Location of License
Windows
C:\Program Files\Cantata\common\license
Linux, Solaris, HP-UX
/opt/cantata/MSP/license
If you have acquired a new license for additional functionality, click the Download Node License button to download the license to the MSP 1010. The license with the most recent timestamp will be downloaded.
The MSP license file name contains a unique serial number of the MSP 1010. The format of the file includes the eight digit serial number followed by the timestamp:
NNNNNNNN_YYYYMMDDHHSS.cfg
If you rename or alter the license file in any way, it becomes unusable.
ClientView Pane
This pane verifies that the MSP 1010 license is valid. If there is no license, See Verifying a license After Failure in ClientView.
MSP
102
Creating a Configuration for the First Time
The following is the first basic procedure towards configuring an MSP using ClientView. Regardless of the object or feature being configured, this part is common to all the configurations. The Configuration object facilitates the communication between the node (MSP 1010) and SwitchKit and serves the purpose of configuring the node and creating a configuration file. This is what is meant by the configuration object in ClientView:
Use the User-Specified column for configuration and double click in the rows below to enter data or edit existing data.
You cannot leave an object configuration pane until it has been successfully configured. See ClientView Indicators.
Steps
1. Right-click Cantata MSP EMS in the left pane and from the drop-down menu select New Node Group.
2. Enter the Filename. A logical MSP is created after you move focus to the next object.
3. In the left pane, right-click the Logical MSP... and from the drop-down menu select New Node.
4. Enter the MSP Name.
5. Click in the cell for the IP Address of the MSP. You will be presented with this dialog box:
ClientView
103
After this IP address is committed, it cannot be edited. If you need to change the IP address, you must delete the node object and create another one. Then, you can enter a new IP address.
6. Click OK.
7. If you want to change the Resend Logic, select another option from the drop-down list.
MSP
104
Downloading a License for Upgraded Capabilities
When you receive upgrades for your MSP (for example, additional SS7 links) you must download the new license to the appropriate MSP 1010.
Steps
1. Ensure that the license file is in the correct folder on the host:
Windows
C:\Program Files\Cantata\common\license
Linux, Solaris, HP-UX
/opt/cantata/MSP/license
2. Right-click the Physical MSP and select MSP Licensing Info.
3. Right-click MSP License Info and select Commit.
4. The MSP Licensing Info ClientView pane appears. Click the Download Node License button.
5. The license downloads to the MSP based on the serial number of the MSP.
ClientView
105
Verifying a license After Failure in ClientView
If the license is not present, ClientView will display a broken lock icon beside the physical node. When you right-click the physical node and select New Licensing Info, no licenses will be shown.
To allow SwitchKit to find your license file, you must first do the following:
1. Ensure that the MSP 1010 license file has been installed in this folder:
Windows
C:\Program Files\Cantata\common\license
Linux, Solaris, HP-UX
/opt/cantata/MSP/license
2. Reset the node. See Resetting a Node.
Configuration should proceed and succeed past licensing verification.
MSP
106
ClientView Indicators
Configuration Fields
The following are the color indicators in Configuration pane fields under User-Specified.
Blue
Indicates a field that can be edited by either entering a value or selecting an option from a drop-down list.
Green
Indicates a field that has been committed and is read-only (cannot be changed).
Beige
Indicates a field that has been edited and not yet committed.
Yellow
Indicates a field that is for informational purposes only and is not configurable.
Progress Indicator
The progress indicator window pops up between configuration of different objects. The colors indicate the status of a commit attempt. When a certain object is being configured on the MSP 1010, the user is blocked from adding new configuration.
Flashing Yellow/Orange
When you send a configuration, the progress indicator flashes yellow/orange and provides text on what process is occurring.
ClientView
107
Gray
When the progress indicator is gray, the configuration was successful.
Red
When the progress indicator is red, the configuration was unsuccessful. At this point you must either fix the problem with the configuration or delete the object.
Mandatory fields
When you have not entered values for all of the mandatory fields of an object and then try to select another object, a dialog box, <object name> Mandatory Fields Empty opens. You can go back to the object by clicking Continue Editing Object or you can select Delete Object and Children.
Icons in Left Pane
You will see the following list of icons in the left pane of the ClientView window.
Committed configuration which is still being processed by Datamanager but has not reached the MSP 1010 is shown with the cached icon. Only when the configuration has reached the MSP 1010 does the icon change to configured.
Here is what the icons indicate:
MSP
110
Help
- Open a configuration file. The configuration is automatically sent to the MSP
- Save the configuration file you are working on
- Exit ClientView
- Delete the object currently selected in the Configuration Tree
- Commit the object currently selected in the Configuration Tree
- Undo any changes made
- Opens all entries in the Configuration Tree
- Closes all entries in the Configuration Tree
- Opens all tree nodes under the selected object
- Opens only direct child nodes under the selected object
- Opens a Client Socket window showing messaging between ClientView and DataManager
- When Auto-Commit is enabled, the entries you make in a pane are automatically saved and downloaded to the MSP when click on another entry in the Configuration Tree. Auto-Commit is enabled by default and cannot be disabled by the user.
IMPORTANT NOTE: Under certain circumstances involving complex messaging between ClientView and GCEMS, Auto-Commit may be disabled and changes you make will not be automatically sent to the MSP. The fields in the Configuration Pane will be orange when this condition exists and the box next to the Auto-Commit selection will not be checked (as shown above). You should re-enable Auto-Commit by selecting Auto-Commit from the Tools menu.
- Select Launch EventView to launch the EventView utility
ClientView
111
- Properties: Configure various attributes of ClientView including, Number of Hosts Retained in History, Auto-Launch EventView, Product Name and Number of Usernames Retained in History.
- Validation Report: Use the Validation Report utility to confirm that your configuration does not contain any errors that may cause improper operation. In the left pane object tree right-click Cantata IMG EMS and select Validation Report.
- Opens the Cantata website in a browser: www.cantata.com
- Provides information on Java Heap statistics, ClientView version, and Environment Variables
- Opens the MSP 1010 web-based Help
- Opens the MSP 1010 API web-based Help
MSP
112
Options Available in Node Configuration
For information on navigating to an MSP 1010 node, see Physical MSP.
The buttons, Reset Node, Clear Software and Download Raw File are found in the Cantata MSP EMS object pane.
Validation Report
This generates a report about the node status.
Help
Access the information about the node object.
Reset Node
This button allows you to perform a reset on your node without losing configuration.
Clear Software
This button allows you to remove all configuration on a node.
Download Raw File
This button is used to send the file, rawapi.cfg. This file allows you to send API messages that are not available through ClientView, such as, custom PPLs. You must create this file or contact Cantata technical support to get one. This file must be located in the config directory before clicking the button. By default, the location would be:
Windows
C:\Program Files\Cantata\common\config
UNIX
/opt/cantata/MSP/switchkit/config
If the messages in the file have logical node IDs different from the node for which the button is pressed, that logical node ID will be overwritten. You can use the same
ClientView
113
rawapi.cfg file for multiple nodes without having to change the file. If a message in the file is NACKed by the MSP 1010, the succeeding messages in the file will not be sent.
Other options available specific to the node object are:
Network Interfaces
Raw API Commands
Facility
Signaling
Media Object
Timing Synchronization Priority List
License Information
Telnet Client
MSP
114
Resetting an MSP 1010
Outlined below are the four methods for resetting an MSP 1010:
Configuration is not maintained on a reset of the MSP 1010.
Use the Reset Node button in the user interface. (This will not work if the license has failed.)
Hold the two horizontal (left/right) arrows next to the LCD screen on the MSP 1010 for five seconds.
Hold the two vertical (up/down) arrows next to the LCD screen on the MSP for five seconds.
Press On/Off Switch on the back of the MSP 1010.
ClientView
115
Importing and Exporting a Signaling Variant
You can import or export a signaling variant based on ISUP. See Signaling Variant. To import or export a signaling variant do the following:
For Importing
Cantata MSP EMS -> Signaling Variants -> Signaling Variant -> Import Variant Entry File
Browse to the file you want to import and Open it.
For Exporting
Cantata MSP EMS -> Signaling Variants -> Signaling Variant -> Export Variant Entry File
Browse to the file you want to import and Open it.
MSP
116
Upgrading ClientView
When you upgrade to a newer version of ClientView, there may be some changes to panes or fields that affect your existing configuration. If there are any such changes detected, a report is generated and displayed in a Configuration File Conversion Report, shown below. The report includes the following information for each change:
REFERENCE OBJECT - The ClientView object that has changed (for example, Cantata MSP EMS).
DESCRIPTION - Identifies what has changed or is missing.
ACTION - Indicates how ClientView will handle the discrepancy.
After reviewing the report, you will have the following options:
Do not configure or save
If the configuration file does not contain object properties that are mandatory with default values, you only have the choice of Do not configure or save.
Configure with changes but do not save
Save with changes but do not configure
ClientView
117
Configure and save with changes
Once you select an option, the Configuration File Conversion window no longer appears.
Report Files
Reports are saved in the following directory:
Program Files\Cantata\common\log\"filename_timestamp.html"
File Changes/Actions
Change Action
Config file has a property that ClientView does not recognize.
Property ignored.
ClientView has a property that the Config File does not contain a value for.
Property is set with the default value.
Config file has a property value that is no longer allowed by ClientView.
Property is set with the default value. Possibly we will keep value and just inform user.
No report generated.
Invalid XML attribute added to Config file by user.
Added attribute will be ignored.
Added element will be ignored and reported in the log file
Required XML attribute/element removed from Config file by user
Attributes/elements are populated with the default value.
Reports are generated.
Property renamed. Property is ignored.
Config file has an object that is no longer in ClientView
Object and all children ignored
Object changed position in the new ClientView hierarchy
Object ignored.
Log generated.
Object name has changed in ClientView.
Should support the backward compatibility. Changes will client and sever side modification to agreed upon Class names. No report logged
Config file format changes to remove another attribute or element
It’s a mandatory attribute; removed attribute will be set with empty string.
MSP
118
Removed element will be set with the default value in the definition file.
Configuration File Missing Mandatory Value
In rare cases, an object may have a mandatory field added where there is no default value populated. In this case you will not be able to open your existing configuration file. The only option available is "Do not configure or save". Contact Technical Support if you see this condition.
ClientView
119
Common Example Configurations
Example Configuration for DS3 Spans
To configure a range of DS3 spans, use the TDM DS3 Wizard.
1. Right-click Facility and select New TDM DS3.
The TDM DS3 object is created with the pane titled as Bearer - DS3 ID:N.
2. Complete the fields as required. See the TDM DS3 pane reference for details.
3. Click the DS3 Wizard button at the bottom of the TDM DS3 pane. The DS3 Wizard pane appears.
4. Enter the Start Logical Span ID.
5. Enter the Starting Offset and the Span Count to identify the range of DS3 spans you are configuring.
6. Click NEXT. The DS3 Physical Span wizard pane opens.
MSP
120
7. Complete the fields as required. See the DS3 Physical Span pane reference for details.
8. Click NEXT to finish to finish this configuration.
Related Topic
Configuring a Single DS3 Span
ClientView
121
Example Configuration for SS7 Voice Circuits
Use this procedure as an example of how to configure SS7 voice circuits. For more information see ISUP Introduction.
Before Your Begin
You must have a T1 Physical Span or an E1 Physical Span Configured.
Configure SS7
To complete SS7 configuration you must configure the following objects in the sequence shown:
1. SS7 object
2. Stack
3. LinkSet
4. Links
5. Route
Configure Routing for ISUP CICs
1. Establish the routing configuration object. See Routing Configuration.
2. Create a new channel group. See Channel Groups.
3. Configure ISUP circuit identification code (CIC) groups. See ISUP Group.
4. Configure the CICs. See Circuit Group.
Now ISUP is configured to route calls.
MSP
122
Example Configuration for SS7 Redundancy
Use this procedure as an example of how to configure SS7 redundancy using ClientView.
To configure using the API, refer to Configuring Redundancy on the SS7.
Before Your Begin
You must have a T1 Physical Span or an E1 Physical Span configured on both MSP 1010s. See T1 Physical Span or E1 Physical Span.
You must configure both the primary and secondary nodes within the same node group.
Configure SS7
To complete SS7 configuration you must configure the following objects in the sequence shown:
1. SS7 object. (From this topic, be sure to click the link to Procedure for Redundant SS7 Objects.)
2. Stack
3. LinkSet
4. Links
5. Route
ClientView
123
Example Configuration for SS7 Monitoring
Use the following sequence to configure SS7 monitoring on your MSP 1010. For more information, see Introduction to SS7 Monitoring.
1. Impedance
It is recommended that you configure high impedance on the logical spans so that the SS7 traffic will not be transmitted to the network side.
2. Sockets
It is recommended that a port number other than 12610 (0x3142) be used.
3. Monitoring Applications
To allow an application to monitor SS7 traffic on the MSP 1010, you must first create a monitoring object. See Monitoring Object. Next, map an application to a socket.
4. Links
You must first create a link configuration object. From this object you select the links you want to monitor. See Monitoring a Link.
5. Filter Rules
From the filter rules menu you must configure these objects:
Links
Service Indicator
Network Indicator
Point Code
MSP
124
Example Configuration for Media Resources
You can change the settings for the digital signal processor (DSP) chips on the MSP 1010. The default settings for the DSP chips are: Universal Generators and Universal Receivers.
If you want to access media resources from an external network interface, such as, a Network File System (NFS) server, you must configure this before making changes to the DSP chips. See NFS Servers.
Steps
Do the following to change the DSP settings on the MSP 1010:
1. Create a Media object.
2. Configure a Media Module.
3. Configure a Media DSP.
If you want to change the configuration of these media resources, click on the links for more details:
Conference Parameters
Echo Cancellation Parameters
PVD Answering Machine
T.30 Parameters
ClientView
125
Example Configuration for SCCP/TCAP
Use the following sequence to configure SS7 SCCP/TCAP on your MSP 1010. For more information, see Introduction to SCCP/TCAP.
1. Create the SCCP/TCAP object.
2. Before you can configure other options using the SCCP-TCAP object, you must configure the Sub-System Number.
Now that the sub-system number is configured, you can configure these options from the SCCP/TCAP object:
TCAP Object Syntax Descriptor
SCCP/TCAP Default Parameter Table
Global Title Translation
You can also configure these options from the sub-system number object:
Adjacent Translator
Other Concerned Point Codes
SSN Default Parameter
Network DPC and SSN
Replicated DPC and SSN
MSP
126
Configuring VoIP Modules
Licensing
If the MSP has two VoIP modules in it, the software will automatically spread all the licenses evenly across the two modules. This process is done in groups of 32 channels, so if there is an odd number of blocks, module 0 will have the extra channels.
Prerequisites (in order)
Network Interface
IP Bearer Profiles
Facility
Steps
1. Right-click Facility and select New Bearer - IP.
2. The VoIP Module pane appears.
Complete the fields as required. For more details see the VoIP Module GUI reference.
Related Topic
VoIP Overview
ClientView
127
Example Configuration for ISDN
Use this procedure as an example of how to configure ISDN on your MSP 1010. For more information see ISDN Introduction.
Use the following sequence:
1. Configure a T1 Physical Span or an E1 Physical Span.
2. Create a Signaling object.
3. Create an ISDN Channels object.
4. Configure an ISDN D channel.
5. Created the Routing Config object.
6. Create a new Channel Configuration Groups object.
7. Configure an ISDN channel group.
8. Configure the ISDN B channels (voice circuits).
Now, ISDN is configured to route calls.
MSP
128
Alphabetical List of Configurable MSP 1010 Objects
Adjacent Translator
By default, all adjacent translators are concerned point codes.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Sub-System Number -> Sub-System Number
-> New Adjacent Translator.
Steps
1. Right-click the Sub-System Number object.
2. Select New Adjacent Translator.
3. Select a point code from the drop-down list which is populated with the already configured destinations in the Route() object.
ClientView
129
BERT Test
Use this object to enable a Bit Error Rate Test (BERT) on a DS1 span or a DS3 span.
Accessing this Pane
Cantata MSP EMS -> Logical MSP-> Physical MSP-> Facility->Bearer->Bearer DS3 Offset->New BERT Test
ClientView Pane
Steps
1. Right-click the Bearer DS3 Offset, and select New BERT Test.
2. For the Test Mode, if you select a DS3 Test under User-Specified, the following pane will appear with the default options populated for the configurable fields.
For the Test Mode, if you select a DS1 Test under User-Specified, the following pane will appear with the default options populated for the configurable fields.
MSP
130
Field Descriptions
Test Mode
Disable (Default)
DS1 Test
DS3 Test
DS1 Offset
Defaults in with DS1 offset.
Monitor/Generate
Monitor only (default)
Generate only
Monitor and Generate
Pattern
All Ones (Default)
Alternating 01
PRBS15
PRBS20
PRBS23
QRSS
User Defined
User Defined Pattern (0xnnnn)
If the pattern is user define, define the pattern in this field.
ClientView
131
Test Pattern Framing
Framed DS1 test Pattern (Default)
Unframed DS1 Test Pattern
The following fields are not configurable:
Monitor Status
Out of synch
Out of Frame
Detecting AIS
Bit Error Detected
Framing Error Detected
BPV Violation
Bits Received (Mbits)
This is the amount of bits received in megabits.
Errors Received
This is the amount of bit errors received
Elapsed Time
This is the length of the time the test has been enabled
Error Mode
This field is not configurable but there is a toggle button below this pane that is used to enable or disable the error mode.
MSP
132
Circuit Group
This pane configures a circuit Identification codes (CICs) group for SS7 ISUP. See Field Descriptions for more information. Follow the steps below.
Accessing this Pane
Cantata MSP EMS -> New Routing Config -> Routing Configuration -> New Channel Configuration Groups -> New ISUP Config Group -> New Circuit Group -> Circuits:Start CIC
1. Right-click the ISUP Config Group and select New Circuit Group.
From the next pane you can configure a range of Span/ Channels under a circuit group. The spans entered here have been previously configured, and the values selected are logical Span ID's. The Start CIC is the Base CIC number and has to be matched with the CIC's configured on the other end.
6. Enter a Start CIC.
7. Right-click and select Commit. You will see the status of the circuits displayed in the lower right pane similar to the following.
ClientView
133
Field Descriptions
MSP Name
The name of the MSP on which the group resides.
Trunk Type
Choices:
T1
E1
Start Channel
Number of the first channel in the group.
Start CIC
Number of the first CIC in the group.
CIC Count
The number of CICs in the group.
Button Description
UpdateStatus
ClientView
135
Conference Parameters
Use this object to change the conference parameters on a DSP chip.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Media -> New Conference Parameters
Pane
MSP
136
Channel Configuration Groups
You create a new channel group by right-clicking on the Routing Configuration object and selecting New Channel Configuration Groups.
Accessing this Pane
Cantata MSP EMS -> New Routing Configuration -> New Channel Configuration Groups
Pane
ClientView
137
DS3 Physical Span
Use this pane to configure a single DS3 span.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> Facility -> TDM DS3 -> New DS3 Physical Span
Maximum Objects
28
ClientView Pane
Steps
1. Right click the object Bearer - DS3 ID:N and select New DS3 Physical Span.
2. Select the options you require for each field under User-Specified.
Field Descriptions
Logical Span ID
The range of values is 0-4095. It defaults to the lowest available span.
Offset
The physical span being configured.
MSP
138
Loop Timing Type
Specifies whether that specific span is used for primary loop timing, secondary loop timing or not.
Primary
Secondary
Not Timing Source
Framing
Specifies whether the framing of the span.
ESF
D4
Signaling
Clear Channel
Line Length
Specifies the length of the T1 line
0-133 ft
134-166 ft
167-299 ft
300-533 ft
534-655 ft
G.703 ITU-T
Line Coding
Specifies the line coding of T1 span.
Bit 7 zero suppressing
B8ZS zero suppressing
Loopback Mode
No Loopback
ClientView
139
Local Loopback
Remote Loopback
Span Status
This non-configurable field shows the status of the span using a combination of the following information:
Receiving Red Alarm
Receiving Yellow Alarm
Receiving Loss of Signal
Receiving Out of Frame
Sending Red Alarm
Sending Yellow Alarm
Receiving AIS
In Remote Loopback
DS1 Loopback Status
This non-configurable field shows the status of a span's loopback status.
No Loopback
Local Loopback
Remote Loopback
DS3 Physical Span Display Table
This table shows all of the DS3 spans configured.
MSP
140
E1 Physical Span
This object specifies the physical format of an E1 logical span. The user will be allowed to configure an E1 span, if the MSP 1010 is configured for E1 via the host flags.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> Facility -> TDM DS1 (of type E1) -> E1 Physical Span
Maximum E1 Physical Span Objects
Only one E1 physical span is allowed per TDM DS1 object.
Technical Notes
When configuring a E1 Physical Span, an E1 logical span ID is configured for the TDM DS1 offset, the logical span ID is based on the following formulas:
Bearer span IDs = (32*Logical_Node_ID) + Physical_Offset
Signaling span IDs = (32*Logical_Node_ID) + 28 + Physical_Offset
It also configures the format of the E1 span based on the parameters selected for the E1 Physical Span offset.
E1 Physical Span ClientView Pane
Field Descriptions
Logical Span ID
The range of values is 0-4095. It defaults to the lowest available span.
Loop Timing Type
Specifies whether that specific span is used for primary loop timing, secondary loop timing or not.
Choices:
Primary
Secondary
Not Timing Source
Coding Method
ClientView
141
Specifies the line coding of that specific span:
Choices:
AMI
HDB3
Enable CRC4
Specifies whether CRC4 error checking is enabled or disabled:
Choices:
True
False
Enable FEBE
Specifies whether FEBE is enabled or disabled:
Choices:
True
False
Line Length
Specifies whether the E1 interface is 75 ohm or 120 ohm.
Choices:
G.703 ITU-T (75 ohm)
G.703 ITU-T (120 ohm)
Signaling Method
Choices:
CAS
Clear Channel
Layer 1 Management
Choices:
E1 Layer 1 Mgmt
Euro-ISDN E1 Layer 1 Mgmt
Austel-ISDM E1 Layer 1 Mgmt
Transmit All Zeros
Specifies whether transmit all zeros is enabled or disabled.
MSP
142
Choices:
True
False
Span Status
This monitoring field indicates the current status of the E1 span.
Button Descriptions
In Service
This button brings the E1 span in service.
Out Of Service
This spans takes the E1 span out of service.
E1 Physical Span Display Table
This table is not applicable for this object.
ClientView
143
Echo Cancel Parameters
Use this object to change the echo cancellation parameters on a DSP chip.
Accessing this Dialog Box
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media -> New Echo Cancellation
Pane
MSP
144
Cantata MSP EMS
This pane is informational only. You do not enter any values.
Accessing This Pane
Cantata MSP EMS -> New Node Group -> Logical MSP -> New Node -> Physical MSP
Here is an explanation of the IP addresses you see in the Cantata MSP EMS object pane:
• IP Address 1 is the IP address set through the SwitchKit environment variable SK_LLC_HOST.
• IP Address 2 is the IP address set through the SwitchKit environment variable SK_RLLC_HOST. Port Number 1 and Port Number 2 default to 1312 unless specified otherwise through environment variable SK_LLC_PORT and SK_RLLC_PORT, respectively.
Right-click Cantata MSP EMS to configure any of the following:
New Node Group
New Routing Config
New Signaling Variants
New External Network Elements
ClientView
145
Facility
This is a container object used to configure TDM or IP facilities. You can use the Facility Wizard to configure a range of spans, or use individual panes for single spans.
NOTE: You must commit the Facility object before you proceed with further configuration.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Facility
Single TDM Span
To configure a single TDM span:
1. Right-click Facility and select New TDM DS1.
2. Complete the fields in the TDM DS1 pane as required See the TDM-DS1 pane reference.
3. Right-click the entry and select New T1 Physical Span or New E1 Physical Span, as appropriate, and complete fields.
See T1 Physical Span pane reference or E1 Physical Span pane reference.
Range of TDM Spans
To configure a range of TDM spans:
1. Right-click Facility.
2. Click the Facility Wizard button.
3. The first pane that appears is the TDM DS1 Wizard Pane. Complete the fields as required and click OK.
4. The next pane that appears depends on whether the span is E1 or T1. See the T1 Physical Span pane reference or E1 Physical Span pane reference.
MSP
146
TDM DS1 Wizard Pane
TDM DS1 Wizard Field Descriptions
Trunk Type
This field is automatically set to T1 or E1 depending on the type of MSP you have.
Component ID
This field specifies whether the TDM DS1 objects to be configured through the wizard are part of the Signaling spans or the Bearer spans.
Choices:
Signaling
Bearer
Start Interface
This field specifies the starting interface to configure. Allowable values will be 0 to 3, if the Component ID is set to ‘Signaling’ and will be 0 –27, if the Component ID is set to ‘Bearer’.
Choices:
0 – 3 (If Component ID is set to Signaling)
0 – 27 (If Component ID is set to Bearer)
Span count
This field specifies how many offsets to be configured including the Start Interface.
ClientView
147
Filter Rules
Use this to filter messages that are sent to host SS7 monitoring applications. See Filtering.
Rules are applied when you press the button, Save Rules Filter, while the Filter Rules object is highlighted.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules.
Pane
Filter Rules Menu
MSP
148
Global Title Entry
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack -> New SCCP/TCAP -> New Global Title Translation -> Global Title Translation -> New Global Title Group -> Global Title Group -> New Global Title Entries.
Steps
1. Right-click the Global Title Group.
2. Select values for the properties that you want to change.
ClientView
149
Global Title Group
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack -> New SCCP/TCAP -> New Global Title Translation -> Global Title Translation -> New Global Title Group.
Steps
1. Right-click the Global Title Translation object and select New Global Title Group.
2. Select values for the properties that you want to change.
MSP
150
Global Title Translation
This object is used to configure a new global title group.
Accessing This Pane
Cantata MSP EMS -> Logical MSP ->Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Global Title Translation.
Steps
1. Right-click the SCCP/TCAP object.
2. Select New Global Title Translation.
Now you are ready to configure a global title group.
ClientView
151
IP Bearer Profile
This object allows the user to define a set of VoIP parameter values such as Silence Suppression, Echo Cancellation and RTP Redundancy. You cannot change an existing IP Bearer Profile because it could be in use by a VoIP Module. You need to create a new IP Bearer Profile rather than change an existing one.
Accessing this Pane
Cantata MSP EMS-> New IP Bearer Profiles-> New IP Bearer Profile
Maximum Objects
A maximum of 16 IP Bearer Profiles can be defined.
Technical Notes
When configuring an IP Bearer Profile, the following happens:
A record is added for each profile that is created. When the desired number profiles has been added, the user should then press the “Save Profiles” button in the IP Bearer Profiles object. This causes DataManager to build and send a resource table with all the records to each of the Logical MSPs.
ClientView Pane
This pane shows the default values under the User-Specified column.
Steps
Enter a name for the IP Bearer Profile. Select options in the fields that can be modified. See the Field Descriptions below.
MSP
152
Field Descriptions
IP Bearer Profile Name
This value provides a name to the profile being defined. This value is subsequently used in the Channel Group object to specify the IP Bearer Profile instance.
Silence Suppression
During a normal voice conversation, much of the time is wasted on silence from one or both ends. Bandwidth can be conserved if, during these periods of silence, RTP packets are sent with silence-encoded, compressed payloads.
The MSP Silence Suppression feature supports the concepts of Voice Activity Detection (VAD) and Comfort Noise Generation (CNG). When enabled, Silence suppression will
not send RTP traffic during periods of silence, saving bandwidth usage. Also, at the beginning of a silence period, a single packet will be sent to the distant end to inform it that a period of silence is being entered, and that the distant end should begin to regenerate comfort noise to its TDM stream.
Choices:
Enable: Silence Suppression is used
Disable: Silence Suppression is not used
Echo Cancellation
This feature eliminates TDM-side echo introduced by impedance mismatched hybrids. The echo canceller is G.168 compliant.
Choices:
Enable: Echo Cancellation is used
Disable: Echo Cancellation is not used
RTP Redundancy
This feature provides RTP packet redundancy to guard against network packet loss (RFC 2198). This applies to RTP traffic in voice or fax/modem bypass calls.
Choices:
No Redundancy: RTP Redundancy is not used
Redundancy Level 1: RTP Redundancy at Level 1 is used.
RTP Payload Type for Redundancy
This numeric value (96-101, 104, 106-127) defines the packet type used for RTP Redundancy. If RTP redundancy is disabled, the Payload Type should be set to Not
ClientView
153
Used. In addition, values for Digit Relay Packet Type and RTP Payload Type for Redundancy cannot be the same.
Fax Mode
This defines the mode of operation for Fax Calls.
Choices:
Enable Relay: The fax is delivered using T.38 packets.
Enable Bypass: The Fax Bypass codec is used while sending the fax. This functionality is not supported for the AMR and EVRC codecs.
Fax Bypass Codec
This is the codec the user wishes to use when the Fax Mode is set to Enable Bypass
Choices:
G711 ulaw: 64 kbps North American
G711 alaw: 64 kbps ITU
Fax Packet Redundancy
This feature provides Fax packet redundancy to guard against network packet loss. This is only applicable to Relay Fax Mode.
Choices:
No Redundancy: Fax Redundancy is not used
Redundancy Level 1: Original payload is duplicated one time
Redundancy Level 2: Original payload is duplicated two times
Redundancy Level 3: Original payload is duplicated three times
Digit Relay
This setting specifies the method to use to propagate DTMF digits.
Choices:
DTMF In-band: Digits are sent in the same packets as the voice
DTMF Packetized: Digits are sent in separate packet type (defined by RFC 2833) using payload type specified by the Digit Relay Packet Type
DTMF via H.245 UII (out-of-band, IP suppressed): Digits are propagated using H.245 signaling. This option is not applicable for SIP signaling.
Digit Relay Packet Type
This numeric value (96-101, 104, 106-127) defines the packet type used for Digit Relay.
MSP
154
Modem Behavior
Choices:
Bypass: Switches to another codec when you are in a modem call. The codec that you switch to is specified in the Fax Bypass Codec field. For example, if you are using a low bit rate codec, such as G.729, a modem or fax call will probably not be successful. So in this case the MSP changes the codec to what is configured in the Fax Bypass Codec field.
Initial Inactivity Timer (10ms)
This timer defines the maximum amount of time the switch will initially wait for UDP data before generating an event.
Media Inactivity Timer (10ms)
This timer defines the maximum amount of time the MSP will wait for subsequent UDP data before generating an event.
Minimum Jitter Buffer Delay
The range of legitimate values is 0-150 millisecond units.
Maximum Jitter Buffer Delay
The range of legitimate values is 150-300 millisecond units.
Payload Type
This field specifies the desired payload size for the Vocoder entry.
Choices:
G711 alaw
G711 ulaw
G726 16 Kbps
G726 24 Kbps
G726 32 Kbps
G726 40 Kbps
G723 5.3 Kbps
G723 6.3 Kbps
Preferred Payload Size
Choices:
10
20
30
ClientView
155
40
50
60
Type of service Parameters
TOS: Precedence
Choices:
Routine
Priority
Immediate
Flash
Flash Override
CRITIC/ECP
Internetwork Control
Network Control
TOS: Delay
Choices:
Normal Delay
Normal Throughput
Normal Reliability
Normal Cost
TOS: Throughput
Choices:
Normal Throughput
High Throughput
TOS: Reliability
Choices:
Normal Reliability
High Reliability
TOS: Cost
Choices:
Normal Cost
Low Cost
MSP
156
IP Bearer Profile Display Table
This table lists the Supported Vocoders to be used by SIP or H.323 for codec negotiation during call. The entries are listed in descending priority
ClientView
157
IP Bearer Profiles
Use this object to configure an IP Bearer Profile. To configure an IP Bearer Profile, see IP Bearer Profile.
Accessing this Pane
Cantata MSP EMS-> New IP Bearer Profiles
MSP
158
ISDN D Channels
The ISDN object is the high-level parent object for all ISDN configuration.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> New Signaling-> New ISDN
ClientView
159
Congestion Threshold
Use this object to configure an ISDN D Channel congestion threshold.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> Signaling -> ISDN -> ISDN D Channels -> New Congestion Threshold
Pane
MSP
160
ISDN Circuits: B Channels
Use this object to configure ISDN B channels.
Accessing this Pane
Cantata MSP EMS ->New Routing Config-> New ISDN Group -> ISDN Circuit Group
Pane
ClientView
161
ISDN D Channel
Use this object to configure ISDN D channels. After the D channels are configured you can create a new ISDN group, and then add spans and B channels.
Before You Begin
You must have bearer spans (TDM DS1 objects) previously configured in order for the primary span and secondary span fields to be populated. See E1 Physical Span or T1 Physical Span.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> Signaling-> ISDN D Channel-> ISDN D Channel-> New ISDN D Channel
Pane for an E1 Span
Pane for an T1 Span
Field Descriptions
Primary Span
MSP
162
The span on which the primary D Channel is located.
Primary DChannel
The channel on which the primary D Channel is located.
NFAS Supported
This field is only available for T1 configuration.
Yes
No
Secondary Span
This field is only available for T1 configuration.
Select Not Used if you are not configuring secondary spans. Otherwise, select a span.
Secondary DChannel
This field is only available for T1 configuration.
Select Not Used if you are not configuring secondary channels. Otherwise, select a channel.
Base Variant
The base ISDN variant options for E1 spans are:
Euro-ISDN 2 Network Side (default)
Euro-ISDN User Side
The base ISDN variant options for T1 spans are:
National-ISDN 2 Network Side (default)
National-ISDN User Side
ATT 4ESS Q.931 PRI
ATT 5ESS Q.931 PRI
Northern Tel DMS-100 Q.931 PRI
Northern Tel DMS-250 Q.931 PRI
ClientView
163
HDLC Bit Polarity
Normal (default)
Inverted
Network Side Layer 2 Override
Network (default)
User
Location
The value populated in the Location parameter in the Cause information element when a call is released.
User (0 - Message Generated by User) (default)
Local Private Network (1 - Message generated by private network serving the local user)
Local public network (2 - Message generated by public network serving the local user)
Transit network (3 - Message generated by transit network)
Remote public network (4 - Message generated by public network serving the remote user)
Remote private network (5 - Message generated by private network serving the remote user)
International network (7 - Message generated by international network)
Network Beyond Interworking Point (0A - Message generated by network beyond inter-working point)
Display Table
This table shows all of the D Channels configured
MSP
164
D Channel Entity
Use this object to configure an ISDN D Channel entity.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> Signaling -> ISDN -> ISDN D Channels -> New D Channel Entity
Pane
Field Descriptions
D Channel Physical Medium
64 kbps (T1/E1/J1)
B Channel Selection Mode
Disabled
Linear Clockwise
Linear Counter Clockwise
Circular Clockwise
Circular Counter Clockwise
Layer 4 Channel Release Request on ISDN Disconnect
Do not send host Channel Release Request on ISDN Disconnect
Send host Channel Release Request on ISDN Disconnect.
Protocol Discriminator Value for Maintenance Messages
0x03
ClientView
165
0x0A B Channel Encoding for Transmission
Channel Number
Slot Map
Fill Mask Functionality
Enter a range
MSP
166
ISDN Group
The is object is used to configure an ISDN group. Next, you can configure an ISDN circuit.
Accessing this Pane
Cantata MSP EMS-> New Routing Config-> New Channel Configuration Groups->New ISDN Group
Pane
Field Information
ISDN D Channel
Select a previously configured D channel.
Network Type
Do Not Include Network-Specific Facilities (NSF) IE
ATT Software Defined Network
ATT Megacom 800 Service
ATT Megacom
ATT Accunet
ATT Long Distance Service
ATT International 800
ClientView
167
ATT Multiquest
Bearer Capabilities Allowed
Voice
3.1 KHz Audio
Unrestricted 56K
Unrestricted 64K
Restricted 64K
384K
7.1 KHz Audio
Outgoing Information Transfer Capability
Voice (Default)
Modem(3.1 KHz audio)
56 KBPS
64KBPS
64KBPS Restricted
Ho (Information Transfer Rate 384 Kbps)
H11 (Information Transfer Rate 1536 Kbps)
Multi-rate
Calling Number Type
Unknown
International Number
National Number (Default)
Subscriber Number
Abbreviated Number
Calling Number Plan ID
Unknown
ISDN Numbering Plan/Recommendation E.164/E.163
Private Numbering Plan
Telephony Numbering Plan
MSP
168
Calling Screening Indicated
User provided, not screened (Default)
User provided, verified and passed
User provided, verified and failed
Network provided
Called Number Type
Unknown type of number
International Number
National Number (Default)
Subscriber Number
Abbreviated Number
Called Number Plan ID
Unknown numbering plan (Default)
ISDN Numbering Plan/Recommendation E.164/E.163
Private Numbering Plan
Telephony Numbering Plan
Request for Service Format
BCD Encoded
Formatted ICB
Exact Frame
Send ALERTING Request to L3P
Send
Do Not Send
Send DISCONNECT INDICATION to L5
Disable (Default)
ClientView
169
Enable
Send ALERTING INDICATION to host
Disable (Default)
Enable
Send PROGRESS to host
Disable (Default)
Enable
Send CONNECT to host
Disable (Default)
Enable
Send RELEASE (COMPLETE) to host
Disable (Default)
Enable
Send Call Proceeding event to host (on receipt of CALL PROCEEDING indication from network)
Disable (Default)
Enable
Send Outseize ACK event to host (on receipt of CALL PROCEEDING indication from network)
Disable (Default)
Enable
Overlap Receive mode
This field is not visible if the physical spans are T1.
MSP
170
Disable (Default)
Enable
Overlap Receive Supported Digit Length
This field is not visible if the physical spans are T1.
Select a value for the length.
Answer Supervisor Mode
0x00 Propagate Answer to Distant End (default)
0x01 Notify Host of Answer
0x02 Propagate Answer to Distant End and Notify Host of Answer
0x03 No Answer Supervision – No propagation of answer or notification
Local End Release Mode
0x01 Park Channel
0x02 Release Release (Default)
Distant End Release Mode
0x01 Park Channel
0x02 Release Release (Default)
PCM Encoding Format
Disable
0x01 µ-law encoded PCM (North America & Japan)
0x02 A-law encoded PCM (Europe)
ClientView
171
ISDN Timers
Use this object to configure an ISDN D Channel timer.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> Signaling -> ISDN -> ISDN D Channels -> New ISDN Timers
ClientView Pane
MSP
172
ISUP Group
This object allows you to create an ISUP group and set attributes for this group. You must have previously configured an SS7 stack.
Accessing this Pane
Cantata MSP EMS -> New Routing Config -> Routing Configuration -> New Channel Configuration Groups -> New ISUP Config Group
Steps
1. Right-click Cantata MSP EMS and select New Routing Config. A Routing Configuration object is created.
2. Right-click the Routing Configuration object and select New Channel Configuration Groups. A New Channel Configuration Groups object is created.
3. Right-click the New Channel Configuration Groups object and select New ISUP Config Group. The following displays in the right pane.
4. Enter a Group Name.
5. Select the OPC-DPC you want to use.
6. Select the values you wish to use for the following:
Answer Supervisor Mode
0x00 Propagate Answer to Distant End
0x01 Notify Host of Answer
0x02 Propagate Answer to Distant End and Notify Host of Answer
0x03 No Answer Supervision - no propagation of answer or notification
Local End Release Mode
0x00 Park Channel
ClientView
173
0x01 Release Channel (Default)
Distant End Release Mode
0x00 Park Channel
0x01 Release Channel (Default)
Request for Service With Data
0x00 Raw ISUP
0x01 BCD Digits
PCM Encoding Format
0x00 u-Law encoded PCM (E1)
0x01 a-Law encoded PCM (T1)
You are ready to configure the ISUP circuit group. See configuration of a Circuit Group.
MSP
174
License Information
ClientView displays your current MSP license information, if it has been installed. Your license must be installed in the installation folder or directory.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Licensing Info
Default Location of License
Windows
C:\Program Files\Cantata\MSPSwitchKit\license
Linux, Solaris, HP-UX
/opt/cantata/MSP/license
If you have acquired a new license for additional functionality, click the Download Node License button to download the license to the MSP 1010. The license with the most recent timestamp will be downloaded.
The MSP license file name contains a unique serial number of the MSP 1010. The format of the file includes the eight digit serial number followed by the timestamp:
NNNNNNNN_YYYYMMDDHHSS.cfg
If you rename or alter the license file in any way, it becomes unusable.
ClientView Pane
This pane verifies that the MSP 1010 license is valid. If there is no license, See Verifying a license After Failure in ClientView.
MSP
176
Link Configuration
Use this object to set up monitoring of SS7 links.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> New Link Configuration
Note
To monitor SS7 links you must select previously configured high impedance spans.
ClientView
177
Node Group
The node group object is used to configure a node. Selecting the Node Group menu item creates the Logical MSP.
Accessing this Pane
Cantata MSP EMS -> Logical MSP
You must enter a name in under the User-Specified column.
MSP
178
Logical Spans
Use this object to map a logical span ID to a physical location. You must assign a unique ID to each span in the system before you can configure any spans or channels.
Before You Begin
You must have previously configured the physical T1 or E1 spans on your MSP 1010.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> Facility -> Bearer -> New T1 Physical Span -> Logical Span ID
Or, if you are configuring E1 spans:
Cantata MSP EMS -> Logical MSP -> Physical MSP -> Facility -> Bearer -> New E1 Physical Span -> Logical Span ID
Logical Span Pane
Configuration
Select values from the drop-down menus in the User-Specified column for the following:
Logical Span ID (1-4095)
Loop Timing Type
Framing
Signaling
Line Length
Line Coding
Impedance
Span Status
This monitoring field indicates the current status of the E1 or T1 span.
ClientView
179
Media DSP
This pane configures functions on a DSP chip. After a media DSP chip on the media module has been configured and committed, you have the option of taking it out-of-service and bringing it in-service using the buttons in ClientView.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media -> New Media Module -> New Media DSP
Maximum Media DSP Objects
2
Media DSP Pane
Field Descriptions
DSP Id
Indicates the DSP chip.
Receive 0 Configuration
Indicates the function configured for the Receive 0 DSP.
Transmit 0 Configuration
Indicates the function configured for the Transmit 0 DSP.
Receive 1 Configuration
Indicates the function configured for the Receive 1 DSP.
Transmit 1 Configuration
ClientView
181
Media Module
This pane configures a DSP module on the MSP.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media -> New Media Module
Maximum Media Module Objects
1
Media Pane
Field Descriptions
Module Interface Id
Media Module 0
Media Module 1
Module Name
On-Board
Media Module
MSP
182
Media
Use this object to configure media resources. The available media resource options are:
Conference Parameters
Echo Cancellation
PVD-Answering Machine
T.30 Fax Parameters
DSP Alarm Thresholds
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media
ClientView Pane
ClientView
183
Monitoring Object
This is a container object used to set up monitoring SS7 traffic.
Accessing this Pane
Cantata MSP EMS -> New Signaling -> Signaling -> New Monitoring
Menu Options
The menu options shown here are available for configuration:
See Example Configuration for SS7 Monitoring.
MSP
184
Monitor Application
Use this object to specify a type of monitoring application.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Monitoring Application
Configuration Pane
Steps
1. Select an option for the Application Type:
SigView
SCCP-TCAP
ISUP
2. Enter an Application ID.
3. Enter a Logical Socket ID.
ClientView
185
Monitoring Application Map
Use this object to map a monitoring application to a socket.
Before You Begin
You must have a socket configured for multiple hosts. See Sockets for Multiple Hosts.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> New Application Map
Steps
1. Select an Application ID.
2. The Logical Socket ID is automatically populated after you have created a socket for multiple hosts. If there is more than one configured, select one.
MSP
186
Link
Use this to configure monitoring of an SS7 link.
To monitor SS7 links you must select previously-configured high impedance spans.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> Link Configuration -> New Link
The fields in the Link pane populate automatically since your physical spans already configured.
The Application ID by default is configured as None. If you select an application ID, then the host will receive reports on a high volume of MTP2 traffic.
ClientView
187
Links
Use this object to apply filter rules to a monitored SS7 link.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules -> Filter Rules -> New Link
MSP
188
Point Code
Use this to filter originating (OPC) and destination (DPC) point codes when monitoring SS7 signaling.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules -> Filter Rules -> Filter Rules -> New Point Code.
ClientView
189
Additional Applications
Use this to filter applications when monitoring SS7 signaling.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules -> New Additional Applications.
MSP
190
Service Indicator
Use this to enable or disable signal units and SS7 user parts when monitoring SS7 traffic.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules -> Filter Rules -> New Service Indicator.
ClientView
191
Multi-Host Socket
The MSP 1010 allows you to configure sockets for up to three hosts. The range of Logical Socket IDs is 0-2. The default Port Number 0 is assigned logical socket ID 12610 (0x3142). Port Number 1 and Port Number 2 can be assigned any logical socket ID: 1-65535.
To configure sockets for multiple hosts do the following:
1. Add a Network Interfaces object.
2. Right-click the Network Interfaces object in the left pane and select New Multi-Host Socket.
3. Select a Logical Socket ID.
4. Enter a Port Number.
MSP
192
Network DPC and SSN
Use this to configure the Destination Point Code (DPC) and remote subsystem number.
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Sub-System Number -> Sub-System Number
-> New Network DPC and SSN.
Steps
1. Right-click the Sub-System Number object.
2. Select New Network DPC and SSN.
3. Select a point code from the drop-down list which is populated with the already configured destinations in the Route() object.
4. For Remote SSN, select from the drop-down list which shows a range 2-255.
Note
When configuring DPC and SSN as a network DPC/SSN of a local SSN, the local SSN will be informed about any status changes of that network DPC/SSN.
ClientView
193
Network Indicator
Use this to set filter rules when monitoring SS7 signaling.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling -> New Monitoring -> Monitoring -> New Filter Rules -> Filter Rules -> New Network Indicator.
MSP
194
Network Interface
Allows you to configure a network interface such as, a Network File System (NFS) client, on a control, data, or signaling port.
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Network Interfaces-> New Network Interface
ClientView Pane
Field Descriptions
Physical Interface
This interface is the CPU profile.
Logical Interface
Choices:
Redundant Control
Redundant Data
Address Type
The only address type used is IP V4.
ClientView
195
IP Address
If the CPU profile’s IP address is on the same subnet as an existing profile, it must use the same logical interface.
Please note that the IP address assigned using BootP is automatically bound to the Redundant Control interface.
If the CPU profile’s IP address in on its own subnet, any of the logical interfaces can be used.
Subnet
Default Gateway
MSP
196
Network Interfaces
This object is used to create a network interface. See Network Interface.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Network Interface
ClientView
197
NFS Servers
Use this object to configure a Network File System (NFS) server. To configure an NFS Server, see NFS Server.
Accessing this Pane
Cantata MSP EMS-> New External Network Elements-> NFS Servers
MSP
198
Node Object
The node object is used to create a physical MSP. See also, Options Available in Node Configuration.
Accessing this Pane
Cantata MSP EMS -> New Node Group -> Logical MSP -> New Node -> Physical MSP
1. Right-click Cantata MSP EMS in the left pane and from the drop-down menu select New Node Group.
2. Enter the Filename. A logical MSP is created.
3. In the left pane, right-click the Logical MSP... and from the drop-down menu select New Node.
ClientView
199
4. Enter the MSP Name.
5. Enter the IP Address of the MSP you are configuring by using this window:
After this IP address is committed, it cannot be edited. If you need to change the IP address, you must delete the node object and create another one. Then, you can enter a new IP address.
6. Click OK.
7. If you want to change the Resend Logic, select another option from the drop-down list.
MSP
200
NFS Server
This pane configures an Network File System (NFS) Server from which the MSP 1010 will retrieve media files.
Accessing this Pane
Cantata MSP EMS-> New External Network Elements-> NFS Servers-> NFS Server
Maximum NFS Server Objects
8
NFS Server Pane
Field Descriptions
NFS Server Id
This is a logical number (1-8) that identifies each NFS server configured. It is automatically populated with the next available number, but can be changed.
NFS Server Enabled
This field indicates if the server is enabled or disabled
Choices:
Disabled: Do not allow this server to be used.
Enabled: Allow this server to be used.
NFS Server Name
A label used to identify the NFS server.
NFS Server IP Address
IP Address of the NFS server.
NFS Mount Directory
This is the location of the directory that is to be mounted. The directory must start with “/” or “\\”.
MSP
202
Other Concerned Point Codes
For an SSP or SCP, point codes which must be informed about local subsystem (MSP 1010) status changes are referred to as concerned point codes.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Sub-System Number -> Sub-System Number
-> New Other Concerned Point Codes.
Steps
1. Right-click the Sub-System Number object.
2. Select New Other Concerned Point Codes.
3. Select a point code from the drop-down list which is populated with the already configured destinations in the Route() object.
.
Notes
If you configure an OPC as an Other Concerned Point Code of a local SSN, then any local SSN status change will be reported to that point code.
The Adjacent Translator will by default, be considered as a concerned point code and will be informed about a local SSN status change.
ClientView
203
Physical MSP
This object creates a physical MSP 1010 node. Use the User-Specified column for configuration. Click or double-click in a cell (blue or beige) to edit or enter a value.
These buttons can be used to change your node configuration. See Options Available in Node Configuration for more details.
Reset Node
Clear Software
Download Raw File
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> New Node -> Logical MSP Name
Steps
Do the following to create a physical MSP.
1. Right-click the logical MSP created in the left pane and select New Node. The right panes shows the configuration options for the physical MSP.
Automatically Populated Field: Logical MSP ID = Next Available Number
2. In the MSP Name field, enter a name.
3. In the IP Address field, enter the IP Address of this physical MSP.
Automatically Populated Field: MSP Type = 1010
MSP
204
4. If you want to change the Resend Logic, select another option for the drop-down list.
If you see a STOP sign icon beside the physical node, this means that the license file failed. See License Information
ClientView
205
PVD and AMD Parameters
Use this object to change the PVD (Positive Voice Detection) and AMD (Answering Machine Detection) parameters on a DSP chip.
Accessing this Dialog Box
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media -> New PVD Answering Machine
Pane
MSP
206
Raw API Command
The file format used for sending raw API commands is *.hex.
The file should contain hexadecimal only, it should not include comments or backslashes.
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Raw API Cmds -> New Raw API Cmd
ClientView
207
Raw API Commands
This is a container object for creating a new raw API command file. Before you create a new Raw API Command object, you must create a *.hex file in your installation directory which by default is:
Windows:
C:\Program Files\Cantata\common\config
UNIX:
/opt/cantata/common/config
To create a new Raw API Command, see Raw API Command.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Raw API Cmds
MSP
208
Configuring a Range of Signaling Spans
You configure a range of signaling spans with the Facility Wizard.
To configure individual spans, see Configuration for a E1 Physical Span, and T1 Physical Span.
Prerequisites
Creating a Physical MSP
Configurating a facility
Steps
1. Right-click Facility.
2. Click the Facility Wizard button.
3. Complete the fields. Be sure to select Signaling for the Component ID.
4. Click OK.
5. The next pane depends on whether you are configuring a T1 span or E1 span. Complete the fields as required.
ClientView
209
Remote User Part
To configure a remote user part you must have already configured an SS7 stack. See SS7 Stack.
1. Right-click the SS7 stack.
2. Select New Remote User Part from the drop-down menu.
3. Select the type of user part that you want to reside on a remote host.
4. Select the appropriate Logical Socket ID.
MSP
210
Replicated SSN
Use this to configure the replicated destination point code and subsystem number.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Sub-System Number -> Sub-System Number
-> New Replicated DPC and SSN.
Steps
1. Right-click the Sub-System Number object.
2. Select New Replicated SSN and DPC.
3. For Replicated DPC, select a point code from the drop-down list which is populated with the already configured destinations in the Route() object.
4. Select a Replicated SSN from the drop-down list.
5. Select a Priority from the drop-down list.
ClientView
211
Routing Configuration
This is a container object used to configure channel groups and application routing groups.
Accessing This Pane
Cantata MSP EMS -> New Routing Config
MSP
212
SCCP/TCAP
Do the following to configure SCCP/TCAP.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack -> New SCCP/TCAP.
Before You Begin
You must have the SS7 stack, link sets, links and routes already configured. You must have at least two stacks configured.
Steps
1. To configure SCCP/TCAP you must first have enabled the relevant ANSI or ITU specification on the SS7 stack.
2. Right-click the stack for which SCCP/TCAP will be configured and select New SCCP/TCAP. The SCCP/TCAP object is created.
MSP
214
SCCP-TCAP Default Parameter Table
This table contains the default parameters used by SCCP and TCAP for all sub-systems associated with a stack.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New SCCP/TCAP Default Parameter Table.
Steps
1. Right-click the SCCP/TCAP object.
2. Select New SCCP/TCAP Default Parameter Table.
3. Enter the Parameter Type (16 Bits).
4. Enter Parameter Value.
.
ClientView
215
Signaling Object
The signaling object is used to configure SS7 and ISDN and to monitor SS7 traffic. See Example Configuration for SS7 Voice Circuits, Example ISDN Configuration, and Example Configuration for SS7 Monitoring.
Accessing this Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> New Signaling -> Signaling
MSP
216
Configuring a Range of Signaling Spans
You configure a range of signaling spans with the Facility Wizard.
To configure individual spans, see Configuration for a E1 Physical Span, and T1 Physical Span.
Prerequisites
Creating a Physical MSP
Configurating a facility
Steps
1. Right-click Facility.
2. Click the Facility Wizard button.
3. Complete the fields. Be sure to select Signaling for the Component ID.
4. Click OK.
5. The next pane depends on whether you are configuring a T1 span or E1 span. Complete the fields as required.
ClientView
217
Signaling Variant
You can create a signaling variant based on ISUP variants. It is also used to import a pre-packaged SS7 variant file provided by Cantata Technology. SS7 Signaling variants are used to modify the base variants that are specific to certain countries or based on regulatory needs.
NOTE: Once a custom variant is assigned to a stack, you cannot modify or delete an existing entry in the variant. You can add new entries, however.
Maximum Signaling Variant Objects
10
Technical Notes
When configuring a Signaling Variant, the following happens:
A new variant is created; the user can then configure an SS7 stack based on that variant. The appropriate messages will be sent to the physical MSP at the appropriate time in the configuration automatically. For example, if you create an SS7 variant and under that variant the SS7 Route components are modified, those modifications are sent to the physical MSP only when an SS7 route is configured under an SS7 stack based on the created variant.
Accessing this Pane
Cantata MSP EMS -> New Signaling Variants -> New Signaling Variant
Steps
1. Right-click Cantata MSP EMS in the left pane and select New Signaling Variants from the menu.
2. Right-click the Signaling Variants object in the left pane, and select New Signaling Variant.
MSP
218
3. Enter the Variant Name.
4. Select the Base Variant.
5. Right-click and Commit.
Field Descriptions
Variant Name
This field specifies the name of the SS7 variant to be created.
Variant Type
This field specifies the type of protocol for this variant.
Choices:
SS7
Base Variant
This field specifies the base variant that this SS7 Signaling variant is based on.
Choices:
ANSI 97
ANSI 95
ANSI 92
ITU 97
ITU 93
CCITT 88
ETSI V1
ETSI V2
ETSI V3
Variant Id
This field specifies the ID of the Signaling variant. Allowable values are 1 to 10.
ClientView
219
Signaling Variants Object
This is a container for creating custom SS7 variants.
Accessing this Pane
Cantata MSP EMS -> New Signaling Variants
MSP
220
Multi-Host Socket
The MSP 1010 allows you to configure sockets for up to three hosts. The range of Logical Socket IDs is 0-2. The default Port Number 0 is assigned logical socket ID 12610 (0x3142). Port Number 1 and Port Number 2 can be assigned any logical socket ID: 1-65535.
To configure sockets for multiple hosts do the following:
1. Add a Network Interfaces object.
2. Right-click the Network Interfaces object in the left pane and select New Multi-Host Socket.
3. Select a Logical Socket ID.
4. Enter a Port Number.
ClientView
221
SS7
The SS7 object is the high-level parent object for all SS7 configuration. This object also specifies the SS7 redundancy state. See Procedure for Redundant SS7 Objects. An SS7 object can be either StandAlone or Primary. There can be only one SS7 object per logical MSP. To configure a non-SS7 redundant MSP 1010, select StandAlone in the Redundancy Configuration Property of the SS7 object. After StandAlone is selected for the Redundancy Configuration Property, you can no longer configure the Peer Logical Node ID Property. The Peer Logical Node ID Property is only required when configuring an SS7 redundant system. If there is more than one node in the logical MSP, nodes other than the node that has been configured as StandAlone will be configured as remote SS7 nodes.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> New Signaling-> New SS7
Maximum SS7 Objects
Only one SS7 object is allowed per logical MSP (node group). A maximum of four SS7 stacks are allowed per configuration.
Technical Notes
If StandAlone is selected, all the other nodes in the same Node Group can be configured as SS7 remote nodes. If Primary is selected, the node that is identified in the Peer Logical Node ID field is configured as the SS7 redundant Secondary. Any additional nodes in that Node Group can be configured as SS7 remote nodes.
SS7 ClientView Pane
MSP
222
Field Descriptions
Redundancy Configuration
This field specifies the state of the SS7 state machine
Choices:
StandAlone: A single physical MSP with no redundancy or the SS7 server node in a multi-node logical MSP.
Primary: Primary physical MSP, which will support SS7 links ID: 0 – 63. It has to be informed about its Secondary node ID.
Peer Logical Node ID
This field specifies the primary or secondary physical MSP nodes in the case of a redundant configuration.
Host Link Failure (HLF)
This field allows you to enable or disable the host link failure detection and handling feature. This is disabled by default.
HLF Timeout
This field allows you to set the number of seconds before the host link failure detection and handling logic starts.
HLF SCCP Behavior
This field allows you to set how SCCP will respond to a host link failure.
Component State
This monitoring field displays the state of the SS7 state machine.
Button Descriptions
Switch Over
This button forces an SS7 state machine switchover.
SS7 Display Table
The table is not used for this object.
MSP
224
SS7 CIC
Accessing this Pane
Cantata MSP EMS -> New Routing Config -> Routing Configuration -> New Channel Configuration Groups -> New ISUP Config Group -> New Circuit Group -> Circuits:Start CIC
Steps
1. Right-click Cantata MSP EMS and select New Routing Config. A Routing Configuration object is created.
2. Right-click the Routing Configuration object and select New Channel Configuration Groups. A New Channel Configuration Groups object is created.
3. Right-click the New Channel Configuration Groups object and select New ISUP Config Group. The following displays in the right pane.
4. Enter a Group Name.
ClientView
225
SS7 Link
This object identifies an SS7 link within an SS7 link set to an APC. If you have configured redundant MSPs, see Redundancy Procedure for SS7 Links Object.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP-> SS7 -> SS7 Stack -> SS7 Link set -> SS7 link
Maximum SS7 Link Objects
A maximum of 64 links are allowed per physical MSP, adding up to 128 links for a redundant pair.
Technical Notes
When configuring an SS7 Link, the following happens:
An SS7 link is assigned on a specific channel/offset. The link will go into the alignment procedure trying to align and come in service.
SS7 Link ClientView Pane
Field Descriptions
Primary/Secondary
This field specifies whether the SS7 link is supported by the primary or secondary physical MSP.
Choices:
Primary
Secondary
Link ID
This field specifies the SS7 link ID. Link ID 0 – 63 are allowed for the primary physical MSP, while link ID 64 – 127 are allowed for the secondary physical MSP.
Logical Span ID
This field specifies the logical span ID that the SS7 link will reside on.
Channel
This field specifies the channel from the physical offset (span) chosen in the previous field on which the SS7 link will be configured.
MSP
226
Signaling Link Code
This field specifies the SLC of the SS7 link. SLC is unique across any SS7 link set with a range of values of 0 – 15.
Data Rate
This field specifies the data rate of the SS7 signaling link
Choices:
64 Kbps
56 Kbps mask LSB (The Least significant bit is masked resulting in 56 kbps)
56 Kbps mask MSB (The Most significant bit is masked resulting in 56 kbps)
48 Kbps mask LSB and MSB (The Least and Most significant bits are masked resulting in 48 kbps)
48 Kbps mask 2 MSBs (The 2 Most significant bits are masked resulting in 48 kbps)
Electrical Interface
Choices:
DS1 Channel
DS1 Channel Data
Link Status
This monitoring field displays the status of the SS7 link.
Button Descriptions
In Service
This buttons brings the SS7 link in service
Out Of Service
This buttons brings the SS7 link out of service
Inhibit
This buttons inhibits the SS7 link
Uninhibit
This buttons uninhibits the SS7 link
ClientView
227
SS7 Link Display Table
This table displays a list of the configured SS7 links under a specific SS7 Link set.
MSP
228
SS7 Link Set
This object identifies a link set that is used to connect an SS7 stack on the physical MSP to an adjacent point code.
Accessing this Pane
Configuration->Cantata MSP EMS-> Logical MSP-> Physical MSP-> SS7 -> SS7 Stack -> SS7 Link Set
Maximum SS7 Link Set Objects
A maximum of 128 link sets are allowed per physical MSP.
Technical Notes
When configuring a SS7 Link Set, the following happens:
An adjacent point code is configured for that physical MSP.
SS7 Link Set ClientView Pane
Field Descriptions
Link Set ID
This field specifies the ID of the SS7 link set.
APC
This field specifies the point code of the adjacent node that this link set will be connected to. The format of the APC will follow the same rules in the SS7 stack. For example if the OPC is ITU 97, which follows the format of 3-8-3, the APC should also be running ITU 97 and should follow the format of 3-8-3.
Comments
You can enter information about the Link Set such as location and type of SS7 far side (for example, New York STP).
SS7 Link Set Display Table
This table displays a list of the SS7 link sets configured under a specific stack.
ClientView
229
SS7 Route
This pane defines a route to an SS7 destination (DPC).
Accessing this Pane
Configuration -> Cantata MSP EMS -> Logical MSP -> Physical MSP -> Signaling -> SS7 -> SS7 Route
Maximum SS7 Routes
512 routes to 128 destinations
Technical Notes
When configuring an SS7 Route, the following happens:
A path is configured to reach a specific DPC by going through a configured Link set (The Link set that is the parent object of this SS7 Route).
SS7 Route ClientView Pane
Field Descriptions
Route ID
This field identifies the ID of the SS7 Route. Allowable values are 0 to 511.
Route Type
This field identifies whether the route to the specified DPC is the first one configured or whether there are already existing routes to that DPC.
Choices:
MSP
230
New Route
Existing Route (Combined Link Set Disabled)
Existing Route (Combined Link Set Enabled)
Linkset ID
This field will be enabled only if the Route type is set to ‘Existing Route (Combined Link Set Enabled)’. This field is a pull-down menu of the already-configured linksets
New DPC
This field will be enabled only if the Route type is set to ‘New Route’. This field identifies the Point Code of the Destination.
Existing DPC
This field will be enabled only if the Route type is set to ‘Existing Route (Combined Link Set Disabled)’ or ‘Existing Route (Combined Link Set Enabled) This field is a pull-down menu of the already-configured Destinations.
Priority
This field identifies the priority of the route when there are multiple routes to the same destination. Allowable values are 0 to 35.
This field will be disabled when the route type is set to ‘Existing Route (Combined Link Set Enabled)’ because all the routes within the combined link set will have the same priority.
Comments
A meaningful description of this route, such as the location and type of the SS7 far side (for example Chicago 5ESS.)
SS7 Route Display Table
This table shows a list of the configured SS7 Routes under a specific Link Set
ClientView
231
SS7 Stack
Accessing this Pane
Configuration->Cantata MSP EMS-> Logical MSP-> Physical MSP-> SS7 -> SS7 Stack
Maximum SS7 Stack Objects
A maximum of four SS7 stacks can be configured.
Technical Notes
When configuring an SS7 Stack, the following happens:
The SS7 stack is configured on the physical MSP. A point code will be configured and a stack ID will be assigned to it.
SS7 Stack ClientView Pane
Field Descriptions
Stack ID
This field specifies the ID of the stack. The values are in the range 0 – 3. ClientView ensures that the Stack ID is unique across multiple physical MSPs.
SS7 Variant
This field specifies the variant used for the stack.
MSP
232
Choices:
Base Only
(drop-down list is populated with any custom variants that have been created)
NOTE: Once a custom variant is assigned to a stack, you cannot modify or delete an existing entry in the variant. You can add new entries, however.
ISUP
This field specifies the ISUP variant.
Choices:
ANSI 97: The point code format is 8-8-8
ANSI 95: The point code format is 8-8-8
ANSI 92: The point code format is 8-8-8
ITU 97: The point code format is 3-8-3
ITU 93: The point code format is 3-8-3
CCITT 88: The point code format is 3-8-3
ETSI V1: The point code format is 3-8-3
ETSI V2: The point code format is 3-8-3
ETSI V3: The point code format is 3-8-3
OPC
This field specifies the point code value of stack. The format is as specified above.
MTP Pause
This field determines whether resuming traffic to a paused DPC will be immediate or delayed.
Choices:
Immediate
Delayed
Cause Location
This field specifies the location used while releasing the call.
Choices:
User
Local private network
Local public network
Transit network
ClientView
233
Remote public network
Remote private network
Local interface
International network
Network beyond interworking point
Exchange Type
Choices:
Type A
Type B
Message Compatibility Pass On
This field specifies whether or not to pass unrecognized messages when they are received.
Choices:
On
Off
Network Indicator
This field specifies whether the network indicator of ISUP messages sent is set to national or international.
Choices:
National
International
SCCP
This field is used to configure SCCP/TCAP. It is Disabled by default. Select Enabled, if you want to configure SCCP TCAP.
TCAP
This field is used to configure SCCP/TCAP. It is Disabled by default. Select Enabled, if you want to configure SCCP TCAP.
MSP
234
SSN
To configure the sub-system number (SSN), do the following.
Accessing This Pane
Cantata MSP EMS-> Logical MSP->Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack -> New SCCP/TCAP -> New Sub-system Number.
Before You Begin
In the SS7 Stack object, you must have the SCCP property enabled by selecting ANSI, ITU, Remote ANSI or Remote ITU, to access the Sub-System Number object. See SS7 Stack.
Steps
1. Right-click the SCCP-TCAP object and select New Sub-system Number.
2. Select the SubSystem Number (valid range: 2-255), the Routing Flag and whether to enable or disable Local GTT (Global Title Translation) Allowed.
The SSN Status field is not configurable.
Buttons
The buttons shown below are available for use with the SSN object:
Allow - The SSN Status field will show the SSN state as in-service.
Prohibit - The SSN Status field will show the SSN state as out-of-service.
Notes on Fields
Subsystem Number
Options for this field:
1 SCCP management
ClientView
235
2 reserved for ITU-T allocation
3 ISDN user part
4 OMAP (Operation, Maintenance and Administration Part)
5 MAP (Mobile Application Part)
6 HLR (Home Location Register)
7 VLR (Visitor Location Register)
8 MSC (Mobile Switching Centre)
9 EIC (Equipment Identifier Centre)
10 AUC (Authentication Centre)
11 ISDN supplementary services
12 reserved for international use
13 broadband ISDN edge-to-edge applications
14 TC test responder
reserved for international use (Choose from a range of values 15-31)
reserved for national networks (Choose from a range of values 32 - 254)
Routing Flag
Route SCCP coming from the network to the TCAP on the MSP 1010. For Class 2 Use Route SCCP messages to the Host.
Local GTT Allowed
Allow Global Title Translation to be performed on the local node.
MSP
236
Sub-system Number Default Parameter
Configure the default parameter table for a particular sub-system.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New Sub-System Number -> Sub-System Number
-> New SSN Default Parameter.
Steps
1. Right-click the Sub-System Number object.
2. Select New SSN Default Parameter.
3. Select the Parameter Type from these options:
Default Calling Party Address
Default Quality of Service
Default MTP DPC
4. Enter the Parameter Value using the next window. Enter a byte sequence in either hexadecimal or decimal format.
ClientView
237
T.30 Parameters
Use this object to change the T.30 Fax parameters on a DSP chip.
Accessing this Dialog Box
Cantata MSP EMS -> Logical MSP -> MSP Name -> New Media -> New T.30
Pane
MSP
238
TCAP Object Syntax Descriptor
You can modify a TCAP object by indicating the TCAP object parameter ID, TCAP identifier, whether or not to update the object syntax and if updated, what the object syntax description is.
Accessing This Pane
Physical MSP -> New Signaling -> Signaling -> New SS7 -> New SS7 Stack
-> New SCCP/TCAP -> New TCAP Object Syntax Descriptor.
Steps
1. Right-click the SCCP/TCAP object.
2. Select New TCAP Object Syntax Descriptor.
3. Enter the Object Parameter ID (16 Bits).
4. Enter TCAP Identifier (16 Bits).
ClientView
239
T1 Physical Span
To configure a T1 physical span, you must already have a facility object created and a bearer span (TDM DS1) object configured with the selected trunk type: T1. See Configuring TDM DS1.
Accessing This Pane
Cantata MSP EMS -> Logical MSP -> Physical MSP -> Facility -> TDM DS1 -> T1 Physical Span
Pane
Field Descriptions
Logical Span ID
The range of values is 0-4095. It defaults to the lowest available span.
Loop Timing Type
Specifies whether that specific span is used for primary loop timing, secondary loop timing or not.
MSP
240
Options:
Primary
Secondary
Not Timing Source
Framing
Options:
D4 (Default)
ESF
Signaling
The default is Clear Change.
Line Length
Options:
000–133 ft. (Default)
134–166 ft.
0167–299 ft.
300–533 ft.
534–655 ft.
G.703 ITU-T
Line Coding
Options:
Bit 7 zero suppressing (Default)
B8ZS zero suppression
Impedance
The default is 100 Ohm.
Span Status
The Span Status is a monitoring field showing the status of the T1 span.
ClientView
241
Use the In Service button to bring a span into service.
Use the Out-of-Service button to take a span out-of-service.
MSP
242
TDM-DS1
The TDM-DS1 object is used to configure T1 physical spans or E1 physical spans.
The option to select an E1 or T1 interface is determined in a flag value during the Bootstrap Protocol (BOOTP) configuration which is required when downloading your system software. See Downloading System Software to the MSP.
Do the following to start configuring spans:
Accessing this Pane
Cantata MSP EMS -> New Facility -> New TDM-DS1
ClientView
243
TDM DS3
Use this object to configure a DS3 signaling span.
Accessing this Pane
Cantata MSP EMS -> Logical MSP-> Physical MSP-> Facility->New TDM DS3
ClientView Pane
Steps
1. Right-click Facility and select New TDM DS3.
2. The TDM DS3 pane appears. The Component ID and Interface ID default in.
3. In the DS3 Framing Type field, leave the default (M13) or select CBIT.
4. Select the Line Length: 0-225 or 266-450 feet.
5. You can enable or disable DS3 and DS1 FEAC Response (FEAC is Far End Alarm Control).
6. For DS3 Loopback Mode, if you want to perform loopback testing, indicate Local Loopback or Remote Loopback. Otherwise select No Loopback.
7. For All DS1s Loopback Mode, if you want to perform loopback testing, indicate Local Loopback or Remote Loopback. Otherwise select No Loopback. See note below.
Now you can configure a DS3 physical span. See DS3 Physical Span.
To configure multiple DS3 spans, see Example Configurations for DS3 Spans.
There is a specific Far End Alarm Control (FEAC) code to request ALL DS1's be put in loopback. There are also specific FEAC codes for each span offset. Therefore, you can request that the far end put all DS1's in loopback (you do not send 27 FEAC codes, just one, the ALL DS1's code). If I want to request that just one DS1 offset (for example offset 14) be put in loopback then you send the code value that corresponds to offset 14.
MSP
244
Following the request to put DS1 offset 14 in loopback, you CANNOT make another request for loopback on another span. You first must request span 14 be taken out of loopback and then request loopback on another span.
Related Topics
DS3 Overview
Loopback Diagnostics
ClientView
245
Telnet Client
This pane is used to enable a Telnet Client.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP-> Telnet Client
Technical Notes
When configuring a Telnet Client, the following happens:
The client information is sent to this particular “Physical MSP”, also every server that the client is configured to use will also be configured on this particular “Physical MSP”. Once the client and the servers have been configured the client will continuously try connect to the servers it has been configured for.
Telnet Client Pane
Field Descriptions
Telnet Client
This field sets the Telnet Client to Enable or Disable.
Telnet Connection Status
This field is informational only.
Remote IP Address
This field is informational only.
MSP
246
Timing Synchronization Priority List
This object defines the timing sources for a specific physical MSP and the priority of these sources.
Accessing this Pane
Cantata MSP EMS-> Logical MSP-> Physical MSP -> Timing Sync Priority List
Maximum Timing Synchronization Priority List Objects
Only one Timing Sync Priority List object is allowed per Physical MSP object.
Technical Notes
When configuring a Timing Synchronization Priority List, the following happens:
The order of the timing sources is configured. Primary Reference and Secondary Reference is automatically set to Signaling/Timing spans offsets 0 and 1. Primary and Secondary Loop timing has to be manually assigned to Signaling/Timing spans offsets 2 and 3 or on any of the offsets of the Bearer spans. Free Running let the Physical MSP free run on its internal Stratum 3 clock.
ClientView Pane
Field Descriptions
First
This field specifies the first-priority timing source
Choices:
Primary Reference
Secondary Reference
Primary Loop
Secondary Loop
Free Running
Second
ClientView
247
This field specifies the second-priority timing source
Choices:
Primary Reference
Secondary Reference
Primary Loop
Secondary Loop
Free Running
Third
This field specifies the third-priority timing source
Choices:
Primary Reference
Secondary Reference
Primary Loop
Secondary Loop
Free Running
Fourth
This field specifies the fourth-priority timing source
Choices:
Primary Reference
Secondary Reference
Primary Loop
Secondary Loop
Free Running
Fifth
This field specifies the fifth-priority timing source
Choices:
Primary Reference
Secondary Reference
Primary Loop
Secondary Loop
MSP
248
Free Running
Timing Synchronization Priority List Display Table
The table is not used for this object.
ClientView
249
Variant Entry
This pane is used to add entries to a custom signaling variant.
NOTE: Once a custom variant is assigned to a stack, you cannot delete an existing entry in the variant.
Accessing this Pane
Cantata MSP EMS -> New Signaling Variants -> New Signaling Variant -> New Variant Entry
Technical Notes
PPL components are used to create custom SS7 signaling variants. Detailed information about the different PPL components and their function is available in the CCS Developers Guide
ClientView Pane
Field Descriptions
Base Variant
This field indicates the base variant to be used. It is automatically populated based on the value in the Signaling Variant this entry is being added to.
PPL Component ID
The PPL component to be configured.
PPL Entity Type
The PPL Entity to be configured.
PPL Timers
PPL Tables
PPL Config Bytes
PPL Entity ID
The PPL Entity ID to be configured.
PPL Entity Value
MSP
250
The Value for the PPL Entity to be configured.
PPL Entity File
The PPL Entity File field is used to select the .cfg file containing the PPL configuration messages to download for that component. This field is available when the PPL Entity type selected is PPL Tables or when The PPL Component ID is 0xFF – Generic File.
All the .cfg files should be in the installation folder/directory which be default is:
Windows
C:\Program Files\Cantata\MSPSwitchKit\config\Variant\VariantName
Linux, Solaris, HP-UX
/opt/cantata/MSP/config/Variant/VariantName
PPL Table
When the Component ID is 0xFF – Generic File, the PPL Entity Type field controls at which point in the configuration the file set by the PPL Entity File field is sent to the node. The choices for the PPL Entity Type field are:
Stack
Link
Route
Destination
ClientView
251
Vocabulary Index Entry
This pane is used to add announcement entries to a Vocabulary Index File.
Accessing this Dialog Box
Cantata MSP EMS-> Routing Configuration-> New Vocabulary Index Files-> New Vocabulary Index File -> New Vocabulary Index File Entry
Maximum Vocabulary Index Entry Objects
Vocabulary Index Entry Dialog Box
Field Descriptions
File Id
This field is automatically populated with the next available number.
File Description
Precise description of the file which will be sued to identify it in other panes.
Primary Server Id
The Primary NFS Server that the announcement is stored on.
Secondary Server Id
The Secondary NFS Server that the announcement is stored on.
File Name
The filename of the announcement.
File Format
MSP
252
Raw Data Format:
Wav Format
File Encoding
G711 Alaw
G711 ulaw
G726 32 Kbps ADPCM
32 Kbps OKI ADPCM
24 Kbps OKI ADPCM
G711 Alaw
16 bit linear (11025 Khz mono)
8 bit linear (11025 Khz mono)
Start Offset for File
File Length to be played
ClientView
253
Vocabulary Index File
This pane creates a new Vocabulary Index File, which is used to identify announcements stored on the Network File System (NFS) server and used in the playing of treatments.
Accessing this Pane
Cantata MSP EMS-> Routing Configuration-> New Vocabulary Index Files-> New Vocabulary Index File
Maximum Vocabulary Index File Objects
1
Pane
Field Descriptions
Vocabulary Index (Index) File Id
This field is automatically populated with the next available number.
Vocabulary Index Filename
This field is automatically populated (msp_vocab.dat).
MSP
254
Vocabulary Index Files
This pane is a container for individual Vocabulary Index Files you create.
Accessing this Dialog Box
Cantata MSP EMS-> Routing Configuration-> New Vocabulary Index Files
Maximum Vocabulary Index Files Objects
ClientView
255
VoIP Module
This object configures the Voice over IP spans that correspond to the IP ports on the VoIP modules that are used to carry the RTP traffic.
If the MSP has two VoIP modules in it, the software will automatically spread all the licenses evenly across the two modules. This process is done in groups of 32 channels, so if there is an odd number of blocks, module 0 will have the extra channels.
Prerequisites (in order)
Network Interface
IP Bearer Profiles
Facility
Accessing this Pane
Configuration -> Cantata MSP EMS -> Facility -> Bearer-IP
Maximum VoIP Module Objects
One object is allowed for each module.
Technical Notes
When configuring a VoIP Module, the following happens:
Up to 12 spans (32 channels each) are configured per module depending on how many IP channels the MSP 1010 is licensed for.
VoIP Module Client View Pane
Field Descriptions
Module ID
MSP
256
This field identifies the ID of the VoIP module to be configured, 0 or 1. The user can find out the VoIP modules configured by looking into the physical IMG object.
Network Interface
The user has no control on this field. It automatically shows the name of the module being configured.
Choices:
VoIP Module 0: Port 0
VoIP Module 1: Port 0
Network IP address
This field is automatically populated with the IP address configured for that VoIP module under the Network interfaces. If the user attempts to configure the VoIP module before configuring the Network Interface an error message will be displayed and the user will have to go back and configure the network interface first.
Module Configuration Profile
The only supported option is Any Vocoder.
Start Span
This field specifies the starting span for VoIP configuration. The remainder of the spans that you licensed will follow this span. For example, if you license three spans and configure the Start Span to be 24, the VoIP spans are 24, 25, and 26.
Profile Name
This field specifies the IP Bearer Profile that you want to associate with this VoIP module.
Answer Supervision Mode
Specify of of the following answer supervision modes for the channel:
Propagate Answer to Distant End
Notify Host of Answer
Propagate Answer to Distant End and Notify Host of Answer
No Answer Supervision
Local End Release Mode
Specify whether the local end channel is released or parked when the other end of a connection releases.
Distant End Release Mode
Specify whether the distant end channel is released or parked when the other end of a connection releases:
Number of Channels configured
This monitoring field shows how many VoIP channels have been successfully configured.
VoIPModule Display Table
ClientView
257
This table displays the status of the IP address /port numbers corresponding to the configured VoIP channels.
259
EventView
Introduction to EventView
EventView is a companion product of ClientView that displays system alarms, filters alarms related to severity and various entities, and logs alarms to files.
EventView Main Window
Getting Help in EventView
You can view the online help for EventView in a web browser from the EventView application. The HTML-based Help format is designed to run on a wide variety of browsers and platforms. To access, select Open Help from the Help Menu. The Monitoring the MSP with EventView book is at the bottom of the MSP help topics.
Next Topic
Restarting a Socket Connection
MSP
260
Exporting Alarms to a Text File
After you have filtered the alarms being displayed in the EventView, you may want to export these alarms to a text file. Do the following to export the alarm information that is currently on display in the EventView to a text file.
1. In the EventView select the menu option File-Export Alarms to a Text File.
2. Navigate to the desired location and type in a file name.
Next Topic
Forcing a Log File to Roll-Over
EventView
261
Filtering Alarm Views
To filter the display of alarms according to entities and severity in EventView, do the following:
1. Click on the Filtered Alarms tab.
2. From the left pane, select the Severity of the alarms that you want to show.
3. Select each Entity for which you want to show alarms.
The right pane becomes re-populated after you press the button, Re-Filter.
Sorting Alarm Fields
To re-order the columns, select the desired column heading and drag it to the position you want.
Next Topic
Exporting Alarms
MSP
262
Forcing a Log File to Roll-over
To force an EventView log file to roll-over do the following:
1. In the EventView, go to the menu File Force Log File Roll-Over.
2. In the folder where you have installed EventView, you will see that your alarms file has been saved at the time you forced the log file rollover. By default the installation folder is:
C:\Program Files\Cantata\MSPUserInterface\EventView, .
A new log file is then automatically created. For more information, see Log Files.
263
AdminView
An Overview of AdminView
The AdminView utility provides for the administration of user privileges (roles) and authentication. Two areas of control exist in AdminView and a user is granted permission for each of these areas individually:
User Management Access
Controls the assignment of user access and privileges.
ClientView Access
Includes three levels of access to ClientView actions performed on the MSP.
User Management Access
The user management access controls user authentication and roles. There are two levels:
Administrator
A user assigned this role is allowed to perform all User Management functions of the following operations:
add users
remove users
assign roles
change passwords
self reset password
list one or all users
display current user information
Basic
A user assigned this role is only allowed to view his own role and change his own password. Every user is assigned with this role by default.
ClientView Access
The roles assigned for ClientView determine the actions a user is allowed on the MSP using ClientView.
Monitor
Allowed to view configuration attributes and system events (alarms, and traps). Every user is assigned with this role by default.
Provision
Allowed to bring components in and out of service.
Configuration
MSP
264
Allowed to modify configuration on the MSP.
Default Administrator Information
By default there is one user, admin, with the following roles assigned:
User Management Domain
Administrator
Equipment Management Domain
- Monitor
- Provisioning
- Configuration
The default password is admin
Linux Users
After installing the MSP and MSP EMS software, you must edit your /etc/hosts file (one time only).
There is an existing entry for localhost mapped to 127.0.0.1. You need to add an entry for the specific IP address of your Linux machine, and it needs to be before the existing 127.0.0.1 entry.
For example:
135.119.36.142 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
ClientView Log In
When a user launches ClientView, they are prompted for a Username and Password. The default is admin/admin.
Admin Commands
Re-installation of Software
User account information remains through a re-installation of the MSP system software.
AdminView
265
Assigning Users in AdminView
Unless you specifically assign user privileges, anyone can access the MSP Element Management System (EMS) in ClientView with full administrative privileges using:
UserName: admin
Password: admin
Procedure
If you want to assign passwords and roles to individual users who may have access to the ClientView, do the following.
1. Run AdminManager, which by default is located in:
Windows
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Linux, Solaris, HP-UX
/opt/cantata/MSP/switchkit/bin
2. Open AdminView, which by default is located in:
Windows
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Linux, Solaris, HP-UX
/opt/cantata/MSP/switchkit/bin
3. Login as Administrator
User ID: admin
Password: admin
2. Change the Admin Password To limit access to the Admin functions, perform the following steps.
a. Type chpwd and press ENTER.
b. Enter the Admin user ID, admin, and press ENTER.
c. Enter a new password and press ENTER.
d. Re-enter the new password and press ENTER.
3. Add a User and assign roles
a. Type adusr and click ENTER.
b. Enter a user ID and click ENTER.
c. Enter a password for the user and press ENTER.
MSP
266
d. Confirm the password and press ENTER.
e. Enter values for the roles to assign to the user (use a comma between the values). Monitor is a required role for all users.
1 - Administrator
2 - Basic
3 - Configuration
4 - Provisioning
5 - Monitor
f. Repeat steps a-e for each user.
g. Quit
This text confirms the user was added:
User (name) is added successfully.
Help
For a list of commands, type help
More Information
For more detailed information on Administering User Privileges, see Administering User Privileges
Next Task
Open ClientView.
AdminView
267
Administering User Privileges
Before You Begin
To run AdminView, the AdminManager process must be running.
Start AdminManager
Before you can perform any administrative functions, start the AdminManager.
The default location of AdminManager is: Linux, Solaris, and HP-UX: /opt/cantata/MSP/switchkit/bin Windows: C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Start AdminView
To start AdminView do the following:
1. For Solaris, Linux, or HP-UX:
From the following directory: /opt/cantata/MSP/switchkit/bin
type ./AdminView
For Windows:
Click the AdminView icon on your Desktop, or
Click on the AdminView.exe file located at:
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
2. Login as Administrator
User ID: admin
Password: admin
Admin Tasks
Changing the Admin Password
Adding a User
Changing a Password
Changing a User's Roles
Resetting Your Own Password
Removing a User
Changing the Admin Password
For a more secure system, change the admin user password:
1. Type chpwd and press ENTER.
MSP
268
2. Enter the Admin user ID, admin, and press ENTER.
3. Enter a new password and press ENTER.
4. Re-enter the new password and press ENTER.
Adding a User
To add a user:
1. Type adusr and press ENTER.
3. Enter a user ID and press ENTER.
4. Enter a password for the user and press ENTER.
5. Confirm the password and press ENTER.
6. Enter values for the roles to assign to the user.
Changing a Password
To change a password:
1. Type chpwd and press ENTER.
2. Enter a user ID and press ENTER.
3. Enter a new password and press ENTER.
4. Re-enter the new password and press ENTER.
Changing a User's Roles
To change a user's roles:
1. Type asnrole and press ENTER.
2. Enter the user ID and press ENTER.
3. Enter the values for the roles to assign to the user and press Enter. You must enter values for all of the roles you want the user to have, even if they are already assigned.
Resetting Your Own Password
To reset your own password:
1. Type rstpwd and press ENTER.
2. Enter your user ID and press ENTER.
3. Enter a new password and press ENTER.
4. Re-enter the new password and press ENTER.
Removing a User
To remove a user:
AdminView
269
1. Type rmusr and press ENTER.
2. Enter the user ID and press ENTER.
Also see Viewing User Information
MSP
270
Viewing User Information
If you are logged into AdminView as the Administrator, you can perform the following tasks:
Displaying all User Information
1. Type lusrs and press Enter.
A list of all users and their assigned roles are displayed, as shown below:
Display a Specific User's Information
1. Type lusr and press Enter.
2. Enter the user ID and press Enter.
The user ID and their assigned roles are displayed, as shown below:
Displaying Your Own Information
1. Type id and press Enter.
AdminView
271
Your user ID and your assigned roles are displayed, as shown below:
List All Commands
To display a list of all commands:
1. Type lcmd and press Enter.
A list of all available commands is displayed, as shown below:
Displaying Help
To display all available commands with descriptions:
1. Type help and press Enter.
MSP
272
Starting AdminManager on an Alternate RMI port
AdminManager listens for ClientView connections on port 1099, which is the default port for Java Remote Method Invocation (RMI) applications.
If this port is already in use by another application, you can configure AdminManager to listen on an alternate port.
To do so, AdminManager must be launched manually from the command line.
Windows
1. Open the file client.properties located by default at:
C:\Program Files\Cantata\MSP\MSPUserInterface\ClientView
The contents of the file should look like:
<?xml version="1.0" encoding="UTF-8"?>
<properties version="1" reserved="">
<property key="help.0" value="MSP Help:..\WebHelp\MSP.htm" />
<property key="help.1" value="API Help:..\WebHelp_API\API_REF.htm" />
<property key="host.0" value="localhost" />
<property key="host.max" value="5" />
<property key="launch_eventviewer" value="false" />
<property key="logfiles" value="C:\Program Files\Cantata/common/log" />
<property key="product" value="MSP" />
<property key="rmi_port" value="1099" />
<property key="username.0" value="admin" />
<property key="username.max" value="5" />
</properties>
2. In client.properties file, change the property rmi_port to the desired port number by editing the line:
<property key="rmi_port" value="Port_Number" />
3. Save the file.
4. Start the AdminManager from the command line and specify the desired port number, as specifed in the client.properties file, using the -p argument.
\AdminManager -p Port_Number
Example
1. If the desired port number is 1100, change the rmi_port in the client.properties file to:
<property key="rmi_port" value="1100" />
2. Start the AdminManager as:
\AdminManager -p 1100
AdminView
273
UNIX
1. Open the file client.properties located by default at:
/opt/cantata/MSP/MSPUserInterface/ClientView
2. In client.properties file, change the property “ rmi_port “ to the desired port number by editing the line
<property key="rmi_port" value="Port_Number" />
3. Save the file
4. Start the AdminManager and specify the desired port number, as specifed in the client.properties file, using the -p argument.
./AdminManager -p Port_Number
275
Intelligent Network & Wireless Protocols Overview
Introduction
As software developers create more applications that are being deployed and maintained in mobile and intelligent networks, Excel is keeping pace by introducing support for intelligent network (IN) and wireless protocols in the MSP 1010. Excel’s API supports IN application development enabling Excel API customers to create sophisticated IN applications for deployment on the MSP 1010. For customers who prefer to use SwitchKit as their application development tool, the IN protocols that Excel supports can communicate with a MSP 1010 using SwitchKit API and the SwitchKit component, Low-Level Communicator (LLC). Using SwitchKit to create IN applications can significantly reduce the development cycle, especially with the availability of two new components that perform abstraction from the signaling foundation technologies.
The MSP 1010 currently operates effectively as a Service Node (SN) in many production networks. The addition of IN protocols allows the MSP 1010 to also serve effectively as:
A Service Control Point (SCP)
An Intelligent Peripheral in emerging Intelligent Networks.
IN and Wireless Protocols
MSP initially supports five protocols, developed by IntelliNet Technologies, to access IN and wireless networks. Additional capabilities will be included in future releases.
ITU/ETSI standard
Customized Application for Mobile network Enhanced Logic (CAMEL)
Universal Mobile Telecommunications System- Mobile Application Part (UMTS- MAP) which includes Global System for Mobile communication - Mobile Application Part (GSM-MAP)
Intelligent Network Application Protocol (INAP)
TIA/ANSI standard
ANSI - 41
Wireless Intelligent Network (WIN)
AIN (planned for future availability)
Advanced Intelligent Network (AIN) conforms to BELLCORE Generic Requirements AIN0.2 GR 1299 (Issue 4, 09/97).
For more details on IntelliNet’s IN protocols see, the following documents (Available from Excel Switching Corporation):
CAMEL User’s Guide, document part number P_EXCL_CAMEL_UG_2.0
UMTS MAP User’s Guide, document part number P_EXCL_UMTS_MAP_UG_2.0
WIN User’s Guide, document part number P_EXCL_WIN_UG_2.0
ANSI 41D User’s Guide, document part number P_EXCL_AS41D_UG_2.0
MSP
276
INAP User’s Guide, document part number P_EXCL_INAP_UG_2.0
The IN protocols are implemented on the MSP 1010 through the offering of IntelliNet’s protocol-specific encoder/decoder software (codecs). See Codecs for a description of the codecs used with each IN protocol.
SwitchKit IN and Wireless Components
Excel offers two optional SwitchKit layers that perform abstraction/adaptation from the signaling foundation technologies:
SwitchKit TCAP Abstraction Layer (SKTAL)
SwitchKit Interface Module (SKIM)
Use of the SwitchKit TCAP Abstraction Layer and the SwitchKit Interface Module is intended to simplify the work required for the application developer. Use of these components is optional; however, SKIM requires the use of SKTAL.
SwitchKit TCAP Abstraction Layer
The SwitchKit TCAP Abstraction Layer is used to create a generic view of the MSP’s TCAP layer.
SwitchKit Interface Module
The Switchkit Interface Module provides an API interface to abstract services from the TCAP and SCCP layers to a transaction-based application.
The IN application, codecs, and SwitchKit reside on the host computer, using the SS7 services of the MSP 1010.
The next two diagrams show where the IntelliNet IN and wireless protocols and abstraction layers fit into the MSP 1010 architecture.
SwitchKit Users
In addition to implementing the required service logic, the application developer must handle the message flow between the IntelliNet codecs and the SS7 protocol stack on the MSP 1010, using SKIM and SKTAL (as desired) and the SwitchKit API and LLC components.
Threadsafe
All elements of this offering support threadsafe operations.
Scenario for SwitchKit Users with SKIM and SKTAL
Intelligent Network & Wireless Protocols Overview
277
Scenario for SwitchKit Users with SKTAL Only
Excel API Users
Application developers who do not use the SwitchKit Interface Module and or the SwitchKit TCAP Abstraction Layer must implement equivalent functionality to manage communication with the MSP 1010, handle the TCAP dialogues, and format messages to and from the codec APIs.
The IN and wireless application and codecs reside on the host computer using the SS7 services of the MSP 1010.
MSP
278
Scenario for Excel API Users
In addition to implementing the required service logic, the application developer must handle the message flow between the IntelliNet codecs and the SS7 protocol stack on the MSP 1010, using Excel API.
Codecs
The IntelliNet IN and wireless codecs are provided to developers as application layer APIs in the form of header files and software libraries of protocol-specific ASN.1 encoders/decoders. The encoders/decoders are delivered to customers in binary format, available for linking with the application developer’s software and (optionally) SwitchKit to form an executable image. These libraries execute on a host computer, not the MSP 1010.
Performance & Reliability
The IN and wireless protocols are capable of operating in redundant, partially redundant, and non-redundant MSP 1010 environments. This includes optional redundancy for each of the following components:
Host machine
LLC
SS7
Intelligent Network & Wireless Protocols Overview
279
Supported Operating Environments and Compatibility
This section describes the operating environments that are supported by Intelligent Network (IN) and wireless protocols.
Compatibility
Each of the IN and wireless codecs is supported in the following host hardware/operating system environments:
Hardware/Operating System Requirements
Operating System
IN & Wireless Protocols are supported on...
Solaris Version 8.0 for the SPARC platform
Linux Red Hat Linux version 8.0 for INTEL platform
HP-UX Version 11.0
The next table shows the compilers supported by IN and wireless protocols in a development environment.
Compiler Requirements
Operating System
Applications must be built using...
Solaris Sun Forte (Sun Workshop 6, update 2 C++ 5.3)
Linux GNU gcc complier packaged with Red Hat Linux 8.0 (gcc 3.2)
HP-UX HP aC++ compiler 3.3
Versions of the IN and wireless protocols are independent of SwitchKit and MSP 1010 system software versions, so that updates to the IN and wireless protocols will not require updates to either SwitchKit or the MSP 1010 system software to support the same level of functionality. Similarly, updates to SwitchKit and MSP 1010 system software versions will not require updates to the IN and wireless protocols to support the same level of functionality.
MSP
280
Benefits of using SwitchKit to develop an IN/Wireless Application
SwitchKit provides a comprehensive, high-level and open programming environment for the application development and maintenance of the MSP. SwitchKit includes a feature-rich operation, administration, maintenance, and provisioning (OAM&P) system and a high-level API suite, freeing developers to concentrate on revenue-generating applications and services.
SwitchKit greatly reduces the time and cost of deploying and maintaining switch-based solutions - providing a quantitative edge in markets that are increasingly competitive, dynamic, global, and deregulated. SwitchKit enables the development and implementation of custom, highly-differentiated services, providing a qualitative edge in response to the demands of the telecommunications marketplace.
Application Development
IN/wireless application developers can use either the SwitchKit Interface Module and or the SwitchKit TCAP Abstraction Layer, in conjunction with the SwitchKit API. Without these layers, developers must create applications that can process PPL Event messages to and from the MSP 1010. The application would use normal SwitchKit API procedures to connect to the LLC and register for messages. Then, through the initialization of the SwitchKit Interface Module, the application would register a default handler for all incoming IN Messages and notifications.
SwitchKit API
The SwitchKit API is a library of function calls used to communicate to both the LLC and the MSP 1010. Both the SwitchKit TCAP Abstraction Layer and the application will use the SwitchKit API to communicate to LLC.
The Role of LLC
The LLC is responsible for connection to the MSP 1010, application redundancy, channel and channel group management, as well as message routing to multiple applications. See Scenario for SwitchKit Users with SKIM and SKTAL for additional information. For IN applications the LLC is responsible for routing TCAP messages (PPL Events) to the proper application based on Stack ID (local PC) and subsystem number (SSN).
OAM&P
Operation, administration, maintenance, and provisioning (OAM&P) for all aspects of all components required for the IN and wireless protocols is handled by SwitchKit.
Intelligent Network & Wireless Protocols Overview
281
Intelligent Network and Wireless Protocols
This section describes Excel’s software support for mobile and wireline communications networks. The Intelligent Network (IN) and wireless protocols offered by Excel were developed by IntelliNet Technologies, a leading provider of IN infrastructure software. MSP supports five IntelliNet protocols to access IN and wireless networks:
Codecs
Codec Name Description Standard
Customized Application for Mobile network Enhanced Logic (CAMEL)
Phase 2, 3, & 4
3GPP TS 29.078 (v5.1.0 Release 5)
Universal Mobile Telecommunications System - Mobile Application Part (UMTS-MAP) which includes Global System for Mobile communication - Mobile Application Part (GSM-MAP)
Phase 1,2,2+, & 3
UMTS MAP - 3GPP TS 29.002 V4.2.1 (2000-12)
3G TS 29 002 v3.4.0 (2000-3)
Wireless Intelligent Network (WIN) Phase I & II TIA/EIA/IS 771
TIA/EIA/IS 826
ANSI - 41 ANSI - 41D TIA/EIA-41.(1-6) D Dec 1997
Intelligent Network Application Protocol (INAP) CS-1
CS-1
CS-2
ITU-T Q.1218, release 1095
ITU-T Q.1228, release 997
Matrix
The matrix below shows the IN wireline and wireless protocols supported by telecommunications standards.
CAMEL
A European Telecommunications Standards Institute (ETSI) standard messaging protocol for including IN functions into GSM mobile networks. CAMEL is used when roaming between networks, allowing the home network to monitor and control calls made by its subscribers. CAMEL API allows roaming subscribers access to their full portfolio of Intelligent Network (IN) services. CAMEL is a relatively inexpensive method of allowing telecom operators to add new services to the existing network infrastructure.
A few typical applications include:
Pre-Paid Calling
Personal Numbering
Location dependent services
UMTS/GSM-MAP
MSP
282
An ETSI standard messaging protocol used in UMTS/GSM wireless networks to communicate among network elements to support user authentication, equipment identification, and roaming:
Mobile Switching Center (MSC)
Home Location Register (HLR)
Visitor Location Register (VLR)
Equipment Identity Register (EIR)
Short Message Service Center (SMSC)
Authentication Center (AuC)
Typical applications include:
Intelligent Peripheral (IP)
Service Control Point (SCP)
Enhanced Services Platform
The IntelliNet MAP protocol layer provides an easy to use library of C++ classes that can be utilized to develop GSM Mobility Applications.
WIN
A Telecommunications Industry Association/American National Standards Institute (TIA/ANSI) standard messaging protocol that enables subscribers in ANSI-41 based wireless networks to use intelligent network services. WIN also supports the network capabilities to provide wireless activities such as automatic roaming, incoming call screening, and voice-controlled services.
Intellinet’s WIN protocol facilitates the development of platform-independent, transport-independent and vendor-independent WIN services such as:
Hands-Free
Voice-Controlled Services
Voice-Controlled Dialing (VCD)
Voice-Controlled Feature Control (VCFC)
Voice-Based User Identification (VUI)
Incoming Call-Restriction/Control
Calling Name Presentation (CNAP)
Password Call Acceptance (PCA)
Selective Call Acceptance (SCA)
ANSI - 41
A TIA/ANSI standard messaging protocol used in Code-Division Multiple Access (CDMA) and Time Division Multiple Access (TDMA) wireless networks primarily in the Americas and parts of Asia to communicate among network elements (MSC, HLR, VLR, EIR, SMSC) to support inter-system hand-off, automatic roaming, authentication, and supplementary call features. The ANSI 41D specification (formerly known as IS-41) is primarily used in the wireless network to provide services such as automatic roaming, authentication, intersystem hand-off, and short
Intelligent Network & Wireless Protocols Overview
283
message service. All wireless network elements use this messaging protocol to communicate.
Typical applications include:
Intelligent Peripheral (IP)
Service Control Point (SCP)
Enhanced Services Platform
INAP
Intelligent Network Application Protocol (INAP), an ITU-T specification, allows applications to communicate between various nodes/functional entities of a wireline Intelligent Network. The protocol defines the operations required to be performed between nodes/functional entities for providing Intelligent Network services.
A few typical applications include:
Call Center solutions requiring handling of special service numbers (800 & 900 services)
Local Number Portability
Calling Card registration and authentication including charging and fraud management capabilities
Interactive Voice Response (IVR) systems for small and large business segments
Calling Name delivery
Service Management systems for study of traffic patterns as well as generating call reports and billing records at central administration and billing center.
Future availability of AIN protocol
Excel plans to offer the Advanced Intelligent Network (AIN) protocol to support ANSI-based, wireline Intelligent Networks in future releases.
Some examples of applications using AIN include:
Toll-free dialing and FreePhone facilities for subscribers
Virtual Private Network Services for closed user groups operating over geographically distributed facilities
Universal Access Number (UAN)
Split Charging capability enabling the subscriber to separately charge personal and business calls made from the same instrument
Call Rerouting and Redistribution based on traffic volume and/or time of day suitable for telemarketing businesses and reservation centers with multiple locations.
Prepaid and Calling Card services
Tele-voting, whereby franchisees may cast their choice over secure voice response systems, preserving privacy, possible travel time as well as avoiding human tampering of results and other malpractices.
MSP
284
Licensing of Intelligent Network and Wireless Protocols
Operation of the Intelligent Network (IN) protocols on the MSP 1010 requires two separate license keys:
SS7 Product License SCCP/TCAP
IntelliNet Codec License
These license keys are orderable through Cantata sales, and are based on the following customer-supplied information:
Chassis ID
Unique serial number of the specific MSP 1010 chassis running the SCCP/TCAP stack. In a redundant configuration both platform's serial numbers are required.
Host ID
Manufacturer's unique identification number for the customer-supplied host computer
Codecs
Required IN protocol stacks. Valid values are UMTS MAP, CAMEL, WIN, and ANSI-41 and INAP. Future values will include AIN.
These license keys are independent from the codec version, host operating system, and MSP 1010 System Software release.
Upgrades
Upgrades for additional Codecs will result in new license keys for both the SS7 Product License SCCP/TCAP and the IntelliNet codec license, superseding the previous license keys for the specified Chassis ID and Host ID.
Pricing
Pricing for these license keys is available from Cantata sales.
Intelligent Network & Wireless Protocols Overview
285
SwitchKit Intelligent Network and Wireless Components
To integrate the IntelliNet Intelligent Network (IN) and wireless protocol stacks with the MSP 1010, application developers can make use of two basic layers to reduce their development cycle when using SwitchKit as their application development tool. These abstraction layers are:
SwitchKit TCAP Abstraction Layer (SKTAL):
Formats data for the IntelliNet codecs interfacing with the MSP 1010 TCAP stack.
SwitchKit Interface Module (SKIM):
Hides the TCAP stack from the application developer.
These abstraction layers are supported for both ANSI and ITU TCAP standards.
SwitchKit TCAP Abstraction Layer
The SwitchKit TCAP Abstraction Layer presents a generic view of the MSP 1010 TCAP layer by translating between PPL Events and TCAP messages. This is a modular layer that is directed to applications that require explicit control over TCAP operations. With the SwitchKit TCAP Abstraction Layer the following is provided:
A consistent programming paradigm to an existing SwitchKit user
A simple API to handle TCAP operations
Dialogue ID allocation and management capabilities
Error handling and detection capability for transaction level protocol errors that can be handled transparently
Notification and alarm generation mechanism to the application
The SwitchKit TCAP Abstraction Layer is delivered in binary format. To form an executable image using the defined functionality this layer is required to be linked with:
The application developer’s software
The required codecs
SwitchKit
SKIM (optional)
SKTAL APIs
The following is a list of APIs used with the SwitchKit TCAP Abstraction Layer.
sktal_initializeTCAP()
sktal_terminateTCAP()
sktal_registerTCAPSSNHandler()
sktal_unregisterTCAPSSNHandler()
sktal_allocateTCAPDialogID()
sktal_setTCAPDialogueHandler()
sktal_clearTCAPDialogHandler()
sktal_sendTCAPDialog()
MSP
286
sktal_recvTCAPDialog()
sktal_sendTCAPComponent()
sktal_recvTCAPComponent()
The SwitchKit TCAP Abstraction Layer employs the handler function SwitchKit model for event handling.
SwitchKit Interface Module
The SwitchKit Interface Module differs from the SwitchKit TCAP Abstraction Layer primarily in its ability to abstract details of the TCAP protocol for an application.
The SwitchKit Interface Module provides a consistent programming paradigm to existing SwitchKit users. This module’s APIs abstract details of the SS7 TCAP protocol. This interface can be used by application developers to reduce their development cycle. The SwitchKit Interface Module has a default class for each type of operation and knows which operations have linked operations. If the module is unable to handle a certain message flow, the application can use the SwitchKit TCAP Abstraction Layer. The capabilities of the SwitchKit Interface Module are summarized as follows:
Abstracts details of the TCAP protocol for an application.
Formats the TCAP messages into a message list
Keeps track of active TCAP dialogs
Invokes entities, such as, IDs, operation types, and operation codes.
Provides error handling and detection capability for transaction level protocol errors transparently.
Provides notification and alarm generation mechanism to the application.
Tracing
The SwitchKit Interface Module is delivered in binary format. To form an executable image using the defined functionality this module is required to be linked with:
The application developer’s software
The required codecs
SwitchKit API
SKTAL
SKIM APIs
The following is a list of APIs used with the SwitchKit Interface Module. These APIs employ the handler function SwitchKit model for event handling.
SKIM_Api::Initialize()
SKIM_Api::Terminate()
SKIM_Api::Send()
SKIM_Api::SendSSNInService()
SKIM_Api::SendSSNOutOfService()
SKIM_Api::SendReject()
SKIM_Api::CancelOperation()
Intelligent Network & Wireless Protocols Overview
287
SKIM_Api::SendPreArrangedEnd()
SKIM_Api::SetTransHandler()
SKIM_Api::ClearTransHandler()
SKIM_Api::EnableTracing()
SKIM_Api::DisableTracing()
MSP
288
Wireless Call Flow
Purpose
The next call flow provides an example of an SMSC application sending and receiving SMS.
289
SwitchKit Installation & Maintenance
Introduction
SwitchKit
SwitchKit provides a comprehensive, high-level and open programming environment for the application development and maintenance of the MSP. SwitchKit includes a feature-rich OA&M (operations, administration and maintenance) system and a high-level API suite, freeing developers to concentrate on revenue-generating applications and services. Because it facilitates the development and integration of Excel switch-based telephony applications, it delivers important benefits to both system integrators and service providers.
SwitchKit greatly reduces the time and cost in the deploying and maintaining switch-based solutions - providing a quantitative edge in markets that are increasingly competitive, dynamic, global, and deregulated. SwitchKit enables the development and implementation of custom, highly-differentiated services, providing a qualitative edge in response to the demands of the telecommunications marketplace.
SwitchKit is implemented in a modular manner. It segregates administration and configuration functions from the application, enabling multiple services to utilize a single, consistent OA&M system. Since an application developed using SwitchKit does not need to concern itself with OA&M overhead, it can be simpler, modular, more efficient, and easily maintained. Furthermore, applications are portable and scalable because they operate independently of the switch utilities. The result is that developers can implement applications and services with better price performance and superior flexibility over a wide range of market needs and sizes.
SwitchKit supports resource sharing and redundancy. It lets multiple independent applications efficiently share a single switch by handling the channel sharing and message routing automatically. Resources such as cards, lines and nodes can be added to the environment while an application is running, and configured automatically. Thus, multiple solutions and facilities can be developed and delivered through a single, open and programmable switch platform — MSP — for superior return on investment and reliability in all aspects of the services creation and provisioning process.
SwitchKit has been developed based on the C++ programming language and industry-standard communications protocols, and is available on a variety of platforms. It is designed to be easily scalable and upgradable, so that modules can be added and or extended, enabling easy growth of existing services and addition of new ones - without redesign.
SwitchKit features include
modules that administer, configure, and automatically manage the operation of switches.
redundant low-level communicators that eliminate any single point of failure.
a C and C++ API suite for the MSP 1010, based on an industry-standard call processing model.
ClientView, a graphical user interface for configuring, monitoring and maintaining the MSP 1010.
SwitchKit has been designed to support the performance of Excel hardware. As a result, applications can make better and more efficient use of Excel resources.
MSP
290
Running on either Windows® or UNIX® platforms, SwitchKit provides a comprehensive suite of tools.
Application Checklist
SwitchKit provides the following core functional areas needed for your application to work effectively with the Multi-Services Platform.
Host Connection
Communications
Message Management
Configuration
Alarm Manager
Real-time Logging
Real-time MSP Management
User Interface
After all the above functional areas have been addressed in your application, you may now add call processing to your application.
SwitchKit Installation & Maintenance
291
SwitchKit Features and Components
Description
SwitchKit is a software package that consists primarily of eight modular components that function on an external host computer. SwitchKit acts as an application server, communicating with all applications and the Multi-Services Platform (MSP) through a Transmission Control Protocol/Internet Protocol (TCP/IP) interface.
SwitchKit also provides a comprehensive, high-level and open programming environment for the application development and maintenance of the MSP. SwitchKit includes a feature-rich OA&M (operations, administration, and maintenance) system and a high-level API suite, freeing developers to concentrate on revenue-generating applications and services. Because it facilitates the development and integration of Excel switch-based telephony applications, it delivers important benefits to both system integrators and service providers.
In supporting multi-node MSP systems, SwitchKit connects to each node.
Main Components
SwitchKit contains the following components:
Low-Level Communicator (LLC)
SwitchManager
DataManager
Application Programming Interface (API)
AdminManager
ClientView
EventView
AdminView
For more information on each component see the SwitchKit Introduction and Installation Guide and for SwitchKit API information see the API Reference.
SwitchKit Components Diagram
The following diagram provides an overview of the SwitchKit components. All components communicate using
SwitchKit Installation & Maintenance
293
LLC - The Low-Level Communicator
The LLC
The Low-Level Communicator (LLC) coordinates and intelligently routes all communication, for example messages, between applications and the switch. It is the only module that communicates directly with the switch over an Ethernet connection, and that can distribute and collect messages to and from all the application modules.
The LLC coordinates many low-level communication tasks that otherwise would be the application’s responsibility, such as:
Message formatting, queuing, sequencing and acknowledgment
Calculating checksums
Handling special characters
Message and error logging
Intelligent channel allocation
Socket management
Connections to multiple switches
Because the LLC serves as a layer above the platform, it can handle multiple application modules running on any machine in the network. Messages can be routed intelligently among all of the application modules. When a message arrives on a channel, LLC routes that message to whatever application is responsible for that channel. By using this mechanism, two independent applications can share a single MSP 1010. Also, you can structure an application system to contain multiple application modules, to provide redundancy, load sharing, and separation of functionality.
MSP
294
The SwitchManager
The SwitchManager
The SwitchManager is a process that helps maintain the MSP 1010 configuration environments in a state of readiness. It implements switch and switch resource configuration with a user-defined configuration file. It reads the configuration files and sends configuration messages to the switch, and supports automatic query of the switch to determine its current hardware setup and configuration. Configuration files are comprised of easily-used text names and fields. The switch can also be dynamically reconfigured. For example, even while running traffic, SwitchManager can reconfigure the platform automatically if the switch or any of its individual cards lose configuration, such as, when a card is pulled.
You can use the SwitchManager to configure resources — cards, spans, DSPs and channels — by providing default values.You can also define inseize and outseize rules, call progress analysis parameters, hierarchical groups of channels, custom tones, and filters and timers. PPL tables can be specified so that they are downloaded automatically. Voice Recorded Announcement System (VRAS) prompts can be downloaded dynamically. SwitchManager enhances reliability with extensive fault detection and notification features. It monitors alarms, tracks the Matrix Controller Series 3 MSP1010 heartbeat and switchover recovery, and automates N+1 line card redundancy.
SwitchManager works in conjunction with the ClientView to provide graphical configuration and provision in the MSP 1010.
SwitchKit Installation & Maintenance
295
SwitchKit Application Programming Interface
Description
The SwitchKit Application Programming Interface (API) is a high-level interface between the application and the LLC that facilitates rapid switch-to-application integration. The API extracts Excel’s EXS API suite in C/C++ Library format. This interface enables the application developer to support EXS messaging as well as administrative messages (between the application and the low level communicator) with all the benefits of a high-level language API.
In short, SwitchKit lets developers address the call processing aspects of their solutions as they see fit — giving them the power to implement new services easily, quickly, and profitably.
For the UNIX operating environments, SwitchKit API is available in two sets of libraries: standard SK API and threadsafe SK API. Both APIs offer the same basic functionality to the application developer, with one major difference. The standard SK API allows single- threaded applications to be developed to connect to the LLC. The threadsafe SK API allows multi-threaded applications to be developed to connect to LLC. For maximum flexibility in application functionality today and in the future, it is recommended that all new development occur on the threadsafe SK API.
MSP
296
Highlights of the ClientView
The ClientView is a graphical user interface that helps you with the administration and configuration of your Multi-Services Platform (MSP). The ClientView provides a simple, data-driven environment that you can customize and extend at run-time without recompiling. The communication between ClientView and the DataManager server is based on XML messaging. The ClientView provides context-sensitive Help for easy access to information when using the tool. The ClientView accompanies SwitchKit (see SwitchKit Features and Components.
Features
The ClientView is a real-time node configuration, maintenance, and administration application. It also lets you monitor the current state of your system in real-time.
You can apply changes to the connected nodes with simple point-and-click operations. Through the ClientView, system developers avoid low level, code-intensive channel and trunk group assignments and maintenance. Instead you can create and maintain trunk groups through the interface. You can examine detailed alarms and statistics without decoding log files.
This user guide describes the ClientView interface and procedures that can be performed and includes screen shots of the application’s configuration dialog boxes that graphically show tasks that can be completed. In some cases, it may be necessary to consult the API developer’s guides for more information on the various options available in the fields shown in the dialog boxes. The ClientView section explains the administrative steps you can perform using the application. It contains all the information you need to get your ClientView started. It also outlines and demonstrates all the features provided.
ClientView Functionality Defined
The ClientView provides easy access to configure, monitor, and provision functionality on the MSP. The functionality is defined as follows:
Configuration
Ability to graphically configure an MSP 1010 from initial setup to channel configuration.
Monitoring
Real-time view of a MSP 1010 used to monitor hardware status, application status, alarm status, and calls in progress.
Provisioning
Allows real-time changes required to maintain optimal processing on the MSP 1010. This includes bringing components in or out of service, busying out components, and managing channel groups.
DataManager
ClientView was designed using a client-server software architecture. ClientView is the client. DataManager is the database server. DataManager: manages the data model to a configured specification, provides configuration and provisioning data to
SwitchKit Installation & Maintenance
297
ClientView, and generates log files: maintenance_datamanager.xxxx.log. It is required that DataManager be running for ClientView to run.
AdminManager
AdminManager is the server for the AdminView client, which is also a component of SwitchKit. AdminManager manages access levels in AdminView. AdminManager validates users and passwords created in AdminView and used by ClientView. If AdminView is not running, the log-in to ClientView will fail.
MSP
298
Installation
SwitchKit Supported Operating Environments
This information provides the Operating Environments supported on SwitchKit and its companion products with this release.
SwitchKit Run-time Environment
The next table shows the operating systems and versions supported by SwitchKit in a run-time environment.
Operating System Requirements
Operating System
SwitchKit is supported on...
Solaris Version 10.0 for the SPARC platform
Linux Red Hat Enterprise Linux ES 3.0
HP-UX Version 11.0 patched as required for development
Windows/2000 Service pack 2 or greater
Windows/XP Service pack 2 or greater
SwitchKit Development Environment
The next table shows the compilers supported by SwitchKit in a development environment.
Compiler Requirements
Operating System
SwitchKit applications must be built using...
Solaris Forte 6.2 or GNU gcc 3.4.3
Linux RedHat ES 3 w/ gcc 3.2.3 20030502
Kernel: 2.4.21-27.0.2.EL #1
HP-UX ACC 3.37 (Shared library w/-AA)
Two versions of SwitchKit API are provided, one to support applications using the –AA flag, and one to support applications not using the –AA flag.
If you are using the –AA compiler flag, the following patch must be installed:
For HP-UX 11.0, install the patch PHSS_26945 1.0 HP aC++ -AA runtime libraries (aCC A.03.37).
If you are using ClientView and EventView, the following
SwitchKit Installation & Maintenance
299
patches are required:
If you have a HP-UX version 11.00 then download and install patch PHCO_29959 from
Location: http://h18012.www1.hp.com/java/patches/g-11.00-1.4-1100.0309.html
If you have a HP-UX version 11.11 then download and install patch PHCO_29959 from
Location : http://h18012.www1.hp.com/java/patches/g-11.11-1.4-1111.0406.html
Windows/2000 MS Visual Studio C++ 6.0
Windows/XP MS Visual Studio C++ 6.0
ClientView
The ClientView works in conjunction with SwitchKit. The ClientView is available on all SwitchKit-supported platforms.
MSP
300
Downloading Or Upgrading System Software
This procedure explains the process for downloading system software to the MSP 1010 either as an upgrade to existing software or installing the software for the first time. The MSP 1010 system software must be installed before you can start the SwitchKit components: Low-Level Communicator (LLC) or SwitchManager.
Before you begin
BOOTP and FTP servers must be configured and their services started. If you have redundant hosts you can have BOOTP and FTP running on both hosts.
Upgrading System Software Download
The following step is recommended for upgrading the MSP 1010 system software using SwitchKit.
1. Open ClientView.
2. In ClientView, select the node you want to clear the system software on.
3. Click the button, Reset Node.
4. Click the button: Clear Software.
5. Power cycle the MSP 1010.
System Software Download for a new system
The following procedure is recommended for installing the System Software using SwitchKit on a new MSP 1010 that has no system software.
1. Power ON the switch. The BOOTP request is sent automatically and finds an IP address for the switch. The BOOTP response must contain the FTP configuration settings. The MSP 1010 then requests the FTP software loads.
2. Start SwitchKit. If FTP is still in progress while the matrixMSP1010 is getting binaries, LLC reports the FTP download is still in progress. LLC waits for the MSP 1010 to become active.
SwitchKit Installation & Maintenance
301
SwitchKit Software Licensing
The SwitchKit license is packaged with the license of your MSP 1010. The MSP license file name contains a unique serial number of the MSP 1010. The format of the file includes the eight digit serial number followed by the timestamp:
NNNNNNNN_YYYYMMDDHHSS.cfg
If you rename or alter the license file in any way, it becomes unusable.
Each license is matched to the chassis ID of each node in the MSP. SwitchKit applications can connect to any LLC that is running with a valid software license. Independent software licenses are not required for SwitchKit applications.
Licensing Procedure
To license your product, copy your license file into the license directory indicated by SK_LICENSE_DIR. By default this is:
Windows:
C:\Program Files\Cantata\common\license
UNIX:
/opt/cantata/common/license
MSP
302
Installing SwitchKit on UNIX
This procedure describes the installation of SwitchKit on a UNIX system.
Before you begin
If you are installing SwitchKit in a directory other than the default, replace all path names in this procedure with the appropriate path. All file names are case-sensitive and should be in lower case in UNIX. All linkable libraries in SwitchKit are in ELF format.
Installing SwitchKit on UNIX
Follow this procedure to install SwitchKit on UNIX systems.
1. Log on to the target machine: login:<user name> password:<your password>
2. Insert the SwitchKit installation CD.
3. Copy the SwitchKit installation script and zip file reside on the CD in the directory /SwKit/<UNIX Operating System>. The name of the SwitchKit installation zip file is as follows: Solaris: solsparc.bin Linux: linux.bin HP/UX: hpux.bin
4. Type the following exactly:
./solsparc.bin for Solaris
./linux.bin for Linux
./hpux.bin for HP-UX
5. Select the installation directory. The default directory is:
/opt/cantata/MSP
This will be referred to as $INSTALL_DIR.
Important! When following the last instruction replace $INSTALL_DIR with your actual installation directory.
6. Select the install set indicating the version of Switchkit API: Threadsafe or Standard.
7. Follow the instructions on the screen to complete the installation.
After installing SwitchKit, you must set up the profiles for your installation. See Installing Profiles on UNIX Hosts.
Directory Summary
The default directories listed in the following table are created automatically during installation.
Directory* Contents and Use
$INSTALL_DIR/switchkit/bin SwitchKit executable files
$INSTALL_DIR/switchkit/lib SwitchKit development libraries
SwitchKit Installation & Maintenance
303
$INSTALL_DIR/switchkit/include SwitchKit development header files
$INSTALL_DIR/switchkit/samples Contains sample configuration files
$INSTALL_DIR/switchkit/reports Stores report output files
/opt/cantata/common/treatment Contains vocabulary index files
/opt/cantata/common/stats Stores the statistics files collected per object
/opt/cantata/common/config Holds configuration files
/opt/cantata/common/license Folder where MSP 1010 looks for current licenses
/opt/cantata/common/backup Stores backup log and configuration files
/opt/cantata/common/log Stores current log files
* The contents of switchkit folder are links to the actual files which are installed under /opt/cantata/installs/MSPSwitchKit_Build_No/switchkit/.
IP address mapping for UNIX/ Linux/ Solaris Users
Customers running MSP SwitchKit software on Unix platforms must edit the /etc/hosts to reflect the IP address mapping of that machine.
The DataManager, looks at the /etc/hosts file for the IP address. If the /etc/hosts file does not contain the actual IP address of the machine, it is not possible for the DataManager and hence the ClientView to connect to the LLC.
The contents of the /etc/hosts file should look like:
127.0.0.1 localhost.localdomain localhost
IP_Address hostname
Where IP_Address is the IP address of the UNIX machine: hostname is the hostname of UNIX machine.
NOTE: do not remote or edit the 127.0.0.1 entry in the /etc/hosts file
MSP
304
Installing Profiles on UNIX Hosts
For SwitchKit to function properly on Linux, Solaris and HP-UX you must source this file:
excel_profile
For this file to function properly, all old variables (those from previous SwitchKit installations) must be removed and the new file must be sourced in your shell start-up scripts.
To Remove All Previously Set Environment Variables
For each user of the MSP 1010, you must do the following. (If all users are to use the MSP 1010, your administrator may have already set this.)
Execute this command to confirm whether any variables are set:
Linux env | grep SK_
Other Operating Systems set | grep SK_
If nothing is displayed, then you know the environment variables have been removed. If any variables are listed, you have to find them and delete them. To do this:
1. Go to your home directory.
2. Execute the following command:
All Operating Systems grep SK_ .*
Find the shell start-up file that has variables set and delete them. You may see SK_ set in files that are not important, for example, .bash_history. These can stay.
Sourcing excel_profile
The type of shell you are using impacts where you need to source the excel_profile. To determine what shell you are using, execute the following command:
All Operating Systems echo $SHELL
To source the Excel profile, edit your shell startup script by executing the following commands:
1. Change to your home directory by typing the following:
All Operating Systems cd
2. Edit your shell startup script. Choose the correct file for your shell from the list below:
Bash Shell .bashrc
C Shell .cshrc
Bourne Shell .profile
Korn Shell .kshrc
TC Shell .tcshrc
SwitchKit Installation & Maintenance
305
3. Add the command displayed at the end of the installation of SwitchKit and MSP user interface (ClientView) to the end of the shell startup file. These commands will look something like this:
./opt/cantata/MSP/switchkit/excel_profile
4. Log out and log back in.
If you have properly sourced this startup script, you should see this message displayed each time you open a terminal window on Linux, Solaris or HP-UX:
Running Excel Switching Corporation's shell startup script
If you do not see this message, the excel_profile is not sourced properly and therefore, SwitchKit and the ClientView will not work properly.
MSP
306
Installing SwitchKit on Windows
Purpose
This procedure guides you through the SwitchKit installation.
Default directory
The SwitchKit default installation directory is:
C:\Program Files\Cantata\MSP\switchkit
For the ClientView the default installation directory is:
C:\Program Files\Cantata\MSP\MSPUserInterface\ClientView
See Installing ClientView and EventView for more details.
Before you begin
Other installations of SwitchKit components must not be running on the system when reinstalling or installing a new version. LLC and/or SwitchManager must be stopped if they are running as automatic services at startup.
If you previously saved customized files in your installation directory, move the files to a temporary location of your choice. After you have completed your SwitchKit installation you need to move the files to your installation directory.
Installation Steps
Follow the steps below to install SwitchKit on Windows systems. If you are installing SwitchKit in a directory other than the default, replace all path names in this procedure with the appropriate path.
1. Log on using an administrative account. If you are installing SwitchKit on a system for the first time, start with Step 3.
2. Remove your current SwitchKit installation from your system. Use the Add Remove Programs feature under the Windows Control Panel to remove the program.
3. Insert the SwitchKit Installation CD.
4. Double-click skit.exe located in the Windows folder on the CD. This is a self-extracting executable.
5. While you are installing SwitchKit, the switch configuration dialog box is invoked. See the next screen shot.
SwitchKit Installation & Maintenance
307
6. This dialog box allows you to set up a redundant LLC and a SwitchManager configuration file to be used when SwitchKit components are to be run automatically as Windows services. Select Redundant Mode under LLC Configuration and enter the Primary host name. Use the browse button to set up the SwitchManager Configuration File. Click OK.
If you do not intend to run these as Windows services, click Cancel. For further information, see the Running SwitchKit Components Automatically at Startup.
NOTE: By default, the LLC and SwitchManager are not set up in Windows Services to be started manually.
7. Follow the instructions on the screen to complete the installation.
8. Reboot your machine if prompted.
SwitchKit is now installed with all of its components:
LLC
SwitchManager
DataManager
AdminManager
MSP
308
Running SwitchKit Components Automatically at Startup
This procedure describes how to make the Low-Level Communicator (LLC) and SwitchManager run automatically as services on a Windows computer at startup. By default, when you install SwitchKit, the LLC and SwitchManager are installed as services but must be started manually.
To ensure maximum system up-time in production environments, we recommend setting up both the LLC and SwitchManager to run automatically as Windows Services.
Before you begin
You must have SwitchKit installed.
Auto-start is not suitable for a development environment where resources are shared. Configuring LLC and SwitchManager as auto-start services is recommended only if your host computer will have continuous connectivity to the switch. If a host computer does not have full time access to a switch, configuring LLC and SwitchManager as auto-start services may cause problems during initialization. Also, if a host computer shares access to a switch, this could cause thrashing between multiple LLCs and their connections to the switch.
Enabling SwitchKit to Run as a Service
To make LLC and SwitchManager run as automatic Services at startup do the following. If you are using Windows NT start at Step 4:
For Windows XP
1. From the Start button, go to Settings Control Panel Administrative Tools Services.
2. Select the service EXS LLC and right-click Properties from the menu. The EXS LLC Properties (Local Computer) dialog box opens. See the next screen shot.
3. Go to the General Tab, Startup type field and select Automatic from the drop-down list. Click Apply, then OK. Repeat the previous steps for SwitchManager. Then, go to Step 1.
4. From the Start button, go to Settings>Control Panel>Services.
5. Select the service EXS LLC and click the Startup button.
6. Select Automatic under Startup type. Click OK. Repeat the previous steps for SwitchManager. Then, go to Step 1.
For Windows NT
SwitchKit Installation & Maintenance
309
1. From the Start menu, select Programs SwitchKit SwitchConfig. The Switch Config dialog box opens. See the next screen shot.
2. Specify the LLC Configuration: If the host is going to run as the redundant controller, check the box for Redundant Mode to enable redundancy and provide the Primary host name.
3. Specify the SwitchManager Configuration: In the Configuration File text box, enter the full path to the configuration file.
4. Select the connection method by selecting one of the following SwitchManager options (For more information about this options see SwitchManager Arguments:
Configure and maintain: Each time it connects to the LLC, SwitchManager sends the entire configuration file to the switch. This results in a complete system configuration.
Maintain Only: Each time an initial SwitchManager connects to the LLC, SwitchManager reads the configuration file and does no initial configuration. If an active SwitchManager reconnects to an LLC, SwitchManager will behave as if it were Smart Mode.
Smart Mode: Each time it connects to the LLC, SwitchManager reads a configuration file and reconfigures anything that is configured differently than specified in the configuration file. SwitchManager determines this by checking the Configuration Tag of all cards in the system. Any card with a Configuration Tag of zero (0) is reconfigured.
Important! This option only applies to the initial startup of the SwitchManager. A system running in a production environment should be run in Smart Mode.
5. Click OK to save your settings and exit.
6. Invoke the Control Panel by selecting Start/Settings Control Panel.
7. On Windows NT systems double-click the Services icon. On Windows XP systems double-click the Administrative Tools icon and then double-click the Services icon. This opens the services dialog.
8. Select “EXS LLC,” change the StartUp type to Automatic, and click OK.
9. Select “EXS SwitchMgr,” change the StartUp type to Automatic, and click OK.
10. Apply the changes and close the Control Panel.
MSP
310
SwitchKit Tray Icons
Description
When running SwitchKit on Windows NT as a service, tray icons give a visual indication of the LLC and SwitchManager status within the icon tray bar.
LLC Icons
The icon for the LLC shows an "LLC" at the bottom. The "LLC" icon is complemented with one of the following:
a green A above the LLC indicates the LLC on this machine is the primary LLC.
a yellow S above the LLC indicates the LLC on this machine is the redundant LLC.
a red I above the LLC indicates the LLC on this machine is initializing.
SwitchManager Icons
The icon for the SwitchManager shows an "SM" at the top. The "SM" icon is complemented with one of the following:
a transparent bar under the SM indicates that SwitchManager is idle.
a yellow bar under the SM indicates that SwitchManager on this machine is the redundant SwitchManager.
a red bar under the SM indicates that SwitchManager is currently handling a message.
a red ! over the SM indicates that SwitchManager is unable to talk to the LLC.
Viewing SwitchKit log files
You can view log files using the default file viewer (Notepad) or with different viewer. To override the default file viewer, set the environment variable SK_VIEW_SPEC or add VIEW_SPEC to the defaults file. Use the full path to the viewer. The "%s" MUST be enclosed in quotes(") so that file paths with spaces works.
LLC Logs
To open the messages.log file double-click the LLC icon. If you right-click the LLC icon, the following options are presented:
View messages.log
View messages.log with Notepad
View maintenance.log
View maintenance.log with Notepad
SwitchManager Logs
SwitchKit Installation & Maintenance
311
To open the alarm.log file double-click on the SM icon. If you right-click the SM icon, the following options are presented:
View alarm.log
View alarm.log with Notepad
MSP
312
Configuring SwitchKit to Run from the Start Menu on Windows
This procedure describes how to configure the LLC and SwitchManager to run from the Start Menu.
Before you begin
Determine whether your connection parameters for starting the LLC and SwitchManager are constant and do not change frequently.
Configuring the Shortcuts
To run SwitchKit in a development environment where resources are shared, set up the shortcuts to ease the process for starting LLC and SwitchManager. Use shortcuts only if the connection parameters for starting LLC and SwitchManager do not change frequently. If setup information changes frequently, start these processes from the command line.
1. Right-click the Windows Start button then click Explore All Users.
2. Double-click Programs then double-click SwitchKit.
3. In the SwitchKit folder, right-click LLC.
4. Go to Properties, then click the Shortcut tab. The next dialog box opens:
5. In the input field Target specify the start-up argument by typing them outside the quotation marks following llc.exe. For possible arguments refer to the Running the LLC procedure.
6. Click Apply to apply your specification.
7. Click OK to close the dialog.
8. In the Explore All Users window right-click SwitchManager.
9. Go to Properties then click the Shortcut tab. You see the following dialog:
10. Go to the Target field. At the end of the line outside the quotation marks, type your configuration file name, for example: mysystem.cfg. The input would read:
“C:\Program Files\Cantata\MSP\switchkit\bin\SwitchManager.exe” mysystem.cfg
If there is no configuration file specified, SwitchManager uses the system.cfg file provided with the installation in the SwitchKit folder.
11. In the Target field add the start-up argument by typing it outside the quotation marks, but before your specified configuration file. For possible arguments refer to SwitchManager Arguments. For example, the input could read:
“C:\Program Files\Cantata\MSP\switchkit\bin\SwitchManager.exe” switchmgr -n mysystem.cfg
12. Click Apply and then OK.
SwitchKit Installation & Maintenance
313
Environment Variables Modify SwitchKit Default Behavior
You can modify SwitchKit component behavior through environment variables or by changing the values in the SwitchKit Defaults file. Environment variables take precedence over the variables in the Defaults file.
Modifying Default Behavior on Windows
SwitchKit environment variables can be set in three ways on Windows:
Use the Command Line. Here is an example of the syntax:
set SK_ENV_VAR=x
Important! Environment variables set on the command line only apply to the Switchkit process (LLC, SwitchManager or a user application) running in that command shell.
Use the Control Panel in Windows. Please refer to the procedures Setting Environment Variables on Windows NT 4.0 or Setting Environment Variables on Windows 2000.
Use the defaults file. You need to create this in the following directory:
SK_LIB_DIR.
Modifying Default Behavior on UNIX
SwitchKit environment variables can be set in three ways on UNIX:
Use the @ Shell Prompt. Here is an example of the syntax:
SK_ENV_VAR=x
export SK_ENV_VAR
Important! Environment variables set on the @ Shell Prompt only apply to the Switchkit process (LLC, SwitchManager or a user application) running in that command shell.
Use .Profile for user.
Use the defaults file. You need to create this in the SK_LIB_DIR directory.
Variable Rules
These are the rules regarding environment variables and defaults files.
Environment Variable names are case-sensitive and must be entered as all capital letters. For example, SK_VARIABLE.
The Defaults file name is case-sensitive and must be entered exactly as shown below for each operating environment. /SK_LIB_DIR
All Defaults file variable names are entered in lower case and do not use the prefix, sk.
In the Defaults file, if the first character in a line is a pound symbol (#), subsequent text is considered a comment.
Blank lines are allowed.
MSP
314
Format
The format for default values in both UNIX and Windows is as follows:
<fieldname> : value
Example
LLC_Host : localhost
LLC_Port : 1312
RLLC_Host : localhost
RLLC_Port : 1312
Logging Environment Variables
In maintenance.llc.log, LLC will log all environment variables used, where that variable was set and what the value is. The next example shows details logged by LLC:
Jan 11 2005 11:48:45: Variables read from environment:
Jan 11 2005 11:48:45: Environment var SK_APP_DISABLED_TIMEOUT -> "99999"
Jan 11 2005 11:48:45: Environment var SK_FILE_LIFETIME -> "1"
Jan 11 2005 11:48:45: Environment var SK_LIB_DIR -> "C:\Program Files\Cantata\SwitchKit"
Jan 11 2005 11:48:45: Environment var SK_LOG_DIR -> "C:\Program Files\Cantata\Log"
Jan 11 2005 11:48:45:
Jan 11 2005 11:48:45: Variables read from file "C:\Program Files\Cantata\SwitchKit\Defaults":
Jan 11 2005 11:48:45: In defaults file, key of SK_DISABLE_CSM has value "0"
Jan 11 2005 11:48:45: In defaults file, key of SK_LLC_HOST has value "135.119.52.4"
Jan 11 2005 11:48:45: In defaults file, key of SK_LLC_PORT has value "1312"
Jan 11 2005 11:48:45: In defaults file, key of SK_LOG_LEVEL has value "6"
Jan 11 2005 11:48:45:
Jan 11 2005 11:48:45: Variables set at runtime
Jan 11 2005 11:48:45:
Jan 11 2005 11:48:45: Blanked Variables
Jan 11 2005 11:48:45:
Jan 11 2005 11:48:45: Variables as seen at runtime
Jan 11 2005 11:48:45: key of SK_APP_DISABLED_TIMEOUT has value "99999"
Jan 11 2005 11:48:45: key of SK_DISABLE_CSM has value "0"
Jan 11 2005 11:48:45: key of SK_FILE_LIFETIME has value "1"
Jan 11 2005 11:48:45: key of SK_LIB_DIR has value "C:\Program Files\Cantata\SwitchKit"
Jan 11 2005 11:48:45: key of SK_LLC_HOST has value "135.119.52.4"
Jan 11 2005 11:48:45: key of SK_LLC_PORT has value "1312"
Jan 11 2005 11:48:45: key of SK_LOG_DIR has value "C:\Program Files\Cantata\Log"
Jan 11 2005 11:48:45: key of SK_LOG_LEVEL has value "6"
SwitchKit Installation & Maintenance
315
List of Environment Variables
This section provides the names of all of the environment variables available with SwitchKit. The environment variables are listed in alphabetical order and each is described indicating what it is used for. The variable name in the Defaults file is provided, along with the valid values for each variable.
Important! Environment variables should be set within the value ranges specified for each variable listed. Setting a variable outside this range will result in unexpected behavior.
The environment variables and the Defaults file are read at start-up by LLC and SwitchKit applications. To modify settings at run-time, you can use ClientView. See the ClientView section.
SK_APP_ DISABLED_TIMEOUT
SK_APP_ DISABLED_TIMEOUT specifies the number of seconds that an application must be silent and fail to respond to pings before the LLC considers it unavailable.This value applies to all applications connected to the LLC.
Defaults file variable name
app_disabled_timeout
Valid Values
SK_APP_DISABLE_TIMEOUT = 15
Disconnect applications after 15 seconds (default)
SK_APP_DISABLE_TIMEOUT = 1 to 65535
Valid range for timeout
SK_AUTO_RETURN_CHANNELS
SK_AUTO_RETURN_CHANNELS specifies whether a ChannelReleased message from the switch should trigger an automatic sk_returnChannel. The use of SK_AUTO_RETURN_CHANNELS is recommended because it simplifies application development. It also prevents a possible race condition, if an XL_ChannelReleased message is immediately followed by an XL_RequestForService, before the application has been able to return the channel. It defaults to 0 for backward compatibility.
Defaults file variable name
auto_return_channels
Valid Values
SK_AUTO_RETURN_CHANNELS = 0
MSP
316
Disable (default)
SK_AUTO_RETURN_CHANNELS = 1
Enable
SK_BACKUP_WHEN_CLEARLOG
SK_BACKUP_WHEN_CLEARLOG controls whether a backup of log files will be saved when the clear log command is sent to the LLC.
Defaults file variable name
backup_when_clearlog
Valid Values
SK_BACKUP_WHEN_CLEARLOG = 0
Disabled
SK_BACKUP_WHEN_CLEARLOG = 1
Enabled (default)
SK_CHANNEL_RECOVERY_METHOD
SK_CHANNEL_RECOVERY_METHOD allows LLC control of the channel in case of an abrupt disconnect from an application that is controlling the channel.
Defaults file variable name
channel_recovery_method
Valid Values
SK_CHANNEL_RECOVERY_METHOD = 0
OFF (default) channels owned by the application are left in their current state
SK_CHANNEL_RECOVERY_METHOD = 1
Release the non-idle channels owned by the application
SK_CHANNEL_RECOVERY_METHOD = 2
Take non-idle channels owned by the application out of service
SK_CHANNEL_RECOVERY_METHOD = 3
Take all channels out-of-service within the watched channel group(s)
Note:
Methods 1 and 2 only affect non-idle channels (channels that are in active calls).
SwitchKit Installation & Maintenance
317
For Method 2 and 3, after you restart the application to watch the channel groups, you must bring the channels back in-service using the ForceGroupState message.
Method 3, will affect channels:
in an entire group being watched using the sk_watchChannelGroup() function;
that are not watched by any other applications;
that are currently active only after they are released prior to being brought out-of-service.
SK_DIALOGUE_MONITOR
SK_DIALOGUE_MONITOR is used to activate the LLC's dialogue monitor.
Defaults file variable name
dialogue_monitor
Valid Values
SK_DIALOGUE_MONITOR=0
-disables the LLC’s dialogue monitor (default)
SK_DIALOGUE_MONITOR=1
- enables the LLC’s dialogue monitor
See LLC: Application Load Balancing for TCAP for more information on how to use the LLC’s dialogue monitoring capabilities.
SK_DISABLE_CSM
SK_DISABLE_CSM enables or disables LLC from sending the SK_ConnectionStatusMsg to all connected application.
Defaults file variable name
disable_CSM
Valid Values
SK_DISABLE_CSM = 0
LLC sends ConnectionStatusMsg to all applications (default)
SK_DISABLE_CSM = 1
LLC does not send ConnectionStatusMsg to any application
MSP
318
SK_DISABLE_FILE_ ROLLOVER_LOGGING
SK_DISABLE_FILE_ROLLOVER_LOGGING disables the printing of the switch mid-plane query information banner and the connected SwitchKit application banners within the maintenance_llc.log.
Defaults file variable name
disable_file_rollover_logging
Valid Values
SK_DISABLE_FILE_ROLLOVER_LOGGING = 0
Enables printing of information about each connected process when the log file rolls over (default)
SK_DISABLE_FILE_ROLLOVER_LOGGING = 1
Disables printing of information about each connected process when the log file rolls over
SK_DISABLE_PPL_EVENT_LOGGING
Set SK_DISABLE_PPL_EVENT_LOGGING to stop the SwitchManager from printing identified PPL events to an alarm.log file.
Defaults file variable name
disable_ppl_event_logging
Valid Values
SK_DISABLE_PPL_EVENT_LOGGING = 0
Enables logging of all identified PPL events (default)
SK_DISABLE_PPL_EVENT_LOGGING = 1
Disables logging of all identified PPL events
SK_DISABLE_UNKNOWN_PPL_EVENT_LOGGING
Set SK_DISABLE_UNKNOWN_PPL_EVENT_LOGGING to stop the SwitchManager from printing unknown PPL events to an alarm.log file.
Defaults file variable name
disable_unknown_ppl_event_logging
Valid Values
SwitchKit Installation & Maintenance
319
SK_DISABLE_UNKNOWN_PPL_EVENT_LOGGING = 0
Enables logging of all unknown PPL events (default)
SK_DISABLE_UNKNOWN_PPL_EVENT_LOGGING = 1
Disables logging of all unknown PPL events
SK_ENABLE_CHANNEL_ OWNERSHIP_LOGGING
Use this environment variable to enable logging of the channel ownership changes which are then logged in messages.log. The logs include the channel state information as well as information about the application gaining/losing ownership.Channel ownership by an application can change for many reasons. Here are some examples:
Gain of ownership
AllocateChannel (and AllocateChannelGroup)
RFS via the watchChannelGroup method
RequestChannel
requestOutseizedChannel
requestRouteControlledChannel)
TransferChannel (from another application)
Redundant Application Pool (RAP) switchover to new primary
Outsieze or routeControl on an unclaimed channel
Loss of ownership
Transfer channel (to another application)
sk_returnChannel
ChannelReleased (withdata) message recieved from switch
DS0 of purge or out of service
Termination of application
Redundant Application Pool (RAP) switchover to new primary
Defaults file variable name
enable_channel_ownership_logging
Valid Values
SK_ENABLE_CHANNEL_OWNERSHIP_LOGGING = 1
Enables logging of channel ownership
SK_ENABLE_CHANNEL_OWNERSHIP_LOGGING = 0
MSP
320
Disables logging of channel ownership (default)
SK_DISPLAY_CONNECTION_COUNT
SK_DISPLAY_CONNECTION_COUNT is used to enable the logging of the total number of applications connected to LLC any time an applications connects or disconnects.
Defaults file variable name
display_connection_count
Valid Values
SK_DISPLAY_CONNECTION_COUNT = 0
No additional information will be logged (default).
SK_DISPLAY_CONNECTION_COUNT = 1
Text similar to the following will be printed in the maintenance.llc.log each time a connection to an application or node is created or destroyed.
Example
Jun 19 2002 16:33:49: New Link - total created: 69 - active count: 5
Jun 19 2002 16:33:49: Destroyed Link - total created: 69 - active count: 4
If this enviroment variable is not defined, the usual text will be displayed when connections are created or destroyed.
SK_FILE_CLOSEOUT_HOUR
SK_FILE_CLOSEOUT_HOUR specifies the hour on which to cycle all managed log files. Specifying SK_FILE_CLOSEOUT_HOUR supercedes any setting of SK_FILE_LIFETIME setting the file lifetime to 24 hours.
Defaults file variable name
file_closeout_hour
Valid Values
SK_FILE_CLOSEOUT_HOUR = 0
File close-out midnight, local time (Default)
Valid values are integers 0-23. If SK_FILE_CLOSEOUT_HOUR = 7, all managed logs files will cycle at 7:00 AM local time. Be aware, the longer the log files remain open, the larger they grow. Large files can consume all available disk space and cause system errors. It is recommended that log files never remain open longer than 24 hours.
SwitchKit Installation & Maintenance
321
SK_FILE_LIFETIME
SK_FILE_LIFETIME specifies in hours the length of time log files are open. There is no maximum length of time. If you set SK_FILE_LIFETIME to less than 1, the file life time becomes 24. Setting SK_FILE_CLOSEOUT_HOUR will supercede any value you set for SK_FILE_LIFETIME and act as if you set SK_FILE_LIFETIME to 24 hours.
Defaults file variable name
file_lifetime
Valid Values
SK_FILE_LIFETIME = 24
Close logs every 24 hours (Default)
The valid range is 1-24
Any whole number of hours can be specified. Be aware, the longer the log files remain open, the larger they grow. Large files can consume all available disk space and cause system errors. It is recommend that log files never remain open longer than 24 hours.
SK_FILE_MAX_SIZE
SK_FILE_MAX_SIZE specifies the size, in megabytes, to which the log file is allowed to grow before rolling over. Each process controls its own log files. When a log file exceeds the size specified by SK_FILE_MAX_SIZE, all log files controlled by that process are rolled over.
Independent of file size-related roll-overs, all time based roll-overs will continue as scheduled.
For example, assuming SK_FILE_LIFETIME = 1 and SK_FILE_MAX_SIZE = 1; if it is now 3:45 p.m. and the log file reaches one megabyte, the log will cycle at 3:45 p.m. The log will cycle again at 4:00 pm.
Defaults file variable name
file_max_size
Valid Values
SK_FILE_MAX_SIZE can be set to any positive integer value. There is no default value.
Important! Any log will close on a host machine when the socket.log on that same machine reaches its size limit. All logs on that machine will roll over. This is done to keep all the log files synchronized.
SK_HANDLER_BEHAVIOR
MSP
322
SK_HANDLER_BEHAVIOR allows you to customize the behavior of handlers within an application. The default handler or handler stack acts as a safety net if all other handlers invoked return SK_NOT_HANDLED. Currently, the default handler stack is used, if no other handlers are defined.
For example:
If a channel handler is defined by an application and then a call processing message arrives, the message will be handed to the channel handler(s) or stack of channel handlers.
If all the channel handlers return SK_NOT_HANDLED, then the message will be returned in the original call to sk_rcvAndDispatch().
If a channel handler is not defined but a default handler is defined, then the message is handed to the default handler or stack of default handlers.
If SK_HANDLER_BEHAVIOR is set to SK_HDLR_BHVR_SAFETY_NET(1), a default handler will be used when the appropriate non-default handlers have returned SK_NOT_HANDLED.
In effect, the default handler stack acts as a safety net for all messages. In the above example, if a channel handler or handler stack is defined, and all handlers return SK_NOT_HANDLED, then the default handler or handler stack will be presented the message if defined and the SK_HANDLER_BEHAVIOR is enabled.
Important! The default handler or handler stack cannot act as a safety net to itself.
Defaults file variable name
handler_behavior
Valid Values
Use the following to set the bitmask:
SK_HDLR_BHVR_SAFETY_NET(1)
SK_LIB_DIR
SK_LIB_DIR specifies the location of the base directory of the SwitchKit installation. Must be set to the base directory of SwitchKit. If this variable is not set, LLC will terminate. Variable is automatically created for the default installation directory.
Important! When reinstalling SwitchKit on Windows NT, SK_LIB_DIR gets overwritten.
Defaults file variable name
There is no default setting for SK_LIB_DIR.
SK_LLC_HOST
SwitchKit Installation & Maintenance
323
SK_LLC_HOST specifies what machine the LLC is running on.This environment variable should be set similarly on both the primary host and the redundant host. SK_LLC_HOST affects all client modules of the LLC. The value may be either a host name or an IP address.
Defaults file variable name
llc_host
Valid Values
SK_LLC_HOST = localhost
local host (Default)
SK_LLC_PORT
SK_LLC_PORT specifies the port number of the host the LLC resides on. This environment variable should be set similarly on both the primary host and the redundant host. Each LLC and all applications that intend to connect to the LLC must have SK_LLC_PORT set to the same value in their environment.
Defaults file variable name
llc_port
Valid Values
SK_LLC_PORT = 1312
Port 1312 (Default)
Valid values are 1024-32767
SK_LLC_RETRY_DELAY
SK_LLC_RETRY_DELAY specifies the delay between each LLC connection retry. This variable only applies to connections between the LLC and SwitchKit applications, not connections between the LLC and the MSP 1010. For example, this variable can be used for connections between LLC and RLLC, LLC and SwitchManager, and between LLC and SwitchKit user applications.
Defaults file variable name
llc_retry_delay
Valid Value
SK_LLC_RETRY_DELAY = 2
Retry connection every two seconds (Default)
MSP
324
Valid values include any integer.
Important! Cantata recommends that this value not be changed from the default.
SK_LLC_SWITCHBACK_ MODE
SK_LLC_SWITCHBACK_MODE can be used by the LLC to determine whether to automatically switchback an LLC to its original Primary/Secondary configuration; or remain in its current fail-over configuration until told to do otherwise by the SK_LLC_CONTROL_START_SYNC_TLV in LLCControl.
Defaults file variable name
llc_switchback_mode
Valid Values
Value Option Description
0 default
SB_PRIMARY_PREFERED_MODE The LLC designated as Primary (no -r) will always attempt to gain control and become active. In the event that the primary active LLC receives a GO_STANDBY request, a switch-over will occur. Once synchronization is complete between the two LLCs a switchback will occur and the primary will regain control from the secondary.
1 SB_MANUAL_MODE Whichever LLC is currently active will remain active until told to GO_STANDBY manually by an LLCControl message. In the event that two LLCs are concurrently in the active state, and have been configured by an AddLLCNode message, the one that has been configured the longest will win arbitration. If the configuration times are equal then the Primary (no -r) will win arbitration.
SK_LOG_LEVEL
SwitchKit Installation & Maintenance
325
SK_LOG_LEVEL specifies the EXS API message logging to be done by LLC. The possible options are to log to:
socket.log
messages.log
and/or the screen output
Socket.log is the preferred log level.
Defaults file variable name
log_level
Valid Values
Use the following to set the bitmask:
SK_LOG_NONE (0)
LLC will perform no EXS API message logging
SK_LOG_SOCKET (0x01)
LLC will log EXS API messages to socket.log (default)
SK_LOG_MESSAGE (0x02)
LLC will log EXS API messages to message.log
SK_LOG_SCREEN_OFF (0x04)
LLC screen output is disabled
SK_LOG_DIR
SK_LOG_DIR specifies the directory where all SwitchKit log files that are generated on this host computer will be stored. If this variable is not set, log files will be stored in the directory from which the process was started. See Setting Environment Variables on Windows NT 4.0 or Setting Environment Variables on Windows 2000 ).
Defaults file variable name
log_dir
Valid Values
Default = None
Any network path that is read/write accessible.
SK_NO_DEFAULT_CONNECTION
MSP
326
By default, LLC connections are established using the SK_LLC_HOST, SK_LLC_PORT, SK_RLLC_HOST and SK_RLLC_PORT definitions. When a connection is made, these values determine what LLC is connected to if sk_createConnection has never been called. Enabling SK_NO_DEFAULT_CONNECTION stops an application from using the environment settings to determine the LLC location. To establish the LLC connection, the application must call sk_createConnection. After the inital call, any time the LLC connection must be re-established, the data provided in the original sk_createConnection is used.
Defaults file variable name
no_default_connection
Valid Values
SK_NO_DEFAULT_CONNECTION = 0
Establish connections based on environment definitions. Default.
SK_NO_DEFAULT_CONNECTION = 1
Require sk_createConnection to establish connection to LLC.
SK_NUM_RETRIES_TO _LLC
SK_NUM_RETRIES_TO_LLC specifies the number of times an application will retry the connection to LLC before NACKing the request. This value applies to all applications, including Redundant LLC. It does not apply to the SwitchMgr.
Defaults file variable name
num_retries_to_llc
Valid Value
SK_NUM_RETRIES_TO_LLC = 0
Retry connection to LLC once (Default)
SK_NUM_RETRIES_TO_LLC = 1
Channel can only be released by application that initially requested the channel.
This variable may be set to any number of retries, but retries take time. The application will be waiting for a response the entire time. SK API is retrying to send the message.
SK_RETURN_CHANNEL_BY_OWNER_ONLY
SwitchKit Installation & Maintenance
327
SK_RETURN_CHANNEL_BY_OWNER_ONLY controls the channel release behavior related to the application that initially sent the channel request. When this environment variable is disabled, any application can return any channel.
Defaults file variable name
return_channel_by_owner_only
Valid Values
SK_RETURN_CHANNEL_BY_OWNER_ONLY = 0
Feature disabled. Any application can return any channel. (Default)
SK_RETURN_CHANNEL_BY_OWNER_ONLY = 1
Channel can only be released by application that initially requested the channel.
SK_RLLC_HOST
SK_RLLC_HOST specifies the IP Address of the host the redundant LLC resides on. This environment variable should be set similarly on both the primary host and the redundant host.
Defaults file variable name
rllc_host
Valid Values
SK_RLLC_HOST = localhost
local host (Default)
SK_RLLC_PORT
SK_RLLC_PORT specifies the port number of the host the redundant LLC resides on. This environment variable should be set similarly on both the primary host and the redundant host. Each LLC and all applications that intend to connect to the RLLC must have SK_RLLC_PORT set to the same value in their environment.
Defaults file variable name
rllc_port
Valid Values
SK_RLLC_PORT = 1312
Port 1312 (Default)
Valid values are 1024-32767
MSP
328
SK_SIP_UA_APPSELECT _OPTION
SK_SIP_UA_APPSELECT_OPTION allows load sharing of SIP user agent (UA) Accept Registration Requests. SIP UA load sharing can be enabled from a user application by sending a sk_pplComponentRegister(0xA7) and then setting the environment variable, with the appropriate option, on the host.
When enabled this load sharing feature will cause only one PPL event indication to be sent to a user application (ClientView and Switchmanager will be excluded from the list). Because only a single PPLEventIndication is expected for each of these SIP transactions, it is not required that the LLC keep track of applications load. It will simply select the next registered application by using a round robin or randomizing algorithm.
Defaults file variable name
sip_ua_appselect_option
Valid Values
Value Option Description
0 default
SIP_UA_BROADCAST No load sharing. Sends to all registered applications.
1 SIP_UA_RANDOMIZE Sends to one randomly selected application.
2 SIP_UA_ROUNDROBIN Sends to one application, which is selected in a round robin manner. The first available application is selected; the selection process then proceeds through the applications, always choosing the next one available starting from the application it last selected.
SK_SOCKET_VALIDATE_WAIT
When an application connects to LLC, a handshaking occurs through which critical information regarding the connection is exchanged. SK_SOCKET_VALIDATE_WAIT allows the time allocated to validate a client connection to the LLC to be changed.
Defaults file variable name
socket_validate_wait
Valid Values
SK_SOCKET_VALIDATE_WAIT = 3
Allow three seconds for socket validation (Default)
SwitchKit Installation & Maintenance
329
This variable may be set to any number of seconds.
SK_STATS_DIR
The full path to the directory where statistics are stored.
Defaults file variable name
stats_dir
Valid Values
SK_STATS_DIR= <full path to the directory in which stats are stored>
The default is:
Windows
C:/Programs/Canata/common/stats
UNIX
/opt/cantata/common/stats
SK_TRANSFERCHAN_ OPTION
SK_TRANSFERCHAN_OPTION allows you to decide when the LLC will transfer channel ownership for a particular application. The default, option 0, is to transfer the ownership when the LLC receives a TransferChanMsg. When option 1 has been selected, the transfer will not take place until the LLC receives the TransferChanMsgAck and has successfully sent it to the requesting application.
Defaults file variable name
transferchan_option
Valid Values
SK_TRANSFERCHAN_OPTION = 0
transfer application ownership on transferChan request (Default if not defined).
SK_TRANSFERCHAN_OPTION = 1
transfer application ownership on transferChanAck
SK_WARN_ORPHAN_RFS
SK_WARN_ORPHAN_RFS specifies that when the switch sends a Request For Service or Request for Service with Data on a channel that is not associated with an
MSP
330
application, a warning message is logged in the maintenence.log file The warning message states: “Message RFS received on channel n that was not associated with any app” .
Defaults file variable name
warn_orphan_rfs
Valid Values
SK_WARN_ORPHAN_RFS = 0
No Warning (Default)
SK_WARN_ORPHAN_RFS = 1
Log Warning
SwitchKit Installation & Maintenance
331
Setting Environment Variables on Windows 2000
This procedure explains how to set an environment variable using the System Variables option on Windows 2000. The environment variable, SK_LOG_DIR, is used as an example in this procedure.
Before you begin
The following directory is created to store the log files:
C:\Program Files\Cantata\MSPSwitchKit\log
The log files are written into the directory based on the environment variable SK_LOG_DIR.
Setting SK_LOG _DIR
Follow this procedure to set the SK_LOG_DIR Environment Variable.
If you are updating or reinstalling your SwitchKit installation, this environment variable should already be set on your system.
Do not define environment variables as User variables. You need to set environment variables in the Control Panel System variables to run SwitchKit successfully as Windows Services.
1. Log on using an administrative account.
2. Go to Control Panel -> System.
3. Select the tab, Advanced.
4. Select the button, Environment Variables.
5. If this is your initial setup, click New below the System variables field and continue with Step 7. Otherwise, refer to Step 6.
6. If you want to change the variable settings, click Edit below the System variables field.
7. In the field Variable Name type SK_LOG_DIR.
8. In the field Variable Value type:
C:\Program Files\Cantata\MSPSwitchKit\log
9. Click OK to close the New System Variable or Edit System Variable dialog box.
10. Click OK to close the Environment Variables dialog box.
11. Click OK to close the System Properties dialog box.
12. Then close the Control Panel.
MSP
332
Setting Environment Variables on Windows XP
This procedure explains how to set an environment variable using the System Variables option on Windows XP. The environment variable, SK_LOG_DIR, is used as an example in this procedure.
Before you begin
The following directory is created to store the log files:
C:\Program Files\Cantata\MSPSwitchKit\log
The log files are written into the directory based on the environment variable SK_LOG_DIR.
Setting SK_LOG _DIR
Follow this procedure to set the SK_LOG_DIR Environment Variable.
If you are updating or reinstalling your SwitchKit installation, this environment variable should already be set on your system.
Do not define environment variables as User variables. You need to set environment variables in the Control Panel System variables to run SwitchKit successfully as Windows NT Services.
1. Log on using an administrative account.
2. Go to Control Panel ->System.
3. Select the tab, Advanced.
4. Select the button, Environment Variables.
5. If this is your initial setup, click New below the System variables field and continue with Step 7. Otherwise, refer to Step 6.
6. If you want to change the variable settings, click Edit below the System variables field.
7. In the field Variable Name type SK_LOG_DIR.
8. In the field Variable Value type the installation folder:
C:\Program Files\Cantata\MSPSwitchKit\Log.
9. Click OK to close the New System Variable or Edit System Variable dialog box.
10. Click OK to close the Environment Variables dialog box.
11. Click OK to close the System Properties dialog box.
12. Then close the Control Panel.
SwitchKit Installation & Maintenance
333
Running SwitchKit Components and Companion Products
Running SwitchKit Components and Companion Products
Now that you have installed SwitchKit, it is time to connect to the MSP 1010 and perform configuration. This section guides you through running each component/companion product, explaining the proper order of execution, and all available startup arguments. Excel provides you with a sample configuration file to get you started using SwitchKit.
You can run both the LLC and SwitchManager automatically or manually in both UNIX and Windows NT. The recommended method depends on the environment in which it is running, as follows:
Dedicated - Single-user development environment with a dedicated MSP 1010. If you are running SwitchKit in a dedicated environment, you may run it automatically or manually.
Shared - Multi-user development environment, or one without a dedicated MSP 1010. If you are running SwitchKit in a shared environment, run it manually to avoid thrashing over MSP 1010 resources.
Production - Run-time environment. If you are running SwitchKit in a production environment, run it automatically.
MSP
334
System Start-up Behavior
Two modes are available to run SwitchManager:
Development Mode
Production Mode
If SwitchManager is run without a configuration file, the system is being run in development mode. If SwitchManager is run with a configuration file, the system is being run in production mode.
When running SwitchKit in development mode, it is assumed no configuration file is present and one will be created. If a system.cfg file exists in the SK_CONFIG_DIR, it will be renamed to system.old.cfg.
When running SwitchKit in production mode, it is assumed a configuration file named system.cfg exists in the SK_CONFIG_DIR. This configuration file will be used to configure the system. If this file does not exist, SwitchManager will terminate indicating no system.cfg file is found.
When running SwitchKit in a redundant configuration, it must be run in production mode. If it is run in development mode, redundancy will fail and the system will become configured in an unknown state.
After SwitchManager is running it will connect to LLC. The configuration file specified when starting SwitchManager must include at least one AddLLCNode () command. LLC will initiate connections to all nodes specified in these commands and continue to configure according to the configuration file.
Important! When the Switch Manager reconnects to the LLC, AddLLCNode messages are sent from the Switch Manager to the LLC. This causes the LLC to open a socket (connection) to the MSP 1010 and the AssignNode message (which is the switch-level equivalent of AddLLCNode) is sent to the MSP 1010.
SwitchKit Installation & Maintenance
335
Running the LLC in Windows
This procedure describes the available parameters for running the Low-Level Communicator (LLC) and how to run the LLC with or without any parameter specification.
Before you begin
The MSP 1010 system software must be installed before you can start the LLC. SwitchKit must also be installed on your host. The LLC parameters must not be already specified through the shortcut settings in the Start menu, refer to Configuring SwitchKit to Run from the Start Menu.
Steps to start the LLC with ClientView
Do the following to start the LLC:
1. Go to the Start button, select All Programs->Excel Switching Corporation
-> SwitchKit -> LLC.
2. The LLC.exe window opens, indicates that it is ready to accept connections, and then minimizes.
3. Now you are ready to start SwitchManager.
Steps to start the LLC without ClientView
Do the following to start the LLC:
1. Open a Command Prompt window.
2. Specify the path to your installation directory. For the default location:
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
1. Type llc and specify the start-up argument, if desired. You can use multiple arguments together. See the LLC Arguments.
LLC start-up behavior
When the LLC connects to the MSP 1010, Poll messages from the MSP 1010 indicate the presence of system software on the MSP 1010. If no system software is found, the LLC will wait until the system software is downloaded by the FTP server. If an FTP download is already in progress, LLC does not interfere and waits for the download to complete.
After the download is complete socket.log records all messages (such as polls) arriving from the switch. The maintenance_llc.pid.log file records administrative details.
When the LLC is running, all downloading has been completed, and the “**Ready to accept connections” message appears, SwitchManager can be started.
When LLC is running, it automatically sends the host system time to all the MSP 1010s in the system.
MSP
336
LLC Arguments
Purpose
Use the arguments listed in this section when in a Windows Command Prompt to change the default behavior of LLC at startup.
Argument -p
Change LLC Port
By default, the LLC accepts TCP/IP connections from SwitchKit applications on Port 1312. If you want the LLC to bind to a different port, use the -p portNumber argument. All applications must be informed of any non-default port bindings for them to connect to the LLC.
Syntax
-p <Port Number>
Example
llc -p 2000
Argument -r
Run LLC in Redundant Mode
To run the LLC in redundant mode as a hot standby, use the -r argument. Use this argument when starting the redundant LLC. The primary LLC should not use this argument. To use LLC redundancy, the SK_LLC_HOST, SK_LLC_PORT, SK_RLLC_HOST, SK_RLLC_PORT environment variables must be set.
Syntax
-r <Internet Address of the Primary LLC>
Example
llc -r 150.10.22.100
Argument -v
Query LLC Version
Displays the version of LLC that is running.
Syntax
-v <no value>
SwitchKit Installation & Maintenance
337
Example
llc -v
Argument -h
Help
Displays a list all of the available arguments for the LLC.
Syntax
-h <no value>
Example
llc -h
MSP
338
Basics of SwitchManager
Description
SwitchManager establishes a connection to the LLC, configures the switch as specified in the configuration file and begins to monitor the switch. SwitchManager generates an alarm.log file that logs all API messages sent to and from the switch, and a maintenance_switchmgr.pid.log file. Use the alarm.log file to debug configuration issues and to diagnose run-time problems that may occur.
Important! In some cases, the sequence number of an API message in an alarm.log is different from the sequence number shown in a socket.log.
You will see many messages displayed in the SwitchManager windows. These API messages are also viewable in the alarm.log file. Messages to cards referenced in the sample configuration file that you do not have in your system are rejected by the switch with a negative acknowledgment (NACK). When debugging a configuration, begin by analyzing the first NACK in the alarm.log file. Many times, multiple alarms are propagated from one initial problem. By fixing the initial problem, subsequent alarms may be eliminated as well
SwitchKit Installation & Maintenance
339
Running SwitchManager
This procedure explains how to start SwitchManager for the first time when you plan to use the ClientView to create your MSP 1010 configuration. If you are not using ClientView, see SwitchManager Arguments for information on how to start SwitchManager with an example configuration.
Before you begin
The MSP 1010 system software must be installed before you can start the SwitchManager. SwitchKit must be installed on your host. You must have a license in your license directory, indicated by the SK_LICENSE_DIR. For example, using the default directory, you would install the license file in:
Windows
C:\Program Files\\Excel Switching Corporation\MSPSwitchKit\license
Linux, Solaris, HP-UX
/opt/excel/MSP/license
SwitchManager arguments must not be already specified through the shortcut settings in the Start menu. See SwitchManager Arguments.
Steps
Do the following to start SwitchManager for the first time when using ClientView:
1. Open a Command Prompt window.
2. Specify the path to your installation directory. The default location is:
Windows
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Linux, Solaris and HP-UX
/opt/excel/MSP/switchkit/bin
1. Type in:
switchmgr -i
MSP
340
4. SwitchManager will start and become active.
5. Minimize the Command Prompt window when you see the message:
fopen:No such file or directory.
SwitchKit Installation & Maintenance
341
SwitchManager Arguments
Purpose
Use the arguments listed in this section when in a Command Prompt to change the default behavior of SwitchManager.
Argument -i
This argument allows SwitchManager to be started without any configuration file being specified, usually during initial configuration. It will scan for an existing system.cfg file and, if present, will copy the configuration to a backup. This option is used when building a new configuration or loading an existing configuration using an Excel graphical user interface. Be advised if loading an existing configuration, the MSP 1010 will be reconfigured without regard to the tags. Cantata recommends that the -i argument should not be used on a live system.
Syntax
-i
Example
switchmgr -i
Argument -n
Maintain Only
SwitchManager does not do any configuration on start-up. It does, however, assume that the contents of the configuration file as already been loaded onto the switch. Should any cards fail, it reconfigures them according to the configuration file. This is useful if you know that the switch is already configured correctly, and you want to avoid taking everything out of service.
Important! This option only applies to the initial startup of the first SwitchManager to connect to the LLC. In redundant SwitchManager instances, the redundant LLC will start in Smart Mode since it is actually a continuation of the first instance of SwitchManager. Also, if the active SwitchManager were to disconnect and reconnect to LLC it would behave as in Smart Mode.
Syntax
-n <filename>
Example
switchmgr -n tandem.cfg
Argument -s
MSP
342
Smart Mode
SwitchManager examines the configuration tags of all cards in the system that are taggable. If any cards contain tags different from what is expected, SwitchManager configures that card. If all the tags are the same, SwitchManager does nothing.
Important! Cantata recommends the -s argument be used when running SwitchManager in a live environment.
Syntax
-s <filename>
Example
switchmgr -s tandem.cfg
SwitchKit Installation & Maintenance
343
Running DataManager
This procedure explains how to start DataManager for the first time when you plan to use the ClientView to create your MSP 1010 configuration.
Before you begin
The MSP 1010 system software must be installed before you can start the DataManager. SwitchKit must be installed on your host. You must have a license in your license directory, indicated by the SK_LICENSE_DIR. For example, using the default directory, you would install the license file in:
Windows
C:\Program Files\Cantata\MSPSwitchKit\license
Linux, Solaris, HP-UX
/opt/excel/MSP/license
Steps
While there are several ways to start DataManager, you can also use the following commands:
1. Open a Command Prompt window.
2. Specify the path to your installation directory.
The default location is:
Windows
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Linux, Solaris and HP-UX
/opt/excel/MSP/switchkit/bin
3. Type in:
datamanager
SwitchKit Installation & Maintenance
345
Running AdminManager
This procedure explains how to start AdminManager for the first time when you plan to use the ClientView to create your MSP 1010 configuration.
Before you begin
The MSP 1010 system software must be installed before you can start the AdminManager. SwitchKit must be installed on your host. You must have a license in your \license directory, indicated by the SK_LICENSE_DIR. For example, using the default directory, you would install the license file in:
Windows
C:\Program Files\Cantata\MSPSwitchKit\license
Linux, Solaris, HP-UX
/opt/excel/MSP/license
Steps
While there are several ways to start AdminManager, you can also use the following commands:
1. Open a Command Prompt window.
2. Specify the path to your installation directory.
The default location is:
Windows
C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
Linux, Solaris and HP-UX
/opt/excel/MSP/switchkit/bin
3. Type in:
adminmanager
SwitchKit Installation & Maintenance
347
Redundancy Setup
SwitchKit Redundancy
Overview
In the basic SwitchKit architecture, all call processing and OAM functions are performed through the LLC. All applications require the LLC for communicating with the switch. If the LLC stops running, no further call processing can take place. To eliminate the LLC as a single point of failure, run a redundant LLC.
Description
The Redundant LLC (RLLC) is a hot standby for the Primary LLC (PLLC). The RLLC mirrors the state of the PLLC, and, if the PLLC goes down, RLLC becomes the primary LLC. All applications connect to the RLLC automatically.
Running LLC in Redundant Mode
To run the LLC in redundant mode, use the -r argument. The -r flag tells the RLLC where to find the PLLC. This can consist of just a host name, or optionally a host name followed by a colon followed by a TCP port where the primary LLC is waiting for connections. By default, it assumes the default port of 1312. See Running Redundant LLCs.
You cannot run two LLCs on the same host computer accepting socket connections on the same port.
Running SwitchManager in Redundant Mode
For redundancy, SwitchManager uses the LLC and Application Redundancy. See Redundancy in the SwitchKit Programmer’s Guide. When running redundant SwitchManagers, both must be started in smart mode (using the -s argument). When When multiple SwitchManagers connect to LLC, the first one connected becomes Primary. This SwitchManager remains primary unless there is an LLC switchover. In this case, the new active LLC selects the first SwitchManager that connects as primary. In some cases, this induces a switchover of SwitchManagers, which is transparent to the system.
Specifying the location of the RLLC for Applications
Once you are running an RLLC, all applications that connect to the PLLC, including SwitchManager, must know the location of the RLLC so they can automatically reconnect to the RLLC in case of a PLLC failure. This is done through the following environment variables:
SK_RLLC_HOST
SK_RLLC_PORT
These values must be set before the applications are run. They are only examined upon start-up. You cannot dynamically configure SwitchKit Redundancy. Please refer to Environment Variables Modify SwitchKit Default Behavior
MSP
348
Example
For example, in the default file, you could have:
rllc_host: pc2
rllc_port:1200
This would specify to all applications starting up that there is a redundant LLC running on host pc2, on the TCP port of 1200. Environmental variables must be set the same on both the Primary host and the Redundant host.
SwitchKit Installation & Maintenance
349
Running Redundant LLCs
This procedure describes the available parameters for running a redundant Low-Level Communicator (LLC) on Windows or UNIX.
Before you begin
The MSP 1010 system software must be installed before you can start an LLC. SwitchKit must also be installed on your system. The LLC parameters must not be already specified through the shortcut settings in the Start menu, refer to Configuring SwitchKit to Run from the Start Menu.
Steps to start LLCs without ClientView
Do the following to start redundant LLCs:
Open a Command Prompt window.
Specify the path to your installation directory. For the default locations:
o Windows C:\Program Files\Cantata\MSPSwitchKit\switchkit\bin
o UNIX /opt/excel/MSP/switchkit/bin
o On the primary Host (Host 1) set the following system variables:
SK_LLC_HOST=localhost
SK_LLC_PORT=1312
SK_RLLC_HOST=<IP Address> (IP Address of Host 2)
SK_RLLC_PORT=1312
On the Secondary Host ( Host 2 ) set the following system variables :
SK_LLC_HOST=<IP Address> (IP Address of Host 1)
SK_LLC_PORT=1312
SK_RLLC_HOST= localhost
SK_RLLC_PORT=1312
Start Primary LLC on Host 1:
Windows Syntax llc
UNIX Syntax ./llc
Start redundant LLC on Host 2
Windows Syntax llc -r <IP Address of Host 1>
UNIX Syntax ./llc -r <IP Address of Host 1>
Start SwitchManager on either Host 1 or Host 2. For redundant SwitchManagers start the process on both hosts using the -s option for both.
See that the primary LLC shares data sending multiple messages to the "new LLC'. "Done sharing data with new llc...."
Verify that the LLC on Host 2 is in a standby state. The example below shows the type of messages your would expect to see in your console window:
Jul 22 2004 11:38:22: using /usr/local/switchkit for SK_LIB_DIR
Jul 22 2004 11:38:22: **Running with ExcelLLC
MSP
350
Jul 22 2004 11:38:22: Waiting for connections on port 1312
Jul 22 2004 11:38:22: Connecting to 135.119.52.167 (135.119.52.167) on port 1312
Jul 22 2004 11:38:22: Connected to 135.119.52.167 as 2
Jul 22 2004 11:38:22: Found another llc running, receiving sync info...
Jul 22 2004 11:38:22: Received LogLevel Message and set log level to 1
Jul 22 2004 11:38:22: This LLC is Synchronized
Jul 22 2004 11:38:22: ** Standing by in redundant configuration
SwitchKit Installation & Maintenance
351
Failure Scenarios Resolved with Redundancy
Description
You can configure LLC Redundancy to avoid disruption of service in a production environment. Avoid as many single points of failure as possible in your configuration.
The following diagrams illustrate a redundant configuration using two host computers.
Host 1 is acting as the primary host and is running the following:
LLC (PLLC) connected to the MSP 1010s in the MSP.
The primary SwitchManager, connected to the PLLC manages the node.
Any custom application, such as call processing applications and SNMP connected to the PLLC.
Host 2 is acting as the Secondary Host and is running the following:
The RLLC, which is connected to the PLLC (rather than the MSP 1010).
A secondary SwitchManager, which takes over management of the node should the primary SwitchManager fail.
A second copy of the custom application. The LLC shares traffic between the two applications.
Line Key
In the following diagrams we use different lines to illustrate different states of the connection.
Solid Line
A solid line illustrates an established connection.
Bold Solid Line
A bold solid line illustrates a new established connection.
Dotted Line
A dotted line illustrates a lost connection.
SwitchKit Redundancy Setup
MSP
352
Primary Host Failure
Should the Primary Host fail, RLLC recognizes the failure by the lack of Poll message responses from the PLLC and it becomes the active LLC.
If the primary host fails, SwitchManager, the ClientView, and custom applications, continue processing as before. When the applications attempt to connect to the LLC again, they first attempt to connect to the PLLC, which fails, and will then connect to the RLLC. This is done automatically and only requires that the IP addresses for the primary & redundant host are defined. There are no additional application requirements for this.
Primary SwitchManager Failure
If the primary SwitchManager fails, the secondary SwitchManager receives an application disconnect message. It then takes over control of the configuration and management of the switch.
Important! When SwitchManager starts, it configures the entire MSP 1010 unless an alternative option is used. It is recommended that both the primary and redundant SwitchManagers in a production environment are configured to use Smart Mode.
Primary LLC Failure
Should the primary LLC fail, the RLLC recognizes the failure by the lack of response to Poll messages between them.The RLLC becomes the active LLC. It takes over the
SwitchKit Installation & Maintenance
353
connections to all matrices in the MSP 1010 and accepts connections from all applications.
MSP
354
Logging
Log File Management
SwitchKit manages the logs files so they are not overwritten and not allowed to continue to grow indefinitely. When attempting to open a log file for the first time, if a file of that name already exists, it is renamed, using a random three-digit number. For example, whenever the LLC starts, if there is already a messages.log file, it is renamed to messages.nnn.log, where <nnn> is a random three-digit number.
All log files used by SwitchKit are automatically closed after a specified amount of time. By default, this is every 24 hours. The first time that logfile is closed, it is renamed to logfile_date.001.suffix. The suffix of the closed file is preserved. The logfile will once again contain current information. Once the closeout period has passed again, logfile is moved to logfile_date_002.suffix. Closed files can be archived or deleted, without affecting the current logging.
Log Directory
By default, the log files are written to the current directory of the program. Alternatively, you can specify SK_LOG_DIR as the directory in which to write these log files.
Important! Remove log files often to avoid filling your disk space and causing erratic system behavior. If you do not move your log files regularly, lack of disk space may cause a system outage.
Close Time
You can specify the time the file is closed by modifying the default behavior. By default, each file is closed every day at midnight local time. The environment variable SK_FILE_CLOSEOUT_HOUR can be used to modify the time to close the files. The default is 0 (midnight). See SK_FILE_CLOSEOUT_ HOUR for more information.
Close Duration
Alternatively, the environment variable SK_FILE_LIFETIME can specify in hours how frequently the files are closed. For example, if SK_FILE_LIFETIME is specified to be 6, then the log files will be closed 4 times a day, at midnight, 6a.m., noon, and 6p.m. See SK_FILE_LIFETIME (2-36) for more information. SK_FILE_CLOSEOUT_HOUR and SK_FILE_LIFETIME should not both be used on a system.
Maximum Size
SK_FILE_MAX_SIZE specifies the size, in megabytes, to which the log file is allowed to grow before cycling. When a log cycles because the size is too big, the existing timer is not reset. The log will still cycle at the proper time. See SK_FILE_MAX_SIZE for more information.When logs roll because of size, optionally, they can all roll using SK_FILE_EXPIRE_ALL_AT_ONCE.
SK_FILE_MAX_SIZE can be used with all other log file management environment variables.
SwitchKit Installation & Maintenance
355
Debugging Channel Management Issues
There is additional logging available to debug channel management issues. As this is CPU-intensive logging, it should only be done with the help of an Excel support engineer. Please contact Cantata technical support for assistance.
MSP
356
Log Files
All modules within SwitchKit generate log files. You can also generate your own log files, and have them managed by SwitchKit. Log file entries can also be displayed on the screen. By default, SwitchManager and LLC send their output to the screen as well as to the log file, while the applications write it only to the log file. The behavior of the LLC and SwitchManager can be changed through the environment variables.
The following logs are created by the SwitchKit processes at run-time:
Log created by...
Alarm SwitchManager
Maintenance LLC, SwitchManager, DataManager and each SwitchKit application
Messages LLC (optional)
Socket LLC (optional)
XMLClient DataManager
EventLog DataManager
Statmgr DataManager
User-defined
LLC (optional)
Alarm Log
File name: alarm.log
SwitchManager generates this file. It logs all actions taken by the SwitchManager in configuring the switch, and the text of any alarm conditions that occur on the switch. If a switch software fault occurs, it is written to the alarm.log.
Maintenance Log
File name: maintenance.xxx.log
This type of log is generated by the LLC, the SwitchManager, and all applications linked with the SwitchKit API library. The actual file names are:
maintenance_lc.PID.log
maintenance_switchmgr.PID.log
maintenance_DataManager.PID.log
maintenance_appName.PID.log
maintenance_app.PID.log
where PID is the process ID of that application.
Important! For the maintenance_app.PID.log, the outstanding message limit is 6552 per application. A warning is printed by the API when the key wrapping
SwitchKit Installation & Maintenance
357
occurs: "App has more than 6553 outstanding messages, message collision may occur!".
Messages Log
File name: message.log
This file is generated by the LLC and shows all messages sent between the LLC and the MSP 1010 switch, using the EXS API. The EXS API uses a hexadecimal numbering scheme. To interpret EXS API message formats, see the EXS API hexadecimal format information for each message.
The message.log includes the following abbreviations:
Abbreviation Description
=> ACK (acknowledgement) message
-> outbound or inbound message
H REQ LLC internal request manager
H LLC LLC internal module
H ART LLC internal artificial ACK, likely generated due to ACK timer expiration
H21 External Host Application Number 21
X2001 External Device with logical link value 2001 (200 = NodeType Call Server 1=node ID)
H LLC Host
UNKNN Unknown, the LLC was unable to resolve the sender. This should not happen.
Examples
Jan 29 2004 19:57:58 X2001 ->H : 00 ab 00 4d 01 00 10 01 00 03 02 09 00 05 00 00
Jan 29 2004 19:57:58 H LLC =>H REQ : 00 9e 00 00 01 00 10 01 00 03 02 08 00 05 00 00 (orig msg was 00 9e 00 00 01 )
Jan 29 2004 19:57:58 H REQ ->X2001 : 00 b5 00 00 01 01 1d 04 13 39 3a
Jan 29 2004 19:57:58 H LLC =>H REQ : 00 9f 00 01 01 00 10 (orig msg was 00 9f 00 01 01 14 )
Jan 29 2004 19:57:58 H REQ ->X2001 : 00 83 00 01 01 00 01 01 01 01
Jan 29 2004 19:26:17 H ART =>H REQ : 00 9f 00 04 01 f0 09 (orig msg was 00 9f 00 04 01 14 )
Jan 29 2004 19:06:31 UNKNN=>H1 : 00 83 00 1b 01 00 10 00 01 01 01 14 f3 00 00 43
04 01 04 00 00 01 79 02 00 00 01 01 01 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 f3 00 00 00 00 00 (orig msg was 00 83 00 1b 01 00 01 01 01 14 )
Socket Log
MSP
358
SwitchKit LLC can create and maintain a log file named, socket.log, which logs all the messages going from the MSP 1010 to the host and from the host to the MSP 1010. This log is different from messages.log, because it logs everything that goes across the socket, prior to processing, including the length of the message.
The socket log file includes the following abbreviations:
Abbreviation Description
X MSP 1010
1 Logical Node ID
[10.10.156.24] Socket IP address
H Host
Example Socket.log
The following example socket log shows an inbound and outbound message:
Jan 11 2002 12:59:57 X1[10.10.156.24]->H : 00 ab 00 38 01 00 10 01 00 05 00 01 01 01 00 00
Jan 11 2002 12:59:57 H->X1[10.10.156.24] : 00 ab 00 38 01
XMLClient Log
File name: XMLClient_xxx_DMPIDyyy_CIDzzz.log
This file is generated by DataManager to record all interactions between DataManager and its clients (ClientView and EventView). These interactions come in the form of messages which are sent in XML format. The file names are:
XMLClient_Internal_DMpid00404_CID001.log – logs internal messages sent by DataManager to itself for processing.
XMLClient_JAVA_DMpid03848_CID005.log – logs messages sent from ClientView or EventView to DataManager for processing along with any responses from DataManager and indication of state change by DataManager or the clients.
The 5 digits after DMpid reflect the process ID of the DataManager that the client is connected to.
The 3 digits after CID is a unique client identifier assigned to each client of a particular instance of DataManager.
EventLog
File name: EventLog_xxx.csv
SwitchKit Installation & Maintenance
359
This file is generated by DataManager to record all events that are worthy of reporting to an EventView client. Events that would be logged to an EventView client will be logged in this file independent of whether an EventView client is running or not. The file name is (where PID is the process ID of the DataManager):
EventLog_PID.log
The events are stored in a comma-separated format, one line per event. The file can be opened using Microsoft Excel®.
When imported to Microsoft Excel, a typical entry may appear as follows:
Time Entity Severity Node Description
3/8/2006 12:01
Node Info 0 Link is Up
3/8/2006 12:01
Node Info 1 Link is Up
3/8/2006 12:01
Node Info 0 HostAlarm(Software License Verified)
3/8/2006 12:01
Node Info 1 HostAlarm(Software License Verified)
3/8/2006 12:01
Node Info 0 HostAlarm(Software Version Matched)
3/8/2006 12:01
Node Info 1 HostAlarm(Software Version Matched)
Statmgr Log
File name: statmgr.log
This file is generated by the DataManager to record all statistics file creation activities. Statistics Information is written to comma separated value files which are generated in the default folder or to another folder as set in SK_STATS_DIR. The default folders are:
Windows
C:\Program Files\Cantata\common\stats
UNIX
/opt/cantata/common/stats
User-specified log files
By using the function sk_getManagedFile, you can create your own log files, to be managed by SwitchKit. The format and contents of the logs are under the control and discretion of the application developer.
MSP
360
Server Status Change
Server Status Change Feature
The Server Status Change feature informs all registered client applications about any change in the switch status. The feature is enabled with the message SK_ServerStatusChange, managed by the LLC to inform the clients of a node’s status at all times.
This feature removes the requirement for SwitchKit applications to monitor the poll messages and respond accordingly. Applications can register for the SK_ServerStatusChange message and base decisions on it.
For the SK_ServerStatusChange message, the MSP 1010 status is reflected in the matrix parameters.
Server Status Change Events
The SK_ServerStatusChange message is created within LLC, and responds to all registered applications for any one of the following events:
The data contained within two consecutive poll message changes (SK_PM_CHANGE).
A socket connection is closed (SK_LINK_DOWN).
A socket connection is opened, and the MSP 1010 indicates that is is ready to communicate. (SK_LINK_UP).
An application connects to the LLC (SK_SSC_UPDATE).
The LLC receives a NodeStatusReport message.
The LLC receives a response to a NodeStatusQuery.
SwitchKit Installation & Maintenance
361
ServerStatusChange
Type
SwitchKit API message
Description
The LLC sends the ServerStatusChange message containing all the information needed by an application to determine the current status of a node. The message is sent when the LLC discovers a change in MSP 1010 status.
C Structure
typedef struct {
unsigned short Status;
UBYTE SystemType;
UBYTE MatrixSide;
UBYTE MatrixState;
UBYTE AdjMatrixState;
UBYTE StatusBits;
UBYTE Reserved1;
UBYTE Reserved2;
unsigned short ExcelPort;
int PhysicalNode;
UBYTE LogicalNode;
UBYTE HostNode;
UBYTE NodeStatus;
UBYTE MessageTrigger;
UBYTE FromPrimary;
UBYTE SocketStatus;
unsigned short UpdatedFieldBits;
UBYTE reserved40[1];
} SK_ServerStatusChange;
C++ Class
class SKC_ServerStatusChange : public SKC_DummyMessage {
public:
unsigned short getStatus() const;
void setStatus(unsigned short x);
UBYTE getSystemType() const;
void setSystemType(UBYTE x);
UBYTE getMatrixSide() const;
void setMatrixSide(UBYTE x);
MSP
362
UBYTE getMatrixState() const;
void setMatrixState(UBYTE x);
UBYTE getAdjMatrixState() const;
void setAdjMatrixState(UBYTE x);
UBYTE getStatusBits() const;
void setStatusBits(UBYTE x);
UBYTE getReserved1() const;
void setReserved1(UBYTE x);
UBYTE getReserved2() const;
void setReserved2(UBYTE x);
unsigned short getExcelPort() const;
void setExcelPort(unsigned short x);
int getPhysicalNode() const;
void setPhysicalNode(int x);
UBYTE getLogicalNode() const;
void setLogicalNode(UBYTE x);
UBYTE getHostNode() const;
void setHostNode(UBYTE x);
UBYTE getNodeStatus() const;
void setNodeStatus(UBYTE x);
UBYTE getMessageTrigger() const;
void setMessageTrigger(UBYTE x);
UBYTE getFromPrimary() const;
void setFromPrimary(UBYTE x);
UBYTE getSocketStatus() const;
void setSocketStatus(UBYTE x;
unsigned short getUpdatedFieldBits();
void setUpdatedFieldBits(unsigned short x);
};
Conditions for Sending the ServerStatusChange Message
The following list shows the conditions that will cause the LLC to send a ServerStatusChange message:
SK_PM_CHANGE - sent when the first poll is received by the LLC for a Matrix ControllerMSP 1010. Also sent any time a value changes in the Poll. The UpdatedFieldBits field indicates which fields have changed since the last poll.
SK_SSC_UPDATE - sent under the following conditions: When an application registers for the ServerStatusChange notification via sk_msgRegister(), an SSC_UPDATE is sent for each node the LLC is currently connected to which has a Matrix ControllerMSP1010 in the active state. When an application issues an AddLLCNode, an SSC_UPDATE may be generated if the LLC already knew about the node and the LLC is currently connected to the
SwitchKit Installation & Maintenance
363
active Matrix ControllerMSP 1010 for that node. In other words, if the Link is considered to be up.
SK_LINK_UP - sent under the following conditions:
1. This message is sent to indicate that there is a connection to the active Matrix ControllerMSP 1010 for this node and the Matrix ControllerMSP 1010 is ready to be configured. This will be sent if this is a new condition (i.e. we were not previously connected to the active Matrix ControllerMSP1010).
2. Sent if an application has performed an AddLLCNode, the LLC is currently connected to the specified node, and the LLC is connected to the active Matrix ControllerMSP 1010 of that node.
3. When an application registers for the ServerStatusChange notification via sk_msgRegister(), and the LLC is connected to the active Matrix ControllerMSP 1010 of a node.
SK_LINK_DOWN - sent under the following conditions:
1. This message is sent to indicate that there is NO connection to the active Matrix ControllerMSP 1010 for a node. This will be sent if this is a new condition (that is, we were previously connected to the active Matrix ControllerMSP 1010).
2. Sent if an application has performed an AddLLCNode, and the LLC is not currently connected to the specified node’s active Matrix ControllerMSP1010.
3. When an application registers for the ServerStatusChange notification via sk_msgRegister(), and the LLC is supposed to be connected to a node but is not connected to the node's active Matrix ControllerMSP 1010.
More on SK_LINK_UP and SK_LINK_DOWN
Registering for ServerStatusChange will result in an SK_LINK_UP or SK_LINK_DOWN for each node controlled by the LLC. If an SK_LINK_UP is sent, it will be followed by an SK_SSC_UPDATE with the last poll from the active Matrix ControllerMSP 1010.
Performing an AddLLCNode will result in an SK_LINK_UP or SK_LINK_DOWN for the specified node if the LLC is already controlling the node. If an SK_LINK_UP is sent, it will be followed by an SK_SSC_UPDATE with the last poll from the active Matrix ControllerMSP 1010, if the LLC is currently connected to the Matrix ControllerMSP 1010 in the active state.
SK_PM_CHANGE, SK_SOCKET_CHANGE, SK_LINK_UP and SK_LINK_DOWN are generated to indicate a change in state.
SK_NSQ_CHANGE or SK_NSR_CHANGE are generated upon arrival of NodeStatusQueryAck or NodeStatusReport from the MSP 1010.
Arguments
The following table indicates what arguments are valid for a specific message trigger:
MSP
364
MessageTrigger Argument Description
PhysicalNode Represents the requested Node ID
LogicalNode Represents the current Node ID as reported by the MSP 1010 in PollMessage
SocketStatus 1 always. Socket must be connected for this indication to occur.
Status Status from PollMessage
SystemType System Type(Poll Source) from PollMessage
MatrixSide Matrix Controller ID from PollMessage
SK_PM_CHANGE or SK_SSC_UPDATE
MatrixState Matrix State(Card State) from PollMessage
AdjMatrixState Adjacent Card State from PollMessage
StatusBits Card Status from PollMessage
ExcelPort Double Byte after Multi Host Connection Status Byte 2 in PollMessage
UpdatedFieldBits Bit mask indicating which fields in the poll were updated. See table below for details of the meaning of the bits. Only set for SK_PM_CHANGE
SK_LINK_UP PhysicalNode Requested Node ID
or SK_LINK_DOWN
LogicalNode Requested Node ID
Constants
The following table contains information for the field UpdatedFieldBits. You can combine any number of settings in this bit mask:
Constants Changed Argument in Server StatusChange message
SK_STATUS_CHANGE Status
SK_SYSTEMTYPE_CHANGE SystemType
SK_MATRIXSIDE_CHANGE MatrixSide
SK_MATRIXSTATE_CHANGE MatrixState
SK_ADJMATRIXSTATE_CHANGE AdjMatrixState
SK_STATUSBITS_CHANGE StatusBits
367
SwitchKit Programmer's Information
Addressing Functions
This section describes the Address Information Block (AIB) helper functions available in SwitchKit. It provides a description of what the function does, the syntax and the type of AIB used with a given function.
With addressing functions, "sk_get..." functions return values that are being retrieved. Values are not returned for "sk_set..." functions.
These functions are designed to provide assistance to the application developer in initializing the information contained in various AIBs as described in the API Reference.
How Applications Use AIB Functions
You must use the appropriate functions for initializing the AIBs. Using the wrong functions or not using all the functions necessary to completely initialize an AIB may result in an improperly defined AIB. See AIB Manipulation Functions and SS7 Addressing Functions for a mapping of the functions and AIBs.
When attempting to initialize a Range of Channels (0x0D) AIB, you must call all of the following functions:
setAIBStartSpan()
setAIBStartChannel()
setAIBEndSpan()
setAIBEndChannel()
MSP
368
AIB Manipulation Functions
To assist with the standard state machines, the SwitchKit API allows for incoming messages to be automatically dispatched to an application.
Name Syntax Threadsafe Syntax AIB used
getAIBSize int sk_getAIBSize(UBYTE *AIBBlock);
int skts_getAIBSIze
(UBYTE *AIBBlock)
All
setAIBRange void sk_setAIBRange( UBYTE *AIBBlock,
XBYTE aStartSpan,
UBYTE aStartChannel, XBYTE anEndSpan,
UBYTE anEndChan);
void skts_setAIBRange( UBYTE *AIBBlock,
XBYTE aStartSpan,
UBYTE aStartChannel,
XBYTE anEndSpan,
UBYTE anEndChan )
0x0D
Range of Channels
setAIBChannel void sk_setAIBChannelEntity(UBYTE *AIBBlock, XBYTE aSpan,
UBYTE aChannel);
void skts_setAIBChannelEntity
(UBYTE *AIBBlock,
XBYTE aSpan,
UBYTE aChannel)
0x0D Channel
getAIBStartSpan XBYTE sk_getAIBStartSpan
(const UBYTE *AIBBlock)
XBYTE skts_getAIBStartSpan(const UBYTE *AIBBlock)
0x0D
Range of Channels
setAIBStartSpan void sk_setAIBStartSpan( UBYTE *AIBBlock,
XBYTE aStartSpan)
void skts_setAIBStartSpan( UBYTE *AIBBlock,
XBYTE aStartSpan)
0x0D
Range of Channels
getAIBStartChannel UBYTE sk_getAIBStartChannel( const UBYTE *AIBBlock )
UBYTE skts_getAIBStartChannel( const UBYTE *AIBBlock )
0x0D
Range of Channels
setAIBStartChannel void sk_setAIBStartChannel( UBYTE *AIBBlock,
UBYTE aStartChannel )
void skts_setAIBStartChannel( UBYTE *AIBBlock,
UBYTE aStartChannel )
0x0D
Range of Channels
getAIBEndSpan XBYTE sk_getAIBEndSpan( const UBYTE *AIBBlock )
XBYTE skts_getAIBEndSpan( const UBYTE *AIBBlock )
0x0D
Range of Channels
setAIBEndSpan void sk_setAIBEndSpan( UBYTE *AIBBlock,
XBYTE anEndSpan )
void skts_setAIBEndSpan( UBYTE *AIBBlock,
XBYTE anEndSpan )
0x0D
Range of Channels
getAIBEndChannel UBYTE sk_getAIBEndChannel( const UBYTE *AIBBlock )
UBYTE skts_getAIBEndChannel( const UBYTE *AIBBlock )
0x0D
Range of
SwitchKit Programmer's Information
369
Channels
setAIBEndChannel void sk_setAIBEndChannel( UBYTE *AIBBlock,
UBYTE anEndChannel)
void skts_setAIBEndChannel( UBYTE *AIBBlock,
UBYTE anEndChannel)
0x0D
Range of Channels
getAIBSpanA XBYTE sk_getAIBSpanA(const UBYTE *AIBBlock )
XBYTE skts_getAIBSpanA(const UBYTE *AIBBlock )
0x0D
Channels with two AEs
setAIBSpanA void sk_setAIBSpanA( UBYTE *AIBBlock,
XBYTE aSpanA )
void skts_setAIBSpanA( UBYTE *AIBBlock,
XBYTE aSpanA )
0x0D
Channels with two AEs
getAIBChannelA UBYTE sk_getAIBChannelA( const UBYTE *AIBBlock )
UBYTE skts_getAIBChannelA( const UBYTE *AIBBlock )
0x0D
Channels with two AEs
setAIBChannelA void sk_setAIBChannelA( UBYTE *AIBBlock
UBYTE aChannelA)
void skts_setAIBChannelA( UBYTE *AIBBlock,
UBYTE aChannelA )
0x0D
Channels with two AEs
getAIBSpanB XBYTE sk_getAIBSpanB( const UBYTE *AIBBlock )
XBYTE skts_getAIBSpanB( const UBYTE *AIBBlock )
0x0D
Channels with two AEs
setAIBSpanB void sk_setAIBSpanB( UBYTE *AIBBlock,
XBYTE aSpanB)
void skts_setAIBSpanB( UBYTE *AIBBlock,
XBYTE aSpanB)
0x0D
Channels with two AEs
getAIBChannelB UBYTE sk_getAIBChannelB( const UBYTE *AIBBlock )
UBYTE skts_getAIBChannelB( const UBYTE *AIBBlock)
0x0D
Channels with two AEs
setAIBChannelB void sk_setAIBChannelB( UBYTE *AIBBlock,
UBYTE aChannelB )
void skts_setAIBChannelB( UBYTE *AIBBlock,
UBYTE aChannelB )
0x0D
Channels with two AEs
getAIBSpan XBYTE sk_getAIBSpan( const UBYTE *AIBBlock )
XBYTE skts_getAIBSpan( const UBYTE *AIBBlock )
0x0C
Logical Span
OR
MSP
370
0x0D
Channel
OR
0x3C
Number of CICs
setAIBSpan void sk_setAIBSpan( UBYTE *AIBBlock,
XBYTE aSpan )
void skts_setAIBSpan( UBYTE *AIBBlock, XBYTE aSpan)
0x0C
Logical Span
OR
0x0D
Channel
OR
0x3C
Number of CICs
getAIBChannel UBYTE sk_getAIBChannel( const UBYTE *AIBBlock )
UBYTE skts_getAIBChannel( const UBYTE *AIBBlock)
0x0D
ChannelOR
0x3C
Number of CICs
setAIBChannel void sk_setAIBChannel( UBYTE *AIBBlock," UBYTE aChannel)
void skts_setAIBChannel( UBYTE *AIBBlock,
UBYTE aChannel)
0x0D
ChannelOR
0x3C
Number of CICs
getAIBNumChannels UBYTE sk_getAIBNumChannels( const UBYTE *AIBBlock )
UBYTE skts_getAIBNumChannels( const UBYTE *AIBBlock )
0x3C
Number of CICs
setAIBNumChannels void sk_setAIBNumChannels( UBYTE *AIBBlock,
UBYTE aNumChannels)
void skts_setAIBNumChannels( UBYTE *AIBBlock,
UBYTE aNumChannels)
0x3C
Number of CICs
getAIBSlot UBYTE sk_getAIBSlot( const UBYTE *AIBBlock )
UBYTE skts_getAIBSlot( const UBYTE *AIBBlock )
0x01
Slot
setAIBSlot void sk_setAIBSlot( UBYTE *AIBBlock, UBYTE aSlot )
void skts_setAIBSlot( UBYTE *AIBBlock, UBYTE aSlot )
0x01
Slot
SwitchKit Programmer's Information
371
setAIBDSPChip void sk_setAIBDSPChip( UBYTE *AIBBlock,
UBYTE x)
void skts_setAIBDSPChip( UBYTE *AIBBlock,
UBYTE x)
0x22
DSP Chip
getAIBDSPSlot UBYTE sk_getAIBDSPSlot( const UBYTE *AIBBlock )
UBYTE skts_getAIBDSPSlot( const UBYTE *AIBBlock )
0x12
DSP SIMM
setAIBDSPSlot void sk_setAIBDSPSlot( UBYTE *AIBBlock,
UBYTE aDSPSlot )
void skts_setAIBDSPSlot( UBYTE *AIBBlock,
UBYTE aDSPSlot )
0x12
DSP SIMM
getAIBDSPSIMM UBYTE sk_getAIBDSPSIMM( const UBYTE *AIBBlock )
UBYTE skts_getAIBDSPSIMM( const UBYTE *AIBBlock )
0x12
DSP SIMM
setAIBDSPSIMM void sk_setAIBDSPSIMM( UBYTE *AIBBlock,
UBYTE aDSPSIMM )
void skts_setAIBDSPSIMM( UBYTE *AIBBlock,
UBYTE aDSPSIMM )
0x12
DSP SIMM
getAIBSIMM UBYTE sk_getAIBSIMM( const UBYTE *AIBBlock )
UBYTE skts_getAIBSIMM( const UBYTE *AIBBlock )
0x12
DSP SIMM
setAIBSIMM void sk_setAIBSIMM( UBYTE *AIBBlock, UBYTE aSIMM )
void skts_setAIBSIMM( UBYTE *AIBBlock, UBYTE aSIMM )
x12
DSP SIMM
getAIBDS3 UBYTE sk_getAIBDS3( const UBYTE *AIBBlock )
UBYTE skts_getAIBDS3( const UBYTE *AIBBlock )
0x32
DS3 Offset
setAIBDS3 void sk_setAIBDS3( UBYTE *AIBBlock,
UBYTE aDS3 )
void skts_setAIBDS3( UBYTE *AIBBlock, UBYTE aDS3 )
0x32
DS3 Offset
getAIBV5ID XBYTE sk_getAIBV5ID( const UBYTE *AIBBlock )
XBYTE skts_getAIBV5ID( const UBYTE *AIBBlock )
0x2C
V5 ID
setAIBV5ID void sk_setAIBV5ID( UBYTE *AIBBlock,
XBYTE aV5ID )
void skts_setAIBV5ID( UBYTE *AIBBlock, XBYTE aV5ID )
0x2C
V5 ID
getAIBRouterHandle XBYTE sk_getAIBRouterHandle( const UBYTE *AIBBlock )
XBYTE skts_getAIBRouterHandle( const UBYTE *AIBBlock )
0x29
Router
setAIBRouterHandle void sk_setAIBRouterHandle( UBYTE *AIBBlock,
XBYTE aRouterHandle )
void skts_setAIBRouterHandle( UBYTE *AIBBlock,
XBYTE aRouterHandle )
0x29
Router
getAIBChannelSlot UBYTE sk_getAIBChannelSlot(const UBYTE *AIBBlock)
UBYTE skts_getAIBChannelSlot(const UBYTE *AIBBlock)
0x01
Slot
setAIBChannelSlot void sk_setAIBChannelSlot(UBYTE
void skts_setAIBChannelSlot(UBYTE
0x01
MSP
372
*addrInfo,
UBYTE x)
*addrInfo,
UBYTE x)
Slot
getAIBSlotB XBYTE sk_getAIBSlotB(const UBYTE *AIBBlock)
XBYTE skts_getAIBSlotB(const UBYTE *AIBBlock)
0x01
Slot
setAIBSlotB void sk_setAIBSlotB(UBYTE *addrInfo, XBYTE x)
void skts_setAIBSlotB(UBYTE *addrInfo, XBYTE x)
0x01
Slot
SwitchKit Programmer's Information
373
SS7 Addressing Functions
To assist with the standard state machines, the SwitchKit API allows for incoming messages to be automatically dispatched to an application.
Name Syntax Threadsafe Syntax
getAIBSubrate UBYTE sk_getAIBSubrate( const UBYTE *AIBBlock )
UBYTE skts_getAIBSubrate( const UBYTE *AIBBlock )
setAIBSubrate void sk_setAIBSubrate( UBYTE *AIBBlock,
UBYTE aSubrate )
void skts_setAIBSubrate( UBYTE *AIBBlock,
UBYTE aSubrate )
setAIBSubrateEntity void sk_setAIBSubrateEntity( UBYTE *AIBBlock, XBYTE aSpan,
UBYTE aChannel,
UBYTE aSubrate )
void skts_setAIBSubrateEntity( UBYTE *AIBBlock, XBYTE aSpan,
UBYTE aChannel,
UBYTE aSubrate )
getAIBTerminal UBYTE sk_getAIBTerminal( const UBYTE *AIBBlock )
*/ UBYTE skts_getAIBTerminal( const UBYTE *AIBBlock );*/
setAIBTerminal void sk_setAIBTerminal( UBYTE *AIBBlock,
UBYTE aTerminal)
void skts_setAIBTerminal( UBYTE *AIBBlock,
UBYTE aTerminal)
setAIBTerminalEntity void sk_setAIBTerminalEntity(UBYTE *AIBBlock, XBYTE aSpan,
UBYTE aChannel,
UBYTE aSubrate,
UBYTE aTerminal)
void skts_setAIBTerminalEntity(UBYTE *AIBBlock, XBYTE aSpan,
UBYTE aChannel,
UBYTE aSubrate,
UBYTE aTerminal)
getAIBProfile UBYTE sk_getAIBProfile( const UBYTE *AIBBlock)
UBYTE skts_getAIBProfile( const UBYTE *AIBBlock)
setAIBProfile void sk_setAIBProfile( UBYTE *AIBBlock,
UBYTE aProfile )
void skts_setAIBProfile( UBYTE *AIBBlock,
UBYTE aProfile )
getAIBCallReference UBYTE sk_getAIBCallReference( const UBYTE *AIBBlock )
UBYTE skts_getAIBCallReference(const UBYTE *AIBBlock )
setAIBCallReference void sk_setAIBCallReference(UBYTE *AIBBlock, UBYTE aCallReference)
void skts_setAIBCallReference(UBYTE *AIBBlock, UBYTE aCallReference)
setAIBCallReferenceEntity void sk_setAIBCallReferenceEntity
void skts_setAIBCallReferenceEntity
MSP
374
(UBYTE *AIBBlock, UBYTE aSlot,
UBYTE aProfile,
UBYTE aSubrate,
UBYTE aCallReference)
(UBYTE *AIBBlock,
UBYTE aSlot,
UBYTE aProfile,
UBYTE aSubrate,
UBYTE aCallReference)
getAIBBaseCICNumber int sk_getAIBBaseCICNumber( const UBYTE *AIBBlock )
int skts_getAIBBaseCICNumber( const UBYTE *AIBBlock )
setAIBBaseCICNumber void sk_setAIBBaseCICNumber(UBYTE *AIBBlock,
int aBaseCICNumber)
void skts_setAIBBaseCICNumber(UBYTE *AIBBlock,int aBaseCICNumber)
getAIBBaseCICSpan XBYTE sk_getAIBBaseCICSpan( const UBYTE *AIBBlock)
XBYTE skts_getAIBBaseCICSpan( const UBYTE *AIBBlock)
setAIBBaseCICSpan void sk_setAIBBaseCICSpan
(UBYTE *AIBBlock,
XBYTE aCICSpan)
void skts_setAIBBaseCICSpan(UBYTE *AIBBlock, XBYTE aCICSpan)
getAIBBaseCICChannel UBYTE sk_getAIBBaseCICChannel(const UBYTE *AIBBlock)
UBYTE skts_getAIBBaseCICChannel(const UBYTE *AIBBlock)
setAIBBaseCICChannel void sk_setAIBBaseCICChannel(UBYTE *AIBBlock, UBYTE aCICChannel)
void skts_setAIBBaseCICChannel(UBYTE *AIBBlock, UBYTE aCICChannel)
getAIBNumCICs UBYTE sk_getAIBNumCICs( const UBYTE *AIBBlock )
UBYTE skts_getAIBNumCICs( const UBYTE *AIBBlock )
setAIBNumCICs void sk_setAIBNumCICs( UBYTE *AIBBlock, UBYTE aNumCICs)
void skts_setAIBNumCICs( UBYTE *AIBBlock, UBYTE aNumCICs)
setAIBCICGroupEntity void sk_setAIBCICGroupEntity(UBYTE *AIBBlock, UBYTE aBaseCICNumber, UBYTE aBaseCICSpan, UBYTE aBaseCICChannel, UBYTE aNumCICs )
void skts_setAIBCICGroupEntity(UBYTE *AIBBlock, UBYTE aBaseCICNumber, UBYTE aBaseCICSpan, UBYTE aBaseCICChannel, UBYTE aNumCICs )
setAIBV5ID void sk_setAIBV5IDAndLink( UBYTE *AIBBlock, unsigned short aV5ID, UBYTE aLinkID )
void skts_setAIBV5IDAndLink( UBYTE *AIBBlock, unsigned short aV5ID, UBYTE aLinkID )
setAIBV5IDAndUserPort void sk_setAIBV5IDAndUserPort( UBYTE *AIBBlock, unsigned short
void skts_setAIBV5IDAndUserPort( UBYTE *AIBBlock, unsigned short
SwitchKit Programmer's Information
375
aV5ID, unsigned short aUserPort) aV5ID, unsigned short aUserPort)
getAIBStackID UBYTE sk_getAIBStackID
(const UBYTE *AIBBlock )
UBYTE skts_getAIBStackID
(const UBYTE *AIBBlock)
setAIBStackID void sk_setAIBStackID( UBYTE *AIBBlock,
UBYTE aStackID)
void skts_setAIBStackID( UBYTE *AIBBlock,
UBYTE aStackID)
getAIBLinkID UBYTE sk_getAIBLinkID( const UBYTE *AIBBlock )
UBYTE skts_getAIBLinkID( const UBYTE *AIBBlock )
setAIBLinkID void sk_setAIBLinkID( UBYTE *AIBBlock,
UBYTE aLinkID)
void skts_setAIBLinkID( UBYTE *AIBBlock,
UBYTE aLinkID)
setAIBStackEntity void sk_setAIBStackEntity( UBYTE *AIBBlock,
UBYTE aStackID,
UBYTE aLinkID)
void skts_setAIBStackEntity(UBYTE *AIBBlock,
UBYTE aStackID,
UBYTE aLinkID)
getAIBObjectInstanceID XBYTE sk_getAIBObjectInstanceID(const UBYTE *AIBBlock)
XBYTE skts_getAIBObjectInstanceID(const UBYTE *AIBBlock)
setAIBObjectInstanceID void sk_setAIBObjectInstanceID( UBYTE *AIBBlock, XBYTE anObjectInstanceID)
void skts_setAIBObjectInstanceID( UBYTE *AIBBlock, XBYTE anObjectInstanceID)
getAIBObjectType XBYTE sk_getAIBObjectType( const UBYTE *AIBBlock )
XBYTE skts_getAIBObjectType( const UBYTE *AIBBlock )
setAIBObjectType void sk_setAIBObjectType( UBYTE *AIBBlock,
XBYTE anObjectType)
void skts_setAIBObjectType( UBYTE *AIBBlock,
XBYTE anObjectType)
getAIBModule UBYTE sk_getAIBModule( const UBYTE *AIBBlock )
UBYTE skts_getAIBModule( const UBYTE *AIBBlock )
setAIBModule void sk_setAIBModule( UBYTE *AIBBlock,
UBYTE aModule)
void skts_setAIBModule( UBYTE *AIBBlock,
UBYTE aModule)
getAIBAssignSpanSlot UBYTE sk_getAIBAssignSpanSlot( const UBYTE *AIBBlock )
UBYTE skts_getAIBAssignSpanSlot( const UBYTE *AIBBlock )
setAIBAssignSpanSlot void sk_setAIBAssignSpanSlot(UBYTE *AIBBlock, UBYTE
void skts_setAIBAssignSpanSlot(UBYTE *AIBBlock, UBYTE
MSP
376
anAssignSpanSlot ) anAssignSpanSlot )
getAIBAssignSpanOffset UBYTE sk_getAIBAssignSpanOffset( const UBYTE *AIBBlock )
UBYTE skts_getAIBAssignSpanOffset( const UBYTE *AIBBlock )
setAIBAssignSpanOffset void sk_setAIBAssignSpanOffset( UBYTE *AIBBlock, UBYTE anAssignSpanOffset)
void skts_setAIBAssignSpanOffset( UBYTE *AIBBlock, UBYTE anAssignSpanOffset)
getAIBExpandedNode XBYTE sk_getAIBExpandedNode( const UBYTE *AIBBlock )
XBYTE skts_getAIBExpandedNode( const UBYTE *AIBBlock )
setAIBExpandedNode void sk_setAIBExpandedNode( UBYTE *AIBBlock,
XBYTE anExpandedNode)
void skts_setAIBExpandedNode( UBYTE *AIBBlock,
XBYTE anExpandedNode)
getAIBConferenceID XBYTE sk_getAIBConferenceID( const UBYTE *AIBBlock )
XBYTE skts_getAIBConferenceID( const UBYTE *AIBBlock )
setAIBConferenceID void sk_setAIBConferenceID( UBYTE *AIBBlock,
XBYTE aConferenceID)
void skts_setAIBConferenceID( UBYTE *AIBBlock, XBYTE aConferenceID)
SwitchKit Programmer's Information
377
Connection Management Functions
Applications Connecting to Multiple LLCs
Description
This model is for an SwitchKit environment with multiple LLCs. Use this model if you are writing a new application that must connect to multipe LLCs.
In this model, your application specifies the connection information in the create connection function call and assigns a connection ID and an application name to that connection. From then on, all references to the connection are made using the connection ID. This eliminates any ambiguity about the LLC connection. The connection ID is returned with each event, which makes it simple to determine which LLC should receive subsequent action.
How to use the Connection Model with ID
To connect to multiple LLCs and to manage those connections, your application must call SK_Connection *sk_createConnectionWithID(). With that function call, an integer connection ID is assigned to the connection between the application and that particular LLC.
When the connection ID is assigned, your application must call one of the sk_*OnConnection() functions to interact with a particular LLC. The sk_*OnConnection() function takes the assigned connection ID as a parameter.
Functions in this Model
Following is a list of functions that are to be used in this model:
SK_Connection *sk_createConnectionWithID();
sk_*OnConnection();
int sk_closeNamedConnection();
int sk_getLLCSocketDescriptorForConnection();
int sk_getConnectionNameForConnection();
int sk_getConnectionForID;
int sk_destroyConnectionForced();
int sk_appDescriptionData();
SK_Connection*
SK_Connection is an opaque object which is returned by several sk_createConnection*() functions that can be used to refer to a specific connection in other SwitchKit connection management functions such as sk_getSpecificConnectionName().
MSP
378
Applications Connecting to One LLC
Description
If you are working in an environment with only one LLC and if you are not going to change to an environment with multiple LLCs, you can use this model.
How to use the Simplified Connection Model
To connect to just one LLC in the system, your application can call sk_initializeConnection() or sk_initializeForcedConnection(). These function calls initialize a socket to the LLC with a number named connectionName.
Calling these functions does not open the socket. The socket must be opened by sending a message with the specific connectionName to the LLC.
How initializeConnection works
If your application calls sk_initializeConnection(), any previous connection to the LLC is terminated, and a new one is initialized with the specified connection name.
If a requested connection name is already in use, the first available integer greater than connectionName is assigned automatically to the application. To ensure that your application receives an unused connection name, call the function with an argument of -1.
How initializeForcedConnection works
The function sk_initializeForcedConnection() behaves exactly as sk_intializeConnection() does, except when connectionName is already in use by another application to the LLC. Instead of receiving a new, unused connection name, your application insisting on the specified name causes the first connection to terminate.
Functions in this Model
int sk_initializeConnection();
int sk_initializeForcedConnection();
int sk_closeConnection();
int sk_getLLCSocketDescriptor();
int sk_getConnectionName();
SwitchKit Programmer's Information
379
Connecting Legacy Applications to Multiple LLCs
Description
Do not use this model if you intend to write a new application. This model is only to be used by existing appliactions, written to run on SwitchKit versions before 5.7.
Functions in this category rely heavily on the SK_Connection pointer to determine or provide information and context. SK_Connection is returned when the connection to the LLC is first established. If your application must make a request to the LLC or needs to receive a message, if would first have to send function calls to get or set the current connection to the specific SK_Connection pointer.
How to use the Connection Model without ID
To connect to multiple LLCs and to manage those connections, your application must call SK_Connection *sk_createConnection(). Every call creates a separate SK_Connection pointer for each connection. To send a message to a specific LLC, your application must call the function sk_setCurrentConnection() with the SK_Connection pointer at the desired LLC. Without that function call and specifying pointer, there is no way to direct a message to an LLC other than the one for which SwitchKit is processing the current message.
Functions in this Model
SK_Connection *sk_createConnection();
int sk_getLLCSocketDescriptor();
int sk_getSpecificConnectionName();
const char *sk_getSpecificConnectionLabel();
SK_Connection *sk_getCurrentConnection();
void sk_setCurrentConnection();
int sk_destroyConnection();
int sk_appDescriptionData();
MSP
380
Introduction to Connection Management
Description
In a SwitchKit environment, an application communicates with one or multiple LLCs. SwitchKit provides a set of functions that help you create and manage connections between your application module and any LLC your application needs to communicate with.
There are three models of connecting applications to the LLC:
Applications Connecting to Multiple LLCs. Use this model if you are writing a new application that connects to multiple LLCs. In this context, a redundant pair of LLCs is considered a single LLC.
Connecting Legacy Applications to Multiple LLCs. This model is for legacy applications (before SwitchKit version 5.7) connecting to multiple LLCs. Do not use this model if you are writing a new application.
Applications Connecting to One LLC. Use this model if you are writing a new application that connects to one LLC, or if you have an existing application connecting to one LLC. In this context, a redundant pair of LLCs is considered a single LLC.
Consider your system’s current and future needs when deciding to use the functions offered either under Applications Connecting to Multiple LLCs, or under Applications Connecting to One LLC, for your new application development.
SwitchKit Programmer's Information
381
List of SwitchKit APIs
The API messaged listed below are used in connection models. These API messages are found in the API Reference.
AppConnectionQuery
AppPopulationQuery
Connect 0x0000
Card Population Query 0x0007
MSP
382
sk_appDescriptionData()
To provide additional information uniquely identifying your application, use the sk_appDescriptionData() function. This function should be called after your application has established a connection to the LLC. This function is also available as skts_appDescriptionData().
Syntax
void sk_appDescriptionData(char *anAppName,char *aShortName, char *anAppVersion, char *aUserData)
void skts_appDescriptionData(char *anAppName,char *aShortName, char *anAppVersion, char *aUserData);
Parameters
These are the function parameters.
Arguments Description
anAppName This is meant to be a descriptive name for the application.
aShortName This is used to name the maintenance.log log file. It is not passed to the LLC.
AnAppVersion This string should describe the version of the application software.
aUserData This is stored by the SwitchKit API, but it is used only by the application.
APIs used in all Connection Models
SwitchKit Programmer's Information
383
sk_closeConnection()
The function closes the current connection between the application and the LLC.
Syntax
int sk_closeConnection();
How closeConnection works
The LLC no longer has a socket open to this application. However, the ConnectionManager object remains and causes the connection to re-establish in case of subsequent calls to sk_rcvAndDispatch() or attempts to send a message.
MSP
384
sk_closeNamedConnection()
This function closes the connection with the specified connection ID between the application and the LLC.
Syntax
int sk_closeNamedConnection( int aConID);
How closeConnection works
The LLC no longer has a socket open to this application. However, the ConnectionManager object remains and causes the connection to re-establish in case of subsequent calls to sk_rcvAndDispatch() or attempts to send a message.
SwitchKit Programmer's Information
385
sk_createConnection()
Description
Use the SK_Connection *sk_createConnection() function to create a connection between your application module and a specific LLC.
Syntax
SK_Connection *sk_createConnection(int aConID, const char *aLabel, int anAppID, int isForcedFlag, const char *aPriHost, int aPriPort, const char *aBackupHost, int aBackupPort);
SK_Connection *skts_createConnection(int aConID, const char *aLabel, int anAppID, int isForcedFlag, const char *aPriHost, int aPriPort, const char *aBackupHost, int aBackupPort);
int skts_createConnection( int aConID, );
Parameters
The function parameters are shown in the next table.
Arguments Description
aConID aConID is a connection identifier specified by the application and used to refer to an application’s connection to a specific LLC. The connection identifier is used by the SwitchKit API to route messages from the application to a specific LLC. The connection identifier is initially defined for the API when the application calls sk_createConnectionWithID() or skts_createConnection() and should be used for any sk_*OnConnection() and skts_*() functions where required.
aLabel aLabel is is a text string used by the application to identify the connection. The value has no meaning to the SwitchKit API and is available for query via sk_getSpecificConnectionLabel() and skts_getSpecificConnectionLabel().
anAppID anAppID is the application identifier used by the LLC to route messages to the application and to log any events of interest regarding the application. If the caller of the function does not care which application identifier it receives, it can specify -1. This allows LLC to select the next available application identifier beginning at 10. If the specified application identifier is already used, the LLC will assign the next available identifier beginning at the requested identifier, unless the isForcedFlag is set to 1 or sk_initializeConnectionForced() was used to establish the connection with LLC.
isForcedFlag If isForcedFlag equals 1, then the application identifier for this application will be set to the value specified in anAppID even if that application identifier is being used by another application.
aPriHost The IP address of the primary LLC with the following format, for
MSP
386
example: "10.10.55.10"
aPriPort The IP port number the primary LLC the primary LLC is listening to.
aBackupHost The IP address of the secondary LLC, in the following format, for example: "10.10.55.10". If there is no secondary LLC, this field should be set to "". That is, the 0-length string.
aBackup Port The IP port for the secondary LLC is listening to.
Return Values
This is one of the functions that returns an integer value instead of a pointer. A NULL pointer indicates an error condition.
Useful Related Functions
int sk_getLLCSocketDescriptor();
int sk_getSpecificConnectionName();
const char *sk_getSpecificConnectionLabel();
SK_Connection *sk_getCurrentConnection();
void sk_setCurrentConnection();
int sk_destroyConnection();
int sk_appDescriptionData();
SwitchKit Programmer's Information
387
sk_createConnectionWithID()
Description
Use the sk_createConnectionWithID() function to create a connection between your application module and a specific LLC.
Syntax
SK_Connection *sk_createConnectionWithID(int aConid, const char *aLabel, int anAppID, int isForcedFlag, const char *aPriHost, int aPriPort, const char *aBackupHost, int aBackupPort);
Parameters
The function parameters are shown in the table below.
Argument Description
aConID
aConID is a connection identifier specified by the application and used to refer to an applications connection to a specific LLC. The connection identifier is used by the SwitchKit API to route messages from the application to a specific LLC. The connection identifier is initially defined for the API when the application calls sk_createConnectionWithID() or skts_createConnection() and should be used for any sk_*OnConnection() and skts_*() functions where required.
aLabel aLabel is is a text string used by the application to identify theconnection. The value has no meaning to the SwitchKit API and is available for query via sk_getSpecificConnectionLabel() and skts_getSpecificConnectionLabel().
anAppID anAppID is the application identifier used by the LLC to route messages to the application and to log any events of interest regarding the application. If the caller of the function does not care which application identifier it receives, it can specify -1. This allows LLC to select the next available application identifier beginning at 10. If the specified application identifier is already used, the LLC will assign the next available identifier beginning at the requested identifier, unless the isForcedFlag is set to 1 or sk_initializeConnectionForced() was used to establish the connection with LLC.
isForcedFlag If isForcedFlag equals 1, then the application identifier for this application will be set to the value specified in anAppID even if that application identifier is being used by another application.
aPriHost: The IP address of the primary LLC with the following format, for example:
"10.10.55.10"
aPriPort: The IP port number the primary LLC the primary LLC is listening to.
MSP
388
aBackupHost: The IP address of the secondary LLC, in the following format, for example: "10.10.55.10". If there is no secondary LLC, this field should be set to "". That is, the 0-length string.
aBackup Port The IP port for the secondary LLC is listening to.
Return Values
This is one of the functions that returns an integer value pointer of an integer. A NULL pointer indicates an error condition.
Useful Related Functions
sk_*OnConnection();
int sk_closeNamedConnection();
int sk_getLLCSocketDescriptorForConnection();
int sk_getConnectionNameForConnection();
int sk_getConnectionForID;
int sk_destroyConnectionForced();
int sk_appDescriptionData();
SwitchKit Programmer's Information
389
sk_destroyConnection()
Your application should use the function sk_destroyConnection() to destroy a connection to the LLC. You cannot use this function on your current connection. Therefore, this function can destroy all connections between applications and the LLC, except the last connection left. This function call frees up all the memory allocated in sk_createConnection().
Syntax
int sk_destroyConnection(SK_Connection *aConnection);
Threadsafe Syntax
int skts_destroyConnection( int aConID );
Return Values
SK_CONNECT_IN_USE This return value indicates that you called the function on the current connection.
MSP
390
sk_destroyConnectionForced()
Your application should use the function sk_destroyConnectionForced() to destroy a connection to the LLC with the specified connection ID. If the specified connection is the last connection opened, it will be destroyed but cause a return value SK_NO_CONNECT_AVAIL. As the name implies, this return indicates that no connections remain. However, should your application call sk_rcvAndDispatch(), the system attempts to establish a connection to an LLC using the default connection arguments specified in the SK_LLC_Host/Port environment variables, or at local host:1312.
This function call frees up all the memory allocated in sk_createConnectionWithID().
Syntax
int sk_destroyConnectionForced(int aConID);
Threadsafe Syntax
int skts_destroyConnectionForced(int aConID);
Return Values
SK_NO_CONNECT_AVAIL
This return indicates that all connections have been destroyed.
SwitchKit Programmer's Information
391
sk_getConnectionForID()
The function call sk_getConnectionForID() retrieves the SK_Connection object for the specified connection ID.
Syntax
SK_Connection *sk_getConnectionForID(int aConID);
MSP
392
sk_getConnectionName()
The function call sk_getConnectionName() retrieves the name registered to the applications current connection between the application and the LLC.
Syntax
int sk_getConnectionName();
How getConnectionName works
You can call this function only after opening a socket to the LLC. To open the socket, you should send a harmless message through that connection.
SwitchKit Programmer's Information
393
sk_getConnectionNameForConnection()
The function call sk_getConnectionNameForConnection() uses the connection ID to retrieve the connection name of the connection between the applications and the LLC.
Syntax
int sk_getConnectionNameForConnection( int aConID);
How getConnectionName works
You can call this function only after opening a socket to the LLC. To open the socket, send a harmless message through that connection.
MSP
394
sk_getCurrentConnection()
If your application is connected to more than one LLC, the LLC receiving a message or function call makes that connection current. Unless otherwise specified, the LLC communicates with your application through that current connection.
The function SK_Connection *sk_getCurrentConnection() enables another process of your application to get the current connection.
Syntax
int SK_Connection *sk_getCurrentConnection();
SwitchKit Programmer's Information
395
sk_getLLCSocketDescriptor()
The function sk_getLLCSocketDescriptor() returns the socket descriptor associated with the current application. You need this function if your application is connected to the LLC, to a database, or to another server.
Syntax
int sk_getLLCSocketDescriptor();
How getLLCSocketDescriptor works
By calling sk_getLLCSocketDescriptor(), your application retrieves the socket descriptor from the LLC, which enables your application to issue an OS-specific call, for example select(). This indicates when there is activity on the LLC socket and only then calls the function sk_rcvAndDispatch().
The sk_getLLCSocketDescriptor() function should be called each time select() is called, because the socket descriptor can change without the knowledge of the application.
For example, if the PLLC fails and the RLLC becomes active, the socket of the PLLC will no longer be valid. A subsequent call to the function provides the socket descriptor for the now active RLLC.
MSP
396
sk_getLLCSocketDescriptorForConnection()
The function sk_getLLCSocketDescriptorForConnection() returns the socket descriptor associated with the current application. You need this function if your application is connected to the LLC, to a database, or to another server.
Syntax
int sk_getLLCSocketDescriptorForConnection( int aConID);
Threadsafe Syntax
int skts_getLLCSocketDescriptor(int aConID);
How getLLCSocketDescriptor works
By calling sk_getLLCSocketDescriptorForConnection() your application retrieves the socket descriptor associated with the specified connection ID from the LLC. This enables your application to issue an OS-specific call, for example select(). This indicates when there is activity on the LLC socket and then the application must call the function sk_rcvAndDispatch() to begin processing of all messages on the LLC socket.
The sk_getLLCSocketDescriptorForConnection() function should be called each time select() is called, because the socket descriptor can change without the application being aware of it.
For example, if the PLLC fails and the RLLC becomes active, the socket of the PLLC will no longer be valid. A subsequent call to the function provides the socket descriptor for the now active RLLC.
SwitchKit Programmer's Information
397
sk_getSpecificConnectionLabel()
The function sk_getSpecificConnectionLable() returns the label associated with a connection that was created with sk_createConnection().
Syntax
int sk_getSpecificConnectionLabel(SK_Connection *aConnection);
MSP
398
sk_getSpecificConnectionName()
With the function sk_getSpecificConnectionName() your application can retrieve the numeric name of that connection. This function does not change the current connection.
Syntax
int sk_getSpecificConnectionName(SK_Connection *aConnection);
SwitchKit Programmer's Information
399
sk_initializeConnection() / sk_initializeForcedConnection()
Description
Use a function call to sk_initializeConnection() or sk_initializedForcedConnection() function to establish a socket between your application and the LLC. The connection will be established with the IP and port numbers specified in the environment variables SK_LLC_HOST/PORT and SK_RLLC_HOST/PORT.
Syntax
int sk_initializeConnection(int anAppID);
int sk_initializeForcedConnection(int anAppID);
Parameters
The function parameters are shown in the table below.
Arguments Description
anAppID anAppID is the application identifier used by the LLC to route messages to the application and to log any events of interest regarding the application. If the caller of the function does not care which application identifier it receives, it can specify -1. This allows LLC to select the next available application identifier beginning at 10. If the specified application identifier is already used, the LLC will assign the next available identifier beginning at the requested identifier, unless the isForcedFlag is set to 1 or sk_initializeConnectionForced() was used to establish the connection with LLC.
Return Values
Possible return values for this function:
SK_CONNECT_IN_USE This return value indicates that the specified connection name is already in use and that the connection opened with another name, which can be requested with the function call sk_getConnectionName.
Useful Related Functions
int sk_getConnectionName();
int sk_closeConnection();
int sk_getLLCSocketDescriptor();
MSP
400
sk_*OnConnection()
Functions using OnConnection
Some SwitchKit functions are duplicated as "OnConnection" functions. For example, sk_watchChannelGroup() is also available as sk_watchChannelGroupOnConnection().
The difference with the sk_*OnConnection() functions is the integer connection parameter:
int aConID
However, if sk_createConnectionWithID() was used to establish a connection between the LLC and the application, the functions with OnConnection must be used to create interaction between the LLC and the application. The following is a list of functions used that have with .
On Connection Functions
Register Functions
For more information on these functions, see Register Functions.
sk_appGroupRegisterOnConnection
sk_msgRegisterOnConnection
sk_msgUnRegisterOnConnection
sk_pplComponentRegisterOnConnection
sk_pplComponentUnRegisterOnConnection
sk_pplTCAPRegisterOnConnection
sk_pplTCAPUnRegisterOnConnection
Logging Functions
For more information on these functions, see Logging Functions.
sk_logLevelOnConnection
sk_logMessageOnConnection
Message Functions
For more information on these functions, see Message Functions.
sk_rcvAndDispatchOnConnection
sk_rcvAndDispatchAutoStorageOnConnection
sk_rcvMessageOnConnection
sk_sendMessageOnConnection
sk_sendMessageWithHandlerOnConnection
SwitchKit Programmer's Information
401
sk_sendMessageWithTagOnConnection
sk_sendMsgStructOnConnection
Redundancy Functions
For more information on these functions, see Redundancy.
sk_activateExnetMatrixOnConnection
sk_deregisterAsRedundantAppOnConnection
sk_registerAsRedundantAppOnConnection
Additional Functions to Connect to Multiple LLCs
MSP
402
sk_setCurrentConnection()
Your application should issue the function call sk_setCurrentConnection() to make that connection current. Any future communication goes through that connection
Syntax
int sk_setCurrentConnection(SK_connection *aConnection);
SwitchKit Programmer's Information
403
Device Connectivity Functions
Add LLC Node Feature
A node is connected to the Low-Level Controller (LLC) through a TCP/IP socket. That socket is opened by the LLC when the node is connected.
For the LLC to connect to a node, SwitchManager needs an AddLLCNode message in the configuration file. The message includes a logical node ID and either one or two IP addresses, depending on the setup.
The IP address(es) for the node are the addresses of the primary Matrix Controller and, if applicable, the secondary Matrix Controller.
Functionality
To connect a node, you must do the following:
Start LLC without specifying any nodes on the command line. (The -i option is not valid anymore.)
Start SwitchManager with a configuration file that specifies the nodes the LLC will connect to.
With the introduction of the SK_AddLLCNode message, the IP addresses in the Config Switch window are obsolete. Also, Node ID 0xff (255) is no longer allowed. Each Node must be assigned a number even if in a single node configuration.
When the LLC is requested to connect to a node via the AddLLCNode() command, LLC will maintain that connection until told to disconnect. If the specified IP address is not reachable, LLC will continue attempting the connection forever. This condition will be logged in the LLC maintenance log file.
Example
The following is an example of how to set up the message in the configuration file:
AddLLCNode(matrix1="10.10.55.10", matrix2="10.10.55.11", RequestedNode=0x08);
Return Values
The Status field in the acknowledgment can contain the following values:
If the return value is then...
SK_SUCCESS (0x10) node was added successfully.
SK_DUP_IP_ADDR (-29) one or both IP addresses are already in use by the LLC for another logical node ID.
SK_INTERNAL_LIMIT_REACHED (-30) no more nodes can be added to the LLC. Current limit is 128 nodes.
SK_BAD_IP_ADDRESS (-27) no response from that IP address was received after 15 seconds.
SK_BAD_LICENSE (-28) no valid license exists for the new node.
MSP
404
SK_INTERNAL_ERROR (-21) an unexpected error occurred. Refer to the LLC maintenance.log for more details.
SK_NODE_DOESNT_EXIST (-35) a delete command was sent for a nonexisting node.
SwitchKit Programmer's Information
405
AddLLCNode
Use SK_AddLLCNode at the initial configuration of your system and to dynamically add a node while LLC is running.
Description
The node must already have software downloaded through TFTP. Sending SK_AddLLCNode for a node that needs software will fail.
If you are using the floating IP address functionality for the Matrix Controller cards, you should use the fixed IP addresses for the Matrix Controller cards in the AddLLCNode() message. If you don't, the LLC will inaccurately reflect the state of the switch.
Sent by
SwitchManager
Type
SwitchKit API message
Add the Node
To add a node, you must send a configuration file with SwitchManager. The configuration file should contain at least the following information:
AddLLCNode (matrix1=”10.10.55.10”, matrix2=”10.10.55.11”, RequestedNode=0x08);
If you are adding a node with a single Matrix Controller and you use the Matrix2 argument in your message, be sure to enter the 0-length string as its value.
Arguments
The following table shows the arguments you can change:
Argument Description
Action Specifies if a node gets added (0 = default), updated (1), or deleted (2).
Matrix1 A text field corresponding to the IP address of the primary Matrix Controller.
Matrix2 A text field corresponding to the IP address of the secondary Matrix Controller, if it exists. If there is only one Matrix Controller in the node, this field must be set to “”, that is, the 0-length string.
NodeType Needs to be specified only for ISDN and H.323 device server nodes. In those cases, NodeType should be: SK_LSS_DS_SYSTEM or 0x10. Otherwise, it will default to the appropriate NodeType.
MSP
406
RequestedNode RequestedNode is the logical node ID requested to be assigned to the new node. The API will attempt to assign this node:
If there is no node ID currently on the node;
If it is currently assigned a different node ID.
It is not a guarantee that this node will be assigned. In particular, the node ID might already be in use on the ring. If so, AddLLCNode will fail, and no connection will be established with the node. If the LLC is already connected to a node with the specified logical node ID, the AddLLCNode is considered an update, if treated accordingly.
Configuration
AddLLCNode (
Node = integer,
ConnectionID = integer,
Matrix1 = string,
Matrix2 = string,
RequestedNode = integer,
Action = integer);
C Structure
typedef struct {
char Matrix1[30];
char Matrix2[30];
int RequestedNode;
//int PhysicalNode; reserved for internal use only
//unsigned short NodeType; reserved
//unsigned short CallControlNode; reserved
UBYTE Action;
} SK_AddLLCNode;
C Structure Response
typedef struct {
int Status;
int ActualNode;
UBYTE DownloadStatus;
} SK_AddLLCNodeAck;
SwitchKit Programmer's Information
407
C++ Class
class SKC_AddLLCNode : public SKC_ToolkitMessage {
public:
const char *getMatrix1() const;
void setMatrix1(const char *x);
const char *getMatrix2() const;
void setMatrix2(const char *x);
int getRequestedNode() const;
void setRequestedNode(int x);
//int getPhysicalNode() const; reserved
//void setPhysicalNode(int x); reserved
//unsigned short getNodeType() const; reserved
//void setNodeType(unsigned short x); reserved
//unsigned short getCallControlNode() const; res.
//void setCallControlNode(unsigned short x); res.
UBYTE getAction() const;
void setAction(UBYTE x);
};
C++ Class Response
class SKC_AddLLCNodeAck : public SKC_ToolkitAck {
public:
int getStatus() const;
void setStatus(int x);
int getActualNode() const;
void setActualNode(int x);
UBYTE getDownloadStatus() const;
void setDownloadStatus(UBYTE x);
};
MSP
408
LLC: Application Load Balancing for TCAP
This feature facilitates routing between the LLC and applications, based on the number of Inbound Initial dialog Primitives (IDP) each registered SwitchKit application has. The LLC is capable of performing the following:
Monitoring dialog states
Providing a registration mechanism for SwitchKit applications to receive TCAP-related PPLEventIndication messages based on a combination of stack and Sub System Number (SSN).
Routing TCAP-related PPLEventIndication messages to the registered application with the lowest number of active dialogues
How to Keep Track of dialog States
Once dialog monitoring has been enabled, the LLC automatically keeps track of dialog states. Each state can be derived from any one of the multiple TCAP primitives listed in the next table. TCAP Primitives are extracted from TCAP-related PPLEvent messages received by the LLC.
The following terms represent the three possible states the LLC can derive within its dialog management sytem for a given dialog ID:
NOT_ALLOCATED - dialog ID is not allocated.
ALLOCATED_A_SIDE - dialog ID has been allocated by an application using a PPLEventRequest message.
ALLOCATED_B_SIDE - dialog ID has been allocated by the MSP 1010 using a PPLEventIndication message. The next table shows the type of primitive for each LLC state. Primitives are both requests and indications, unless shown otherwise.
Important! The next table contains the following notation.
** If a TCAP_RESTART Event is received, all Dialogues on that stack should end (enter the NOT_ALLOCATED state).
*** Detection of a dialog Termination TLV always results in the LLC putting that dialog into the NOT_ALLOCATED state. The LLC does not check these events for the dialog termination TLVs.
Event Criteria (TCAP Primitives) APP Initiated
Network Initiated
Receive dialog
LLC Action
A Side B Side Event
B Side Event
TC-BEGIN X X Allocate
TC_QUERY_WITH_PERMISSION X X Allocate
TC_QUERY_WITHOUT_PERMISSION X X Allocate
TC_BEGIN_PRIMITIVE_SET X X Allocate
TC_QUERY_WITH_PERMISSION_PRIMITIVE_SET X X Allocate
SwitchKit Programmer's Information
409
TC_QUERY_WITHOUT_PERMISSION_PRIMITIVE_SET X X Allocate
TC_END X X Deallocate
TC_RESPONSE X X Deallocate
TC_RESULT_L X X Deallocate
TC_RESULT_NL X X Deallocate
TC_U_ERROR X X Deallocate
TC_L_CANCEL X X Deallocate
TC_INVOKE_L X X Deallocate
TC_INVOKE_NL X X Deallocate
TC_U_REJECT X X Deallocate
TC_L_REJECT X X Deallocate
TC_R_REJECT X X Deallocate
TC_INVOKE X X Deallocate
TC_RESPONSE X Deallocate
TC_END X Deallocate
TCAP_RESTART** X X Deallocate
TC_RESPONSE_PRIMITIVE_SET*** Deallocate
TC_END_PRIMITIVE_SET*** Deallocate
TC_P_ABORT*** X Deallocate
TC_DIALOGUE_TIMEOUT*** X Deallocate
TC_NOTICE*** X Deallocate
TC_TCAP_INITIATED_ABORT*** X Deallocate
TC_U_ABORT*** X X Deallocate
As TCAP-related PPL events are passed in and out of the LLC, a dialog monitor parses each PPL event and derives the current state of each dialog using the state machine outlined in the next figure.
Diagram of Transitional States
In Figure Finite State Machine Used by the LLC’s dialog Monitoring System, each number represents a group of transitional events (TCAP primitives) that result in a particular finite state (dialog State). The events (TCAP Primitives) represented by each number are listed in the table and correspond to the transition arrows in the state diagram
Finite State Machine Used by the LLC’s dialog Monitoring System
MSP
410
.
dialog state and application data are then stored for maximum retrieval efficiency using a series of C++ STL containers. Application statistics can then be queried to provide load balancing information such as the number of active dialogues given an application number, or the number of active dialogues given a RoutingID. These statistics are then used by the LLC to determine Best Response Transaction Allocation.
How the LLC Determines Best Response Transaction Allocation
When a PPL event indication with component ID 0x70 (TCAP TUSI) is received by the LLC, it determines whether or not this message is an Initial dialog Primitive (IDP). If this is an IDP, then the stack, SSN, and dialog are extracted from the message and are queried to determine which registered application has the least number of active dialogues. If the numbers are equal, a random application number is chosen. Otherwise, the application number with the lowest number of active dialogues is chosen and the PPL event indication is sent to that application. If the dialog was activated by the A side (activated by a PPL event request) then the remaining dialogues are sent to the application that activated it.
Limitations/Assumptions/Dependencies
The LLC must be configured for TCAP Routing. In addition to this configuration, to enable TCAP Application Load Balancing you must do the following:
//set the following environment variable to activate the
//LLC's dialog Monitor
SK_DIALOGUE_MONITOR=1
//call this SK function from your app
sk_pplTCAPRegister(int what, UBYTE registerType);
//derive the function parameters from the following macros and constants
int what = getSS7TCAP_MultiCard_RoutingID(stackID, ssn);
UBYTE registerType = SK_TCAP_REG_STACK_SSN = 0x02;
SwitchKit Programmer's Information
411
SS7 SCCP/TCAP Configure 0x0077
SwitchKit Name
SS7SCCPTCAPConfig
Type
EXS API and SwitchKit API message
Description
This message is sent to configure options for SS7 SCCP/TCAP.
For SwitchKit
Those options include:
Local SSN
Adjacent Translator
Other Concerned Point Code
SCCP Default Parameter Table
SSN Default Parameter Table
TCAP Object Syntax Descriptor (OSD)
Network DPC/SSN
SCCP/TCAP host configuration
In a SwitchKit environment, this message must be sent by an application or by SwitchManager with ConfigType = 1, Data = [2:1] specifying “SCCP route message to TCAP”. Without sending this message first and receiving a positive acknowledgment it is impossible to add or specify a node as a TCAP node.
Sent by
Host (SwitchManager for SwitchKit)
Overview of message
The following table provides an overview of this message. The table following it provides the detail for each byte.
MESSAGE (White) RESPONSE (Gray)
Byte Field Description Byte Field Description
0 Frame (0xFE) 0 Frame (0xFE)
1, 2 Length (0xNNNN) 1, 2 Length (0x0007)
3, 4 Message Type (0x0077) 3, 4 Message Type (0x0077)
MSP
412
5 Reserved (0x00) 5 Reserved (0x00)
6 Sequence Number 6 Same Sequence Number
7 Logical Node ID 7 Logical Node ID
AIB
Address Method
8, 9 Status MSB, LSB
Number of AEs to follow 10 Checksum
8
AEs
9 Config Type
10 Number of TLVs
11 TLVs
: Data[0]
: :
: Checksum
Configuration
SS7SCCPTCAPConfig (
Node = integer,
StackID = integer,
ConfigType = integer,
Data = byte array);
C Structure
typedef struct {
UBYTE StackID;
UBYTE ConfigType;
UBYTE Data[222];
} XL_SS7SCCPTCAPConfig;
C++ Class
class XLC_SS7SCCPTCAPConfig : public XLC_OutboundMessage {
public:
UBYTE getStackID() const;
void setStackID(UBYTE x);
UBYTE getConfigType() const;
SwitchKit Programmer's Information
413
void setConfigType(UBYTE x);
const UBYTE *getData() const;
UBYTE *getData();
void setData(UBYTE *x);
};
EXS API Hex Format - Detailed
Message (White) Response (Grey)
Byte Field Description Byte Field Description
0 Frame (0xFE) 0 Frame (0xFE)
1, 2 Length (0xNNNN) 1, 2 Length (0x0007)
3, 4 Message Type (0x0077) 3, 4 Message Type (0x0077)
5 Reserved (0x00) 5 Reserved (0x00)
6 Sequence Number 6 Same Sequence Number
7 Logical Node ID 7 Logical Node ID
8 AIB
Address Method
0x00 - Individual AEs
8, 9 Status
MSB - 0x55
LSB - As follows:
01 - Invalid CFG Type
02 - Subsystem Configured
03 - Subsystem Not Configured
04 - Subsystem Allowed
05 - Subsystem Not Allowed
06 - Invalid Option
07 - Exceed Max SSN Host
08 - Invalid Parameter
09 - Invalid Parameter Length
0A - Parameter Configured
0B - Parameter Not Configured
0C - Invalid SCCP Upper Layer
0D - Exceed Max Active Subsystem
0E - DPC Not Configured
MSP
414
0F - Exceed Max Replicates
10 - Invalid Number of Replicates
11 - Replicate Not Configured
12 - Exceed Max Active SSN
13 - Exceed Max SSN PPC
14 - ESSG Subsystem Not Configured
15 - ESSG SSN PPC Exist
16 - OPR Not Perm for ESSG SSN DPC SSN
17 - Local Host Not Allowed
19 - Invalid Tag Type
1A - SCCP not configured for this stack
1B - GTAI length is out of the range configured for the group
1D - GT Group hasn’t been configured
1E - GT Group ID is already occupied
1F - GT Group with the same stack ID and selector already exists
20 - Group ID exceed maximum group ID
21 - The group parameters are not matched with parameters
stored in the MSP 1010.
22 - The minimum/maximum digits number in GT group is illegal.
23 - GT Entry already in Pending DEL state
24 - GT already exists in the group.
25 - GT does not exist.
26 - The memory storing translation result with global title
has been used up.
27 - GT Entries have been used
SwitchKit Programmer's Information
415
up.
28 - GT Entry is found in standby index table.
29 - GT Entry is found in active index table.
2A - GT Group is configured but not for this stack.
2B - Configuration is unreasonable.
1. Translation result is route on GT but DPC is equal to OPC.
2C - CPU load is not suitable to configuration.
2D - Index table needs to be built.
: Number of AEs to follow 10 Checksum
: AE
0x08 SS7 Stack
: Config Type
0x01 Local SSN
0x02 Adjacent Translator
0x03 Other Concerned Point Code
0x04 SCCP Default Parameter Table
0x05 SSN Default Parameter Table
0x06 TCAP Object Syntax Descriptor (OSD)
0x07 Network DPC/SSN
0x08 SCCP/TCAP host configuration
0x09 SCCP Replicated SSN
0x0C TLV Format Configuration Contents
: Number of TLVs
: TLVs
0x0690 Frequency Shift Keying (FSK) Data0x09CA Add Global Title Group
0x09CB Delete Global Title Group
0x09CC Add Global Title Entry
0x09CD Delete Global Title Entry
0x09CE Build Index Table
Refer to Section 4, Tag Length Blocks in the API Reference.
MSP
416
See also, Global Title Translation (GTT) Configuration Samples in the Developer’s Guide: Common Channel Signaling.
: Data[0]
The Data is dependent on the Config Type field (0x01 - 0x09)
0x01 Local SSN
Data[0] Subsystem Number
Data[1] Option
0x01 Add SSN
0x02 Delete SSN
0x03 Modify SSN
Data[2] Routing Flag
Bit 0 - Specify the direct upper layer of the SCCP (TCAP or host
application.)
0 - SCCP Route network message directly to host
1 - SCCP Route network message to TCAP
Bits 1 and 3-7 - Reserved for SASSI and ESSG use. Not used in current
release. Default is 0.
Bit 2 - Specify whether local GTT function is allowed to use when
the message is originated from this SSN. (See note below.)
0 - Disable GTT when message is originated from the local SSN.
1 - Enable GTT when message is originated from the local SSN.
Data[3] Reserved
Note: Bit 2 only enables/disables GTT when the message is originated from the local SSN. When a message is received from the network and it needs GTT, the GTT function is always triggered. This bit provides backward compatibility to those host applications that do not support GTT.
0x02 Adjacent Translator
Data[0] Subsystem Number
Data[1] Option
0x01 Add Adjacent Translator
0x02 Delete Adjacent Translator
Data[2–5] Adjacent Translator
0x03 Other Concerned Point Code
Data[0] Subsystem Number
Data[1] Option
SwitchKit Programmer's Information
417
0x01 Add Other Concerned Point Code
0x02 Delete Other Concerned Point Code
Data[2-5] Other Concerned Point Code
0x04 SCCP/TCAP Default Parameter Table
Data[0] Option
0x01 Add/Modify SCCP/TCAP Default Parameter
0x02 Delete SCCP/TCAP Default Parameter
Data[1-2] Parameter Type
Data[3-4] Parameter Length
Data[5+] Parameter Value
0x05 SSN Default Parameter Table
Data[0] Subsystem Number
Data[1] Option
0x01 Add/Modify SSN Default Parameter
0x02 Delete SSN Default Parameter
Data[2-3] Parameter Type
0x0066 Default Calling Party Address
0x006A Default Quality of Service
0x0074 Default MTP dpc (used when DPC is not in CDPA)
Data[4-5] Parameter Length
Data[6+] Parameter Value
0x06 TCAP OSD
Data[0] Option
0x03 Modify an existing TCAP object.
Data[1-2] TCAP object parameter ID
(See the Developer’s Guide: Common Channel Signaling for SCCP/TCAP Parameter Information.
Data[3-4] TCAP identifier
Data[5] Syntax update flag/Object data type (always 0x00)
0x00 Do not update the object syntax /other Object data type
Data[6+] Object syntax description follows if Data[5] is not 0x00.
0x07 Network DPC/SSN
Data[0] Local Subsystem Number
Data[1] Option
0x01 Add Network DPC/SSN
MSP
418
0x02 Delete Network DPC/SSN
Data[2-5] DPC
Data[6] Remote SSN Number
0x08 SCCP/TCAP host configuration
Data[0] Subsystem Number
Data[1] Option
0x01 Add a host
0x02 Delete a host
Data[2] Local/Matrix host
0xFE Local host
0xFF Matrix host
Data[3] Host Port ID (0-5)
Port IDs 0-5 correspond to Ports 0x3142-0x3147.
NOTE: Only one host can be configured for each stack/subsystem. The default host is the matrix primary host.
0x09 SS7 SCAP CFG Replicated SSN
Data[0] Subsystem Number
Data[1] Option
0x01 Add Replicated SSN
0x02 Delete Replicated SSN
Data[2] Number of Replicates
Data[3-6] DPC
Data[7] Subsystem Number
Data[8...] Next DPC and Subsystem Number
0x0C TLV Format Configuration Contents
0x0690 Frequency Shift Keying (FSK) Data
0x09CB Delete Global Title Group
0x09CC Add Global Title Entry
0x09CD Delete Global Title Entry
0x09CE Build Index Table
: Checksum
SwitchKit Programmer's Information
419
TCAPMessageRegister
Description
Use this message to register an application for all TCAP-related PPL Event Indications given a specific Origination Point Code (OPC), Subsytem Number(SSN) or stack and SSN.
Important! Only events of Component Type 0x70 (TCAP TUSI) and 0x67 (SCCP SUSI) will be sent to the registered application.
Sent by
Function sk_pplTCAPRegister()
Arguments
The following table shows the arguments you can change:
Argument Description
OPC The Origination Point Code (Stack ID) of the SS7 TCAP stack generating the PPL Event Indications.
Stack Stack value
Stack_SSN a combination of Stack and SSN created by using the getSS7TCAP_MultiCard_RoutingID(Stack, SSN)macro
RegisterType Registration type. Use the following constants to specify either OPC, SSN or Stack/SSN combination:
SK_TCAP_REG_OPC (0x00) - OPC Registration
SK_TCAP_REG_SSN (0x01) - SSN Registration
SK_TCAP_REG_STACK_SSN 0x02 - Registers a combination of stack and subsystem number using the getSS7TCAP_MultiCard_RoutingID(stack,SSN) macro.
RegisterFlag Indicates a registration or de-registration using the following constants:
SK_TCAP_ACTIVATE_REGISTER (0x01) -Register
SK_TCAP_DEACTIVATE_REGISTER (0x00) -Deregister
C Structure
typedef struct {
int OPC;
int STACK_SSN;
int SSN;
MSP
420
UBYTE RegisterType;
UBYTE RegisterFlag;
UBYTE reserved31[2];
} SK_TCAPMessageRegister;
C Structure Response
typedef struct {
int Status;
} SK_TCAPMessageRegisterAck;
C++ Class
class SKC_TCAPMessageRegister : public SKC_ToolkitMessage {
public:
int getOPC() const;
void setOPC(int x);
int getSTACK_SSN() const ;
void setSTACK_SSN(int x) ;
int getSSN() const ;
void setSSN(int x) ;
UBYTE getRegisterType() const ;
void setRegisterType(UBYTE x) ;
UBYTE getRegisterFlag() const ;
void setRegisterFlag(UBYTE x)
};
C++ Class Response
class SKC_TCAPMessageRegisterAck : public SKC_ToolkitAck {
public:
int getStatus() const;
void setStatus(int x);
};
SwitchKit Programmer's Information
421
TCAP Routing Feature
TCAP Routing Supports SwitchKit Applications
TCAP Routing provides support for SwitchKit applications connected to the LLC to register for TCAP messages based on an originating point code (OPC), sub-system number (SSN) or Stack/SSN pair. When a PPL Event Indication message enters the LLC from the network, and the component ID is TCAP-specific (0x70), the message is routed to the "least busy" of the registered applications. For more information on how inbound TCAP routing is accomplished, see LLC: Application Load Balancing for TCAP . For more information on registering your applications, see sk_pplTCAPRegister() / sk_pplTCAPUnRegister() / ...OnConnection() functions in the SwitchKit Programmer’s Guide, Register Functions n .
Operating System Requirements
Microsoft Windows NT/2000
Red Hat Linux, version 8.0
HP-UX, version 11.0
Solaris SPARC, version 8
Options supported
Routes messages at the card level without the logical node being specified by the application, based on a defined routing tag that is unique to the system (such as SS7 stack ID).
Supports redundant MSP nodes.
Provides a means for registering applications for TCAP specific messages.
Sub-component Router
The sub-component router is a module within the LLC process that allows messages to be routed from an LLCs client application to a card-level device contained within a node. That card is controlled by a Matrix Controller that has an assigned node ID. In other words, the card is controlled by that node. The generic requirements for sub-component routing are as follows:
The device must have a defined type which will be referred to as CardType.
The SS7 card must be controlled by a Matrix Controller that has been previously assigned a logical node and is already known by the LLC. This logical node is referred to as the ControlNode.
RoutingIDs are used to address a pair of card-level devices to ensure uniqueness across the system. Application developers should obtain RoutingIDs by using the defined macros provided through the SwitchKit API. See RoutingID Macros in the AddLLCCard message.
A logical node can contain several devices of a particular CardType, but can only contain one logical link for each set of devices addressed by a particular RoutingID.
MSP
422
Additional routing IDs can be added to an individual logical link by sending additional AddLLCCard messages.
Routing Outbound TCAP Messages
When sending an outbound message to a particular sub-component device, there is a subset of the SwitchKit API messages that the LLC routes or attempts to route. This subset is distinguished from other message by the CardType. The key concept here is: for the LLC to extrapolate the correct socket address, it must walk through the OutboundMessage and retrieve the predetermined unique RoutingID. It does this when the node ID of the message is set to 0xff (unassigned)and a TCAP socket has been added to the LLC for that CardType using an AddLLCCard message. For Outbound routing to be setup within the LLC the following are required:
The node must be added to the LLC using the AddLLCNode message.
The AddLLCCard message must be sent, one per RoutingID.
The SS7 card must be properly configured using the SS7 SCCP TCAP Configure messages. The LLC requires that the stack be assigned and the Local Host (0xFE) or Matrix Host (0xFF) option be specified. Although the SS7 card defaults to the Matrix Host (0xFF) option, the LLC does not. You must specify one or the other. It is recommended that you delete the opposing option before adding the new.
Routing Inbound TCAP Messages
The following is required when attempting to register a SwitchKit application for TCAP specific messages:
The application must register for TCAP messages using one of two SwitchKit API functions:
sk_pplTCAPRegister
sk_pplTCAPRegisterOnConnection
Using SwitchManager
When using SwitchManager for configuration, you should use the AddSS7TCAPCard message instead of the AddLLCCard message.
Using ClientView
TCAP Routing can be enabled in ClientView from the SS7 Configuration view. When TCAP is enabled ClientView will add an AddSS7TCAPCard message for each SS7 stack configured on the SS7 node. The remaining TCAP configuration should be done using the SS7 SCCP/TCAP configuration menu item. This configuration should be done for each stack. See the ClientView Section for configuring SS7 TCAP Routing.
SwitchKit Programmer's Information
423
Handler Functions
Handler Functions
This section describes the handler functions available in SwitchKit. It provides prototype information, possible error return values, and a description of what the function does.
Most functions return an integer value. Upon successful completion, that return value is OK (0). Non-zero return values indicate some error conditions. Each function lists the associated error conditions.
Some functions return pointers; those functions do not have a status value indicating success or failure.
Handler Functions
Description
To assist with the standard state machines, the SwitchKit API allows for incoming messages to be automatically dispatched to an application that has assigned handler functions. Using these functions, you can install functions to handle state transitions. In this way, you can avoid using multiple threads to manage different ports, because SwitchKit handles that automatically.
Important! When you write you handler functions, make sure that you register for the right sk_rcvAndDispatch() function.
Definition of Handler Functions
typedef struct {
MsgStruct *IncomingMsg;
MsgStruct *AckedMsg;
void *UserData;
} SK_Event;
Syntax
int HandlerFunc(SK_Event *evt, void *tag);
How Applications use Handler Functions
There are four ways that an application can specify the handler function that is dispatched. Three of them deal with switch-initiated messages, and the fourth deals with acknowledgments to host-initiated messages.
By using the following handler functions, SwitchKit can take care of the bookkeeping associated with a state machine. Context associated with a call is passed from one state to the next through the tag, and all acknowledgments are augmented by a pointer to the original message.
Switch-Initiated
MSP
424
sk_setChannelHandler();
sk_pushChannelHandler();
sk_setGroupHandler();
Acknowledgment to Host-Initiated
sk_sendMessageWithHandler();
Default Handler Functions
The default handler functions can be used to set up default handlers, to be called if no other handler is appropriate. For example, if sk_rcvAndDispatch() returned SK_NOT_HANDLED, you can add a default handler. This function can be used to set up handlers for Inter Application messages, switch-initiated messages such as polls and alarms, or as acknowledgments to any message that was sent without an explicitly-specified handler for its acknowledgment.
Default Handlers
sk_setDefaultHandler();
sk_pushDefaultHandler();
sk_popDefaultHandler();
sk_removeDefaultHandler();
If the SK_HANDLER_BEHAVIOR bit mask has the SK_HDLR_BHVR_SAFETY_NET bit set, the default handler can also be invoked if the appropriate handler is found but returns SK_NOT_HANDLED.
Handler Function Stacks
For simple applications, it is usually sufficient to have just a single handler function associated with any channel. For more complicated applications, more power is often needed. SwitchKit allows a stack of handlers to be associated with a channel. These facilities are demonstrated in the callcard.c application included in the distribution. Multiple handler functions can be added onto a channel’s handler function stack. When a switch-initiated message arrives on that channel, the most recently added handler is called first. That handler can choose to not handle the message by returning SK_NOT_HANDLED, in which case the next handler on the stack is called.
The SK_Event that is passed to the handler function contains a UserData field. This field can be used to pass information within the stack of handler functions that are called for a single event. It is initialized to NULL.
By using a stack of handlers, a series of specialized handlers can be added that only handle a small set of messages. The first handler that is added should be a generic handler, to handle all messages that haven’t been handled at a lower level. Lower level handlers can set some state information in the UserData field of the SK_Event in order to communicate that part of an otherwise unhandled message has been processed.
Example
SwitchKit Programmer's Information
425
The sk_pushChannelHandler()function pushes the handler function, aHandlerFunc, onto the handler stack for the specified span and channel.
The sk_popChannelHandler() function removes the top of the Handler Stack for this span, channel and sets aHandlerFunc to point to this function.
The sk_removeChannelHandler() function removes the specific Handler Function, aHandlerFunc from the stack for this span, channel.
sk_pushHandler(span,chan,genericHandler);
sk_pushHandler(span,chan,h);
int genericHandler(SK_Event *e, void *tag)
{
MsgStruct *m = e->IncomingMsg;
bool beenPrinted = (bool)e->UserData;
if (!beenPrinted) {
e->UserData = (void *)1;
printMessage(m);
}
printf (“Unhandled message %s\n”,sk_getMsgName(m));
}
int h(SK_Event *e, void *tag)
{
MsgStruct *m = e->IncomingMsg;
bool beenPrinted = (bool)e->UserData;
if (!beenPrinted) {
e->UserData = (void *)1;
printMessage(m);
}
SK_MSG_SWITCH(m)
{
CASE_RequestForService(rfs)
{
handleRFS(rfs);
return OK;
}
} SK_END_SWITCH;
return SK_NOT_HANDLED;
}
MSP
426
sk_popChannelHandler()
Description
The sk_popChannelHandler() function removes the top of the handler stack for the specified span and channel and sets aHandlerFunc to point to this function.
Syntax
int sk_popChannelHandler(int aSpan, int aChannel, void **aRtndTag, HandlerFunc **aRtndHanderFunc);
Threadsafe Syntax
int skts_popChannelHandler(int aSpan, int aChannel, void **aRtndTag, HandlerFunc **aRtndHanderFunc
Parameters
The function parameters are shown in the table below.
Arguments Description
aSpan Specifies the span.
aChannel Specifies the channel.
aRtndTag Output parameter that will contain the tag value that was originally specified when the handler was pushed on the handler stack.
aRtndHandlerFunc Output parameter that will contain the message handler function that was originally specified when the handler was pushed on the handler stack.
Return Values
Possible return values for this function:
SK_EMPTY The handler stack is empty.
SwitchKit Programmer's Information
427
sk_popDefaultHandler()
Description
The sk_popDefaultHandler() function removes the top-most handler function from the default handler function stack. This function is also available as skts_popDefaultHandler().
Syntax
int sk_popDefaultHandler(void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_popDefaultHandler( void *aTag, HandlerFunc* aHandlerFunc );
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
428
sk_popDefaultTCAPHandler()
Description
Use the sk_popDefaultTCAPHandler() function to remove the top-most handler function from the default TCAP handler function stack. This function is also available as skts_popDefaultTCAPHandler().
Syntax
int sk_popDefaultTCAPHandler( void **aRtndTag, HandlerFunc **aRtndHandlerFunc);
Threadsafe Syntax
int skts_popDefaultTCAPHandler( void **aRtndTag, HandlerFunc **aRtndHandlerFunc);
Parameters
The function parameters are shown in the table below.
Argument Description
aTag Output parameter that will contain the tag value that was originally specified when the handler was pushed on the handler stack.
aRtndHandlerFunc Output parameter that will contain the message handler function that was originally specified when the handler was pushed on the handler stack.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully popped.
SK_EMPTY Unable to pop handler.
SwitchKit Programmer's Information
429
sk_popTCAPHandler()
Description
Use the sk_popTCAPHandler() function to remove the top of the TCAP handler stack for the specified stack and subsystem number and set aRtndHandlerFunc to point to this function. This function is also available as skts_popTCAPHandler().
Syntax
int sk_popTCAPHandler(int aStackID, int anSSN, void **aRtndTag, HandlerFunc **aRtndHandlerFunc);
Threadsafe Syntax
int skts_popTCAPHandler(int aStackID, int anSSN, void **aRtndTag, HandlerFunc **aRtndHandlerFunc);
Parameters
The function parameters are shown in the table below.
Argument Description
aStackID Stack ID
anSSN Sub-system number
aRtndTag Output parameter that will contain the tag value that was originally specified when the handler was pushed on the handler stack.
aRtndHandlerFunc Output parameter that will contain the message handler function that was originally specified when the handler was pushed on the handler stack.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully popped.
SK_EMPTY Unable to pop handler.
MSP
430
sk_pushChannelHandler()
Description
The sk_pushChannelHandler() function pushes the handler function aHandlerFunc onto the handler stack for the specified span and channel. This function is also available as skts_pushChannelHandler().
Syntax
int sk_pushChannelHandler(int aSpan, int aChannel, void *aTag, HandlerFunc* aHanderFunc);
Threadsafe Syntax
int skts_pushChannelHandler( int aSpan, int aChannel, void *aTag, HandlerFunc* aHanderFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aSpan Secifies the span
aChannel Specifies the channel.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Always returns OK.
SwitchKit Programmer's Information
431
sk_pushDefaultHandler()
Description
The sk_pushDefaultHandler() function pushes aHandlerFunc onto the stack of default handler functions. It is called before any existing handler functions on the stack. If no other handler functions apply, then the next highest function on the stack is called. This function is also available as skts_pushDefaultHandler().
Syntax
int sk_pushDefaultHandler(void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_pushDefaultHandler( void *aTag, HandlerFunc* aHandlerFunc );
Parameters
The function parameters are shown in the table below.
Argument Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
432
sk_pushDefaultTCAPHandler()
Description
Use the sk_pushDefaultTCAPHandler() function to push aHandlerFunc onto the stack of default TCAP handler functions. It is called before any existing handler functions on the stack. If no other handler functions apply, then the next highest function on the stack is called. This function is also available as skts_pushDefaultTCAPHandler().
Syntax
int sk_pushDefaultTCAPHandler( void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_pushDefaultTCAPHandler( void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully pushed.
SK_BAD_LICENSE TCAP handler functionality was not successfully unlocked.
SwitchKit Programmer's Information
433
sk_pushTCAPHandler()
Description
Use the sk_pushTCAPHandler() function to push the handler function, aHandlerFunc, onto the TCAP handler stack for the specified stack and subsystem number. This function is also available as skts_pushTCAPHandler().
Syntax
int sk_pushTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_pushTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aStackID Stack ID
anSSN Sub-system number
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully pushed.
SK_BAD_LICENSE TCAP handler functionality was not successfully unlocked.
MSP
434
sk_removeChannelHandler()
Description
The sk_removeChannelHandler() function removes the handler function aHandlerFunc from the stack for the specified span and channel. This function is also available as skts_removeChannelHandler().
Syntax
int sk_removeChannelHandler(int aSpan, int aChannel, void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_removeChannelHandler(int aSpan, int aChannel, void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aSpan sp specifies the span.
aChannel ch specifies the channel.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_NOT_PRESENT The specified handler function is not in the handler stack of the channel.
SwitchKit Programmer's Information
435
sk_removeDefaultHandler()
Description
The sk_removeDefaultHandler() function removes the specified handler aHandlerFunc from the handler function stack wherever it is. This function is also available as skts_removeDefaultHandler().
Syntax
int sk_removeDefaultHandler(void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_removeDefaultHandler( void *aTag, HandlerFunc* aHandlerFunc );
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
436
sk_removeDefaultTCAPHandler()
Description
Use the sk_removeDefaultTCAPHandler() function to remove the specified handler, aHandlerFunc, from the Default TCAP handler function stack wherever it is. This function is also available as skts_removeDefaultTCAPHandler().
Syntax
int sk_removeDefaultTCAPHandler(void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_removeDefaultTCAPHandler(void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
TRUE Always returns TRUE (1)
SwitchKit Programmer's Information
437
sk_removeLLCConnectionHandler()
Description
The sk_removeLLCConnectionHandler() function removes the LLC connection handler associated with the specified tag value. This function is also available as skts_removeLLCConnectionHandler().
Syntax
int sk_removeLLCConnectionHandler( void *aTag, LLCHandlerFunc *anLLCHandlerFunc);
Threadsafe Syntax
int skts_removeLLCConnectionHandler( void *aTag, LLCHandlerFunc *anLLCHandlerFunc);
Parameters
The function parameters are shown in the table below.
Argument Description
aTag The value used when the LLC connection handler was originally defined using sk_setLLCConnectionHandler(). If the same value is not used, the LLC connection handler will not be removed.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_HANDLER_NOT_FOUND A connection handler with the specified tag was not found. No connection handler was removed.
SK_UNABLE_TO_OBTAIN_LOCK Error occurred obtaining a Mutex. (Threadsafe library only.)
OK - A handler was successfully removed.
OK Success
MSP
438
sk_removeTCAPHandler()
Description
Use the sk_removeTCAPHandler() function to remove the handler function, aHandlerFunc, from the TCAP handler stack for the specified stack and subsystem number. This function is also available as skts_removeTCAPHandler().
Syntax
int sk_removeTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_removeTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aStackID Stack ID
anSSN Subsystem number
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
TRUE Always returns TRUE (1)
SwitchKit Programmer's Information
439
sk_setChannelHandler()
Description
The sk_setChannelHandler() function installs aHandlerFunc as the handler. If there is currently a stack of handler functions, it is cleared first. This function is also available as skts_setChannelHandler().
Syntax
int sk_setChannelHandler(int aSpan, int aChannel, void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_setChannelHandler(int aSpan, int aChannel, void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aSpan Specifies the span.
aChannel Specifies the channel.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Always returns OK.
MSP
440
sk_setDefaultHandler()
Description
The sk_setDefaultHandler() function installs aHandlerFunc as the default handler. If there is currently a stack of handler functions, it is cleared first. This function is also available as skts_setDefaultHandler().
Syntax
int sk_setDefaultHandler(void *aTag, HandlerFunc* aHandlerFunc );
Threadsafe Syntax
int skts_setDefaultHandler(void *aTag, HandlerFunc* aHandlerFunc );
Parameters
The function parameters are shown in the table below.
Argument Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
441
sk_setDefaultTCAPHandler()
Description
Use the sk_setDefaultTCAPHandler() function to install aHandlerFunc as the default TCAP handler. If there is currently a stack of default TCAP handler functions, it is cleared first.. This function is also available as skts_setDefaultTCAPHandler().
Syntax
int sk_setDefaultTCAPHandler( void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_setDefaultTCAPHandler( void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully set.
SK_BAD_LICENSE TCAP handler functionality was not successfully unlocked.\
MSP
442
sk_setGroupHandler()
Description
The sk_setGroupHandler() function installs HandlerFunc as the group handler. If there is currently a stack of handler functions, it is cleared first. This function is also available as skts_setGroupHandler().
Syntax
int sk_setGroupHandler(char *aChannelGroupName, void *aTag, aHandlerFunc*);
Threadsafe Syntax
int skts_setGroupHandler( char *aChannelGroupName, void *aTag, HandlerFunc* aHandlerFunc );
Parameters
The function parameters are shown in the table below.
Argument Description
aGroupName Specifies the group.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
443
sk_setLLCConnectionHandler()
Description
The sk_setLLCConnectionHandler() function installs a handler function that will be called any time the application's connection with the LLC is created or destroyed by the SwitchKit API. The connection is created each time the application successfully connects to the LLC. The connection is destroyed each time the application is disconnected from the LLC. Disconnection may occur for any number of reasons including, termination of the LLC, network problems, or failure of the application to call rcvAndDispatch() on a regular basis.
When an LLC switchover occurs, the LLC connection handler will be called twice:
When the connection to the LLC is initially lost indicating that a connection has been destroyed
(state = SK_LLC_CONN_DESTROYED)
When the connection to an LLC is established indicating that a connection has been created
(state = SK_LLC_CONN_CREATED).
This function is also available as skts_removeLLCConnectionHandler().
Syntax
int sk_setLLCConnectionHandler( void *aTag, LLCHandlerFunc *anLLCHandlerFunc);
Threadsafe Syntax
int skts_setLLCConnectionHandler( void *aTag,
LLCHandlerFunc *anLLCHandlerFunc);
Definition of LLC Connection Handler Functions
Syntax
void LLCHandlerFunc(int aConId, int aConState, void *aTag);
Parameters
The function parameters are shown in the table below.
Arguments Description
aConId aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
aConState The new state of the LLC connection. Possible values are:
SK_LLC_CONN_CREATED Application connection to LLC has just been established.
MSP
444
SK_LLC_CONN_DESTROYED Application connection to LLC has just been lost.
aTag A value to be passed into the LLC connection handler each time the LLC connection handler is called. This value is also used to reference the handler when attempting to remove a handler usingsk_removeLLCConnectionHandler().
Parameters
The function parameters are shown in the table below.
Arguments Description
aTag A value to be passed into the LLC connection handler each time the LLC connection handler is called. This value is also used to reference the handler when attempting to remove a handler using sk_removeLLCConnectionHandler().
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
SK_HANDLER_ALREADY_EXISTS A connection handler for this tag already exists. Please remove the old connection handler before setting new handler.
SK_UNABLE_TO_OBTAIN_LOCK Error occurred obtaining a Mutex (Threadsafe library only.)
OK - Handler successfully set.
OK Success
SwitchKit Programmer's Information
445
sk_setTCAPHandler()
Description
Use the sk_setTCAPHandler() function to organize the flow of TUSI and SUSI messages for your application. Once a stack and subsystem number have been assigned to an application, the sk_setTCAPHandler() function causes the specified handler function to be called whenever a MSP-initiated message arrives on a stack and subsystem number. This function does not affect the routing of any acknowledgment messages. This function is also available as skts_setTCAPHandler().
Syntax
int sk_setTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Threadsafe Syntax
int skts_setTCAPHandler(int aStackID, int anSSN, void *aTag, HandlerFunc* aHandlerFunc);
Parameters
The function parameters are shown in the table below.
Arguments Description
aStackID Identifies Stack ID
anSSN Identified Subsystem number
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
Return Values
Possible return values for this function:
OK Always returns OK.
MSP
446
sk_unlockTCAPHandlers()
Description
Use the sk_unlockTCAPHandlers() function to specify an Excel-defined value that will make the TCAP handlers accessible to Switchkit applications..This function is also available as skts_unlockTCAPHandlers().
Syntax
sk_unlockTCAPHandlers(char *aKey);
Threadsafe Syntax
skts_unlockTCAPHandlers(char *aKey)
Parameters
The function parameters are shown in the table below.
Argument Description
aKey Excel-defined value used to unlock TCAP handlers.
Return Values
Possible return values for this function:
OK TCAP handler functionality was successfully unlocked.
SK_NOT_PRESENT This return value indicates an invalid key.
SwitchKit Programmer's Information
447
Logging Functions
Logging Functions
This section describes the logging functions available in SwitchKit. It provides prototype information, possible error return values, and a description of what the function does.
Most functions return an integer value. Upon successful completion, that return value is OK (0). Non-zero return values indicate some error conditions. Each function lists the associated error conditions.
Some functions return pointers; those functions do not have a status value indicating success or failure.
All modules within SwitchKit generate log files. You can also generate your own log files, and have them managed by SwitchKit. Log file entries can also be displayed on the screen. By default, SwitchManager and the LLC send their output to the screen as well as to the log file, while the applications only write it to the log file. The behavior of the LLC and SwitchManager can be changed through the environment variable SK_SCREEN_OUTPUT, while the behavior of the applications can be changed by using the function sk_setSilentMode(
MSP
448
sk_getMsgName()
Use the sk_getMsgName() function to return the name of the given message to your application. This function is also available as skts_getMsgName().
Description
This function call returns the name of a message to the application.
Syntax
int sk_getMsgName(MsgStruct *);
Threadsafe Syntax
int skts_getMsgName(MsgStruct *);
Parameters
The function parameters are shown in the table below.
Arguments Description
MsgStruct * Pointer to a generic C Structure representing a message.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
“Message” If the message is a known Toolkit message or EXS API message, the function returns the message name.
Unknown TK Tag
The message is an unknown Toolkit message, returned with the message tag.
Unknown Tag The message is an unknown EXS API message, returned with the message tag.
AdminMessage The message is an AdminMessage.
DummyMessage If the message is a DummyMessage.
SwitchKit Programmer's Information
449
sk_logLevel()
Use the sk_logLevel() function to manipulate the level of logging in your system. This function is also available as sk_logLevelOnConnection() and skts_logLevel.
Description
This function changes the level of logging based on different settings.
Syntax
int sk_logLevel(int aLogLevel);
int sk_logLevelOnConnection(int aLogLevel, int aConID);
Threadsafe Syntax
int skts_logLevel(int aLogLevel, int aConID);
Parameters
The function parameters are shown in the table below.
Pay close attention to Bit 4 behavior. By default the screen output is enabled, although the bit is cleared. The screen output is disabled only if you set the bit.
Arguments Description
aLogLevel what is a bit mask represented by the following bits:
Bit 1 is set - socket.log is turned on.
Bit 2 is set - messages.log is turned on.
Both bits cleared - logging is turned off.
Bit 4 is set - screen output is turned off.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with..
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
450
sk_logMessage()
Use the sk_logMessage() function to log a specific message to a specified log level. This function is also available as sk_logMessageOnConnection() and skts_logMessage.
Description
This function logs a specified message to a specified log level. This function writes to the Switchmgr Alarm.log.
Syntax
int sk_logMessage(char *aTextMessage, int aLogLevel);
int sk_logMessageOnConnection(char *aTextMessage,int aLogLevel, int aConID);
Threadsafe Syntax
int skts_logMessage(char *aTextMessage,int aLogLevel, int aConID);
Parameters
The function parameters are shown in the table below.
Arguments Description
aTextMessage Points to the message you want to log.
aLogLevel This can be specified as follows:
SK_LVL_INFORM = 0
SK_LVL_MAJOR = 1
SK_LVL_MINOR = 2
SK_LVL_INFORM - simply log the message, no error reported
SK_LVL_MAJOR - log the message as a major error
SK_LVL_MINOR - log the message as a minor error
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with..
Return Values
Possible return values for this function:
OK Successfully executed.
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
451
sk_setSilentMode()
Use the sk_setSilentMode() function to cause or prevent log output from appearing on the screen. This function is also available as sk_setSilentMode().
Description
This function controls the log out put on the screen. By default, log output from the application appears only in the log files.
Syntax
int sk_setSilentMode(int isSilentModeFlag);
Threadsafe Syntax
void skts_setSilentMode(int isSilentModeFlag);
Parameters
The function parameters are shown in the table below.
Argument Description
isSilentModeFlag A non-zero value disables the output of logs to the screen. Setting it to 0 causes all output to log files to also appear on the screen.
Return Values
This function does not have a return value.
MSP
452
Message Functions
Base Classes
Description
The following are the Base Classes for C++.
SKC_Message
The SKC_Message class is the base class for all messages. An object of this class knows how to send itself to the switch, and can be asked for its message tag, message type, and message name. Furthermore, a pointer to the MsgStruct that serves as its underlying representation can be returned with a call to getStructPtr().
SKC_ToolkitMessage
This class is the base class for all messages that are defined for SwitchKit specific functions.
SKC_DummyMessage
This is the base class for the dummy messages. Dummy messages are specific to SwitchManager configuration files and are for internal SwitchKit use only. Do not use dummy messages for your application development.
SKC_AdminMessage
This is the base class for messages that perform LLC administrative tasks. Do not use these administrative messages for your application development.
SKC_ToolkitAck
This class is the base class for all Toolkit messages that are acknowledgments to a previously sent message.
SKC_TollkitInbound
This is the base class for unsolicited messages from the LLC. These are messages that are generated inside the LLC for the benefit of application developers. An example of an SKC_ToolkitInbound message would be SKC_ConnectionStatusMsg.
XLC_SwitchMessage
All message classes that correspond to EXS-defined messages are derived from this class. This class defines a notion of message size, which corresponds to the size of an EXS variably-sized message.
XLC_OutboundMessage
SwitchKit Programmer's Information
453
An XLC_OutboundMessage is an XLC_SwitchMessage that is going out to the switch (that is, a host-initiated message).
XLC_InboundMessage
An XLC_InboundMessage is an XLC_SwitchMessage that is coming in from the switch (that is, an MSP-initiated message). It is not an acknowledgment.
XLC_Acknowledge
Message
An XLC_AcknowledgeMessage is an XLC_SwitchMessage that is coming in from the switch in response to a previously sent outbound message.
XLC_ExpandedNode
Inbound
An XLC_ExpandedNodeInbound is an XLC_Message that includes the Expanded Logical Node ID AIB.
XLC_OneChannelMessage
An XLC_OneChannelMessage is an XLC_InboundMessage that is occurring on a specific channel. It defines functions for getting the message’s relevant span and channel. An example of this would be a Request For Service message.
XLC_SpanRangeMessage
An XLC_SpanRangeMessage is an XLC_OutboundMessage that applies to a range of spans. It defines functions for getting and setting the starting and ending message span. The only current XLC_SpanRangeMessage is XLC_J1SpanConfig.
XLC_ChanRangeMessage
An XLC_ChanRangeMessage is an XLC_SpanRangeMessage that not only has a starting and ending span, but also has a starting and ending channel. The message applies to all of the channels between the starting span channel pair and the ending span channel pair. Most configuration messages are XLC_ChanRangeMessages.
XLC_SlotMessage
An XLC_SlotMessage is an XLC_OutboundMessage that acts on a specific slot. It defines functions for getting and setting the target slot.
XLC_SpanMessage
An XLC_SpanMessage is an XLC_OutboundMessage that acts on a specific span. It defines functions for getting and setting the target span.
MSP
454
XLC_OneChannel
Outbound
An XLC_OneChannelOutbound is an XLC_OutboundMessage that acts on a specific channel. It is equivalent to XLC_OneChannelMessage, except that it applies to host-initiated messages instead of switch-initiated messages. An example of an XLC_OneChannelMessage is XLC_ChannelParameterQuery.
Derived Leaf Message Objects
All leaf message objects are derived from the base classes described above. The definitions of these objects are found in CMessages.api.h. CMessages.api.CPP contains the implementation of these objects. Their constructors all automatically initialize the underlying C structure, so you don’t need to call sk_initMsg.
For example, to send a CardStatusQuery to the card in Slot 3 through the C++ API, you would enter:
XLC_CardStatusQuery csq;
csq.setSlot(3);
csq.send(tag, handlerFunction);
SwitchKit Programmer's Information
455
Instantiating a Large SwitchKit Message
This section describes how to instantiate a SwitchKit message larger than the default size. The methods outlined in this section apply to all SwitchKit messages. When instantiating, the size of the message is defined as the size of the header plus data; not just the size of the message data. For example, if the header is eight bytes and data is 20 bytes, the total message size is 28 bytes.
The two methods for instantiating a message are:
Accept the default size
Customize the message size.
C SwitchKit programmers:
To accept the default size of a message, do one of the following:
XL_SampleMessage *sampleMessagePtr = (XL_SampleMessage *)malloc(sizeof XL_SampleMessage);
Or:
XL_SampleMessage sampleMessage;
To instantiate a custom-sized message, do the following:
XL_SampleMessage *sampleMessagePtr = (XL_SampleMessage *)malloc(1000);
Then copy the data into the message (size is the actual size of the data for the message):
memcpy (sampleMessagePtr->Data, buf, size);
C++ SwitchKit programmers:
To accept the default size of a message, do one of the following:
XLC_SampleMessage *sampleMessagePtr =new XLC_SampleMessage;
Or
XLC_SampleMessage sampleMessage;
To instantiate a custom-sized message, do the following:
XLC_SampleMessage *sampleMessagePtr =new XLC_SampleMessage(1000);
Or
XLC_SampleMessage sampleMessage(1000);
Then copy the data into the message (where size is the actual size of the data for the message)
memcpy (sampleMessagePtr->getDataPtr(), buf, size);
MSP
456
Message Class Macros
Description
For C++ programmers, SwitchKit provides macros that work with message classes instead of structures.
Syntax
The C++ syntax for a basic message is:
SKC_Message *SK_msg(const MsgStruct *, bool fromSwitch, int bufSz = 0);
Switch Statement
The received message class includes information describing what kind of message it is. You handle this information with the SKC_MSG_SWITCH macros. These macros mimic a switch statement, and allow different branches of code to be executed, depending on the type of message. Within the branch, a cast is automatically performed for you, allowing you to operate on a variable of the correct type. The switch statement must end with SKC_END_SWITCH.
Example for C++ with Predefined Macros
SK_Event *incomingEvent = getEvent();
SKC_Message *msg = incomingEvent->IncomingCMsg;
SKC_MSG_SWITCH(msg)
{
CASEC_ConnectAck(ca)
return processStatus(ca->getStatus());
CASEC_ChannelReleased(cr)
{
CleanUpChan(cr->getSpan(), cr->getChannel());
break;
}
CASEC_default
{
/*Unexpected msg!*/
break;
}
} SKC_END_SWITCH
In the SKC_MSG_SWITCH statement, “break” can be used normally, and the lack of a break statement causes execution to fall through to the next branch, just as a normal switch statement would. However, the default branch must be labeled with
SwitchKit Programmer's Information
457
CASEC_default, as in the above example. The other important syntax difference from a normal switch statement is the lack of colons after the case label. The macro inserts the colons for you.
You can find the definitions of the marcros in the included file API_Funcs.h. Those macros are defined in terms of more primitive operations, which you can use instead of an SKC_MSG_SWITCH statement.
Steps to Translate Example to Straight C++ Code
1. Copy the message class.
2. Do the switch statement on the tag of the message.
3. For the first case, use TAG_ConnectAck for the tag of the acknowledgment to the connect message. There is no XLC_ConnectAck class because its acknowledgement is generic, so the message is cast to an XLC_AcknowledgeMessage. It is then stored in the ca variable, which is used in the body of the case clause.
4. Use the next case for the XLC_ChannelReleased message. This time, the message is cast to a class that is put in cr.
5. You don’t use the default clause for anything in this example.
Example for C without Predefined macros
SKC_Message *sk_saved_msg = msg;
switch(sk_saved_msg -> getMsgTag())
{
case(TAG_ConnectAck):
{
XLC_AcknowledgeMessage *ca =
(XLC_AcknowledgeMessage *)sk_saved_msg;
return processStatus(ca->getStatus());
}
case(TAG_ChannelReleased):
{
XLC_ChannelReleased *cr =
(XLC_ChannelReleased *)sk_saved_msg;
cleanUpChan(cr->getSpan, cr->getChannel);
break;
}
default:
break;
MSP
458
Message Functions
Purpose
This section provides information about message structures and macros, as well as information on sending and receiving message functions that are available in SwitchKit. It provides prototype information, possible error return values, and a description of what the function does.
Most functions return an integer value. Upon successful completion, that return value is OK (0). Non-zero return values indicate some error conditions. Each function lists the associated error conditions.
Some functions return pointers; those functions do not have a status value indicating success or failure.
SwitchKit Programmer's Information
459
Message Headers in C
Description
To process all of the basic message handling required by the EXS API, SwitchKit presents each message with a header and supplies the appropriate fields for the EXS Message Type, Size, Sequence numbers, and Node ID.
The data portion of the message can be an SwitchKit Message, an outbound (for example host to switch) or inbound (for example switch to host) EXS API message, or an acknowledgment message. In all cases, the manipulation of these messages is accomplished through the macros described later in this section.
Syntax of Basic C Message Header
typedef struct {
XBYTE Size;
int Tag;
XBYTE SeqNum;
UBYTE NodeID;
int EngineName;
} BaseFields;
Message Structure
To communicate with the LLC, sequences of bytes must be passed through interprocess communication. To hide the underlying byte representation, SwitchKit provides a set of message structures to represent the data more intelligently. These message structures are all defined in the Messages.api.h API file. The structures are hierarchical, so that a simple cast can convert one to another.
Example
typedef struct {
unsigned short Span;
UBYTE Channel;
UBYTE ResendFlag;
} XL_RequestForService;
MsgStruct msg;
if (sk_getMsgTag(&msg) == TAG_RequestForService)
{
XL_RequestForService *rfs;
rfs = (XL_RequestForService *)&msg;
SwitchKit Programmer's Information
461
Message Macros for C Programmers
Description
The following macros are provided to assist in setting up the message. Some macros have a threadsafe version which is indicated by the skts prefix. Macros do not have return values; they evaluate. The listed parameters are to show expected types.
sk_initMsg
This macro initializes the structure by zeroing the sequence number and size, and by setting the tag. This macro must be called on every message structure.
Syntax
void sk_initMsg(MsgStruct *m, int tag);
Threadsafe Syntax
void skts_initMsg(MsgStruct *m, int tag);
Proper Initialization
If the application should fail to call sk_initMsg() before sending the message, the following text will appear on the console and in the application's maintenance log:
"**Error:Aug 12 2003 09:30:30: Received message with unknown engine type205 - is the sender of this message incorrectly using a pre-3.0 version of SwitchKit? This version of SwitchKit will not work with any pre-3.0versions."
This message incorrectly identifies the source of the problem but indicates that the message was not properly initialized.
sk_setMsgSize
This macro sets the size of the message. In general, this macro should not be called. For all fixed-size messages, and almost all variably-sized messages, SwitchKit computes the size of the message automatically. If you don't set the size, and SwitchKit cannot compute it, you get this error code returned: SK_NO_MSG_SIZE. In this case, the size should be set to the length field that would appear in the EXS message, as described by the API Reference. (Note that the actual value set in the MsgStruct.Size field will not necessarily be this exact value.)
Syntax
void sk_setMsgSize(MsgStruct *m, aBufSize);
Threadsafe Syntax
XBYTE skts_setMsgSize(MsgStruct *m);
sk_getMsgSize
MSP
462
This macro retrieves the size of the message that was previously set via sk_setMsgSize. This function will not cause SwitchKit to recompute the size of the message and therefore should only be called if you are calling sk_setMsgSize(). See sk_setMsgSize() for more details.
Syntax
XBYTE sk_getMsgSize(MsgStruct *m);
Threadsafe Syntax
XBYTE skts_getMsgSize(MsgStruct *m);
sk_setRange
This macro sets the range of spans and channels for a ChanRangeMsgStruct message. The macro is equivalent to:
crmsg.StartSpan = startSpan;
crmsg.StartChan = startChan;
crmsg.EndSpan = endSpan;
crmsg.EndChan = endChan;
Syntax
void sk_setRange (ChanRangeMsgStruct* crMsg, int startSpan, int startChan, int endSpan, int endChan);
Threadsafe Syntax
void skts_setRange (ChanRangeMsgStruct* crMsg, int startSpan, int startChan, int endSpan, int endChan);
sk_getMsgType
This macro evaluates the following cases:
SK_TYPE_INBOUND: for messages arriving from the switch.
SK_TYPE_OUTBOUND: for messages destined for the switch.
SK_TYPE_TOOLKIT: for SwitchKit-specific messages, for example Add LLCNode.
SK_TYPE_ADMIN: for SwitchKit administrative messages, for example AssociateChannelGroup.
SK_TYPE_DUMMY: for SwitchManager-specific messages, for example PPLTool, AllInService.
Syntax
int sk_getMsgType(MsgStruct *m);
Threadsafe Syntax
SwitchKit Programmer's Information
463
int skts_getMsgType(MsgStruct *m);
isInboundMsg
This macro evaluates TRUE if m points to an inbound message.
Syntax
bool isInboundMsg(MsgStruct *m);
isOutboundMsg
This macro evaluates TRUE if m points to an outbound message.
Syntax
bool isOutboundMsg(MsgStruct *m);
isToolkit
This macro evaluates TRUE if m points to a toolkit message.
Syntax
bool isToolkit(MsgStruct *m);
sk_getXLTag
This macro evaluates to the UBYTE message tag as received by the LLC from the switch.
Syntax
UBYTE sk_getXLTag(MsgStruct *m);
Threadsafe Syntax
UBYTE skts_getXLTag(MsgStruct *m);
sk_getMsgTag
This macro evaluates to the SK tag and will be offset by 10000 if m points to an acknowledgement.
Syntax
int sk_getMsgTag(MsgStruct *m);
Threadsafe Syntax
int skts_getMsgTag(MsgStruct *m);
MSP
464
sk_getSeqNum
This macro evaluates to the sequence number for the message m is pointing to.
Syntax
XBYTE sk_getSegNum(MsgStruct *m);
Threadsafe Syntax
XBYTE skts_getSegNum(MsgStruct *m);
sk_setSeqNum
This macro is a convienience macro that sets the sequence number of m to seqNum.
Syntax
void sk_setSeqNum(MsgStruct *m, XBYTE seqNum);
Threadsafe Syntax
void skts_setSeqNum(MsgStruct *m, XBYTE seqNum);
sk_is_positive_ack
This macro evaluates to TRUE if ack is an inbound message and
ack->Status == 0x10.
Syntax
bool sk_is_positive_ack(MsgStruct *m);
SwitchKit Programmer's Information
465
Message Structure Macros
Description
To send a message, you must first create a message structure macro.
There are two ways of creating message structure macros. You can choose to use predefined macros included in SwitchKit, or you can write you own macros. Either way, you must use a switch statement to go through the message.
Switch Statement with Predefined Macros
The received message structure includes information describing what kind of message it is. You handle this information with the SK_MSG_SWITCH macros. These macros mimic a switch statement and allow different branches of code to be executed, depending on the kind of message. Within the branch, a cast is performed for you automatically, allowing you to operate on a variable that has the correct type. The switch statement must end with SK_END_SWITCH.
Example for C with Predefined Macros
MsgStruct *msg
SK_MSG_SWITCH(msg)
{
CASE_ConnectAck(ca)
return processStatus(ca->Status);
CASE_ChannelReleased(cr)
{
CleanUpChan(cr->Span, cr->Channel);
break;
}
CASE_default
{
/*Unexpected msg!*/
break;
}
} SK_END_SWITCH
In the SK_MSG_SWITCH statement, “break” can be used normally, and the lack of a break statement causes execution to fall through to the next branch, just as it would in a normal switch statement. However, the default branch must be labeled with CASE_default, as in the above example. The other important syntax difference from a normal switch statement is the lack of colons after the case label. The macro inserts the colons for you.
MSP
466
In the body of the first two cases, the programmer has referenced structure elements, Status, Span, and Channel that are only accessed through a correctly-cast MsgStruct. For example, in the first case ca has been defined by the CASE_ConnectAck macro to be a pointer to a ConnectAck structure, and is initialized with msg.
You can find the definitions of the marcros in the included file API_Funcs.h. Those macros are defined in terms of more primitive operations, which you can use instead of an SK_MSG_SWITCH statement.
Switch Statement without Predefined Macros
These are the steps to translate the example to straight C code.
1. Copy the message structure.
2. Do the switch statement on the tag of the message.
3. For the first case, use TAG_ConnectAck for the tag of the acknowledgment to the connect message. There is no XL_ConnectAck structure because its acknowledgement is generic, so the message is cast to an XL_AcknowledgeMessage. It is then stored in the ca variable, which is used in the body of the case clause.
4. Use the next case for the XL_ChannelReleased message. This time, the message is cast to a structure that is put in cr.
5. CASE_default is not used for anything in this example.
Example for C without Predefined macros
SK_Message *sk_saved_msg = msg;
switch(sk_saved_msg -> getMsgTag())
{
case(TAG_ConnectAck):
{
XL_AcknowledgeMessage *ca =
(XL_AcknowledgeMessage *)sk_saved_msg;
return processStatus(ca->Status);
}
case(TAG_ChannelReleased):
{
XL_ChannelReleased *cr =
(XL_ChannelReleased *)sk_saved_msg;
cleanUpChan(cr->Span, cr->Channel);
break;
}
MSP
468
Messages in C++
Description
The C++ API is a rich class hierarchy that corresponds to the set of EXS and SwitchKit messages that can be sent to the MSP 1010. The class hierarchy lends structure and organization to these messages, as shown in the C++ Class Hierarchy diagram. Macros corresponding to the C macros are provided for the C++ message classes. These macros allow easy branching, based on the type of message received.
SKC_BaseObject
This class is the base of the class hierarchy tree. As delivered in the API, it does not derive from any other class. SKC_BaseObject implements a basic mechanism for determining if a given object is derived from a particular class. The desc() virtual function returns a static object pointer that is different for each class. By calling isKindOf(), the SKC_ClassDesc of a given class is compared against the desc() of the given object and all of its base classes. If isKindOf() returns true, then the type cast to the given type is safe.
Example
SKC_BaseObject *obj = getObject();
if (obj->isKindOf(&SKC_ToolkitMessage:desc())) {
SKC_ToolkitMessage *tkitMsg = (SKC_ToolkitMessage *) obj;
processToolkitMessage(tkitMsg);
}
Class Definition Macros
Every class defined in the SwitchKit C++ API contains an invocation of a macro both in its class declaration (the .h file) and in its class definition (the C file). As distributed, these macros complete the implementation of the class derivation testing mechanism.
The macro invoked in the header file is SK_DECLARE_CLASS(cls, base). The first argument is the name of the class that the macro invocation appears in, and the second argument is its base class. SK_DEFINE_CLASS(cls) is invoked in the implementation file of the class—once for each class defined by the API with an argument of that class name.
For example, if you want to add a trivial print() function so that all of the classes know how to print themselves, SK_DECLARE_CLASS could be appended with the following:
#define SK_DECLARE_CLASS(cls,base) \
virtual void print() {cout << “Object of type” << #cls; } \
...
In the above example, it is assumed that #cls is interpreted by the processor to substitute in the value of the cls argument, enclosed in quotes.
SwitchKit Programmer's Information
469
sk_packAutoStorage()
Description
The sk_packAutoStorage() function converts the message into a sequence of bytes suitable for sending to the LLC. This function is equivalent to sk_packMessage(), except that instead of requiring you to pass in a pre-allocated buffer, it automatically allocates an appropriate buffer with sufficient storage for the given message.
Syntax
int sk_packAutoStorage(MsgStruct *aMsgStruct, char **BufferPtr, int *aBufSize);
Parameters
The function parameters are shown in the table below.
Argument Description
MsgStruct **m Pointer to a generic C Structure representing a message.
aBufferPtr Pointer to a packed message pointing to memory allocated and owned by SwitchKit API. Application wishing to retain this information beyond the next call to a SwitchKit API function should copy the data to memory allocated and controlled by the application as the memory may be reused the next time a SwitchKit API function is called.
aBufSize Size of the packed message.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_UNKNOWN_MSG_TYPE The tag field of this MsgStruct is invalid. Did you call sk_initMsg()?
SK_BAD_MSG_SIZE The size field computed by SwitchKit does not match the size field set through sk_setMsgSize(). For this message, you should not set the message size, and instead should let SwitchKit compute it automatically.
SK_NO_MSG_SIZE For this MsgStruct, no size was set in with sk_setMsgSize(), and its size couldn’t be computed.
MSP
470
sk_packMessage()
Description
The sk_packMessage() function converts the message into a sequence of bytes suitable for sending to the LLC. This sequence of bytes is suitable for sk_sendMessage(), sk_sendMessageWithTag(), or sk_sendMessageWithHandler().
Syntax
int sk_packMessage(MsgStruct *aMsgStruct, char *aBuffer, int *aBufSize);
Parameters
The function parameters are shown in the table below.
Argument I/O Description
MsgStruct I **m I Pointer to a generic C Structure representing a message.
aBuffer O Pointer to a packed message.
aBufSize I The size of aBuffer. This tells the SwitchKit API how large the user-provided buffer is and allows the API to stay within the provided buffer.
O The number of bytes of aBuffer that were actually used to store the packed message.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_UNKNOWN_MSG_TYPE The tag field of this MsgStruct is invalid. Did you call sk_initMsg()?
SK_BAD_MSG_SIZE The size field computed by SwitchKit does not match the size field set through sk_setMsgSize(). For this message, you should not set the message size, and instead should let SwitchKit compute it automatically.
SK_NO_MSG_SIZE For this MsgStruct, no size was set in with sk_setMsgSize(), and its size couldn’t be computed.
SwitchKit Programmer's Information
471
sk_rcvAndDispatch()
Description
The sk_rcvAndDispatch() is a replacement for sk_rcvMessage() that knows about handler functions. If you are using handler functions anywhere in your code, always call sk_rcvAndDispatch(), or the messages will not be dispatched correctly. When a message arrives, sk_rcvAndDispatch() determines whether there is any handler function associated with that message. If so, it calls the handler with the appropriate arguments.
sk_rcvAndDispatch() calls the handler function with any tag received and, if this message is an acknowledgment, it also passes in a pointer to the original MsgStruct that triggered this acknowledgment. Notice that all messages passed to the handler function are already unpacked. sk_rcvAndDispatch() returns whatever integer the handler function returns. Because the main sk_rcvAndDispatch() loop checks the return values, it is important that all of the handler functions return a valid integer. Any integer may be returned. Since many SwitchKit #defines use negative integers for many error codes, for example SK_LOST_LLC is -3, you should restrict yourself to returning non-negative integers only.
If there is no associated handler function, rcvAndDispatch returns SK_NOT_HANDLED, and its buffer and size are indicated, just as though sk_rcvMessage() had been called. The application module can then unpack and handle the undispatched message.
This message is also available as sk_rcvAndDispatchOnConnection() and skts_rcvAndDispatch().
Syntax
int sk_rcvAndDispatch(char *aBuffer, int *aBufSize, double aTimeout, void **aTag);
int sk_rcvAndDispatchOnConnection(char *aBuffer, int *aBufSize, double aTimeout, void **aTag, int *aConIDPtr);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aTimeout The maximum time the function should wait for a message before returning. The timeout value is a floating point number allow the application to specify a fractional portion to the timeout. For example, a timeout value of 1.5 seconds would be interpreted as a one and one-half second timeout. If no message arrives which is destined for the application in the specified time, the function should return SK_NO_MESSAGE.
aTag The application-defined pointer that is only valid if the function returns SK_NOT_HANDLED. The value was set in either the original
MSP
472
message send operation if the message is an acknowledgement or was set when the handler was defined if the message is switch-initiated.
aConIDPtr This is used to identify from which LLC connection the message was received.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_NO_MESSAGE No message was received. The time-out expired before any messages (other then Poll messages) were received by the LLC.
SK_BAD_MESSAGE An improperly formatted message was received.
SK_FRAMING_FAILURE Message being sent to an MSP 1010 has a mismatched length between the actual length and the calculated length Reformat the message and send again.
SK_SOCKET_WRITE_ERROR LLC encountered an issue writing a message to a socket. This could be the result of a full socket (the distant end not reading from the socket appropriately) or a severed connection.
SK_NODE_NOT_FOUND A message was directed to an MSP 1010 that LLC is not connected to. This could happen when an application specifies a node ID that has not been added to this configuration.
SK_INVALID_LINK A message was directed to a MSP 1010 that LLC was no longer connected to. This could happen when a connection to an MSP 1010 is unexpectedly severed.
SK_NOT_HANDLED Message was not handled by handler function, no results available.
SK_MSG_TOO_BIG This value is returned because the buffer for a message was too small, or because the message was larger than the limit (64 KB). The size integer value that you pass in is an input/output variable that indicates the size of the message that it unpacked, regardless of what you passed it.
SwitchKit Programmer's Information
473
Example
Code sample demonstrating the use of sk_rcvAndDispatch().
#define MSG_SIZE=1024
main(int argc, char *argv[])
{
char buf[MSG_SIZE];
int sz, ret;
void *dta;
char * AppName;
SKC_Message * msg;
...
/*Initialize connection to LLC with name*/
sk_initializeConnection(TANDEM_APP);
...
while (1) {
sz = MSG_SIZE;
/*Initialize maximum size of message to receive*/
if (debug > 5)
printf("\nWaiting for an Inseize at %s for 600 secs...\n", argv[1]);
/* Wait up to 600 seconds for a message. If a message is received that has handler function(s), rcvAndDispatch will automatically call the handler function(s) and return the result of the last handler function called. If there are no handler functions, then SK_NOT_HANDLED is returned, and we just print some info about the message.*/
ret = sk_rcvAndDispatch(buf, &sz, 600, &dta);
....
} /* (ret == SK_NOT_HANDLED) */
...
} /* while (1) */
} /* main */
MSP
474
sk_rcvAndDispatchAutoStorage()
Description
The sk_rcvAndDispatchAutoStorage() is identical to sk_rcvAndDispatch(), except that instead of passing in a pre-allocated buffer, this function automatically allocates enough memory to receive whatever message comes from the switch. This message is also available as sk_rcvAndDispatchAutoStorageOnConnection() and skts_rcvAndDispatchAutoStorage().
Syntax
int sk_rcvAndDispatchAutoStorage(char **aBufferPtr, int *aBufSize, double aTimeout, void **notCurrentlyUsed);
int sk_rcvAndDispatchAutoStorageOnConnection(char **aBufferPtr, int *aBufSize, double aTimeout, void **notCurrentlyUsed, int *aConIDPtr);
Parameters
The function parameters are shown in the table below.
Argument Description
aBufferPtr Pointer to a packed message pointing to memory allocated and owned by SwitchKit API. Application wishing to retain this information beyond the next call to a SwitchKit API function should copy the data to memory allocated and controlled by the application as the memory may be reused the next time a SwitchKit API function is called.
aBufSize Size of the packed message.
aTimeout The maximum time the function should wait for a message before returning. The timeout value is a floating point number allow the application to specify a fractional portion to the timeout. For example, a timeout value of 1.5 seconds would be interpreted as a one and one-half second timeout. If no message arrives which is destined for the application in the specified time, the function should return SK_NO_MESSAGE.
NotCurrentlyUsed The field is no longer used by the SwitchKit API and still exists for backward compatibility. This value should be set to NULL(0).
aConIDPtr This is used to identify from which LLC connection the message was received.
The storage of this buffer is managed automatically by SwitchKit.
Return Values
SwitchKit Programmer's Information
475
Possible return values for this function:
SK_INVALID_LINK A message was directed to an MSP 1010 that LLC was no longer connected to. This could happen when a connection to an MSP 1010 is unexpectedly severed.
SK_FRAMING_FAILURE Message being sent to an MSP 1010 has a mismatched length between the actual length and the calculated length Reformat the message and send again.
SK_SOCKET_WRITE_ERROR
LLC encountered an issue writing a message to a socket. This could be the result of a full socket (the distant end not reading from the socket appropriately) or a severed connection.
SK_NODE_NOT_FOUND A message was directed to an MSP 1010 that LLC is not connected to. This could happen when an application specifies an MSP 1010 ID that has not been added to this configuration.
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_NO_MESSAGE No message was received. The time-out expired before a message was received or the LLC received a poll message from the MSP 1010.
SK_BAD_MESSAGE An improperly formatted message was received
SK_NOT_HANDLED Message was not handled by handler function, and no results are available.
MSP
476
sk_rcvMessage()
Description
The sk_rcvMessage() function tries to receive a message from the switch. The buffer argument must be at least 256 bytes long. The buf argument gets filled in with the message, and the size argument is set to its size. The timeout argument specifies how long to wait for a message, in seconds. A value less than 0 means to wait indefinitely. A value of 0 specifies a polling behavior, returning immediately whether or not there is a message. A value greater than 0 will wait for a maximum of that many seconds, or until a message arrives. The actual accuracy of the timeout timer varies across machines.
Setting your timeout argument to a value of zero (0) or smaller might cause a significant increase in CPU usage.
The sk_rcvMessage() function also looks for any tag data. If the received message is an acknowledgment to a previously sent message, then *dta is set to whatever tag was sent with the original message. If no tag was sent, or if the message was a switch-originated message instead of an acknowledgment, then *dta is assigned 0.
This message is also available as sk_rcvMessageOnConnection().
Syntax
int sk_rcvMessage(char *aBuffer, int *aBufSize, double aTimeout, void **aDataPtr);
int sk_rcvMessageOnConnection(char *aBuffer, int *aBufSize, double aTimeout, void **aDataPtr, int *aConID);
Parameters
The function parameters are shown in the next table.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aTimeout The maximum time the function should wait for a message before returning. The timeout value is a floating point number allow the application to specify a fractional portion to the timeout. For example, a timeout value of 1.5 seconds would be interpreted as a one and one-half second timeout. If no message arrives which is destined for the application in the specified time, the function should return SK_NO_MESSAGE.
aDataPtr This argument is not currently used.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
SwitchKit Programmer's Information
477
Possible return values for this function:
SK_INVALID_LINK A message was directed to an MSP 1010 that LLC was no longer connected to. This could happen when a connection to a node is unexpectedly severed.
SK_FRAMING_FAILURE Message being sent to an MSP 1010 has a mismatched length between the actual length and the calculated length Reformat the message and send again.
SK_SOCKET_WRITE_ERROR LLC encountered an issue writing a message to a socket. This could be the result of a full socket (the distant end not reading from the socket appropriately) or a severed connection.
SK_NODE_NOT_FOUND A message was directed to an MSP 1010 that LLC is not connected to. This could happen when an application specifies a MSP 1010 node ID that has not been added to this configuration.
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_NO_MESSAGE No message was received. The time-out expired before a message was received or the LLC received a poll message from the switch.
SK_BAD_MESSAGE An improperly formatted message was received
MSP
478
sk_sendMessage()
Description
The sk_sendMessage() function takes the results of sk_packMessage() and sends a character buffer with a size to the switch. If no appropriate message structure is available to pass to sk_packMessage(), the character buffer can be filled in manually. This message is also available as sk_sendMessageOnConnection() and skts_sendMessage().
Syntax
int sk_sendMessage(char *aBuffer, aBufSize);
int sk_sendMessageOnConnection(char *aBuffer, aBufSize,
int aConID);
Parameters
The function parameters are shown in the table below
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_UNKNOWN_MSG_BUF Buffer and Size pointers do not point to a valid message.
SK_NO_CONNECT_AVAIL The specified connection from OnConnection() is not available or valid.
SwitchKit Programmer's Information
479
sk_sendMessageWithHandler()
Description
The sk_sendMessageWithHander() function takes the results of sk_packMessage() and sends a character buffer indicating the size to the switch. If no appropriate message structure is available to pass to sk_packMessage(), the character buffer can be filled in manually.
This function takes a void pointer called tag as an argument. It can be an arbitrary value and is not used or change by SwitchKit. Upon receipt of an acknowledgment, the value is passed to the HandlerFunc to provide some context associated with the sent message.
The sk_sendMessageWithHandler() function also takes a pointer to HandlerFunc as an argument. The function HandlerFunc points to is called to handle the receipt of any acknowledgment, when or if it arrives.
This message is also available as sk_sendMessageWithHandlerOnConnection().
Syntax
int sk_sendMessageWithHandler(char *aBuffer, aBufSize,
void *aTag, HandlerFunc *);
int sk_sendMessageWithHandlerOnConnection(char *aBuffer,
int sz, void *aTag, HandlerFunc *aHandlerFunc, int aConID);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost
MSP
480
contact with the LLC.
SK_UNKNOWN_MSG_BUF Buffer and Size pointers do not point to a valid message.
SK_NO_CONNECT_AVAIL The specified connection from OnConnection() is not available or valid.
SwitchKit Programmer's Information
481
sk_sendMessageWithTag()
Description
The sk_sendMessageWithTag() function takes the results of sk_packMessage() and sends a character buffer with a size to the switch. If no appropriate message structure is available to pass to sk_packMessage(), the character buffer can be filled in manually with the bytes that need to be sent.
This function takes a void pointer called tag as an argument. It can be an arbitrary value and is not used or change by SwitchKit. Upon receipt of an acknowledgment, the value is passed to the HandlerFunc to provide some context associated with the sent message.
This message is also available as sk_sendMessageWithTagOnConnection().
Syntax
int sk_sendMessageWithTag(char *aBuffer, aBufSize,
void *aTag);
int sk_sendMessageWithTagOnConnection(char *aBuffer, aBufSize, void *aTag, int aConID);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_UNKNOWN_MSG_BUF Buffer and Size pointers do not point to a valid message.
SK_NO_CONNECT_AVAIL The specified connection from OnConnection() is not available or valid.
MSP
482
sk_sendMsgStruct()
Description
The sk_sendMsgStruct() function is a convenience function that first packs a message, and then calls sk_sendMessageWithHandler(). This message is also available as sk_sendMsgStructOnConnection() and skts_sendMsgStruct().
Syntax
int sk_sendMsgStruct(MsgStruct *aMsgStruct, void *aTag, HandlerFunc *aHandlerFunc);
int sk_sendMsgStructOnConnection(MsgStruct *aMsgStruct, void *aTag, HandlerFunc *aHandlerFunc, int aConID);
int skts_sendMsgStructOnConnection(MsgStruct *aMsgStruct, void *aTag, HandlerFunc *aHandlerFunc, int aConID);
Parameters
The function parameters are shown in the table below.
Argument Description
*aMsgStruct Pointer to a generic C Structure representing a message.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_UNKNOWN_MSG_TYPE The tag field of this MsgStruct is invalid. Did you call sk_initMsg()?
SK_UNKNOWN_MSG_BUF Buffer and Size pointers do not point to a valid message.
SK_NO_CONNECT_AVAIL The specified connection from OnConnection() is not available or valid.
SwitchKit Programmer's Information
483
sk_unpackAutoStorage()
Description
The sk_unpackAutoStorage() function takes the character buffer and size returned by sk_rcvMessage() and unpacks it into a MsgStruct. This function is equivalent to sk_unpackMessage(), except that instead of requiring you to pass in a pre-allocated buffer, it automatically allocates an appropriate buffer with sufficient storage for the given message.
Syntax
int sk_unpackAutoStorage(char *aBuffer, int aBufSize,
MsgStruct *aMsgStructPtr);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
*aMsgStructPtr
Pointer to a generic C Structure representing a message pointing to memory allocated and owned by SwitchKit API.
The storage of this buffer is managed automatically by SwitchKit.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK__MSG_TOO_BIG The amount of memory needid to be allocated is greater than 65536 bytes.
SK_INTERNAL_ERROR Message could not be unpacked.
MSP
484
sk_unpackMessage()
Description
The sk_unpackMessage() function takes the character buffer and size returned by sk_rcvMessage() and unpacks it into a message structure.
Syntax
int sk_unpackMessage(char *aBuffer, int aBufSize, MsgStruct *aMsgStruct);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aBufSize Size of the packed message.
aMsgStruct ointer to a generic C Structure representing a message.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SK_INTERNAL_ERROR The message could not be unpacked.
SwitchKit Programmer's Information
485
Redundancy
This section describes the redundancy functions and redundant application functions, available in SwitchKit. This section also describes the SK API messages for application redundancy and LLC redundancy. The section provides prototype information, possible error return values, and a description of what the function does.
Most functions return an integer value. Upon successful completion, that return value is OK (0). Non-zero return values indicate some error conditions. Each function lists the associated error conditions.
Some functions return pointers; those functions do not have a status value indicating success or failure.
MSP
486
sk_activateExnetMatrix()
Description
The sk_activateExnetMatrix() function activates the standby EX/CPU. This message is also available as sk_activateExnetMatrixOnConnection() and skts_activateExnetMatrix().
Syntax
int sk_activateExnetMatrix(int isLeftFlag, int aNodeID);
int sk_activateExnetMatrixOnConnection(int isLeftFlag, int aNodeID, int aConID);
Threadsafe Syntax
int skts_activateExnetMatrix(int isLeftFlag, int aNodeID, int aConID);
Parameters
The function parameters are shown in the table below.
Argument Description
isLeftFlag isLeftFlag!= 0 indicates that the left EX/CPU is activated.
isLeftFlag = 0 indicates that the right EX/CPU is activated.
If the EX/CPU to be activated is already active, then no action will occur.
aNodeID Specifies the node the function is sent to.This argument must be set.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
487
sk_registerAsRedundantApp() / sk_deregisterAsRedundantApp()
Description
Use the function sk_registerAsRedundantApp() when an application wants to register as a member of a RAP. The function then uses the SK_RegisterAsRedundantApp message to process the request. An application can also use this function for parameter changes of a previous registration.
Registering by calling the function instead of directly sending the API message guarantees that the message is resent if the application should lose its connection with the LLC.
This message is also available as sk_registerAsRedundantAppOnConnection() and skts_registerAsRedundantApp().
To de-register, the application must issue sk_deregisterAsRedundantApp(). This function also uses the SK_RegisterAsRedundantApp message for the de-registration, but the RedundantAppPriority argument is hard coded to -1 in order to remove the application from the RAP. This message is also available as sk_deregisterAsRedundantAppOnConnection() and skts_deregisterAsRedundantApp().
The application must be able to handle the acknowledgments for a registration and de-registration.
Syntax
int sk_registerAsRedundantApp(int anAppID, const char *aRedundantAppPoolID, int aRedundantAppPriority, int aDataSize, const UBYTE *aDataBuf, void *aTag, HandlerFunc *aHandlerFunc);
int sk_deregisterAsRedundantApp(int anAppID, const char *aRedundantAppPoolID, void *aTag, HandlerFunc *aHandlerFunc);
int sk_registerAsRedundantAppOnConnection(int anAppID, const char *aRedundantAppPoolID, int aRedundantAppPriority, int aDataSize, const UBYTE *aDataBuf, void *aTag, HandlerFunc *aHandlerFunc, int conID);
int sk_deregisterAsRedundantAppOnConnection(int anAppID, const char *aRedundantAppPoolID,void *aTag, HandlerFunc *aHandlerFunc, int conID);
Threadsafe Syntax
int skts_registerAsRedundantApp( int anAppID, const char *aRedundantAppPoolID, int aRedundantAppPriority, int aDataSize, const UBYTE *aDataBuf, void *aTag, HandlerFunc *aHandlerFunc, int aConID );
int skts_deregisterAsRedundantApp( int anAppID, const char *aRedundantAppPoolID, void *aTag, HandlerFunc *aHandlerFunc, int aConID );
Parameters
The function parameters are shown in the table below.
Parameter Description
MSP
488
anAppID The application identifier assigned by the LLC to the application. The name can be obtained by calling sk_getConnectionName().
aRedundantAppPoolID A string that uniquely identifies the class of application wishing to be treated as redundant applications.
Note: The ID is case sensitive.
aRedundantAppPriority RedundantAppPriority is a value indicating the current priority of the application. The higher the value, the more likely it is that the LLC will select the application as primary. Special values are:
SK_RED_APP_PRI_MONITOR (0)
Used by an application wishing to monitor the activity of this RedundantAppClass. An application selecting this priority cannot be considered either primary or secondary.
SK_RED_APP_PRI_REMOVED (-1)
Used when an application needs to be removed from an RedundantAppClass for which it has previously registered.
aDataSize DataSize
aDataBuf aData can be used by the application to store information useful to this application. The value specified in the request is returned when the RAP is queried via the SK_RedundantAppQuery message.
aTag An application defined pointer which will be returned to the application when a handler is invoked.
aHandlerFunc A pointer to a function that is designed to handle messages.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with
SwitchKit Programmer's Information
489
LLC and Application Redundancy
Description
Applications developed using SwitchKit must often be deployed in a redundant fashion, to allow for application and host computer failures. You can accomplish application redundancy by starting multiple, identical copies of an application, preferably on separate host computers. Each of these applications must be capable of independently carrying out the other applications functions.
The LLC supports redundant applications by allowing distinct processes to register as redundant applications. This construct is named the Redundant Application Pool (RAP). The LLC assists redundant applications by designating one process to be the primary application for a particular RAP.
The LLC monitors all applications that are members of a RAP, so that one and only one of these applications is the primary application. If the primary application should fail, the LLC designates another of these applications to be the primary application.
Rules of RAP
The following table shows the general rules of SwitchKit Application Redundancy.
Rule Definition
1 The first member of a RAP is primary. All subsequent members are secondary.
2 If the primary application fails or terminates, the application loses its primary status.
3 A member of a RAP becomes primary based upon the priority settings specified at registration time.
Tasks of the LLC
The following list explains the tasks of the LLC regarding redundant application settings. The LLC
maintains RAPs.
maintains at most one primary app within each RAP.
adds applications to a RAP as specified in the sk_registerAsRedundantApp() call from the application.
determines which application is primary in the RAP.
notifies the application of its redundancy status upon entering the RAP.
notifies all members of a RAP about any status change of member applications.
removes an application from all RAPs if disconnected or not responding.
allows an application to force itself to be primary in a RAP.
allows an application to remove itself from a RAP.
MSP
490
Tasks of the Redundant Application
The following list explains the responsibility of applications that are members of a RAP.
Upon indication that an application is the primary application, it must take control of all resources belonging to the application.
Upon indication that an application is a secondary application, it must relinquish control of all resources belonging to the application.
The primary and secondary applications are responsible for sharing information among themselves, so that the state of the application is maintained and known across all members of the RAP. This means that if the primary application of a RAP receives resources (such as a channel or active call) it should notify all secondary applications. This is necessary because if something should happen to the primary application, the secondary application that takes over must have sufficient information to continue processing all active calls, without any loss of service or resources.
RAPs and Redundant LLCs
In a system setup with redundant LLCs, the redundant RAP information is not shared between the active and standby LLCs. All registration messages and calls are saved within the SwitchKit API in the application's process space. When the connection to the active LLC is lost, the SwitchKit API attempts to connect to the redundant LLC. Upon successful connection, the SwitchKit API resends any previously sent redundant application registration messages. This approach keeps the time where no primary application is selected to a minimum.
When an LLC switchover occurs, it is possible that the primary application can become secondary, based on the order of the applications re-registration as initiated by the SwitchKit API. If this occurs, the previously secondary application will also be told that it is now primary.
If the application wishes to correct this situation, the new primary application must send a ReselectPrimaryApp message to the LLC indicating that it wishes to be made secondary. The LLC then selects another primary application from the registered applications (if another application exists).
Response Values
The following table shows the Status field values for the redundant application support:
If the return value is then...
SK_RED_APP_POOL_DOESNT_EXIST (0Xf00c)
the queried RAP does not exist.
SK_RED_APP_MEM_ERROR (0xf00d) an error occurred under the members of a RAP.
SK_RED_APP_NOT_A_MEMBER (0xf00e)
the application is not a registered member of the RAP.
SK_RED_APP_NOT_CONNECTED the registered application lost its
MSP
492
API Messages used for Redundancy
API Messages
The API messages listed below are used for redundancy. These API messages are found in the API Reference.
Redundant App Pool Members Query
RedundantAppQuery
RedundantAppQuery
RedundantAppStatusMsg
Redundant LLC Register
RegisterAsRedundantApp
Reselect Primary App
SwitchKit Programmer's Information
493
Utility Functions
sk_extractExtendedICBFromChannelReleasedWithData()
The sk_extractExtendedICBFromChannelReleasedWithData() function is used to extract ICBSubType, ICBLength & ICBData from an SK_ChannelReleasedWithData message independent of the ICBType (Data Type or Extended Data Type). This function compensates for the fact that the ICBSubType and ICBLength fields may be two bytes each for messages with the Extended Data Type ICB or one byte each for all other ICB’s. All developers extracting information from an SK_ChannelReleaseWithData message should use this function rather than using the fields defined in the C Structure. Using this function prevents any future incompatibilities with other types of ICB data stored in this message. This function is also available as skts_extractExtendedICBFromChannelReleasedWithData().
Syntax
sk_extractExtendedICBFromChannelReleasedWithData(int* xtICBSubtype,int* xtICBLength,UBYTE** xtICBData, XL_ChannelReleasedWithData* crwdMsg)
Threadsafe Syntax
int skts_extractExtendedICBFromChannelReleasedWithData( int* xtICBSubtype, int* xtICBLength, UBYTE** xtICBData, XL_ChannelReleasedWithData* crwdMsg);
Parameters
The function parameters are shown in the table below.
Argument Description
xtICBSubtype ICBSubtype value will be returned in this output argument.
xtICBLength ICBLength will be returned in this output argument.
xtICBData A pointer to the ICBData will be returned in this output argument.
crwdMsg The ChannelReleasedWith Data message from which the above- mentioned output is to be extracted.
Return Value
The return value for this function is always:
TRUE(1)
MSP
494
sk_getManagedFile()
Description
This function allows you to access the internal file management capabilities. It returns a pointer to a FILE structure of an opened file that is ready for writing. You can write any data to this file.
The benefits of using managed files are:
the location of the file is determined by SK_LOG_DIR.
the file is rotated based on the same criteria as other SwitchKit logs, for example hourly, daily and so on.
This function is also available as skts_getManagedFile().
Syntax
FILE *sk_getManagedFile(const char *aFileName);
Threadsafe Syntax
FILE* skts_getManagedFile(const char *aFileName );
Parameters
The function parameters are shown in the table below.
Argument Description
aFileName Pointer to specified file.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
495
sk_getMessageText()
Description
This function converts any MsgStruct into a text string. This function is also available as skts_getMessageText().
Syntax
int sk_getMessageText(MsgStruct *aMsgStruct, char *aBuffer);
The char *aBuffer must be previously allocated and at least 5000 bytes long.
Threadsafe Syntax
int skts_getMessageText( MsgStruct *aMsgStruct, char *aBuffer );
Parameters
The function parameters are shown in the table below.
Argument Description
aMsgStruct Pointer to a generic C Structure representing a message.
aBuffer Pointer to a packed message.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
496
sk_getMsgName()
Description
Returns the name of the given message.This function is also available as skts_getMsgName().
Syntax
char* sk_getMsgName(MsgStruct *aMsgStruct);
Threadsafe syntax
char* skts_getMsgName(MsgStruct *aMsgStruct);
Parameters
The function parameters are shown in the table below.
Argument Description
aMsgStruct Pointer to a generic C Structure representing a message.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
497
sk_getMsgSizeFromTag()
Description
Returns the size, in bytes, of the C structure associated with a message of type tag. For example, sk_getMsgSizeFromTag(0xa8) would return the size of XL_AssignSpan structure. This function is also available as skts_getMsgSizeFromTag().
Syntax
int sk_getMsgSizeFromTag(int aMessageTag);
Threadsafe Syntax
int skts_getMsgSizeFromTag( int aMessageTag);
Parameters
The function parameters are shown in the table below.
Argument Description
aMessageTag Uniquely identifies the message. Valid message tags are defined in Messages.api.h and begin TAG_. Each message has a message tag. For example the the RequestForService message, the message tag is TAG_RequestForService.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
498
sk_getVersionMajor() / sk_getVersionMinor() / sk_getVersionBuild()/ sk_getVersionRelease()
Use the sk_getVersion...() function to retrieve SwitchKit version information.
Description
The SwitchKit API version information is divided into several fields that are retrievable using these functions. The SwitchKit API version follows the format: AA.BB.CC.DD.
AA represents the SwitchKit API major version number.
BB represents the SwitchKit API minor version number.
CC represents the SwitchKit API release number.
DD represents the SwitchKit API build number.
An example of a SwitchKit API version is 8.02.02.35.
Syntax
int sk_getVersionMajor();
int sk_getVersionMinor();
int sk_getVersionRelease();
int sk_getVersionBuild();
Threadsafe Syntax
int skts_getVersionMajor();
int skts_getVersionMinor();
int skts_getVersionRelease();
int skts_getVersionBuild();
SwitchKit Programmer's Information
499
sk_statusText()
Description
Returns a text string associated with status values. This status value can be either the status returned in an EXS message, or the status returned from a SwitchKit function call. This function is also available as skts_statusText().
Syntax
char *sk_statusText(int anError)
Threadsafe Syntax
char *skts_statusText(int anError)
Parameters
The function parameters are shown in the table below.
Argument Description
anError The status number to convert
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
500
sk_unparseAlarm()
Description
This function converts an XL_Alarm message into a text string, suitable for display. This function is also available as skts_unparseAlarm().
Syntax
int sk_unparseAlarm(char *aBuffer, XL_Alarm *anAlarmMsg);
Threadsafe Syntax
int skts_unparseAlarm( char *aBuffer, XL_Alarm *anAlarmMsg);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
anAlarmMsg The Alarm that is to be unparsed.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
501
sk_unparseAlarmCleared()
Description
This function converts an XL_AlarmCleared message into a text string, suitable for display. This function is also available as skts_unparseAlarm().
Syntax
int sk_unparseAlarmCleared(char *aBuffer, XL_AlarmCleared *anAlarmClearedMsg);
Threadsafe Syntax
int skts_unparseAlarmCleared( char *aBuffer, XL_AlarmCleared *anAlarmClearedMsg);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
anAlarmClearedMsg The AlarmCleared message that is to be unparsed.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
502
sk_unparsePPLEventIndication()
Description
This function converts an XL_PPLEventIndication message into a text string, suitable for display. This function is also available as skts_unparsePPLEventIndication().
Syntax
int sk_unparseEventIndication(char *aBuffer, XL_PPLEventIndication *aPPLEIMsg);
Threadsafe Syntax
int skts_unparsePPLEventIndication( char *aBuffer, XL_PPLEventIndication *aPPLEIMsg);
Parameters
The function parameters are shown in the table below.
Argument Description
aBuffer Pointer to a packed message.
aPPLEIMsg The PPLEventIndication message that is to be unparsed.
Return Values
Possible return values for this function are:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
503
Register Functions
Register Functions
This section describes the register functions available in SwitchKit. It provides prototype information, possible error return values, and a description of what the function does.
Most functions return an integer value. Upon successful completion, that return value is OK (0). Non-zero return values indicate some error conditions. Each function lists the associated error conditions.
Some functions return pointers; those functions do not have a status value indicating success or failure.
The register functions allow your application to monitor different areas of the communication in your system. The registration lets the LLC route messages, specified through the function call, to your application, so that your application can handle them.
MSP
504
sk_appGroupRegister()
Description
The sk_appGroupRegister() function allows a process register to receive messages directed to the specified application group. This application group is a text name. The application group name can be used in both InterAppMsg and TransferChanMsg. Whenever a message is sent to an application group, the LLC routes that message to the least loaded application (as specified through sk_broadcastLoad()) that has registered for that application group. This function can be used to allow client applications to refer to servers by a text name instead of by a number. Furthermore, there can be multiple servers set up to load share application requests.
For example, you could build a database server that receives SwitchKit messages, does database queries, and replies. Instead of defining a single application number of the database server, you can instead use the string “databaseServer” in all InterAppMsg database requests. Whenever you run a database server, it registers for that application group and is available to receive database requests. If it is feasible to run multiple database servers, the requests are load shared among the available servers.
This message is also available as sk_appGroupRegisterOnConnection() and skts_appGroupRegister().
Syntax
int sk_appGroupRegister(const char *virtualName);
int sk_appGroupRegisterOnConnection(const char *virtualName, int conID);
Threadsafe Syntax
int skts_appGroupRegister( const char * aVirtualName, int aConID);
Parameters
The function parameters are shown in the table below.
Arguments Description
aVirturalName A string identifier for an application group which can be targets for an InterAppMsg or TransChanMsg.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
505
Useful Related Functions
SK_Connection *sk_createConnectionWithID();
MSP
506
sk_msgRegister() / sk_msgUnRegister()
Description
The sk_msgRegister() function allows your application to receive switch or LLC initiated messages that are not associated with a channel. Registering for these messages does not affect the flow of messages to SwitchManager or to any other process. This message is also available as sk_msgRegisterOnConnection() and skts_msgRegister().
The sk_msgUnRegister() function cancels the sk_msgRegister() call. This message is also available as sk_msgUnRegisterOnConnection() and skts_msgUnRegister().
Syntax
int sk_msgRegister(int aMsgRegisterMask);
int sk_msgUnRegister(int aMsgRegisterMask);
int sk_msgRegisterOnConnection(int aMsgRegisterMask, int aConID);
int sk_msgUnRegisterOnConnection(int aMsgRegisterMask, int aConID);
Threadsafe Syntax
int skts_msgRegister( int aMsgRegisterMask, int aConID );
int skts_msgUnRegister( int aMsgRegisterMask, int aConID);
Parameters
The function parameters are shown in the table below.
Important! All of the bit mask values are defined in SK_API.h. All of the message structures are defined in Messages.api.h. The C++ Classes are defined in CMessages.api.h. All of the messages are documented in the API Reference.
Argument - Bit Mask Value defined in SK_API.h
Message Originator
SK_ALL_MSGS All messages Switch/LLC
SK_POLLS PollMessage Switch
SK_ALARMS Alarm, AlarmCleared Switch
SK_CSRS CardStatusReport Switch
SK_NSRS NodeStatusReport Switch
SK_RSRS RingStatusReport Switch
SK_DS0S DS0StatusChange Switch
SK_PPLEIS PPLEventIndication Switch
SK_CONFERENCE_DELETED ConferenceDeleted
ConferenceDeleteRequest
Switch
SwitchKit Programmer's Information
507
Host
SK_CONFIGMSGS(Internal Use Only)
All configuration messages
Client
SK_CONNECT_STATUS ConnectionStatusMsg LLC
SK_CHAN_PROBLEM ChannelProblem LLC
SK_CONFIG_STATUS ConfigStatusMsg SwitchManager
SK_CPE_ON_CONFERENCE CallProcessingEvent messages which contain a conference AIB.
Switch
SK_RESOURCE_UTIL_
REPORT
GenericReport (Resource utilization report)
LLC
SK_D_SERVER_REPORT DeviceServerStatus Report
Switch
SK_HOSTALARM HostAlarm LLC
SK_SERVER_STATUS_REPORT ServerStatusReport Switch
SK_SERVER_HOST_POLL ServerHostPoll Switch
SK_SERVER_STATUS_CHANGE ServerStatusChange LLC
SK_ARP_CACHE_REPORT ARPCacheReport Switch
SK_CCS_REP CCSRedundancy Report Switch
Argument Description
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
Possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
MSP
508
sk_pplComponentRegister() / sk_pplComponentUnRegister()
Description
Use the sk_pplComponentRegister() function to receive PPLEventIndication messages for a particular component. This message is also available as sk_pplComponentRegisterOnConnection() and skts_pplComponentRegister().
Use the sk_pplComponentUnRegister() function to unregister to receive PPLEventIndication messages for a particular component. This message is also available as sk_pplComponentUnRegisterOnConnection() and skts_pplComponentUnRegister().
Syntax
int sk_pplComponentRegister(int aComponentID);
int sk_pplComponentUnRegister(int aComponentID);
int sk_pplComponentRegisterOnConnection(int aComponentID, int aConID);
int sk_pplComponentUnRegisterOnConnection(int aComponentID, int aConID);
Threadsafe Syntax
int skts_pplComponentRegister( int aComponentID, int aConID );
int skts_pplComponentUnRegister( int aComponentID, int aConID );
Parameters
The function parameters are shown in the table below.
Arguments Description
aComponentID Specifies the PPL component number.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
Return Values
The possible return values for this function:
SK_LOST_LLC This return value indicates that your application lost contact with the LLC.
SwitchKit Programmer's Information
509
sk_pplTCAPRegister() / sk_pplTCAPUnRegister()
Description
Use the function sk_pplTCAPRegister() to enable an application to register for TCAP traffic by Sub-System Number (SSN) or Origination Point Code(OPC). This message is also available as sk_pplTCAPRegisterOnConnection() and skts_pplTCAPRegister().
Use sk_pplTCAPUnRegister() to unregister. This message is also available as sk_pplTCAPUnRegisterOnConnection() and skts_pplTCAPUnRegister().
Syntax
int sk_pplTCAPRegister(int aRegisterVal, UBYTE aRegisterType);
int sk_pplTCAPUnRegister(int aRegisterVal, UBYTE aRegisterType);
int sk_pplTCAPRegisterOnConnection(int aRegisterVal, UBYTE aRegisterType, int aConID);
int sk_pplTCAPUnRegisterOnConnection(int aRegisterVal, UBYTE aRegisterType, int aConID)
Threadsafe Syntax
int skts_pplTCAPRegister( int aRegisterVal, UBYTE aRegisterType, int aConID );
int skts_pplTCAPUnRegister( int aRegisterVal, UBYTE aRegisterType, int aConID );
Parameters
The function parameters are shown in the table below.
Arguments Description
aRegisterVal OPC or Sub-System Number
aRegisterType Registration type. Use the following constants to specify either OPC or SSN:
SK_TCAP_REG_OPC (0x00) - OPC Registration
SK_TCAP_REG_SSN (0x01) - SSN Registration
SK_TCAP_REG_STACK_SSN 0x02 - Registers a combination of stack and subsystem number.
aConID aConID is a connection identifier specified at connection creation time and used to indicate which LLC an application wishes to communicate with.
MSP
510
SwitchKit API
API Messages Used for Call Control Programming
This section outlines the messages used for developing call control applications.
Call Control
BusyOut
CallProcessingEvent
CPAResult
ChannelReleased
ChannelReleasedWithData
ChannelReleaseRequest
CollectDigitString
ConferenceCreate
ConferenceDeleted
ConferenceDeleteRequest
Connect
ConnectOneWayForced
ConnectOneWayToConference
ConnectToConference
ConnectTonePattern
ConnectWait
ConnectWithData
ConnectWithPad
CPCDetection
CrossConnectChannel
CrossConnectSpan
CrossDisconnectChannel
CrossDisconnectSpan
DisconnectTonePattern
DS0StatusChange
DSPCacheModify
DSPServiceCancel
DSPServiceRequest
GenerateCallProcessingEvent
InseizeControl
SwitchKit Programmer's Information
511
OutpulseDigits
OutseizeControl
ParkChannel
PlayFileModify
PlayFileStart
PlayFileStop
PPLEventIndication
PPLEventRequest
RecAnnConnect
RecAnnDelete
RecAnnDisconnect
RecAnnDownload
RecAnnDownloadInit
RecordFileModify
RecAnnFSConvert
RecAnnFSDefrag
RecAnnSingleDelete
RecordFileModify
RecordFileStart
RecordFileStop
ReleaseChannel
ReleaseWithData
Remove Channels From Group
Request For Service
ResourceConnect
Resource Create
ResourceDelete
Resource Modify
RFSWithData
Route Control
MSP
512
SwitchKit Application Programming Interface
The SwitchKit Application Programming Interface (API) provides a high-level interface between the application and the EXS API, to facilitate rapid switch-to-application integration. This straightforward C/C++ language API is based on industry standards, and provides automatic configuration and redundancy control, descriptive logs, and error messages. It extracts the EXS API suite into a C/C++ Library format. This feature enables you to support EXS messaging as well as administrative messages (between the application and the Low-Level Communicator (LLC) with all the benefits of a high-level language API.
The power of SwitchKit allows you to concentrate your efforts on building your telephony applications, without dealing with complex configuration requirements or administrative tasks. It enhances applications by providing increased reliability and seamless integration of multiple applications and multiple hosts. The flexibility of SwitchKit allows you to have control over low-level administrative tasks. In short, SwitchKit lets you address the call processing aspects of your solutions as you see fit, giving you the power to implement new services easily, quickly, and profitably.
Reduced Development Time
SwitchKit significantly reduces development time. You do not have to be concerned with management APIs and can focus on only the messages that relate to call control.
SwitchKit not only eliminates the need to develop switch management services, but it is simple to modify and it also provides a robust, feature-rich management system with real-time monitoring and system set-up. Providing switch management separate from the switching platform and applications allows the system to remain modular. Therefore, upgrades, modifications, and customizations to any single module can be implemented without affecting the other modules, or requiring subsequent changes.
Openness and Programmability
SwitchKit API adds considerable openness and programmability to the MSP 1010. It provides access to the EXS API through C structures or C++ classes. Programming through the SwitchKit API allows the you to focus on functional parts of the code without concern for system-level details such as checksums and message length. This translation reduces the overall amount of code necessary to program an application and simplifies commands from an internal hex format into English-like statements.
Asynchronous Call Model
SwitchKit’s asynchronous call-processing model uses common state machine call flows to allow you to easily modify call programming. SwitchKit’s call processing model uses stacks of event handlers, which allow events associated with the call to “trickle down” the stack until finding an applicable command. This stacking allows the code to remain modular, enabling new handlers to be added for new features and enhancements, and/or to handle unique protocols in different countries or systems.
Inter-Application Messaging
SwitchKit Programmer's Information
513
Another feature of SwitchKit API that significantly reduces programming time is Inter-Application Messaging (IAM). IAM allows applications, and components within them, to communicate using SwitchKit API messages. Without SwitchKit, you would need to write your own interfaces for communications between your applications, and from applications to other components such as a billing system. However, SwitchKit allows you to use the same messaging interface for all communication, which reduces complexity, development time, and training.
Because SwitchKit supports a wide variety of operating systems, IAM facilitates communication between applications running on different computers and operating systems. SwitchKit also provides programmability for intelligent channel allocations, which allow applications to select appropriate outgoing ports. Typically, an application must manage channel idle/busy states and implement intelligence to route them. SwitchKit manages this process across all applications, allowing you to choose from a number of selection schemes, including the following:
Round Robin
Least Recently Used
Most Recently Used
Ascending/Descending
Intelligent Channel Allocation
Channels are allocated to applications upon demand, based on the most available resource in the requested group or set of groups. Intelligent channel allocations can be used between and across applications, because they may be sharing the same trunks. SwitchKit also load shares messaging and channel allotments across applications, based on a programmable load factor that is under application control. Conversely, you can program the system not to load share if another scheme is more appropriate.
Internal Messages
Some functions shown in the API function header files are for internal use only. Among those functions are:
sk_openFile()
sk_getSwitchmgrId()
sk_downloadFile()
sk_newConfig()
MSP
514
Using SwitchKit API
SwitchKit application developers require the SwitchKit API to allow their application to connect to the LLC. Sample applications are provided for guidance and review. Additionally, UNIX makefiles and Microsoft Visual Studio project workspaces are provided. These examples provide information on necessary libraries that are required for all SwitchKit applications.
For the UNIX operating environments, SwitchKit API is available in two sets of libraries: standard SK API and threadsafe SK API. Both APIs offer the same basic functionality to the application developer, with one major difference. The standard SK API allows single- threaded applications to be developed to connect to the LLC. The threadsafe SK API allows multi-threaded applications to be developed to connect to LLC. For maximum flexibility in application functionality today and in the future, it is recommended that all new development occur on the threadsafe SK API.
All SK API libraries are found in the SK_LIB_DIR\lib directory.
HP-UX
If you are using the HP-UX operating system, you have the option of using the threadsafe library or not. SwitchKit API is available to support both. If you want to use the standard libraries, use libskapAAi.sl and libskcapiAA.sl for your development. If you want to use the threadsafe libraries, use libskapiAA_ts.sl, libskcapiAA.sl, and libAce.so.5.3.3 for your development.
Solaris
If you are using Solaris operating systems, you have the option of using the Forte compiler available through Sun Microsystems, or GNU gcc version 3.1, as well as the option of using the threadsafe version of the SK API. SwitchKit API is available to support these situations. If you wish to use the Forte compiler and the standard SK API, use libskapi.a and libskcapi.a for your development. If you wish to use the Forte compiler and the threadsafe SK API, use libskapi_ts.a, libskcapi.a, and libAce.so.5.3.3 for your development. If you wish to use the GNU compiler, use libskapiGCC.a and libskcapiGCC.a for your development.
Linux
If you are using Red Hat Linux operating systems, you have the option of using the threadsafe library or not. SwitchKit API is available to support both. If you want to use the standard libraries, use libskap.a and libskcapi.a for your development. If you want to use the threadsafe libraries, use libskapi_ts.so, libskcapi.so, and libAce.so.5.3.3 for your development.
Microsoft Windows
All Microsoft Windows-based developers should follow the example in Sample.dsw for included libraries and classes.
SwitchKit Programmer's Information
515
Threadsafe SwitchKit API
Dos and Don’ts of the ThreadSafe SwitchKit Library
Behavior of the API
As part of implementing a threadsafe API on top of the existing API, there was a layer of code that was developed to restrict access to the thread unsafe portions of the code. As a result, there are certain behaviors or peculiarities that the application developer should be aware of. Some of the issues are described below.
Sending Messages
Messages that are sent as a result of calling skts_sendMessage(), SKC_Message::tsSend() or any functions which result in messages being sent are actually queued for sending. They are sent by the thread which call skts_rcvAndDispatch()/skts_rcvAndDispatchAutoStorage() (from here on, I will only mention skts_rcvAndDispatch() by name as the functions are nearly identical). The actual send happens quickly. If the thread calling skts_rcvAndDispatch() is blocked on a socket waiting for a message from LLC, the blocking thread will wake up to send any queued up messages and then continue waiting for messages).
SwitchKit Handlers
All SwitchKit handlers defined by the application are called within the context of the thread that called skts_rcvAndDispatch(). This thread should normally be blocked waiting for a message from the LLC. When a message arrives, the SwitchKit API code running in that thread will receive the message and determine which handler should receive the message. The SwitchKit API code will call the handler passing in the message just received. Applications wishing to have messages processed by other "worker" threads must arrange to get the message to the worker threads by any means at the application developer’s disposal. The exact mechanism used to get the message to the worker thread is outside the scope of SwitchKit API.
No Mixing of Threadsafe and Non-threadsafe Functions
Applications cannot mix threadsafe and standard SwitchKit functions in a single application. The thread calling skts_rcvAndDispatch() spends some portion of it’s execution path in the non-threadsafe portion of the code. If another thread attempts to access the non-threadsafe portion of the code at the same time, SwitchKit internal data will be corrupted causing your application to behave incorrectly. Therefore, multi-threaded applications must use functions beginning with "skts" or the SKC_Message::tsSend() method and no two threads may call skts_rcvAndDispatch() simultaneously.
Preferred Application Model
Multi-threaded applications developed by Excel customers should use the Threadsafe SwitchKit API as has been described in this section. The Threadsafe SwitchKit API was designed with an application model consisting of two main components:
MSP
516
The main thread
One or more worker threads.
The Main Thread
The main thread or initial thread of the process is where the application starts execution. Here, all process level initialization takes place. SwitchKit initialization should also take place within the main thread.
Steps of a Main Thread Process
The main thread should minimally include:
Step Description
1 Initialize the Threadsafe SwitchKit API by calling skts_enableThreadSafeAPI().
2 Establish connections to all LLCs.
Typical applications connect to only one pair of redundant LLCs, however, in a large distributed environment, the application may be required to connection multiple LLCs. There should be one skts_createConnection() call for each LLC redundant pair in the system and each pair should be assigned a unique connection ID.
3 Setting the main handlers for the application.
This includes the LLC connection handler (skts_setLLCConnectionHandler()), at least one default handler (skts_setDefaultHandler() or skts_pushDefaultHander()) and optionally a group handler (skts_setGroupHandler()) if performing call processing using LLC channel groups.
4 Register for SwitchKit messages.
These messages are switch initiated messages which can present the current state of the switch or the current state of resources and devices on the switch. This registration is performed using skts_msgRegister(), skts_pplComponentRegister(), skts_pplTCAPRegister() or several other function.
5 Optionally, register for inbound calls being presented to LLC channel groups.
This is done using the skts_watchChannelGroup()
6 Spawn worker threads.
More details on worker threads will be provided in the next part of this discussion.
7 Call skts_rcvAndDispatch() or skts_rcvAndDispatchAutoStorage() in a loop.
It is important that one of these two functions be called continuously and often in order to guarantee timely delivery of messages between the application and the LLC in both directions. Failure to call this function often may adversely impact the performance of the application resulting
SwitchKit Programmer's Information
517
in symptoms including, but not limited to, processing lower than expected call volumes and infrequent to frequent loss of connection to LLC.
All messages sent by the LLC to the application will initially be presented to a handler or will be returned from skts_rcvAndDispatch() or skts_rcvAndDispatchAutoStorage() within the context of the thread calling the aforementioned function (in this case, the main thread). In order for the worker threads to process the message, the message itself or relevant information contained within the message, should be presented to the worker threads so that the bulk of the processing may occur within the context of the worker thread. Failure to do so will result in an application that is more complicated than a single threaded application, and less efficient since it will be unable to leverage the multi-processor platforms commonly used in application deployments.
Worker Threads
Worker threads contain the bulk of the business logic. They must receive work in the form of a message or information extracted from messages, process the work, and possibly send the next message to the MSP 1010 that is required to continue processing the transaction. These threads can be designed to perform tasks which are time-consuming and that will otherwise impact the throughput of your application. This may include performing database lookups as part of validating a caller’s right to use the services provided by your application or the level and types of services offered to a caller, ASN.1 encoding and decoding of TCAP message, or any other function which cannot be performed in a very short period of time.
Initialization Sequence for Worker Threads
The next table shows the general structure of a worker thread:
Step Description
1 Receive work from the main thread. This work can come in the form of a copy of the message received from the main thread or the relevant data from the message received.
2 Process the work.
3 Send any follow-up messages to the switch using skts_sendMessage() or SKC_Message::tsSend() or any other API that results in a message being sent.
MSP
518
Other Changes Developers Must Make When Using Threadsafe SK API
Message Registration
In the standard SwitchKit library, several functions that resulted in messages being sent to the LLC had to be issued only once during the life of the application. If the LLC were to be disconnected from the application or the LLC were restarted, the SwitchKit API took care of resending the messages to the LLC. The following functions are automatically resent (effectively, the SwitchKit API calls the function internally for the application) whenever a connection to an LLC is re-established:
sk_appGroupRegister()
sk_watchChannelGroup()
sk_ignoreChannelGroup()
sk_clearChannelGroup()
sk_msgRegister()
sk_pplComponentRegister()
sk_pplTCAPRegister()
sk_monitorChannel()
sk_unmonitorChannel()
sk_broadcastLoad()
sk_registerAsRedundantApp()
sk_deregisterAsRedundantApp()
Automatic Resending of Messages Disabled
When using the optional Threadsafe SwitchKit library, the automatic resending of messages feature is disabled. Instead, an application should register an LLC connection handler using the skts_setLLCConnectionHandler(). This connection handler is called any time the connection to the LLC is lost or re-established. When the handler is called, there is an indication of why the handler is called (SK_LLC_CONN_CREATED or SK_LLC_CONN_DESTROYED). When the indication is SK_LLC_CONN_CREATED, all initialization functions should be called, with the exception of skts_enableThreadSafeLib(), skts_setLLCConnectionHandler(), skts_createConnection() and any of the functions which establish handlers. A modified version of threadsafe example program (Modified Threadsafe Sample Code) is presented below. You will notice the following changes:
Writing of a new handler function (llcConnectionHandler()) that is called whenever the connection state of an application to an LLC changes.
The relocation of calls to registration functions, skts_msgRegister() (previously identified as step 3) and skts_watchChannelGroup() ( previously identified as step 4) from the main() function to the LLC connection handler. This way, the functions will be called each time the application establishes a connection with the LLC.
In the main() function, code was added to define the LLC connection handler using the skts_setLLCConnectionHandler() function.
SwitchKit Programmer's Information
519
All other registrations for messages should take place in the LLC connection handler including registration for PPL component specific notification and registration for TCAP messages.
Modified Threadsafe Sample Code
The sample code follows. The changes are highlighted in bold.
// This is the LLC Connection handler which will be called any
// time the state of a connection to an LLC changes.
void llcConnectionHandler(int aConID, // conn ID of LLC
int aConState, // new connection state for LLC
void *aTag) { // tag specified when hdlr defined
if (aConState == SK_LLC_CONN_CREATED) {
// This handler will be called with this state
// any time a connection is established to an LLC.
// This includes the first time we establish a
// connection to the LLC, LLC switchover, recovery
// from temporary loss of connection, etc.
...
// (3) Register for unsolicited messages
status = skts_msgRegister(
SK_PPLEIS | SK_DS0S, // registration mask
aConID); // connection ID
if (status != OK) {
cout << "Error registering for messages from LLC"
<< endl;
// Continue to initialize. No point returning.
}
// (4) Register for new calls from a the specified
// channel group
status = skts_watchChannelGroupOnConnection(
"inboundChannelGroup", / / group name
aConID); // connection ID
}
if (status != OK) {
cout << "Error registering for messages from LLC"
<< endl;
// Continue to initialize. No point returning.
}
...
}
MSP
520
else if (aConState == SK_LLC_CONN_DESTROYED) {
// This handler will be called with this state
// any time a connection to an LLC is lost.
// This includes the temporary loss which occurs
// as part of LLC switchover in a redundant system
// Here you may want disable the sending of messages
// to the LLC the application just disconnected from.
// all attempts to send will fail until the connection
// is reestablished.
...
}
main(int argc, int argv) {
...
// (0) Initialize the threadsafe library.
// This function will initialize some global process level data and
// enable the detection of the mixing of Threadsafe with non Thread-
// safe functions. This function MUST be called first. Failure to call
// this function first or at all will result in unexpected behavior.
skts_enableThreadSafeAPI();
// (0.5) Set up the LLC connection handler
(void)sk_setLLCConnectionHandler(
NULL, // a user-defined value passed to hdlr func.
llcConnectionHandler); // LLC connection hdlr func.
// (1) Establish connections to LLC’s
int status = skts_createConnection(
1, // connection ID
-1, // application ID (allow LLC to select one)
0, // isForcedFlag (set to 0)
"host1", // primary LLC host name
1312, // primary LLC port number (1312 is default)
"host2", // redundant LLC hostname
1312); // redundant LLC port number (1312 is default)
if (status != 1)
{
cout << "Error has occurred creating connection to LLC" << endl;
return (-1);
}
...
// (2) Define Handler Functions – returns OK always
// (2a) Default Handler
SwitchKit Programmer's Information
521
(void)skts_setDefaultHandler(someTag, // tag for hdlr
someDefaultHandlerFunc); // handler func
// (2b) Group Handler to register for inbound calls
(void)skts_setGroupHandler("inboundChannelGroup", // group name
NULL, // tag
someGroupHandlerFunc); // handler func
...
...
// (5) SwitchKit receive loop
while(1) {
char *buffer; // where msg will be return if not handled
int size; // size of msg returned
void *data; // needed for function call. Not used by API.
int retConID; // conn ID of LLC the message was received from
status = skts_rcvAndDispatchAutoStorage(
&buffer, // contains packed msg if msg not handled
&size, // size of message returned
-1, // timeout - wait forever
&data, // Not currently used.
&retConID); // connection ID on which msg was rcvd
if (status != OK) {
// The code here is exactly the same as in
// Sample Code 1 and is excluded for brevity.
...
} // end if
} // end while
...
}
Linking a Multi-threaded Application
The ThreadSafe SwitchKit API library makes use of the Adaptive Communication Environment (ACE) library from the University of Washington, St. Louis (http://www.cs.wustl.edu/˜schmidt/ACE.html) to provide the event dispatching and synchronization constructs. Any application using the threadsafe library must link with the ACE library provided as part of the distribution. In addition, the location of the ACE shared library must be reflected in the LD_LIBRARY_PATH so that the operating system can find the ACE library when the application is invoked.
MSP
522
Sample Applications
This section presents a comparison of a sample threadsafe application and a sample of non-threadsafe application, both written in a SwitchKit API development environment.
Sample Non-Threadsafe Application
The following shows a simple application both using the standard SwitchKit library.
What the application does
1. Connects with an LLC
2. Sets up handlers: A default handler that will receive all messages should other handlers not be enabled to catch a message. A group handler for receiving all inbound call notifications via the RequestForService or RFSWithData messages
3. Registers for PPLEventIndication and DS0StatusChange messages
4. Loops forever waiting for a message from the LLC.
Sample Non-Threadsafe Code
main(int argc, int argv)
{
...
// (1) Establish connections to LLC’s
int status = skts_createConnection(
1, // connection ID
-1, // application ID (allow LLC to select one)
0, //isForced (set to 0)
"host1", // primary LLC host name
1312, // primary LLC port number (1312 is default)
"host2", // redundant LLC hostname
1312); // redundant LLC port number 1312
if (status == NULL)
{
cout << ìError has occurred creating connection to LLCî << endl;
return (-1);
}
...
// (2) Define Handler Functions – returns OK always
// (2a) Default Handler
(void)skts_setDefaultHandler(someTag, // tag for hdlr someDefaultHandlerFunc); // handler func
SwitchKit Programmer's Information
523
// (2b) Set Group Handler for inbound calls
(void)sk_setGroupHandler("inboundChannelGroup", // group name
NULL, // tag for hdlr someGroupHandlerFunc); // handler func
...
// (3) Register for unsolicited messages
status = sk_msgRegisterOnConnection(
SK_PPLEIS | SK_DS0S, // registration mask
1); //connection ID
if (status != OK) {
cout << "Error has occurred registering for message with LLC"
<< endl;
return (-1);
}
(4) Register for new calls from the specified channel group
status = sk_watchChannelGroupOnConnection(
"inboundChannelGroup", // group name
1); //connection ID
if status !=OK {
cout << Error requesting watch of channel group"
<< endl;
return (-1);
}
...
...
// (5) SwitchKit receives loop
while(1) {
char *buffer; //where msg will be returned if not handled
int size; // size of msg returned
void *data; //needed for function call. Not used by API
status = sk_rcvAndDispatchAutoStorage(
&buffer, // contains packed msg if msg not handled
&size, // size of message returned
-1, // timeout - wait forever
&data); // Not currently used.
if (status != OK) {
switch(status) {
case SK_NO_MESSAGE:
// This is a normal return and indicates that
// an internal message was returned.
MSP
524
break;
case SK_BAD_MESSAGE:
cout << " Bad Message rcvd from SwitchKit "
<< endl;
break;
case SK_LOST_LLC:
cout << " Lost Contact With LLC "
<< endl;
break
case SK_NOT_HANDLED:
{
// Message was not processed by any
// application defined handlers
SKC_Message *inboundMsg;
int retval = skc_unpackMessage(
buffer,
size,
&inboundMsg);
if (retval != OK)
{
cout << "Error unpacking message"
<< endl;
break;
}
cout << "Received message "
<< inboundMsg->getMsgName()
<< endl;
break;
}
} // end switch
} // end if
} // end while
...
}
Sample ThreadSafe Application
In order to convert the simple application presented above into a threadsafe application, you must make the following changes (the text in the right column show how to update the previous application’s code to make the application threadsafe.
SwitchKit Programmer's Information
525
What the non- threadsafe application does...
What to do to make the previous application threadsafe....
(0) Not applicable The skts_enableThreadSafeLib() function initializes some global process level data and enables detection of the mixing of threadsafe and non threadsafe functions. This function must be called first in a multi-threaded environment before any other SwitchKit calls. Failure to call this function first will result in unexpected behavior.
(1) Connects with an LLC
Convert sk_createConnectionWithID() to the threadsafe version of the function, skts_createConnection(). The arguments to both functions are the same. The only difference is the sk_createConnectionWithID() returns SK_Connection * while the threadsafe version returns a connection ID (aConID), if the connection is successful or previously created. If skts_createConnection() fails the following error is returned: SK_ERROR_CREATING_CONNECTION with a negative integer value.
Your application may currently use one of several other ways to establish a connection including sk_initializeConnection(), sk_initializeConnectionForced() and sk_createConnection(). Or, it may not even explicitly connect to the LLC (in which case, the environment variables are used to determine the location of primary and redundant LLC). These functions are not supported for threadsafe applications. The only way to connect to the LLC for threadsafe applications is using skts_createConnection().
The connection ID concept allows an application to connect to multiple redundant LLC pairs for scalability. Specifying a connection ID dictates which LLC the SK API will use as the target of a function or message. All threadsafe functions that result in messages being sent to an LLC require a connection ID as the last argument.
(2) Sets up handlers:
(a) A default handler that will receive all messages should other handlers not be enabled to catch a message
(b) A group handler for receiving all inbound call notifications via the RequestForService or RFSWithData
(a) Convert sk_setDefaultHandler() to the threadsafe version of the function, skts_setDefaultHandler(). The arguments to both functions are the same.
(b) Convert sk_setGroupHandler() to the threadsafe version of the function, skts_setGroupHandler().The arguments to both functions are the same.
MSP
526
messages
(3) Registers for PPLEventIndication and DS0StatusChange messages
Convert sk_msgRegisterOnConnection() to the threadsafe version of the function, skts_msgRegister(). The arguments to both functions are the same.
Your application may use a slightly different registration function sk_msgRegister(). As mentioned in (1) above, all threadsafe functions require the use of a connection ID to indicate which LLC to target. Note: If your application previously used sk_msgRegister(), use the same connection ID value specified in a previous skts_createConnection() function.
(4) Registers with the LLC for new calls arriving on channels within the specified group.
Convert sk_watchChannelGroupOnConnection() to the threadsafe version of the function, skts_watchChannelGroup(). The arguments are identical. Your application may use a slightly different watch channel group function, sk_watchChannelGroup().As mentioned in (1) above, all threadsafe functions require the use of a connection ID to indicate which LLC to target. Note: If your application previously used sk_watchChannelGroup(), use the same connection ID value specified in a previous skts_createConnection() function.
(5) Loops forever waiting for a message from the LLC.
Convert sk_rcvAndDispatchAutoStorage() to the threadsafe version of the function, skts_rcvAndDispatchAutoStorage(). The arguments are nearly identical with the exception of the last argument, a connection ID. For skts_rcvAndDispatchAutoStorage() and skts_rcvAndDispatch(), the connection ID argument is an output argument and is used to indicate which LLC connection generated the message should the message be returned in skts_rcvAndDispatch()/skts_rcvAndDispatchAutoStorage(). This would only happen if skts_rcvAndDispatch()/ skts_rcvAndDispatchAutoStorage() returns SK_NOT_HANDLED.
Sample Threadsafe Code
The modified code is shown below. Any changes that are necessary are noted in bold text.
main(int argc, int argv)
{
...
// (0) Initialize the threadsafe library.
// This function will initialize some global process level data and
// enable the detection of the mixing of Threadsafe with non Threadsafe // //functions. This function MUST be called first. Failure to call
// this function first or at all will result in unexpected behavior.
skts_enableThreadSafeLib();
// (1) Establish connections to LLC’s
SwitchKit Programmer's Information
527
int status = skts_createConnection(
1, // connection ID
example, // a const char * to label the connection
-1, // application ID (allow LLC to select one)
0, // isForcedFlag (set to 0)
"host1",// primary LLC host name
1312, // primary LLC port number (1312 is default)
"host2", // redundant LLC hostname
1312); // redundant LLC port number (1312)
if (status <0)
{
cout << "Error has occurred creating connection to LLC" << sk_statusText(status)<<"("<<status<<")"<<end1;
return (-1);
}
...
// (2) Define Handler Functions – returns OK always
// (2a) Default Handler
(void)skts_setDefaultHandler(someTag,// tag for hdlr
someDefaultHandlerFunc);
// (2b) Group Handler to register for inbound calls
(void)skts_setGroupHandler("inboundChannelGroup", // group name
NULL, // tag for hdlr
someGroupHandlerFunc); // handler func
...
// (3) Register for unsolicited messages
status = skts_msgRegister(
SK_PPLEIS | SK_DS0S, //registration mask
1); // connection ID
if (status != OK) {
cout << "Error has occurred registering for message with LLC"
<< endl;
return (-1);
}
...
// (4) Register for new calls from a specified group
status = skts_watchChannelGroup (
"inboundChannelGroup", // group name
1); // connection ID
if (status != OK) {
cout << "Error requesting watch of channel group"
MSP
528
<< endl;
return (-1);
(5) SwitchKit receive loop
while(1) {
char *buffer; // where msg will be return if not handled
int size; // size of msg returned
void *data; // needed for function call. Not used by API.
int retConID; // conn ID of LLC the message was received from
status = skts_rcvAndDispatchAutoStorage(
&buffer, // contains packed msg if msg not handled
&size, // size of message returned
-1, // timeout - wait forever
&data, // Not currently used.
&retConID); // connection ID on which msg was rcvd
if (status != OK) {
// The code here is exactly the same as in
// Sample Non-Threadsafe Code and is excluded for brevity
} // end if
} // end while
...
}
SwitchKit Programmer's Information
529
Threadsafe Introduction
The SwitchKit Threadsafe library is an optional replacement for the standard library provided with the SwitchKit development package. It contains the standard SK API for non multi-threaded applications as well as threadsafe versions of each C function and C++ method as necessary. These new functions and methods are the only functions and methods that should be used by the application developer wishing to use the SwitchKit threadsafe library.
Important! The SwitchKit Threadsafe library for Linux is a shared not a static library.
Notational Conventions
All new functions in the threadsafe library begin with the skts_ prefix instead of the customary sk_ of the standard SwitchKit library. There is one additional method in the SKC_Message class, tsSend(), that all message classes inherit from, which allows messages to be sent safely in a multi-threaded environment. Failure to use the appropriate functions once thread safety has been enabled will result in the following error being logged in the application’s maintenance log:
Where someFunctionName() is the actual function that was improperly called:
"Function call made to unsafe API(someFunctionName()) when Thread Safety enabled."
Applications should not mix threadsafe function calls with non-threadsafe SwitchKit function calls. Failure to heed this warning will cause unexpected and potentially hazardous results.
MSP
530
Programming Tips and Examples
Advanced Programming Technique in UNIX
Description
In UNIX, an application can split into two or more processes after opening a connection with the LLC. The processes, parent and child have a copy of the connection. All processes can write to the connection with no problem, but if they all try to read, a race condition occurs and only one process receives the message.
How to Solve the Race Condition
In case parent and child need to communicate with the LLC, the child should call sk_initializeConnection() or one of the sk_createConnection() functions after the split to get its own connection.
It is important to understand that in such a case, the processes have a completely different connection. An acknowledgment of a message sent by one process cannot be received by the other process. Use the message SK_InterAppMsg to pass on acknowledgments or other important messages.
Channels are also associated with connection names. Even after a split of processes, the channels stay with the parent. To delegate a channel assignment to a child, use the message SK_TransferChanMsg.
Example
The following example demonstrates the connection management calls in action. In this example, a UNIX process forks a child that connects to the LLC socket.
sk_broadcastLoad(1);// This makes the (parent) open its socket
child = fork(); // Spawn a child process
if (child==0)
{ // CHILD PROCESS CODE
SK_Connection *parentConnect;
SK_Connection *newConnect;
// save the parent's socket
parentConnect = sk_getCurrentConnection();
newConnect = sk_createConnection("Child",-1,0,NULL,
-1,NULL,-1);
// set the child's socket to the new one
sk_setCurrentConnection(newConnect);
// close the parent's socket in the child
sk_destroyConnection(parentConnect);
};
SwitchKit Programmer's Information
531
List of Related Connection Management Functions
Depending on your application, you have to issue a function call to one or more of the following functions after splitting a process:
SK_Connction *sk_createConnection();
SK_Connction *sk_createConnectionWithID();
sk_*OnConnection();
sk_initializeConnection();
sk_initializeForcedConnection();
List of Related API Messages
Depending on your application, you need to send one or more of the following API messages:
SK_InterAppMsg
SK_TransferChanMsg
MSP
532
Building a SwitchKit Application
All path names are relative to the directory entered during the SwitchKit installation process.
UNIX
The Makefile included in the samples/src directory assumes the use of GNU make 3.74 or higher. It automatically compiles and links CallSim and simpleTandem as well as all of the other sample applications in the samples directory. The Makefile automatically determines which of the recommended platforms and compilers is being used. Executing the make command automatically builds all samples.
UNIX Troubleshooting
Syntax errors in Makefile on any UNIX platform:
Compilation or link errors:
Building with Linux Red Hat 6.0 - 6.2
1) Install all compat-egcs*.rpm files from the distribution disk (/mnt/cdrom/RedHat/RPMS)
rpm -Uvh compat-egcs*.rpm
Important! You must have root access to complete this step!
2) cd to /samples/src and edit the Makefile. The following code appear near line 22:
ifeq ($(shell uname -s),Linux)
CCC = g++
CC = gcc
EXTRALIBS =-Ipthread
endif
Change the path name for the location of the 5.2 compatible compiler tools so that it is in CCC.
3) Make sure that you are not the root user when you start the build.
Windows NT
The directory, samples/NTBuild contains a Visual C++ version 5.0 workspace, named samples.dsw. This workspace contains projects for each sample application included with the SwitchKit installation. After opening the workspace, right-click the project you want to build in the File View tab, then choose Build (selection only). The executables appears in samples/NTBuild/Debug/SimpleTandem or samples/NTBuild/Debug/CallSim. If the release version of the applications are built, the executables appears in samples/NTBuild/Release/SimpleTandem or samples/NTBuild/Release/CallSim.
Windows Troubleshooting
SwitchKit Programmer's Information
533
Follow these instruction for problems, if you attempt to start a new project or if you want to change the workspace.
If you get the following error message: Link Error: CallSim.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall SKC_UserTimer::˜SKC_UserTimer(void)" (??1SKC_UserTimer@@UAE@XZ)
o Go to Project Settings,
o Select the C/C++ tab,
o Under Category, select Preprocessor,
o Make sure that the field "Additional include directories" shows:
If you get the following error message: Compilation error: fatal error C1083: Cannot open include file: 'SKC_API.h': No such file or directory../../include
o Make sure that include/BaseClasses.cpp and include/Messages.api.cpp are members of the project.
If a run time error occurs:
o Go to Project Settings,
o Select the C/C++ tab,
o Under Category, select Code Generation
o Set the field “Use run-time library” to Multithreaded DLL.
Linking to the SwitchKit API Library file
When you write an application you must link your application to the SwitchKit API library file: skapi.lib.
To link to the library file, for example, using Microsoft Visual C++ 6.0, you would do the following steps.
1. On the menu select ProjectÆSettings. The Project Settings dialog box opens.
2. Select the Link tab.
3. Type after the existing text in the text box for Object/library modules: skapi.lib.
4. Add the path to the library file in the text box for Project Options: /libpath:"C:\Program Files\Cantata\installs\MSPSwitchkit_10.2.1.xxx\MSPSwitchkit\switchkit\lib"
5. Click OK.
MSP
534
Proper Initialization
An error message will result, as described further on, when a message is sent before being properly initialized. You must call sk_initMsg() before sending the message. If the application should fail to call sk_initMsg() before sending the message, the following text will appear on the console and in the application's maintenance log:
"**Error:Aug 12 2003 09:30
:30: Received message with unknown engine type205 - is the sender of this message incorrectly using a pre-3.0 version of SwitchKit? This version of SwitchKit will not work with any pre-3.0versions."
Make sure that the paths to lib and include directories are correct.
Make sure that the make utility you are using is at least GNU make 3.74 or higher. If you don't have access to this utility, then remove all platform definitions that are not relevant for the platform you wish to develop on.
SwitchKit Programmer's Information
535
Parsing of AIBs
Description
Upon receiving a message that contains an AIB, such as XL_DS0StatusChange, it is possible to get the Span and Channel by using the sk_getAIB* routines.
Code Example
int genericHandler(SK_Event *evt, void *tag) {
MsgStruct *msg = evt->IncomingMsg;
SK_MSG_SWITCH(msg) {
/* Print info about any DS0 status change */
CASE_DS0StatusChange(ds0) {
printf("DS0 Stat Change, Span:%d, Chan:%d,
Stat:%d, Purge:%X\n",
sk_getAIBSpan(ds0->AddrInfo),
sk_getAIBChannel(ds0->AddrInfo),
ds0->ChannelStatus,
ds0->PurgeStatus);
return OK;
}
CASE_default {
printf("Unknown message\n");
return OK;
}
} SK_END_SWITCH;
}
MSP
536
Programming Tips & Examples
This section provides information on parsing address information blocks and advanced programming technique in UNIX. This section also explains calls into the SwitchKit API which are necessary for a call processing application. The examples provide a template for building your own call processing application.
Important! The object of the section showing examples is not to provide a complete call processing solution.
The actual code for the sample applications can be found in the installation directory in samples and the configuration file can be found in samples/cfg. The demonstration contains two processes, SimpleTandem and CallSim that run in conjunction with each other, whereby SimpleTandem answers calls that have been initiated by CallSim.
SwitchKit Programmer's Information
537
Running the Application
Description
You can run your call control application described below.
Running the Applications
To run the applications, perform the following steps:
Start the LLC.
Start SwitchManager and send the tandem.cfg file with the defined inbound and outbound channel groups.
Start SimpleTandem at the command line: SimpleTandem
Start CallSim at the command line: CallSim
To see usage information for either of the applications, provide an -h argument at the command line.
MSP
538
Simple Tandem and CallSim
Description
The following information provides insight into a simple tandem call control application included with the samples on the EXS SwitchKit installation CD.
Simple Tandem
The SimpleTandem application waits after initialization for a Request For Service With Data (RFSD) message. When an RFSD comes in, it outseizes and connects two channels based on a simple, hard-coded routing algorithm. It performs this function each time a new RFSD is received. It can be used in conjunction with CallSim.
To run SimpleTandem, the switch must be configured with the provided tandem.cfg configuration file.
Please refer to the comments in SimpleTandem.h and SimpleTandem.cpp. These files are provided in PDF format, and you can use the established links to access them.
Process Overview
Initialize a connection to the LLC and inform it of the groups being watched by the application.
Wait for RFSD in <orig> group.
Call the Route Class to get the number from RFSD and check the AreaCode Class to determine the <dest> group to be used.
Create an Outseize Control message and outseize to <dest>.
Upon successful outseizure, connect the inbound and outbound channels.
Upon release of the inbound or outbound channel, release the connected channel and return both channels to the channel manager.
Call Simulator
The CallSim application simulates the endpoints of a tandem call and manages two channel groups, the originating channel group and the destination channel group.
Using the SwitchKit UserTimer message, a timer is set up to outseize a channel from the <orig> group on a regular interval. You can define this interval by passing in the CallDelay argument. Upon succesful outseizure, this channel is parked for a predetermined length of time. You can define the length of time by passing in the CallDuration argument. After CallDuration number of seconds, the channel is released.
To run CallSim, the switch must be configured with the provided tandem.cfg configuration file.
Process Overview
Initialize a Connection with the LLC.
Set the group handler.
SwitchKit Programmer's Information
539
Set up a UserTimer message to trigger a certain number of outseizures. This is set by the NumberOfCalls parameter every CallDelay seconds.
Construct the Outseize Control message and outseize.
On receiving positive acknowledgement, park the channel for the CallDuration period of time, and then release the channel.
When the application receives a 'ChannelReleased' message (at genericHandler), the channel is returned.
Illustration Diagram
Call Flow
541
SwitchKit TCAP Interface
Introduction
SwitchKit TCAP API Architecture
The SwitchKit TCAP application resides on the host and communicates over TCP/IP with the MSP 1010. SwitchKit TCAP application components include the following:
SwitchKit Interface Module (SKIM) TCAP API
SwitchKit TCAP Abstraction Layer (SKTAL)
SwitchKit API library
SKIM API
Application developers can use the SwitchKit Interface Module (SKIM) to speed up development. SKIM provides an API to abstract services from the TCAP and SCCP layers to a transaction-based application. The SKIM API abstracts details of the SS7 TCAP protocol. The SKIM provides some error handling, abstracting TCAP from the error handling. The SKIM must keep track of active dialogues, invoke IDs, operation types, and operation codes.
SKTAL API
The SwitchKit TCAP Abstraction Layer ( is used to create a generic view of the TCAP layer, so that the underlying stack can be used with the TCAP C++ API. The SKTAL API allows the SwitchKit TCAP user to easily interface with Intelligent Network (IN) application layer protocol APIs (GSM-MAP, ANSI-41, WIN, and CAMEL) provided by IntelliNet Technologies Inc.
SwitchKit API Library
The Switchkit API is a library of function calls used to communicate to both the LLC and the MSP 1010. In the next diagramm both the TCAP Abstraction Layer and the application must communicate with the SwitchKit API. Although the MSP 1010 can be used as a signaling-only platform, its strength is in using it for IN and ISUP signaling and for media resources. An application must communicate with the SwitchKit API in order to handle ISUP traffic and to control DSP resources in the MSP 1010.
Key Features of SwitchKit TCAP APIs
SwitchKit TCAP API provides a simple C++ interface to EXS TCAP. SwitchKit TCAP APIs hide details of PPL messages from the user application.
SwitchKit TCAP API allows the user application to communicate with multiple stack instances.
SwitchKit TCAP API provides message sanity checking and error handling at the host.
SwitchKit TCAP API enables user applications to easily integrate with IntelliNet's user part APIs such as GSM-MAP, CAMEL, WIN, ANSI-41, AIN, and INAP.
MSP
542
The SwitchKit TCAP API provides interface functions that take ASN.1 encoded information from IntelliNet user part APIs for populating TCAP operation parameters. TCAP operation parameters received using SwitchKit TCAP API can be decoded using user part APIs.
Diagram of SKIM and SKTAL Architecture
SwitchKit TCAP Interface
543
SKIM and SKTAL API
The SwitchKit SKIM and SKTAL APIs interface with the SwitchKit library. The SKIM APIs utilize services of the SKTAL layer to communication with the LLC and the MSP 1010.
SKIM APIs
The next table describes the SKIM API classes available to applications.
Name Description
SKIM_Api::Initialize() Initializes a SKIM API object. This method also initializes SKTAL and registers a TCAP SSN with the MSP 1010.
SKIM_Api::Terminate() Terminates the SKIM API object and performs cleanup functions. This method terminates SKTAL and deregisters a TCAP SSN with the MSP 1010. All pending dialogs associated with SKIM_Api object are cleared by sending a pre-arranged end message to the MSP 1010.
SKIM_Api::Send Sends TCAP transaction message along with a list of operations. A given transaction message can contain zero or more operations (TCAP Components).
SKIM_Api::SSNInService Sends N-State request to bring the local subsystem network (SSN) in service.
SKIM_Api::SSNOutOfService Sends N-State request to take the local SSN out of service.
SKIM_Api::SendReject Allows the user to send TCAP Reject message for a given invoke ID and call reference ID. This method also terminates the transaction by sending TCAP End.
SKIM_Api::CancelOperation Allows the user to cancel a previously invoked operation for a given call reference ID and invoke ID.
SKIM_Api::SendPreArrangedEnd Sends a pre-arranged end message for a given call reference ID.
SKIM_Api::SetTransHandler Sets a transaction handler for a given call reference ID.
SKIM_Api::ClearTransHandler Clears a transaction handler for a given call reference ID.
SKIM_Api::EnableTracing Enables SKIM library tracing for a given trace type.
SKIM_Api::DisableTracing Disables SKIM library tracing for a given trace type.
MSP
544
SKTAL APIs
The following are some of the SKTAL API messages available to the application:
Name Despcription
sktal_initializeTCAP A one-time call for global initialization of the TCAP Abstraction layer.
sktal_terminateTCAP A one-time call for global termination of the TCAP Abstraction layer.
sktal_registerTCAPSSNHandler Registers the application with a given node/stack/subsystem. A generic handler will be added to the handler stack that will filter messages for the given subsystem. When a new TCAP transaction is seen, or when sk_TCAP_AllocateDialogueID is called, the NewDialogueHandler function argument will be invoked. This function is expected to register a per dialog handler (via sktal_setTCAPSSNHandler) for the new dialog. All incoming messages within that dialog sequence will be passed to that handler.
sktal_unregisterTCAPSSNHandler Removes (and terminates) the subsystem identified during registration. All ongoing transactions are terminated and the subsystem is marked out-of-service.
sktal_allocateTCAPDialogID Allocates the TCAP dialog ID.
sktal_setTCAPDialogHandler Specifies a function to be invoked for incoming messages within a given transaction (identified by the dialog ID). The incoming event and the dialog ID invoke the handler; the handler should examine the event and invoke either sktal_recvTCAPDialogue or sktal_recvTCAPComponent.
sktal_clearTCAPDialogHandler The user removes the transaction handler once the transaction has been completed (by receiving) TC-U-ABORT, TC-P-ABORT, TC-END, or TC-UNI, or sending TC-U-ABORT, TC-END, or TC-UNI). It is imperative to not take this step until the last message has been sent.
sktal_sendTCAPDialog Sends a TCAP dialog message.
sktal_recvTCAPDialog Receives a TCAP dialog info from a SKTAL_EVENT.
sktal_sendTCAPComponent Sends a TCAP component message.
SwitchKit TCAP Interface
545
sktal_recv_TCAPComponent Receives TCAP component information from a SKTAL_EVENT.
Diagram
The next diagram shows how SKIM and SKTAL APIs interface with the SwitchKit library.
SwitchKit TCAP Interface
547
SKIM and SKTAL API Call Flow
This section provides an example call flow with a description of the steps in the call flow.
Diagram
The next diagram shows messaging of a call from intialization to termination. See the description of the steps in the next diagram.
MSP
548
Description of Initialization
1. Create a connection with LLC using SwitchKit API sktsCreateConnection ().
2. Initialize the SKIM_Api object.
3. SKIM initializes the SKTAL API layer.
SwitchKit TCAP Interface
549
4. SKIM registers a TCAP SSN with SKTAL layer.
5. SKTAL registers a TCAP message handler with SwitchKit.
6. SKTAL registers a TCAP SSN with SwitchKit. This is done for receiving messages for a given TCAP SSN.
7. SKTAL registers SCCP User Interface component with SwitchKit. This is done to receive SCCP management messages.
Description of Sending Begin + Invoke
1. SKIM application sends a TCAP transaction with a Begin dialogue and Invoke Component.
2. SKIM allocates a TCAP doalogue ID for the new transaction.
3. SKIM registers a dialog handler for receiving incoming messages for the new TCAP dialogue.
4. SKIM sends the TCAP invoke component to the SKTAL layer.
5. SKTAL sends the TCAP invoke component to the EXS using SwitchKit API.
6. SKIM sends the TCAP Begin dialogue to the SKTAL layer.
7. SKTAL sends the TCAP Begin dialogue to the EXS using SwitchKit API.
Description of Receiving Begin + Invoke
1. SwitchKit library invokes SKTAL TCAP message handler to give TCAP Begin message to SKTAL.
2. SKTAL receives TCAP Begin dialogue message and invokes SKIM new dialogue handler.
3. SKIM registers a per dialogue message handler as part of new dialog handler.
4. SKTAL invokes the SKIM dialogue message handler to pass TCAP Begin dialog to SKIM.
5. SwitchKit library invokes SKTAL TCAP message handler to give TCAP Invoke message to SKTAL.
6. SKTAL invokes the SKIM dialogue message handler to pass TCAP invoke component to SKIM.
7. SKIM invokes application transaction handler to pass TCAP Begin and Invoke to the application.
Description of Termination
1. Application calls SKIM Terminate API to terminate the SKIM API object.
2. SKIM deregisters TCAP SSN with SKTAL.
3. SKTAL deregisters TCAP SNN with SwitchKit.
4. SKTAL deregisters SCCP User Interface component with SwitchKit.
5. SKTAL removes TCAP message handler
SwitchKit TCAP Interface
551
TCAP Concepts
Overview
TCAP protocol functionality is divided into two main functional blocks: Component Sub-layer and Transaction Sub-layer. Services provided by these two functional blocks are described in the following sections.
Component Sub-layer Services
A component is the means by which TCAP conveys a request to perform an operation or reply. An operation is an action performed by the remote end and may have associated parameters. An Invoke ID identifies the invocation of an operation, allowing several invocations of the same or different operations to be active simultaneously. Only one reply may be sent to an operation, indicating success or failure of the operation.
Components are passed individually between a TC-user (or application) and the component sub-layer. The originating TC-user may send several components to the component sub-layer before the message is transmitted to the destination TC-user. When several components are received in a single message, each one is delivered individually to the destination TC-user. Components in a message are delivered to the remote TC-user in the same order they are provided at the originating interface. The importance of the order is established by prior agreement between the TC-users.
Component Correlation
The component sub-layer provides two facilities:
1. Association of operations and replies
2. Abnormal situations handling
Association of Operations and Replies
The value of the Invoke ID, which identifies an operation invocation without ambiguity, is returned in a response to that operation invocation. A TC-user may have a number of operations active simultaneously; the maximum number depends on the unique Invoke IDs available to a TC-user. If the response to this operation invocation is another operation invocation from the responding end, the original Invoke ID is returned as a Linked ID indicating that this responding operation invocation is linked to the original operation. Four classes of operations are considered:
Class 1 Both success and failure are reported
Class 2 Only failure is reported
Class 3 Only success is reported
Class 4 Neither success, nor failure is reported
Where necessary, the TC-user provides segmentation of a successful response. In addition, any number of linked operations may be sent prior to the reply. The reply may be:
MSP
552
Return result indicating success
Return error indicating operation failure
Reject indicating inability to perform the operation
The application protocol designer decides what constitutes success or failure in performing the operation. Any component, except a reject component, may be rejected. Rejection of a result causes termination of the corresponding operation; rejection of a linked operation does not affect the linked-to operation. Rejection of a result segment (that is, rejection of a Return Result — Not Last component) implies the rejection of all subsequent segments and the entire result. A TC-user may cancel an invoked operation; any reply received for this invocation will be rejected.
Abnormal Situations Handling
The Component sub-layer covers a number of abnormal situations in relation to a component:
Component reject: When the component sub-layer receives a malformed component, or a component that violates the rules of exchange, it informs the TC-user(s)
Operation expiration: When the component sub-layer detects that a Class 1, 2, or 3 operation has not received a final reply after a certain amount of time (which is specified by the application and depends on the operation), it releases the corresponding Invoke ID and informs the TC-user. Note that this situation is abnormal only in the case of a Class 1 operation. Application of this error to Class 4 operations is a local matter.
Invocation cancel: A TC-user may decide to release a given Invoke ID and ignore any responses using this identifier
Error Handling
In a situation where the component sub-layer is prevented from providing the expected services, it notifies the TC-user and may terminate pending operations. In addition, a TC-user may decide to abort a dialogue, which ends any pending operations.
Transaction Sub-Layer Services
The Transaction (TR) sub-layer provides capabilities for the exchange of components and dialogue between TR-users. The TR sub-layer also provides the capability to send transaction messages between peer TR sub-layer entities by means of the lower layer network services.
Dialogue
When successive components are exchanged between two TC-users in order to perform an application, this is called a dialogue. The component sub-layer provides dialogue facilities, allowing several dialogues to run concurrently between two TC-users. In addition, dialogue handling allows for the transfer and negotiation of the application context and the transparent transfer of user information (that is, data
SwitchKit TCAP Interface
553
that are not components) between two TC-users. The component sub-layer provides two dialogue facilities: Unstructured and structured.
Unstructured dialogue infers that TC-users can send components that do not require replies without forming an explicit association. Implicit association always exists between communicating TC-users. An unstructured dialogue is supported by the uni-directional message within the protocol. Use of the unstructured dialogue facility is indicated when one TC-user sends a uni-directional message to its peers. When a TC-user receives a uni-directional message, if a protocol error is reported, it is returned in a uni-directional message.
Structured dialogue infers that TC-users indicate the beginning or the formation of a dialogue, the continuation, and the end of a dialogue. Structured dialogue allows two TC-users to run several dialogues concurrently, each identified by a particular Dialogue ID. Each Dialogue ID has a separate Invoke ID name space, allowing duplication of Invoke IDs in different dialogues. Sequenced delivery of messages is provided by means of application protocols outside the scope of TCAP, or by use of the appropriate SCCP class of service. When using the structured dialogue service, the TC-user indicates one of four possibilities upon sending a component to a peer TC-user:
1. Dialogue begin
2. Dialogue confirmation
3. Dialogue continue - Full-duplex exchange of components is possible
4. Dialogue end - The sending TC-user will not send more components, nor will it accept any more components from the remote TC-user
As an option, in the context of options 1 and 2, an exchange of application context information and user information is possible. When this option is chosen, user information can also be sent during options 3 and 4.
MSP
554
SwitchKit Interface Module
SKIM API Messaging
The SKIM API layer provides the following functionalities:
Allocation / Deallocation of Call Reference ID
Handler Functions
Handling Multiple Stack/SSN
SKIM Error Handling
Resource Limitation Error
These functionalities are described further in this section.
SKIM data types and return codes are defined in Appendix B Each SKIM transaction is uniquely identified by a call reference ID. The Call Reference ID is allocated by SKIM when a new transaction is initiated or received. The call reference ID is released when a transaction is ended or aborted by the SKIM application.
Memory Management
A SKIM application does not need to do memory management with respect to SKIM API usage. A SKIM application must manage the ongoing transactions and should clear the transaction by sending or receiving prearranged end, basic end, or abort.
SKIM API allocates a transaction context for each active transaction. The transaction context is cleared when transaction is ended / aborted. In error scenarios, sending a prearranged end will clear the transaction.
Allocation / Deallocation of Call Reference ID
Each ongoing TCAP transaction is identified by a call reference ID. The SKIM API layer allocates a call reference ID when a user initiates a transaction or a new transaction is received from the remote end. After initiating a transaction the SKIM API user can retrieve the call reference ID assigned for the new transaction by calling GetCallReferenceId() method of a transaction object.
Call Reference ID and associated resources are deallocated when a transaction is ended/aborted by the SKIM user or remote SS7 entity. The SKIM user can free the call reference ID by calling SendPreArrangedEnd() for a given call reference ID value. TCAP prearranged end terminate transaction locally without sending any TCAP message to remote SS7 entity.
Handler Functions
SKIM API maintains a transaction handler to pass incoming transaction messages to the SKIM user. SKIM API maintains notification handlers to pass incoming notification messages to the SKIM user. SKIM notifications consist of SCCP N-STATE/N-PCSTATE indications, TCAP timeouts, SKIM internal error, and NACK messages from the MSP 1010. The SKIM user must register a transaction handler function and notification handler function as part of SKIM_Api object initialization. The SKIM user can override the default transaction handler function for a given call reference ID.
SwitchKit TCAP Interface
555
Most set or get methods return void. If a set or get method is called on in an invalid transaction type, then the method returns void. The set or get methods will have no affect on invalid transaction or operation types.
Handling Multiple Stack/SSN
The SKIM API user can communicate with multiple stack/SSN combinations configured on the MSP 1010. For each stack/SSN combination the user must create and initialize a SKIM_Api object. Communication to a stack/SSN is controlled using the public interface provided by SKIM_Api object.
SKIM Error Handling
The SKIM API layer maintains a transaction context for each active transaction and provides error handling over and above the TCAP protocol stack. These error conditions are reported to the SKIM user as a notification of type SKIM_NOTIFY_INTERNAL_ERROR. The SKIM user can get the cause of internal error notification by calling the GetCause public method of SKIM_NOTIFY object. Some of the error conditions handled by SKIM API layer are described in the next table:
Error Description
Transaction Record Error
This error message is returned SKIM cannot retrieve a transaction context for an incoming or outgoing transaction message. This occurs when the user tries to send a TCAP Continue or TCAP End message for a non-existent transaction.
Duplicate Invoke ID Error
This error occurs when a TCAP invoke operation with a invoke ID identical to an ongoing TCAP operation is sent or received for a given call reference ID.
Unknown Invoke ID Error
This error occurs when a response to a invoke operation contains an unknown invoke ID.
Invalid Linked ID This error occurs when a TCAP invoke operation containing in valid linked ID (linked ID for which corresponding invoke operation does not exist) is received or sent.
Unknown Message Type Error
This error occurs when an unknown transaction message type is received.
Unknown Component Error
This error occurs when a TCAP operation with unknown type is received.
Resource Limitation Error
This error is returned when user tries to initiate a transaction but maximum simultaneous transaction limit is reached.
Resource Limitation Error
This error is returned when a user tries to initiate a transaction but the maximum simultaneous transaction limit has already been reached.
MSP
556
Code Syntax
Each SKIM transaction is uniquely identified by a call reference ID. The Call reference ID is allocated by SKIM when a new transaction is initiated or received. The Call reference ID is released when a transaction is ended or aborted by the SKIM application. SKIM data types and return codes are defined in Appendix 2.
The SwitchKit Interface Module provides the following methods to the application developer.
class SKIM_Api
{
public:
int Initialize(int localNodeId, int stackId, int connId, int pc, int ssn, SKIM_TransHandler h1, SKIM_NotificationHandler h2, void *tag);
int Terminate();
int SSNInService();
int SSNOutOfService();
int Send(SKIM_Trans &trans);
int SendReject(int callrefid, SKIM_OCTET invokeId, SKIM_OCTET probType, SKIM_OCTET probCode);
int CancelOperation(int callrefid, SKIM_OCTET invokeId);
int SendPreArrangedEnd(int calrefid);
int SetTransHandler(int callrefid, SKIM_TransHandler h, void *tag);
int ClearTransHandler(int callrefid);
static int EnableTracing(int traceType);
static int DisableTracing(int traceType);
};
SwitchKit TCAP Interface
557
Initialize()
Description
SKIM application calls the initialize method to initialize the SKIM API object. This method initializes SKTAL and registers a TCAP subsystem (SSN) with the MSP 1010.
When using multiple running applications on the same subsystem number, the startRange and endRange arguments should be modified to divide the dialogue IDs between them. For example, when using two applications the values are:
Application 1 Application 2
startRange = 0
startRange = 4096
endRange = 4095
endRange = 8191
Syntax
int Initialize(int localNodeId, int stackId, int connId, int pc, int ssn, SKIM_TransHandler h1,
SKIM_NotificationHandler h2, void *tag, int startRange=0, int endrange=SK_MAX_TCAP_DIALOGS-1)
Parameters
The input parameters are shown in the next table. There are no input/output parameters.
Argument Description
localNodeId Local node ID
stackId stack ID
connId connection ID
pc point code
ssn subsystem number (SSN)
h1 Default transaction handler callback. The transaction handler is invoked tby SKIM after receiving a TCAP transaction message. The prototype for SKIM transactionhandler is:
typedef int (*SKIM_TransHandler)(SKIM_Trans &trans, void *tag);
h2 Notification handler callback. The notification handler is invoked when notification message is received by SKIM. The prototype for notification handler is:
typedef int (*SKIM_NotificationHandler)(SKIM_Notify ¬ify, void *tag);
MSP
558
tag value Tag to be returned with the callbacks
startRange Starting dialogue ID allocated to this application (For the specific SSN)
endRange Ending dialogue ID allocated to this application (For the specifc SSN)
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM return code
As defined in Appendix B, Table B-2, SKIM Return Codes (B-2).
SwitchKit TCAP Interface
559
Terminate()
Description
This API terminates the SKIM API object. This method terminates SKTAL and deregisters a TCAP subsystem (SSN) with the MSP 1010.
Syntax
int Terminate();
Parameters
There are no input, input/output or output parameters.
Return Values
The possible return value for this API is:
SKIM_SUCCESS Always returns SKIM_SUCCESS.
MSP
560
SSNInService()
Description
The SSNInService method sends N-State request to bring the local subsystem (SSN) in service.
Syntax
int SSNInService();
Parameters
There are no input, input/output or output parameters.
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM return code As defined in Appendix B, Table B-2, SKIM Return Codes (B-2).
SwitchKit TCAP Interface
561
SSNOutOfService()
Description
The SSNOutOfService method sends N-State request to take the local subsystem (SSN) out-of-service.
Syntax
int SSNOutOfService();
Parameters
There are no input, input/output or output parameters.
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM return code
As defined in Appendix B, Table B-2, SKIM Return Codes (B-2).
MSP
562
Send()
Description
This method sends TCAP transaction message along with a list of operations. A given transaction message can contain zero or more operations.
Syntax
int Send(SKIM_Trans &trans);
Parameters
The input parameter is shown in the next table. There are no input/output parameters.
Argument Description
SKIM_Trans Transaction object
For details of SKIM_Trans class interface refer to Section 3, SKIM Parameter Classes.
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM return code
As defined in Appendix B, Table B-2, SKIM Return Codes (B-2).
SwitchKit TCAP Interface
563
SendReject()
Description
This method allows the user to send Reject for a given invoke ID and call reference ID. This does not clear the call reference ID therefore, you must send a prearranged end or basic end.
Syntax
int SendReject(int callrefid, SKIM_OCTET invokeId, SKIM_OCTET probType,
SKIM_OCTET probCode);
Parameters
The input parameter is shown in the next table. There are no input/output parameters.
Argument Description
callrefid Call reference ID to identify TCAP transaction for which Reject is being sent..
invokeId Invoke ID identifies TCAP operation being rejected.
probType Problem type as specified in Appendix A.
probCode Reject problem code. As specified in Appendix A.
Return Values
Possible return values for this API are:
SKIM_SUCCESS Method is successful. No failure has occurred.
SKIM return code
As defined in Appendix B Table B-2, SKIM Return Codes (B-2).
MSP
564
CancelOperation()
Description
This method allows the user to cancel a previously invoked operation for a given call reference ID and invoke ID.
Syntax
int CancelOperation(int callrefid, SKIM_OCTET invokeId);
Parameters
The input parameter is shown in the next table. There are no input/output parameters.
Argument Description
callrefid Call reference ID
invokeId Invoke ID
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM return code
As defined in Appendix B Table B-2, SKIM Return Codes (B-2).
SwitchKit TCAP Interface
565
SendPreArrangedEnd()
Description
This method sends a Pre-Arranged End message to the MSP 1010 for the given call reference ID. This method releases the call reference ID and associated resources.
Syntax
int SendPreArrangedEnd(int callrefid);
Parameters
The input parameter is shown in the next table. There are no input/output parameters, or output parameters.
Argument Description
callrefid Call reference ID
Return Values
Possible return values for this API are:
SKIM_SUCCESS Method is successful.
SKIM return code
As defined in Appendix B Table B-2, SKIM Return Codes (B-2).
MSP
566
SetTransHandler()
Description
This method sets a transaction handler for a given call reference ID.
Syntax
int SetTransHandler(int callrefid, SKIM_TransHandler h, void *tag);
Parameters
The input parameters are shown in the next table. There are no input/output parameters.
Argument Description
callrefid Call reference ID for which transaction handler is being registered.
h Transaction handler. Protype for transaction handler function is:
typedef int (*SKIM_TransHandler)(SKIM_Trans &trans, void *tag);
tag This tag is returned when transaction handler is invoked.
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM_TRANS_RECORD_ERROR No transaction is active for given call reference ID.
SwitchKit TCAP Interface
567
ClearTransHandler()
Description
This method clears a transaction handler for a given call reference ID.
Syntax
int ClearTransHandler(int callrefid);
Parameters
The input parameters are shown in the next table. There are no input/output parameters.
Argument Description
callrefid Call reference ID for which the transaction handler is being cleared.
Return Values
Possible return values for this API are:
SKIM_SUCCESS No failure has occurred.
SKIM_TRANS_RECORD_ERROR No transaction is active for given call reference ID.
MSP
568
EnableTracing()
Description
This method enables SKIM library tracing for a given trace type. Execution traces are generated to a file and standard output. Trace files are created in the current execution directory. If a given trace type is already enabled then this method will not have any effect.
Syntax
static void EnableTracing(int traceType);
Parameters
The input parameters are shown in the next table. There are no input/output parameters.
Argument Description
traceType Possible values:
SKIM_SUCCESS_TRACE
SKIM_ERROR_TRACE
Return Values
None.
SwitchKit TCAP Interface
569
DisableTracing()
Description
This method disables SKIM library tracing for a given trace type. If a given trace type is already disabled then this method will have no effect.
Syntax
static void DisableTracing(int traceType);
Parameters
The input parameters are shown in the next table. There are no input/output parameters.
Argument Description
TraceType Possible values:
SKIM_SUCCESS_TRACE
SKIM_ERROR_TRACE
Return Values
None.
MSP
570
SKIM Parameter Classes
SKIM_Trans Class
The SKIM_Trans class provides an interface to the SKIM user for populating and retrieving TCAP dialogue and components (operations). The SKIM user can populate or retrieve a single TCAP dialogue and list of associated TCAP components (operations) using a single SKIM_Trans object instance. SKIM_Trans object supports the public methods that are explained in the following sections.
Important! Users are expected to know what methods from the SKIM_Trans public interface need to be invoked for a given transaction type. If you invoke a set method for an invalid transaction type, set method returns without changing underlying interface data.
Summary of Methods
The following lists the methods available with the SKIM_Trans class.
Class SKIM_Trans
{
public:
SKIM_Trans();
void SetTransType(SKIM_OCTET type);
void GetTransType(SKIM_OCTET &type);
SKIM_UINT GetCallReferenceId();
void SetCallReferenceId(SKIM_UINT id);
void AddOperation(SKIM_Operation &op);
int RemoveOperation(SKIM_Operation &op);
int GetNumOfOperation();
void SetSourceAddress(SKIM_CallingPartyAddr &addr);
void GetSourceAddress(SKIM_CallingPartyAddr &addr);
void SetDestAddress(SKIM_CalledPartyAddr &addr);
void GetDestAddress(SKIM_CalledPartyAddr &addr);
void GetAbortReason(SKIM_OCTET &reason);
void SetAbortReason(SKIM_OCTET reason);
void GetAbortInfo(SKIM_OCTET *buf, int &len);
void SetAbortInfo(SKIM_OCTET *buf, int len);
void
SetQualityOfService(const SKIM_OCTET flags,
const SKIM_OCTET priority = 0);
void
GetQualityOfService(SKIM_OCTET& flags,
SKIM_OCTET& priority);
void SetPreArrangedEnd();
SKIM_OCTET GetReportCause () const;
void GetApplicationContext(SKIM_OCTET* buf, int& len) const;
SwitchKit TCAP Interface
571
void SetApplicationContext(const SKIM_OCTET* buf, const int len);
void SetUserInfo(const SKIM_OCTET* buf, const int len);
void GetUserInfo(SKIM_OCTET* buf, int& len) const;
};
SKIM_Trans Class Methods
This section provides details about the methods available for the SKIM_Trans class.
SKIM_Trans()
Description
SKIM_Trans is the default constructor.
Syntax
SKIM_Trans();
Input Parameters, Input/Output Parameters, & Output Parameters
None
SetTransType()
Description
Sets SKIM transaction type.
Syntax
void SetTransType(SKIM_OCTET type);
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Values
Possible values for ITU TCAP:
SKIM_TC_UNI
SKIM_TC_BEGIN
SKIM_TC_CONTINUE
SKIM_TC_END
SKIM_TC_P_ABORT
SKIM_TC_U_ABORT
Possible values for ANSI TCAP:
SKIM_TC_UNI
SKIM_TC_BEGIN (Same as Query with Permission)
SKIM_TC_CONTINUE (Same as Conversation With Permission)
MSP
572
SKIM_TC_END
SKIM_TC_ABORT
SKIM_TC_QUERY_WO_PERM
SKIM_TC_CONV_WO_PERM
GetTransType()
Description
Gets SKIM transaction type.
Syntax
void GetTransType(SKIM_OCTET &type);
Input Parameters
type
Return Values
Possible values for ITU TCAP:
Possible values for ITU TCAP:
SKIM_TC_UNI, SKIM_TC_BEGIN
SKIM_TC_CONTINUE
SKIM_TC_END
SKIM_TC_P_ABORT
SKIM_TC_U_ABORT
SKIM_TC_NOTICE:
This message is received in case of network problem at SCCP layer while sending a TCAP transaction message.
Possible values for ANSI TCAP:
SKIM_TC_UNI
SKIM_TC_BEGIN (Same as Qurey With Permission)
SKIM_TC_CONTINUE (Same as Conversation With Permission)
SKIM_TC_END
SKIM_TC_ABORT
SKIM_TC_QUERY_WO_PERM
SKIM_TC_CONV_WO_PERM
SKIM_TC_NOTICE
GetCallReferenceId()
SwitchKit TCAP Interface
573
Description
This method returns the call reference ID. A call reference ID has one to one mapping with a TCAP dialogue ID.
Syntax
SKIM_UINT GetCallReferenceId();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Call reference ID.
SetCallReferenceId()
Description
Sets the call reference ID. The call reference ID is not set when initiating a transaction.
Syntax
void SetCallReferenceId(SKIM_UINT id);
Input Parameters
id: Call Reference ID
Input/Output Parameters, Output Parameters
None
AddOperation()
Description
Adds an operation to the given transaction object.
Syntax
void AddOperation(SKIM_Operation &op);
Input Parameters
op: SKIM_Operation object
Input/Output Parameters, Output Parameters
None
RemoveOperation()
Description
Removes an operation from a transaction object.
MSP
574
Syntax
void RemoveOperation(SKIM_Operation &op);
Input Parameters, Input/Output Parameters
None
Output Parameters
op: SKIM_Operation object
Return Value
SKIM_SUCCESS:
An operation removal is successful.
SKIM_ENOMSG:
No operation is available.
GetNumOfOperation()
Description
Gets the number of operations associated with a SKIM_Trans object at any given time.
Syntax
int GetNumOfOperation();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Number of operations
SetSourceAddress()
Description
Sets the SCCP source address for a given transaction object. See Also: SKIM_CallingPartyAddress API.
Syntax
void SetSourceAddress(SKIM_CallingPartyAddr &addr);
Input Parameters
addr: SCCP Calling Party Address object.
Input/Output Parameters, Output Parameters
None
SwitchKit TCAP Interface
575
GetSourceAddress()
Description
Gets the SCCP source address for a given transaction object. See Also: SKIM_CallingPartyAddress API.
Syntax
void GetSourceAddress(SKIM_CallingPartyAddr &addr);
Input Parameters, Input/Output Parameters
None
Output Parameters
addr: SCCP Calling Party Address object.
SetDestAddress()
Description
Sets the SCCP destination address for a given transaction object. See also: SKIM_CalledPartyAddress API.
Syntax
void SetDestAddress(SKIM_CalledPartyAddr &addr);
Input Parameters
addr: SCCP Called Party Address object.
Input/Output Parameters, Output Parameters
None
GetDestAddress()
Description
Gets the SCCP destination address for a given transaction object. See also: SKIM_CalledPartyAddress API.
Syntax
void GetDestAddress(SKIM_CalledPartyAddr &addr);
Input Parameters, Input/Output Parameters
None
Output Parameters
addr: SCCP Called Party Address object.
GetAbortReason() (For ITU)
MSP
576
Description
Gets the abort reason for SKIM_TC_U_ABORT/SKIM_TC_P_ABORT ( ITU).
Syntax
void GetAbortReason(SKIM_OCTET &reason);
Input Parameters
reason: Abort reason. Possible values of abort reason are defined in Appendix A.
Input/Output Parameters, Output Parameters
None
SetAbortReason (For ITU)
Description
Sets the abort reason for SKIM_TC_U_ABORT.
Note: The MSP 1010 sends SKIM_TC_P_ABORT automatically.
Syntax
void SetAbortReason(SKIM_OCTET reason);
Input Parameters
reason: Abort reason. Possible values of abort reason are defined in Appendix A.
Input/Output Parameters and Output Parameters
None
GetAbortInfo() (For ANSI)
Description
Gets the abort information for SKIM_TC_ABORT (ANSI transaction type.)
Syntax
void GetAbortInfo(SKIM_OCTET *buf, int &len);
Input Parameters
buf : Abort rinformation.
len: Abort information length.
Input/Output Parameters, Output Parameters
None
SetAbortInfo (For ANSI)
Description
SwitchKit TCAP Interface
577
Sets the abort information for SKIM_TC_ABORT (ANSI transaction type.)
Syntax
void SetAbortInfo(SKIM_OCTET *buf, int &len);
Input Parameters
info: Abort information.
length: Abort information length.
Input/Output Parameters and Output Parameters
None
SetQualityOfService()
Description
Sets the quality of service.
Syntax
void SetQualityOfService(const SKIM_OCTET flags,
const SKIM_OCTET priority = 0);
Input Parameters
flags: Flags can be combination of the following types (for ITU):
0 : specifies SCCP Class 0 with no return option
SKIM_QOSI_RET_OPT: specifies SCCP Class 0 with return option
SKIM_QOSI_SEQ_CTRL: specifies SCCP) Class 1 with no return option.
SKIM_QOSI_SEQ_CTRL | SKIM_QOSI_RET_OPT: specifies SCCP Class 1 with return option set
flags: Flags can be combination of the following types (for ANSI)
8: specifies SCCP Class 0 with no return option.
SKIM_QOSI_RET_OPT | |SKIM_QOSI_PRIORITY: specifies SCCP Class 0 with return option set.
SKIM_QOSI_SEQ_CTRL | |SKIM_QOSI_PRIORITY: specifies SCCP Class 1 with no return option
SKIM_QOSI_SEQ_CTRL | SKIM_QOSI_RET_OPT | |SKIM_QOSI_PRIORITY: specifies SCCP Class 1 with return option set.
Input/Output Parameters, Output Parameters
None
GetQualityOfService()
Description
MSP
578
Gets the quality of service.
Syntax
void GetQualityOfService(SKIM_OCTET& flags, SKIM_OCTET& priority);
Input Parameters, Input/Output Parameters
None
Output Parameters
flags: Flags can be combination of the following types (for ITU):
0 : specifies SCCP Class 0 with no return option
SKIM_QOSI_RET_OPT: specifies SCCP Class 0 with return option
SKIM_QOSI_SEQ_CTRL: specifies SCCP) Class 1 with no return option.
SKIM_QOSI_SEQ_CTRL | SKIM_QOSI_RET_OPT: specifies SCCP Class 1 with return option set
flags: Flags can be combination of the following types (for ANSI)
8: specifies SCCP Class 0 with no return option.
SKIM_QOSI_RET_OPT | |SKIM_QOSI_PRIORITY: specifies SCCP Class 0 with return option set.
SKIM_QOSI_SEQ_CTRL | |SKIM_QOSI_PRIORITY: specifies SCCP Class 1 with no return option
SKIM_QOSI_SEQ_CTRL | SKIM_QOSI_RET_OPT | |SKIM_QOSI_PRIORITY: specifies SCCP Class 1 with return option set.
priority: message priority.
SetPreArrangedEnd()
Description
Sets the pre-arranged end for the SKIM_TC_END transaction type. By default the end type is set to basic.
Syntax
void SetPreArrangedEnd();
Input Parameters, Input/Output Parameters & Output Parameters
None
GetReportCause()
Description
Gets the reported cause for SKIM_TC_NOTICE transaction type.
Syntax
SwitchKit TCAP Interface
579
SKIM_OCTET GetReportCause() const;
#if defined(CCITT) || defined(PRC)
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value:
Report cause value.
SCCP_RET_NO_TRANS_ADDR_NAT
SCCP_RET_NO_TRANS_THIS_ADDR
SCCP_RET_SUBSYS_CONG
SCCP_RET_SUBSYS_FAIL
SCCP_RET_UNEQUIPPED_USER
SCCP_RET_NETWORK_FAIL
SCCP_RET_NETWORK_CONG
SCCP_RET_UNQUAL
SCCP_RET_ERR_IN_TRANSPORT
SCCP_RET_ERR_IN_LOCAL_PROCESS
SCCP_RET_ERR_DEST_CANNOT_PERF_REASSEMBLY
SCCP_RET_ERR_SCCP_FAILURE (ITU Only)
SCCP_RET_ERR_HOP_COUNT_VIOLATION (ANSI only)
SCCP_RET_ERR_INV_ISNI_ROUT_REQ (ANSI only)
SCCP_RET_ERR_UNAUTH_MSG (ANSI only)
SCCP_RET_ERR_MSG_INCOMPATIBILITY (ANSI only)
SCCP_RET_ERR_CANNOT_PERFORM_ISNI_ROUTING (ANSI only)
SCCP_RET_ERR_REDUNDANT_ISNI_ROUTING_INFO (ANSI only)
SCCP_RET_ERR_UNABLE_TO_IDENTIFY_ISNI_INFO (ANSI only)
GetApplicationContext() (ITU only)
Description
Allows the user to get the application context for a transaction.
Syntax
void GetApplicationContext(SKIM_OCTET* buf, int& len) const;
Input Parameters, Input/Output Parameters
None
Output Parameters:
buf: Buffer to copy application context infornation.
MSP
580
len: Number of bytes copied in application context information.
SetApplicationContext() (ITU only)
Description
Allows the user to set the application context for a transaction.
Syntax
void SetApplicationContext(const SKIM_OCTET* buf, const int len);
Input Parameters
buf: Buffer to copy application context infornation.
len: Number of bytes copied in application context information.
Input/Output and Output Parameters:
None
SetUserInfo() (ITU only)
Description
Allows the user to set the user information for a transaction.
Syntax
void SetUserInfo(const SKIM_OCTET* buf, const int len);
Input Parameters
buf: Buffer containing user infornation.
len: Number of bytes in user information.
Input/Output and Output Parameters:
None
GetUserInfo() (ITU only)
Description
Allows the user to get the user information for a transaction.
Syntax
void GetUserInfo(SKIM_OCTET* buf, int& len) const;
Input Parameters, Input/Output Parameters
None
Output Parameters:
buf: Buffer containing user infornation.
MSP
582
SKIM_Operation Class
Description
The SKIM_Operation object supports the public methods that are explained in the following sections. A user is expected to know what methods from SKIM_Operation public interface need to be invoked for a given operation type. If you invoke a set method for an invalid operation type, the set method will simply return without changing the underlying interface data.
Summary of Methods
The following lists the methods available with the SKIM_Operation class.
Class SKIM_Operation
{
public:
int SetType(SKIM_USHORT type);
SKIM_USHORT GetType();
int SetInvokeId(SKIM_OCTET invokeId);
SKIM_OCTET GetInvokeId();
int SetLinkedId(SKIM_OCTET id);
SKIM_OCTET GetLinkedId();
void SetClass(SKIM_USHORT cl);
SKIM_USHORT GetClass();
voidint SetInvokeTimeout(SKIM_UINT timeout);
voidint SetParameter(vector <byte> ¶m);
voidint GetParameter(vector <byte> ¶m);
bool IsLastOperation();
voidint SetOpCode(const SKIM_LONG code);
voidint GetOpCode(SKIM _LONG & code);
voidint SetOpCode(const bool isNational, const SKIM_OCTET family,
const SKIM_OCTET code);
voidint GetOpCode(bool& isNational, SKIM_OCTET& family,
SKIM_OCTET& code);
voidint SetErrorCode(SKIM_OCTET errorCode);
voidint GetErrorCode(SKIM_OCTET &errorCode);
voidint SetErrorCode(SKIM_BOOLEAN isNational, SKIM_OCTET errorCode);
voidint GetErrorCode(SKIM_BOOLEAN &isNational, SKIM_OCTET &errorCode);
voidint SetRejectCause(const SKIM_OCTET type, const SKIM_OCTET code);
voidint GetRejectCause(SKIM_OCTET& type, SKIM_OCTET& code);
};
SwitchKit TCAP Interface
583
Operation Types
You are expected to know what methods from the SKIM_Operation public interface need to be invoked for a given operation type. If you invoke a set method for an invalid operation type, set method will simply return without changing underlying interface data.
Refer to the following table for applicable methods for operation types.
Method Operation Types
SetType () All
GetType () All
SetInvokeId () All
GetInvokeId () All
SetLinkedId () SKIM_TC_INVOKE SKIM_TC_INVOKE_NLl
HasLinkedId () SKIM_TC_INVOKE
SKIM_TC_INVOKE_NL
GetLinkedId () SKIM_TC_INVOKE
SKIM_TC_INVOKE_NL
SetInvokeTimeout ()
SKIM_TC_INVOKE
Set Parameter () SKIM_TC_INVOKE, SKIM_TC_INVOKE_NL, SKIM_TC_RESULT_L, SKIM_TC_RESULT_NL, SKIM_TC_U_ERROR, SKIM_TC_ERROR, and SKIM_TC_REJECT
Get Parameter () SKIM_TC_INVOKE, SKIM_TC_INVOKE_NL, SKIM_TC_RESULT_L, SKIM_TC_RESULT_NL, SKIM_TC_U_ERROR, SKIM_TC_ERROR SKIM_TC_REJECT
IsLastOperation ()
All
SetOpCode () SKIM_TC_INVOKE, SKIM_TC_INVOKE_NL, SKIM_TC_RESULT_L (ITU) SKIM_TC_RESULT_NL (ITU)
GetOpCode () SKIM_TC_INVOKE, SKIM_TC_INVOKE_NL, SKIM_TC_RESULT_L (ITU) SKIM_TC_RESULT_NL (ITU)
SetClass () SKIM_TC_INVOKE (ITU)
GetClass () SKIM_TC_INVOKE (ITU)
SetErrorCode () SKIM_TC_U_ERROR SKIM_TC_ERROR
GetErrorCode () SKIM_TC_U_ERROR SKIM_TC_ERROR
SetRejectCause () SKIM_TC_U_REJECT SKIM_TC_R_REJECT SKIM_TC_L_REJECT SKIM_TC_REJECT
GetRejectCause SKIM_TC_U_REJECT SKIM_TC_R_REJECT
MSP
584
() SKIM_TC_L_REJECT SKIM_TC_REJECT
SKIM_Operation Class Methods
This section provides details about the methods available for the SKIM_Operation class.
SetType()
Description
Sets the type of this operation
Syntax
int SetType(SKIM_USHORT type);
Input Parameters
type: the operation type is one of the following:
SKIM_TC_INVOKE (Same as Invoke Last for ANSI)
SKIM_TC_INVOKE_NL
SKIM_TC_RESULT
SKIM_TC_RESULT_L
SKIM_TC_ERROR
SKIM_TC_REJECT (For ANSI)
SKIM_TC_U_REJECT (For ITU)
SKIM_TC_CANCEL
Input/Output Parameters, Output Parameters
None
GetType()
Description
Returns the type of this operation.
Syntax
SKIM_USHORT GetType();
Input Parameters, Input/Output Parameters & Output Parameters:
None
Return Values
The type of this component is one of the following:
SKIM_TC_INVOKE
SKIM_TC_INVOKE_NL (Same as Invoke Last for ANSI)
SwitchKit TCAP Interface
585
SKIM_TC_RESULT
SKIM_TC_RESULT_L
SKIM_TC_ERROR
SKIM_TC_REJECT
SKIM_TC_U_REFJECT (For ITU)
SKIM_TC_R_REFJECT (For ITU)
SKIM_TC_L_REFJECT (For ITU)
SKIM_TC_CANCEL
SetInvokeId()
Description
Populates the invoke ID for this operation. Invoke IDs are common to all operation types. For ANSI TCAP, use this API to set the correlation ID for RESULT/ERROR/REJECT operations.
Syntax
void SetInvokeId(SKIM_OCTET invokeId);
Input Parameters
value: The invoke ID value. The valid range is 0-255.
Input/Output Parameters
None
Output Parameters
None
GetInvokeId()
Description
Returns the invoke ID of an operation. Invoke IDs are common to all operation types. For ANSI TCAP, use this API to get the correlation ID for RESULT, ERROR, and REJECT operations.
Syntax
SKIM_OCTET GetInvokeId();
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value
The invoke ID as an unsigned character.
MSP
586
SetLinkedId()
Description
Sets the linked ID (ITU) or correlation ID (ANSI) to the value supplied. This is valid only when the operation type is SKIM_TC_INVOKE or SKIM_TC_INVOKE_NL. For any other operation type this method simply returns and nothing is set. You do not need to call this method if the linked ID is not relevant. It is assumed that no linked ID is present unless this method is called.
Syntax
void SetLinkedId(SKIM_OCTET id);
Input Parameters, Input/Output Parameters, & Output Parameters
None
HasLinkedId()
Description
Returns SKIM_TRUE if the linked ID (ITU) or correlation ID (ANSI) is present in Invoke operation. This is valid only when the operation type is SKIM_TC_INVOKE.
Syntax
SKIM_BOOLEAN HasLinkedId();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
SKIM_TRUE: Linked ID present.
SKIM_FALSE: Linked ID not present.
GetLinkedId()
Description
Gets the linked ID (ITU) or correlation ID (ANSI) of an invoke, if supplied. This is valid only when the operation type is SKIM_TC_INVOKE or SKIM_TC_INVOKE_NL.
Syntax
SKIM_OCTET GetLinkedId();
Return Value
The linked ID is returned as an unsigned character.
SetClass()
Description
SwitchKit TCAP Interface
587
Sets the operation class for TCAP components. The SetClass() method is used for ITU TCAP only.
Syntax
void SetClass(const SKIM_USHORT val);
Input Parameters
val: A number from 1 to 4 indicating the operation class:
Class 1: Both success and failure are reported
Class 2: Only failure is reported
Class 3: Only success is reported
Class 4: Neither success, or failure is reported
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
None
GetClass()
Description
Retrieves the operation class for TCAP invokes. The GetClass method is used for ITU TCAP only.
Syntax
SKIM_USHORT GetClass() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Values
A number from 1 to 4 indicating the operation class:
Class 1: Both success and failure are reported
Class 2: Only failure is reported
Class 3: Only success is reported
Class 4: Neither success, nor failure is reported
SetInvokeTimeout()
Description
Sets the timeout value for TCAP invokes. This is valid only when the operation type is SKIM_TC_INVOKE (used for ITU only).
Syntax
MSP
588
void SetInvokeTimeout(SKIM_UINT timeout);
Input Parameters
val: the timeout value in seconds. Range is 1-500.
Input/Output Parameters and Output Parameters
None
SetParameter()
Description
Copies a user-defined parameter into the given operation. If an operation does not have a parameter, you do not need to call this method. The parameter is assumed to be not present unless this method is called with a non-zero vector.
Syntax
void SetParameter(vector <byte> ¶m);
Input Parameters,
buf: A vector containing the parameter to copy into this operation.
Input/Output Parameters and Output Parameters:
None
GetParameter()
Description
Copies the parameter in a given operation into a user-supplied vector. Returning a vector.size () of zero indicates that no parameter is present.
Syntax
void GetParameter(vector <byte> ¶m);
Input Parameters and Input/Output Parameters
None
Output Parameters:
buf: A vector for the parameter to copy.
IsLastOperation()
Description
Specifies whether the given operation is the last incoming operation associated with a TCAP transaction.
Syntax
SwitchKit TCAP Interface
589
bool IsLastOperation();
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value
SKIM_TRUE: If given operation is the last operation.
SKIM_False: If given operation is not the last operation.
SetOpCode() (For ITU)
Description
Sets the operation field of a given operation. This is valid only when operation type is:
SKIM_TC_INVOKE
SKIM_TC_RESULT_L
SKIM_TC_RESULT_NL
Syntax
void SetOpCode(const SKIM_LONG code);
Input Parameters, Input/Output Parameters & Output Parameters
None
GetOpCode()(For ITU)
Description
Gets the operation field of a given operation. This is valid only when the operation type is:
SKIM_TC_INVOKE
SKIM_TC_RESULT_L
SKIM_TC_RESULT_NL
Syntax
void GetOpCode(SKIM _LONG & code);
Input Parameters, Input/Output Parameters
None
Output Parameters
code: The operation code.
SetOpCode() (For ANSI)
MSP
590
Description
Sets the operation field of a given operation. This is valid only when operation type is:
SKIM_TC_INVOKE
SKIM_TC_RESULT_L
SKIM_TC_RESULT_NL
Syntax
void SetOpCode(const bool isNational, const SKIM_OCTET family, const SKIM_OCTET code);
Input Parameters,
IsNational: True if National, false if private
family: Operation family. Possible values are provided in Appendix A Table A-1, ANSI TCAP Operation Family (A-2).
code: The operation code specifier.
Input/Output Parameters and Output Parameters:
None
GetOpCode()(For ANSI)
Description
Gets the operation field of a given operation.This is valid only when operation type is:
SKIM_TC_INVOKE
SKIM_TC_RESULT_L
SKIM_TC_RESULT_NL
Syntax
GetOpCode(bool& isNational, SKIM_OCTET& family,
SKIM_OCTET& code);
Input Parameters and Input/Output Parameters
None
Output Parameters
IsNational: True if National, false if private
family: Operation family. Possible values are provided in Appendix A Table A-1, ANSI TCAP Operation Family (A-2).
code: the operation code.
SetErrorCode() (For ITU)
SwitchKit TCAP Interface
591
Description
Sets the error code in an error operation.
Syntax
void SetErrorCode(SKIM_OCTET errorCode);
Input Parameters
code: the error code.
Input/Output Parameters and Output Parameters:
None
GetErrorCode() (For ITU)
Description
Gets the error code in an error operation.
Syntax
void GetErrorCode(SKIM_OCTET &errorCode);
Input Parameters and Input/Output Parameters
None
Output Parameters
code: the error code.
SetErrorCode() (For ANSI)
Description
Sets the error code in an error operation.
Syntax
void SetErrorCode(SKIM_BOOLEAN isNational, SKIM_OCTET errorCode);
Input Parameters
IsNational: True if National, false if private.
code: The error code. Possible values are provided in Appendix - TCAP Codes (A-1).
Input/Output Parameters and Output Parameters
None
GetErrorCode() (For ANSI)
Description
Gets the error code in an error operation.
MSP
592
Syntax
void GetErrorCode(SKIM_BOOLEAN &isNational, SKIM_OCTET &errorCode);
Input Parameters, Input/Output Parameters
None
Output Parameters
IsNational: True if National, false if private.
code: The error code. Possible value provided in Appendix - TCAP Codes (A-1).
SetRejectCause()
Description
Sets the problem code for a reject operation.
Syntax
void SetRejectCause(const SKIM_OCTET type, const SKIM_OCTET code);
Input Parameters
type: The problem family. As specified in Appendix A.
code: The problem code. As specified in Appendix A.
Input/Output Parameters and Output Parameters
None
GetRejectCause()
Description
Gets the problem code for a reject operation.
Syntax
void GetRejectCause(SKIM_OCTET& type, SKIM_OCTET& code);
Input Parameters and Input/Output Parameters
None
Output Parameters
type: The problem family
code: The problem code
SwitchKit TCAP Interface
593
SKIM_Notify Class
Description
This section describes the SKIM_Notify public methods. The SKIM_Notify class provides a public interface for retrieving SKIM notification information.
Summary of Methods
The following lists the methods available with the SKIM_Notify class.
Class SKIM_Notify{
public:
int GetType();
int GetCallReferenceId(SKIM_UINT &id);
int GetCause();
SKIM_OCTET GetCauseType();
SKIM_OCTET GetSSN();
SKIM_UINT GetPC();
SKIM_GetInvokeID();
};
SKIM_Notify Class Methods
This section provides details about the methods available for the SKIM_Notify class.
GetType()
Description
Gets the notification type.
When the user receives a notification, the user should use appropriate get methods based on notification object. The default value returned by all GetXX methods is 0. Zero means that the parameter is not set for the notification.
For the SKIM_NOTIFY_NACK_IND, GetCauseType() provides a transaction type / operation type for the NACK that is received.
The GetCallReferenceId() method is relevant for SKIM_NOTIFY_OP_TIMEOUT notifications. This method returns the call reference ID of the transaction for which a SKIM_NOTIFY_OP_TIMEOUT is received.
The SKIM_NOTIFY_OP_TIMEOUT corresponds to TC-L-CANCEL when an outgoing Invoke operation timeout occurs in the TCAP stack.
MSP
594
For the SKIM_NOTIFY_SCCP_MGMT_IND notification, GetCause() provides the type of SCCP N-State indication received. GetSSN() and GetPC() methods provide the affected PC and SSN.
For the SKIM_NOTIFY_MTP3_MGMT_IND notification, GetCause() provides the type of SCCP N-PCState indication received. GetPC() method provides the affected point code.
Syntax
int GetType();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value:
Notification type. Possible values are:
Value Description
SKIM_NOTIFY_SCCP_MGMT_IND SCCP management indication.
SKIM_NOTIFY_MTP3_MGMT_IND N-PC State management indication.
SKIM_NOTIFY_OP_TIMEOUT Operation timeout. For ITU only.
SKIM_NOTIFY_INTERNAL_ERROR SKIM internal error.
SKIM_NOTIFY_NACK_IND PPL NACK Indication form EXS.
GetCallReferenceId()
Description
Gets the call reference ID for a given notification.
Syntax
SKIM_UINT GetCallReferenceId;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
id: Call reference ID
GetCause()
Description
SwitchKit TCAP Interface
595
Returns the notification cause corresponding to a given notification type. For the SKIM_NOTIFY_NACK_IND notification type, GetCause () returns a PPL event NACK cause value (ack status) received from the MSP 1010.
The SKIM_NOTIFY_INTERNAL_ERROR notification is received for the following causes:
SKIM_TRANS_RECORD_ERROR -Transaction record error
SKIM_INVALID_COMP_ERROR - Invalid component received
SKIM_COMP_RECV_ERROR - Receive error/failed
SKIM_DUP_INVID_ERROR - Duplicate invoke ID
SKIM_UNK_INVID_ERROR - Unknown invoke ID
SKIM_INV_MSG_TYPE_ERROR - Invalid message type
SKIM_RES_LIMT_ERROR - Resource limitation.
Syntax
int GetCause();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Notification cause value.
GetCauseType()
Description
Returns cause type values associated with the SKIM_NOTIFY_NACK_IND notification. For the SKIM_NOTIFY_NACK_IND notification, the cause type value indicates the transaction type or operation type for which the NACK is received from the MSP 1010.
Syntax
SKIM_OCTET GetCauseType();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Cause Type.
GetSSN()
Description
Gets affected subsystem number associated with SKIM_NOTIFY_SCCP_MGMT_IND notification
MSP
596
Syntax
SKIM_OCTET GetSSN();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Subsystem number.
GetPC()
Description
Gets affected point code associated with SKIM_NOTIFY_SCCP_MGMT_IND and SKIM_NOTIFY_MTP3_MGMT_IND notification.
Syntax
SKIM_UINT GetPC();
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value
Point code value.
GetInvokeId()
Description
Returns the invoke ID of an operation. Invoke IDs are common to all operation types.
Syntax
SKIM_OCTET GetInvokeId();
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value
The invoke ID as an unsigned char.
SwitchKit TCAP Interface
597
SKIM_CallingPartyAddress / SKIM_CalledPartyAddress Class
Description
SKIM_ CallingPartyAddress / SKIM_CalledPartyAddress object supports the public methods that are explained in the following sections.
Summary of Methods
The following lists the methods available with the SKIM_ CallingPartyAddress / SKIM_CalledPartyAddress class.
Class SKIM_ CallingPartyAddress / SKIM_CalledPartyAddress
{
public:
Bool HasPointCode() const
SKIM_UINT GetPointCode() const
void
SetPointCode(const SKIM_UINT pc)
{
hasPC = true;
pointCode = pc;
}
Bool HasSSN() const
SKIM _OCTET GetSSN() const
Void SetSSN(const SKIM_OCTET sn)
Bool IsRoutedByPCSSN() const
Void SetRouteByPCSSN(const bool which)
Bool IsInternationalRouting() const
void
SetInternationalRouting(const bool which)
bool
HasGlobalTitle() const
int
SetGlobalTitle(const SKIM_OCTET type,
const SKIM_OCTET* gttInfo, const SKIM_USHORT gttLength)
int
GetGlobalTitle(SKIM_OCTET& type,
SKIM_OCTET* gttInfo, SKIM_USHORT& gttLength) const
};
SKIM_CallingPartyAddress/SKIM_CalledParty Address Class Methods
MSP
598
This section provides details about the methods available for the SKIM_ CallingPartyAddress / SKIM_CalledPartyAddress class.
HasPointCode()
Description
Determines whether an SCCP_Address object has a point code.
Syntax
Bool HasPointCode() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
A Boolean value, true if the point code was set, false otherwise.
GetPointCode()
Description
Retrieves the point code value from an SCCP_Address object.
Syntax
SKIM_UINT GetPointCode() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Returns the point code value as an unsigned integer.
SetPointCode()
Description
Sets the point code value for an SCCP_Address object.
Syntax
void
SetPointCode(const SKIM_UINT pc)
{
hasPC = true;
pointCode = pc;
Input Parameters
SwitchKit TCAP Interface
599
pc: The value to store for the point code.
Input/Output Parameters and Output Parameters
None
Return Value
None
HasSSN ()
Description
Determines whether an SCCP_Address object has a subsystem number (SSN).
Syntax
Bool HasSSN() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
A boolean value, true if the SSN was set, false otherwise.
GetSSN ()
Description
Retrieves the subsystem number value from an SCCP_Address object.
Syntax
void
Input Parameters, Input/Output Parameters, & Output Parameters
None
SKIM _OCTET GetSSN() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
Returns the subsystem number value as an unsigned char.
SetSSN ()
Description
Sets the subsystem number value for an SCCP_Address object.
Syntax
MSP
600
Void SetSSN(const SKIM_OCTET sn)
Input Parameters:
ssn: The value to store for subsystem number (SSN).
Input/Output Parameters and Output Parameters
Return Value
None
IsRoutedByPCSSN()
Description
Determines whether the "routed by" flag value for an SCCP_Address object has been set. Setting this to false implies routing by global title translation (GTT). To send this message properly with the false setting, you must use the SetGlobalTitle() method.
Syntax
Bool IsRoutedByPCSSN() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
True if the value has been set, otherwise False.
SetRouteByPCSSN()
Description
Sets the "routed by" flag value for an SCCP_Address object. Setting this to false implies routing by global title translation (GTT).
Syntax
Void SetRouteByPCSSN(const bool which)
Input Parameters
which: the value to store for the "routed by" flag.
Input/Output Parameters and Output Parameters
None
Return Value
None
IsInternationalRouting()
Description
SwitchKit TCAP Interface
601
Determines whether an SCCP_Address object had the international routing flag set.
Syntax
Bool IsInternationalRouting() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
A boolean value, true if the flag was set, false otherwise.
SetInternationalRouting ()
Description
Sets the international routing flag value for an SCCP_Address object.
Syntax
void SetInternationalRouting(const bool which)
// Global title
Input Parameters
which: The value to store for the international routing flag.
Input/Output Parameters and Output Parameters
None
HasGlobalTitle()
Description
Determines whether an SCCP_Address object has global title information.
Syntax
bool
HasGlobalTitle() const
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
A boolean value, true if the global title was set, false otherwise.
SetGlobalTitle()
Description
MSP
602
Sets global title information for this address.
Syntax
int
SetGlobalTitle(const SKIM_OCTET type,
const SKIM_OCTET* gttInfo, const SKIM_USHORT gttLength)
Input Parameters
which: The value to store for the international routing flag
Input/Output Parameters and Output Parameters
None
type: The address indicator flag for this global title translation (GTT) type.
Possible values for ITU SCCP are:
Value Description
SCCP_CPA_GTTI_NATURE Global title contains nature of address.
SCCP_CPA_GTTI_TRANS Global Title contains translation type.
SCCP_CPA_GTTI_TNE Global Title contains translation type, numbering plan and encoding cheme.
SCCP_CPA_GTTI_ALL Global title contains translation type, nayure of address, numbering plan, and encoding scheme
Possible values for ANSI SCCP are:
Value Description
SCCP_CPA_GTTI_TRANS Global Title contains translation type.
SCCP_CPA_GTTI_TNE Global Title contains translation type, numbering plan and encoding scheme.
gttInfo: The global title information. Global title information should be encoded in accordance with GTT type, as specified in ITU / ANSI SCCP specification.
gttLength: the size of the GTT information.
Return Value
None
GetGlobalTitle
Description
Gets the global title information for this address.
Syntax
SwitchKit TCAP Interface
603
int
GetGlobalTitle(SKIM_OCTET& type,
SKIM_OCTET* gttInfo, SKIM_USHORT& gttLength) const
Input Parameters and Input/Output Parameters
None
Output Parameters
type: The address indicator flag for this GTT type.
Possible values for ITU SCCP are:
Value Description
SCCP_CPA_GTTI_NATURE Global title contains nature of address.
SCCP_CPA_GTTI_TRANS Global Title contains translation type.
SCCP_CPA_GTTI_TNE Global Title contains translation type, numbering plan, and encoding scheme.
SCCP_CPA_GTTI_ALL Global title contains translation type, nayure of address, numbering plan and encoding scheme.
Possible values for ANSI SCCP are:
Value Description
SCCP_CPA_GTTI_TRANS Global Title contains translation type.
SCCP_CPA_GTTI_TNE Global Title contains translation type, numbering plan and encoding scheme.
gttInfo: The global title translation information. Global title information should be encoded in accordance with GT type, as specified in ITU / ANSI SCCP specification.
gttLength: The size of the GTT information.
Return Value
None
MSP
604
SKIM Sample Application
Step One: Creating a connection with LLC using SwitchKit
The API function described in this section allows you to create a connection with LLC using SwitchKit.
Application Code
{
int ret;
/* create the connection */
ret = skts_createConnection(CONN_ID, CONN_LABEL, CONN_NAME,
SKIM_FALSE,
PRI_IP, PRI_PORT,
BACK_IP, BACK_PORT);
if (ret == 0)
{
fprintf(stderr, "Error connecting to switch\n");
return (SKIM_EINVALIDARGS);
}
return (SKIM_SUCCESS);
}
SwitchKit TCAP Interface
605
Step Two: Creating an Instance of SKIM API Class
The API function described in this section allows you to create an instance of a SKIM API class.
Application Code
SKIM_Api api_classptr;
// LOCAL_NODE - value created during configuration
// STACK_ID - Stack Id for the stack instance created during
// configuration.
// CONN_ID - Same as created in step one.
// LOCAL_PC - Local Point Code for stack instance.
// LOCAL_SSN - local subsystem number for stack instance.
// APP_TransHandler - Default Handler for handling incoming
// TCAP Transaction messages.
// APP_NotifyHandler - Default Handler for handling incoming
// SKIM notifications.
// tag - Tag to be returned with handler functions.
res = api_classptr.Initialize(LOCAL_NODE, STACK_ID, CONN_ID, LOCAL_PC,
LOCAL_SSN,
APP_TransHandler,
APP_NotifyHandler, NULL);
if (res != SKIM_SUCCESS)
{
printf("\n Initialization FAILED !!!!!!!!!");
api_classptr.Terminate();
exit(0);
}
else
{
printf("\n SUCCESS FROM INITIALIZATION API !!\n");
}
MSP
606
Step Three: Sending a TCAP Transaction
The API function described in this section allows you to send a TCAP transaction.
Application Code
// Create SKIM_Trans object of type SKIM_TC_BEGIN
SKIM_Trans trans (SKIM_TC_BEGIN);
// Create objects for calling party and called party
// address.
SKIM_CallingPartyAddr origAddr;
SKIM_CalledPartyAddr destAddr;
// Populate OPC and DPC
trans.SetOPC(LOCAL_PC);
trans.SetOPC(REMOTE_PC);
// populate calling party address
origAddr.SetSSN(LOCAL_SSN);
origAddr.SetPointCode(LOCAL_PC);
origAddr.SetRouteByPCSSN(true);
#if defined(CCITT)
origAddr.SetInternationalRouting(true);
#elif defined (ANSI)
origAddr.SetInternationalRouting(false);
#endif
// Set calling party address for begin transaction.
trans.SetSourceAddress(origAddr);
//Set Called Party Address
destAddr.SetSSN(REMOTE_SSN);
destAddr.SetPointCode(REMOTE_PC);
destAddr.SetRouteByPCSSN(true);
#if defined(CCITT)
destAddr.SetInternationalRouting(true);
#elif defined (ANSI)
destAddr.SetInternationalRouting(false);
#endif
// Set called party address for begin transaction.
trans.SetDestAddress(destAddr);
// Set quality of service for the transaction message.
SKIM_OCTET priority;
priority = 0;
trans.SetQualityOfService(QOSI_RET_OPT|SKIM_QOSI_RET_OPT, priority);
// Adding a operation to transaction object.
// Create operation of type SKIM_TC_INVOKE
SwitchKit TCAP Interface
607
SKIM_Operation op(SKIM_TC_INVOKE);
// Set Invoke Id.
op.SetInvokeId(1 + i);
// Set Operation Code
#if defined(CCITT)
op.SetOpCode(100);
// Set Operation Class for invoke operation.
op.SetClass(1); // Set Invoke operation timeout
op.SetInvokeTimeout(10);
#else defined(ANSI)
op.SetOpCode(true, 1, 1);
#endif
// Set ASN.1 encoded TCAP User parameters
op.SetParameter(SKIM_Encode());
// Add operation to the transaction object.
trans.AddOperation(op);
// Send transaction to EXS
ret = api_classptr.Send(trans);
if (ret != SKIM_SUCCESS)
{
printf("Send transaction failed ret = %d", ret);
return ret;
}
// Get the call reference id allocated for this transaction.
SKIM_UINT callrefid = ;
trans.GetCallReferenceId();
MSP
608
Step Four: Receiving a TCAP Transaction
The API function described in this section allows you to receive a TCAP transaction. Transactions are received via transaction handler and registered during initialization. Sample implementation for transaction handler is shown in the following code excerpt.
Application Code
int APP_TransHandler( SKIM_Trans &trans, void *tag)
{
SKIM_OCTET type;
printf("APP_TransHandler Called\n");
SKIM_UINT id;
trans.GetCallReferenceId(id);
trans.GetTransType(type);
switch(type)
{
case SKIM_TC_UNI:
rcvd_callrefid = id;
printf ("Received TCAP UNI call reference id is %x\n", id);
AppReceiveOperation(trans);
break;
case SKIM_TC_BEGIN :
rcvd_callrefid = id;
printf ("Received TCAP Begin call reference id is %x\n", id);
AppReceiveOperation(trans);
break;
case SKIM_TC_CONTINUE :
rcvd_callrefid = id;
printf ("Received TCAP Continue call reference id is %x\n", id);
AppReceiveOperation (trans);
break;
case SKIM_TC_END :
rcvd_callrefid = id;
printf ("Received TCAP End call reference id is %x\n", id);
AppReceiveOperation (trans);
break;
#if defined(ANSI)
case SKIM_TC_ABORT :
rcvd_callrefid = id;
printf ("Received TCAP Abort call reference id is %x\n", id);
break;
SwitchKit TCAP Interface
609
#endif
#if defined(CCITT)
case SKIM_TC_U_ABORT :
rcvd_callrefid = id;
printf ("Received TCAP Abort call reference id is %x\n", id);
break;
case SKIM_TC_P_ABORT :
rcvd_callrefid = id;
printf ("Received TCAP Abort call reference id is %x\n", id);
break;
case SKIM_TC_P_ABORT :
rcvd_callrefid = id;
printf ("Received TCAP Abort call reference id is %x\n", id);
break;
#endif
default :
printf("Unknown transaction received\n");
break;
};
return SKIM_SUCCESS;
}
AppReceiveOperation(SKIM_Trans &trans)
{
SKIM_Operation op;
while (trans.RemoveOperation(op) == SKIM_SUCCESS)
{
if (op.GetType() == SKIM_TC_INVOKE)
{
rcvd_invoke_id = op.GetInvokeId();
printf("Received Invoke with Invoke id = %d\n",
op.GetInvokeId());
vector<byte> paramData;
op.GetParameter(paramData);
SKIM_Decode(paramData);
}
else if (op.GetType() == SKIM_TC_RESULT_L)
{
printf("Received Return Result Last with Invoke id = %d\n",
op.GetInvokeId());
vector<byte> paramData;
op.GetParameter(paramData);
MSP
610
SKIM_DecodeResponse(paramData);
}
#if defined(ANSI)
else if (op.GetType() == SKIM_TC_ERROR)
{
printf("Received Return Error with Invoke id = %d\n",
op.GetInvokeId());
}
#endif
#if defined(CCITT)
else if (op.GetType() == SKIM_TC_U_ERROR)
{
printf("Received Return Error Last with Invoke id = %d\n",
op.GetInvokeId());
}
#endif
#if defined(ANSI)
else if (op.GetType() == SKIM_TC_REJECT)
{
printf("Received Return Reject with Invoke id = %d\n",
op.GetInvokeId());
}
#endif
#if defined(CCITT)
else if (op.GetType() == SKIM_TC_U_REJECT ||
op.GetType() == SKIM_TC_L_REJECT ||
op.GetType() == SKIM_TC_R_REJECT)
{
printf("Received Return Error Last with Invoke id = %d\n",
op.GetInvokeId());
}
#endif
else
{
printf("Unknown operation type received\n");
}
}
}
SwitchKit TCAP Interface
611
Step Five: Receiving Notifications
Notifications are received via notification handler, registered during initialization. A sample implementation for the notification handler is shown in the following code excerpt.
Application Code
int APP_NotifyHandler( SKIM_Notify ¬ify, void *tag)
{
printf("APP_NotifyHandler Invoked\n");
int type = notify.GetType();
switch(type)
{
case SKIM_NOTIFY_OP_TIMEOUT :
printf ("Operation Timeout Notification Message Received\n");
break;
case SKIM_NOTIFY_SCCP_MGMT_IND :
printf ("SCCP Management Notification Message Received\n");
break;
case SKIM_NOTIFY_MTP3_MGMT_IND :
printf ("MTP3 Management Notification Message Received\n");
break;
case SKIM_NOTIFY_INTERNAL_ERROR :
printf ("SKIM Internal Error Notification Message Received\n");
break;
default :
printf("Unknown Notification Received \n");
break;
};
return SKIM_SUCCESS;
}
MSP
612
Step Six: Terminating SKIM API Object Disconnection
The API function described in this section is used to terminate a SwitchKit Interface Module API object and disconnect from the LLC.
Application Code
api_classptr.Terminate();
if (CONN_ID)
{
skts_destroyConnection(connection);
connection = NULL;
}
classc
SwitchKit TCAP Interface
613
SwitchKit TCAP Abstraction Level
sktal_allocateTCAPDialogID()
Description
This function allocates TCAP dialogue ID.
Syntax
int sktal_allocateTCAPDialogID(int instanceId, unsigned *did);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
*did Pointer to the TCAP dialogue.
Input/Output Parameters
None
Output Parameters
Argument Description
dialogueId TCAP dialogue ID
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
MSP
614
sktal_clearTCAPDialogHandler()
Description
The user must remove the transaction handler once the transaction has been completed (by receiving TC-U-ABORT, TC-P-ABORT, TC-END, or TC-UNI, or sending TC-U-ABORT, TC-END, or TC-UNI). It is imperative to NOT take this step until the last message for a transaction has been sent or received.
Syntax
int sktal_clearTCAPDialogueHandler(int instanceId,
unsigned dialogueId);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
dialogueId TCAP dialogue ID
Input/Output Parameters and Output Parameters
None.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
SwitchKit TCAP Interface
615
sktal_getTCAPHandle()
Description
This function returns a handle for a given instance ID (node/stack/SSN). The handle is a pointer to a control block for the given instance ID.
Syntax
SKTAL_HANDLE sk_getTCAPHandle(int instanceId);
Input Parameters
Argument Description
instance id Instance corresponding to node ID/stack ID/SSN.
Parameters
There are no input/ouput parameters, or output parameters.
Return Value
Returns a handle to control block.
MSP
616
sktal_initializeTCAP()
Description
This method is one time call for global initialization of TCAP Abstraction layer.
Syntax
int sktal_initializeTCAP();
Parameters
There are no input parameters, input/ouput parameters, or output parameters.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C Table C-2, SKTAL Return Codes.
SwitchKit TCAP Interface
617
sktal_recvTCAPComponent()
Description
This method receives a TCAP component information from a SKTAL_EVENT.
Syntax
int sktal_recvTCAPComponent(int instanceId, SKTAL_EVENT *ev,
unsigned *dialogueId, SKTAL_CPT *cpt);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
ev Event containing dialogue information
Input/Output Parameters
None
Output Parameters
Argument Description
dialogueId TCAP dialogue ID
cpt Pointer to the structure containing component information
For definition see Appendix D, SKTAL_DLG and SKTAL_CPT Structure Definitions.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
MSP
618
sktal_recvTCAPDialog()
Description
This method receives TCAP dialogue information from a SKTAL_EVENT.
Syntax
int sktal_recvTCAPDialog(int instanceId, SKTAL_EVENT *ev,
unsigned *dialogueId, SKTAL_DLG *dlg);
Input Parameters
instanceId: instance for registered node/stack/snn combination.
ev: event containing dialogue information.
The SKTAL_EVENT is defined in Appendix C.
Input/Output Parameters
None
Output Parameters
Argument Description
dialogueId TCAP dialogue ID
dlg Pointer to the structure containing TCAP dialogue information
For definition see Appendix D, SKTAL_DLG and SKTAL_CPT Structure Definitions.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
SwitchKit TCAP Interface
619
sktal_registerTCAPSSNHandler()
Description
This function registers the application with a given node/stack/subsystem. A generic handler will be added to the handler stack that will filter messages for the given subsystem. When a new TCAP transaction is seen, or when sk_TCAP_AllocateDialogueID is called, the NewDialogueHandler function argument will be invoked. This function is expected to register a per dialogue handler (via sktal_setTCAPDialogHandler) for the new dialogue. All incoming messages within that dialogue sequence will be passed to that handler.
When using multiple running applications on the same subsystem number, the startRange and endRange arguments should be modified to divide the dialogue IDs between them. For example, when using two applications the values are:
Application 1
Application 2
startRange = 0
startRange = 4096
endRange = 4095
endRange = 8191
Syntax
int sktal_registerTCAPSSNHandler (int localNodeId, int stackId, int pc, int pc, int ssn, SK_TCAP_NewDialogHandler h,int *instanceId int connID, int startRange=0, int endRange=SK_MAX_TCAP_DIALOGS-1);
Input Parameters
Argument Description
localNodeId local node ID
stackId stack ID
pc point code
ssn Subsystem Number
h Handler function for new TCAP dialogues.
The prototype for new dialogue handler is:
typedef int (*SKTAL_NewDialogHandler)(int instanceId, unsigned newDialogId);
connId connection ID
MSP
620
startRange Starting dialogue ID allocated to this application (For the specific SSN)
endRange Ending dialogue ID allocated to this application (For the specifc SSN)
Input/Output Parameters
None
Output Parameters
Argument Description
instanceId Instance for given node/stack/SNN combination
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
SwitchKit TCAP Interface
621
sktal_sendTCAPComponent()
Description
This method sends a TCAP component message.
Syntax
int sktal_sendTCAPComponent(int instanceId, unsigned dialogueId, SKTAL_CPT *cpt);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
dialogueId TCAP dialogue ID
cpt Pointer to the structure containing component information
For definition see Appendix D, SKTAL_DLG and SKTAL_CPT Structure Definitions.
Input/Output Parameters and Output Parameters
None.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
MSP
622
sktal_sendTCAPDialog()
Description
This method sends a TCAP dialogue message.
Syntax
int sktal_sendTCAPDialog(int instanceId, unsigned dialogueId, SKTAL_DLG *dlg);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
dialogueId TCAP dialogue ID
dlg Pointer to the structure containing TCAP dialogue information
For definition See Appendix D, Table , SKTAL_DLG and SKTAL_CPT Structure Definitions
Input/Output Parameters and Output Parameters
None.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
SwitchKit TCAP Interface
623
sktal_setTCAPDialogueHandler ()
Description
Specifies a function to be invoked for incoming messages within a given transaction (identified by the Dialogue ID). The incoming event and the Dialogue ID invoke the handler; the handler should examine the event and invoke either sk_recvTCAPDialogue or sk_recvTCAPComponent.
Syntax
int sktal_setTCAPDialogueHandler(int instanceId, unsigned dialogueId, SKTAL_TCAP_DialogueHandler handler, void *tag);
Input Parameters
Argument Description
instanceID Instance for given node/stack/SNN combination
dialogueId TCAP dialogue ID
handler TCAP dialogue handler function.
The prototype for new dialogue handler is:
typedef int (*SKTAL_DialogHandler)(int instanceId, SKTAL_EVENT *ev, void *tag);
Input/Output Parameters and Output Parameters
None
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Codes.
MSP
624
sktal_terminateTCAP()
Description
This method is a one time call for global termination of TCAP Abstraction layer.
Syntax
void sktal_terminateTCAP();
Parameters
There are no input parameters, input/ouput parameters, or output parameters.
Return Value
None.
SwitchKit TCAP Interface
625
sktal_unregisterTCAPSSNHandler ()
Description
This function removes (and terminates) the subsystem identified during registration. All active transactions are terminated by the PreArrangedEnd() method.
Syntax
int sktal_unregisterTCAPSSNHandler (int instanceId);
Input Parameters
Argument Description
instanceId Instance for given node/stack/SSN combination
Input/Output Parameters and Output Parameters
None.
Return Value
SKTAL_SUCCESS: If method is successful.
SKTAL return code as defined in Appendix C, Table C-2, SKTAL Return Code.
MSP
626
SwitchKit TCAP Abstraction Layer Messaging API
SwitchKit TCAP Abstraction Layer (SKTAL) provides various methods to develop an application.
Summary of Methods
This section describes the interface methods that are provided with the SwitchKit TCAP Abstraction Layer (SKTAL). Further on, you will see details of each method.
int sktal_initializeTCAP();
SKTAL_HANDLE sktal_getTCAPHandle(int instanceId);
int sktal_registerTCAPSSNHandler (int localNodeId,
int stackId,
int connId,
int pc,
int ssn,
SK_TCAP_NewDialogueHandler h,
int *instanceId);
int sktal_unregisterTCAPSSNHandler (int instanceId);
int sktal_setTCAPDialogueHandler(int instanceId,
unsigned dialogueId,
SKTAL_TCAP_DialogueHandler handler,
void *tag);
int sktal_clearTCAPDialogueHandler(int instanceId,
unsigned dialogueId);
int sktal_allocateTCAPDialogueID(int instanceId, unsigned *did);
int sktal_sendTCAPDialog(int instanceId, unsigned dialogueId, SKTAL_DLG *dlg);
int sktal_recvTCAPDialog(int instanceId, SKTAL_EVENT *ev,
unsigned *dialogueId, SKTAL_DLG *dlg);
int sktal_sendTCAPComponent(int instanceId, unsigned dialogueId, SKTAL_CPT *cpt);
int sktal_recvTCAPComponent(int instanceId, SKTAL_EVENT *ev,
unsigned *dialogueId, SKTAL_CPT *cpt);
SwitchKit TCAP Interface
627
SKTAL Parameter Classes
SKTAL Parameter Classes
Overview
From an end-user point of view, transaction capabilities are above the network layer of the OSI seven layer reference model. The provision of network layer services to end-users requires communication between TCAP-users at various network nodes; these intra-network communications may in turn be modeled using the OSI Model.
As illustrated in the next diagram, the TCAP is structured in two interfaces for the TCAP components and TCAP dialogs.
Diagram of Structure of TCAP Classes
This section describes the two main classes, TCAP_Component and TCAP_Dialogue, their subclasses, and the methods of each.
Important! SKTAL C++ interface is defined under namespace sktal.
MSP
628
Class TCAP_Component
Purpose
The purpose of the TCAP_Component interface is to define the base class for all TCAP components. The class, while not abstract, should be considered as such, it is not intended that a user ever create a TCAP_Component class object.
Summary of Methods
The following methods are used within the TCAP_Component
// Type
SKTAL_USHORT GetComponentType() const;
// Last component
SKTAL_USHORT GetLast() const;
// Invoke ID
void SetInvokeID(const SKTAL_OCTET val);
SKTAL_OCTET GetInvokeID() const;
// Send
static int Send(SKTAL_HANDLE handle,
TCAP_Dialogue* dlg,
TCAP_Component* cpt);
// Receive
static int Receive(SKTAL_HANDLE handle,
SKTAL_Event& ev,
TCAP_Dialogue* dlg,
TCAP_Component** cpt);
virtual void Print(std::ostream& os) const;
GetComponentType()
Description
Returns the type of this component.
Syntax
SKTAL_USHORT GetComponentType() const;
Input Parameters, Input/Output Parameters & Output Parameters
None
Return Value
SwitchKit TCAP Interface
629
The type of this component is an unsigned short:
If defined ITU:
TCPPT_TC_INVOKE
TCPPT_TC_RESULT_L (where L means last)
TCPPT_TC_RESULT_NL (where NL means not last)
TCPPT_TC_U_ERROR
TCPPT_TC_L_REJECT
TCPPT_TC_U_REJECT
TCPPT_TC_R_REJECT
TCPPT_TC_L_CANCEL
TCPPT_TC_U_CANCEL
TCAP_PT-TC_TIMER_RESET
If defined ANSI:
TCPPT_TC_INVOKE_NL
TCPPT_TC_INVOKE (Same as invoke last)
TCPPT_TC-RESULT-L
TCPPT_TC_RESULT_NL
TCPPT_TC_ERROR
TCPPT_TC_REJECT
TCPPT_TC_CANCEL
GetLast()
Description
Returns a Boolean indicating if this is the last component in this PDU
Syntax
SKTAL_USHORT GetLast() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
true: True if this instance is the last component in this PDU.
false: If this instance is not the last component in this PDU
SetInvokeID()
MSP
630
Description
This method takes an invoke ID from user and converts it into the form expected by TCAP. As invoke IDs are common to all TCAP components, the SetInvokeID method is defined in the TCAP_Component base class.
Syntax
void SetInvokeID(const SKTAL_OCTET val);
Input Parameters
val: The invoke ID value. Range is 0-255
Input/Output Parameters and Output Parameters
None
Return Value
None
GetInvokeID()
Description
This method returns the invoke ID of a component. Since invoke IDs are common to all TCAP components, the GetInvokeID method is defined in the TCAP_Component base class. If no invoke ID has been received then the invoke ID is set to zero.
Syntax
SKTAL_OCTET GetInvokeID() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The invoke ID as an unsigned character.
Send()
Description
SwitchKit TCAP Interface
631
This method sends a TCAP message and returns a Boolean indication if the message is successfully sent. This send method is static. The value of SKTAL_SUCCESS is 0.
Syntax
static int Send(SKTAL_HANDLE handle,
TCAP_Dialogue* dlg,
TCAP_Component* cpt);
Input Parameters
handle: The transport being sent. For getting the handle use sktal_getTCAPHandle() API
dlg: The TCAP dialogue primitive of which this component is part.
cpt: The TCAP component primitive of which this component is part.
Input/Output Parameters and Output Parameters
None
Return Value
If the message is successfully sent, SKTAL_SUCCESS is returned. Any other return value indicates an error.
Receive()
Description
This method receives a TCAP message and returns a Boolean indication if the message is successfully received. This Receive method is static.
Syntax
static int Receive(SKTAL_HANDLE handle,
SKTAL_Event& ev,
TCAP_Dialogue* dlg,
TCAP_Component** cpt);
Input Parameters
handle: The transport that received this event. For getting the handle use sktal_getTCAPHandle() API
ev: The event primitive this component is associated with.
dlg: The dialogue primitive this component is associated with.
MSP
632
cpt: The component primitive this component is associated with.
Input/Output Parameters
None
Output Parameters
cpt: The constructed component
Return Value
SKTAL_SUCCESS: If the component is successfully received. Any other return code indicates an error.
Print()
Description
This method prints the contents of the component to the output stream that is passed in to the method. This print method is virtual.
Syntax
virtual void Print (std::ostream& os) const;
Input Parameters
os: The output stream to print the contents to
Input/Output Parameters and Output Parameters
None
Return Value
None
SwitchKit TCAP Interface
633
Class TCAP_Abort : public TCAP_Dialogue
Purpose
The purpose of the TCAP_Abort message class is to define the basic interface for aborting TCAP transactions. Note that this class can be user-generated for ITU TCAP, but is stack-generated only with ANSI TCAP.
Summary of Methods
The TCAP_Abort message class includes the following methods:
// Component present
virtual bool IsComponentPresent() const;
virtual void SetComponentPresent(bool);
// Abort reason
SKTAL_OCTET GetAbortReason() const;
void SetAbortReason(SKTAL_OCTET reason);
void GetAbortInfo(SKTAL_OCTET *buf, int &len);
void SetAbortInfo(SKTAL_OCTET *buf, int &len);
IsComponentPresent()
Syntax
See class TCAP_Dialogue
virtual bool IsComponentPresent() const;
SetComponentPresent()
Description
This method can be used to set the components associated with the dialogue. The SetComponentPresent method is a virtual method.
Syntax
virtual void SetComponentPresent(bool);
Input Parameters and Output Parameters
None
Input/Output Parameters
MSP
634
True: present the component
False: do not present the component
Return Value
None
SetAbortReason()
Description
This method can be used to set the abort reason of a dialogue
Syntax
void SetAbortReason(SKTAL_OCTET reason);
Input Parameters
reason: The abort reason
Input/Output Parameters and Output Parameters
None
Return Value
None
GetAbortReason()
Description
This method returns the abort reason of a dialogue
Syntax
SKTAL_OCTET GetAbortReason() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The abort reason as an unsigned character.
SwitchKit TCAP Interface
635
GetAbortInfo()
Description
This method gets the abort information for SKIM_TC_ABORT for an ANSI transaction type.
Syntax
void GetAbortInfo(SKTAL_OCTET *buf, int &len);
Input Parameters, Input/Output Parameters
None
Output Parameters
buf: Abort information
len: Information length
SetAbortInfo()
Description
This method sets the abort information for SKIM_TC_ABORT for an ANSI transaction type.
Syntax
void SetAbortInfo(SKTAL_OCTET *buf, int &len);
Input Parameters
buf: Abort information
len: Information length
Input/Output Parameters, & Output Parameters
None
MSP
636
Class TCAP_Begin : public TCAP_Dialogue
Purpose
The purpose of the TCAP_Begin message class is to define the interface for beginning TCAP transactions. The class implements TCPPT_TC_BEGIN (ITU) and TCPPT_TC_QUERY_W_PERM/TCPPT_TC_QUERY_WO_PERM (ANSI) dialogues. This message begins a communication session for remote operations. In ANSI, a Boolean may be passed to this Class Constructor. If this Boolean is true (default value), TC_QUERY_WITH_PERM is sent out, else TC_QUERY_WO_PERM.
Summary of Methods
The TCAP_Begin message class includes the following methods:
// Xcvr checks
virtual bool SendCheck() const;
virtual bool ReceiveCheck();
// Point code (orig)
void GetOPC(SKTAL_UINT& pointCode) const;
// Point code (dest)
void SetDPC(const SKTAL_UINT pointCode);
// Full SCCP Address (orig)
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetOrigAddr(const SCCP_Address& addr);
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetOrigAddr(SCCP_Address& addr) const;
// Full SCCP Address (dest)
void SetDestAddr(const bool isNational,
const SKTAL_UINT pointCode,
SwitchKit TCAP Interface
637
const SKTAL_OCTET ssn);
void SetDestAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetDestAddr(const SCCP_Address& addr);
void GetDestAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetDestAddr(SKTAL_OCTET& addrInd,
GetDestAddr(SCCP_Address& addr) const;
SendCheck()
Syntax
See class TCAP_Dialogue
virtual bool SendCheck() const;
ReceiveCheck()
See class TCAP_Dialogue
Syntax
virtual bool ReceiveCheck();
GetOPC()
Description
This method gets the OPC for this dialogue primitive from discrete information. OPC contained in MTP routing label is received from the MSP 1010 for TCAP BEGIN/QWP/QWOP messages as a optional parameter. OPC is included by the MSP 1010, only if SCCP CGPA does not contain a point code.
Syntax
void GetOPC(SKTAL_UINT& pointCode) const;
void GetOPC(MTP3_POINT_CODE& pc) const;
void GetOPC(MTP3_PointCode& pc) const;
Input Parameters and Input/Output Parameters
None
Output Parameters
pointCode: the point code of this address
MSP
638
Return Value
None
SetDPC()
Description
Sets the DPC for this dialogue primitive. This method sets the DPC in the routing label of outgoing TCAP BEGIN/QWP/QWOP messages. A DPC set using the SetDPC method will come into effect only if SCCP CDPA does not contain a point code.
Syntax
void SetDPC( const SKTAL_UINT pointCode);
Input Parameters
pointCode - the point code of this address
Input/Output Parameters and Output Parameters
None
SetOrigAddr()
See class TCAP_Unidirectional
Syntax
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetOrigAddr(const SCCP_Address& addr);
GetOrigAddr()
SwitchKit TCAP Interface
639
Syntax
See class TCAP_Unidirectional
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetOrigAddr(SCCP_Address& addr) const;
SetDestAddr()
See class TCAP_Unidirectional
Syntax
void SetDestAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetDestAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetDestAddr(const SCCP_Address& addr);
GetDestAddr()
Syntax
See class TCAP_Unidirectional
void GetDestAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetDestAddr(SKTAL_OCTET& addrInd,
MSP
640
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetDestAddr(SCCP_Address& addr) const;
SwitchKit TCAP Interface
641
Class TCAP_Cancel : public TCAP_Component
Purpose
The purpose of the TCAP_Cancel component is an artificial (at least for ANSI) component that is generated when an invoke operation times out. The ANSI version of TCAP does not have this component; instead, IntelliNet generates this component for the user. The TCAP_Cancel component includes the following methods:
GetDialogueID()
Description
This method returns the context information for a dialogue (that is, its "Dialogue ID"). This information should be copied from the Begin primitive when constructing continue or end dialogues. The user must obtain a Dialogue ID from the stack when initiating a transaction. This is done by calling TCAP_AllocateDialogueID().
Syntax
SKTAL_USHORT GetDialogueID() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The Dialogue ID as an unsigned short.
MSP
642
Class TCAP_Continue : public TCAP_Dialogue
Purpose
The purpose of the TCAP_Continue message class is to define the basic interface for continuing TCAP transactions. The class implements both TCPPT_TC_CONTINUE (ITU), and TCPPT_TC_CONV_W_PERM/TCPPT_TC_CONV_WO_PERM (ANSI) dialogues. In ANSI, a Boolean may be passed to this Class Constructor. If this Boolean is true (default value), TC_QUERY_WITH_PERM is sent out, else TC_QUERY_WO_PERM. When the user does not wish to use simple request/response transactions, the TCAP_Continue dialogue is used to exchange components without terminating the transaction.
Summary of Methods
The TCAP_Continue message class includes the following methods:
// Xcvr checks
virtual bool SendCheck() const;
virtual bool ReceiveCheck();
// Full SCCP Address (orig)
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetOrigAddr(const SCCP_Address& addr);
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetOrigAddr(SCCP_Address& addr) const;
SendCheck()
See class TCAP_Dialogue
Syntax
SwitchKit TCAP Interface
643
virtual bool SendCheck() const;
ReceiveCheck()
See class TCAP_Dialogue
Syntax
virtual bool ReceiveCheck();
SetOrigAddr()
See class TCAP_Unidirectional
Syntax
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(const SKTAL_OCTET addrInd,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn,
const SKTAL_OCTET* gttInfo,
const SKTAL_USHORT gttLen);
void SetOrigAddr(const SKTAL_OCTET addrInd,
const MTP3_PointCode& pointCode,
const SKTAL_OCTET ssn,
const SKTAL_ByteArray& gttInfo);
void SetOrigAddr(const SCCP_ADDR& addr);
void SetOrigAddr(const SCCP_Address& addr);
GetOrigAddr()
See class TCAP_Unidirectional
Syntax
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
MSP
644
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetOrigAddr(SCCP_Address& addr) const;
SwitchKit TCAP Interface
645
Class TCAP_Dialogue
Purpose
The purpose of the TCAP_Dialogue interface is to define the base class for all TCAP dialogues. The class, while not abstract, should be considered as such. It is not intended that a user ever create a naked object.
Summary of Methods
The TCAP_Dialogue interface includes the following methods:
// Dialogue type
SKTAL_USHORT GetDialogueType() const;
// Dialogue ID
void SetDialogueID(const SKTAL_USHORT did);
SKTAL_USHORT GetDialogueID() const;
// Component present
virtual bool IsComponentPresent() const;
// Quality of service
virtual void SetQualityOfService(const SKTAL_OCTET flags,
const SKTAL_OCTET priority = 0);
virtual void GetQualityOfService(SKTAL_OCTET& flags,
SKTAL_OCTET& priority) const;
// Application context
virtual void SetApplicationContext(const SKTAL_OCTET* buf, const int len);
virtual void GetApplicationContext(SKTAL_OCTET* buf, int& len) const;
virtual void SetApplicationContext(const SKTAL_ByteArray& buf);
virtual void GetApplicationContext(SKTAL_ByteArray& buf) const;
// User info
virtual void SetUserInfo(const SKTAL_OCTET* buf, const int len);
virtual void GetUserInfo(SKTAL_OCTET* buf, int& len) const;
virtual void SetUserInfo(const SKTAL_ByteArray& buf);
virtual void GetUserInfo(SKTAL_ByteArray& buf) const;
// Xcvr checks
virtual bool SendCheck() const;
virtual bool ReceiveCheck();
// Send
static int Send(SKTAL_HANDLE handle, TCAP_Dialogue*dlg);
// Receive
static int Receive(SKTAL_HANDLE handle,
SKTAL_Event&ev,
TCAP_Dialogue**dlg);
// Expose the header
MSP
646
const SKTAL_HDR& GetHeader() const;
virtual void Print(std::ostream& os) const;
SetDialogueID()
Description
This method is used to set the transaction context (or "Dialogue ID") of a transaction.
Syntax
void SetDialogueID(const SKTAL_USHORT did);
Input Parameters
did: The Dialogue ID of this transaction is an unsigned short
Input/Output Parameters and Output Parameters
None
Return Value
None
GetDialogueType()
Description
Returns the type of this dialogue.
Syntax
SKTAL_USHORT GetDialogueType() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The type of this dialogue is an unsigned short:
If defined as ANSI:
TCPPT_TC_UNI
SwitchKit TCAP Interface
647
TCPPT_TC_QUERY_W-PERM
TCPPT_TC_QUERY_WO_PERM
TCPPT_TC_RESP
TCPPT_TC_CONV_W_PERM
TCPPT_TC_CONV_WO_PERM
TCPPT_TC_ABOUT
TCPPT_TC_NOTICE
If defined as ITU:
TCPPT_TC_UNI
TCPPT_TC_BEGIN
TCPPT_TC_END
TCPPT_TC_CONTINUE
TCPPT_TC_P_ABORT
TCPPT_TC_U_ABORT
TCPPT_TC_NOTICE
GetDialogueID()
Syntax
See class TCAP_Cancel
SKTAL_USHORT GetDialogueID() const;
IsComponentPresent()
Description
This method is a predicate for determining if an inbound dialogue has components associated with it. This predicate is meaningless for outbound dialogues. The IsComponentPresent method is virtual.
Syntax
virtual bool IsComponentPresent() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
true: If a dialogue primitive has associated components
false: If a dialogue primitive has no associated components
MSP
648
SetQualityOfService()
Description
This method allows the user to set the quality of service (QoS) parameters for a transaction
Syntax
virtual void SetQualityOfService(const SKTAL_OCTET flags,
const SKTAL_OCTET priority = 0);
Input Parameters
flags: Quality of service indicators (See Appendix D for a list of flags)
priority: If QOS_PRIORITY is set in the flags, this indicates the priority value
Input/Output Parameters and Output Parameters
None
Return Value
None
Altering the QoS parameters is not normally done. ANSI does not support all QoS parameters. This method is virtual.
GetQualityOfService()
Description
This method allows the user to get the quality of service (QoS) parameters for a transaction. The GetQualityOfService method is a virtual method.
Syntax
virtual void GetQualityOfService(SKTAL_OCTET& flags,
SKTAL_OCTET& priority)
Input Parameters and Input/Output Parameters
None
Output Parameters
SwitchKit TCAP Interface
649
flags: Quality of service indicators
Return Option: QOSI_RET_OPT
Sequence Control: QOSI_SEQ_CTRL
SLS key present: QOSI_SLS_KEY
Message priority octet present: QOSI_PRIORITY
priority: If QOS_PRIORITY is set in the flags, this indicates the priority value
Return Value
None
SetApplicationContext()
Description
This method allows the user to set the application context for a transaction. Older versions of ANSI TCAP do not support application context. This method is a virtual method.
Syntax
virtual void SetApplicationContext(const SKTAL_OCTET* buf,
const int len);
SetApplicationContext(const SKTAL_ByteArray& buf);
Input Parameters
buf: A buffer to copy the application context into
len: The number of bytes copied
Input/Output Parameters and Output Parameters
None
Return Value
None
Older versions of ANSI TCAP do not support application context. This method is virtual.
GetApplicationContext()
Description
MSP
650
This method allows the user to get the application context for a transaction. The len parameter will become an in/out parameter and should be set to the maximum size of the buffer to copy to. Users should therefore set the length now to avoid problems in the future.
Returning a length of zero indicates that no context is present. Older versions of ANSI TCAP do not support application context. The GetApplicationContext method is a virtual method.
Syntax
virtual void GetApplicationContext(SKTAL_OCTET* buf, int& len) const;
Input Parameters
buf: A buffer to copy the application context into
Input/Output Parameters
None
Output Parameters
len: the number of bytes copied
Return Value
None
void GetApplicationContext(SKTAL_ByteArray& buf) const;
Description
This method allows the user to get the application context for a transaction.
Input Parameters and Input/Output Parameters
None
Output Parameters
buf: a buffer to copy the application context into
Return Value
None
Older versions of ANSI TCAP do not support application context. This method is virtual.
SwitchKit TCAP Interface
651
SetUserInfo()
Description
This method can be used to set the user information for a transaction. Older versions of ANSI TCAP do not support user information. This method is virtual.
Syntax
virtual void SetUserInfo(const SKTAL_OCTET* buf,
const int len);
virtual void SetUserInfo(const SKTAL_ByteArray& buf);
Input Parameters
buf: A pointer to a buffer to copy the user information into
len: The number of bytes copied
Input/Output Parameters and Output Parameters
None
Return Value
None
GetUserInfo()
Description
This method allows the user to get the user information for a transaction. Older versions of ANSI TCAP do not support user information. This method is virtual. The len parameter will become an in/out parameter and should be set to the maximum size of the buffer to copy to. Users should set the length now to avoid problems. Returning a length of zero indicates that no information is present.
Syntax
virtual void GetUserInfo(SKTAL_OCTET* buf, int& len) const;
Input Parameters
buf: A pointer to a buffer to copy the user information into
Input/Output Parameters
MSP
652
None
Output Parameters
len: The number of bytes copied
Return Value
None
GetUserInfo()
Description
This method allows the user to get the user information for a transaction. Older versions of ANSI TCAP do not support user information. This method is a virtual method.
Syntax
virtual void GetUserInfo(SKTAL_ByteArray& buf) const;
Input Parameters and Input/Output Parameters
None
Output Parameters
buf: A buffer to copy the user information into
Return Value
None
SendCheck()
Description
This method allows the user to check if the transaction is proceeding. This method is virtual.
Syntax
virtual bool SendCheck() const;
Input Parameters, Input/Output Parameters, & Output Parameters
SwitchKit TCAP Interface
653
None
Return Value
true: If the transaction is proceeding
false: If the transaction is not proceeding
ReceiveCheck()
Description
This method allows the user to check if the information is received. This method is virtual.
Syntax
virtual bool ReceiveCheck();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
true: If the information is received
false: If the information is not received
Send()
Description
This method is provided for the user to send TCAP dialogues to the stack. This is the preferred method of dialogue transmission. The Send method is static.
Syntax
static int Send(SKTAL_HANDLE handle, TCAP_Dialogue* dlg);
Input Parameters
handle - The transport this dialogue is sent. For getting the handle use sktal_getTCAPHandle() API
dlg - A pointer to the dialogue to send
Input/Output Parameters and Output Parameters
MSP
654
None
Return Value
If the message is successfully sent, SKTAL_SUCCESS is returned. Any other return value indicates an error.
Receive()
Description
This method is provided for the user to receive TCAP dialogues from the stack. This is the preferred method of dialogue reception.The Receive method is static. This method acts as a constructor for received dialogues.
Syntax
static int Receive(SKTAL_HANDLE handle,
SKTAL_Event& ev,
TCAP_Dialogue** dlg);
Input Parameters
handle: the transport this dialogue is sent. For getting the handle use sktal_getTCAPHandle().
ev: the event to receive the dialogue from
Input/Output Parameters
None
Output Parameters
dlg - the address of a pointer that is populated with the received dialogue
Return Value
If the message is successfully sent, SKTAL_SUCCESS is returned. Any other return value indicates an error.
GetHeader()
Description
This method exposes the SKTAL_HDR part of the received dialogue.
SwitchKit TCAP Interface
655
Syntax
const SKTAL_HDR& GetHeader() const;
Input Parameters and Input/Output Parameters
None
Output Parameters
hdr: the header present with the received dialogue
Return Value
None
Print()
Description
This method prints the contents of the dialogue to the output stream that is passed in to the method.
Syntax
virtual void Print(std::ostream& os) const;
Input Parameters
os: the output stream to print the contents to.
Input/Output Parameters and Output Parameters
None
Return Value
None
MSP
656
Class TCAP_End: public TCAP_Dialogue
Purpose
The purpose of the TCAP_End message class is to define the basic interface for terminating TCAP transactions. The class implements both TCPPT_TC_END (ITU), and TCPPT_TC_RESP (ANSI) dialogues. The user terminates a TCAP transaction through the TCAP_End message.
Summary of Methods
The TCAP_End message class includes the following methods:
// Prearranged end
bool IsPreArrangedEnd() const;
void SetPreArrangedEnd(bool onOff);
IsPreArrangedEnd()
Description
This method returns a Boolean indicating if this is the prearranged end.
Syntax
bool IsPreArrangeEnd() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
true: if this is the prearranged end
false: if this is not the prearranged end
SetPreArrangedEnd()
Description
This method allows the user to set the end message for this dialogue primitive with prearranged end or basic end.
Syntax
void SetPreArrangedEnd(bool onOff);
SwitchKit TCAP Interface
657
Input Parameters
onOff (true false)
Input/Output Parameters and Output Parameters
None
Return Value
None
MSP
658
Class TCAP_Error : public TCAP_Component
Purpose
The purpose of the TCAP_Error component is to define the basic interface to the remote operation error codes. This class is used to reply to unsuccessful invoke operations
Summary of Methods
TCAP_Error component includes the following methods:
// Error
// If defined(CCITT)
void SetError(const SKTAL_OCTET code);
void GetError(SKTAL_OCTET& code) const;
//If defined(ANSI)
void SetError(const bool isNational, const SKTAL_OCTET code);
void GetError(bool& isNational, SKTAL_OCTET& code) const;
// Parameter
void SetParameter(const SKTAL_OCTET* buf, const int len);
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void SetParameter(const SKTAL_ByteArray& buf);
void GetParameter(SKTAL_ByteArray& buf) const;
SetError()
Description
This method sets the error code in an error component. The signature of this method varies depending on the standard used.
Syntax
If defined ITU:
void SetError(const SKTAL_OCTET code);
If defined ANSI:
void SetError(const bool isNational, const SKTAL_OCTET code);
Input Parameters (ITU)
code: The error code
Input Parameters (ANSI)
isNational: an indicator that this code is national or private
SwitchKit TCAP Interface
659
code: The error code
Input/Output Parameters and Output Parameters
None
Return Value
None
GetError()
Description
This method gets the error code in an error component. The signature of this method varies depending on the standard used.
Syntax
If defined ITU:
void GetError(SKTAL_OCTET& code) const;
If defined ANSI:
void GetError(bool& isNational, SKTAL_OCTET& code) const;
Input Parameters and Input/Output Parameters
None
Output Parameters (ITU)
code: The error code
Output Parameters (ANSI)
isNational: an indicator that this code is national or private
code: the error code
Return Value
None
SetParameter()
Syntax
MSP
660
See class TCAP_Invoke
void SetParameter(const SKTAL_OCTET* buf, const int len);
void SetParameter(const SKTAL_ByteArray& buf);
GetParameter()
Syntax
See class TCAP_Invoke
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void GetParameter(SKTAL_ByteArray& buf) const;
SwitchKit TCAP Interface
661
Class TCAP_Invoke : public TCAP_Component
Purpose
The purpose of the TCAP_Invoke component is to define the basic interface for applications wishing to invoke remote operations.
Summary of Methods
The following methods are used within the TCAP_Invoke component:
// Operation
// If defined(CCITT)
void SetOperation(const SKTAL_LONG code);
void GetOperation(SKTAL_LONG& code) const;
// If defined(ANSI)
void SetOperation(const bool isNational,
const SKTAL_OCTET family,
const SKTAL_OCTET code);
void GetOperation(bool& isNational,
SKTAL_OCTET& family,
SKTAL_OCTET& code) const;
// Parameter
void SetParameter(const SKTAL_OCTET* buf, const int len);
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void SetParameter(const SKTAL_ByteArray& buf);
void GetParameter(SKTAL_ByteArray& buf) const;
// Timeout
void SetTimeOut(const SKTAL_USHORT val);
SKTAL_USHORT GetTimeOut() const;
// Operation class
// If defined(CCITT)
void SetClass(const SKTAL_USHORT val);
SKTAL_USHORT GetClass() const;
// Linked id (aka "correlation id")
void SetLinkedID(const SKTAL_OCTET val);
SKTAL_OCTET GetLinkedID() const;
void LinkInvoke(const TCAP_Invoke linkTo);
SetOperation()
Description
MSP
662
This method sets the operation field of an invoke component. The signature and behavior of this method is different depending on the standard used. For national use, the values of the operation family are defined in Appendix C.
Syntax
If defined ITU:
void SetOperation (const SKTAL_LONG code);
If defined ANSI:
void SetOperation (const bool isNational,
const SKTAL_OCTET family,
const SKTAL_OCTET code);
Input Parameters (ITU)
code: The operation code
Input Parameters (ANSI)
isNational: indicates whether this operation is national or private
family: the operation family
Input/Output Parameters and Output Parameters
None
Return Value
None
GetOperation()
Description
This method gets the operation field of an invoke component. The signature and behavior of this method is different depending on the standard used. If the operation is not present, an error code is returned.
Syntax
If defined ITU:
void GetOperation(SKTAL_LONG& code) const;
If defined ANSI:
void GetOperation(bool& isNational,
SKTAL_OCTET& family,
SKTAL_OCTET& code) const;
SwitchKit TCAP Interface
663
Input Parameters and Input/Output Parameters
None
Output Parameters (ITU)
code: The operation code
Output Parameters (ANSI):
isNational: indicates whether this operation is national or private
family: the operation family
code: the operation code
Return Value
None
SetParameter()
Description
This method copies a user-defined parameter into the invoke component. If an invoke does not have User Payload, the user need not call this method; the parameter is assumed to not be present unless this method is called with a non-zero length. The default space for the "parameter". Parameter is 256 bytes.
Syntax
void SetParameter(const SKTAL_OCTET* buf, const int len);
void SetParameter(const SKTAL_ByteArray& buf);
Input Parameters
buf: a buffer containing the parameter to copy into this component
len: the length of the parameter in the buffer
Input/Output Parameters
None
Output Parameters
None
Return Value
MSP
664
None
GetParameter()
Description
This method copies the parameter in an invoke component into a user supplied buffer. The len parameter will become an in/out parameter and should be set to the maximum size of the buffer to copy to; this method will then check to make sure the parameter to copy is smaller than the buffer supplied. Users should therefore set the length now to avoid problems in the future.Returning a length of zero indicates that no parameter is present.
Syntax
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void GetParameter (SKTAL_ByteArray& buf) const;
Input Parameters
buf: a buffer to copy the parameter into
Input/Output Parameters
None
Output Parameters
len: The length of the parameter in the buffer
Return Value
None
SetTimeOut()
Description
Sets the timeout value for TCAP invokes. (ITU only.)
Syntax
void SetTimeOut(const SKTAL_USHORT val);
Input Parameters
val: The timeout value. Range is 1-500 seconds
SwitchKit TCAP Interface
665
Input/Output Parameters and Output Parameters
None
Return Value
None
GetTimeOut()
Description
Retrieves the timeout value for TCAP invokes. (ITU only.)
Syntax
SKTAL_USHORT GetTimeOut() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The timeout value. Range is 1-500 seconds
SetClass()
Description
This method sets the operation class for TCAP components. The SetClass method is for ITU TCAP only.
Syntax
void SetClass(const SKTAL_USHORT val);
Input Parameters
val: a number from 1 to 4 indicating the operation class:
Class 1 - Both success and failure are reported
Class 2 - Only failure is reported
Class 3 - Only success is reported
Class 4 - Neither success, nor failure is reported
MSP
666
Input/Output Parameters and Output Parameters
None
Return Value
None
GetClass()
Description
This method retrieves the operation class for TCAP invokes. The GetClass method is for ITU TCAP only.
Syntax
SKTAL_USHORT GetClass() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
A number from 1 to 4 indicating the operation class:
Class 1 - Both success and failure are reported
Class 2 - Only failure is reported
Class 3 - Only success is reported
Class 4 - Neither success, nor failure is reported
SetLinkedID()
Description
This method sets the Linked ID (ITU) or Correlation ID (ANSI) to the value supplied. The SetLinkedID method is not called if the Linked ID is not relevant. It is assumed that no Linked ID is present unless this method is called.
Syntax
void SetLinkedID(const SKTAL_OCTET val);
Input Parameters
val: The linked ID value. Range is 0-255
SwitchKit TCAP Interface
667
Input/Output Parameters and Output Parameters
None
Return Value
None
HasLinkedID()
Description
HasLinkedId method returns true if linked ID (ITU) or correlation ID (ANSI).is present in invoke operation.
Syntax
bool HasLinkedID();
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
true - Linked ID present.
false - Linked ID not present
GetLinkedID()
Description
This method gets the Linked ID (ITU) or Correlation ID (ANSI) of an invoke, if supplied. If the invoke does not have a Linked ID, a Link ID of zero is returned.
Syntax
SKTAL_OCTET GetLinkedID() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The linked ID as an unsigned character. Range is 0-255
MSP
668
LinkInvoke()
Description
This method sets the Linked ID (ITU) or Correlation ID (ANSI) to the Invoke ID from the invoke component supplied. The LinkInvoke method is not called if the Linked ID is not relevant. It is assumed that no Linked ID is present unless this method is called.
Syntax
void LinkInvoke(const TCAP_Invoke* linkTo);
Input Parameters
linkTo: the invoke component to correlate to
Input/Output Parameters and Output Parameters
None
Return Value
None
SwitchKit TCAP Interface
669
Class TCAP_Reject : public TCAP_Component
Purpose
The purpose of the TCAP_Reject component is to define the basic interface to invalid remote operation invokes. The remote stack responds with a TCAP_Reject when an application sends a malformed component.
Summary of Methods
The TCAP_Reject component includes the following methods:
// Problem
// If defined(CCITT)
void SetProblem(const SKTAL_OCTET type, const SKTAL_OCTET code);
void GetProblem(SKTAL_OCTET& type, SKTAL_OCTET& code) const;
// If defined(ANSI)
void SetProblem(const SKTAL_OCTET family, const SKTAL_OCTET code);
void GetProblem(SKTAL_OCTET& family, SKTAL_OCTET& code) const;
// Parameter
// If defined(ANSI)
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void SetParameter(const SKTAL_OCTET* buf, const int len);
void GetParameter(SKTAL_ByteArray& buf) const;
void SetParameter(const SKTAL_ByteArray& buf);
SetProblem()
Description
This method sets the problem code for a reject component. The signature of this method depends on the standard used. Based on the reject code, it is the responsibility of the application to take the appropriate action. Each reject type has its own set of codes, or reasons for the component being rejected. The reject values and codes are defined Appendix A.
Syntax
If defined as ITU:
void SetProblem(const SKTAL_OCTET type, const SKTAL_OCTET code);
Type: the reject type. Possible reject types are defined in Appendix A.
Code: the reject code
If defined as ANSI:
void SetProblem(const SKTAL_OCTET family,
const SKTAL_OCTET code);
MSP
670
family: the problem types. Problem types are defined in Appendix A.
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
None
GetProblem()
Description
This method gets the problem code for a reject component. The signature of this method depends on the standard used. Based on the reject code, it is the responsibility of the application to take the appropriate action. Each reject type has its own set of codes, or reasons for the component being rejected. The reject values and codes are defined in Appendix A.
Syntax
If defined ITU:
void GetProblem(SKTAL_OCTET& type, SKTAL_OCTET& code) const;
Type = the reject type. Possible reject types are defined in Appendix A.
Code = the reject code as defined in Appendix A.
If defined ANSI:
void GetProblem(SKTAL_OCTET& family, SKTAL_OCTET& code) const;
Input Parameters, Input/Output Parameters
None
Output Parameters
family: the problem types. Problem types are defined in Appendix A.
Return Value
None
Each reject type has its own set of codes or reasons for the component being rejected. The reject values and codes are defined in the Appendix sections.
SetParameter()
SwitchKit TCAP Interface
671
Description
This method is applicable for ANSI TCAP. See Class TCAP_Invoke.
Syntax
See class TCAP_Invoke
void SetParameter(const SKTAL_OCTET* buf, const int len);
void SetParameter(const SKTAL_ByteArray& buf);
GetParameter()
Description
This method is applicable for ANSI TCAP. See Class TCAP_Invoke.
Syntax
See class TCAP_Invoke
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void GetParameter(SKTAL_ByteArray& buf) const;
MSP
672
Class TCAP_ResetTimer : public TCAP_Component
The purpose of the TCAP_ResetTimer component defines the basic interface to reset the timer of an invoked operation. This component is only valid with ITU White Book 97. The TCAP_ResetTimer component includes the following methods:
GetDialogueID()
Syntax
See class TCAP_Cancel
SKTAL_USHORT GetDialogueID() const;
SwitchKit TCAP Interface
673
Class TCAP_Result : public TCAP_Component
Purpose
The purpose of the TCAP_Result component is to define the basic interface to remote operation results. This class is used to reply to successful invoke operations.
Summary of Methods
The TCAP_Result component includes the following methods:
// Operation
//If defined(CCITT)
void SetOperation(const SKTAL_LONG code);
void GetOperation(SKTAL_LONG& code) const;
// parameter
void SetParameter(const SKTAL_OCTET* buf, const int len);
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void SetParameter(const SKTAL_ByteArray& buf);
void GetParameter(SKTAL_ByteArray& buf) const;
SetOperation()
Description
This method sets the operation field of a result component. The SetOperation method is relevant only to ITU TCAP.
Syntax
void Set Operation(const SKTAL_LONG code);
Input Parameters
code: The operation code.
Input/Output Parameters and Output Parameters
None
Return Value
None
GetOperation()
MSP
674
Description
This method gets the operation field of an invoke component. The GetOperation method is relevant only to ITU TCAP.
Syntax
void GetOperation(SKTAL_LONG& code) const;
Input Parameters and Input/Output Parameters
None
Output Parameters
code - The operation code
Return Value
None
SetParameter()
Description
Copies a user-defined parameter into the invoke component.
Syntax
See class TCAP_Invoke
void SetParameter(const SKTAL_OCTET* buf, const int len);
void SetParameter(const SKTAL_ByteArray& buf);
Input Parameters
buf - A buffer containing the parameter to copy into this component
len - The length of the parameter in the buffer.
Input/Output Parameters & Output Parameters
None
Return Value
None
SwitchKit TCAP Interface
675
GetParameter()
Description
Copies a user-defined parameter from the invoke component to a user supplied buffer.
Syntax
void GetParameter(SKTAL_OCTET* buf, int& len) const;
void GetParameter(SKTAL_ByteArray& buf) const;
Input Parameters
buf: a buffer containing the parameter to copy into this component
Input/Output Parameters
None
Output Parameters
len - The length of the parameter in the buffer.
Return Value
None
MSP
676
ClassTCAP_Notice : public TCAP_Dialogue
Purpose
The purpose of the TCAP_Notice message class is to define the basic interface by which TCAP can deliver quality-of-service messages to the user. At the present time, this is implemented only for ITU TCAP, and is never generated by the user.
Summary of Methods
The TCAP_Notice message class includes the following methods:
// Component present
virtual bool IsComponentPresent() const
virtual void SetComponentPresent(bool)
// Report cause
void SetReportCause(SKTAL_OCTET reason);
SKTAL_OCTET GetReportCause() const;
// Quality of service
virtual void SetQualityOfService(const SKTAL_OCTET flags,
const SKTAL_OCTET priority = 0)
virtual void GetQualityOfService(SKTAL_OCTET& flags,
SKTAL_OCTET& priority) const;
// Application context
virtual void SetApplicationContext(const SKTAL_OCTET* buf, const int len);
virtual void GetApplicationContext(SKTAL_OCTET* buf, int& len) const;
virtual void SetApplicationContext(const SKTAL_ByteArray& buf);
virtual void GetApplicationContext(SKTAL_ByteArray& buf) const;
// User info
virtual void SetUserInfo(const SKTAL_OCTET* buf, const int len);
virtual void GetUserInfo(SKTAL_OCTET* buf, int& len) const;
virtual void SetUserInfo(const SKTAL_ByteArray& buf);
virtual void GetUserInfo(SKTAL_ByteArray& buf) const;
IsComponentPresent()
See class TCAP_Dialogue
Syntax
virtual bool IsComponentPresent() const;
SetComponentPresent()
SwitchKit TCAP Interface
677
See class TCAP_Abort
Syntax
virtual void SetComponentPresent(bool);
SetReportCause()
Description
This method can be used to set the report cause of a dialogue
Syntax
void SetReportCause(SKTAL_OCTET reason);
Input Parameters
reason: the report cause reason
Input/Output Parameters and Output Parameters
None
Return Value
None
GetReportCause()
Description
This method returns the report cause of a dialogue
Syntax
SKTAL_OCTET GetReportCause() const;
Input Parameters, Input/Output Parameters, & Output Parameters
None
Return Value
The report cause as an unsigned character. The following are the report cause values:
SCCP_RET_NO_TRANS_ADDR_NAT
MSP
678
SCCP_RET_NO_TRANS_THIS_ADDR
SCCP_RET_SUBSYS_CONG
SCCP_RET_SUBSYS_FAIL
SCCP_RET_UNEQUIPPED_USER
SCCP_RET_NETWORK_FAIL
SCCP_RET_NETWORK_CONG
SCCP_RET_UNQUAL
SCCP_RET_ERR_IN_TRANSPORT
SCCP_RET_ERR_IN_LOCAL_PROCESS
SCCP_RET_ERR_DEST_CANNOT_PERF_REASSEMBLY
SCCP_RET_ERR_SCCP_FAILURE (ITU Only)
SCCP_RET_ERR_HOP_COUNT_VIOLATION (ANSI only)
SCCP_RET_ERR_INV_ISNI_ROUT_REQ (ANSI only)
SCCP_RET_ERR_UNAUTH_MSG (ANSI only)
SCCP_RET_ERR_MSG_INCOMPATIBILITY (ANSI only)
SCCP_RET_ERR_CANNOT_PERFORM_ISNI_ROUTING (ANSI only)
SCCP_RET_ERR_REDUNDANT_ISNI_ROUTING_INFO (ANSI only)
SCCP_RET_ERR_UNABLE_TO_IDENTIFY_ISNI_INFO (ANSI only)
SetQualityOfService()
See class TCAP_Dialogue
Syntax
virtual void SetQualityOfService(const SKTAL_OCTET flags,
const SKTAL_OCTET priority = 0);
GetQualityOfService()
See class TCAP_Dialogue
Syntax
virtual void GetQualityOfService(SKTAL_OCTET& flags,
SKTAL_OCTET& priority) const;
SetApplicationContext()
SwitchKit TCAP Interface
679
See class TCAP_Dialogue
Syntax
virtual void SetApplicationContext(const SKTAL_OCTET* buf, const int len);
virtual void SetApplicationContext(const SKTAL_ByteArray& buf);
GetApplicationContext()
See class TCAP_Dialogue
Syntax
virtual void GetApplicationContext(SKTAL_OCTET* buf, int& len) const;
virtual void GetApplicationContext(SKTAL_ByteArray& buf) const;
SetUserInfo()
See class TCAP_Dialogue
Syntax
virtual void SetUserInfo(const SKTAL_OCTET* buf, const int len);
virtual void SetUserInfo(const SKTAL_ByteArray& buf);
GetUserInfo()
See class TCAP_Dialogue
Syntax
virtual void GetUserInfo(SKTAL_OCTET* buf, int& len) const;
virtual void GetUserInfo(SKTAL_ByteArray& buf) const;
MSP
680
TCAP_Unidirectional : public TCAP_Dialogue class
Purpose
The purpose of the TCAP_Unidirectional message class is to define the interface for one-way transactions. Unidirectional messages are never replied to. This message represents the TCPPT_TC_UNI dialogue type.
Summary of Methods
The TCAP_Unidirectional message class includes the following methods:
// Xcvr checks
virtual bool SendCheck() const;
virtual bool ReceiveCheck();
// Full SCCP Address (orig)
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(const SCCP_Adddress& addr);
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SCCP_Address& addr) const;
// Full SCCP Address (des)
void SetDestAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void GetDestAddr(SCCP_Address& addr) const;
SendCheck()
Syntax
See class TCAP_Dialogue
virtual bool SendCheck() const;
ReceiveCheck()
Syntax
See class TCAP_Dialogue
virtual bool ReceiveCheck();
SwitchKit TCAP Interface
681
SetOrigAddr()
Description
This method sets the origination address for this dialogue primitive from discrete information.
Syntax
void SetOrigAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void SetOrigAddr(const SCCP_Address& addr);
Input Parameters
isNational: A Boolean flag indicating if this address uses national or international routing
pointCode: The Point Code of this address
ssn: The Subsystem Number of this address
gttInfo: The information of the address
gttLen: The length of the address
(SCCP_ADDR&) addr: The SCCP_ADDR structure to copy into
(SCCP_Address&) addr: The SCCP_Address object to copy into
Input/Output Parameters and Output Parameters
None
Return Value
None
GetOrigAddr()
Description
MSP
682
This method decodes the origination address for this dialogue primitive into discrete information.
Syntax
void GetOrigAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetOrigAddr(SKTAL_OCTET& addrInd,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetOrigAddr(SCCP_Address& addr) const;
Input Parameters and Input/Output Parameters
None
Output Parameters
isNational: a Boolean flag indicating if this address uses national or international routing
pointCode: the Point Code of this address
ssn: the Subsystem Number of this address
gttInfo: the information of the address
gttLen: the length of the address
(SCCP_ADDR&) addr: the SCCP_ADDR structure to copy into
(SCCP_Address&) addr: the SCCP_Address object to copy into
Return Value
None
SetDestAddr()
Description
This method sets the destination address for this dialogue primitive from discrete information
Syntax
SwitchKit TCAP Interface
683
void SetDestAddr(const bool isNational,
const SKTAL_UINT pointCode,
const SKTAL_OCTET ssn);
void SetDestAddr(SKTAL_OCTET addrInd,
SKTAL_UINT pointCode,
SKTAL_OCTT ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void SetDestAddr(const SCCP_Address& addr);
Input Parameters
isNational: a Boolean flag indicating if this address uses national or international routing
pointCode: the Point Code of this address
ssn: the Subsystem Number of this address
gttInfo: the information of the address
gttLen: the length of the address
(SCCP_ADDR&) addr: the SCCP_ADDR structure to copy into
(SCCP_Address&) addr: the SCCP_Address object to copy into
Input/Output Parameters and Output Parameters
None
Return Value
None
GetDestAddr()
Description
This method decodes the destination address for this dialogue primitive into discrete information.
Syntax
void GetDestAddr(bool& isNational,
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn) const;
void GetDestAddr(SKTAL_OCTET& addrInd,
MSP
684
SKTAL_UINT& pointCode,
SKTAL_OCTET& ssn,
SKTAL_OCTET* gttInfo,
SKTAL_USHORT* gttLen) const;
void GetDestAddr(SCCP_Address& addr) const;
Input Parameters and Input/Output Parameters
None
Output Parameters
isNational: a Boolean flag indicating if this address uses national or international routing
pointCode: the Point Code of this address
ssn: the Subsystem Number of this address
gttInfo: the information of the address
gttLen: the length of the address
(SCCP_ADDR&) addr: the SCCP_ADDR structure to copy into
(SCCP_Address&) addr: the SCCP_Address object to copy into
Return Value
None
SwitchKit TCAP Interface
685
SKTAL Sample Application
Step One - Creating a connection with LLC using SwitchKit APIs
The API function described in this section allows you to create a connection with the LLC using SwitchKit APIs.
Application Code
connect()
{
int ret;
/* create the connection */
connection = skts_createConnectionWithID(CONN_ID, CONN_LABEL, CONN_NAME,
SKTAL_FALSE,
PRI_IP, PRI_PORT,
BACK_IP, BACK_PORT);
if (ret == 0)
{
fprintf(stderr, "Error connecting to switch\n");
return (SKTAL_EINVALIDARGS);
}
return (SKTAL_SUCCESS);
}
MSP
686
Step Two - Initializing SKTAL and registering SSN
The API function described in this section initalizes TAL and registers with LLC for use of a particular stack/SSN.
Application Code
// Initialize TAL layer. TAL initialization is done once
// at application startup.
ret = sktal_initializeTCAP()
if (ret != SK_OK)
{
fprintf(stderr, "Error initializing TCAP: %s\n", sk_errorText(ret));
skts_destroyConnection(CONN_ID);
return (SKTAL_EINVALIDARGS);
}
// register SSN with TCAP
// LOCAL_NODE - value created during configuration
// STACK_ID - Stack Id for the stack instance created during
// configuration.
// CONN_ID - Same as created in step one.
// LOCAL_PC - Local Point Code for stack instance.
// LOCAL_SSN - local subsyatem number for stack instance.
// newDialogue - Deafult Handler for handling new
// TCAP Transaction messages.
// instance - instance value returned after registeration is successful.
// This instance value is used while sending and receiving TCAP
// dialogues and components.
ret = sktal_registerTCAPSSNHandler (LOCAL_NODE, STACK_ID,
LOCAL_PC, LOCAL_SSN,
newDialogue, &instance, CONN_ID);
if (ret != SK_OK)
{
fprintf(stderr, "Error registering handler: %s\n", sk_errorText(ret));
skts_destroyConnection(CONN_ID);
SwitchKit TCAP Interface
687
Step Three - Sending a TCAP Dialogue and Component
The API function described in this section allows you to send a dialog and component through SwitchKit to the SS7 network.
Application Code
// allocate dialogue id. instance value is returned during
// registration.
ret = sk_allocateTCAPDialogueID(instance, &did);
if (ret != SK_OK)
{
printf("Failed to allocate dialog id: %d\n", ret);
}
// Create TCAP Begin dialogue object
sktal::TCAP_Begin begin;
// populate orignating and destination
// point codes.
begin.SetOPC(LOCAL_PC);
begin.SetDPC(REMOTE_PC);
// populate orignating SCCP address
begin.SetOrigAddr(true, LOCAL_PC, LOCAL_SSN);
// Populate destination SCCP address.
begin.SetOrigAddr(true, LOCAL_PC, LOCAL_SSN);
// Populate destination SCCP address.
begin.SetDestAddr(true, REMOTE_PC, REMOTE_SSN);
// Set dialogue id allocated.
begin.SetDialogueID(did);
// Create TCAP invoke component instance.
sktal::TCAP_Invoke invoke;
invoke.SetOperation(true, 1, 1);
// Set invoke id.
invoke.SetInvokeID(1);
// set invoke timeout.
invoke.SetTimeOut(20);
// Set encoded parameters of TCAP User part
// API's like ANSI-41, MAP, CAMEL etc.
invoke.SetParameter(encodedParam);
// Send TCAP Component
ret = sktal::TCAP_Component::Send(sktal_getTCAPHandle(instance),
&begin, &invoke);
if (ret != SKTAL_SUCCESS)
{
MSP
688
printf("Failed to send component: %d\n", ret);
}
else
{
// Send TCAP dialogue.
ret = sktal::TCAP_Dialogue::Send(sktal_getTCAPHandle(instance),
&begin);
if (ret != SKTAL_SUCCESS)
{
printf("Failed to send dialogue: %d\n", ret);
}
}
SwitchKit TCAP Interface
689
Step Four - Receiving a TCAP Transaction
The API function described in this section allows you to receive a TCAP transaction from the SS7 network via SwitchKit.
Application Code
Transactions are received via dialogue handler and registered with SKTAL. Sample implementation for dialogue handler is shown in the following code excerpt.
i/*
* new dialogue handler
*/
extern "C" int
newDialogue(int instance, unsigned newDID)
{
printf("NEW DIALOGUE: %08x\n", newDID);
// register a message handler for new dialogue.
return sktal_setTCAPDialogHandler(instance, newDID,
onMessage, NULL);
}
/*
* Message handler.
*/
extern "C" int
onMessage(int instance, SKTAL_EVENT *ev, void *tag)
{
static sktal::TCAP_Dialogue *dlg = NULL;
SKTAL_CPT cpt;
sktal::Event event;
unsigned did;
printf("ON MESSAGE\n");
if (TCAP_MSG_TYPE(ev) == SKTAL_TCAP_DLG)
{
event = ev;
sktal::TCAP_Dialogue::Receive(sktal_getTCAPHandle(instance),
event, &dlg);
if (dlg)
{
dlg->Print(std::cout);
}
}
else if (TCAP_MSG_TYPE(ev) == SKTAL_TCAP_CPT)
MSP
690
{
printf("Got component\n");
sktal::TCAP_Component *result;
event = ev;
sktal::TCAP_Component::Receive(sktal_getTCAPHandle(instance),
event, dlg, &result);
result->Print(std::cout);
delete result;
delete dlg;
dlg = NULL;
}
else
{
fprintf(stderr, "Unknown message type: %d\n", TCAP_MSG_TYPE(ev));
}
printf("RETURN FROM USER HANDLER\n");
return (SK_OK);
}
}
SwitchKit TCAP Interface
691
Step Five - Terminating SKTAL and Disconnection
The API function described in this section is used to terminate a SwitchKit TCAP Abstraction Layer and disconnect from the LLC.
Application Code
// Unregister SSN instance.
if (instance >= 0)
{
sktal_unregisterTCAPSSNHandler (instance);
instance = -1;
}
// Terminate SKTAL
stalk_terminateTCAP();
// disconnect
if (connection)
{
skts_destroyConnection(CONN_ID);
connection = NULL;
}
MSP
692
Appendix A TCAP Codes
ANSI TCAP Codes
Purpose
Refer to the following tables for the ANSI TCAP codes.
Table A-1> ANSI TCAP Operation Family
Name Value Description
TCPPN_OF_NOT_USED 0x0
TCPPN_OF_REPLY_REQUIRED 0x80 Operation family reply required.
TCPPN_OF_PARAMETER 0x01 Operation family parameter.
TCPPN_OF_CHARGING 0x02 Operation family charging.
TCPPN_OF_PROV_INST 0x03 Operation family provisioning instruction.
TCPPN_OF_CONN_CTRL 0x04 Operation family connection control.
TCPPN_OF_CALLER_INT 0x05 Operation family caller inter.
TCPPN_OF_SEND_NOT 0x06 Operation family send notification.
TCPPN_OF_NET_MAN 0x07 Operation family network management.
TCPPN_OF_PROCEDURAL 0x08 Operation family procedural.
TCPPN_OF_IS41 0x09 Operation family IS41.
TCPPN_OF_MISC 0xFE Operation family Misc.
TCPPN_OF_RESERVED 0xFF
Table A-2> ANSI TCAP Operation Specifier
Name Value Description
TCPPN_OS_PROV_VAL 0x01 Operation specifier provision value.
TCPPN_OS_SET_VAL 0x02 Operation specifier set value.
SwitchKit TCAP Interface
693
TCPPN_OS_BILL_CALL 0x01 Operation specifier bill call.
TCPPN_OS_START 0x01 Operation specifier start.
TCPPN_OS_ASSIST 0x02 Operation specifier start.
TCPPN_OS_CONN 0x01 Operation specifier connection.
TCPPN_OS_TEMP_CONN 0x02 Operation specifier temporary connection.
TCPPN_OS_DISCONN 0x03 Operation specifier dsconnect.
TCPPN_OS_FWD_DISCONN 0x04 Operation specifier forward disconnect.
TCPPN_OS_PLAY_A 0x01 Operation specifier play announcement.
TCPPN_OS_PLAY_A_CD 0x02 Operation specifier play announcement.
TCPPN_OS_AUTO_CALL_GAP 0x01 Operation specifier automatic call gap.
TCPPN_OS_TEMP_HO 0x01
Table A-3> ANSI TCAP P-Abort Reason
Name Value Description
TCPABT_REASON_UNREC_PACK_TYPE 0x01 Unrecognized package type.
TCPABT_REASON_INCORRECT_TRANS_PORT 0x02 Incorrect Transaction portion.
TCPABT_REASON_BADLY_STRUCT_TRANS_PORT 0x03 Badly structured transaction portion.
TCPABT_REASON_UNREC_TRANS_ID 0x04 Unrecognised transaction Id.
TCPABT_REASON_PERM_TO_RELEASE 0x05 Permission To release.
TCPABT_REASON_RES_UNAVAIL 0x06 Resource unavailable.
Table A-4> ANSI TCAP Error Codes
Name Value Description
MSP
694
TCPERR_UNEX_COMP_SEQ 0x01 Unexpected component sequence
TCPERR_UNEX_DATA_VAL 0x02 Unexpected data value
TCPERR_UNAV_RESOURCE 0x03 Unavailable resource
TCPERR_MISSING_REC 0x04 Missing record
TCPERR_REPLY_OVERDUE 0x05 Reply overdue
TCPERR_DATA_UNAV 0x06 Data unavailable
TCPERR_TSK_RE 0x07
TCPERR_Q_FULL 0x08 Queue full
TCPERR_NO_Q 0x09 No queue
TCPERR_TMR_EX 0x0A Timer expiry
TCPERR_DAT_EX 0x0B Data already exists
TCPERR_UNAUTH 0x0C Unauthorised Request
TCPERR_NOT_QD 0x0D Not queued
TCPERR_UAS_DN 0x0E Unassigned DN
TCPERR_SPARE 0x0F Spare
TCPERR_NOT_AV 0x10 Not Available
TCPERR_VMSR_E 0x11 VMSR error
Table A-5> ANSI TCAP Problem Code Specifier
Name Value Description
TCPPROB_GENERAL 0x01 General Problem.
TCPPROB_INVOKE 0x02 Invoke Problem.
TCPPROB_RETURN_RES 0x03 Return Result Problem.
TCPPROB_RETURN_ERR 0x04 Return Error Problem.
TCPPROB_TRANS_PORTION 0x05 Transaction Portion Problem.
Table A-6> ANSI TCAP Problem Codes
Name Value Description
SwitchKit TCAP Interface
695
TCPPROB_SPEC_GEN_UNREC_COMP 0x01 General problem unrecognised component
TCPPROB_SPEC_GEN_INCORRECT_COMP 0x02 General problem incorrect component
TCPPROB_SPEC_GEN_BADLY_STRUCT_COMP 0x03 General problem badly structured component
TCPPROB_SPEC_INV_DUPLICATE_INV_ID 0x01 Invoke problem duplicate invoke id
TCPPROB_SPEC_INV_UNREC_OP_CODE 0x02 Invoke problem unrecognized operation code
TCPPROB_SPEC_INV_INCORRECT_PARAM 0x03 Invoke problem incorrect parameter
TCPPROB_SPEC_INV_UNREC_COREL_ID 0x04 Invoke problem unknown correlation id.
TCPPROB_SPEC_RES_UNREC_COREL_ID 0x01 Result problem unrecognized correlation id.
TCPPROB_SPEC_RES_UNEXPECTED_RET_RES 0x02 Result problem unexpected return result
TCPPROB_SPEC_RES_INCORRECT_PARAM 0x03 Result problem incorrect parameter
TCPPROB_SPEC_ERR_UNREC_COREL_ID 0x01 Error problem unrecognized correlation id
TCPPROB_SPEC_ERR_UNEXPECTED_RET_ERROR 0x02 Error problem unexpected
MSP
696
return error
TCPPROB_SPEC_ERR_UNREC_ERROR 0x03 Error problem unrecognized error
TCPPROB_SPEC_ERR_UNEXPECTED_ERROR 0x04 Error problem unexpected error
TCPPROB_SPEC_ERR_INCORRECT_PARAM 0x05 Error incorrect parameter
TCPPROB_SPEC_TRANS_UNREC_PACK_TYPE 0x01 Unrecognised package type
TCPPROB_SPEC_TRANS_INCORRECT_TRANS_PORT 0x02 Incorrect transaction Portion
TCPPROB_SPEC_TRANS_BADLY_STRUCT_TRANS_PORT 0x03 Badly structured transaction
TCPPROB_SPEC_TRANS_UNREC_TRANS_ID 0x04 Unrecognised transaction ID
TCPPROB_SPEC_TRANS_PERM_TO_RELEASE 0x05 Permission To release
TCPPROB_SPEC_TRANS_RES_UNAVAIL 0x06 Resource unavailable
SwitchKit TCAP Interface
697
ITU TCAP Codes
Purpose
Refer to the following tables for the CCITT TCAP codes.
Table A-7> ITU TCAP User Abort Reason
Name Value Description
TCPUABT_AC_NOT_SUP 0x01 Application context not supported.
TCPUABT_USER_DEFINED 0x02 Reason user defined.
TCPUABT_DLG_REFUSED 0x03 Dialogue refused.
Table A-8> TU TCAP P-Abort Reason
Name Value Description
TCPPABT_ABNORMAL_DLG 126 Abnormal dialogue.
TCPPABT_NO_COMMON_DLG 127 No common dialog.
TCPABT_REASON_UNREC_MSG_TYPE 0x00 Unrecognized message type.
TCPABT_REASON_UNREC_TRANS_ID 0x01 Unrecognized transaction Id.
TCPABT_REASON_BADLY_STRUCT_TRANS_PORT 0x02 Badly structured transaction portion.
TCPABT_REASON_INCORRECT_TRANS_PORT 0x03 Incorrect trnsaction portion.
TCPABT_REASON_RES_UNAVAIL 0x04 Resource unavailable.
Table A-9> ITU TCAP Reject Problem Types
Name Value Description
TCPPROB_GENERAL 0x00 General problem.
MSP
698
TCPPROB_INVOKE 0x01 Invoke problem.
TCPPROB_RETURN_RES 0x02 Return Result problem.
TCPPROB_RETURN_ERR 0x03 Return Error problem
Table A-10> ITU TCAP Reject Problem Codes
Name Value Description
TCPPROB_SPEC_GEN_UNREC_COMP 0x00 General problem unrecognized component.
TCPPROB_SPEC_GEN_MISTYPED_COMP 0x01 General problem mistyped component.
TCPPROB_SPEC_GEN_BADLY_STRUCT_COMP 0x02 General problem badly structured component.
TCPPROB_SPEC_INV_DUPLICATE_INV_ID 0x00 Invoke problem duplicate invoke id.
TCPPROB_SPEC_INV_UNREC_OP_CODE 0x01 Invoke problem-unrecognized operation code.
TCPPROB_SPEC_INV_MISTYPED_PARAM 0x02 Invoke problem mistyped parameter.
TCPPROB_SPEC_INV_RESOURCE_LIMIT 0x03 Invoke problem resource limitation.
TCPPROB_SPEC_INV_INITIATE_RELEASE 0x04 Invoke problem initiate release.
TCPPROB_SPEC_INV_UNREC_LINKED_ID 0x05 Invoke problem-unrecognized linked id.
TCPPROB_SPEC_INV_UNEXPECTED_LINK_RESP 0x06 Invoke problem unexpected linked response.
TCPPROB_SPEC_INV_UNEXPECTED_LINKED_OP 0x07 Invoke problem unexpected linked operation.
TCPPROB_SPEC_RES_UNREC_INVOKE_ID 0x00 Result problem unrecognized invoke id.
SwitchKit TCAP Interface
699
TCPPROB_SPEC_RES_UNEXPECTED_RET_RES 0x01 Result problem unexpected return result.
TCPPROB_SPEC_RES_MISTYPED_PARAM 0x02 Result problem mistyped parameter.
TCPPROB_SPEC_ERR_UNREC_INVOKE_ID 0x00 Error problem unrecognized invoke id.
TCPPROB_SPEC_ERR_UNEXPECTED_RET_ERROR 0x01 Error problem unexpected return error.
TCPPROB_SPEC_ERR_UNREC_ERROR 0x02 Error problem unrecognized error.
TCPPROB_SPEC_ERR_UNEXPECTED_ERROR 0x03 Error problem unexpected error.
TCPPROB_SPEC_ERR_MISTYPED_PARAM 0x04 Error problem mistyped parameter.
MSP
700
Appendix B- SKIM Data Types and Codes
This appendix provides information on SKIM data types and error codes.
SKIM Data Types and Codes
Purpose
This section provides information on SKIM data types and error codes.
Table B-1> SKIM Data Types
Data Types System Data Type
SKIM_BOOLEAN unsigned int.
SKIM_OCTET unsigned char.
SKIM_USHORT unsigned short.
SKIM_UINT unsigned int.
SKIM_ULONG unsigned long.
SKIM_CHAR char
SKIM_SHORT short
SKIM_INT int
SKIM_LONG long
Table B-2> SKIM Return Codes
Error Codes Values
SKIM_SUCCESS 0
SKIM_FALSE 0
SKIM_TRUE 0x1
SKIM_ENOMEM -1
SKIM_ERCVFAIL -6
SKIM_ENOMSG -8
SKIM_ESENDFAIL -9
SKIM_ETCAPMSGSENDFAIL -13
SKIM_BADTCAPMESSAGE -16
SwitchKit TCAP Interface
701
SKIM_ETOOMANYDIALOGS -18
SKIM_ENOINVID -20
SKIM_ENOMUTEX -24
SKIM_EBADMUTEX -25
SKIM_EINVALIDARGS -39
SKIM_ENOLICENSE -45
SKIM_EPROTERR -46
SKIM_EOVERFLOW -49
SKIM_EINITFAIL -52
SKIM_EINUSE -55
SKIM_EDESTPROHIBIT -56
SKIM_EINVPTYPE -57
SKIM_EINVOPFAM -58
SKIM_EINVOPSPEC -59
SKIM_EINVLEN -60
SKIM_ENULLPTR -61
SKIM_EBADSTATE -64
SKIM_ENOTFOUND -65
SKIM_EASNENCODE -66
SKIM_EASNDECODE -67
SKIM_EINVOPC -72
SKIM_EINVDPC -73
SKIM_EINVINITSTATE -86
MSP
702
Appendix C - SKTAL Data Types and Codes
This appendix provides information on SKTAL data types and error codes.
SKTAL Data Types
Purpose
This section provides information on SKTAL data types and error codes.
Table C-1> SKTAL Data Types
Data Types Description
SKTAL_BOOLEAN unsigned int.
SKTAL_OCTET unsigned char.
SKTAL_USHORT unsigned short.
SKTAL_UINT unsigned int.
SKTAL_ULONG unsigned long.
SKTAL_CHAR char
SKTAL_SHORT short
SKTAL_INT int
SKTAL_LONG long
SKTAL_HANDLE void
SKTAL_POINTER char
SKTAL_ByteArray vector <SKTAL_OCTET>
SKTAL Event
typedef struct
{
SKTAL_USHORT len; /* length of event data */
SKTAL_USHORT src; /* not Used */
ITS_OCTET* data; /* Event data containing TCAP dialog or Component
* Information */
}
To distinguish between TCAP dialog events and TCAP Component Events use the following macros:
#define TCAP_MSG_TYPE(ev) ((ev)->data[0])
#define SKTAL_TCAP_DLG 1
#define SKTAL_TCAP_CPT 2
SwitchKit TCAP Interface
703
Table C-2 SKTAL Return Codes
Code Value
SKTAL_SUCCESS 0
SKTAL_FALSE 0
SKTAL_TRUE 0x1
SKTAL_BITS_PER_BYTE 8
SKTAL_ENOMEM -1
SKTAL_ERCVFAIL -6
SKTAL_ENOMSG -8
SKTAL_ESENDFAIL -9
SKTAL_ETCAPMSGSENDFAIL -13
SKTAL_BADTCAPMESSAGE -16
SKTAL_ETOOMANYDIALOGS -18
SKTAL_ENOINVID -20
SKTAL_ENOMUTEX -24
SKTAL_EBADMUTEX -25
SKTAL_EINVALIDARGS -39
SKTAL_ENOLICENSE -45
SKTAL_EPROTERR -46
SKTAL_EOVERFLOW -49
SKTAL_EINITFAIL -52
SKTAL_EINUSE -55
SKTAL_EDESTPROHIBIT -56
SKTAL_EINVPTYPE -57
SKTAL_EINVOPFAM -58
SKTAL_EINVOPSPEC -59
SKTAL_EINVLEN -60
SKTAL_ENULLPTR -61
SKTAL_EBADSTATE -64
SKTAL_ENOTFOUND -65
SKTAL_EASNENCODE -66
SKTAL_EASNDECODE -67
MSP
704
SKTAL_EINVOPC -72
SKTAL_EINVDPC -73
SKTAL_EINVINITSTATE -86
SKTAL_ALREADY_REGISTERED -121
SKTAL_STACK_IN_USE -122
SKTAL_NO_MORE_STACKS -123
SKTAL_NO_MORE_DIDS -124
SKTAL_INVALID_ARG -125
SKTAL_BAD_MUTEX -126
SwitchKit TCAP Interface
705
Appendix D - SKTAL Dialog and Component Structure Definitions
This appendix provides information on SKTAL dialog and component structure definitions.
SKTAL_DLG and SKTAL_CPT Structure Definitions
/*
* Quality of service indicator octet definitions:
* (To select more than one option OR together options)
*/
#define QOSI_RET_OPT (0x01) /* Return Option */
#define QOSI_SEQ_CTRL (0x02) /* Sequence Control */
#define QOSI_SLS_KEY (0x04) /* SLS key present */
#define QOSI_PRIORITY (0x08) /* Message priority octet present */
#define QOSI_NETWK_IND (0x10) /* Use provided network indicator */
#define QOSI_PROT_VER (0x20) /* Force inclusion of the TCAP ver */
/*
* TCAP_PN_TERMINATION Values:
*/
#define TCAP_END_BASIC (0) /* Basic end */
#define TCAP_END_PREARRANGED (1) /* Pre-arranged end */
/*
* TCAP_PN_CPT_PRESENT Values:
*/
#define TCAP_NO_CPT (0) /* No component(s) present */
#define TCAP_CPT_PRESENT (1) /* Component(s) present */
/*
* TCAP_PN_LAST_CPT Values:
*/
#define TCAP_MORE_CPTS (0) /* More component(s) to follow */
#define TCAP_LAST_CPT (1) /* This is the last component */
#define TCPEND_BASIC TCAP_END_BASIC
#define TCPEND_PREARRANGED TCAP_END_PREARRANGED
#define TCP_NO_CPT TCAP_NO_CPT
#define TCP_CPT_PRESENT TCAP_CPT_PRESENT
#define TCP_MORE_CPTS TCAP_MORE_CPTS
#define TCP_LAST_CPT TCAP_LAST_CPT
/* Size values for Manual TCAP Parser */
#define MAX_TCAP_CPT_SIZE (304)
#define MAX_NO_OF_TCAP_CPTS (4)
#define MAX_TCAP_DLG_SIZE (336)
#define MAX_TCAP_TRANS_SIZE \
(MAX_TCAP_DLG_SIZE + (MAX_TCAP_CPT_SIZE * MAX_NO_OF_TCAP_CPTS))
MSP
706
/********************************************************************
* *
* Structure definitions for Component Primitives *
* *
********************************************************************/
/*
* Definitions for buffer sizes in the 'C' structured
* representation of TCAP protocol primitives.
*
* Each value must allow space for the tag, length and associated data to be stored.
* The user may need to change the values given in
* order to support larger parameters or to reduce
* the size of the structures if it is known that
* certain parameters lengths will never be exceeded.
*/
#define IV_SIZE (4) /* space for 'invoke_id' parameter */
#define OP_SIZE (32) /* space for 'operation' parameter */
#define PR_SIZE (256) /* space for 'parameter' parameter */
#define ER_SIZE (32) /* space for 'error' parameter */
#define PB_SIZE (16) /* space for 'problem' parameter */
#define AC_SIZE (64)/* space for 'ac_name' parameter */
#define UI_SIZE (256) /* space for 'user_info' parameter */
#define AB_SIZE (256) /* space for 'abt_info' parameter */
/*
* Substructures for Components
*/
typedef struct cpt_inv_id
{
SKTAL_USHORT len;
SKTAL_OCTET data [IV_SIZE];
}
CPT_INV_ID;
typedef struct cpt_op
{
SKTAL_USHORT len;
SKTAL_OCTET data [OP_SIZE];
}
CPT_OP;
typedef struct cpt_param
{
SwitchKit TCAP Interface
707
SKTAL_USHORT len;
SKTAL_OCTET data [PR_SIZE];
}
CPT_PARAM;
typedef struct cpt_error_code
{
SKTAL_USHORT len;
SKTAL_OCTET data [ER_SIZE];
}
CPT_ERROR_CODE;
typedef struct cpt_problem
{
SKTAL_USHORT len;
SKTAL_OCTET data [PB_SIZE];
}
CPT_PROBLEM;
/*
* Invoke primitive. REQ and IND
* Invoke not last primitive. REQ and IND
*/
typedef struct cpt_invoke
{
CPT_INV_ID invoke_id;
CPT_OP operation;
CPT_PARAM param;
#if defined(CCITT)
SKTAL_USHORT opClass; /* 1, 2, 3 or 4 */
#dendif
SKTAL_USHORT timeout; /* 0 .. 409 */
CPT_INV_ID linked_id;
#define correlation_id linked_id /* FOR ANSI */
}
CPT_INVOKE;
/*
* Return result last primitive. REQ and IND
* Return result not last primitive. REQ and IND
*/
typedef struct cpt_result
{
CPT_INV_ID invoke_id;
#if defined(CCITT)
MSP
708
CPT_OP operation;
#endif
CPT_PARAM param;
}
CPT_RESULT;
/*
* User error primitive. REQ and IND
*/
typedef struct cpt_error
{
CPT_INV_ID invoke_id;
CPT_ERROR_CODE error;
CPT_PARAM param;
}
CPT_ERROR;
/*
* User reject primitive. REQ and IND
* Local reject primitive. IND only.
* Remote reject primitive. IND only.
*/
typedef struct cpt_reject
{
CPT_INV_ID invoke_id;
CPT_PROBLEM problem;
#if defined(ANSI)
CPT_PARAM param;
#endif
}
CPT_REJECT;
/*
* User cancel primitive. REQ only.
* Local cancel primitive. IND only.
*/
typedef struct cpt_cancel
{
CPT_INV_ID invoke_id;
}
CPT_CANCEL;
/*
* Timer Reset primitive (ITU White Book 97 only). REQ only.
*/
SwitchKit TCAP Interface
709
#if defined(CCITT)
typedef struct cpt_timerReset
{
CPT_INV_ID invoke_id;
}
CPT_TIMER_RESET;
#endif
/*
* Union of all of the above
*/
typedef struct tcap_cpt
{
SKTAL_USHORT last_component; /* either 0 or non-zero */
SKTAL_USHORT ptype; /* prim type (TCPPT_xxx values) */
Union
{
CPT_INVOKE invoke;
CPT_RESULT result;
CPT_ERROR error;
CPT_REJECT reject;
CPT_CANCEL cancel;
#if defined(CCITT)
CPT_TIMER_RESET timerReset;
#endif
}
u;
}
TCAP_CPT;
/********************************************************************
* *
* Structure definitions for Dialogue Primitives *
* *
********************************************************************/
/*
* Dialog substructures
*/
typedef struct dlg_qos
{
SKTAL_OCTET indicator;
SKTAL_OCTET sls_key;
SKTAL_OCTET priority;
MSP
710
SKTAL_OCTET networkInd;
}
DLG_QOS;
typedef struct ac_name
{
SKTAL_USHORT len;
SKTAL_OCTET data [AC_SIZE];
}
DLG_AC_NAME;
typedef struct usr_inf
{
SKTAL_USHORT len;
SKTAL_OCTET data [UI_SIZE];
}
DLG_USR_INF;
typedef struct abt_inf
{
SKTAL_USHORT len;
SKTAL_OCTET data[AB_SIZE];
}
DLG_ABT_INF;
/*
* ITU and ANSI UNI. REQ and IND.
*/
typedef struct dlg_uni
{
SKTAL_USHORT cpt_present; /* 0 or 1 */
DLG_QOS qos;
DLG_AC_NAME ac_name;
DLG_USR_INF user_info;
SCCP_ADDR orig_addr;
SCCP_ADDR dest_addr;
MTP3_POINT_CODE opc; /* for use when address doesn't include */
MTP3_POINT_CODE dpc; /* for use when address doesn't include */
}
DLG_UNI;
/*
* ITU BEGIN, ANSI QUERY W/PERM and WO/PERM. REQ and IND.
*/
typedef struct dlg_begin
{
SwitchKit TCAP Interface
711
SKTAL_USHORT cpt_present; /* 0 or 1 */
DLG_QOS qos;
DLG_AC_NAME ac_name;
DLG_USR_INF user_info;
SCCP_ADDR orig_addr;
SCCP_ADDR dest_addr;
MTP3_POINT_CODE opc; /* for use when address doesn't include */
MTP3_POINT_CODE dpc; /* for use when address doesn't include */
}
DLG_BEGIN;
/*
* ITU CONTINUE, ANSI CONV W/PERM and WO/PERM. REQ and IND.
*/
typedef struct dlg_continue
{
SKTAL_USHORT cpt_present; /* 0 or 1 */
DLG_QOS qos; /* Indication only. Ignore for request */
DLG_AC_NAME ac_name;
DLG_USR_INF user_info;
SCCP_ADDR orig_addr;
MTP3_POINT_CODE opc; /* for use when address doesn't include */
}
DLG_CONTINUE;
/*
* ITU END, ANSI RESP. REQ and IND.
*/
typedef struct dlg_end
{
SKTAL_USHORT cpt_present; /* 0 or 1 */
DLG_QOS qos; /* Indication only. Ignore for request */
DLG_AC_NAME ac_name;
DLG_USR_INF user_info;
SKTAL_OCTET termination; /* 0 or 1 */
}
DLG_END;
/*
* ITU U-ABORT. REQ only.
* ITU P-ABORT. IND only.
* ANSI ABORT, IND only.
*/
MSP
712
typedef struct dlg_abort
{
SKTAL_USHORT abort_reason;
DLG_QOS qos; /* Indication only. Ignore for request */
DLG_AC_NAME ac_name; /* P-ABORT does not include this */
DLG_USR_INF user_info; /* P-ABORT does not include this */
DLG_ABT_INF abort_info; /* ANSI only */
}
DLG_ABORT;
/*
* ITU NOTICE and ANSI NOTICE. IND only (based on QOS return option).
*/
typedef struct dlg_notice
{
SKTAL_OCTET report_cause;
SKTAL_OCTET user_data_len; /* Presence depends on manufacturer */
SCCP_ADDR orig_addr; /* Presence depends on manufacturer */
SCCP_ADDR dest_addr; /* Presence depends on manufacturer */
SCCP_DATA user_data; /* Presence depends on manufacturer */
}
DLG_NOTICE;
/*
* Union of above types
*/
typedef struct tcap_dlg
{
SKTAL_USHORT ptype; /* primitive type (TCPPT_xxx values) */
Union
{
DLG_UNI uni;
DLG_BEGIN begin;
DLG_CONTINUE cont;
DLG_END end;
DLG_ABORT abort;
DLG_NOTICE notice;
}
u;
}
SKTAL_DLG;
SwitchKit TCAP Interface
713
Appendix E - SKIM and SKTAL API Integration with IntelliNet Codecs
This appendix describes the integration of SKIM and SKTAL API with IntelliNet Technologies’ codecs. A step-by-step sequence is provided to facilitate the integration.
Use these documents as required:
Intellinet Codec Installation Guide
WIN User's Guide
CAMEL User's Guide
INAP User's Guide
UMTS MAP User's Guide
Integrating SKIM and SKTAL API with IntelliNet Codecs
Steps
Follow these steps to integrate SKIM and SKTAL API with IntelliNet codecs.
1. Install the SKIM and SKTAL API.
uncompress <Filename>
tar -xvf <Filename>
2. Install a codec.
The codecs available from Excel Switching Corporation are:
Customized Application for Mobile network Enhanced Logic (CAMEL)
Universal Mobile Telecommunications System- Mobile Application Part (UMTS- MAP) which includes Global System for Mobile communication - Mobile Application Part (GSM-MAP)
ANSI - 41
Wireless Intelligent Network (WIN)
For installation instructions on these codecs see, the following documents (available from Excel Switching Corporation):
CAMEL User’s Guide, document part number P_EXCL_CAMEL_UG_2.0
UMTS MAP User’s Guide, document part number P_EXCL_UMTS_MAP_UG_2.0
WIN User’s Guide, document part number P_EXCL_WIN_UG_2.0
ANSI 41D User’s Guide, document part number P_EXCL_AS41D_UG_2.0
The default directory for a codec is: /opt/Intellinet/<CODEC>/
Note
If you have installed the CCITT based codec, the codec header files get installed under /opt/IntelliNet/<CODEC>/include/itu/ directory.
MSP
714
If you have installed the ANSI based codec, the codec header files get installed under /opt/IntelliNet/<CODEC>/include/ansi/ directory.
The Codec library files get installed under /opt/IntelliNet/<CODEC>/lib/ directory
3. Build a provided sample application.
Open the relevant makefile. For a sample SKIM application, use the steps described in Section 4. The SKIM sample application files, test1.cpp and test2.cpp, can be found in the directory:
$ITS_ROOT/SKIM/TEST
For a sample SKTAL sample application, use the steps described in Section 7. The SKTAL sample application files, test1.cpp and test2.cpp, can be found in the directory:
$ITS_ROOT/TAL/TEST
For the sample application to use the installed codec, modify the makefile to link the codec header files and codec library files pointing to the directory chosen in Step 2.
4. Compile
Compile the sample application using the makefile.
5. IntelliNet Codec
Before running the sample application, which uses one of the IntelliNet codecs, download the IntelliNet codec license file its.lic to the directory where the sample application executable is started.
715
Developer Information
Developer Licensing
General Licensing Information
Scalability
Product licensing lets you start with a more affordable set of core features. As your revenues and requirements grow, you can purchase licenses for additional hardware and software modules.
What You Can License
You can license features per Excel MSP or in smaller units. Some licenses are installed on the host computer and remain on the host computer. Other licenses are downloaded from the host computer to the MSP using the Excel API.
Licenses Installed on the Host Computer
SwitchKit
Refer SwitchKit Software Licensing in the SwitchKit Installation and Maintenance Guide.
IN and Wireless protocol stacks
Refer to Licensing of Intelligent Network and Wireless Protocols in the IN Wireless Protocols Overview.
Licenses Downloaded to the MSP
System Software per MSP (includes four signaling spans)
SCCP/TCAP per MSP
Base SS7 MTP2/MTP3 License per MSP
SS7 Monitoring
Number of SS7 links
ISUP licensed per CIC
Call Control licensed by channel manager license
DSP Resource Points
E1/T1 spans - per 96 DS0 channels (same license applied for DS3 I/O)
SwitchKit
IN and Wireless protocol stacks
VoIP
Related Topics
System Software Licensing
MSP
716
Software Modules Licensing
SS7 Links Licensing
Licensing Information (ClientView)
Introduction to SS7 Monitoring
Resource Points
Configuring Licensing
VoIP Licensing
Developer Information
717
System Software Licensing
Overview
The System Software License is based on a combination of the MSP I/O card serial number and the System Software release number. For future releases, you must download a new license.
System Software Licensing is an evolution from existing Excel licensing models. Excel already licenses software functions, such as SS7 User Parts. Excel’s licensing has always provided flexibility by allowing you to pay for only as much capacity as you currently need (such as SS7 links) with the ability to buy more capacity as your needs grow.
The System Software License applies to your base System Software load and to System Software upgrades.
MSP
718
Software Modules Licensing
Overview
For software modules, you must provide the serial number from the MSP I/O card. After the software module is enabled, it is available to all system hardware.
You can license the following software modules:
SS7 User Part Licenses
SCCP/TCAP
To enable SCCP/TCAP, you must purchase a license for each active MSP. SCCP/TCAP are licensed in increments of 250 transactions per second (TPS). The license also includes a hysteresis mechanism which averages traffic over a period of time to allow exceptional TCAP traffic peaks (TPS) in the network.
Intelligent Network (IN) and Wireless Licenses
Excel licenses IN and Wireless protocol stacks on the host. You cannot use IN without TCAP, so you must also purchase a TCAP license to enable SCCP/TCAP.
As mentioned above, to enable SCCP/TCAP, you must download a license, even if the MSP was previously licensed for SCCP/TCAP. The IN/Wireless Codec license keys and the SCCP/TCAP licenses are generated together and must be used together.
Wireless keys and SCCP/TCAP licenses require the following information:
Host ID
MSP I/O card ID
Specific IN and Wireless protocols
Specific IN and Wireless protocols are listed below. For each MSP, if the SCCP/TCAP stack exceeds the TPS number licensed, the SS7 Signaling Stack Configure message (0x005C) is NACKed with the response status value Software Module Still Locked (0x007F).
IN Protocols
Specific IN protocols listed below are licensed per MSP and limited to 1250 transactions per second (TSP).
Customized Applications for Network Enhanced Logic (CAMEL)
Wireless Intelligent Network (WIN)
Intelligent Network Application Part (INAP)
Wireless Licenses
Specific wireless protocols listed below are licensed per MSP and limited to 1250 transactions per second (TSP).
Mobile Application Part for GSM Networks (GSM-MAP)
Developer Information
719
Mobile Application Part for ANSI Networks (ANSI-41)
SwitchKit
SwitchKit licenses are available for single-node and multi-node MSP configurations. Both types of licenses are matched to the MSP IDs of each node in the MSP. SwitchKit applications can connect to any LLC that is running with a valid software license. Independent software licenses are not required for SwitchKit applications.
Refer to SwitchKit Software Licensing.
MSP
720
SS7 Links Licensing
Licenses for SS7 Links
You must provide the serial number on the MSP I/O card and the number of SS7 links you want to license.
SS7 links can be purchased in 2-link increments up to 64 links maximum.
All links that you buy originally and that ship with the MSP remain available at all times. For example, if an SS7 configuration is lost, or if the system is upgraded, the licensed links that shipped with the MSP are immediately available when the system is brought back up. However, for links that you buy licenses for later, this is not the case. You must re-download these added licenses to re-instate those upgrades. You can upgrade a MSP that is on-line, without interrupting service.
Licenses for Redundant SS7 Links
A Product License Key is invalid for redundant SS7 links.
Developer Information
721
Introduction to Resource Points
The DSP Media module comes standard with 2,048 Resource Points. You can purchase additional Resource Points in increments of 1,024. The required Resource Points are added to the resource pool. Resource Points requirements are as follows:
If your DSP requirements exceed two chips (2048 Resource Points), you need to add a DSP Media module.
The DSP Media module provides six additional chips and 2048 additional Resource Points.
If you need to add more Resource Points through licensing, the Resource Points are purchased in 1024 point increments.
Refer to Resource Points for a full explanation.
MSP
722
VoIP Licensing
Each VoIP module includes 96 default channels that you can upgrade in increments of 96 channels. The maximum number of channels depends on the codecs licensed.
Refer to VoIP Resource Profiles for a description of each profile including the codecs and maximum number of VoIP channels supported.
Downloading Licenses
Use the Product License Download (0x0079) message to download the 14 byte encoded alphanumeric string which enables additional resources.
Pool Resources
The VoIP channels are licensing as pooled resources. If the MSP has two VoIP modules in it, the software will automatically spread all the licenses evenly across the two modules. This process is done in groups of 32 channels, so if there is an odd number of blocks, module 0 will have the extra channels.
Developer Information
723
Software Overview
Application Requirements (Non-SwitchKit)
Overview
This section explains what you should include in your application so that it will work effectively with the MSP if you do not use SwitchKit. The diagram below shows the application modules required.
Application Modules
Host Connection
The host, as the client in the client/server model, maintains the connection. The host application can issue any number of requests to connect and disconnect. The MSP services each connection request instantaneously. Because each MSP supports only one connection to one host, each additional connect request issued overrides the previous connection.
Important! The MSP connection port is 12610 (0x3142).
Communication Module
Overview
The Communication Module reads and writes bytes to the hardware link that connects the host to the MSP. This module can frame and queue messages, calculate checksums, process special characters, and queue host messages for MSP acknowledgment.
MSP
724
Sequence Number Logic
You should include in your Communication Module a mechanism to assign sequence numbers to messages as they are sent out the communications port, and for matching these sequence numbers to MSP responses, using the message type.
The Communication Module must monitor the Poll message constantly. The Poll message also relays the states of the active and the standby MSPs.
MSP Active/Standby State
In a redundant MSP, the Communication Module recognizes when the active MSP is no longer active because:
The MSP is no longer sending Poll messages.
The standby MSP sends Poll messages that indicate that no adjacent MSP is detected.
The standby MSP sends Poll messages that indicate that its state has switched from standby to switchover, and then to active.
The Communication Module must also recognize the need to re-route messages intended for the original active MSP to the standby MSP (the new active MSP). When the Poll message indicates that the new active MSP is ready for configuration, the Communication Module should inform the Configuration Module.
System Software Downloaded
The Poll message informs the host application that the MSP needs software downloaded, and the Communication Module performs the download.
Important! The fastest way to download software to the MSP is to use the binary downloading logic. In a redundant MSP, the Communication Module must also download the standby MSP, and then the standby MSP downloads the active MSP. This method causes the least amount of downtime for a MSP in the field.
During the development phase, you may be downloading different loads, but downloading on top of an existing download can be time-consuming. It is usually faster to clear the existing software load and then reset the MSP to download to the ROM code. The Clear System Software message is useful for this process.
Message Timeout Logic
You should include message timeout logic in the Communication Module. Timeout values can vary considerably, because with one configuration message, you can configure one channel or many channels.
Timer Logic
The host determines whether to use multiple timers or a single, global timer. A global timer must be long enough so that a configuration message sent to the MSP would have enough time to complete. If the host uses multiple timers, some experimentation with the configuration messages is required.
Developer Information
725
Message Distribution Logic
The Communication Module should also distribute messages from the MSP to the modules that need them. The module may need to send a message to more than one other module.
Include the following basic functionality in your application:
Framing
Calculating checksums
Handling special characters
Downloading System Software
Message Management Module
Overview
Implement a mechanism to manage messages to:
Assign sequence numbers to messages as they are sent out of the communications port.
Match MSP responses to these messages using the sequence number and the message type.
Support message traffic to both active and standby MSPs. Design your Message Management module so the host knows when to send messages intended for the formerly active MSP to the now active MSP. Make this module inform the Configuration module when the Poll message indicates that the active MSP is ready for configuration.
Sequence Number Logic
You should include in your Message Management Module a mechanism to assign sequence numbers to messages as they are sent out the communications port, and for matching these sequence numbers to MSP responses, using the message type.
Timeout Logic
You should include message timeout logic in the Communication Module. Timeout values can vary considerably, because with one configuration message, you can configure one channel or many channels.
Timer Logic
The host determines whether to use multiple timers or a single, global timer. A global timer must be long enough so that a configuration message sent to the MSP would have enough time to complete. If the host uses multiple timers, some experimentation with the configuration messages is required.
Message Distribution Logic
MSP
726
The Message Management module should distribute the messages from the MSP to the modules that need them. You may want to design your modules so that a message can be sent to more than one other module.
Configuration Module
Overview
The Configuration Module configures the MSP. You should design your Configuration Module with enough flexibility to reconfigure the entire MSP. The module should also be able to take groups of channels in and out of service. The configuration script file contains ideas on how to organize a MSP configuration.
Your Configuration Module should be designed to receive information about the state of the MSP from the Communication Module. If the MSP has just been turned on, your Configuration Module must configure the entire MSP. The Configuration Module does not need to do anything if the MSP resets and sends a NGA State Notify message indicating that the battery-backed configuration is valid (see the MSP Status field).
After it configures the MSP, the Configuration Module can use the Tag Configuration message to tag a configuration with a number. The NGA State Notify message also returns a configuration tag. Design your host application to detect the presence of previously-configured tags. If previously configured tags are present, the host does not need to reconfigure the MSP.
Important! Always send the Tag Configuration message last. For a list of messages that reset the tag configuration, see the Tag Configuration message in the API Reference. Any configuration message (other than the Tag Configuration message) sent to an MSP initializes the MSP’s configuration tag to 0 (zero).
When you need to clear the configuration, use the Reset Configuration message in your Configuration Module. This message allows the host to initialize configuration of the entire MSP. In a redundant MSP, sending a Reset Configuration message to initialize the entire MSP causes a switchover to occur.
You should design your application for dynamic deconfiguration and reconfiguration. Provide for such changes as the following:
Incremental configuration
Adding facilities
Changing the existing configuration
Host Connection Configuration
As the client in the client/server model, the host must maintain the connection. The host can issue any number of requests to connect and disconnect. The MSP services each connection request instantaneously. But because each MSP supports only one connection to one host, each additional connect request overrides the previous connection. To establish the connection, the host sends a Connect message that specifies a port number, along with the IP address that was configured when the MSP was turned on. You can encounter the following scenarios when disconnections occur both gracefully and ungracefully:
Developer Information
727
Graceful Disconnection
In the MSP, a server task runs continuously so that, it is always ready to send an Accept message as soon as it receives a connect request. If the host crashes and is unable to issue a Close message, it must issue a new connect request when it returns to service. The MSP instantly accepts this connect request.
Ungraceful Disconnection
The MSP software issues a Close message on a socket only if it detects that the socket has been closed by the host. The host software must have a strategy for handling connections that are broken by the MSP. Before sending the Receive message, the host should send a Select message on the receive socket descriptor, with a time-out value that is slightly greater than the poll rate. If the host is alerted of a timeout, it assumes that the MSP has broken the connection. The host must adjust the socket descriptors and issue a new Connect request.
Alarm Manager Module
The host must manage Alarm messages sent from the MSP.
Alarm Message
The Alarm message includes the following fields:
Severity
Excel has assigned the following severity levels to alarms, but you should become familiar with each alarm and determine how your application should treat them:
Informative
Minor
Major
Alarm Type
Alarms are identified by the following types:
General
Span
Channel
MSP Node
Alarm Number
Each alarm within a type has a unique number. See the Alarm message in the API Reference for alarm numbers.
Data Length
MSP
728
Some alarms have unique data associated with them. The Data Length field preceding the data indicates the length of the data to follow. If there is no data, the length is 0x00.
Data
Please refer to the specific Alarm message in the API Reference to see the data associated with that alarm, if any.
Real-Time Logging Module
It is important for the host to enable a logging feature to capture host-to-MSP and MSP-to-host messages. If a fault occurs, you should immediately retrieve a fault log with the Fault Log Query message, and send this information to Cantata technical Support for analysis.
The two types of fault logs are as follows:
Fault Log (0x01). This is a NULL terminated ASCII string.
Fault Log and Stack Trace (0x03). This is a NULL terminated ASCII string, followed by the stack pointer of when the fault occurred, followed by a trace of the stack.
An Alarm message is often accompanied by a NGA State Notify message. Pay special attention to the NGA State Notify message. It contains information such as the MSP’s serial number and configuration. It could also contain other important information.
For example, in the message’s MSP Status field, the “faults logged” bit could indicate that a software fault has occurred. In a case such as this, it is important for your host application to immediately send a Fault Log Query message to the MSP. The Fault Log Query message retrieves the fault information from the MSP. Send this information to Cantata technical Support for analysis.
User Interface Module
The User Interface module is able to perform many functions, such as downloading system software to the MSP, sending interactive configuration and query messages, and sending a configuration script file to configure the MSP. The module should be able to send a string of hex bytes to the MSP so that at any time you can send any message to the MSP and receive a response.
Create your User Interface Module so that you can disable the features of a message but still send the message and receive a response. That way, when Excel provides you with new messages as part of a software update, you can test the messages before you embed them in your applications.
Excel provides many messages that allow the host to query the MSP. Be sure to include all of the query messages that could apply to your application. Queries are important for debugging, because they retrieve a great deal of helpful information from the MSP. Queries are also important to ensure that new configurations are correct.
Query messages include the following:
E1 Span Query
Developer Information
729
PPL Audit Query
NGA Configure Query
Fault Log Query
For a complete listing of query messages, see the API Reference.
Host Communication Module
The host, as the client in the client/server model, maintains the connection to a MSP. The host application can issue any number of requests to connect and disconnect. The MSP services each connection request instantaneously. Each subsequent connect request issued “steals” the previous connection.
All API messages should be sent directly to the active MSP’s IP address. Messages should not be sent to the MSP’s shared IP address.
Before you can establish a connection link from the host, you must obtain an Internet Protocol (IP) address.
Acquire an IP Address
The IP address is a 32-bit address used in IP routing.
IP Addressing on MSP
IP addresses and subnet masks can be assigned to an MSP through Bootstrap Protocol (BOOTP).
When a MSP resets and finds an invalid IP address, subnet mask, or gateway address stored in the EEPROM, it issues five BOOTP requests. If there still is no reply, it repeats BOOTP indefinitely until it gets an IP address. The MSP has to have an IP address before the host connects.
Default Gateway Required
In a configuration that includes a router between a host and an MSP 1010, you must configure a default gateway on both MSP 1010 ports. In this scenario, the MSP 1010 and host could be on separate subnets which makes this step necessary.
MSP
730
Changing System Software Version
Overview
To download a new version of system software, you must define the new MSP binary filename.
BOOTP Server
To change a system software load using a BOOTP server, perform the following:
1. Configure the BOOTP server to issue the new FTP or TFTP Configuration File name for both the active and standby MSP in the BOOTP Response.
2. Send Clear System Software (0x0C) API message.
3. Send Reset Configuration (0x0B) API message.
The above sequence clears the system software load and initiates a FTP or TFTP transfer of the new load to the standby MSP.
Developer Information
731
Downloading System Software to the MSP
Overview
To download system software to the MSP, you must use the FTP or TFTP download method.
Important! Cantata recommends the FTP download method because it is faster than the TFTP download method.
A download is initiated by the MSP sending a BOOTP Request to the host BOOTP Server with the host flag set from the options listed below.
Host Flag Tag Values
The following host flags dictate which software download method to use and which codecs to download. Remember to convert these values from hex to decimal before entering them in the BOOTP server sofware described below.
See the following procedures depending on the operating system and tools you are using to configure the appropriate host flag.
Configuring a Host Flag Using BOOTP Server
Configuring a Host Flag Using Linux
Configuring a Host Flag Using Solaris
MSP
732
See the following topics regarding the codecs above.
IP Bearer Profile (ClientView)
VoIP Resource Profiles
FTP Download
With the FTP Download method, the MSP binary file is stored on the FTP server.
To implement FTP downloading, follow the steps below.
1) Install and configure a FTP Server (see Installing and Configuring an FTP Server).
2) Set up your FTP profile as follows:
Username: excelsw
Password: excelsw
3) Copy the software .bin file you require to the FTP Server.
TFTP Download
With the TFTP Downloading method, the MSP binary file is stored on the TFTP server.
To implement TFTP downloading, follow the steps below.
1) Install and configure a TFTP Server (see Installing and Configuring a TFTP Server).
2) Copy the software .bin file you require to the TFTP Server.
Configuring a Host Flag Using BOOTP Server
TFTP
This procedure explains how to set up downloading software to the MSP 1010 via TFTP. The host flag dictates which software download method to use.
This procedure uses Weird Solutions BOOTP Server NT running on Windows NT but you can use any BOOTP server running on any platform.
1) Double-click BOOTP Server NT from the Control Panel to display the Weird Solutions BOOTP Server NT dialog box.
2) Select the Options tab.
3) Complete this information as follows:
Type Host Flag in the Name box.
Type 134 in the Tag box.
Select 32 bit number in the Type box. Click Add.
4) Scroll down the list of names on the Options page to verify that your entry appears with the correct information.
Developer Information
733
5) Select the Clients tab. Select the hardware address that requires the host flag in the Hardware Address box.
Click New and enter the MAC address of the MSP 1010. To obtain the MAC address of the MSP 1010, power up the unit and record the MAC address printout on the front panel’s LCD display.
6) Select Host Flag in Available options box and click >> button.
MSP
734
7) Select Host Flag in the Configured options box and click Edit button.
8) Enter 3 in the Value box and click OK button.
9) Click OK button to exit the Host Flag Tag configuration.
10) If you had set the Host Flag to 3 the corresponding bootptab file generated from Weird Solution’s BOOTP Server entries would read as follows.
[Options]
Host Flag=134, int
[00-20-1C-04-03-09]
Template=<no template>
Bootfile=msp1010_id0100.bin
IP Address=135.119.51.9
Subnet mask=255.255.255.0
Host Flag=3
11) Restart the Weird Solutions BOOTP Service. Follow the next three steps if you are using Weird Solutions TFTP Turbo.
12) Double-click the TFTP Turbo from the Control Panel to display the Weird Solutions TFTP Turbo properties box.
13) Under the General tab, increase the Timeout (seconds) from 3 to 5
14) Restart the Weird Solutions TFTP Turbo service.
FTP
Developer Information
735
This procedure explains how to set up downloading software to the MSP 1010 via FTP.
This procedure uses Weird Solutions BOOTP Server NT and 3CDaemon running on Windows NT but you can use any FTP server running on any platform.
1) Double-click BOOTP Server NT from the Control Panel to display the Weird Solutions BOOTP Server NT dialog box.
2) Select the Options tab.
3) Complete this information as follows:
Type Host Flag in the Name box.
Type 134 in the Tag box.
Select 32 bit number in the Type box. Click Add.
4) Scroll down the list of names on the Options page to verify that your entry appears with the correct information.
5) Select the Clients tab. Select the hardware address that requires the host flag in the Hardware Address box.
Click New and enter the MAC address of the MSP 1010. To obtain the MAC address of the MSP 1010, power up the unit and record the MAC address printout on the front panel’s LCD display.
6) Select Host Flag in Available options box and click >> button.
7) Select Host Flag in the Configured options box and click Edit button.
8) Enter 2 in the Value box and click OK button.
9) Click OK button to exit the Host Flag Tag configuration.
MSP
736
10) If you had set the Host Flag to 2 the corresponding bootptab file generated from Weird Solution’s BOOTP Server entries would read as follows.
[Options]
Host Flag=134, int
[00-20-1C-04-03-09]
Template=<no template>
Bootfile=msp1010_id0100.bin
IP Address=135.119.51.9
Subnet mask=255.255.255.0
Host Flag=2
11) Restart the Weird Solutions BOOTP Service.
12) Configure the FTP server as follows:
Username: excelsw
Password: excelsw
User Directory: <define the path where the binary files are located>
13) Start the FTP server.
14) Power up the MSP 1010.
Configuring a Host Flag Using Linux
Developer Information
737
This procedure explains how to load software on the MSP 1010 using TFTP or FTP by configuring a host flag using the Linux operating system.
TFTP
1) Install DHCP and TFTP if necessary.
2) Extend the TFTP timeout in /etc/xinetd.d/tftp by adding the -T option in the server_args:
service tftp
{
disable = no
socket_type=dgram
protocol=udp
wait=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-t 5000000 -v -c -s/tftpboot
per_source=11
cps=100 2
flags=IPV4
}
3) Define the Host Flag option by modifying the /etc/dhcp.comf as follows:
ddns-update-style ad-hoc;
ddns-update-style ad-hoc;
# Which logfile group... log to /var/log/messages
LogFile = messages;
allow bootp;
# declare global vender options
option Host_Flag code 134 = signed integer 32;
########################################################
subnet 10.10.138.0 netmask 255.255.255.0 {
host MSP1010 {
hardware ethernet 00:20:1C:04:03:09;
fixed-address 10.10.138.90;
next-server 10.10.138.13; # tftp server name
filename "msp1010_id0100.bin"; # tftp path
relative to -s server_args in /etc/xinetd.d/tftp
option Host_Flag 3; #TFTP, E1
4) Restart DHCP/TFTP service.
5) Power up the MSP 1010.
MSP
738
FTP
1) Install DHCP if necessary.
2) Define the Host Flag option by modifying the /etc/dhcpd.com as follows:
ddns-update-style ad-hoc;
# Which logfile group... log to /var/log/messages
LogFile = messages;
allow bootp;
# declare global vender options
option Host_Flag code 134 = signed integer 32;
########################################################
subnet 10.10.138.0 netmask 255.255.255.0 {
host MSP1010 {
hardware ethernet 00:20:1C:04:03:09;
fixed-address 10.10.138.90;
next-server 10.10.138.13; # ftp server name
filename "/tftpboot/msp1010_id0100.bin";
option Host_Flag 2; #FTP, E1
}
3) Create an FTP profile on a host with FTP access.
User: excelsw
Password: excelsw
4) Restart the DHCP/FTP service.
5) Power up the MSP 1010.
Configuring a Host Flag Using Solaris
This procedure explains how to load software on the MSP 1010 using TFTP or FTP by configuring a host flag using the Solaris operating system.
The host flag dictates which software download method to use. Refer to Host Flag Tag Values (3-13) for the list of the eight options.
TFTP or FTP
This procedure is very similar for TFTP users and FTP users. The differences are noted in procedure.
There are three phases to this overall procedure. You should perform the entire procedure as root.
Phase 1 uninstalls the BOOTP patch that was installed in Solaris-8 before the DHCP patch was available.
Phase 2 installs the DHCP patch supplied by SUN Microsystems.
Phase 3 configures the DHCP service.
Developer Information
739
Important! For Solaris 9, the DHCP patch is not required.
Phase 1
1) Open the /etc/inetd.conf file and delete the following line
bootps dgram udp wait root /etc/bootpd bootpd
2) Refresh the inetd daemon process. First get the inetd process ID
ps –ef|grep inetd
3) Then send a refresh signal to that process ID:
Kill -HUP psid
Phase 2
1) Make a temporary directory under /export/home, called patch
mkdir /export/home/patch
2) Change the current directory to be /export/home/patch.
cd /export/home/patch
3) Get the recommended patch (109077-07) from the FTP server (135.119.36.254) at the following location. The login and password are ftpuser/ftp1.
˜/LSS32/System_Patches/109077-07.jar
4) Extract the patch bundle:
/usr/java1.2/bin/jar xvf 109077-07.jar
This step creates create two folders, 109077-07 and META-INF,and put respective files in them.
5) Run the patchadd utility with the proper location
patchadd /export/home/patch/109077-07
6) The patchadd utility will apply the needed patches and will inform what packages were installed.
7) After the patches are installed, reboot the system.
Phase 3
1) Ensure that the DISPLAY variable is set to your local X-Server.
2) Start the DHCP Deamon.
/etc/init.d/dhcp start
3) Run DHCMGR from the following directory:
/usr/sadm/admin/bin/dhcpmgr
4) Define the Host Flag option as indicated on the screen below:
MSP
740
5) TFTP users create the macro and set the Host Flag value to 3 as indicated on the screen below:
FTP users create the macro and set the Host Flag value to 2.
6) Create the address entry for MSP 1010. You must enter 01 before the MAC address. The 01 represents the Ethernet address and is needed for the DHCP configuration files. Alpha characters in the MAC address have to be in uppercase.
Select the Services>Modify menu. Deselect the duplicate IP addresses option as indicated below:
Developer Information
741
8) Restart the DHCP service.
9) FTP Only: Create the FTP profile on a host with FTP access as follows:
User: excelsw
Password: excelsw
10) Power up the MSP 1010.
Initiating a Download
Once you set the host flag, you can initiate a download using a BOOTP server.
BOOTP Server Download
The FTP downloading method figure shows the sequence for downloading system software files to the MSP using the FTP downloading method and a BOOTP server.
The TFTP downloading method figure shows the sequence for downloading system software files to the MSP using the TFTP downloading method and a BOOTP server.
FTP Downloading Using BOOTP Response Message
Developer Information
743
Downloading MSP System Software Using Boot File on an SD Card
A BootP server is used to configure the following:
· MSP CTRL IP address
· subnet mask
· gateway address
· FTP server address
· FTP file name of the MSP system software
If a BootP server is not available but the remote FTP Server is available, you can use the SD card to configure these parameters.
Steps
1. Insert the SD Card into an SD Writer connected to a PC.
2. Open the bootup.cfg file.
3. Change the Host Flag in the bootup.cfg file to "Retrieve boot from server".
Host Flag Values (Hex/Dec)
0x00/0 = Boot from FTP, T1 system
0x02/2 = Boot from FTP, E1 system
4. Edit the Server Address to the address of your FTP server where the MSP .bin file is located.
5. Make sure the Boot Filename is the same as the actual file you want to transfer.
6. Save the bootup.cfg file.
7. Insert the SD card into the slot on the Front Panel of the MSP.
8. Power-up the MSP.
Developer Information
745
Downloading MSP System Software From an SD Card
If an FTP server is not available to transfer the MSP System Software, the file can be loaded from the SD Card.
Steps
1. Insert the SD Card into an SD Writer.
2. Open the bootup.cfg file.
3. Change the Host Flag to "Retrieve boot from SD Card".
Host Flag Values (Hex/Dec)
0x20/32 = Boot from SD Card, T1 system
0x22/34 = Boot from SD Card, E1 system
4. Make sure the System Software Filename in the bootup.cfg file matches the .bin file on the card.
5. Save the bootup.cfg file.
6. Remove the SD card from the SD Writer.
7. Insert the SD card into the SD slot on the Front Panel of the MSP.
8. Power-up the MSP.
MSP
746
Distributing IMG System Software Using an SD Card
If you have remote MSPs that cannot obtain an MSP System Software upgrade using FTP or BootP, you can transfer the file to SD cards and distribute the SD cards to remote sites. You can edit the Bootup.cfg file on each card with the Boot configuration information for the IMG to which it will be shipped.
Developer Information
747
Fault Diagnostics
Overview
The Fault Diagnostics feature is designed to aid Cantata technical Support to resolve MSP platform performance issues, including software defects. When a fault occurs, several types of diagnostic information will be collected:
Basic system information (software version, etc.)
Fault information
Performance information (CPU utilization, task/memory information)
Logs (Generic Event Logger (GEL), Host Communication)
Last 100 API messages provided by the MSP 1010
After the fault and subsequent reset occurs, all of the above information will be automatically uploaded to the host and stored in a single text file.
Important! Cantata recommends that the user send the data to Cantata technical Support for analysis. The user is not expected to know the details of the information that is collected and uploaded to the host.
Fault Data Uploading
Important! To ensure successful automatic upload of the fault data, verify the FTP or TFTP server has upload privileges.
After the MSP resets and reestablishes communication with the host, the fault log is automatically uploaded to the host. Fault log uploading is done in the same manner in which the MSP receives a software download. For example, if the host defined FTP, E1 (Host Flag = 2) for the software download, the fault log will be uploaded to the FTP server with the same Host Flag set.
The fault data will be uploaded to a file in the same directory as the boot file. The filename format is:
ChassisID_yyyymmddhhmmss.flt.
This ensures that each uploaded file has a unique name on the host, and that MSPs that fault will not overwrite the previous fault data file.
Important! The host must set the correct date and time, because the MSP uses that information to generate the filename on the host.
MSP
748
Installing and Configuring a BOOTP Server
Overview
To have system software downloaded automatically upon start-up, you must install a BOOTP Server. UNIX systems have an embedded BOOTP Server. If you are using an NT system, you must acquire third party BOOTP server software.
You must configure the BOOTP Server with the following:
MAC address
IP address of the MSP1010
Subnet
Default gateway
Host Flag
Boot File (which is the MSP1010 binary file)
Important! When entering the MSP1010 binary filename for this release, the file name can be renamed, except that the end characters (_id0101) of the filename must not be changed. For example, the filename msp1010_ver100088_id0101.bin can be renamed to msp1010_id0101. Note that the filename is linked to the main board processor. If a different processor is used, the end characters need to be changed.
UNIX
To configure the FTP or TFTP server on a UNIX system, you must modify the following files:
ethers
bootptab
Important! If you are using a Solaris OS, you must create these two files.
Modifying the ethers file
You must enter the hardware address of the MSP to which the software is to be downloaded. A sample entry to the ethers file is shown below.
00:20:1C:01:14:3C rack1
Developer Information
749
Installing and Configuring a FTP Server
Overview
You must install and configure a FTP server to download system software files. The FTP binary file to download is stored on the FTP Server.
UNIX systems have an embedded FTP Server. If you are using a Windows NT system, you must acquire third-party FTP server software.
UNIX
To enable the FTP server, you must edit the inetd.conf file.
1) Open the file and locate the line shown below:
#ftp strean tcp6 nowait root /usr/sbin/in.ftpd
2) Remove the pound symbol (#) to enable the FTP Server.
ftp strean tcp6 nowait root /usr/sbin/in.ftpd
3) Restart the in.inetd process by rebooting the host.
4) On a Sun Microsystems Operating System, you can use the KILL command to start the process by entering the following:
kill -process_id of the in.inetd -HUP
5) To locate the process ID, enter the following:
ps -axe | grep in.inetd
MSP
750
Installing and Configuring a TFTP Server
Overview
You must install and configure a TFTP server to download system software files. The TFTP binary file to download is stored on the TFTP Server.
UNIX systems have an embedded TFTP Server. If you are using a Windows NT system, you must acquire third-party TFTP server software.
UNIX
To enable the TFTP server, you must edit the inetd.conf file.
1) Open the file and locate the line shown below:
#tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot
2) Remove the pound symbol (#) to enable the TFTP Server.
tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot
3) Restart the in.inetd process by rebooting the host.
4) On a Sun Microsystems Operating System, you can use the KILL command to start the process by entering the following:
kill -process_id of the in.inetd -HUP
5) To locate the process ID, enter the following:
ps -axe | grep in.inetd
Developer Information
751
Using Telnet to Connect to the MSP 1010
Do the following to telnet to your MSP 1010. (If you also want to reset the MSP 1010 using Telnet, see Resetting a Node.
1. Open the Command Prompt.
2. Enter the IP address.
3. Enter the following:
User: excel <Enter>
Password: excel2004 <Enter>
Developer Information
753
Ethernet Network Analyzers
If a log file cannot be captured or if additional Ethernet information is required, Cantata recommends using the following Ethernet network analyzers to capture data going to and coming from the MSP:
Surveyor from Shomiti Software
Sniffer Pro from Network Associates
Ethereal
MSP
754
Overload Logic
The Overload Logic feature provides overload condition detection of the MSP.
The overload logic checks two system parameters:
CPU utilization
Memory consumption
A set of thresholds exist for each parameter and once the value meets a threshold, the MSP sends an alarm message to the host.
CPU Utilization
The Overload Logic monitors CPU utilization in one second intervals and checks against the following thresholds.
Minor threshold on - 85 percent
Major threshold on - 90 percent
Major threshold off - 85 percent
Minor threshold off - 80 percent
Memory Consumption
Minor threshold on - 90 percent
Major threshold on - 95 percent
Major threshold off - 93 percent
Minor threshold off - 88 percent
Each condition listed above will be detected for the CPU usage and memory usage. As long as one of the resources is going into a BUSY state, for example APPROACHING BUSY, the system will be considered to be in that corresponding state. When a resource is going into a CLEAR state, for example APPROACHING BUSY CLEAR, the system will be considered to be in that corresponding state.
Call Processing Filter Facility
In order for the overload logic to maintain a stable state for a period of time and avoid frequent changes among the four conditions to be detected, a filter facility is provided.
The filter facility uses five APPROACHING BUSY levels to indicate the busy conditions. The higher the level, the busier the condition. Busy level 0 indicates a not busy condition and busy level 4 indicates the busiest condition.
Every time an APPROCHING BUSY condition is detected, the busy level is increased by one. TCAP will reject any new TCAP Transaction Requests by sending an ABORT message to the network to abort a portion of new TCAP transactions (Begin [ITU/ETSI] or Query [ANSI]) and send a NACK to the host for new transaction requests (TC-Begin/TC-Query) according to the busy level. Based on the increase of the busy level, more traffic will be discarded and NACKED. For example, when the busy level is 1, one of every four calls will be discarded and NACKED, and if the busy level increases to 2, then two of every four calls will be discarded and NACKED.
Developer Information
755
Conversely, a decrease in the busy level will result in more calls being processed by TCAP. When the busy level is zero, all of the TCAP calls will be processed.
TCAP provides a timer interrupt to detect and find the BUSY or CLEAR conditions by monitoring CPU usage and memory usage.
Busy and Clear Conditions
The following describes the process of handling BUSY or CLEAR conditions.
Approaching Busy
When an APPROACHING BUSY condition is detected for incoming new transaction requests, TCAP will abort a portion of the new TCAP transactions (Begin/Query). TCAP will send an ABORT message to the remote SS7 node that is running TCAP on the network.
For the outgoing new transaction requests, TCAP will reject a portion of the new requests based on the APPROACHING BUSY level and the filter facility busy level. TCAP will send a NACK to the host for those rejected requests. TCAP will also send an ALARM message to the host. The MSP will still process the TCAP messages for active TCAP transactions (transactions in the active state) normally, regardless of the busy level.
Approaching Busy Clear
When an APPROACHING BUSY CLEAR condition is detected, it is sent to SCCP/TCAP.
At this point TCAP will resume call processing for the incoming direction, and ACKnowledge the host’s request for the outgoing direction based on the filter facility busy level.
TCAP will also send an ALARM CLEAR message to the host to indicate a busy clear condition.
Real Busy
When TCAP detects a REAL BUSY condition, TCAP will instruct the Message Transfer Part level 3 (MTP3) to discard incoming MTP messages for TCAP Begin/Query. TCAP will also send a NACK message and an ALARM message to the host. TCAP will resume processing TCAP traffic when the resource busy condition clears.
Real Busy Clear
When TCAP detects a REAL BUSY CLEAR condition, it will send an ALARM message to the host, and resume the TCAP call processing. TCAP will still reject new transactions requests based on the busy level as described above.
Busy Condition Alarm Levels to Host
There are two different levels of busy alarms that will be sent to the host when a BUSY condition is present or clears.
MSP
756
Card Level Alarm
The card level alarm is sent to the host by TCAP and indicates the MSP is busy. The following alarm types are used:
ALARMbrdCARD_APPROACHING_BUSY and ALARMbrdCARD_REAL_BUSY,
Stack and Application Level Alarm
The stack and application level alarm is sent to the host by the SCCP and indicates the SCCP/TCAP stack is busy. The following alarm type is used:
ALARMgenSS7_SIGNALING_STACK_BUSY.
Developer Information
757
SwitchKit
SwitchKit provides the following core functional areas needed for your application to work effectively with the Multi-Services Platform.
Host Connection
Communications
Message Management
Configuration
Alarm Manager
Real-time Logging
Real-time MSP Management
User Interface
After you have addressed these functional areas in your application, you may now add call processing to your application.
For more information about SwitchKit refer to the following:
SwitchKit Product Introduction in the SwitchKit Installation and Maintenance Guide.
If you do not use SwitchKit, you have to meet these requirements yourself. Each requirement is described in the following:
Application Requirements (Non-SwitchKit).
SwitchKit API
The SwitchKit API provides a high-level interface between the application and the EXS API, to facilitate rapid Multi-Services Platform (MSP)-to-application integration.
This straightforward C/C++ language API is based on industry standards. It provides automatic configuration and redundancy control, as well as descriptive logs and error messages. It extracts the EXS API suite in C/C++ Library format. This feature enables you to support MSP messaging as well as administrative messages (between the application and the Low Level Communicator (LLC) with all the benefits of a high-level language API.
The power of SwitchKit allows you to concentrate your efforts on building your telephony applications, without dealing with complex configuration requirements or administrative tasks. It enhances applications by providing increased reliability and seamless integration of multiple applications and multiple hosts. The flexibility of SwitchKit allows you to have control over low-level administrative tasks. In short, SwitchKit lets you address the call processing aspects of your solutions as you see fit, giving you the power to implement new services easily, quickly, and profitably.
MSP
758
Multi-Host
Introduction to Multi-Host
Prior to this feature
The MSP opened a TCP server socket on TCP ID 0x3142. Any host could connect to this socket to transfer and receive API messages. There could be only one connection per Host ID.
The TCP socket was in open in “socket stealing” mode which means that if there was an existing connection established, another host trying to connect could steal the socket. This scenario was intented to handle MSPs in unmanned locations.
With this feature
This feature allows the host to configure the MSP to “listen” on multiple host sockets which allows multiple API TCP connections to the MSP.
With this release, up to three ports are supported. The host can configure what TCP ID to listen on (for example 0x3142, 0x3143, and 0x3144.)
Once you add Host Links, the following MSP applications can use them by per Host Link ID.
TCAP
SS7 Monitoring
MTP3 To Host
Benefits
The multi-host features provides the following benefits:
Host redundancy
Greater control of the MSP
Greater bandwidth for the host port
Faster response to time-critical messages such as PPL Event Request.
Related Topics
Multi-Host Applications
Configuring Multi-Host
Querying Multi-Host
Multi-Host Redundancy
Developer Information
759
Multi-Host Applications
Regardless of the application, all host initiated messages are ACKED back to the Host Link that they came in on.
Applications need to be configured to support multi-host to accommodate MSP initiated messages.
By default, all MSP-initiated messages are sent to the default Host ID 0, TCP ID 0x3142
The following applications can use multi-hosts:
SCCP/TCAP
You can configure different SSN/Stack independently. That is, you can have a particular SSN use Host Link ID 1 and a different SSN use Host Link ID 2.
In addition, you can configure the default port to use. You use either ClientView, the SS7 SCCP TCAP Configure message (0x0077, config type 0x08,) or the NGA Configure (0x0130) message (SCCP/TCAP AIB).
See the API Reference or the Multi-Host Socket in the ClientView section.
By default SCCP/TCAP uses Host Link ID 0. You can change it to be any Host Link ID.
All SSNs that are not configured to use a specific host link will transmit over this default host link.
Refer to Introduction to SCCP/TCAP.
MTP3-To-Host
Refer to Introduction to MTP3-to-Host.
SS7 Monitoring
Refer to Introduction to SS7 Monitoring.
Call Control and OAMP generate messages to Host Link ID 0, TCP ID 0x3142 only.
MSP
760
Configuring Multi-Host
By default Host Link ID 0 is enabled and corresponds to TCP ID 0x3142. All other Host Links are disabled by default.
Configuration involves two steps:
Add the hosts links using ClientView or the Multi-Link Configure (0x0130) message. Refer to Multi-Host Socket to configure through ClientView.
Configure the applications (such as TCAP, Monitoring, and MTP-to-Host) to use the host links using ClientView or the appropriate API message such as the SCCP/TCAP Configure (0x0077) message for TCAP, SigView App Manager Cfg for SS7 Monitoring or PPL Configure (0x00D7), (component 0x002B, config bytes 0x1D-0x33).
Adding host links
In either way, you add a Host Link ID and map it to a Local Socket ID. You can also modify or delete a Local Socket. You can choose any Local Socket ID (0x0000-0xFFFF) that you want. For example you can map Host Link ID 2 to TCP ID 0x4012.
We recommend that you do not modify or delete Host Link ID 0.
The Host Link ID range from 0-2.
The Multi-Link Configure message includes a Local Socket Address which is currently not supported.
Configure Applications
Once you add the host links and map them to local socket IDs, you configure the applications to use them.
Refer to Multi-Host Applications.
Developer Information
761
Multi-Host Redundancy Considerations
The MSP has redundancy at the component level. SS7 is the redundant component supported.
The port configuration is not redundant. The host must configure all MSPs individually. The multi-host configuration is always sent to the active SS7 component (whether standalone or redundant).
Since redundant SS7 components share their configuration, they both are configured to use the same Host Link IDs (0-2). The host can assigned different Local Socket ID numbers if they want, but they have to have the same Host Link IDs added.
Refer to Example Configuration for SS7 Redundancy.
MSP
762
Querying Multi-Host
You can query the multihost Host Links configured using NGA Configuration Query (0x131) message. The MSP supports Query All.
When you add additional Host Links, the MSP notifies the host whenever a host connects/disconnects on the default port. The host can also query the state of each port using the NGA State Notify (0x163) and NGA State Query (0x161) messages.
Developer Information
763
Configuring the MSP - Getting Started
Overview of MSP Configuration
ClientView or Excel API
The specific configuration steps in the Developer's Information focuses on configuring the MSP using the Excel API. To configure with ClientView, see the alphabetic listing of topics under Configuring the MSP under the ClientView book. The sequences of steps below is the same regardless of the configuration method that you choose.
Host Application
You should design your host application to guide the MSP through the configuration process as described below. You should also design the host application to dynamically configure, deconfigure, and query all entities within the MSP. Examples of these dynamic functions include adding facilities, changing span formats, deconfiguring stack entities, and querying configuration entities.
Basic Configuration Sequence
The configuration sequence is from general to specific as follows:
System
Node Configuration
Configuration that affects the entire platform including network synchronization, system time, poll interval, and loop timing.
Common Resources
External servers
Media configuration (DSP)
Span
Span assignment/format
Common channel signaling configuration
Channel
PPL component configuration
Answer supervision and release modes
VoIP
IP Address
Resource Attributes
MSP
764
Logical Spans
You can query any of the entities above after configuring.
Related Topics
This Developer Information contains extensive supporting information that will help you when configuring the MSP. Refer to the sections on SS7, DS3, VoIP, Monitoring SS7, SCCP TCAP, DSP, and ISDN.
Below are the introductory topics for each section:
Basics of SS7
DS3 Overview
VoIP Overview
Introduction to SS7 Monitoring
Introduction to SCCP/TCAP
DSP Media Module
Introduction to ISDN
Developer Information
765
System Configuration
Configuring Nodes
You configure Local and Remote Nodes as follows:
Local
Use the Local Node Configure message to assign a logical node ID and name the node.
AIB
Local Node (System, Communications, Node, Local)
TLVs
Use the following TLVs:
Physical Node ID TLV (0x8102) - 8 bytes for the I/O serial number
Logical Node ID TLV (0x8100) - range of 0-63, 255 (default)
Node Name TLV (0x8103) - name of the node, limited to one line on the LCD display. Up to 12 bytes.
Remote
Use the Remote Node Configure message to identify the logical node ID, IP address and transport method to the local node.
AIB
Remote Node (System, Communications, Node, Remote)
TLVs
Use the following TLVs:
Logical Node ID TLV (0x8100) range of 0-63, 255 (default)
Remote Node Address TLV (0x8104) - address type IPV4 (default) or IPV6
Remote Node Transport Method TLV (0x8105) - transport type Ethernet or UDP/IP (default).
MSP
766
Configuring Host Communications
Use the Host Communications Configure message to configure the node resend logical and the name of the host controlling the node.
When the node sends a message, the node waits five seconds for an acknowledge message from the host. If the acknowledgement is not received, the message re-send logic is implemented.
AIB
Host (System, Communications, Host)
TLVs
Use the following TLVs:
Resend Logic TLV (0x8140)
Host Controller Name TLV (0x8101) - Name of the host controlling the node, limited to one line on the LCD display - up to 12 bytes.
Developer Information
767
Configuring Multi-Link
You can configure additional host links for TCAP transactions, SS7 monitoring, or remote SS7 user parts.
Use the Multi-Host Configure message to map a Host Link ID to an IP Address/TCP port.
AIB
Multi-link (System, Communication, Host, Multi-link)
TLVs
Use the following TLVs:
Host Link ID TLV (0x8142)
Local Address TLV (0x8144) - IPV4 (default) or IPV6
Local Port ID TLV (0x8146)
MSP
768
Configuring Port Manager
Use the Port Manager Configure message to configure the Ethernet parameters for an IP interface port.
AIB
Port Manager (System, Communications, Network, Port Manager)
TLVs
Use the following TLVs:
IP Interface Port TLV (0x8005)
Port Mode TLV (0xE050)
Port Speed TLV (0xE051)
Port Duplex (0xE052)
Developer Information
769
Configuring Licensing
Software keys allow you to use MSP and SwitchKit. Use the License Configure message to download the licenses which enable the system software, features, and capacities.
AIB
License (System, General, License)
TLVs:
Use the following TLVs:
Product License Type (0xE046)
Product License Encrypted Data (0xE047)
Related Topics
General Licensing Information
System Software Licensing
Software Modules Licensing
SS7 Links Licensing
Licensing Information (ClientView)
Introduction to SS7 Monitoring
Resource Points
MSP
770
Network Synchronization
Before running the MSP, synchronize T1 and E1 spans to the network. Use the Synchronization Priority List Configure message to configure a prioritized list of clock sources. The MSP uses this list when it selects a synchronization clock source.
The default priority for synchronization resources is as follows:
1. External Reference Clock 1 (Primary)
2. External Reference Clock 2 (Secondary)
3. Loop Timing 1 (Primary)
4. Loop Timing 2 (Secondary)
5. Free Running clock (Internal)
The MSP continuously monitors all synchronization clock sources and uses the highest priority clock source currently available. For example, if you use the default configuration above, the MSP first determines if the Primary External Reference Clock is available. If it is not available, the MSP determines if the Secondary reference Clock is available. The MSP continues to check each source, in succession, until it finds an available source. When a higher priority source becomes available, the MSP automatically changes to the higher priority clock source.
Descriptions of the synchronization sources are as followS:
External Reference Clock
Reference Timing is generated by an external clock source to the MSP through the I/O card at the SIGNAL/TIMING 0 and 1 ports. The I/O card function is to take in a external reference clock and provide that timing to the main board which in turns uses that clock for system timing. The I/O card can sync to the following reference clocks 1.544 Mbps or 2.048 Mbps.
Loop Timing
Configure Loop Timing to derive time from a T1 or E1 span. Loop Timing synchronizes the system to an incoming T1 and E1 span through the I/O card at the SIGNAL/TIMING 2 and 3 ports or any bearer offset.
You cannot configure SIGNAL/TIMING port 0 and 1 for loop timing.
You must first designate which span you want to use to extrapolate the clock. Use the Loop Timing Configure message after you assign spans.
Free Running Clock
Free running timing is based on the internal clock source of 2.048 Mbps. Free running timing is for test environments only. Do not use this timing method for network operations. You can determine the current active timing by performing a synchronization priority list query.
System Time
You must use the Time Set message to set the system time. The MSP uses the system time to timestamp fault log entries.
Developer Information
771
Initiating PPL Table Download
Use the PPL Table Download Initiate message to download the primitive table or a state/event table.
This message causes the MSP to allocate space for the table which is then downloaded using the PPL Table Download message.
Use the PPL Create message to create a PPL protocol from the primitive and state/event tables.
MSP
772
Common Resources - DSP
Overview of DSP Configuration
This section provides an overview of the DSP Configuration in the context of the overall MSP configuration.
For additional topics regarding DSP Resources, refer to the DSP section starting with Overview of Configuring and Using DSP Resources.
Developer Information
773
Configuring the DSP Service State
Overview
Each MSP comes with two DSP chips and the Channel Manager license provides 2048 resource points.
You can install an optional plug-in module that contains six DSP chips. You can enable additional resource points through DSP Resource Points license in 1024 increments. All resouce points are pooled among the DSPs in the MSP chassis.
Taking DSP Out of Service State
Use the Service State Configure message to take each DSP out of service in order to configure the DSP resources.
Use the DSP Chip AIB (0x22).
Bringing DSP Back into Service
After you configure DSP resources, use the Service State Configure message to bring each DSP back into service.
MSP
774
Configuring the DSP SIMM
There are four streams per DSP and 2 or eight DSPs per MSP. Use the DSP SIMM Configure API message to assign the functions to the four streams on a DSP.
This message uses the DSP Chip AIB (0x22).
The host sends a separate API message for each DSP in the MSP.
Record/Playback
The record/playback function requires DTMF reception and tone generation on the MSP. Refer to File, Record and Playback Overview.
Developer Information
775
Configuring Access to the NFS Server
Use the Generic Card Configure (0x0122) message to do the following:
Select NFS server
Configure server ID, IP address, server name, and mount name
Identifies location of Vocabulary Index File
Sets NFS, DSP overload, main board memory, and temporary memory alarm thresholds
Sets statistics update timer
Configures NFS group ID and poll retries
Sets temporary record file timer.
TLVs in Initial Configuration
Card Object
File Management
Server Address
Vocabulary Index File
TLVs in Optional Message
NFS Alarm
DSP-2 Main Board Memory Alarm
DSP-2 Temporary Memory/Alarm Threshold
Statistics Update Timer TLV
NFS User Group ID TLV
NFS Poll Retries
Temporary Record File Timer
MSP
776
Configuring Advanced Conferencing
Use the Generic Card Configure (0x0122) message to configure parameters for advanced conferencing feature:
Mandatory TLV
Card Object (0x05FA)
Optional TLVs
Output Gain Control
Noise Gating Enable
Nose Gate Parameters
Echo Suppression Enable
Echo Suppression Paramters
AGC Enable AGC Input Level
AGC Parameters
Conference Failure Behavior
Developer Information
777
Configuring T.30 Fax
Feature Description
See T.30 Fax Overview.
Configuration
1. Use the DSP SIMM Configure (0x00C0) message to assign T.30 Fax Function Type to the DSP.
2. Configure T.30 FAX parameters using FAX TLVs in the Generic Card Configure (0x0122) message. Mandatory TLV: Card Object (0x05FA)
Optional TLVs: 25 TLVs (0x0641-0x066C)
3. Use the Resource Connect (0x0127) message to initiate a fax.
Resource Type TLV: Send FAX (0x0105) or Receive FAX (0x106)
Page Range in TIFF File
This feature allows the user of the DSP Media module's Fax transmission capability to select a range of pages for transmission out of a single TIFF file. This allows you to incorporate selective page transmissions into your application for such reasons as removal of cover pages for fax store and forward applications or fax back services which send selective sections of repair manuals.
To use this feature, send the Resource Connect 0x0127 message with the 0x068C FAX Page Range TLV.
Query
To Query T.30 FAX settings, send the Generic Card Query 0x0123 message with one or more of the T.30 FAX TLVs.
Use the Generic Card Configure (0x0122) message to configure the T.30 fax parameters:
Related Topics
T.30 Fax Overview
Configuring T.30 Fax
MSP
778
Configuring Echo Cancel
1. Configure DSP for Echo Cancel function using the DSP SIMM Configure 0x00C0 message.
DSP Function Type
Echo Cancel (0x33)
2. Set module-level Echo Cancel parameters using the Generic Card Configure 0x0122 message.
Mandatory TLV
0x05FA Card Object
Object ID: Echo Cancel Parameters (0x0005)
Optional TLVs
0x0673 Echo Cancel Tap Length
0x0674 Echo Cancel NLP Type
0x0675 Echo Cancel ADAPT
0x0676 Echo Cancel Bypass
0x0677 Echo Cancel G.176 Modem Answer Detection
0x0678 Echo Cancel NLP Threshold
0x0679 Echo Cancel CNG Noise Threshold
Related Topic
Overview of Echo Canceller
Developer Information
779
Configuring Voice Detection/Answering Machine Detection
You can configure the MSP 1010 to analyze incoming PCM data and detect voice or an answering machine. You can set PVD/AMD parameters for a DSP Media module and for an individual channel. When a signal is detected, the host is notified with a Call Processing Event 0x002E message.
Configuration
1) Configure DSP for PVD/AMD function using the DSP SIMM Configure 0x00C0 message.
DSP Function Type
PVD/AMD (0x34)
2) Set card-level PVD/AMD parameters using the Generic Card Configure 0x0122 message.
Mandatory TLV
0x05FA Card Object
Object ID: PVD/AMD Parameters (0x0006)
Implementation
1) Attach PVD/AMD receiver to channel using the Resource Connect 0x0127 message
AIBs
Resource A: Span/Channel
Resource B: Slot
Mandatory TLV
0x0602 Resource Type
Resource Type = PVD and AMD (0x0109)
Optional TLVs (to override default module parameters)
0x0619 PVD Parameters
0x061A AMD Parameters
0x061B PVD/AMD Reports
2) To disconnect the channel from the DSP resource, use the Resource Disconnect 0x0128 message.
AIBs
Resource A: Span/Channel
Mandatory TLV
0x0602 Resource Type
Resource Type = PVD and AMD (0x0109)
MSP
780
Optional TLVs)
None
Query
Use the Generic Card Query 0x0123 message to query the module-level defaults for PVD/AMD.
Developer Information
781
Span Configuration
Assigning Logical Span IDs
Use the Assign Logical Span ID (0x00A8) message to map a logical span ID to a physical location. The following are the physical locations:
Signaling spans: slot 1, offsets 0-3
Bearer spans: slot 2, offsets 0-27 (T1) or 0-20 (E1)
You must assign a unique logical span ID to each span in the MSP (0-6685).
You also use the Assign Logical Span ID message to de-assign spans.
Next task
Configuring T1 Spans
MSP
782
Configuring T1 Spans
Use the T1 Span Configure (0x00A9) message to define the characteristics of a T1 span including:
framing (D4, ESF)
line coding method
signaling method
line length
For SS7 signaling, you must configure the signaling method to Clear Channel for the T1 spans carrying the signaling links and CICs. This step prevents the MSP from attempting to extract Channel Associated Signaling from the spans.
Next Task
Configuring E1 Spans
Developer Information
783
Configuring E1 Spans
Use the E1 Span Configure (0x00D8) message to define the characteristics of an E1 span including
line coding method
error checking
signaling method
line length
For SS7 signaling, you must configure the signaling method to Clear Channel for the E1 spans carrying the signaling links and CICs. This step prevents the MSP from attempting to extract Channel Associated Signaling from the spans.
Next Task
Configuring the Span Filter
MSP
784
Configuring the Span Filter
Use the Span Filter Configure (0x00CD) message to configure the filter timers to detect carrier group alarms.
Next Task
Configuring SS7 State Machine
Developer Information
785
Configuring Host Link Failure
Use the NGA SCCP_TCAP Configure (0x0130) message to configure host link failure (HLF) behavior for SS7 as follows:
AIB
Signaling, SS7. SCCP
TLVs
HLF Configuration (0xE035)
HLF disable (default) or enable
HLF declaration timer range
Local Port ID (0x8146)
SCCP HLF Failure Behavior (0x9080) - do nothing or take subsystem out of service
Related Topic
Host Link Failure
Next Task
Mapping SS7 Subsystem to Application ID
MSP
786
Channel Configuration
Answer Supervision Mode
Use the Answser Supervision Mode (0x00BB) message to configure the answer superviosn mode for a channel which includes the following:
propogate answer to the distant end
notify host of answer
propagate answer to distant end and notify host of answer
no answer supervision
The answer supervision mode for DPO and DPT trunk types is NONE by default. Do not change it.
Developer Information
787
Configuring Local and Distant End Release Mode
Use the Local End Release Mode (0x0021) message to determine whether a channel is released or parked when the other end of a connection releases.
Release mode options include:
park
release
release with host notify (E&M)
park with host notify (E&M)
Use the Distant End Release Mode (0x00B8) to determine when the distant end is released or parked when the connection is terminated.
MSP
788
Configuring the PCM Encoding Format
Use the PCM Encoding Format Configure (0x00D9) message to change the default PCM encoding format for a channel.
When the MSP makes a connection between two channels with different PCM format, the MSP performs automatic conversion.
The MSP sends the message to one of the channels to disable automatic PCM conversion. The format options include A-law and u-law.
The message configures the encoding format regardless of the type of calls on the specified channel including both voice and data (static configuration).
If you require dyanmic per-call control, use the Companding Conversion Mode (0x0118) TLV in the Connect with Data (0x0005) or Route Control (0x00E8) messages.
Developer Information
789
Configuring the DSP Service State
Overview
Each MSP comes with two DSP chips and the Channel Manager license provides 2048 resource points.
You can install an optional plug-in module that contains six DSP chips. You can enable additional resource points through DSP Resource Points license in 1024 increments. All resouce points are pooled among the DSPs in the MSP chassis.
Taking DSP Out of Service State
Use the Service State Configure message to take each DSP out of service in order to configure the DSP resources.
Use the DSP Chip AIB (0x22).
Bringing DSP Back into Service
After you configure DSP resources, use the Service State Configure message to bring each DSP back into service.
MSP
790
DS0 Status Change
Use the DS0 Status Change (0x0042) message reports a change in channel status to the host. These changes include:
in service
out of service
parked
purged
Enabling group messages with the System Configuration messages reduces the message congestion when all spans and channels are brought into service.
Developer Information
791
Tagging the Configuration
You can have the host assign a tag to the MSP's configuration after it is configured.
If the configuration is modified, the tag is reset to 0. The MSP restores the default values.
The MSP reports the tag to the host in the Card Status Report (0x00A6) message.
MSP
792
SS7 Configuration
Configuring the SS7 State Machine
Use the SS7 State Machine Configure (0x0171) message to control the behavior of the SS7 state machine.
AIB
SS7 (Signaling)
TLVs
Use the TLVs to configure the MSP as follows:
State Change Request (0xE00F) - changes the state machine state to go either:
go offline
go reset
go active
go standby
Redundancy Entity TL (0xE009) - configures the node as the primary (default) or secondary SS7 signaling node.
Logical Node ID TLV (0x8100) - indentifies the logical node ID
Initial Stop State (0xE00B) - configures the state machine initial stop state to offline stop state (default) or active stop state without host control.
Component Failure Behavior (0xE00D) - configures what actions the component will take in case of failure. Options include:
wait for host control
restart component
restart SSM (default)
Developer Information
793
Configuring SS7 Signaling Stack
Use the SS7 Signaling Stack Configure (0x005C) message to define a signaling stack and assign it an Originating Point Code (OPC).
You can define four stacks per MSP consisting of the following layers:
MTP
ISUP
L3P
TUP
SCCP
TCAP
You assign each layer a variant:
ANSI
ITU-TS
BT IUP
SSUTR2
JT
The multiple stacks allow the MSP to communicate with multiple networks.
Next Task
Configuring SS7 Link Set
MSP
794
Configuring SS7 Signaling Link Set
Use the SS7 Signaling Link Set Configure (0x005D) message to define the load sharing collection of signaling links connected to an adjacent signaling node.
The link set is an abstract path between the MSP and an adjacent point code (APC) to which you will add signaling links.
You must assign the same signaling stack to all links in a link set. A typical configuration consists of two link sets.
When you configure multiple stacks, the Link Set IDs assigned to each signaling stack must be different. For example, if a Link Set ID is assigned to Stack 1, it cannot also be assigned to Stack 2.
You can configure up to:
64 links per node
128 link sets per node
Example
The following example uses the SS7 Signaling Link Set Configure message to define Link Set 0 going to APC 0x00 0x22 0x33 0x44.
FE 00 0F 00 5D 00 SN FF 00 01 1E 02 00 00 00 22 33 44
Next Task
Configuring SS7 Signaling Links
Developer Information
795
Configuring SS7 Signaling Link
A signaling link is a point-to-point connection between two SS7 point codes (in this case, a MSP and an STP). The SS7 Signaling Link Configure message assigns a physical location in the MSP (timeslot) and a previously configured Signaling Link Set to a signaling link. The message includes the following:
stack ID
link set
link ID
signaling link code (SLC)
data rate
electrical interface
The signaling link code is unique to a link set and must be the same on both ends of the link. There can be 16 links per link set.
When you configure multiple stacks on the MSP, the Link IDs assigned to each signaling stack must be different. For example, if a Link ID is assigned to Stack 1, it cannot also be assigned to Stack 2.
When configuring redundant MSPs, you must assign SS7 Signaling Links 0-63 to the primary MSP, and Signaling Links 64-128 to the secondary MSP. Note that you send all SS7 configuration to the primary MSP.
Example
The following example of the SS7 Signaling Link Configure defines span 1/channel 23 as a signaling link on Link Set 0, using a data rate of 64 Kbps.
FE 00 14 00 5E 00 SN FF 00 02 1F 03 00 00 00 0D 03 00 01 00 00 00 00
Next Task
Configuring SS7 Signaling Routes
MSP
796
Configuring SS7 Signaling Routes
A signaling route defines a path between a signaling stack and a Destination Point Code (DPC). The MSP supports up to:
128 destinations
512 routes
Use the SS7 Signaling Route Configure message to assign the Route IDs. The message contains:
Stack ID
Destination ID - defines the relationship of a signaling stack and a specific DPC.
Route ID
DPC
Link Set ID
Priority
Combined Link Set
You assign each signaling route to a DPC. You give each signaling route to a DPC a priority. Link sets with the same priority to a destination will load-share traffic as a combined link set.
When you configure multiple SS7 stacks, the Route IDs assigned to each signaling stack must be different. For example, if Route ID is assigned to Stack 1, it cannot also be assigned to Stack 2.
Example
The following example of the SS7 Signaling Route Configure assigns a route to DPC 0x00 0x33 0x44 0x55. See the API Reference for the format of SS7 Signaling Route Configure.
FE 00 14 00 5F 00 SN FF 00 01 20 05 00 00 00 00 01 00 33 44 55 00 09
Developer Information
797
SS7 CIC Configuration
Use the SS7 CIC Configure (0x006A) message to assign circuit identification codes (CICs) to SS7 controlled voice circuits. This process creates an association between the channels on a logical span and SS7 CICs. The message data includes the following:
Stack ID
Base CIC number
Base CIC span
Base CIC channel
Number of CICs in group
DPC
Call Control User Part
You assign CICs as a CIC Group and must reside on the same span.
E1 spans with a signaling link on timeslot 16 requires two messages to configure the CICs:
Channels 1-15 and channels 17-31
MSP
798
CIC Start Up Procedure
Overview
The MSP supports the Exchange Type A start-up procedure as defined by Q.767, Section 4.4.1. Type A does not send any messages at start-up, but responds to a GRS with a GRA, or an RSC with an RLC. As the default exchange type for the MSP is Type B, you must perform configuration steps to enable Type A.
Configuring Exchange Type
The exchange type is configurable with PPL Config Byte 60 of the SS7 ISUP SPRC component (0x13).
If the exchange type is set to Type B (0x01, the default), GRS/RSC is sent at start-up. If the Exchange Type is set to Type A (0x00), GRS/RSC is not sent at start-up.
Type B Procedure (Default)
The default exchange type for the MSP is Type B, which requires sending a GRS/RSC at start-up. The MSP waits for a remote GRA/RLC before bringing the CICs in service.
Type A Procedure
If the exchange type is set to Type A, GRS/RSC is not sent at start-up. Timer 4 of the L3P CIC component is initiated to wait for a remote GRS/RSC indication. The default timer value is 500 ms (5 s).
If the timer expires before GRS/RSC is received, the CICs are placed in service and a PPL event of 0x17 (No GRS/RSC Received, CICs In Service) is sent to the host. You can disable the sending of the PPL event to the host by changing PPL Config Byte 14 of the SS7 L3P CIC component (0x0F) to 0x00. (0x00 - Do Not Send PPL Event to Host; 0x01 - Send PPL Event to Host).
Developer Information
799
Configuring SCCP TCAP
Overview
This section describes the SCCP TCAP options that can be configured for a variant of an ANSI or ITU protocol.
Use the SS7 SCCP/TCAP Configure (0x0077) message to configure up to ten different attributes for each local subsystem. Send a separate message to configure the attributes for each local subsystem.
Before you begin
Before you can configure other options, you must add a local subsystem and configure how it routes network messages (either to TCAP or to the host). You must use the SS7 SCCP/TCAP Configure message to set the byte for Config Type to 0x01 Local SSN.
Configuring SCCP/TCAP
1. Configure the local subsystem number using the SS7 SCCP/TCAP Configure message.
2. Next you can configure SCCP/TCAP options described in the next section.
Procedures for configuring options
You can configure the following SCCP/TCAP options.
Option Use the SS7 SCCP/TCAP Configure message to...
Adjacent Translator
Set the Config Type byte to 0x02 and configure all Adjacent Translators for a given subsystem. By default, all Adjacent Translators are Concerned Point Codes.
See Adjacent Translators Configuration .
Other Concerned Point Code
Set the Config Type byte to 0x03. For an SSP or SCP, Point Codes which must be informed about local (MSP 1010) subsystem status changes are referred to as Concerned Point Codes.
SCCP/TCAP Default Parameter Table
Set the Config Type byte to 0x04. This table contains the default parameters used by SCCP and TCAP for all subsystems associated with a stack. These values are used for Mandatory parameters if not included in a primitive.
The following parameters are stored by default, according to the ITU white book.
TCAP Dialog_As_ID
TCAP Unidialog_As_ID
TCAP Protocol Version
You do not need to configure this table unless you require
MSP
800
modifications.
Subsystem
(Based on default parameter table)
Configure the default parameter table for a particular sub-system. Set the Config Type byte to 0x05.
TCAP Object Syntax Descriptor (OSD)
Set the Config Type byte to 0x06. You can modify a TCAP object by indicating the TCAP object parameter ID, TCAP identifier, whether or not to update the object syntax and if updated, what the object syntax description is.
See TCAP Object Syntax Descriptor (OSD) Configuration.
Configure Local SSN
Set the Config Type byte to 0x01. You may route messages to TCAP or the host by configuring the SSN Routing Flag.
Network DPC/SSN
Set the Config Type byte to 0x07 to configure the Destination Point Code (DPC) and remote subsystem number.
SCCP/TCAP host configuration
Set the Config Type byte to 0x08 to configure the SCCP/TCAP host that is used to receive messages from the SCCP/TCAP layer.
Replicated SSN
Set the Config Type byte to 0x09 to configure the replicated SSN.
Global Title Translation
Set the Config Type byte to 0x0C to configure Global Title Translation using the TLV Format Configuration Contents. See Global Title Translation (GTT) Configuration Samples.
Querying
Use the SS7 SCCP/TCAP Query message to query the following:
Local Subsystem Table
SCCP Default Parameter Table
Subsystem Default Parameter Table
TCAP Active Transactions
TCAP Active Operations
Related Topics
Deconfiguring SCCP/TCAP
GTT Configuration Samples
Developer Information
801
Deconfiguring SCCP/TCAP
To deconfigure an SS7 stack with SCCP/TCAP, do the following:
1. Put all SSNs out of service using the N-STATE request. This will abort any active TCAP transactions for the SSN if TCAP TUSI Config Byte 3 is set to Yes (default value).
The host MUST take the SSN out of service. If not, any attempt to delete the SSN will fail. This differs from normal deconfiguration where the link does not have to be marked OSS before it can be deconfigured.
2. Delete the SSN using the SS7 SCCP/TCAP Configure message.
3. Deconfigure MTP for the stack (links, link sets, route) using the following messages:
SS7 Signaling Link Configure
SS7 Signaling Link Set Configure
SS7 Signaling Route Configure
4. Deconfigure the stack using the SS7 Stack Configure message.
MSP
802
Configuring SS7 Components
You can use the following PPL messages to configure SS7 Components which allows you to customize the SS7 stack in the MSP.
PPL Assign (0x00D1)
Assigns protocol variants to SS7 components and includes:
PPL Component ID
PPL Protocol ID, 0x01-0x0A for user created protocols.
PPL Configure (0x00D7)
Sets PPL Configuration Byte values and includes:
PPL Component ID
PPL Entity which is always PPL Configuration Bytes
Configuration data including the number of data locations, byte number, and data
PPL Timer Configure (0x00CF)
Sets and adjusts PPL generic timers and address signaling timers. There are 200 generic timers available. The developer must specify which timers are used and how they are used. The message includes:
PPL Component ID
PPL Timer Type
PPL Event Request (0x0044)
Contains an N-State primintive for the SCCP component. The primitive contains the following:
Subsystem Number
Subsystem Status Parameters
Next Task
Bringing SS7 Spans Into Service
Developer Information
803
Bringing Spans Into Service
Once you completed configuring SS7, use the Service State Configure (0x000A) message to bring spans and signaling links into service.
MSP
804
ISDN Configuration
Configuring ISDN
This section describes the procedures for configuring primary rate ISDN and National ISDN PRI NI 2. The first four steps of the basic ISDN configuration are described in more detail in other parts of this documentation:
Span Configuration
D Channel Configuration
B Channel Configuration
Optional Configuration
More details about bringing spans and channels in service, reconfiguration, and querying information are provided following the configuration sequences in this section.
Before you begin
The basic ISDN configuration assumes a 23+D (Primary Rate Interface) in North America and 30B+D outside of North America.
ISDN PRI Configuration Sequence
The next table below shows the basic ISDN configuration sequence.
Step Action Description API Message
1 Configure Spans -Assign Logical Span IDs
- Configure span formats
Assign Logical Span ID
T1 Span Configure
E1 Span Configure
2 Configure the D channels
- Assign D channels
- Configure D channels
- Add NFAS Facilities
D Channel Assign
ISDN Interface Configure
D Channel Facility List Configure
3 Configure the B channel
Configure B channel options
B Channel Configure
4 Optional Configuration
- PPL Customization
Developer Information
805
- Features
5 Bring spans and channels in service
Bring spans, D channels, and B Channels in service
Service State Configure
National ISDN User Side Configuration
The next table provides a sample procedure for configuring the User Side endpoint variant of National ISDN PRI NI 2:
Step Action
1 De-assign the Logical Span ID of the ISDN card by setting the slot and spans (logical and physical) to 0xFF. Use the Assign Logical Span ID (0xA8) message.
2 Assign logical span IDs to spans and channels. Use the Assign Logical Span ID (0xA8) message.
3 Configure the T1 Span. Use the T1 Span Configure (0xA9) message.
4 Assign a channel as an ISDN PRI D channel. Use the D Channel Assign (0xC4) message.
5 Define the connection type for National ISDN PRI NI 2 user side as 0x09. Use the ISDN Interface Configure (0x60) message.
6 Define the spans that are controlled by a D channel (including any spans in NFAS mode). Use the D Channel Facility List Configure (0xC6) message.
For the Action field, select 0x01 (Add Facility)
For Facility Number, select 0x01-0x1E, depending on the number of spans being added.
7 Define the network type for the B channels. Use the B Channel Configure (0xC8) message.
For the Network Type (0x01) field, select 0x01 (Do Not Include Network-Specific Facilities IE)
8 Bring spans, B channels and D channels in-service. Use the Service State Configure (0x0A) message with appropriate AIBs. Send the message for each configuration.
Bringing Spans and Channels In Service
When all of the configuration is complete, bring up the D channel to establish a connection with the network and then begin call processing.
MSP
806
After establishing a connection to the network, the MSP 1010 sends the DS0 Status Change message to the host with the status of in-service. The DS0 Status Change messages follow for the B channels (voice/data channels).
If there is a link failure, the MSP 1010 sends the DS0 Status Change message to the host for the D channel, as well as all of the associated
B channels. All channels have a status of out-of-service.
Reconfiguration
Before performing reconfiguration, the MSP 1010 must be in a known state regardless of system events such as the removal or reset of cards or a host restart. Depending upon the event, the MSP 1010 determines which steps to take to get the interface operational.
The simplest approach is to send a Reset Configuration message indicating 0xFF for the Matrix Controller slot number. The configuration of all cards resets. The application must wait for the Card Status Report messages to be sent to the host before configuration begins. Sending this message clears all host-configured options, including downloaded PPL tables.
Another approach is to use Reset Configuration for the ISDN slot number, which defaults configuration for all D channels assigned to the card. Use this approach for an application that reconfigures certain features in the MSP 1010 during a live installation.
To remove a single D channel’s assignment and configuration, send the Assign Logical Span ID message (indicating de-assignment) for the D channel span.
Querying Information
Use the ISDN Query message to get parameters configurable with the ISDN Terminal Configure and ISDN Interface Configure messages, as well as assigned protocols.
Example
The following is an example of the ISDN Query message to query the General Interface Options and the response from the MSP 1010.
API Message
Trace H->X FE 00 0E 00 63 00 00 01 00 01 0D 03 00 01 17 01 00
Byte Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x000E
3, 4 Message Type 0x0063
5 Reserved 0x00
6 Sequence Number 0x00
Developer Information
807
7 Logical Node ID 0x01
8 AIB Address Method 0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type
0x0D (Channel)
11 Data Length 0x03
12, 13
Data[0,1] Logical Span ID
0x0001
14 Data[2] Channel 0x17 (Channel 23)
15 Query Type 0x01 (General Interface Options)
16 Query Subtype 0x00 (None)
17 Checksum 0xCS (not shown in trace)
API Response
Trace X->H FE 00 1B 00 63 00 00 01 00 10 00 01 00 00 00 01 00 00 00 01 00 01 00 01 00 01 00 03 00 00
Byte Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x001B
3, 4 Message Type 0x0063
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
10, 11 Data[0,1] Connection Type 0x0001 (Lucent 4ESS)
12, 13 Data[2,3] Options 0x0000 (No options)
14, 15 Data[4,5] D Channel Physical Medium 0x0001 (64 Kbps)
16, 17 Data[6,7] HDLC Bit Polarity 0x0000 (Normal)
18, 19 Data[8,9] Network Side Layer 2 0x0001 (Network Side (C/R Bit Inverted))
20, 21 Data[10,11] B Channel Selection Mode 0x0001 (Linear Clockwise)
22, 23 Data[12,13] Location 0x0001 (Private Network/Local User)
MSP
808
24, 25 Data[14,15] Channel Release Request on ISDN Disconnect
0x0001 (Send Host Channel Release Request on ISDN Disconnect)
26 Data[16,17] Protocol Discriminator Value for Maintenance Messages
0x0003 (Default)
28 Data[18,19] B Channel Encoding for Transmission 0
x0000 (Channel Number)
30 Checksum 0xCS (not shown in trace)
Developer Information
809
ISDN D Channel Configuration
This section describes the second step in the basic ISDN configuration sequence. See Configuring ISDN.
Assigning D channels
Configuring D Channel options
Adding facilities (for NFAS)
Assigning D Channels
The D Channel Assign message allocates a D channel at the timeslot you specify. The physical span MUST be assigned. You must specify the slot number of the ISDN card, as well as the ISDN type (primary and secondary).
The D Channel Assign message sets all B channel configuration parameters back to their defaults.
The MSP 1010 software selects the actual D channel resource. If the host attempts to assign more than 32 D channels, the host receives a Response Status of “ISDN D Channel Exceeds Max” (0xA4).
All subsequent references to the D channel timeslot use the Logical Span ID and channel specified in the message. The facility number of 0 (zero) is defaulted to the span with the D channel assignment. When assigning the secondary type, the host selects the facility number.
Requirements for Assigning a D Channel
The following are requirements for assigning D channels:
Span must be assigned.
Span and channel must not be assigned to an ISDN D or B channel location. For most applications, the D channel resides on the 24th channel of the T1 span, and timeslot 16 over E1.
Example
The following is an example of the D Channel Assign message. The example assumes the ISDN component is assigned to Slot 8 for backward compatibility.
Trace H->X FE 00 0E 00 C4 00 00 01 00 01 15 04 08 00 00 17 00
Byte Field Description Value and indication
0 Frame 0xFE
1, 2 Length 0x000E
3, 4 Message Type 0x00C4
5 Reserved 0x00
MSP
810
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB - Address Method 0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Type 0x15 (Primary D Channel)
11 Data Length 0x04
12 Data[0] Slot Number 0x04
13, 14 Data[1] Logical Span ID
0x0000
15 Data[3] Channel 0x17 (Channel 23)
16 Secondary D Channel Facility Number
0x00
17 Checksum 0xCS (not shown in trace)
Configuring D channels
The ISDN Interface Configure message configures attributes required for ISDN connections to the public network. To configure the connection endpoint variant, determine the type of switch from which the D channel will originate. This requires consultation with the provider. The default switch type is the Lucent 4ESS. Normally, you do not need to configure Layer 2 and Layer 3 timers and counters. However, if it is necessary to change these, refer to ITU-T Q.921 and Q.931 for details on what they do and represent.
The next table below lists the ISDN interface entities and their defaults. Use the ISDN Interface Configure message to change the default configuration.
Option Default
Connection Type Lucent 4ESS
D Channel Physical Medium 64 kbps
HDLC Bit Polarity Normal
Network Side Layer 2 User Side
B Channel Selection Mode Linear Clockwise
Location User
Developer Information
811
Layer 4 Channel Release Request on ISDN DISCONNECT
Disabled
Protocol Discriminator Value for Maintenance Messages
3
B Channel Encoding for Transmission
Channel Number
Requirements for Configuring D Channel Options
The following are requirements for configuring D channel options:
The D channel must be assigned.
The D channel parameters will only be initiated when the transition from out-of-service to in-service occurs.
Reconfiguring D Channels
Follow the steps below to reconfigure a D channel:
1. Take the B Channels out of service with the Service State Configure (0x000A) message.
2. Take the D Channels out of service with the Service State Configure (0x000A) message.
3. De-assign the D Channel with the D Channel De-assign (0x00C5) message.
4. Reconfigure the D channel with the D Channel Assign (0x00C4) message.
5. Reconfigure general options to an ISDN interface with the ISDN Interface Configuration (0x0060) message.
6. Reconfigure B channel information with the B Channel Configure (0x00C8) message
7. Bring span(s), B Channels and D channel(s) back into service with the Service State Configure (0x000A) message.
L3 Default Settings per Connection Type
Click the supported connection type for which you would like to view the default L3 configuration values:
Lucent 4ESS and Lucent 5ESS
DMS100 and DMS 250
AUSTEL
JATE
EURO User Side
EURO Network Side
MSP
812
N12
Example ISDN Interface Configure Message
The following is an example of the ISDN Interface Configure message.
Trace H->X FE 00 0F 00 60 00 00 01 00 01 0D 03 00 00 17 01 00 01
Byte Field Description
Value and Indication
0 Frame 0xFE
1, 2 Length 0x000F
3, 4 Message Type 0x0060
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type
0x0D (Channel)
11
Data Length 0x03
12, 13
Data[0,1] Logical Span ID
0x0000 (Span 0)
14 Data[2] Channel 0x17 (Channel 23)
15 Entity 0x01 (Connection Type)
16, 17
Data[0,1] Value x0001 (Lucent 4ESS)
18 Checksum 0xCS (not shown in trace)
Adding Facilities
Developer Information
813
The D Channel Facility List Configure message adds or deletes facilities controlled by a D channel. For FAS arrangements, facility 0 is assumed for the span with the D channel. By sending the D Channel Facility List Configure message, NFAS is automatically assumed.
NFAS is only supported over T1, not E1.
Specify the span and channel for D and assign the facility number (1 - 19 for NFAS) and the span ID for the facility being assigned. Each Primary D channel assumes it is located on facility 0. You can add up to 19 facilities with the D Channel Facility List Configure message.
The facility number is the span offset for the controlling D channel. For example, for NFAS the span on which the D channel is located is facility number 0. The next span controlled by that D channel is facility # 1, the next is facility # 2, and so on.
Requirements for Adding Facilities
The following are requirements for adding facilities to a D channel:
D channel must be assigned (use the D Channel Assign message).
Facility Number must be from 1-19 (0 is the D channel facility number).
Facility must be assigned (use the Assign Logical Span ID message).
Span and channel must not currently be assigned to an ISDN D or B channel location. For most applications, the D channel resides on the 24th channel of the T1 span.
D Channel Facility List Configure Message Example
The next example shows the D Channel Facility List Configure message adding Logical Span ID #2, and assigning it to facility #1 for D channel 00,17.
Trace H->X FE [00 12] [00 C6] 00 04 01 00 02 0D 03 00 00 17 0C 02 00 02 01 01]
Byte Field Description
Value and Indication
0 Frame 0xFE
1, 2 Length 0x0012
3, 4 Message Type 0x00C6
5 Reserved 0x00
6 Sequence Number 0x04
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x02
10 Address Element 0x0D (Channel)
MSP
814
Type
11
Data Length 0x03
12, 13
Data[0,1] Logical Span ID
0x0000 (Span 0)
14 Data[2] Channel 0x17 (Channel 23)
15 Address Element 2
Address Type 0x0C (Span)
16 Data Length 0x02
17, 18
Data[0,1] Logical Span ID
0x0002
19 Action 0x01
20 Facility Number 0x01
21 Checksum 0xCS (not shown in trace)
Developer Information
815
B Channel Configuration
This section describes the third step in the basic ISDN configuration sequence. See Configuring ISDN.
Requirement
Before you configure B channels, the D channel must be assigned.
B Channel Configure API message
Use the B Channel Configure message to configure B channels. Use care when configuring network-specific elements for the network. Check with your carrier if you need to include network-specific Information Elements.
Trunk-provisioned calls
If placing trunk-provisioned calls (options specific to a group of B channels), the host uses the parameters (configured with this message) in the outgoing ISDN SETUP message to the network. This data is used to encode the correct Information Elements for the called and calling party IEs when using trunk-provisioned parameters for the call type, bearer capability, numbering types, and plans.
Default Configuration
The next table lists the B channel configuration entities and their defaults. Use the B Channel Configuration message to change the default configuration.
Option Default
Network Type AT&T Megacom
Outgoing Information Transfer Capability
Voice
Calling Number Type National Number
Calling Number Plan ID
ISDN Numbering Plan
Calling Presentation Indicator
Presentation Allowed
Calling Screening Indicator
User Provided, Not Screened
Called Number Type Subscriber Number
Called Number Plan ID
Unknown Numbering Plan
Developer Information
817
Configuring the Backup D Channel
This section describes configuration for the optional ISDN backup D channel.
Before you begin
Download and assign custom PPL protocols and modify timers and configuration bytes as required.
D channel backup supported
The ISDN component supports the D Channel backup procedure as defined by Lucent TR 41459. This procedure provides a standby D channel when using NFAS. When an active D channel fails, or if there is a span alarm, the MSP 1010 converts to the standby D channel and maintains active calls. This is a provisioned option and is applicable only when using NFAS. D Channel backup is supported on the T1 component only.
Both D channels must be assigned to the same ISDN component. When a span fails, or a D channel fails, a D channel switchover occurs (not a component switchover).
As both D channels must be assigned on the same ISDN component, there are no extra hardware requirements to enable D Channel Backup. You can logically assign spans on both T1 components (bearer and signaling) in the system.
Configuring D channel backup
To configure the backup D Channel, do the following:
Step Action
1 Use the D Channel Assign message to configure the type and location of the D channel. After the primary D channel is configured, configure the backup D channel (using the D Channel Assign message again). Include the span, channel, and facility number on which it resides.
2 Send the D Channel Facility List Configure message to all other facilities you want to include in the NFAS arrangement. You can also send this message for the same facility that was assigned in the backup D channel assignment. The backup D channel cannot be de-assigned; it becomes de-assigned when the primary D channel is de-assigned.
3 Use the second facility (1) to configure the backup D channel; (however, 1-19 are permissible).
4 Bring spans and channels into service. It is not necessary to bring the backup D channel into service. It automatically comes into service when the primary D channel is brought into service.
5 When the D channels align and process the SERVICE/SERVICE ACK exchange, the host receives a DS0 Status Change message
MSP
818
(indicating “In-Service”) for the primary D channel.
Call Processing
When one of the D channels becomes active, both incoming and outgoing call processing can begin. Only the active D channel allows information frames to progress to the Layer 3 Channel Released component 8 (where calls are managed). On a D channel switchover, only calls in the Active State (10) are preserved; all other calls are cleared. Messages are dropped in the Wait State when the switchover occurs. The host receives Channel Released messages for calls in transit.
Manual D Channel Switchover
You can initiate the switchover of D channels manually by sending a PPL Event Request message to the L3 D Channel Control component and the D channel to which you want to be switched.
You cannot initiate a switchover by taking the primary D channel out-of-service or the span on which it resides.
Compliance
The MSP 1010 software is compliant with the Primary Rate Interface guidelines defined in Lucent TR 41459 specification, as follows:
Layer 2
Layer 2 provides information frames to Layer 3. For both D channels, all unnumbered, supervisor, and information frames are processed as described in the Lucent specification. Since the protocol is run over primary rate, the SAPI and TEI are both 0. Data links do not know if the D Channel Backup is enabled or disabled.
Layer 2 is managed by the following Layer 3 D Channel Control messages (primitives):
DL Establishes Request
DL Remove Request
DL DM Remove Request
DL Data Request
Layer 3
Layer 3 complies with Lucent specification TR41459. The L3 D Channel Control component (0x0A) handles the D channel backup logic. Each state represents both D channel states. The L3 DSM manages the following:
Distribution of incoming and outgoing information frames to the other components in Layer 3
The switchover procedure (sending SERVICE and SERVICE ACK messages on the D channel)
Developer Information
819
Distribution of the indication to appropriate component to preserve active calls
Reporting of D channel failure
Reporting status to the L3P D Channel Control component (0x06)
Reporting status to the host using the PPL Event Indication message
When a D channel changes state, the host receives one of the following events in the PPL Event Indication message:
D is Active (0x00001)
D is Standby (0x0002)
D is not aligned (0x0003)
The D channel failure event is sent from L3 D Channel Control component to the L3P D Channel Control component only when both D channels are not aligned. L3P does not know the state of both D channels; it only knows that at least one D channel is accessible, or that both D channels are not.
Any call not in Active State gets cleared on a switchover. The host receives a Channel Released message for the bearer channel to which the call was in transition.
Layer 3 Plus
L3P automatically requests a switchover when either span goes into an alarm condition. The L3P B Channel Control component informs the host about channel service states. When both D channels are not established, it resends the Alarm message to the host to indicate the establishment of a D channel.
MSP
820
VoIP Configuration
Overview of VoIP Configuration
You can configure the VoIP Module using ClientView or the Excel API.
Refer to the following topics if you are using ClientView:
IP Bearer Profile
VoIP Module MSP
Example Configuration for VoIP Modules
Refer to the following topics to configure VoIP using the Excel API:
Configuring the IP Address
Configuring Resource Attributes
Assigning Logical Spans
Related topics
VoIP Overview
VoIP Resource Profiles
Codec Overview
Codec Payload Sizes
Dynamic Payload Type
Developer Information
821
Configuring the IP Address
Use the IP Address Configure (0x00E7) message to configure the following for the VoIP module.
IP Address
Subnet Mask
Gateway Address
You can assign multiple IP addresses in a single API message. When an address is assigned, the TCP/IP stack must be re-initialized.
Next task
Configuring Resource Attributes
MSP
822
Configuring Resource Attributes
Initial Configuration
For initial configuration, use the Resource Attribute Configure (0x00E3) message to assign an IP resource profile to the VoIP modules. Use the IP Address AIB in the Address Element Bock TLV (0x0009) to configure all channels on the VoIP module.
Modify During Established Call
You can use the Extended Span/Channel AIB in the Address Element Block TLV (0x0009) in the Route Control (0x00E8) or Outseize Control (0x000C) messages to modify these attributes during call setup. Use the Generic PPL ICB (0x1E) to include the TLVs listed below.
Refer to VoIP Resource Profiles for a description of each profile including the codecs and maximum number of VoIP channels supported.
Types of Attributes
There are three types of attributes to configure:
General
Voice
Fax
General Attributes
Use the following TLVs to set the general attributes for the VoIP module:
Type of Service (0x01D4) - Cost, reliability, throughput, delay, precedence (Can be dynamically changed after call set up using the Resource Attribute Configure message.)
Initial Media Inactivity Detection Timeout (0x01EB) - sets MID timer to monitor channel for first valid UDP packet. Default is 0x0000 - Disabled. The timer value is rounded to nearest second.
Media Inactivity Detection Timer (0x01EC) - Sets MID timer to monitor channel for subsequent valid UDP packets. The timer value is rounded to nearest second.
You can send the following four TLVs in the NPDI TLV ICB (0x0033).
Source IP Address (0x2792)
RTP Source Port (0x2793) - Can be even or odd port number.
Destination IP Address (0x2794)
RTP Destination Port (0x2795)
Voice Attributes
Use the following TLVs to set the voice attributes for the VoIP module:
Developer Information
823
RTP Payload Type (0x0100) - Specifies the algorithm used to compress payload.
Payload Size - (0x0101) - Multiplication factor of basic packet rate
RTP Silence Suppression (0x0102) - Enables RTP packets with silence-encoded compressed payloads
RTP Echo Cancellation (0x0103) - Eliminates echo introduced by impedance mismatched hybrids.
RTP Payload Redundancy (0x01D1) - Enables the re-transmission of previous packet(s) payload with current packet payload.
Minimum Jitter Buffer Delay (0x01C2) - Sets minimum delay between 0-150 ms.
Maximum Jitter Buffer Delay (0x01C3) - Sets Maximum delay between 150-200 ms.
Adaptation Rate (0x01C4) - Sets the sensitivity of the algorithm to latency changes in the network.
Connection Mode - (0x01DB) - Specifies the voice path direction for a call
RFC 2833 Enable (0x01E2) - Enables DTMF signals to be relayed in the media stream using a special RTP payload format.
RFC2833 Dynamic Payload Type (0x01F1) - Configures the RFC2833 dynamic payload type number.
RFC 2198 Dynamic Payload Type (0x01F2) - Configures RFC 2198 dynamic payload type number. You must first enable RFC 2198 using the RTP Payload Redundancy TLV above.
Fax Attributes
Fax Type Enable (0x01C5) - Specifies fax relay or fax bypass modes
Fax Bypass Coder Type (0x01C7) - Specifies the high speed codec used in fax bypass mode. Only G.711 allowed in current release.
Fax Payload Redundancy (0x01D2) - Enables the re-transmission of previous packet payload with current packet payload.
The following four TLVs must be sent by the Route Control or Outseize Control message - not the Resource Attribute Control message:
Source T.38 Port (0x01E6) - Specifies local T.38 port for fax relay. Cannot be set on a module default level. Can be same as RTP Source Port.
Destination T.38 Port (0x01E7) - Specifies remote T.38 port for fax relay. Cannot be set on a module default level.
Source RTCP Port (0x01E8) - Specifies the local RTCP port number for fax relay. Defaults to RTP Source + 1. Can be even or odd.
Destination RTCP Port (0x01E9) - Specifies the remote RTCP port number for fax relay. Defaults to RTP Source + 1.
Developer Information
825
Assigning Logical Spans
Use the Assign Logical Span ID (0x00A8) message to assign all VoIP channels as logical spans.
The number of logical spans is dependent on the resource profile. Refer to VoIP Resource Profiles.
Use the Service State Configure (0x000A) message to bring the spans and channels into service.
MSP
826
Reconfiguring the MSP
Reconfiguring the MSP
You should design your host application to ensure correct reconfiguration after resets.
MSP Power-up
When you return power to the MSP, the software load must be reloaded and the system must be reconfigured. The host must restore the customizations (such as custom protocols) but it must wait until the Poll message indicates that the MSP is ready to take configuration. Review all fields in the NGA System State Machine Notify message to verify the contents of the MSP.
Single MSP Reset
Use the Poll message to detect an MSP reset. The MSP state changes from initialize to startup, to offline, to active. If the MSP has a valid system software load, it retains the load.
The MSP retains the configuration that was last sent by the host (except when the MSP is being powered down).
When an MSP is reset, all calls that were previously connected are torn down and the information on all of the in-service channels reports to the host. The host determines the cause of the reset.
Software faults are automatically logged when a reset occurs. If a software fault caused the reset, please send the Fault Log to Cantata technical Support. To obtain Fault Logs, send the Fault Log Query message to the MSP.
Standby MSP Reset
The host is notified of a standby MSP reset two ways:
The Poll message from the standby MSP indicates that the MSP state has changed from Standby or Standby Sync to Reset.
The Poll message from the active MSP indicates that the standby MSP has reset.
The system software load is retained. The Poll messages of the standby MSP indicate the return to the standby state. Any information shared by the active and standby MSP is sent to the standby from the active MSP.
The active MSP sends a NGA System State Machine Notify message to the host reporting on the standby MSP.
Active MSP Reset
The active MSP sends Poll messages to the host to report a reset. The host initiates the MSP state changes. The Poll messages report the MSP state changes as it transitions from Active to Initialize, to Offline to Standby to Standby Sync to Active
Developer Information
827
with Peer. The standby MSP sends Poll messages that report the MSP state changes from Standby, to Switchover, to Active.
When the standby MSP changes to the active state, the MSP sends a NGA State Notify message to the host. The MSP retains the configuration. We recommend creating your host application so that it verifies that the MSP has retained the configuration. You can use the configuration tags that are returned in the NGA System State Machine Notify message.
MSP
828
SS7
Basics of SS7
Overview
Signaling System 7 (SS7) is a network protocol that provides control for telecommunications networks. SS7 achieves this control by creating and transferring the following tasks to various network components:
Call Processing
Network management
Maintenance
The MSP can act as an Service Control Point (SCP) in an SS7 network.
The MSP supports the following two architectures:
International Telecommunications Union - Technology Sector (ITU)
American National Standards Institute (ANSI)
Associated Mode Signaling
Associated Mode Signaling, shown in the next figure, is the typical international (ITU-TS) architecture.
SS7 signaling between the MSP and the DPC is over a signaling link directly connecting the MSP to the SP/SSP. There can be multiple signaling links between an MSP and an SP.
Associated Mode Signaling
Quasi-associated Mode Signaling
Quasi-associated Mode Signaling is the typical North American (ANSI) architecture. SS7 signaling between the MSP and SP/SSP is over a signaling link through one or more STPs.
Quasi-associated Mode Signaling
Developer Information
829
SS7 Point Codes
The following discussion of point codes applies to any point codes:
Originating Point Code (OPC)
Adjacent Point Code (APC)
Destination Point Code (DPC)
See also point code information in the SS7 Route Configure message in the MSP 1010 API Reference.
ANSI Point Codes
An ANSI point code is assigned as DPC through Excel’s SS7 Route Configure message (0x5F). Right after the AIB there are four bytes for DPC. The most significant byte (MSB) byte is always 00 unless the DPC is being used to deconfigure a DPC, in which case all bytes are FF. The other three bytes receive the three elements of the point code, with Member portion of the point code in the least significant byte (LSB) position.
Meaning Network Cluster Member
Binary 8 Bits 8 Bits 8 Bits
Hex FF FF FF
Decimal 255 255 255
ANSI Example:
Decimal Point Code = 158-077-099
1) First, convert each part of the point code into hex as follows:
9E-4D-63
2) Convert each byte to a 32-bit Excel format and use this as the last two bytes of the point code in a Excel message. Zero-fill the first byte of the point code field:
Excel bytes = 0x00 0x9E 0x4D 0x63
ITU Point Codes
MSP
830
An ITU point code is assigned as DPC through Excel’s SS7 Route Configure message (0x5F).
ITU Example:
Decimal Point Code = 2-2-2
1) First, convert each part of the point code into binary, padding it with zeroes to conform to a 3-8-3 bit format (totaling 14 bits) as follows:
010-00000010-010
Note that the center part (country) has been padded out with zeros to make up the full 8 bits required for the country part of the point code.
2) Concatenate the whole thing into a single string, as follows:
01000000010010
3) The string should be 14 bits long.
Counting from the right, form two groups of bits, the Least Significant Bits and the Most Significant Bits:
010000 00010010
4) Pad the 6-bit group with zeros to make two full bytes:
00010000 00010010
5) Convert each byte to hex and use this as the last two bytes of the point code in a Excel message. Zero-fill the first two bytes of the point code field:
Excel bytes = 0x00 0x00 0x10 0x12
JT Example:
Decimal Point Code = 2-2-2
1) First, convert each part of the point code into binary, padding it with zeroes to conform to a 7-4-5 bit format (totaling 16 bits) as follows:
0000010-0010-00010
Note that the center part (country) has been padded out with zeros to make up the full eight bits required for the country part of the point code.
2) Concatenate the whole thing into a single string, as follows:
0000010001000010
The string should be 16 bits long.
3) Counting from the right, form two groups of eight bits, the Least Significant Bits and the Most Significant Bits:
Developer Information
831
00000100 01000010
4) Convert each byte to hex and use this as the last two bytes of the point code in a Excel message. Zero-fill the first two bytes of the point code field:
Excel bytes = 0x00 0x00 0x04 0x42
MSP
832
SS7 in the MSP
Signaling End Point
The MSP implements the signaling end point function within an SS7 network.
The MSP generates and receives SS7 messages to manage voice circuits (ISUP) and provide a transport mechanism for advanced intelligent network applications (SCCP/TCAP).
The MSP can act as either of the following with an SS7 network architecture:
Service Switching Point (SSP)
Service Control Point (SCP)
Intelligent Peripheral (IP)
Multiple Stacks
The MSP can have up to four signaling stacks/point codes for simultaneous variants or networks.
Signaling Links and Routes
The MSP supports the following:
up to 64 signaling links
redundant configurations - up to 128 links in two link increments
64/128 link sets
128 destinations
512 routes
Parts of SS7 Architecture
The MSP implements the following parts of the SS7 architecture:
Message Transfer Part (MTP) - Levels 1-3
Integrated Services Digital Network User Part (ISUP)
Signaling Connection Control Part (SCCP)
Transaction Capability Application Part (TCAP)
SS7 Protocol Support
SS7 functionality is determined by product license keys in addition to normal configuration. The MSP supports the following SS7 protocols:
MTP Compliance:
ANSI T1.111.3 & T1.111.4 (1992), Telcordia GR-246 Issue 7 (Release 8.3.0)
ITU Q.703 & Q.704 (1993)
Developer Information
833
Japan TTC JT-Q.702 (1991), JT-Q.703 (1989), JT-Q.704 (1991); DDI; NTT
China YDN038 (1997), GF001-9001-MTP Part (1990)
ISUP Compliance:
ANSI T1.113 (1997), Telcordia GR-317 & GR-394
ITU Q.761-764 (1997)
ETSI 300-356-1 V3.2.2 (1998)
SCCP/TCAP compliance:
ANSI SCCP T1.112 (1996), TCAP T1.114 (2000)
ITU SCCP Q.711-714 (1996), TCAP Q.771-Q.774 (1997)
Related Topics
SS7 Capacity
Configuring SS7
Introduction to SCCP/TCAP
Introduction to ISUP
MSP
834
SS7 Software Architecture
Overview
Excel uses the PPL environment to implement the Excel SS7 stack. This feature makes the stack modular and easy to customize. The SS7 software consists of the following modules:
MTP
TCAP
SCCP
Each signaling stack must include MTP, L3P, and at least one user part. Selection of a specific module automatically uses the associated default PPL components.
MTP
Message Transfer Part (MTP) is responsible for end-to-end reliable delivery of messages generated by its local user part. The MTP module comprises the MTP2 and MTP3 layers. MTP includes protocols and procedures to handle network failures and to dynamically reconfigure signaling resources to prevent message loss or duplication and out-of-sequence delivery.
MTP includes the following PPL components:
AERM RCAT TCRC
CC RSRT TLAC
HMDT RTAC TPRC
HMRT RTCC TRCC
IAC RTPC TSFC
LLSC RTRC TSRC
LSAC SLTC TXC
LSC TCBC
RC SUERM TCOC
SCCP/TCAP
Signaling Connection Control Part (SCCP) provides both connectionless and connection-oriented network services above MTP Level 3. Transaction Capabilities Application Part (TCAP) provides transaction and remote operation capabilities to a large variety of applications distributed over the MSP and service centers in the network. Excel’s SCCP/TCAP development supports the following connectionless services:
Specialized Routing
Data Transfer
Developer Information
835
Management Control
Refer to SCCP/TCAP for a complete explanation of the SCCP/TCAP implementation in the MSP.
SCCP Components
The following list contains the SS7 SCCP PPL components and their IDs:
0x65 SCLC - SCCP Connectionless Control
0x66 SCRC - SCCP Routing Control
0x67 SUSI - SCCP User Interface
0x68 SPPC - Signaling Point Prohibited Control
0x69 SPAC - Signaling Point Allowed Control
0x6A SPCC - Signaling Point Congestion Control
0x6B SSPC - Subsystem Prohibited Control
0x6C SSAC - Subsystem Allowed Control
0x6D SSTC - Subsystem Status Test Control
0x6E BCST - Broadcast
0x6F LBCS - Local Broadcast
TCAP Components
The following list contains the SS7 TCAP PPL components and their IDs:
0x70 TUSI - TCAP User Interface
0x71 CCO - Component Portion Control
0x72 ISM - Component Portion
0x73 TCO - Transaction Coordinator
0x74 TSM - Transaction State Machine
MSP
836
Causes of SS7 Signaling Link Problems
Purpose
This section describes common causes that prevent SS7 signaling links from coming into service or alignment.
Point code mismatch
The OPC (Originating Point Code) as defined in the SS7 Signaling Stack Configure message must match the value that the distant end signaling point expects. Also, the distant end's point code must match the APC (Adjacent Point Code) and DPC (Destination Point Code) values defined in the SS7 Signaling Link Set Configure message and SS7 Signaling Route Configure message.
Signaling link code mismatch
The Signaling Link Code (SLC) is a number (0-15) which is assigned by both ends to identify a specific link within a link set. The SLC defined in the SS7 Signaling Link Configure message must match the SLC value assigned to the link by the distant end.
Network indicator mismatch
The Network Indicator (NI) value is defined by two bits (therefore values 0-3 are possible). The default value of the Network Indicator is set to National (0x02) for both ANSI and ITU. Some networks may require the Network Indicator to be set to International (0x00) or one of the spare values (0x01 or 0x03). To change the NI value, PPL Configure Messages need to be sent to components MTP3 HMRT and MTP3 HMDT. See the API Reference for complete information on configuration byte locations and values.
Link status signaling unit size mismatch
By default, the MSPs transmit a Link Status Signaling Unit (LSSU) with a 2-octet status field. Some signaling points may require a LSSU size of 1-octet. To change the LSSU size, a PPL Configure Message needs to be sent to component MTP2 TXC. Consult the MSP 1010 API Reference for complete information on configuration byte locations and values.
Path and rate problem
A span carrying the signaling link must be configured for clear channel operation, in service, and not experiencing slips. Both parties must agree upon the timeslots used to carry the signaling link. Additionally, the data rate of the signaling link must be the same on both sides. The Service State Configure message for signaling links is different than the Service State Configure message used for channels. The signaling link timeslot and data rate are defined in the SS7 Signaling Link Configure message.
No route defined
Developer Information
837
A valid SS7 route must be defined to the destination to enable the MSP to send messages. This is typically indicated by received Signaling Link Testing Message (SLTM) with no SLTMs being sent by the MSP.
MSP
838
SS7 Redundancy Overview
Introduction
SS7 Redundancy is managed by the SS7 component state machines on redundant MSPs communicating via a RCOMM connection. After configuring Logical Spans on each MSP, you designate one MSP/SS7 as Primary/Active and the other as Secondary/Standby.
The host is sent a notification whenever there is a state change involving the SS7 components. When the Active component fails, the host must activate the secondary component.
In addition to the SS7 component, there is a System Controller component that manages the entire system. The host is sent a System State Machine Notify message any time a component changes state.
SS7 Redundancy
Host Communication
The following messages are used between the host and the SS7 component:
SS7 State Machine Configure
Use this message to configure the SS7 component for redundancy and other attributes. To determine which attributes are supported for a specific component, use the SS7 State Machine Query message:
Developer Information
839
0xE029 - SM Stop State Possibilities
0xE02B - SM Failure Behaviour Possibilities
0xE02D - SM (State Change) Requests Possibilities
S7 State Machine Query
Use this message with the SS7 Component AIB to query the status of the SS7 component as well as the configuration attributes supported for the component.
SS7 State Machine Notify
This message is sent to the host any time the SS7 component’s state changes.
States
All components have the following states:
Initial
Startup
Offline
Reset
Fail
Active
All redundant components have these additional states:
Active Sync
Active W/ Peer
Active Lost Peer
Standby Sync
Standby
Standby Lost Peer
Related Topics
Example Configuration for SS7 Redundancy (ClientView)
Configuring Redundancy on the SS7
SS7 Redundancy Process
MSP
840
Configuring Redundancy on the SS7 Component
You configure the SS7 component for redundancy using the SS7 State Machine Configure message.
You can configure the redundancy attributes of a component when it is in one of the following states:
Offline
Active
Active_with_Peer
If you attempt to configure a node’s redundancy when it is in any other state, you will receive the following error:
Invalid State To Perform Operation (0xE061)
The SS7 configuration for the Standby node must be sent to the Active component when it is in the Active_with_Peer State.
Steps
1) Assign Logical Node ID to MSP 1 (Local Node Configure)
2) Assign Logical Span IDs to MSP 1.
3) Configure SS7 Redundancy on MSP 1 by using the SS7 State Machine Configure message and associated TLVs to do the following:
Establish MSP 1 communications link with MSP 2 (remote node).
Command (0xE001) TLV, Add (0x00) (Default)
Logical Node ID (0x8100) TLV, Links 64-127 for MSP 2
Remote Node Address (0x8104) TLV, Links 64-127 for MSP 2
Configure MSP 1’s redundant entity.
Logical Node ID (0x8100) TLV, Links 64-127 for MSP 2
Redundant Entity (0xE009) TLV, Primary Entity (0x01) (Default)
4) Make MSP 1 State Active.
State Change Request (0xE00F) TLV, Go Active (0x10) (Default)
Important! You must assign SS7 Signaling Links 0-63 to the Active MSP, and Signaling Links 64-127 to the Standby MSP.
5) Assign Logical Node ID to MSP 2.
6) Assign Logical Span IDs to MSP 2.
7) Configure SS7 Redundancy on MSP 2 by using the SS7 State Machine Configure message and associated TLVs to do the following:
Establish MSP 2 communications link with MSP 1 (remote node).
Command (0xE001) TLV, Add (0x00) (Default)
Logical Node ID (0x8100) TLV, Links 0-63 for MSP 1
Remote Node Address (0x8104) TLV, Links 0-63 for MSP 1
Developer Information
841
Configure MSP 2’s redundant entity.
Logical Node ID (0x8100) TLV, Links 0-63 for MSP 1
Redundant Entity (0xE009) TLV, Secondary Entity (0x02) (Default)
8) Make MSP 2 State Standby.
State Change Request (0xE00F) TLV, Go Standby (0x20)
9) Send all SS7 configuration (such as stack, link set, link ID, route) to Active MSP.
Important! Even when you are assigning Link IDs that physically reside on the Standby MSP, you send the message to the Active MSP.
MSP
842
SS7 Redundancy Process
The figure below show the messaging and state changes associated with a basic SS7 redundancy scenario.
Developer Information
843
Configurable SS7 Component Attributes
Introduction
The following are attributes configurable for the SS7 component.
User Defined Message Identifier
State Change Request
The following state change commands are supported:
Go Offline
Go Reset
Go Active
Go Standby
See SS7 State Transitions for more information.
Initial Stop State
This specifies which state the component should stop in without host control (Active or Offline).
Component Failure Behavior
If any service within a component experiences a fatal error (generates an exception, faults, or stops responding) the component transitions to the Failed state. There may be a few exceptions where a service can be restarted, but generally, this is not the case.
There are three configurable attributes for Component Failure Behavior:
Component Failure Behavior
Component Failure Count
Component Failure Restart State
Component Failure Behavior
The host can configure the appropriate behavior in the event of a component failure. Options include:
Wait for Host Control
Restart the component
Restart SSM (Default)
If the configuration is to wait for host action, the component stays in the FAILED State. In this state, the host can send down commands to perform diagnostics, queries, and to restart. Currently, all component failures cause the system to restart.
MSP
844
Component Failure Count
If the failure behavior was to restart the component; this attribute indicates the number of times it would reset before resetting the system.
Component Failure Restart State
This is usually the Initial Stop state. Alternatively, the host may want a component to restart into the last valid stop state. The intent here is that you may want a component to boot into the OFFLINE state, and restart into the ACTIVE state.
This would not be recommended for redundant components, but, for example, you are running SS7 in a non-redundant configuration and the system resets, you may want SS7 to automatically go back active.
Redundancy Entity
This attribute specifies if the component is configured as the Primary or Secondary component.
Logical Node ID
This attribute specifies a component’s redundant peer. The peer Logical Node ID must be configured on both nodes in a redundant system. It can be configured in the Offline and Active state. If a component is in the Active state and receives a synchronization request from another node, that node’s Logical Node ID must match the configured Redundant Peer or else it will not transition to the Active Sync State.
Initial Stop State
The default Initial Stop State is Offline. Currently, this is not configurable.
Component Failure Behavior
The default Component Failure Behavior is Restart SSM. Currently, this is not configurable.
Developer Information
845
SS7 State Transitions
Offline to Active
While Offline, no calls/transactions will be processed and the links will remain out of service. Transitioning the component to the Active state (Go Active) will cause all of the configuration data to be processed, allocating resources for each stack and bringing the links into service. In the Active state, calls/transactions are processed.
A host request to “Go Active” requires an RCOMM link with its mate to be active. If not, an error status of COMM LINK TO PEER DOWN (0x8180) is sent. If the Redundancy Entity or Logical Node ID attributes are not configured, an error of CRITERIA FOR STATE CHANGE NOT MET (0xE062) is sent.
Offline to Standby
Transitioning a component to the Standby State causes the SS7 configuration to be cleared before entering the Standby Sync State. The component makes contact with the Active node and attempts to synchronize with it.
After the components synch up, the active component transfers the Standby component’s SS7 configuration, and the Standby verifies that its configuration is valid (for example; links are assigned to valid span/channels).
If the Standby component’s configuration is invalid, it NACKS the configuration, causing the Active component to clear the Standby component’s configuration and notify the host. The Standby component will remain in Standby and the peers will sync up.
Active to Active With Peer
Once a component is in the Active state and its redundant attributes are configured, it will listen for a “Synchronization Request” for its mate. If the mate’s attributes are valid (Logical Node ID matches the Redundant Peer and its Redundant Entity is opposite ours), the component transitions to the Active_Synchronize state to start its synchronization process. After synchronization, the Active component transitions to the Active_With_Peer state. If contact is lost during synchronization, the component transitions back to the Active State.
The host has no control in transitioning the component from Active to Active w/ Peer.
Note: A host request to “Go Active” does not require an active RCOMM link with its mate.
Active With Peer to Active
While the component is in the Active_With_Peer state, it can get a request from the host or its mate to go back to the Active state. If the event to go active is by the host, the component will notify its mate that its severing the redundant link and that it should go Offline. If the event was generated by its mate, it will ACK the notification prior to going back to the Active State. Once back in the Active state, it will continue to listen for a “Synchronization Request”.
Standby to Active
MSP
846
If communication is still possible between the two nodes, the Standby will inform the Active that it is taking over, after which, it severs the link and transitions to the Active State. The Active Component transitions Offline.
Standby or Active Lost Peer
If either component looses contact with its peer, it transitions to this holdover state. In this state, it is waiting for the host to tell it what to do. The host has to acknowledge the SS7 State Machine Notify message within 2 seconds. After acknowledging the SS7 State Machine Notify message, the host has seconds to bring the component into the Active state or the component transitions to the Offline state.
While in the Active_Lost_Peer state, calls are being processed as normal and the component is not listening for the Standby. To re-synchronize, the host must first bring one component Active and then the other Offline and then back to Standby.
Active/Standby to Offline
From any Active or Standby State, the host can transition the component to the Offline state by issuing a Go Offline command. In this state, all resources are taken out of service and the configuration data remains intact. Additionally, a component’s mate can also issue a Go Offline command. This is done when the host tells the Standby/Active component to Go Active.
NOTE: Currently, the SS7 component cannot transition to Offline. The host must send down a Go Reset command instead.
Developer Information
847
SS7 State Machine Diagrams
Standalone
The next figure illustrates the state transitions and host interaction in the SS7 component for non-redundant SS7 configurations.
Non-Redundant SS7 State Machine
Redundant
The next figure illustrates the state transitions and host interaction in the SS7 component for redundant SS7 configurations.
Redundant SS7 State Machine
Developer Information
849
Host Link Failure
Purpose
The Host Link Failure in the MSP detects the link between the SS7 tasks and the host handling TCAP messages. If the link becomes unresponsive to messages, the MSP determines that the link is down.
You can configure the SS7 task to alert the network that the subsystem is out of service.
Configuring
Send the SCCP_TCAP Configure message to the MSP with the following two TLVs to configure this feature. Each field in the TLV are explained below. Refer to the MSP API Reference for the format of the message and TLVs.
HLF Configuration (0xE035)
HLF Enable: enable or disable the host link failure feature.
HLF Declaration Timer - Set the amount of time from the inactivity set event until the component declares an HLF action. You can set this value in 10 millisecond increments with the following minimum and maximum values.
Default - 600 (0x0258)
Minimum - 0
Maximum - 6000 (0x1770)
SCCP HLF Failure Behavior (0x9080)
SCCP HLF Behavior: you can report to the network that the HLF subsystem is out of service (OOS).
0 - HLF Do Nothing
1 - HLF Subsystem OOS (default)
Example of Configuration Message
00 00 01 30 00 00 ff NGA Configure
03 03 67 02 00 01 Signaling FA
64 02 10 00 SS7
64 02 10 30 SCCP
00 03 e0 01 00 02 00 02
Command (0-add, 1-del, 2-mod)
e0 35 00 05 01 00 00 17 70
hlf cfg - enable, timer 60 seconds.
90 80 00 01 01 hlf behavior (SSN OOS)
H-X)
[00 29 01 30 00 00 ff 03 03 67 02 00 01 64 02 10 00 64
MSP
850
02 10 30 00 03 e0 01 00 02 00 02 e0 35 00 05 01 00 00
17 70 90 80 00 01 01]
X-H)
[00 17 01 30 00 00 01 00 10 03 03 67 02 00 01 64 02 10
00 64 02 10 30 00 00]
Querying
Send the NGA Configure Query message to the MSP to query the host link configuration. Include the Query Select TLV (0xE011) to query all TLVs on the MSP.
Example of Query Message
In the following query, host link failure is enables and the failure behavior is to do nothing.
00 2c 01 31 00 00 01 00 10 NGA Configure Query
03 03 67 02 00 01 Signalling FA
64 02 10 00 SS7
64 02 10 30 SCCP
00 03 # TLV's
e0 21 00 03 03 00 00 Query Response Message Info
e0 35 00 05 01 00 00 17 70 HLF
90 80 00 01 00 SSCP HLF Failure Behavior
Developer Information
851
Message Transfer Part (MTP)
Overview
This section includes information on the following MTP features:
Preventive Cyclic Retransmission (PCR)
Craft Alerting
ANSI Activation Link Test
Periodic Link Test
National Variant Support for China
Link set Configuration
Preventive Cyclic Retransmission (PCR)
Preventive Cyclic Retransmission (PCR) is an alternative method for SS7 signaling link error correction. PCR should be used in situations with large propagation delays, such as satellite circuits.
MSUs are stored by the transmitting terminal until a positive acknowledgment (ACK) is received. When no new MSUs are to be sent, unacknowledged MSUs are retransmitted cyclically until positively acknowledged.
PCR is enabled and configured with the PPL Config Bytes of the MTP2 Transmission Control (TXC) component (0x26.)
Configuration
To implement PCR, you must modify the Config Bytes of the MTP2 TXC component (0x26) with the PPL Configure message as follows:
Change the value of Config Byte 2 to 0x01 (PCR) using the PPL Configure message.
MTP PPL Config Byte values are listed in the PPL Information.
Set the N2 Parameter Value (Config Bytes 4 and 5) to an appropriate value for the signaling link loop delay using the following formula:
N2 = Tloop (in microseconds)/125 microseconds +1
For example, the typical satellite loop delay is approximately 500 milliseconds, therefore:
N2 = (500000/125) +1 = 4001 bytes
The default value for Config Bytes 4 and 5 is 0xFFFF, which is for Basic mode error checking.
Important! To initiate configuration changes, take the link out of service and then bring it back in service with the Service State Configure message. Configuration changes will also take affect if the link fails and realigns.
Example
MSP
852
This example PPL Configure message shows the typical PPL Configuration required to implement PCR. The following configuration is performed:
Config Byte 2 (Mode) is set to 0x01 (PCR)
Config Bytes 4 and 5 (N2 Parameter Value) are set to 0x0FA1 (4,001 bytes)
Trace
H->X FE 00 15 00 D7 00 00 FF 00 01 09 02 03 00 26 01 03 02 01 04 0F 05 A1 CS
BYTE Field Description Value
0 Frame 0xFE
1 Length, MSB 0x00
2 Length, LSB 0x15
3 Message Type, MSB 0x00
4 Message Type, LSB 0xD7
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0xFF
8 AIB (starting with Byte 0):
Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element 1: Originating Channel Address Type
0x09 (SS7 Signaling Link)
11 Data Length 0x02
12 Data[0] Stack ID 0x00
13 Data[1] Link ID 0x01
14 PPL Component ID, MSB
0x00
15 PPL Component ID, LSB
0x26 (SS7 MTP2 TXC)
16 PPL Entity 0x01 (PPL Config Bytes)
17 Configuration Data
Number of Data Locations
0x03
18 Location 1: Byte 0x02
Developer Information
853
Number
19 Location 1: Data 0x01 (PCR)
20 Location 2: Byte Number
0x04
21 Location 2: Data 0x0F
22 Location 3: Byte Number
0x05
23 Location 3: Data 0xA1 (with byte 4: 4,001)
24 Checksum 0xCS
Craft Alerting
If Craft Alerting is enabled, the host is sent a PPL Event Indication message with an event of Link Activation Failure (0x02) if the MSP experiences persistent problems while attempting to align SS7 signaling links.
By default, Craft Alerting is enabled for ANSI and disabled for ITU. Craft Alerting is enabled (0) or disabled (1) with PPL Config Byte 1 of the MTP3 LSAC component (0x002E.) The persistent timer (TA) is specified by PPL Timer 1 of the LSAC component. The default is 60 s.
Craft Alerting is not supported by the Japanese variants.
MTP3 Signaling Link Tests
The testing of signaling links is provided through the LSAC (Signaling Link Activity Control) PPL component (0x002E). See ANSI T1.111 for more information about MTP3.
Activation Link Test
If the Activation Link Test is enabled, an SS7 link is not brought in service until the point codes on either end of the link are verified by the MSP. If the point codes are not verified, the host is sent a PPL Event Indication of Signaling Link Test Failure (0x03).
The Activation Link Test is enabled by default for all variants. It can be disabled with PPL Config Byte 2 of the MTP3 LSAC component.
The Activation Link Test cannot be disabled for the Japanese variants.
Periodic Link Test
If the Periodic Link Test is enabled, the MSP periodically verifies the point codes and the Signaling Link Test on the link. If the point codes and the Signaling Link Code (SLC) do not verify, the link fails and the host is sent a PPL Event Indication of Signaling Link Test Failure (0x03).
MSP
854
The Periodic Link Test is enabled by default for all variants. It can be disabled with PPL Config Byte 3 of the MTP3 LSAC component. The default period of the test is 60 seconds. This is configured with PPL Timer 3 of the MTP3 LSAC component.
National Variant Support for China
To enable MTP support for the China variant, perform the following:
Configure the signaling stack for the ITU variant
With the SS7 Signaling Stack Configure message, configure the Module Variant for ITU (0x01)
Modify PPL Config Bytes with the PPL Configure message, as follows:
HMDT component (0x002B)
Set Config Byte 1 (Variant) to 0x03 (China)
HMRT component (0x002C)
Set Config Byte 1 (Variant) to 0x03 (China)
Important! MTP PPL configuration byte values are listed in the section, PPL Information. National variants may require additional User Part and protocol modifications.
Link Set Configuration
“A” link sets must be configured with even numbered Link Set IDs (for example; 0, 2, 4.) “B” links must be configured with odd Link Set IDs (for example; 1, 3, 5.) An A/B link set pair configured to an adjacent signaling point must be configured with consecutive Link Set IDs (for example; 0/1, 2/3, 4/5.)
Developer Information
855
Combined Link Set
The Combined Link Set feature is part of the MSP architecture’s MTP3 layer and supports ANSI and ITU applications. This feature provides the following options:
The host can configure a combined link set as part of the route configuration, using the SS7 Signaling Route Configure (0x5F) message.
Load sharing of traffic is possible within the combined link set.
The 5-bit Signaling Link Selection (SLS) is the default value for the configuration byte (0x0E) in the MTP3 HMRT PPL component (0x2C):
The 5-bit SLS is the default for hierarchical routing to enable backward compatibility with traffic using 32 SLS values to assign to links in a network.
The 8-bit SLS option is not supported in this release.
Combined Link Set
A route is the combination of one or more link sets used to reach a specific destination. Each link set can belong to more than one route, and contains from 1 to 16 links. A primary route exists for every destination, and represents the fastest path, and least cost, to that destination.
A combined link set establishes the availability of alternate routing configurations that can each serve as a primary path, providing load sharing across the network. Within a combined link set, which can maintain up to a total of 32 links in any combination of link sets, every link is given an equal priority in the routing assignments to the same destination. This means that the more paths that exist to a specific destination in a network, the more reliably messages can be transmitted, even when one or more configured routes fail or experience power outage for any reason.
In the combined link set feature, a routing table tracks the links that have been configured, lists the links that are currently available, and indicates when an update to the network topology is required.
The combined link set will contain links to both Signal Transfer Points (STPs) in an SS7 network that are paired for redundancy and connected to each other by cross links).
MSP
856
The SLS is the Least Significant Byte (LSB) of the CIC Number, which is found in the routing label of the user part assigned.
If there is only one link set, the LSB serves to identify the link, but the Most Significant Byte (MSB) is not used.
See SS7 Signaling Route Configure (0x5F) in the MSP 1010 API Reference for selection of the MSB or LSB values which allow the route to be configured as part of a combined link set.
Routing Label
SS7 addressing for nodes, networks, and groups of signaling points in a specific area is done through the use of a point code. A unique 24-bit (three-octet) point code or numeric address is part of the routing label used in the ANSI SS7 MTP3 layer to route the signaling information for a call. This label, which is part of the Signaling Information Field (SIF) of a Message Signal Unity (MSU), contains:
An 8-bit Destination Point Code (DPC) identifying the termination point
An 8-bit Originating Point Code (OPC) identifying point of origin for the message.
A Signaling Link Selection field (SLS) that is used to distribute message traffic over all possible redundant links and routes.
Other information about the call, which can include data such as the connection type (bearer capability), carrier identification, and the identification of an unlisted calling number, is also sent as part of the routing label. For the purposes of this document, only the 3-octet point code is relevant.
Destination Point Code
When the routing function is activated, the DPC is used by a node to select and determine the link set or combined link set for an outgoing message. The network identifier (Network ID) in the DPC directs the message to a particular SS7 network.
The DPC may contain the point code of the next node involved in the transmission route or it can be the final node for the entire route.
Signaling Link Selection
Signaling Link Selection (SLS) is used for load sharing when two or more links connect adjacent signaling points. Its function is to distribute the traffic evenly. Each signaling link is assigned an SLS value. This SLS value never changes and identifies the link that the message is routed over. The SLS value must match at both ends of the signaling link.
The SLS is used to select the link within a selected link set to:
Ensure the sequencing of messages. Any two messages that are sent with the same SLS will always arrive at the destination in the same order in which they were originally sent. That is, if messages are intended to be kept in sequence, the same SLS code will be used so that all such messages take the same path
Developer Information
857
to the destination. For example: a signaling link with ISUP will have the same SLS code used for all messages related to that particular link.
The purpose of the above functionality is to provide the option to reconfigure the signaling network if there are signaling link or signaling point failures, and to control traffic in the event of congestion, blocks or bottlenecks. When a failure occurs, the reconfigurations are carried out so that messages are not lost, duplicated, or placed out of sequence, and excessive message delays are avoided.
The figures below display the SLS values both for a single link set containing four individual links and a combined link set containing two link sets:
Load Sharing within a Single Link Set
Load Sharing in a Combined Link Set
Implementing Combined Link Set
To implement the Combined link set with the 5-bit SLS routing table, the following MTP3 PPL components apply:
TSRC
MSP
858
TSRC handles the traffic management route control of MTP3; currently it maintains a routing table per destination, and the routing data is kept in the SLS table. This table is updated when a route is added or removed, or when the first MSU is routed for that route.
HMRT
The SLS table is updated in HMRT to include new routes and all the links of the combined link set, in order to distribute the traffic evenly.
TCOC and TCBC
These components are used for the routing functions of changeover and changeback. It is in these components that all necessary changes are made to distribute the traffic based on the normal SLS table. The TSRC component marks the SLS table whenever a new route is added or deleted. This means the table must be updated. Then when an MSU is routed to that destination and the SLS table is already marked with the addition or deletion action, the table will be updated.
All three components--TCBC, TCOC and TSRC--will update the list of available links when required.
Changeover
When changeover to another route begins, traffic is buffered for that link. All destinations will be marked when that is complete. Then traffic will be sent on alternate links once the changeover ends, and the SLS table will be updated to indicate the new links that are now carrying traffic. Again, this update will only take place when the first MSU is routed.
Changeover diverts traffic from an unavailable link to one or more available links, without message loss, mis-sequencing or duplication.
Important! Traffic is load shared between the two links from the SP to the mated pair of STPs. The STP monitors the error rate. If a link’s functionality deteriorates, the STP will initiate a changeover, thus routing all traffic on to one link. When the faulty link is repaired, the STP will then order a changeback request and traffic is routed back to that link and load sharing is restored.
Changeback
All destinations are marked when changeback begins, and traffic is re-distributed from alternate links to the link coming up. The SLS table is updated immediately and the alternate links start to buffer traffic. This update occurs, however, only if there is an MSU to be routed to the destination.
Once Changeback is acknowledged by the link coming up, it will buffer the traffic for that alternate link, according to the updated SLS table.
Changeback diverts traffic back to the original route once it becomes available.
Important! A changeover order is always sent over an alternate link, while a changeback order can be routed over any available link.
Developer Information
859
MTP3 to Host
Introduction to MTP3-to-Host
The MTP3-to-Host feature allows any of the SS7 User Parts to be resident in the host. It forwards the User Part information to a host but MTP traffic is still channeled through the MSP.
The host destination can be one of many destinations. You configure it using the appropriate PPL command. The MTP3 layer checks if a remote User Part is active and sends the message to the appropriate remote destination.
Based on Remote User Part configuration, the signaling message will bypass the MSP internal User Part and deliver to the remote host.
Prerequisites
This feature assumes that there is a workable User Part available in a selected remote host.
You first configure a stack and then redirect the User Part information to the remote host.
Data User Part
The Data User Part (DUP) is a call control user part designated for switched data services.
Message Structure
The task of sending resident user parts to a remote host is basically performed through MTP3 detecting user parts in SS7 messages and forwarding those user parts to the appropriate host in a PPL Event Indication (0x0043) message. See the next diagram.
Developer Information
861
MTP3-to-Host Functionality
MTP3 Components
Most of the changes required to support the MTP3-to-Host functionality reside on the MSP itself. This functionality is made possible with the following MTP3 components:
HMDT - Message Distribution
HMDT module is a component of MTP3 layer. This component routes the TRANSFER indications from MTP2 to the appropriate User Part.
HMRT - Message Routing
HMRT is a component of the MTP3 layer. This component routes messages coming from layer 4 and selects the signaling link over which it is routed. It handles TRANSFER requests from layer 4.
TSFC - Traffic Signaling Flow Control
TSFC Module is a component of the MTP3 layer. This component controls the signaling traffic flow in the case when the signaling network is not capable of transferring all signaling traffic because of network failure or congestion.
When an SS7 user part is activated for a remote host then the destination of the message can be any one of several remote hosts. This option is configurable using the PPL Configure message.
Data Flow
The figure below shows the data flow between MTP3 components and the remote host. The dashed line represent MTP3 components in the MSP.
MSP
862
The HMDT component of MTP3 will use new configuration bytes to allow you to program which SS7 user parts will remain local to the MSP and which user parts will reside in a remote host. The default is that all the user parts reside on the MSP.
MTP3 HMDT (0x2B) configuration bytes 0x27-0x33 are used to indicate the port number of the remote host for the corresponding user part. For example, if user part in configuration byte 0x19 is set to 0x02 (ISUP remote host), then configuration byte 0x29 will give the port number of the ISUP remote host. The default value of these bytes is 0xFF.
The new PPL event indication from the HMDT component to the host reports TRANSFER IND and sends the corresponding data to the host.
The new PPL event indications from the component TSFC to Host report the STATUS of a DPC or PAUSE and RESUME indications for an affected DPC.
The new PPL event request from the host to HMRT component is a TRANSFER Request from the Host to the HMRT component.
The default sequence of these events is from the corresponding MTP3 component to a specific SS7 user part on the MSP. However, if you configure the HMDT configuration bytes then the events flow to a remote User Part resident in a remote host. This may be achieved on a per User Part basis. Also, there may be multiple remote hosts. In this case, the port number of the remote host is stored in a specific HMDT configuration byte.
Developer Information
863
Software Modifications
The following summarizes the changes to the software to support this feature. The detailed formats are below this summary.
HMDT PPL Information
Configuration Bytes
The HMDT (Message Distribution) component of MTP3 uses configuration bytes to allow you to program which SS7 user parts will remain local to the MSP and which user parts will reside in a remote host. The default is to have all the user parts in the MSP.
PPL Event Indications
There is a PPL Event Indication from the HMDT component to the host. The events reports TRANSFER IND and sends the corresponding data to the host.
TSFC PPL Information
PPL Event Indications
There are three PPL event indication from the component TSFC (Traffic Signaling Flow Control) to the host. These events report the STATUS of a DPC or Pause and RESUME indications for an affected DPC.
HRMT PPL Information
PPL Event Request
There is a PPL event request, TRANSFER, from the host to the HMRT (Message Routing) component.
The default sequence of these events is from the corresponding MTP3 component to a specific SS7 user part of the MSP. However, if you configure the HMDT configuration bytes, then the events flow to a remote user part resident in a remote host. You can achieve this process on a per user part basis. Also, there might be multiple remote hosts. In this case, the port number of the remote hot is stored in a specific HMDT configuration byte.
ICB
There is a ICB for MTP to remote UP. It is MTP3 UP Parameters (0x002B).
Detailed PPL and API Information
PPL Event Request for MTP HMRT Component (0x002C)
AIB: SS7 Stack (0x08)
MSP
864
Event ID Event
0x0A TRANSFER REQ
Used to send MSU data.
Parameter IDs - 0x0424, 0x0425, 0x0426
PPL Event Indication for the HMDT Component (0x002B)
Event ID Event
0x14 TRANSFER IND
Used to send MSU data.
Parameter IDs - 0x0424, 0x0425, 0x0426
PPL Event Indication for the TSFC Component (0x003F)
Event ID Event
0x15 PAUSE IND
Parameter ID - 0x0427
0x16 RESUME IND
Parameter ID - 0x0427
0x17 STATUS IND
Parameter ID - 0x0427
PPL Event Parameters
ICBType 0x03 (Extended Data)
ICB ID 0x0424
Data Length
2 bytes
0x000D
Data[0-3] DPC - Destination Point Code
Data[4-7] OPC - Originating Point Code
Data[8-9] CIC - Circuit ID Code
Developer Information
865
Data[10] SI - Service Indicator
Data[11] MP - Message Priority
Data[12] NI - Network Indicator
ICBType 0x03 (Extended Data)
ICB ID 0x0425
Data Length
2 bytes
0x000C
Data[0-3] DPC - Destination Point Code
Data[4-7] OPC - Originating Point Code
Data[8] SI - Service Indicator
Data[9] MP - Message Priority
Data[10] NI - Network Indicator
Data[11] SLS - Signaling Link Set
ICBType 0x03 (Extended Data)
ICB ID 0x0426
Data Length
2 bytes
Up to 0x010E
Data[0-1] Length - Length of MSU Data
Data[2-n] MSU Data -
Length up to 0x010C
ICBType 0x03 (Extended Data)
ICB ID 0x0427
Data Length
2 bytes
Up to 0x0006
Data[0-3] Affected DPC
Data[4] Cause Value
Value 0 - congestion level 0
Value 1 - congestion level 1
MSP
866
Value 2 - congestion level 2
Value 3 - congestion level 3
Value 4 - User Part Unavailable
Value 5 - User Part Unequipped
Value 6 - User Part Inaccessible
Data[5] User Part
PPL Configuration Bytes for HMDT Component (0x002B)
AIB: SS7 Stack (0x08)
Byte Description Value
0x17 SCCP User Part 0x00-unavailable
0x01-available locally (default)
0x02-available remotely
0x18 TUP User Part 0x00 -unavailable
0x01-available locally (default)
0x02-available remotely
0x19 ISUP User Part 0x00-unavailable
0x01-available locally (default)
0x02-available remotely
0x1A-0x23 Other User Part 0x00-unavailable(default)
0x01-available locally
0x02-available remotely
0x27 Remote host port number for SCCP UP
0x00-forces routing to port 0x3142
0x01-forces routing to port 0x3143
0x02-forces routing to port 0x3144
0x03-forces routing to
Developer Information
867
port 0x3145
0x04-forces routing to port 0x3146
0x05-forces routing to port 0x3147
0xFF-(Default) force routing disabled
0x28 Remote host port number for TUP UP
0x00 - forces routing to port 0x3142
0x01 - forces routing to port 0x3143
0x02 - forces routing to port 0x3144
0x03 - forces routing to port 0x3145
0x04 - forces routing to port 0x3146
0x05 - forces routing to port 0x3147
0xFF - (Default) force routing disabled
0x29 Remote host port number for ISUP UP
0x00 - forces routing to port 0x3142
0x01 - forces routing to port 0x3143
0x02 - forces routing to port 0x3144
0x03 - forces routing to port 0x3145
0x04 - forces routing to port 0x3146
0x05 - forces routing to port 0x3147
0xFF - (Default) force routing disabled
MTP3 UP Parameters (0x002B)
ICB Type 0x03 Extended Data
ICB Subtype 0x002B MTP3 UP Parameters
ICB Length MSB, LSB Length of Parameters
MSP
868
in bytes
Parameter 1: Type
2 bytes Identifies parameter
Parameter 1: Length
2 bytes Length of parameter data in bytes
Parameter 1: Value
Variable size Size in bytes
: : :
Parameter n: Type
2 bytes Identifies parameter
Parameter n: Length
2 bytes Length of parameter data in bytes
Parameter n: Value
Variable size Size in bytes
Developer Information
869
Configuring MTP3-to-Host
This feature can be configured using the SwitchKit user interface, ClientView. See Multi-Host Socket. For non-SwitchKit users, the MTP3-to-Host feature can be configured using Excel API. Follow the steps below to use Excel API.
1. Ensure that the SS7 stack is configured with local ISUP.
2. Send the PPL Configure (0x00D7) message to the MSP 1010 with configuration byte 0x19 set to 0x02 (Remote Host) on component 0x002B (MTP3 HMDT). Refer to MPT3 HMDT PPL Configuration Bytes in Summary of Software Modifications.
3. (Optional Step). You can force the routing of the messages to a particular port by configuring config bytes 0x27-0x33 of HMDT component (0x002B) accordingly.
For example, setting config byte 0x29 to a value of 0x02 forces the <ISUP> PPL Transfer Indication message to be sent to port 0x3144 (no indication received on any other port). The host can still send the Transfer Request messages from any port.
MSP
870
MTP3-to-Host Example
The next example illustrates the message flow from an ISUP call where two stacks on the same MSP 1010 are configured for remote ISUP. Each step in the call flow is described below. This call flow would also be the same if you were to use two separate MSP 1010s and two separate hosts.
The call flow for the call release follows the call flow below.
Call Flow Steps
The following steps break down the call flow. The OPCs of the stacks are as follows:
Stack 0: OPC is 0-0-3
Stack 1: OPC is 0-0-6
1. The host sends the Transfer Request (0x0A) for IAM to the MSP 1010 for Component MTP3 HMRT (0x002C) on stack 1.
H->X
00 44 00 44 00 28 04 00 01 08 01 01 00 2c 00 0a 01 03 00 2b 00 30 04 25 00 0c 00 00 00 03 00 00 00 06 05 00 02 00 04 26 00 1c 01 01 01 00 20 00 0a 00 02 09 07 03 10 05 88 26 53 00 0a 07 03 11 05 88 26 03 00 00
Developer Information
871
2. The MTP3 transmits an IAM on the SS7 link.
3. The MTP3 on Stack 0 receives an IAM and sends a Transfer Indication (0x14) for IAM from component HMDT (0x002B) to the host.
X->H
00 44 00 43 00 25 04 00 01 08 01 00 00 2b 00 14 01 03 00 2b 00 30 04 25 00 0c 00 00 00 03 00 00 00 06 05 00 02 00 04 26 00 1c 01 01 01 00 20 00 0a 00 02 09 07 03 10 05 88 26 53 00 0a 07 03 11 05 88 26 03 00 00
4. The host sends a Transfer Request (0x0A) for ACM to the MSP 1010 for Component MTP3 HMRT (0x002C) on stack 0.
H->X
00 2e 00 44 00 29 04 00 01 08 01 00 00 2c 00 0a 01 03 00 2b 00 1a 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 06 01 01 06 10 00 00
5. MTP3 transmits ACM on the SS7 link.
6. MTP3 on Stack 1 receives an ACM and sends a transfer indication (0x14) for ACM from component HMDT (0x002B) to the host.
X->H
00 2e 00 43 00 26 04 00 01 08 01 01 00 2b 00 14 01 03 00 2b 00 1a 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 06 01 01 06 10 00 00
7. The host sends a Transfer Request (0x0A) for ANM to the MSP 1010 for Component MTP3 HMRT (0x002C) on stack 0.
H-X
00 2c 00 44 00 2a 04 00 01 08 01 00 00 2c 00 0a 01 03 00 2b 00 18 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 04 01 01 09 00
8. MTP3 transmits an ANM on the SS7 link.
9. MTP3 on Stack 1 receives an ANM and sends a Transfer Indication (0x14) for ANM from component HMDT (0x002B) to the host.
X-H
00 2c 00 43 00 27 04 00 01 08 01 01 00 2b 00 14 01 03 00 2b 00 18 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 04 01 01 09 00
10. The call is established.
Transfer Request
The following decribes in more detail the transfer request for an IAM:
00 44 'length
00 44 'message type
00 28 'seq
04 'node id
00 01 08 01 01 'stack aib
00 2c 00 0a 'mtp transfer request See API Reference
MSP
872
01 'number of icbs
03 'icb type - extended
00 2b 'icb subtype - raw_msu_data
00 30 'length
04 25 'parameter name
00 0c 'length
00 00 00 03 'dpc
00 00 00 06 'opc
05 'service indicator
00 'message priority See MTP3 to Host SDS
02 'network indicator
00 'signaling link set
04 26 'parameter name
00 1c 'length
01 01 'CIC
01 'msg id (IAM)
00 'MF parameter 1 - Nature of Connection
20 00 'MF parameter 2 - Fwd Call Indicator
0a 'MF parameter 3 - Calling Party's Category
00 'MF parameter 4 - Transmission Medium Requirement
02 'pointer to MV parameter
09 'pointer to optional parameter
07 'length of MV parameter
03 10 05 88 26 53 00 'MV parameter - Called Party Number
0a 'optional parameter 1 name - Calling party number
07 'optional parameter 1 length
03 11 05 88 26 03 00 'optional parameter 1 value
00 'end of optional parameters.
Transfer Indication
The following decribes in more detail the transfer indication for an IAM:
00 44 'msg length
00 43 'msg type
00 25 'seq
04 'node id
00 01 08 01 00 'stack aib See Excel Reference Manuals
00 2b 00 14 'transfer indication
Developer Information
873
01 'number of icbs
03 'icb type - extended
00 2b 'icb subtype - raw_msu_data
00 30 'length
04 25 'parameter name
00 0c 'length
00 00 00 03 'dpc
00 00 00 06 'opc
05 'service indicator See MTP3 to Host SDS
00 'message priority
02 'network indicator
00 'signaling link set
04 26 'parameter name
00 1c 'length
01 01 'CIC
01 'msg id
00 'MF parameter 1 - Nature of Connection
20 00 'MF parameter 2 - Fwd Call Indicator
0a 'MF parameter 3 - Calling Party's Category
00 'MF parameter 4 - Transmission Medium Requirement
02 'pointer to MV parameter
09 'pointer to optional parameter
07 'length of MV parameter
03 10 05 88 26 53 00 'MV parameter - Called Party Number
0a 'optional parameter 1 name - Calling party number
07 'optional parameter 1 length
03 11 05 88 26 03 00 'optional parameter 1 value
00 'end of optional parameters.
Call Release
MSP
874
Send transfer request (0x0a) for REL to matrix for Component MTP3 HMRT (0x2c) on stack 1.
H-X
00 2c 00 44 00 00 04 00 01 08 01 01 00 2c 00 0a 01 03 00 2b 00 18 04 25 00 0c 00 00 00 03 00 00 00 06 05 00 02 00 04 26 00 04 01 01 12 00
MTP3 on Stack 0 receives REL and sends a transfer indication (0x14) for REL from component HMDT (0x2b) to the host.
X-H
00 2c 00 43 00 1a 04 00 01 08 01 00 00 2b 00 14 01 03 00 2b 00 18 04 25 00 0c 00 00 00 03 00 00 00 06 05 00 02 00 04 26 00 04 01 01 12 00
Send transfer request (0x0a) for RLC to matrix for Component MTP3 HMRT (0x2c) on stack 0.
H-X
00 2c 00 44 00 00 04 00 01 08 01 00 00 2c 00 0a 01 03 00 2b 00 18 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 04 01 01 10 00
MTP3 on Stack 1 receives RLC and sends a transfer indication (0x14) for RLC from component HMDT (0x002B) to the host.
X-H
00 2c 00 43 00 1b 04 00 01 08 01 01 00 2b 00 14 01 03 00 2b 00 18 04 25 00 0c 00 00 00 06 00 00 00 03 05 00 02 00 04 26 00 04 01 01 10 00
Developer Information
875
ISUP
Introduction to ISUP
Overview
The Integrated Services Digital Network User Part (ISUP) is used for establishment of wired connections between exchanges. It includes messages associated with the connection and disconnection of calls. ISUP is the protocol used to support the signaling necessary to provide voice and non-voice services in telephone communications. It is an extension of SS7, used as the interface protocol for voice and data within, and for ingression or egression to/from the Public Switched Telephone Network (PSTN.)
Advantages of ISUP
There are numerous advantages to using ISUP for call processing and trunk group maintenance/management functions. These advantages include the following:
Faster call setup
Conservation of network resources
Improved customer feature support as well as enhanced features
Improved/Automated trunk management procedures
ISUP requires that the exchange be digital and support SS7. This does not mean that the exchange cannot interface with non-SS7 capable devices or exchanges. All that is required is that the exchange be able to interwork with other signaling types such as TUP, R2, R1, DTMF and/or SS7.
Definition
The ISDN User Part defines the protocol which is used to support the signaling functions required for both a) Non-ISDN voice/data communications and b) ISDN voice/data communications in North America, and for ISDN functionalities throughout the rest of the world. ISUP can also be used to support dedicated/private telecommunications systems consisting of either digital or analog or mixed networks. The data from ISDN messages is transferred to ISUP messages for call processing or data transfer. They are two separate protocols that function together. ISDN can be thought of as a user-side and network-side protocol while ISUP is strictly network side. ISDN may also be used between exchanges, but that is not the primary intent of the protocol. There is enough flexibility and spare capacity within the protocol to support present application requirements as well as, any foreseeable future requirements.
Currently the ISDN User Part is designed to use the services of the SS7 Message Transfer Part (MTP). The use of the SS7 Signaling Communication Control Part Network has been provided for in the specification but, at present, no procedures exist that require the use of the SCCP for ISUP. ISUP connects to the SS7 MTP as User Part 5. Because ISUP exists as a User Part, all Layer 4, 5, 6, and 7 functions are handled within the software that comprises ISUP.
Inter-Exchange Signaling
MSP
876
ISUP is used for the exchange of data between exchanges. Data is passed in messages between exchanges for call processing, maintenance, and circuit management. These messages are in the standard SS7 format of the MSU. The actual ISUP data is carried within the SIF.
An understanding of these messages is important as it allows you to know what type of data is being transferred between exchanges at any given moment in time. There are many messages defined in the ITU and ANSI standards. However, very few exchanges, if any, support all of them. It is a good idea to be familiar with the various messages even if they are not supported by your exchange. It is possible that one of these unsupported messages may be received at your exchange, and it is important to know how to deal with it.
ISUP Call Control and Circuit Management API
The host manages ISUP call control and circuit management through the following mechanisms:
Common Call Control API message (for example Outseize Control, Request for Service with Data), using SS7 Parameter (ISUP) to pass data.
Channel State
DS0 Status Change messages notify the host of service state changes and channel purges. The Service State Configure message allows the host to bring channels in and out-of-service.
The PPL Event Indication and PPL Event Request messages allow the host to send and receive messages to and from PPL components.
The MSP 1010 sends PPL Event Indication (0x0043) messages to the host in response to various SS7-related call processing events, such as reception of an ACM, ANM, or CON (for ITU only) for ISUP.
Data is included in the SS7 Parameter ICB (ISUP). If you do not require this information, ACK the message and then ignore it.
The host can generate SS7-related call processing or management events using the PPL Event Request (0x0043) message.
You can modify the default call model to have the Called and Calling Party Numbers passed to the host as BCD encoded digits.
Related Topic
Example Configuration for SS7 Voice Circuits.
Developer Information
877
ISUP Incoming Call Setup
Overview
This section includes call flow examples for ISUP incoming call control.
Diagram of Incoming SS7 Call Handling
The figure below illustrates the default interaction between the host and the SS7 PPL components during an incoming SS7 call. Shading identifies the software components involved in the call.
Sequence of Default Incoming Call
The default incoming call sequence shown in the diagram above is described in the table below.
Stage Description
1 Raw ISUP messages are received by MTP and passed to ISUP.
2 ISUP SPRC is responsible for routing the data to the appropriate component. Assuming the data is for a valid CIC, it is routed to ISUP CPC for processing. If the data is maintenance related, it is routed to MPC. In the event of an unrecognized message type or invalid CIC, a CFN or UCIC is sent to the network (for ANSI only).
3 Assuming no error conditions occur, ISUP consults the ISUP Message Configuration Template to identify the message and translate the raw data into the format of an SS7 Parameters ICB to pass to L3P.
To modify the ISUP message formats, the host issues the ISUP Msg Config (0x006B) message. The host can configure which parameters are included and can also customize messages for ISUP variants.
4 L3P passes generic setup indication messages to Layer 4, which drive Layer 4 into an inseized state and generate a Request For Service With Data message to include an SS7 parameters ICB with all received parameters to the host.
You can modify this format to specify the parameters passed or to have the Called and Calling Party passed to the host as BCD encoded digits.
Call Flows
The call flows in this section include more details about the numbered messages. The numbered messages are described following each call flow.
Basic Incoming Call Setup
MSP
878
The following call flow uses a Voice Response Unit (VRU) as the outgoing leg of a tandem connection. The VRU is a T1 E&M wink start channel. More details about the numbered messages are provided following the call flow.
1) When using the default L3P, all SS7 parameters in the IAM pass to the host in the Request For Service With Data message in the following format (see Information Control Blocks section in the API Reference for information on ICB formats):
Parameter Name
Parameter Length
Parameter Value
You can also configure L3P to send the called and calling party digits as BCD-encoded digit strings by modifying the PPL Configuration Bytes for component 0x000F, byte 0x08, to set 0x00 or 0x01. (See Request for Service message format.)
2) The host must acknowledge the Request For Service With Data message or the MSP 1010 resends the message once after 5 seconds.
3) The host must provide mandatory SS7 parameters within the PPL Event Request (0x0044) message for the ACM and ANM as determined by the following:
Connect With Data message with SS7 Parameters ICBs (the parameters for each must be sent in separate ICBs). For ANM and ACM, this condition allows the host to dynamically overwrite any pre-stored parameters in the L3P CIC Configuration Bytes.
Connect message using preprogrammed parameter values in the L3P CIC PPL Configuration Bytes.
Generate Call Processing Event of Answer using pre-programmed ACM and ANM message in PPL Event Request (0x0044) message with parameters included.
Propagate answer from VRU using pre-programmed parameters.
Developer Information
879
4) Because the Voice Response Unit (VRU) is running asynchronously to the MSP 1010, Answer can return anytime after the Wink.
Incoming Call Setup Using CON (Instead of ACM/ANM - for ITU Only)
The following call flow shows a VRU as the outgoing leg of a tandem connection using CON. The VRU is a T1 E&M wink start channel.
1) When using the default L3P, all SS7 parameters included in the IAM pass to the host in the Request For Service With Data message in the following format (see the Information Control Blocks section in the API Reference for information on ICB formats):
Parameter Name
Parameter Length
Parameter Value
You can configure the L3P to send the called and calling party digits as BCD-encoded digit strings by modifying the PPL Configuration Bytes (see Request for Service Message format.)
2) The host must ACK the Request For Service With Data message or the MSP 1010 will resend the message once after 5 seconds.
3) The host must provide the mandatory SS7 parameters for CON as determined by the following:
Connect With Data message with SS7 Parameters ICBs (the parameters for each must be sent in separate ICBs).
Connect message using preprogrammed parameter values in the L3P CIC PPL Configuration Bytes.
MSP
880
Generate Call Processing Event of Answer using defaults stored in CON parameter.
Propagate Answer event from the VRU using pre-programmed CON parameters.
4) Because the VRU is running asynchronously to the MSP 1010, Answer returns anytime after the Wink.
5) Connect is set based on the specified setting in L3P CIC Configuration Byte 9.
Incoming Call Setup with Host-initiated Release
Developer Information
881
1) The host must provide at least the mandatory parameters for the forward REL, either of the following:
Release With Data message
Release message using preprogrammed parameter values in the L3P CIC PPL Configuration bytes
2) The Channel Released With Data message contains an SS7 parameter ICB with the parameters from the incoming RLC (Release Complete).
3) A Channel Released message indicates that the VRU channel is idle and ready for a new call.
Incoming Call Rejection by Host
1) The Channel Release With Data message contains an SS7 Parameter ICB with the REL parameters.
Incoming Call with Answer Supervision Mode of “Notify Only”
MSP
882
1) With Answer Supervision set to Notify Only, answer is not propagated to the SS7 channel. A Call Processing Event of Answer is sent to the host for the VRU.
2) To answer an SS7 call, the host may use the Generate Call Processing Event of Answer. The parameters for the ANM will be retrieved from the PPL Configuration Bytes. To control parameters within the ANM message, send L3 PPL Event Request (0x0044) of Answer with Parameters followed by Generate Call Processing Event of Answer to satisfy Layer 4.
Developer Information
883
ISUP Outgoing Call Setup
Overview
This section includes call flow examples for ISUP outgoing call control.
Outgoing SS7 Call Setup Diagram
This diagram illustrates the interaction between the host and the SS7 PPL components in the handling of an outgoing SS7 call. Shading identifies the software components involved in the call.
Default Call Sequence
The table below describes the default outgoing call sequence.
Stage Description
1 An outgoing call is initiated by the host to the Outseize Control message. The MSP 1010 will accept address data as either BCD-encoded digits or in
MSP
884
an SS7 Parameters ICB. The Outseize Control message drives L4 into an outseize state and an outseize request is sent to L3P.
NOTE: The Outseize Instruction List Configure message is not supported for SS7. All outseize instructions must be included in the Outseize Control message.
2
L3P CIC translates the L4/L5 event into an ISUP event. Any parameters sent from L4/L5 are concatenated with pre-stored parameter data in the PPL Configuration Bytes.
3 The parameters and events are sent to the appropriate ISUP Component. If parameter validation is successful, the parameters are formatted into a raw SS7 message and sent to ISUP SPRC. If validation fails, a PPL Event Indication message of Protocol Violation is sent to the host.
4 ISUP SPRC routes the message to MTP for transmission.
Call Flows
The call flows in this section include more details about the numbered messages. The numbered messages are described following each call flow.
Basic Outgoing Call Setup
Any mandatory SS7 parameters not supplied by the host in an Outseize Control message are retrieved from the L3P CIC PPL Configuration Bytes.
1) An Outseize Control message ACK does not report to the host until a backward signal is received from the network.
2) The PPL Event Indication message to the host indicates the backward signal type (ACM, ANM, CPG, or CON) and an SS7 Parameters ICB with parameter data. If the host application does not require parameter data, the MSP 1010 acknowledges and ignores the PPL Event Indication message.
Outgoing Call Rejection by Network
Developer Information
885
1) The host receives a Negative Acknowledgment (NACK) to the Outseize Control message.
2) The Channel Released With Data message contains an SS7 Parameters ICB with the REL parameter data including the cause code.
BLO Received in Response to IAM
1) The Outseize Control message generates an outgoing IAM to the network.
2) The MSP 1010 receives BLO in response to IAM.
3) The MSP 1010 generates a PPL Event Indication message to the host, indicating receipt of BLO. The MSP 1010 automatically generates BLA to the network.
4) The MSP 1010 generates an Outseize Control message NACK to the host.
5) The MSP 1010 automatically generates REL to the network.
6) Upon receipt of the RLC from the network, the MSP 1010 generates Channel Released with Data message to the host.
UCIC Received in Response to IAM (ANSI only)
MSP
886
1) Outseize Control message generates outgoing IAM to the network.
2) UCIC is received in response to the IAM.
3) PPL Event Indication is generated to the host indicating UCIC.
4) RSC is generated and purge is initiated by the MSP 1010.
5) Upon receipt of RLC or UCIC from the network, DS0 status of In-Service is reported to the host.
*Generation of RSC in this call flow is the default behavior. However, PPL Configuration Byte (0x2A) in L3P CIC can suppress this message. The RLC/UCIC response to the RSC would not be received. The MSP-to-host messages will be the same regardless of the configuration byte value.
RSC Received in Response to IAM
1) Outseize Control message generates IAM to the network.
Developer Information
887
2) RSC is received in response to IAM.
3) Outseize Control message ACK is generated to the host with response status of Outseize Failure No Acknowledgment (0x1B).
4) RLC is generated automatically to the network.
5) A Channel Released with Data message is sent, notifying the host that the channel is now idle.
No Acknowledgment of IAM (Expiration of T7)
1) The Outseize Control message generates an IAM to the network.
2) T7 expires. REL is generated automatically to the network.
3) An Outseize Control ACK is reported to the host with response status 0x1B (Outseize Failure No Acknowledge).
4) Upon receipt of RLC, a Channel Released with Data message is reported to the host.
No Acknowledgment of IAM or REL (Expiration of T7)
MSP
888
1) The Outseize Control message generates outgoing IAM to the network. Front End Machine FEM Outseize ACK Timer is initiated (29 seconds). T7 is initiated upon sending of the IAM.
2) T7 expires. REL is automatically generated to the network and Outseize Control ACK is reported to the host with a response of 0x1B (Outseize Failure No Acknowledgment).
3) FEM Outseize ACK Timer expires and initiates a channel purge. An RSC is generated to the network.
4) Upon receipt of the RLC, A DS0 Status Change indicating In-Service is reported to the host.
Network-Initiated Release
An SS7 network-initiated REL may occur at any time during call setup. The call flow is the same regardless of when the REL is received.
Developer Information
889
1) Parameters in the REL are sent to the host in the Channel Released With Data message.
2) The Channel Released With Data message must be acknowledged by the host, after which the channel is in an idle state and can be used for further call processing.
Host-Initiated Release
1) The host may provide parameters for the REL message in the Release With Data message.
2) The Channel Released with Data message must be acknowledged by the host within five seconds or the MSP resends the message.
VRU-Initiated Release
MSP
890
1) The Channel Released message must be acknowledged by the host within five seconds or the MSP 1010 resends the message.
2) If the Distant End Release Mode for the VRU and the Local End Release Mode of the SS7 channel is set to Release, the SS7 channel is not automatically released. The MSP 1010 sends a Channel Release Request, indicating that it intends to release the channel. If either mode is set to park, the SS7 channel parks and a DS0 Status Change message informs the host.
Developer Information
891
ISUP Segmentation
Overview
ISUP is associated with SS7-specific voice and data call processing. It is used to set up circuit connections and to maintain those connections between end-point subscribers for the duration of a call, using SS7-controlled Circuit Identification Codes (CICs). Segmentation is used to enable faster and more efficient transfer of ISUP messages across a network using the Segmentation Message (SGM). This feature is associated with the ITU White Book, 1993 (Q.761 - Q.764)
Definition
The ISDN User Part (ISUP) Segmentation provides the capability of breaking down larger packets of data into smaller ones in order to achieve compatibility with any network protocol that requires the smaller packet size. This process is necessary whenever large blocks of data need to be transmitted across a network, to offset problems with both time delays and error correction that could lead to traffic congestion. ISUP Segmentation in this way conserves critical network resources.
Using the Segmentation Message (SGM)
The Message Transfer Part (MTP) functions as the lowest layer in the SS7 protocol stack, and it is this layer that communicates with the rest of the network. But MTP cannot send more than 272 bytes in a single message. With ISUP there is a need to transfer larger amounts of data, so the SGM message was introduced to segment any ISUP message over 272 bytes into two parts. This process allows the MTP to transfer it successfully. The two parts include the primary ISUP message and the SGM, which contains the segmented portion over 272 bytes. The SGM is sent immediately after the primary ISUP message to the MTP layer.
Each message can only be segmented once. If the information in the message is so large that even an SGM becomes insufficient, then that information will be discarded.
At the receiving end, the primary ISUP message and the Segmented portion are concatenated before processing.
PPL Information
Simple Segmentation Control (SSC) Component ID (0x85)
This is the ITU ISUP PPL component created to support the SGM message in the MSP 1010. This component takes care of the segmentation process at the transmission end and the re-assembly of the ISUP message at the receiving end.
CPC Component ID (0x12)
The ISUP CPC PPL component communicates through the SGM to the PPL SSC component.
ISUP Messages Used with SGM
MSP
892
The following messages are the only ones that can be sent or received using the SGM: IAM, ACM, ANM, CPG, and CON.
All other ISUP messages are transparent and are therefore passed through the SSC component without modifications or segmentation.
Size and Capacity
The host-to-MSP and MSP-to-host TCP message packet size is limited to 260 bytes and 492 bytes, respectively. Therefore, the ISUP message sent in a PPL Event Request from the host to the MSP 1010 cannot exceed 260 bytes.
When an ISUP message and its associated SGM are received by the PPL ITU SSC component, it will be divided into packets of 220 bytes each and then sent on to the L3P CIC PPL component.
Configuration
The outgoing SGM can be enabled or disabled based on a configuration byte setting. The CPC Configuration Byte for SGM control is “0x04”.
Configuration Bytes 0x01-0x05 are used for ISUP SCLC Component ID (0x85).
Protocol Timers
Each PPL component has multi-purpose timers, which you can activate at any time. Each component using timers has a table that contains information on specific timers (name, value). When a protocol requires a timer, an atomic function is initiated to activate one of the PPL timers and to point to an index in the component’s timer table, which contains the value for the required timer.
One timer exists for the SSC PPL Component: 0x01
PPL Events
The PPL Indication “0x32” exists for the L3P CIC PPL Component (0x0F), for sending a Segmentation indication to the host.
Atomic Functions
SSC contains the atomic functions (51-63) that manage the segmentation and re-assembly of messages.
CPC contains the atomic functions (134-138) that communicate with the SSC component.
Redundancy
Redundancy for ISUP Segmentation is available.
ISUP Segmentation Call Flows
Outgoing Call with Segmentation in IAM
Developer Information
893
The following call flow describes an outgoing call with Segmentation in IAM. After the host sends an Outseize Control message to L3P CIC, it then sends a PPL Event Request (0x60) to this component. After a setup request has been sent to CPC, and an IAM has been received by the network, an SGM message is sent to the network.
Outgoing Call with Segmentation in IAM when COT is enabled
Segmentation in ACM/ANM
The following call flow describes segmentation in an ACM/ANM message.
MSP
894
Incoming Segmentation with COT Enabled - COT Success
The following call flow describes an incoming call with segmentation and Continuity Check enabled.
Incoming Call with Segmentation
The following call flow describes an incoming call with Segmentation. The SGM message is received after the IAM at the SSC component. Once the SGM is received, the RFS and the SGM message are sent to the host. (Alternatively, the SGM message and IAM can be concatenated and a single RFS can be sent to the host if the Configuration Byte 0x02 in the SSC component 0x85 is changed to 0x00.)
Developer Information
895
Outgoing Call with Segmentation in IAM and Backward Messages
When sending a large Outseize (> 272) bytes, the message is segmented by the SSC component. The following call flow shows a typical scenario for this process.
Incoming Segmentation Timeout
This call flow describes a scenario wherein the ACM message indicates that an SGM is to follow. However, if the SGM is not received until the expiry of T34 (typically 2 s), the ACM is forwarded to the Host. Any SGM message that follows is discarded.
Developer Information
897
ISUP Continuity Check
Overview
This feature provides the Excel ANSI and ITU SS7 variants with a means to perform a continuity check to verify the integrity of the voice circuit between two exchanges before use of the circuit.
Specifications
The requirements for the Continuity Check on the outgoing circuit are provided in the following recommendations for the International Telecommunication Union (ITU):
ITU-T Q.724
ITU-T Q.761 Functional Description of the ISDN User Part of Signalling System No. 7
ITU-T Q.762 General Function of Messages and Signals of the ISDN User Part of Signalling System No. 7
ITU-T Q.763 Formats and Codes of the ISDN User Part of Signalling System No. 7
ITU-T Q.764 Signalling System No. 7 - ISDN User Part Signalling Procedures
The requirements for the Continuity Check on the outgoing circuit for the North American variant are provided in the following recommendations:
ANSI T1.113-1995 Signalling System No. 7 (SS7) - Integrated Services Digital Network (ISDN) User Part.
Required DSP Equipment
A Call Progress Tone (CPT) transmitter, and a Call Progress Analysis (CPA) receiver of appropriate PCM encoding are required in order to perform outgoing continuity checks.
Implementation
The ISUP part of the SS7 stack (ANSI and ITU-T) has provisions for a continuity check on the outgoing side of the circuit. A continuity check is initiated with either the Continuity Check Request message to the network side, or the setting of the continuity check indicator bits in the Nature of Connection Indicators mandatory parameter field within the IAM message.
These initial messages allow the network side of the circuit to loop back the chosen circuit, so that continuity testing can be done on that circuit. The CCO component within ISUP executes a continuity test to determine if the circuit to be used has continuity before it is used.
A COT message containing the Continuity Indication is sent to the network side when testing is complete. This indication determines whether continuity exists on the circuit or whether more continuity testing is required.
MSP
898
If a Continuity Recheck procedure is running (CRO for ANSI, CRCS for ITU), outgoing calls on the circuit are rejected with an error code of 0x0A.
Configuration
This section describes configuration required for the Continuity Check procedure.
Continuity Check
The Continuity Check feature is disabled by default. To enable it, change the following L3P CIC PPL Configuration Byte to 0x04 using the PPL Configure message:
ITU - Configuration Byte 135
ANSI - Configuration Byte 125
See SS7 PPL Information (7-1) for a list of PPL events that may be sent to the host from the MSP 1010 in the PPL Event Indication message.
Continuity Recheck
The Continuity Recheck procedure is enabled by default. The default number of retries is 2. These are configurable by modifying the following PPL Configuration Bytes using the PPL Configure message:
ITU - ISUP CRCS component (0x81)
Change Configuration Byte 10 to 0x00 to disable
Change Configuration Byte 11 for number of retries
ANSI - ISUP CR0 component (0x83)
Change Configuration Byte 10 to 0x00 to disable
Change Configuration Byte 11 for number of retries
To send a CCR message to the MSP 1010, send the PPL Event Request message with an event value of 0x65. To stop the sending of the CCR message, send event value 0x64.
Call Flows
CCR
The call flow for a CCR test on a circuit.
Developer Information
899
IAM with a Continuity Request
IAM with a Continuity Request and a PPL Event Indications sent to the host
If the COT test fails, it is retried until it passes or the number of retries (indicated by Configuration Byte 11 of the ISUP CRCS component (0x81)) is reached.
MSP
900
CCR Sent to Active Channel
The call flow for an error condition where a CCR is sent on an active channel.
Developer Information
901
Circuit Status Query
Overview
The Circuit Query feature allows the host to query the status of a single circuit or a range of circuits using the PPL Event Request message. A Circuit Query Message (CQM) is sent to the remote MSP 1010 (SS7 SP), which returns a Circuit Query Response (CQR) message containing the status of all the circuits. The local and remote circuit status for each circuit is sent to the host in a PPL Event Indication message.
Recovery Action for ANSI Only
For ANSI only, if the circuit is found in the invalid state by the CQM, a recovery action is taken by CQS. The host can configure the recovery action taken by the MSP 1010 using the PPL Configuration Bytes of the CQS component. Recovery actions taken by the MSP 1010 are as defined by the ANSI-ISUP T1.113 specification.
Implementation
When a CQM request is received from the host, the MSP 1010 sends a CQM message to the network. When a CQR is received from the network, the MSP 1010 sends a PPL Event Indication message to the host with an SS7 Data Parameters ICB (0x22) containing the status of the local and remote circuits. If the CQR indicates a maintenance state, the MSP 1010 takes appropriate action based on Table 2 in ANSI T1.113.4.
If a CQR is not received before the expiration of T28 (default =10 seconds), a PPL Event Indication of 0x01 is sent to the host indicating the error.
Call Flows
This call flow shows a CQM request from the host and a CQR response from the network.
Status Values
Local and Remote Status
The local and remote status are reported to the host in an SS7 Data Parameters ICB (0x22) in a PPL Event Indication message, where:
MSP
902
Data[0] Local Status
Data[1] Remote Status
One of the following values is reported for both Data[0] and Data[1].
0x00 Transient
Maintenance States
0x01 Spare (no interpretation)
0x02 Spare (no interpretation)
0x03 Unequipped
0x04 Incoming Circuit Busy, Active
0x05 Incoming Circuit Busy, Locally Blocked
0x06 Incoming Circuit Busy, Remotely Blocked
0x07 Incoming Circuit Busy, Locally and Remotely Blocked
0x08 Outgoing Circuit Busy, Active
Call Processing States
0x09 Outgoing Circuit Busy, Locally Blocked
0x0A Outgoing Circuit Busy, Remotely Blocked
0x0B Outgoing Circuit Busy, Locally and Remotely Blocked
0x0C Idle
0x0D Idle, Locally Blocked
0x0E Idle, Remotely Blocked
0x0F Idle, Locally and Remotely Blocked
0x10 to 0xFF
Spare
Developer Information
903
Circuit Validation Test and Response
Overview
This feature provides a method by which the host can request the MSP to send a Circuit Validation Test (CVT) message to the far end and process the Circuit Validation Response (CVR). The circuit validation test procedures follow the recommendations of ANSI-ISUP T1.113.
The CVT and CVR messages are used to test and ascertain the consistency in circuit translation data on both the ends of a circuit, typically during circuit turn-up procedures to make sure that the circuit characteristics match. Maintenance personnel may also execute these tests on a routine basis.
The CVT/CVR procedure may also be invoked when a User Part Unavailable message with a cause value of Remote User Part Inaccessible is received by MTP.
Implementation
To initiate a Circuit Validation Test, send a PPL Event Request of CVT (0x002F) to the L3P CIC component (0x000F). After formatting the CVT message, ISUP passes the message on to the CVT component, which passes it to MTP3, which passes it on to the destination.
The destination node collects the required circuit information and returns a CVR message to the originating CVS component, which sends a PPL event to the host. The table below shows the PPL event sent to the host depending on the CVR contents.
CVR Indicator
Circuit Group Characteristics
CIN
Parameters
CLLI
Parameters
Indication to
Host
PPL
Event
Success Match Match Don’t Care CVT Successful
0x01
Success Match No CIN Don’t Care CVT Successful
0x01
Success No Match Match Don’t Care CVT Successful
0x03*
Success Don’t Care CIN Mismatch
Don’t Care CIN Mismatch Indication
(near-end and far-end CIN sent to host)
0x02*
Success Don’t Care CIN Not Don’t Care CVT 0x01
MSP
904
Supported successful
Failure Don’t Care Don’t Care CLLI Exists CVT Failure indication with CLLI
0x05*
Failure Don’t Care Don’t Care CLLI Does Not Exist
CVT Failure indication with no CLLI
0x04
Failure Don’t Care Don’t Care CLLI Not Supported
CVT Failure indication with no CLLI
0x04
Local Circuit Translation Unavailable 0x07
Received CVR Not Processed – Pass Through to Host 0x08**
CVR Not Received After Maximum CVT Retry 0x06
* Data passed in Raw SS7 Data Parameters ICB (0x22)
** Data passed in SS7 Unformatted Raw Parameters ICB (0x1F)
PPL Events
The PPL events are sent to the host in the PPL Event Indication message. Event data, if any, is sent in an ICB. The ICB subtype and data for those events that include data are shown below. Events 1, 4, 6, and 7 do not include data.
0x02 CVT Successful - CIN Mismatch
ICB Subtype: SS7 Raw Data Parameters (0x22)
Data[0–25] - Local CIN
Data[26–51] - Remote CIN
0x03 CVT Successful - CGC Data Inconsistent
ICB Subtype: SS7 Raw Data Parameters (0x22)
Data[0] - Remote CGC Parameter
Data[1–26] - Local CIN
0x05 CVT Failure - CLLI Received
ICB Subtype: SS7 Raw Data Parameters (0x22)
Developer Information
905
Data[0–10] - Remote CLLI
0x08 CVR Received - CVR in TLV Format
ICB Subtype: Formatted SS7 Parameters (0x12)
Data [0] - Message Type [CVR]
Data [1] - Number of Parameters
Data [2] - CVR Indicator Parameters Code
Data [3] - CVR Indicator Length
Data [4] - CVR Indicator Value
Data [5] - CGC Parameters Code
Data [6] - CGC Parameters Length
Data [7] - CGC Parameters Value
Data [8-n] - Optional Parameters [TLV]
User Part Unavailable Message Handling
A CVT may also be initiated when a User Part Unavailable (UPU) indication is received from the far-end. This is configurable with PPL Configuration Byte 14 of the L3P CIC component.
When a UPU message with an appropriate cause value is received from the far end, a CVT message is sent and timer T37 (typically 30 s) is started. On receipt of a CVR or any other ISUP message, the timer is stopped and normalcy is restored. On expiry of T37 without the receipt of any response from the remote end, the CVT procedure is restarted.
The CVR received from the far end will contain the mandatory Circuit Validation Response indicator and Circuit Group characteristic indicator parameters and may also contain other optional parameters (CLLI and CIN code). CLLI/CIN can be enabled/disabled as required and the CLLI/CIN code parameters are configurable.
On receiving a CVT, a CVR with an appropriate CVR indicator of Pass or Fail is sent, depending on the state of the CIC. The CVR contains the configured Circuit Group Characteristics (CGC) parameter and may also contain the optional CLLI if the test fails or CIN if the test passes. For undefined CICs, no optional parameters are sent.
On receipt of an MTP Status primitive with a cause of User part unavailability – Remote user inaccessible, depending on the configuration, the CVT may be generated automatically. On receipt of a CVR or any other ISUP message, the CVT/CVR procedures are stopped and a PPL Event Indication of 0x04 is sent from SPRC to the host.
Error Condition
MSP
906
When the CVT component sends a CVT message to SPRC it starts a TCVT timer. If a CVR is not received before the expiration of the timer, a second CVT is sent. If the timer expires a second time, the CVT attempt is cancelled and a PPL Event Indication (0x06 - CVR Receive Failed after Re-attempt) is sent to the host.
If a CVT procedure is started with Remote User Part Unavailable, the number of CVT re-attempts is determined by the value in Configuration Byte 8 of the CVS component. The default value is 8. The maximum value is 255.
Customization
Use the PPL Configuration Bytes (using the PPL Configure message) of the CVT and CVR components to modify CVT/CVR configuration. The CIN, CLLI, and circuit group characteristics configuration should be same for a given circuit for both the CVT and CVR components. See SS7 PPL Information (7-1) for the Configuration Byte values.
Circuit Validation Test Call Flows
CVT to Network/CVR Received from Far-end
CVT to Network/No CVR from Far-end
CVT to Network during Active Call
Developer Information
907
Remote User Part Unavailable
This call flow shows a CVT sent to the network as a result of a Remote User Part Unavailable indication received from the far-end.
Developer Information
909
Call Modification Messages
Overview
This section includes information about messages that involve requesting, rejecting, and completing call modifications.
CMR: Call Modification Request/Call Modification Reject
Message sent in either direction to indicate that the call modification request has been rejected.
CMC: Call Modification Complete
Message sent in either direction to indicate that the call modification request has been accepted
Call Flows
CMR from Host -- CMC from Network
MR from Host -- CMRJ from Network
MSP
910
CMR from Network
MR from Network -- In-Call Modification Disabled
CMR from Host -- Local In-Call Modification Disabled
MSP
912
SS7 CIC Blocking Procedures
Overview
When a CIC changes between the out of service (OOS) and in service (INS) states, the SS7 functionality automatically initiates either a Circuit Blocking/Unblocking or a Circuit Reset for the circuit (or a Group Blocking/Unblocking or Reset if multiple circuits in the same circuit group transition at the same time). The two procedures for changing states are shown below and are controlled by PPL configuration.
Whenever an OOS to INS or the OOS is caused by a non-host initiated request (for example, a purge, or remote ISUP unavailable indication) the SS7 functionality attempts to send a Circuit Reset (RSC) or a Group Circuit Reset (GRS) (if multiple circuits are in transition at the same time). Also, if the host configures the CIC to send reset upon host-initiated OOS to INS transition, the SS7 functionality attempts to send a RSC or GRS.
Important! The procedure for initial CIC In Service procedures is consistent with Type B operations as defined in ITU-TS Q.767 Section 4.4.1.
If the host configures the CIC to send blocking upon host initiated INS to OOS transition, the SS7 card attempts to send a Blocking (BLO) or Circuit Group Blocking (CGB) before taking the CIC out of service (this is the default).
When the host brings the CICs back into service, the SS7 functionality attempts to send an Unblocking (UBL) or Circuit Group Unblocking (CGU) before declaring the circuits as in-service.
For a CIC to start the OOS to INS process, the following three conditions must be met:
The span on which the CIC resides must be in proper span alignment.
MTP must consider the DPC as accessible.
The host must send a Service State Configure message of in-service for the CIC.
When all the conditions are met, the SS7 card attempts to bring the CICs in-service. Upon successful completion of the ISUP Unblocking or Reset procedure, the MSP 1010 notifies the host by sending a DS0 Status Change message for each CIC, declaring it in-service. You can now use the CICs for calls.
A CIC purge is considered a non host-initiated OOS to INS transition. Because of this, any purge of a CIC initiates an outgoing Circuit Reset.
If the host wants to initiate a Circuit Group Reset (GRS) or Circuit Reset (RSC) it may do so by setting the L3P CIC PPL configuration byte 10 to 0x01 and then cycling the CICs OOS first and next INS through the use of the Service State Configure message. The host-initiated OOS to INS transition forces an outgoing GRS or RSC. This action is taken to force a reset of the entire MSP 1010 call processing stack, not just the ISUP portion of it.
You can generate a Reset Circuit (RSC) by sending L3P PPL Event Request (0x0044) message with Component 0x000F, Event 0x09. You can also Generate Reset (GRS) with Component 0x000F, Event 0x09.
If a CIC is taken OOS from the host through the use of the Service State Configure message, the CIC is blocked if configured to do so and marked as Unequipped by
Developer Information
913
ISUP. Any messages from the DPC are treated as messages for an Unequipped Circuit.
If a CIC circuit group is in service and a span alarm is detected, a Circuit Group Blocking message is automatically sent (or Circuit Group Hardware Blocking for ITU) for the concerned circuit group. The host receives a DS0 Status Change message indicating that all of the channels in the circuit group are OOS.
If a call was active, the CIC purges with the reason Span Status Dead (0x03). Upon return of proper span framing, a Circuit Group Unblocking is automatically sent (or Circuit Group Hardware Unblocking for ITU) for the concerned circuit group. Upon successful unblocking of the circuit group, the host receives DS0 Status Change messages of INS.
Important! The circuits that purged because of span failure do not send Circuit Resets in this case because they are included in the Circuit Group Unblocking from the span alarm.
All CICs related to the DPC in question are taken OOS and no blocking messages are sent if the MTP declares one of the following:
DPC Inaccessible
Remote ISUP Unavailable
MTP Pause
In either case, a General alarm of SS7 Remote ISUP Unavailable (0x0F) is sent to the host.
Circuit Maintenance and Management Call Flows
Some messages in these call flows are numbered. The numbered messages are described in more detail beside the corresponding number following each call flow.
Incoming Maintenance Blocking
1. The MSP 1010 automatically sends the DPC the proper CGBA or BLA.
2. The MSP 1010 alerts the host when an incoming Maintenance Blocking Request is made by sending a PPL Event Indication message for every channel blocked by the DPC. The PPL Event Indication has an SS7 parameters ICB that contains the data of either the incoming CGB or BLO.
MSP
914
3. Upon receiving this message, the host should not send outgoing calls on this channel until the blocking is cleared by the DPC. The DPC may send an incoming call on the blocked channel, however. In this event, the host receives a PPL Event Indication of Maintenance Unblocking (without an SS7 parameters ICB) followed by a Request for Service message for the incoming call. The host must acknowledge the PPL Event Indication message.
4. The host must acknowledge the PPL Event Indication message.
Incoming Maintenance Unblocking
1. The MSP 1010 automatically sends the proper CGUA or UBL to the DPC.
2. The MSP 1010 alerts the host when an incoming Maintenance Unblocking Request with a PPL Event Indication message for every channel unblocked by the DPC. The PPL Event Indication has an SS7 parameters ICB containing the data of either the incoming CGU or UBL.
3. Upon receiving this message, the host can make the channel available for outgoing calls. There may be instances in which no SS7 Parameter ICB is included in the PPL Event Indication message.
4. The host must acknowledge the PPL Event Indication.
Incoming Hardware Failure Oriented Blocking (ITU only)
1. The MSP 1010 automatically sends the DPC the proper CGBA.
Developer Information
915
2. The MSP 1010 alerts the host when an incoming Hardware Failure Oriented Blocking Request with a PPL Event Indication message for every channel blocked by the DPC. The PPL Event Indication message includes an SS7 parameters ICB containing the data of the incoming CGB.
3. Upon receiving this message, the host should not send outgoing calls on these channels until the blocking is cleared by the DPC. The DPC may send an incoming call on the blocked channels, however, upon which, the host will receive a Maintenance Unblocking PPL Event Indication (without an SS7 parameters ICB) followed by a Request for Service message for the incoming call.
4. The host must acknowledge the PPL Event Indication message.
Incoming Hardware Failure Oriented Unblocking (ITU only)
1. The MSP 1010 automatically sends the DPC the proper CGUA.
2. The MSP 1010 alerts the host when an incoming Hardware Failure Oriented Unblocking Request is made with a PPL Event Indication message for every channel blocked by the DPC. The PPL Event Indication will include an SS7 parameters ICB containing the data of the incoming CGU.
3. Upon receiving this, the host can now make the channels available for outgoing calls. There may be instances in which no SS7 Parameter ICB is attached to the PPL Event Indication. See Incoming Hardware Failure Oriented Blocking (ITU only) (5-47).
4. The host must acknowledge the PPL Event Indication message.
Outgoing Maintenance Blocking Request
MSP
916
By default, the host cannot generate Hardware Failure Oriented Blocking with the PPL Event Request message. Hardware Failure Blocking is automatically generated in the event of a loss of signal on the span that carries the CIC. Unblocking is automatic when spans align.
1. The host sends a PPL Event Request message to request Local Maintenance Blocking for a CIC. The message can contain an SS7 parameter ICB with parameters for the outgoing BLO message.
2. The MSP 1010 will acknowledge the PPL Event Request.
3. Upon successful completion of the maintenance blocking procedure, the MSP 1010 alerts the host by sending a PPL Event Indication message. The PPL Event Indication will include an SS7 Parameters ICB containing parameters from the BLA. The host should not initiate any outgoing call without first sending a PPL Event Request message of Maintenance Unblock.
4. The host must ACK the PPL Event Indication.
Outgoing Maintenance Unblocking Request
1. The host sends a PPL Event Request message to request Local Maintenance Unblocking for a CIC. The event request can contain an SS7 Parameter ICB with parameters for the outgoing UBL message.
2. The MSP 1010 acknowledges the PPL Event Request.
Developer Information
917
3. Upon successful completion of the Maintenance Unblocking procedure, the MSP 1010 alerts the host by sending a PPL Event Indication message, which contains an SS7 Parameters ICB containing the parameters from the UBA. The host can now initiate outgoing calls.
4. The host must ACK the PPL Event Indication message.
Outgoing Maintenance Group Blocking Request
1. The host sends a PPL Event Request message to request Local Maintenance Group Blocking for a CIC circuit group. The event request can contain an SS7 Parameter ICB with parameters for the outgoing CGB message.
2. The MSP 1010 acknowledges the PPL Event Request message.
3. Upon successful completion of the Maintenance Group Blocking procedure, the MSP 1010 alerts the host by sending a PPL Event Indication message for each CIC. The PPL Event Indication contains an SS7 Parameters ICB, which contains the parameters from the CGBA. The host should not initiate any non-test outgoing call without first sending a Maintenance Unblock PPL Event Request message for the channel(s).
4. The host must ACK each PPL Event Indication message.
Important! By default, the host cannot generate hardware failure oriented blocking with the PPL Event Request message. Hardware Failure Oriented Blocking is automatically generated in the event of a loss of signal on the span that carries the CIC. Unblocking is automatic when the span aligns.
Outgoing Maintenance Group Unblocking Request
MSP
918
1. The host sends a PPL Event Request message to request Local Maintenance Group Unblocking for a CIC circuit group. The event request can contain an SS7 Parameter ICB with parameters for the outgoing CGU message.
2. The MSP 1010 acknowledges the PPL Event Request message.
3. Upon successful completion of the Maintenance Group Unblocking procedure, the MSP 1010 alerts the host by sending a PPL Event Indication message for each CIC. The PPL Event Indication contains an SS7 Parameters ICB containing the parameters from the CGU. The host can now initiate outgoing calls.
4. The host must ACK each PPL Event Indication message.
Local Circuit Maintenance Unblocking Indication
1. The MSP 1010 alerts the host when the Local Maintenance Blocking state is cleared. This is typically done when an ISUP component has requested that the CIC be reset (for example, receipt of Unreasonable Signaling to an idle ISUP CPC). The host now considers the channel as not Locally Maintenance Blocked. The host can re-establish blocking. See Outgoing Maintenance Blocking Request (5-49).
2. The host must ACK each PPL Event Indication message.
Developer Information
919
CRM/CRA (ANSI)
Definitions
The messages related to circuit reservation are defined in this section.
CRM
Circuit Reservation Message: This message is used to perform continuity procedures on an outgoing SS7 circuit before collecting address digits from the incoming MF circuit. On receiving a seize from the incoming MF agency, a CRM with the required NOC is sent to the succeeding exchange and the timer TCRM (typically 15 seconds) is started. Based on the NOC, a continuity check may or may not be performed.
CRA
Circuit Reservation Acknowledgment: On receipt of a CRA message, the timer TCRM is stopped and further processing continues. If TCRM expires before the receipt of CRA, the CRM is re-attempted on a different CIC. Circuit Reservation Timer
After sending a CRA in response to the CRM, a Timer TCRA (typically 15 seconds) is started by the terminating node while waiting for an IAM (or COT if a continuity check is to be performed). If neither of the messages is received and the timer expires, an REL message is sent from the terminating node with a cause value of Temporary Call Flows.
Call Flows
TCRM Timeout
MSP
922
MCP/PCP (ITU)
Overview
MCP and PCP messages provide support for unrecognized signaling as defined by ISUP 1992 (ITU-T White Book). This support becomes necessary, for example, if the exchange receives unrecognized signaling information from a later version of ISUP. With MCP/PCP, the exchange can take the appropriate action and ensure its compatibility with new signaling messages, no matter what version they may be.
MCP
Message Compatibility Procedure (MCP, Section 2.9.5, Q.764)
It may happen that an exchange receives an unrecognized message. The message compatibility procedures are invoked in this case to ensure predictable network behavior. Message compatibility information is received in the unrecognized message and following actions can be taken based on the compatibility information contained in the message.
Procedures include:
Send Notification to the exchange sending unrecognized message (Confusion).
Do not send notification.
Initiate release procedure.
Discard message.
Pass on unrecognized message transparently.
PCP
Parameter Compatibility Procedure
PCP defines a set of procedures executed when a message containing unrecognized optional parameters is received by the exchange. Parameter compatibility information is contained in the received message. Receipt of unrecognized parameters only refers to optional parameters and unexpected parameters for that particular message. Based on the instruction indicator contained in the parameter compatibility information for the unrecognized parameter, the following actions can be taken.
Send Notification to the exchange sending unrecognized parameter (Confusion).
Do not send notification.
Initiate release procedure.
Discard message.
Discard unrecognized parameter.
Pass on unrecognized parameters transparently.
Developer Information
923
Unrecognized Message Handling—for Message without MCP
Unrecognized Message Handling---for Message with MCP Discard Indicator
Unrecognized Message—with MCP Containing Release Indicator
Unrecognized Message—with MCP Containing Discard and Send Notification Indicator
Unrecognized Message--with MCP Containing Pass On Indicator
MSP
924
Message with Unrecognized Optional Parameters and no PCP
.
Message with Unrecognized Parameter—with PCP Containing Discard Message and Send Notification Indicator for that Parameter
Message with Unrecognized Parameter—with PCP Containing Release Call Indicator
Developer Information
925
Message with Unrecognized Optional Parameter—with PCP Containing Discard Parameter and Send Notification Indicator
Release with Unrecognized Parameter with PCP
Message with Unrecognized Parameter and PCP Having Pass On Indicator
MSP
926
MPM/CCL/OPR
Overview
This section includes information and call flows related to MPM/CCL/OPR. MPM, CCL and OPR messages are implemented as defined by CHINA ISUP specifications.
Definitions
MPM
Meter Pulse Message: A message is sent in the backward direction after Answer at equal intervals (usually every one minute).
CCL
Calling Party Clear Message: This message is sent in the forward direction when the calling party, which has called the special service node, wants to release the call.
OPR
Operator Message: This message is sent in the backward direction from the special service node if the calling party needs to be provided with a ring after hanging up.
Call Flows
MPM - Normal
Calling Party Clear—Normal Release Sequence
Developer Information
927
The normal release sequence for Calling Party Clear (ITU). The call flow starts with the call in the answered state:
Host 1 = Calling Party
Host 2 = Called Party
Calling Party Clear—Operator Callback—Subscriber Re-answers
Shows the normal release sequence for Calling Party Clear (ITU) with an operator callback. The call flow starts with the call in the answered state:
Host 1 = Calling Party
Host 2 = Called Party
MSP
928
Calling Party Clear—Operator Callback—Re-Answer Timeout
This call flow shows the normal release sequence for Calling Party Clear (ITU) with an operator callback and a re-answer timeout. The call flow starts with the call in the answered state:
Host 1 = Calling Party
Host 2 = Called Party
Developer Information
929
Suspend/Resume
Overview
This section includes information and call flows about the ISUP Suspend and Resume messages.
Definitions
Suspend
The Suspend (SUS) message indicates a temporary cessation of communication without releasing the call. SUS can only be accepted in an answered state (ICC answered/OGC answered).
Resume
A Resume (RES) message indicates a request to recommence communication. If the RES is not sent within timer T6 or T2 (T2 applies to ITU only), the controlling exchange will initiate a release procedure.
PPL Information
The SUS and RES messages are passed in the PPL Event Request and PPL Event Indication messages, with the following Event ID values:
L3P CIC (0x000F)
0x2D SUS
0x2E RES
For ANSI, only network-initiated SUS/RES are allowed. Only called party can send SUS. For ITU, both user and network-initiated SUS/RES are supported. Both calling and called party can initiate SUS.
Atomic function (104) in the ISUP CPC component checks for network- or user-initiated SUS/RES.
Host-Initiated
L3P CIC passes the SUS request from the host to CPC, upon which CPC enters the suspended state and waits for a RES request to recommence the communication. L3P CIC forwards the RES request from the host to CPC and CPC returns to the answered state. If the RES is not received within the resume wait timer, the call is released.
Network-Initiated
When an SUS is received from the network, CPC enters the suspended state and waits for a RES. When an RES is received from the network, CPC returns to the answered state. If the timer initiated at the controlling exchange expires before RES is received, REL is initiated.
MSP
930
PPL event indications include data in SS7 Raw ICB format. If the SUS/RES is not received with the valid indicator, a PPL Event Indication message indicating the error is sent to the host.
Customization
Use the PPL configuration bytes in the L3P CIC component to modify the handling of the SUS and RES messages.
SUS (ITU)
The table below shows the L3P CIC PPL Configuration Bytes used to configure the SUS message for ITU.
Byte Description Value
485 Information Length
0x05
486 Message ID 0x0D
487 Number Of Parameters
0x01
488 Parameter1 ID 0x22 (Suspend/Resume indicator)
489 Parameter Data Length
0x01
490 Parameter value 0x01 (Network Initiated)
SUS (ANSI)
The table below shows the L3P CIC PPL Configuration Bytes used to configure the SUS message for ANSI.
Byte Description Value
480 Information Length
0x05
481 Message ID 0x0D
482 Number Of Parameters
0x01
483 Parameter1 ID 0x22 (Suspend/Resume indicator)
484 Parameter Data Length
0x01
485 Parameter value 0x01 (Network Initiated)
Developer Information
931
RES (ITU)
The table below shows the L3P CIC PPL Configuration Bytes used to configure the RES message for ITU.
Byte Description Value
492 Information Length
0x05
493 Message ID 0x0E
494 Number Of Parameters
0x01
495 Parameter1 ID 0x22 (Suspend/Resume indicator)
496 Parameter Data Length
0x01
497 Parameter value 0x01 (Network Initiated)
RES (ANSI)
The table below shows the L3P CIC PPL Configuration Bytes used to configure the RES message for ANSI.
BYTE Description Value
490 Information Length
0x05
491 Message ID 0x0E
492 Number Of Parameters
0x01
493 Parameter1 ID 0x22 (Suspend/Resume indicator)
494 Parameter Data Length
0x01
495 Parameter value 0x01 (Network Initiated)
Suspend and Resume Call Flows
This section includes call flows showing the Suspend and Resume messages
Suspend Followed by Resume
Suspend Followed by Release
Developer Information
933
UPT/UPA (ITU)
Overview
This section defines UPT/UPA and includes call flows related to these messages.
Definitions
UPT
User Part Test Message: The User Part Test (UPT) message is used to test whether a user part is available on a signaling point, which has been marked inaccessible. The test procedure is initiated when the ISUP receives an MTP STATUS Primitive with cause – “user part unavailability – inaccessible remote user”. The ISDN User Part shall send a User Part Test message and start timer that supervises the receipt of a response to the user part test message. All MTP STATUS Primitives with cause – “user part unavailability – inaccessible remote user” are ignored when the timer T4 is running. The timer T4 is stopped when a User Part Available (UPA) or any other ISUP message is received.
UPA
User Part Available: When a User Part Test acknowledgment message is received by ISUP, the ISUP sends a User Part Available message in response to the message.
UPT and UPA messages are implemented for ITU/CHINA ISUP, with procedures as recommended by ITU ISUP (Q.764).
Call Flows
Normal Call Flow for UPT/UPA
MSP
934
Call Flow for UPA Timeout
UPT Procedure: Remote User Unavailable
The call flow shows the UPT procedure that is initiated when ‘MTP-UPU — Remote user unavailable’ is received.
UPT Procedure—No Response from Far End
This shows the UPT procedure that is initiated when ‘MTP-UPU – Remote user unavailable’ received, and there is no response from the far end.
MSP
936
SS7 Customization with ISUP Messages
Overview
You can customize the following to meet your application requirements:
ISUP Message Configuration
User-defined ISUP Messages
ISUP MTP Pause Logic Options
Request For Service Message Format
SS7 Parameter Presentation
PPL Configuration Bytes
Protocol Timers
Other Customization
ISUP Message Configuration
The ISUP Message Configuration Template is a table against which outgoing ISUP messages are formatted and incoming message parameters are extracted and verified. The default configurations for ANSI are described in the ANSI T1.113 specification, and the default configurations for ITU are described in ITU Q.767 specification.
The SS7 ISUP Message Format Configure message allows the host to customize the following ISUP message contents:
Message type
Priority
Number, order, and length of all parameters
You can also customize messages for ISUP variants. There is one ISUP Message Configuration Template for each protocol stack. All SS7 channels assigned to a stack are affected by modifications to the corresponding table. See the SS7 ISUP Message Format Configure message for an example, as well as generic sections on downloading and assigning modified PPL components and their relationship to stack configuration.
As shown in the figure below, the raw ISUP data from MTP is compared against the template to identify the ISUP message type and convert the raw data into the format of an SS7 Parameters ICB to send to L3P.
Incoming and outgoing messages that do not match the template, cause the host to be notified of a protocol violation and the MSP 1010 discards the message.
For outgoing calls, the parameter data is converted from an SS7 Parameters ICB format into the raw data format to go out to the network.
You can modify the defaults to include (or to exclude) optional parameters and customize messages for ISUP variants. Changing the format of a message affects the formatting of every incoming and outgoing instance of that message.
ISUP Message Configuration Template
Developer Information
937
User-defined ISUP Messages
SS7 allows the host to configure up to 32 user-defined ISUP messages per stack. The host can create PPLs to send and receive user-defined ISUP messages.
The L3P CIC and ISUP CPC components must be modified to create the Transport Event User-defined Messages. The Figure User-defined ISUP Message Mode illustrates the model for sending and receiving user-defined ISUP messages.
User-defined ISUP Message Mode
MSP
938
To facilitate the passing of user-defined ISUP messages, add events and atomic functions to ISUP CPC and L3P CIC. L3P CIC Atomic Function (AF) 99 allows L3P to send a user-defined ISUP message to ISUP. ISUP CPC AF 64 sends an incoming user-defined ISUP message to L3P. AF 65 sends an outgoing user-defined ISUP message to SPRC. For an example of L3P CIC customization.
Example Using User-defined ISUP Message Procedure
The following example shows how to use the User-defined ISUP message procedure.
1) Use the PPL Event Request / Indication messages to send or to receive User-defined Message (UDM).
For event values of UDMs, use any value larger than 30 (0x1E). For example, use the following to handle the receiving of INR /INF and the sending of INF/INR:
32(0x20) INR Indicator Event ID
33 INF Indicator Event ID
Then, they are used for L3PCIC Host-side Event Request ID:
INR (532)PPLevL5_EVENT_REQ_32
INF (533)PPLev:5_EVENT_REQ_33
Developer Information
939
For the L3PCIC network side:
INR (81) L3PCICevISUP_User_Defined_Msg1_IND
INF (82) L3PCICevISUP_User_Defined_Msg2_IND
For ISUP CPC, you do not need to assign an event ID. When you define the UDM in the ISUP Message Format Configuration template (MCT), the PPL automatically assigns the event ID. For example, you define:
INR User-defined message #1 0x2F(47) (ISUP MCT index)
INF User-defined message #2 0x30(48) (ISUP MCT index)
Then, the ISUP CPC creates:
Events (101)CPCevSPRC_USER_DEFINED_MSG1 —>INR
(102)CPCevSPRC_USER_DEFINED_MSG2 —>INF
(151)CPCevL3P_USER_DEFINED_MSG1_REQ —> Outgoing INR
(152)CPCevL3P_USER_DEFINED_MSG2 —- >Outgoing INF
2) Modify ISUP Message Configuration Table (MCT).
To modify the ISUP Message Configuration Table, create the message templates for the new messages according to the related specification. Use the SS7 ISUP Message Format Configure API message (0x6B) to assign the UDM number. For example:
INR —>2F(47)
INF —>30(48)
3) Modify the PPL State Machine.
To modify the PPL State Machine, decide which state to modify or add. Decide which state will receive or send the UDMs. For example, you will receive an INR after an IAM, which means the L3P CIC is in the Inseize state (State 2).
For L3P CIC - You can see the following DS0 file for example, but you have to pay attention to sending UMD and receiving UDM.
AF 76 adds prestored ISUP parameter entities into the L3P CIC configuration bytes. The following examples uses configuration bytes 150-152 and 160-162. If no parameters are prestored, use 0 as the number of parameters.
150 Information Length
0x02 (INR)
151 Message ID 0x03
152 Number of Parameters
0x00 (no per-stored)
160 Information Length
0x02 (INF)
161 Message Id 0x04
162 Number of Parameters
0x00 (no per-stored)
MSP
940
Next, fill the AF76(160) for INF message.
AF76(150) for INR in order to use these PPL configuration byte entities
AF71 Fill in the ISUP MSG Index, for example AF71(48), where 48 is the ISUP MSCT index 48(0x30) is the MCT.
For receiving UDM, the event IDs include the following:
(101)L3PCICevISUP_User_defined_MSG1_IND —->INR
(102)L3PCICevISUP_User_Defined_MSF2_IND —->INF
For CPC - For the EVENT ID and ISUP MCT index, refer to the DSD file.
4) Create PPL report file and download to the MSP 1010.
Use the PPL tool to create state table function to generate the PPL REP file. Then, use the tool REP2CFG.EXE to create the CFG files.
Finally, define the user protocol ID and download the report to the MSP 1010.
ISUP MTP Pause Logic Options
By default, ISUP processes MTP Pause Indications immediately. ISUP forces all CICs for the paused destination (DPC) out-of-service. Any active calls are listed as the CICs are brought out-of-service. The CICs remain out-of-service until the DPC receives an MTP Resume Indication.
The host can configure the ISUP to delay the processing of the MTP Pause Indication. The host can enable the MTP Pause Logic by setting PPL Configuration Byte 3 in ISUP SPRC. If this flag is set, an MTP Pause Indication is delayed for a period of time determined by an ISUP SPRC PPL Timer. The actual time before a Pause is processed is 10 times the timer value (so setting the timer for 5 seconds causes the Pause expiration in 50 seconds).
During the delay period, all outgoing messages for the DPC are queued in ISUP. If an MTP Resume Indication is received before the timer expiration, the queued messages are sent and the Pause is discarded. If the Pause Timer expires, the queued messages are discarded and the pause is processed as previously described.
Request For Service Message Format
The Called and Calling Party number can be passed to the host as BCD encoded digits, allowing an application to use a generic Feature Group D call model.
To enable the sending of BCD Encoded digits, the value in Byte 8 must be changed to “BCD Encoded Digits” (0x01) using the PPL Configure message. This invokes AF 78, which transfers address data to the ISUP Outgoing buffer as BCD encoded digits.
BYTE Description Value
8 Request For Service Format
0 = Raw ISUP (default)
1 = BCD digits
Developer Information
941
SS7 Parameter Presentation
For incoming calls, the default is to pass all parameters to the host in an SS7 Data ICB message. The host can configure the MSP 1010 to pass specific parameters, or no parameters, by modifying the L3P CIC state machine using the PPL Tool.
1. Upon reception of an ISUP Setup Indication, AF 96 stores the SS7 parameters into the ISUP Incoming Buffer.
2. AF 11 tests the L3P CIC Configuration Bytes to determine the Request For Service format (Raw ISUP or BCD Encoded Digits).
3. As the default format is Raw ISUP (0), AF 77 is invoked, which transfers all network ISUP parameters into the L4/L5 Outgoing buffer. (To change the Request For Service format to BCD-encoded digits, See Request For Service Message Format (5-80).
4. AF 69 sends a Q.931 Setup to L4, including all parameters in the buffer.
Specified Parameters
The host can configure L3P CIC to send specific parameters using AF 93, which transfers the parameter data in the incoming buffer to the L4/L5 Outgoing Buffer. Argument 1 indicates the Parameter ID. The function must be invoked for each parameter to be sent.
No Parameters
For the host to receive a Request For Service With Data with no SS7 parameters, L3P CIC should be modified. Upon reception of the ISUP Setup Indication, AF 69 sends a Q.931 Setup to L4. By removing AF 96, no parameters are stored or sent. Because no digits are to be sent, the test for the Request For Service format is removed.
MSP
942
Modifying the Format of an ISUP Message
Overview
You modify the format of an ISUP message using the SS7 ISUP Message Format Configure message. ISUP messages can be modified by removing or adding optional parameters that are supported in the applicable ANSI or ITU specification. You must include all of the mandatory parameters that are included in the format of an ISUP message.
To find the format of an ISUP message supported by Excel, use the SS7 ISUP Message Query message.
Finding Parameter IDs
Depending on the telecommunications standard being used, you find the IDs for optional parameters listed in the specifications issued by ITU or ANSI.
Example
The example script file below shows the SS7 ISUP Message Format Configure message being used to change the format of the RELEASE message. The Release message format includes 13 optional parameters:
User-to-User Information
Automatic Congestion Level
Parameter Capability Information
Access Delivery Information
Redirection Number
Remote Operations
Network Specific Facilities
Redirection Information
Access Transport
Signaling Point Code
User-to-User Indicators
Display Information
Redirection Number Restriction
Example Configuration Script File
This script file, sent by the host, configures the Release message format to include only four optional parameters. This example uses the optional parameter IDs in the ITU-T Q.763 specification.
00 20 00 6B 00 00 FF 00 01 08 01 00 04 0C 01 00 01 12 02 00 01 04 03 01 00 27 01 01 0C 03 0A 20 01 81
Example Message Format Table with Values
Developer Information
943
The table below interprets the information provided in the script file shown earlier in this section. The Release message has only one mandatory fixed parameter: Message ID. Because the ISUP Message Index and ISUP Message ID fields indicate this parameter ID, the parameter ID does not need to be repeated in the MFP 1: ID field.
Note:
Maximum Length of 0x00 means infinity.
Byte Field Description Value
0 Frame 0xFE
1 Length, MSB 0x00
2 Length, LSB 0x2C
3 Message Type, MSB 0x00
4 Message Type, LSB 0x6B
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0xFF
8 Address Method 0x00
9 Number of Address Elements 0x01
10 Address Type 0x08 (SS7 Stack)
11 Data Length 0x01
12 Data[0] SS7 Stack ID 0x00
13 ISUP Message Index 0x04
14 ISUP Message ID 0x0C
15 ISUP Message Priority 0x01
16 Number of Mandatory Fixed Parameters (MFP)
0x00
17 Number of Mandatory Variable Parameters (MVP)
0x01
18 MVP 1: ID 0x12 (Cause Indicators)
19 MVP 1: Minimum Length 0x02
20 MVP 1: Maximum Length 0x00
21 Optional Parameters Allowed 0x01 (Yes)
22 Number of Optional Parameters 0x04
23 OP 1: ID 0x03 (Access Transport)
24 OP 1: Minimum Length 0x01
MSP
944
25 OP 1: Maximum Length 0x00
26 OP 2: ID 0x27 (Auto. Congestion Level)
27 OP 2: Minimum Length 0x01
28 OP 2: Maximum Length 0x01
29 OP 3: ID 0x0C (Redirection Number)
30 OP 3: Minimum Length 0x03
31 OP 3: Maximum Length 0x0A
32 OP 4: ID 0x20 (User to User Information)
33 OP 4: Minimum Length 0x01
34 OP 4: Maximum Length 0x81
35 Checksum 0x2A
Developer Information
945
Important ISUP PPL Information
Overview
This section highlights some of the more important ISUP PPL components information related to SS7 customization. Complete Configuration Byte values, and PPL timers and events are documented in the SS7 PPL Information in the API Reference.
Configuration Bytes
This section identifies important PPL Configuration Bytes for each component, and their default values.
ITU L3P CIC
The L3P CIC PPL Configuration Bytes configure the following:
Bytes 1-3 - CGB, CGU, GRS
Point to the byte locations of the Circuit Group Block (CGB), Circuit Group Unblock (CGU), and Circuit Group Reset (GRS) parameters, which are used when generating group messages. Other functions in the system access these parameters. You can move the location of the parameter values within the L3P CIC Configuration Bytes; however, you must update Bytes 1-3 to point to their location.
Bytes 4-7 - SS7 Parameter Information For Outgoing Calls
Required when the host sends BCD-encoded digits.
Byte 8 - Request For Service With Data message format
For incoming calls. Address information can be passed as SS7 parameter data or as BCD-encoded digits.
Byte 9
Determines if an incoming SS7 call requires a response with the ACM/ANM or CON messages.
Byte 10 - Host Out-of-service and In-service Operation Flag
This flag determines if a reset or block/unblock sequence is used for host initiated out-of-service and in-service transitions.
Bytes 15-145 - Values For SS7 Parameters In Outgoing Messages
These values are used unless the host overrides them in an SS7 Parameters ICB. Values are included for the following messages:
Message Value
ACM Address Complete Message
ANM Answer Message
MSP
946
BLO Blocking
CGB Circuit Group Blocking
CGU Circuit Group Unblocking
CON Connect Message
CPG Call Progress
GRS Circuit Group Reset
IAM Initial Address Message
REL Release
UBL Unblocking
ITU ISUP CPC
The ISUP CPC Configuration Bytes contain values for the Dual-seizure Control Flag and CPC-initiated REL parameters.
Byte 1 - Dual-seizure Control Flag
Upon detection of a dual-seizure condition (collision between incoming and outgoing IAMs); this flag determines which side is dropped.
Bytes 10–16, 25–31, and 40–46 - parameter values for CPC-initiated Releases, depending on the failure reason
Under certain circumstances, ISUP CPC must initiate a release to the network. For example, expiration of the T8 timer results in a forward REL with a Cause Value of “Temporary Failure” ITU ISUP SPRC.
ITU ISUP SPRC
Byte 1 - Range & Status Parameter ID
This ID is required for logic in ISUP, which identifies group messages and routes them to the correct group state machine based on the value of the range field.
Byte 2 - Byte Offset of the Range Field
The range field of the Range and Status parameter is assumed to be one octet. However, its placement in the Range and Status parameter is not assumed. This Configuration Byte entry contains the byte offset into the parameter for the range field (this is 0 for ITU). This is done, along with the Range and Status parameter name, in order to allow ISUP to be able to handle ISUP message and parameter variants.
Byte 3 - ITU Service Indicator
This field is placed in to every outgoing ISUP message as a field in the MSU Service Information Octet.
Developer Information
947
Byte 4 - ITU Subservice Field
This field is placed into every outgoing ISUP message as a field in the MSU Service Information Octet.
Byte 5 - MTP Pause Logic Flag
After an MTP Pause indication is received, the SPRC can either process the pause immediately, or it can delay the pause processing and queue any outgoing messages to MTP. If an MTP Resume indication is received before timer expiration, the queued messages are sent to MTP. If the timer expires, the queued messages are discarded and the pause is processed. (For a description of ISUP MTP Pause Logic, see ISUP MTP Pause Logic Options (5-80)
ANSI L3P CIC
Bytes 1 and 3 - CGB, CGU, and GRS
Point to the byte locations of the Circuit Group Block (CGB), Circuit Group Unblock (CGU), and Circuit Group Reset (GRS) parameters, which are used when generating group messages. These parameters are accessed by other functions in the system. The location of the parameter values can be moved within the L3P CIC Configuration Bytes, however, Bytes 1 and 3 must be updated to point to their location.
Bytes 4-7 - SS7 parameter information
Required for outgoing calls when the host sends BCD-encoded digits in an Outseize Control message.
Byte 8 - Request For Service With Data message format
For incoming calls. Address information can be passed as SS7 parameter data or as BCD-encoded digits.
Byte 10 - Host Out-of-service And In-service Operation Flag
This flag determines if a reset or block/unblock sequence is used for host initiated out-of-service and in-service transitions.
Bytes 15-137 - SS7 Parameter Values For Outgoing Messages
These values are used unless overridden by the host in an SS7 parameters ICB.
ANSI ISUP CPC
The ISUP CPC Configuration Bytes control the Dual-Seizure Control Flag and CPC-initiated REL parameters.
Byte 1 - Dual-Seizure Control Flag
Upon detection of a dual-seizure condition (collision between incoming and outgoing IAMs); this flag determines which side is dropped.
Bytes 10–16, 25–31, 40–46, and 51–61 - parameter values for CPC-initiated Releases, depending on the failure reason.
Under certain circumstances, ISUP CPC must initiate a release to the network. For example, expiration of the T8 timer results in a forward REL with a Cause Value of “Temporary Failure.”
MSP
948
ANSI ISUP SPRC
ISUP SPRC PPL Configuration Bytes control configuration flags, messages, and other important values, as follows:
Byte 1 - Range & Status Parameter ID
This ID is required for logic in ISUP which identifies group messages and routes them to the correct group state machine based on the value of the range field.
Byte 2 - Byte Offset of the Range Field.
The range field of the Range and Status parameter is assumed to be one octet. However, its placement in the Range and Status parameter is not assumed. This Configuration Byte entry contains the byte offset into the parameter for the range field (this is 0 for ANSI). This is done, along with the Range and Status parameter name, in order to allow ISUP to be able to handle ISUP message and parameter variants.
Byte 3 - ANSI Service Indicator
This field is placed in to every outgoing ISUP message as a field in the MSU Service Information Octet.
Byte 4 - ANSI Subservice Field
This field is placed into every outgoing ISUP message as a field in the MSU Service Information Octet.
Byte 5 - MTP Pause Logic Flag
Upon reception of an MTP Pause indication, the SPRC can either process the pause immediately, or it can delay the pause processing and queue any outgoing messages to MTP. If an MTP Resume indication is received before timer expiration, the queued messages are sent to MTP. If the timer expires, the queued messages are discarded ISUP MTP Pause Logic Options (5-80).
Bytes 6-26 - SPRC-initiated Confusion
CFN messages to the network in response to an unrecognized or corrupt message.
Bytes 30-32 - parameter values for an Unequipped CIC
UCIC message to the network in response to a network message that pertains to an unknown or out-of-service CIC.
L3P CIC PPL Configuration Bytes
The mapping of the PPL Configuration Bytes for the L3P CIC component allows you to move Configuration Bytes for a message without modifying the PPL protocol.
Existing atomic functions point to specific Configuration Bytes for the format information on a specific message. If this information was moved to a new Configuration Byte location, the DSD would have to be updated to reflect the new location of the Configuration Bytes.
There are three blocks of 200 Configuration Bytes each, for a total of 600 Configuration Bytes. Bytes 501–600 are used as the Configuration Byte Offset Table, which contains an index pointing to the location of the Configuration Bytes with the format information for each message.
Developer Information
949
Atomic Function 122 in the L3P CIC state machine points to the index in the Configuration Byte Offset Table, which indicates the location of the Configuration Bytes for a specific message. If you move the location of the Configuration Bytes for a message, you only need to update the Configuration Byte Offset Table, using the PPL Configure message, to reflect the new location.
The next figure shows the usage of the Configuration Byte Offset Table by the L3P CIC state machine to access Configuration Bytes for a specific message. See SS7 PPL Information for ITU and ANSI Configuration Byte offset values.
Protocol Timers
Each PPL component has multi-purpose timers, which you can activate at any time. Each component using timers has a table that contains information on specific timers (name, value). When a protocol requires a timer, an atomic function is initiated to activate one of the PPL timers and to point to an index in the components timer table, which contains the value for the required timer. See SS7 PPL Information (7-1) in this manual for default timer values.
Other Customization
The table below lists other common SS7 customization which is implemented through modification of PPL Configuration Bytes with the PPL Configure message.
To modify... Use...
Component Configuration Bytes
Host-initiated Out-of-Service Logic Flag
L3P CIC 10
Dual-seizure (Glare) Control Flag
ISUP CPC 1
Default Outgoing SS7 Parameters
L3P CIC All
Service Indicators ISUP SPRC 3
Subservice Field ISUP SPRC 4
Range and Status ISUP SPRC 1
MSP
950
Parameter ID
CFN Parameters- ANSI only
ISUP SPRC All
ISUP CPC Initiated Release Parameters
ISUP CPC All
ITU CON/ANM/ACM Control ITU
L3P CIC 9
Transmitted LSSU Status Field
MTP2 TXC All
Network Indicators MTP3 HMDT and
MTP3 HMRT
All
Developer Information
951
ISUP Signaling Information
Overview
This section includes definitions of ISUP messages.
Definitions
The following messages can be modified using the SS7 ISUP Message Format Configure API message. Some messages are marked with a number which indicates the following:
1 Specified for ANSI network
2 Specified for ITU network
3 ITU – for National use
Messages that are not marked with a number indicate use for an ANSI or ITU network.
Signaling Information
Definition
Access Delivery Indicator 2
Information sent in the backward direction indicating that a SETUP message was generated at the destination access.
Access Transport Information generated on the access side of a call and transferred transparently in either direction between the originating and terminating local exchanges. The information is of significance to both users and local exchanges.
Address Presentation Restricted Indicator
Information sent in either direction to indicate that the address information is not to be presented to a public network user, but can be passed to another public network.
Address Signal An element of information in a network address. The address signal may indicate digit values 0 to 9, code 11 or code 12. One address signal value is reserved to indicate end of pulsing of the called party number (ST) and is not used.
Alarm Carrier Indicator 1
Information sent in either direction indicating the type of carrier alarm handling.
Attendant Status 1 An indication sent within the business group parameter signifying whether or not the business group information pertains to an attendant line.
Automatic Congestion Level
Information optionally included in a Release Message and sent to the exchange at the other end of a circuit to indicate that a particular level of congestion exists at the
MSP
952
sending exchange.
Backward Call Indicators
Information sent in the backward direction consisting of the charge indicator, called party's status indicator, called party's category indicator, end-to-end method indicator, interworking indicator, end-to-end information indicator, ISDN User Part indicator, holding indicator, ISDN access indicator, echo control device indicator, and SCCP method indication.
Business Group 1 Information sent in either direction to indicate the identity of the Multi-Location Business Group associated with a number (e.g. the Calling Party Number), the identity of a Subgroup within that Multilocation Business Group and the Line Privileges allocated to the number.
Business Group Identifier 1
Sent within the business group parameter to indicate the identity of the corresponding Multi-location Business Group.
Business Group Identifier Type 1
Information sent within the business group parameter to indicate the type of business group identification used, e.g. multi-location business group identifier or interworking with private networks identifier.
Call Diversion Information 2
Information sent in the backward direction indicating the redirection reason and the notification subscription option of the redirecting user.
Call Diversion May Occur Indicator 2
Information sent in the backward direction indicating that call diversion may occur, depending on the response received (or lack thereof) from the called party.
Call History Information 2
Information sent in the backward direction to indicate the accumulated propagation delay of a connection.
Call Identity 3 Information sent in the call reference parameter indicating the identity of a call in a signaling point.
Call Reference 3 Circuit independent information identifying a particular call.
Called Party Number Information sent in the forward direction to identify the called party and consisting of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
Called Party’s Category Indicator
Information sent in the backward direction indicating the category of the called party, e.g. ordinary subscriber or pay phone.
Called Party’s Status Indicator
Information sent in the backward direction indicating the status of the called party, e.g. subscriber free.
Calling Party Address Request Indicator 2/3
Information sent in the backward direction indicating a request for the calling party address to be returned.
Developer Information
953
Calling Party Address Response Indicator 2/3
Information sent in response to a request for the calling party address, indicating whether the requested address is included, not included, not available or incomplete.
Calling Party Number Information sent in the forward direction to identify the calling party and consisting of the odd/even indictor, nature of address indicator, numbering plan indicator, address presentation restriction indicator, screening indicator, and address signals.
Calling Party Number Incomplete Indicator 2/3
Information sent in the forward direction indicating that the complete calling party number is not included.
Calling Party’s Category
Information sent in the forward direction indicating the category of the calling party, e.g. ordinary subscriber, test call.
Calling Party’s Category Request Indicator 2/3
Information sent in the backward direction indicating a request for the calling party’s category to be returned.
Calling Party’s Category Response Indicator 2/3
Information sent in response to a request for the calling party’s category, indicating whether or not the requested information is included in the response.
Carrier Identification Code 1
Information sent in the forward direction to the transit network indicating the transit network selected by the originating subscriber.
Carrier Selection Information 1
Sent in the forward direction to indicate whether the calling user selected the transit network by pre-subscription or dialed input and if pre-subscribed whether or not the carrier identification code was also dialed.
Cause Indicators 1 Information sent in either direction consisting of the coding standard, location, cause value and diagnostics. It indicates the reason for sending the message in which it is contained, e.g. the Release, Address complete or Confusion messages, and identifies the network in which the message originated, e.g. local network, transit network, remote local network.
Cause Value 2 Information sent in either direction consisting of the coding standard, location, cause value and diagnostics. It indicates the reason for sending the message in which it is contained, e.g. the Release, Address complete or Confusion messages, and identifies the network in which the message originated, e.g. local network, transit network, remote local network.
Charge Indicator Information sent in the backward direction indicating whether or not the call is chargeable.
Charge Information Information sent in either direction requesting charge
MSP
954
Request Indicator 2/3 information to be returned.
Charge Information Response Indicator 2/3
Information sent in response to a request for charge information indicating whether or not the requested information is included.
Charge Number 1 Information sent in either direction indicating the chargeable number for the call and consisting of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
Circuit Assignment Map
Information identifying the map format and the circuits in a multi-rate connection. For the DS 1 map format it identifies the DS0 circuits constituting a NxDS0 connection. The circuit assignment map is used only for NxDS0 calls when non-contiguous time slot allocation is used.
Circuit Group Blocking Type Indicator 1
Information sent in a Circuit Group Blocking (Unblocking) (Acknowledgment) Message indicating the blocking procedure used.
Circuit Group Carrier Indicator 1
Information sent in either direction indicating if the circuit group carrier is analog, digital, or analog and digital.
Circuit Group Characteristics Indicator 1
Information sent in response to a request for circuit validation, indicating the characteristics of the concerned circuit group in terms of carrier type, double seizing control, alarm handling and continuity check requirements.
Circuit Group Supervision Message Type Indicator
Information sent in either direction in a circuit group supervision message and consisting of the circuit group blocking type indicator.
Circuit Identification Code
Information identifying the physical path between a pair of exchanges.
Circuit Identification Name 1
Information identifying the exchanges on which a circuit group terminates and the number of each trunk within that group.
Circuit State Indicator 3
Information indicating the state of a circuit according to the sending exchange.
Circuit Validation Response Indicator
Information indicating the far-end results of a circuit validation test.
Closed User Group Call Indicator 2
Information indicating whether or not the concerned call can be set up as a closed user group call and, if a closed user group call, whether or not outgoing access is allowed.
Closed User Group Interlock Code 2
Information uniquely identifying a closed user group within a network.
Coding Standard Information sent in association with a parameter (e.g.
Developer Information
955
cause indicators) identifying the standard in which the parameter format is defined.
Common Language Location Identification (CLLI) 1
Information used for circuit validation to identify a switching office by town, state, and building subdivision. (COMMON LANGUAGE is a registered trademark and CLLI is a trademark of Bell Communications Research, Inc.)
Component Type 2/3 There are four types of components that may be present in the Remote Operations parameter. The four Protocol Data Units (PDU) defined in Recommendation X.229 are used. (Invoke, Return Result, Return Error, Reject).
Connected Line Identity Request Indicator 2
Information sent in the forward direction indicating a request for the connected party number to be returned.
Connected Number 2 Information sent in the backward direction to identify the connected party.
Connection Request Information sent in the forward direction on behalf of the Signaling Connection Control Part requesting the establishment of an end-to-end connection and consisting of the local reference, point code, protocol class, and credit.
Continuity Check Indicator
Information sent in the forward direction indicating whether or not a continuity check will be performed on the circuit(s) concerned or is being (has been) performed on a previous circuit in the connection.
Continuity Check Requirement Indicator 1
Information sent in either direction indicating if and how often a continuity check is required for the circuit group.
Continuity Indicator Information sent in the forward direction indicating whether or not the continuity check on the outgoing circuit was successful. A continuity check successful indication also implies continuity of the preceding circuits and successful verification of the path across the exchange with the specified degree of reliability.
Credit Information sent in a connection request, indicating the window size requested by the signaling connection control part for an end-to-end connection.
Diagnostic Information sent in association with a cause value and which provides supplementary information about the reason for sending the message.
Discard Message Indicator 2
Information sent to inform another node to discard the related message, due to compatibility reasons.
Discard Parameter Indicator 2
Information sent to inform another node to discard the related parameter, due to compatibility reasons.
Double Seizing Information sent in either direction indicating the type of
MSP
956
Control Indicator 1 double seizing control applied to the circuit group.
Echo Control Device Indicator
Information sent in the forward direction indicating whether or not an outgoing half echo control device is included in the connection.
Egress Service 1 Information sent in the forward direction by the first incoming exchange in the terminating exchange area, to indicate network specific attributes associated with the terminating exchange, e.g. the interexchange carrier, the point of interconnection, and type of terminating access service.
Encoding Scheme 2 Information sent to indicate the coding type for the digit information, e.g. BCD-coded.
End of Optional Parameters 2
The end of optional parameters field indicates that there are no more optional parameters in the message.
End-to-End Information Indicator
Information sent in either direction indicating whether or not the sending exchange has further call information available for end-to-end transmission.
End-to-End Method Indicator
Information sent in either direction indicating the available methods, if any, for end-to-end transfer of information.
Error Code 2/3 The error code element contains the reason why an operation cannot be completed successfully. It is present only in a Return Error component. As with operations, errors may be local or global. These errors and associated parameters are defined in relevant supplementary service specifications.
Event Indicator Information sent in either direction to indicate the type of event that caused a Call Progress message to be sent. Event Information. Information sent in either direction consisting of the event indicator and event presentation restricted indicator that should be relayed to the access. Event Presentation Restricted Indicator. Information sent in either direction to indicate that the occurrence of the concerned event should not be reported to the user.
Event Information 1 Information sent in either direction consisting of the event indicator and event presentation restriction indicator.
Event Presentation Restricted Indication 3
Information sent in either direction to indicate that the occurrence of the concerned event should not be reported to the user.
Extension Indicator Information indicating whether or not the associated octet has been extended.
Facility Indicator 2 Information sent in facility related messages identifying the facility or facilities with which the message is concerned.
Developer Information
957
Feature Code 2/3 Information sent in either direction to invoke, accept, or reject a specific action for a supplementary service.
Feature Code Indicator 1
Information sent in either direction to invoke a specific feature operation at the terminating or originating MSP 1010.
Filler 2 A number of bits used to complete a partially used octet to full octet length.
Forward Call Indicators
Information sent in the forward direction consisting of the incoming international call indicator, end-to-end method indicator, interworking indicator, end-to-end information indicator, ISDN User Part indicator, ISDN User Part preference indicator, ISDN access indicator, and SCCP method indicator.
Generic Address 1 Information in the form of an address pertaining to a supplementary service (e.g., dialed number, destination number) and including type of address, nature of address and numbering plan indications.
Generic Digits 3 Information in the form of digits pertaining to a supplementary service, (e.g. account code, authorization code, private network class mark) and including type of digits and encoding method indicators.
Generic Name Information sent in the forward direction containing specific name-related information.
Generic Notification 2 Information sent in either direction intended to provide supplementary service notification to a user.
Generic Number 2 A number information sent in either direction to enhance network operation or for supplementary services.
Generic Reference (reserved) 2
For further study.
Hold Provided Indicator 2/3
Information sent in the forward direction indicating that the connection will be held after the calling or called party has attempted release.
Holding Indicator 2/3 Information sent in the backward direction indicating that holding of the connection is requested.
Hop Counter (ITU reserved for further study)
Information sent in the forward direction to minimize the impact of lAM looping. The initial count determines the maximum number of contiguous SS7 interexchange circuits that are allowed to complete the call, assuming all subsequent intermediate exchanges decrement the hop counter.
In-band Information Indicator
Information sent in the backward direction to indicate that in-band information, e.g. a tone or announcement, is present on the circuit path.
Incoming Half Echo Information sent to request the activation or
MSP
958
Control Device Request Indicator 2
deactivation of an incoming half echo control device.
Incoming Half Echo Control Device Response Indicator 2
Information sent to inform whether an incoming half echo control device has been included or not.
Incoming International Call Indicator 1
Information sent in the forward direction indicating whether the call is an incoming international or an incoming national call.
Information Indicators
Information sent in either direction consisting of the calling party address response indicator, connected address response indicator, calling party's category response indicator, charge information response indicator, and solicited information indicator.
Information Request Indicators
Information sent in either direction consisting of the calling party address request indicator, connected address request indicator, calling party's category request indicator, charge information request indicator, malicious call identification request indicator, and holding indicator.
Information Transfer Capability 1
Information sent in the forward direction indicating the type of transmission medium required for the connection.
Information Transfer Rate 1
Information sent in the forward direction indicating the information transfer rate
Instruction Indicator 2
Information indicating the reactions to be taken if an unrecognized message or unrecognized parameter is received.
Internal Network Number 2
Information sent to the destination exchange for specific numbers, e.g. roaming numbers indicating whether or not the network generates the number contained in the parameter.
Interworking Indicator
Information sent in either direction indicating whether or not Signaling System No. 7 is used in all parts of the network connection.
Invoke Identification 2/3
An Invoke ID is used as a reference number to identify uniquely an operation invocation. It is present in the invoke component and in any reply to the invoke enabling the reply to be correlated with the Invoke.
ISDN Access Indicator
Information sent in either direction indicating whether or not the access signaling protocol is ISDN.
ISDN User Part Indicator
Information sent in either direction to indicate that the ISDN User Part is used in all parts of the network connection.
ISDN User Part Information sent in the forward direction indicating whether or not the ISDN User Part is required or
Developer Information
959
Preference Indicator preferred in all parts of the network connection. Jurisdiction Information sent in the forward direction indicating the geographic origination of the call.
Jurisdiction Information 1
Information sent in the forward direction indicating the geographic origination of the call.
Length of Network Identification 2/3)
Information sent in the network specific facility parameter, to indicate the length in octets of the network identification.
Length of Reference Indicator 2 (for further study)
Information sent in the generic reference parameter, to indicate the length in octets of the reference.
Line Privileges 1 Information sent within the business group parameter to indicate the privileges of the user identified by the corresponding number,
Line Privileges Information Indicator 1
Information sent within the business group parameter signifying whether the indicated line privileges are standard or customer defined.
Linked Identification 2/3
A linked ID is included in an Invoke component by a node when it responds to an operation invocation with a linked operation invocation. The node receiving the linked ID uses it for correlation purposes in the same way that it uses the invoke ID in a Return Result, Return Error, or Reject.
Local Reference Information sent in the connection request, indicating the local reference allocated by the signaling connection control part to an end-to-end connection.
Location 2 Information sent in either direction indicating where an event was generated.
Location Number 2 Information sent to indicate the location of a user in the term of an E.164 number.
Look Ahead For Busy 1
Information sent within the precedence parameter indicating whether the look-ahead for busy option is allowed or whether the path has been reserved.
Look For Busy (LFB) 2
Information sent in the forward direction to indicate whether LFB option is allowed or if the path for the call is reserved.
Malicious Call Identification Response Indicator 2/3
Information sent in the forward direction indicating whether the malicious call identification has been provided or not.
MCID Request Indicator 2
Information sent in the backward direction to request the identity of the calling party for the purpose of malicious call identification.
MCID Response Information sent in the forward direction to respond to a
MSP
960
Indicator 2 MCID request and indicating whether or not the MCID information is available.
Message Compatibility Information Parameter 2
Information sent in either direction indicating how an exchange should react in case this message is unrecognized.
MLPP Service Domain Information sent in the precedence parameter identifying the network resources to which the Multi-level Precedence and Preemption supplementary service is applicable for the call.
MLPP User Indicator 2 Information sent in the backward direction to indicate that the called user is an MLPP user.
National/International Call Indicator 2
Information sent in the forward direction indicating in the destination national network whether the call has to be treated as an international call or as a national call.
Nature of Address Indicator
Information sent in association with an address indicating the nature of that address, e.g. ISDN international number, ISDN national significant number, or ISDN subscriber number.
Nature of Connection Indicators 1
Information sent in the forward direction consisting of the satellite indicator, continuity check indicator, and echo control device indicator.
Network Discard Indicator 2
This indicator indicates that the network has discarded user-to-user information included in the call control message.
Network Identification 1
Information sent in the forward direction indicating the identity of the transit network.
Network Identification 2/3
Information sent to identify a network.
Network Identification Plan 1
Information sent in association with the transit network selection information to identify the type of network identification used.
Network Transport A parameter sent in either direction for the purpose of transporting other ISDN User Part parameters transparently across transit exchanges.
Network Identification Plan 2/3
Information sent to indicate the identification plan for identifying the network, e.g. X.121 or E.212, (DNIC or MNIC).
Network Identity 2/3 Information sent to identify the network that administrates the supplementary service.
Network Specific Facilities 2/3
Service related information transparently transferred in either direction between the local exchange and the identified network, which contracts the service. The information is significant to both user and the identified
Developer Information
961
network.
Network Transport A Parameter sent in either direction for the purpose of transporting other ISDN User Part parameters transparently across transit exchanges.
Notification Indicator 1
Information Sent in either direction intended to provide supplementary service related notification to a user.
Notification Subscription Option 2
Information sent in the backward direction indicating that the diversion with or without redirection number can be presented to the calling user.
Number Incomplete Indicator 2
Information sent in the generic number parameter to indicate whether the delivered number is complete or incomplete.
Numbering Plan Indicator
Information sent in association with an address indicating the numbering plan used for that address (e.g., ISDN numbering plan).
Odd/Even Indicator Information sent in association with an address, indicating whether the number of address signals contained in the address is even or odd.
Operation Code 2/3 The operation code element indicates the precise operation to be invoked, and is present in an Invoke component type. It is also present in the Return Result component if the result contains parameters. The operation may be a local or global operation. A local operation can be used in one ASE only. The same global operation can be used in several different ASEs. The actual operation codes, the definition of the operations and their associated parameters, are defined in relevant supplementary service specifications.
Operator Services Information 1 Information sent in the forward direction between operator services entities primarily identifying charging and service type options.
Optional Backward Call Indicator 1
Information sent in the backward direction consisting of the in-band information indicator, the call forwarding may occur indicator and the user-network interaction indicator.
Original Called Number
Information sent in the forward direction to indicate, in the case of call redirection (e.g., call forwarding), the number of the user who initiated the initial redirection.
Original Redirecting Reason 1
Information sent in the forward direction indicating the forwarding condition for the original redirection.
Original Redirection Reason 2
Information sent in either direction indicating the reason why the call was originally redirected.
Originating Line Information 1
Information sent in the forward direction, indicating a toll class of service for the call.
MSP
962
Origination ISC Point Code 2
Information sent in the initial address message of an international call, indicating the point code of the originating ISC.
Outgoing Half Echo Control Device Request Indicator 2
Information sent to request the activation or deactivation of an outgoing half echo control device.
Outgoing Half Echo Control Device Response Indicator 2
Information sent to inform whether an outgoing half echo control device has been included or not.
Outgoing Trunk Group Number 1
Information sent in the backward direction indicating the trunk group selected at an outgoing gateway. For intra-network use only.
Parameter Compatibility Information 2
Information sent in either direction indicating how an exchange should react in case the parameter is unrecognized.
Party Selector 1 Information sent within a business group parameter to indicate the type of number to which the business group information applies.
Pass On Not Possible indicator 2
Information sent to inform another node on what action to take if “pass on” was requested due to compatibility reason but “pass on” was not possible due to interworking with pre-ISUP 1992 signaling.
Point Code Information sent in the call reference parameter indicating the code of the signaling point in which the call identity allocated to the call reference is relevant.
Precedence 1 Information sent in the forward direction in association with the invocation of the Multi-Level Precedence and Preemption (MIYP) supplementary service, consisting of the look-ahead for busy indication, the precedence level, network identity, and the MI2P service domain.
Precedence Level 1 Information sent in the precedence parameter indicating the precedence level of the call.
Precedence Level 2 Information sent in the forward direction to indicate the priority of the call.
Problem Code 2 The problem code element contains the reason for the rejection of a component and one such element is present in a Reject component. Four problem code elements are defined (General Problem, Invoke Problem, Return Result Problem, and Return Error Problem.)
Propagation Delay Counter 2
Information sent in the forward direction to indicate the propagation delay of a connection. This information is accumulated while the parameter is transferred through the network. The propagation delay information is represented by a counter counting in integer multiples of 1 ms.
Developer Information
963
Protocol Class Information sent in the connection request parameter indicating the protocol class requested by the signaling connection control part for the end-to-end connection
Protocol Control Indicator 1
Information consisting of the end-to-end method indicator, the interworking indicator, the end-to-end information indicator and the ISDN User Part indicator. The protocol control indicator is contained in both the forward and backward call indicators parameter fields and describes the signaling capabilities within the network connection.
Protocol Control Indicator 2
Information consisting of the end-to-end method indicator, the interworking indicator, the SCCP Method indicator and the ISDN User Part indicator. The protocol control indicator is contained in both the forward and backward call indicators parameter fields and describes the signaling capabilities within the network connection.
Protocol Profile 2/3 Information sent in either direction to indicate the protocol used in the Remote Operations parameter.
Range Information sent in a circuit group supervision message (e.g. Circuit Group Blocking) to indicate the range of circuits affected by the action in the message.
Range and Status 1 Information sent in either direction in circuit group supervision messages consisting of the range and status.
Redirecting Indicator 2
Information sent in either direction indicating whether the call has been diverted or rerouted and whether or not presentation of redirection information to the calling party is restricted.
Redirecting Number Information sent in the forward direction indicating the number from which the call was last redirected and consisting of the nature of address indicator, numbering plan indicator, address presentation restriction indicator, and address information (signals).
Redirecting Reason Information sent in the forward direction indicating the forwarding condition for the last redirection.
Redirection Counter Information sent in the forward direction indicating the number of forwardings undergone.
Redirection Indicator 2
Information sent to indicate whether the call has undergone diversion or rerouting. It also contains information about presentation restrictions.
Redirection Information
Information sent in the forward direction consisting of the original redirecting reason redirection counter and redirecting reason.
Redirection Number 2 Information sent in the backward direction indicating the number towards which the call must be rerouted or has
MSP
964
been forwarded.
Redirection Number Restriction Indicator 2
Information sent in the backward direction indicating whether the diverted-to user allows the presentation of his number.
Redirection Reason 2 Information sent in the call diversion information parameter and the redirection information parameter to indicate the reason for the redirection.
Reference nth Octet 2 (for further study)
Information sent in the generic reference parameter, expressing the reference number of the context given by the entity, which handles and provides the service.
Reference Qualifier Indicator 2 (for further study)
Information sent in the generic reference parameter, identifying the context that handles and provides service.
Release Call Indicator 2
Information sent to inform another node to release the call or not, by compatibility reasons, if the related message or parameter is unrecognized.
Remote Operations 3 The remote operations parameter is used to indicate the invocation of a supplementary service identified by an operation value and also carry the result or error indications depending on the outcome of the operation.
Routing Label Information provided to the message transfer part for the purpose of message routing.
Satellite Indicator Information sent in the forward direction indicating the number of satellite circuits in the connection.
SCCP Method Indicator
Information sent in the forward direction indicating the available SCCP methods, if any, for end-to-end transfer of information.
Screening Indicator Information sent in association with a number indicating whether the number was network or user provided, and if user provided, whether the network views the number as correctly identifying the user.
Send Notification Indicator 2
Information sent to inform another node to send notification, due to compatibility reason, if the related message or parameter is unrecognized.
Sequence 2/3 The sequence is an ordered set.
Service Activation 1 Information sent in either direction to indicate the invocation of one or more supplementary services.
Service Activation Parameter 2/3
Information sent in either direction to indicate the invocation, acceptance or rejection of supplementary services, when no service associated parameter is to be sent.
Service Code Information sent in the forward direction indicating a service code provided by the calling party.
Developer Information
965
Set 2/3 The Set element is used to contain a set of information elements accompanying a component. It is required in the case of more than one information element being included in a component. The information elements themselves are defined in relevant supplementary service specifications.
Signaling Point Code 2/3
Information sent in a release message to identify the signaling point in which the call failed.
Simple Segmentation Indicator 2
Information sent in either direction to indicate that additional information will be forwarded in an information message (unsolicited).
Solicited Information Indicator
Information sent in an information message to indicate whether or not the message is a response to an information request message
Special Processing Request 1
Information sent in the forward direction from a private network access node to service node in the public switched network to indicate that the call requires special processing at that node e.g. private network number translation or verification of authorization codes.
Status Information sent in a circuit group supervision message (e.g. Circuit Group Blocking) to indicate the specific circuits, within the range of circuits stated in the message, that are affected by the action specified in the message.
Sub-Group Identifier 1
Information sent within a business group parameter to indicate the identity of the subgroup of which the user identified by the corresponding number is a member.
Suspend/Resume Indicator
Information sent in the Suspend and Resume Messages to indicate whether suspend/resume was initiated by an ISDN subscriber or by the network.
Suspend/Resume Indicators 1
Information sent in either direction consisting of the suspend/resume indicator
Temporary Trunk Blocking After Release 2/3
Information sent to the exchange at the other end of a circuit (trunk) to indicate low level of congestion at the sending exchange and that the circuit (trunk) should not be re-occupied by the receiving exchange for a short period of time after release.
Transaction Request 1
Information sent in the Initial Address Message (lAM) to help continue call processing, using Transaction Capabilities (TC), associated with a given call during an assist or hand-off procedure.
Transfer Mode 1 Information sent in the forward direction indicating circuit or packet transfer mode.
Transit at Intermediate
Information sent to inform a transit node (Type B), whether it shall react on the rest of the instruction
MSP
966
Exchange Indicator 2 indicators or not, if the related message or parameter is unrecognized.
Transit Network Selection 3
Information sent in the forward direction indicating the transit network(s) requested for the routing of the call and consisting of the type of network identification, network identification plan, and network identification.
Transmission Medium Requirement 2
Information sent in the forward direction indicating the type of transmission medium required for the connection (e.g. 64Kbps unrestricted speech).
Transmission Medium Requirement Prime 2
Information sent in the forward direction indicating the fallback connection type in case of fallback.
Transmission Medium Used
Information sent in the backward direction indicating the resulting fallback connection type used for a call after the fallback has occurred.
Trunk Number 1 Information used for circuit validation to identify the trunk number of the Common Language circuit identification.
Type Indicator 2 Information sent to indicate the initiator for a circuit group supervision message, e.g., maintenance-oriented or hardware failure-oriented.
Type of Address 1 Information that specifies the type of address digits contained in a Generic Address parameter.
Type of Digits 3 Information that specifies the type of digits contained in a Generic Digits parameter.
Type of Network Identification 1
Information sent in the forward direction indicating the format of the transit network identification.
Type of Network Identification 2/3
Information sent to inform whether the identification of a network is by CCITT (ITU) standardization identification or by national network identification.
User Service Information
Information sent in the forward direction indicating the bearer capability requested by the calling party and including as a minimum, the coding standard and information transfer capability, transfer mode, and information transfer rate.
User Service Information Prime
Information sent in the forward direction indicating the preferred bearer capability requested by the calling party.
User Teleservice Information 2
Information sent in the initial address message indicating the Higher Layer Compatibility information requested by the calling party.
User-Network Interaction Indicator 1
Information sent in the backward direction to indicate that the sending exchange is collecting additional information from the calling party before routing the call further.
Developer Information
967
User-to-User Indicators
Information sent in association with the response to a request for user-to-user signaling supplementary service(s).
User-to-User Information
Information generated by a user and transferred transparently through the intermediate exchanges between the originating and terminating local exchanges.
MSP
968
ISUP Signaling Messages
Message Code
ID Description Purpose
ACM 0x06 Address Complete Message
Sent in the backward direction indicating that all required data has been received and the call set-up is progressing
ANM 0x09 Answer Message Sent in the backward direction to indicate that the called party has answered the call, may be used to trigger billing and call
BLA 0x15 Blocking Acknowledgment
Sent as a response to a BLO message indicating the identified circuit has
BLO 1 0x13 Blocking Sent for maintenance purposes to the exchange at the other end of the circuit to cause an engaged condition of that circuit (receive only)
CCL Calling Party Clear
CCR 0x11 Continuity Check Request
Sent to request a non-call-related continuity check on the identified circuit
CFN 0x2F Confusion Sent in response to any message (other than a confusion message) to indicate that all or part of a received message was unrecognized
CGB 0x18 Circuit Group Blocking
Sent for maintenance purposes to the exchange at the far end of a group of circuits to cause the engaged condition of those circuits
CGBA 0x1A Circuit Group Blocking Acknowledgment
Sent as a response to a CGB indicating that the identified group of circuits has been blocked to outgoing traffic
CGU 0x19 Circuit Group Unblocking
Sent to cancel the engaged condition of a group of circuits caused by a previously sent CGB message.
CGUA 0x1B Circuit Group Unblocking
Sent in response to a CGU indicating the identified group of
Developer Information
969
Acknowledgment circuits are now in the idle state
CMC 3 0x1D Call Modification Complete
Message sent in either direction to indicate that the call modification request has been accepted
CMR3 0x1C Call Modification Request
Message sent in either direction to request a change in the call characteristics
CMRJ 3 0x1E Call Modification Reject
Message sent in either direction to indicate that the call modification request has been rejected
CON 2 0x0F Connect Sent in the backward direction indicating that all the address signals required for routing the call to the called party have been received and that the call has been answered
COT 0x05 Continuity Sent in the forward direction to indicate the result of the completed continuity test
CPG 0x2C Call Progress Sent in either direction indicating that an event of significance to the originating or terminating access has occurred
CQM 3 0x2A Circuit Query Message
Sent on a routine or demand basis to request the exchange at the other end of a group of circuits give the state of the circuits within the specified range
CQR 3 0x2B Circuit Query Response
Sent in response to a CQM indicating the state of the previously identified group of circuits.
CRA 1 0xE9 Circuit Reservation Acknowledgment
Sent in the backward direction in response to a CRM indicating that the circuit has been reserved for an incoming call
CRG 2 0x31 Charge Information
Information sent in either direction for accounting and/or call charging purposes. national use only
CRM 1 0xEA Circuit Reservation
Message Sent in the forward direction only when interworking with exchange access MF signaling to reserve a circuit and
MSP
970
initiate any required continuity check
CVR 1 0xEB Circuit Validation Response Sent in response to a CVT to convey translation information for the indicated circuit
CVT 1 0xEC Circuit Validation Test
Sent on a routine or demand basis to request translation information for the identified circuit
DRS 2/3 0x27 Delayed Release Sent in either direction to indicate that the called or calling party has disconnected while the network is still holding the connection
En-block calls
Address digits are transmitted in one or more blocks.
In this form of signaling, address digits are transmitted in one or more blocks, and each block contains enough address information to enable the MSP 1010 to carry out forward routing.
EXM 1 0xED Exit Message Sent in the backward direction from an outgoing gateway exchange to indicate that the call has successfully progressed to the adjacent network
FAA 2 0x20 Facility Accept Sent in response to a facility request message indicating that the requested facility has been invoked
FAC 3 0x33 Facility Message Sent in either direction at any phase of a call to request an action at another exchange. Also used to carry the results, error or rejection of a previously requested action
FAR 2 0x1F Facility Request Sent from one exchange to another to request activation of a facility
FOT 0x08 Forward Transfer
Sent in the forward direction on semi-automatic calls when the operator wants the help of an operator at a distant exchange
FRJ 2 0x21 Facility Reject Sent in response to a facility request message indicating that the facility request has been rejected
Developer Information
971
GRA 0x29 Circuit Group Reset Acknowledgment
Sent in response to a GRS message to indicate the group of circuits have been realigned
GRS 0x17 Circuit Group Reset
Sent to align the state of a group of circuits, release any calls in progress remove any remotely blocked state.
IAM 0x01 Initial Address Message
Sent in the forward direction to initiate seizure of an outgoing circuit.
May also request continuity test on identified circuit
IDR 2 0x36 Identification Request
Sent in either direction to request an action regarding the malicious call identification supplementary service
IDS 2 0x37 Identification Response
Sent in response to the identification request message
INF 3 0x04 Information Sent to convey additional call-related information which may have been requested in the inr message
INR 3 0x03 Information Request
Sent by an exchange to request additional call related information
IRS Identification
LPA 3 Loopback Acknowledge
MCP Message Compatibility Procedure
MPM Meter Pulse Message
NRM 2 Network Resource Management
Sent in order to modify network resources associated with a certain call, sent along an established path in any direction in any phase of a call
OLM 2/3 Overload Message
Sent in the backward direction, on non-priority calls in response to an iam, to invoke temporary trunk blocking of the circuit concerned when the exchange generating the message is subject to load control
MSP
972
OPR Operator
PAM 3 0x28 Pass Along Message Sent in either direction to transfer information between two signaling points along the same signaling path as that used to establish a physical connection.
PCP Parameter Compatibility procedure
PDC Propagation Delay Counter
REL 0x0C Release Sent in either direction indicating that the circuit identified in the message is being released and the cause for the release
RES 0x0E Resume Sent in the backward direction to indicate re-answer from an interworking node or that a non-ISDN called party has gone off hook
RLC 0x10 Release Complete
Sent in either direction as a response to a release message or a reset circuit message to indicate that the circuit has been brought into the idle state
RSC 0x12 Reset Circuit Sent when an exchange does not know the state of a particular circuit and wants to release any call in progress, remove any remotely blocked state and align states
SAM 2 0x02 Subsequent Address Message
Sent in the forward direction to convey an additional segment of an overlength message after the IAM and before the ACM.
SGM 2 0x38 Segmentation Message
Sent in either direction to convey an additional segment of an overlength message
SUS 0x0D Suspend Sent in the backward direction to indicate clear back from an interworking exchange or a non-ISDN called party has gone on hook
TTB Temporary
Developer Information
973
Trunk Blocking
UBA 0x16 Unblocking Acknowledgment
Sent in response to a UBL indicating the identified circuit is now in the idle state
UBL 0x14 Unblocking Sent to cancel the engaged condition of a circuit caused by a previously sent BLO message
UCIC 3 0x2E Unequipped CIC Sent from one exchange to another when it receives a message that contains an unequipped circuit identification code
UPA 2 0x35 User Part Available
Sent in either direction as a response to a user part test message, to indicate that the user part is available
UPT 2 0x34 User Part Test Sent in either direction to test the status of a user part marked as independent of call control messages
USR 2 0x2D User-Defined Used for transport of user-to-user signaling independent of call control messages
1 Messages supported in ANSI only
2 Messages supported in ITU only
3 ITU - National use
MSP
974
Message Parameters
Overview
The ISUP parameters in this section are used in the SS7 ISUP Message Format Configure API message.
Definitions
The table below indicates the IDs and descriptions for ISUP parameters. Some parameters are marked with a number indicating the telecommunications standard supported by a parameter:
1ANSI
2ITU
The parameters that are not marked by a number are supported in both ANSI and ITU standards.
Parameter Name
ID Description
Access Delivery Information 2
0x2E Information sent in the backward direction indicating that a SETUP message was generated at the destination access.
Access Transport 0x03 Information generated on the access side of a call and transferred transparently in either direction between the originating and terminating local exchanges. The information is of significance to both users and local exchanges.
Automatic Congestion Level
0x27 Information optionally included in a Release Message and sent to the exchange at the other end of a circuit to indicate that a particular level of congestion exists at the sending exchange.
Backward Call Indicator (BCI)
0x11 Information sent in the backward direction consisting of the charge indicator, called party's status indicator, called party's category indicator, end-to-end method indicator, interworking indicator, end-to-end information indicator, ISDN User Part indicator, holding indicator, ISDN access indicator, echo control device indicator, and SCCP method indication.
Business Group 1
0xC6 Information sent in either direction to indicate the identity of the Multi-Location Business Group associated with a number (e.g. the Calling Party Number), the identity of a Subgroup within that Multilocation Business Group and the Line Privileges allocated to the number.
Call Diversion Information 2
0x36 Information sent in the backward direction indicating the redirection reason and the notification
Developer Information
975
subscription option of the redirecting user.
Call History Information 2
0x2D Information sent in the backward direction to indicate the accumulated propagation delay of a connection.
Call Reference 0x45 Circuit independent information identifying a particular call.
Called Party Number (CDPN)
0x04 Information sent in the forward direction to identify the called party and consisting of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
Calling Party Number (CGPN)
0x0A Information sent in the forward direction to identify the calling party and consisting of the odd/even indictor, nature of address indicator, numbering plan indicator, address presentation restriction indicator, screening indicator, and address signals.
Calling Party's Category (CPC)
0x09 Information sent in the forward direction indicating the category of the calling party, e.g. ordinary subscriber, test call.
Cause Indicators 0x12 Information sent in either direction consisting of the coding standard, location, cause value and diagnostics. It indicates the reason for sending the message in which it is contained, e.g. the Release, Address complete or Confusion messages, and identifies the network in which the message originated, e.g. local network, transit network, remote local network.
Charge Number 1
0xEB Information sent in either direction indicating the chargeable number for the call and consisting of the odd/even indicator, nature of address indicator, numbering plan indicator, and address signals.
Circuit Assignment Map 1
0x25 Information identifying the map format and the circuits in a multi-rate connection. For the DS 1 map format it identifies the DS0 circuits constituting a NxDS0 connection. The circuit assignment map is used only for NxDS0 calls when non-contiguous time slot allocation is used.
Circuit Group Characteristics Indicator 1
0xE5 Information sent in response to a request for circuit validation, indicating the characteristics of the concerned circuit group in terms of carrier type, double seizing control, alarm handling and continuity check requirements.
Circuit Group Message Supervision Message Type Indicator
0x15 Information sent in either direction in a circuit group supervision message and consisting of the circuit group blocking type indicator.
MSP
976
Circuit Identification Name 1
0xE8 Information identifying the exchanges on which a circuit group terminates and the number of each trunk within that group.
Circuit State Indicator
0x26 Information indicating the state of a circuit according to the sending exchange.
Circuit Validation Response Indicator
0xE6 Information indicating the far-end results of a circuit validation test.
Closed User Group Interlock Code 2
0x1A Information uniquely identifying a closed user group within a network.
Common Language Location Information Code (CLLI) 1
0xE9 Information used for circuit validation to identify a switching office by town, state, and building subdivision. (COMMON LANGUAGE is a registered trademark and CLLI is a trademark of Bell Communications Research, Inc.)
Connected Number 2
0x21 Information sent in the backward direction to identify the connected party.
Connection Request
0x0D Information sent in the forward direction on behalf of the Signaling Connection Control Part requesting the establishment of an end-to-end connection and consisting of the local reference, point code, protocol class, and credit.
Continuity Indicators
0x10 Information sent in the forward direction indicating whether or not the continuity check on the outgoing circuit was successful. A continuity check successful indication also implies continuity of the preceding circuits and successful verification of the path across the exchange with the specified degree of reliability.
Echo Control Information 2
0x37 Information sent in the forward direction indicating whether or not an outgoing half echo control device is included in the connection.
Egress 1 0xC3 Information sent in the forward direction by the first incoming exchange in the terminating exchange area, to indicate network specific attributes associated with the terminating exchange, e.g. the interexchange carrier, the point of interconnection, and type of terminating access service.
End of Optional Parameters
0x00 The end of optional parameters field indicates that there are no more optional parameters in the message.
Event Information
0x24 Information sent in either direction consisting of the event indicator and event presentation restriction indicator.
Facility 0x18 Information sent in facility related messages
Developer Information
977
Indicators 2 identifying the facility or facilities with which the message is concerned.
Forward Call Indicator
0x07 Information sent in the forward direction consisting of the incoming international call indicator, end-to-end method indicator, interworking indicator, end-to-end information indicator, ISDN User Part indicator, ISDN User Part preference indicator, ISDN access indicator, and SCCP method indicator.
Freephone Indicators 2
0x41 No description available.
Generic Address 1
0xC0 Information in the form of an address pertaining to a supplementary service (e.g., dialed number, destination number) and including type of address, nature of address and numbering plan indications.
Generic Digits 1 0xC1 Information in the form of digits pertaining to a supplementary service, (e.g. account code, authorization code, private network class mark) and including type of digits and encoding method indicators.
Generic Name 1 0xC7 Information sent in the forward direction containing specific name related information.
Generic Notification 2
0x2C Information sent in either direction intended to provide supplementary service notification to a user.
Generic Number 2
0xC0 A number information sent in either direction to enhance network operation or for supplementary services.
Generic Reference 2
(reserved) For further study.
Hop Counter (ITU – reserved)
0x3D Information sent in the forward direction to minimize the impact of lAM looping. The initial count determines the maximum number of contiguous SS7 interexchange circuits that are allowed to complete the call, assuming all subsequent intermediate exchanges decrement the hop counter.
Information Indicators
0x0F Information sent in either direction consisting of the calling party address response indicator, connected address response indicator, calling party's category response indicator, charge information response indicator, and solicited information indicator.
Information Request Indicators
0x0E Information sent in either direction consisting of the calling party address request indicator, connected address request indicator, calling party's category request indicator, charge information request indicator, malicious call identification request indicator, and holding indicator.
MSP
978
Jurisdiction 1 0xC4 Information sent in the forward direction indicating the geographic origination of the call.
Location Number 2
0x3F Information sent to indicate the location of a user in the term of an E.164 number.
MCID Request Indicator 2
0x3B Information sent in the backward direction to request the identity of the calling party for the purpose of malicious call identification.
MCID Response Indicator 2
0x3C Information sent in the forward direction to respond to a MCID request and indicating whether or not the MCID information is available.
Message Compatibility Information 2
0x38 Information sent in either direction indicating how an exchange should react in case this message is unrecognized.
MLPP Precedence 2
0x3A Information sent in the precedence parameter identifying the network resources to which the Multi-level Precedence and Preemption supplementary service is applicable for the call.
Nature of Connection Indicator
0x06 Information sent in the forward direction consisting of the satellite indicator, continuity check indicator, and echo control device indicator.
Network Specific Facilities 2
0x2F Service related information transparently transferred in either direction between the local exchange and the identified network, which contracts the service. The information is significant to both user and the identified network.
Network Transport 1
0xEF A Parameter sent in either direction for the purpose of transporting other ISDN User Part parameters transparently across transit exchanges.
Notification Indicator 1
0xE1 Information Sent in either direction intended to provide supplementary service related notification to a user.
Operator Services Information 1
0xC2 Information sent in the forward direction between operator services entities primarily identifying charging and service type options.
Optional Backward Call Indicators
0x29 Information sent in the backward direction consisting of the in-band information indicator, the call forwarding may occur indicator and the user-network interaction indicator.
Optional Forward Call Indicators 2
0x08 Information sent in the forward direction consisting of CUG, segmentation, and connected line identity request information.
Original Called Number
0x28 Information sent in the forward direction to indicate, in the case of call redirection (e.g., call forwarding), the number of the user who initiated the initial
Developer Information
979
redirection.
Originating Line Information (OLI) 1
0xEA Information sent in the forward direction, indicating a toll class of service for the call.
Origination ISC Point Code 2
0x2B Information sent in the initial address message of an international call, indicating the point code of the originating ISC.
Outgoing Trunk Group Number (OTGN)
Information sent in the backward direction indicating the trunk group selected at an outgoing gateway. For intra-network use only.
Parameter Compatibility Information 2
0x39 Information sent in either direction indicating how an exchange should react in case the parameter is unrecognized.
Precedence 1 0x3A Information sent in the forward direction in association with the invocation of the Multi-Level Precedence and Preemption (MIYP) supplementary service, consisting of the look-ahead for busy indication, the precedence level, network identity, and the MI2P service domain.
Propagation Delay Counter 2
0x31 Information sent in the forward direction to indicate the propagation delay of a connection. This information is accumulated while the parameter is transferred through the network. The propagation delay information is represented by a counter counting in integer multiples of 1 ms.
Range and Status (R&S)
0x16 Information sent in either direction in circuit group supervision messages consisting of the range and status.
Redirecting Number
0x0B Information sent in the forward direction indicating the number from which the call was last redirected and consisting of the nature of address indicator, numbering plan indicator, address presentation restriction indicator, and address information (signals).
Redirection Information
0x13 Information sent in the forward direction consisting of the original redirecting reason redirection counter and redirecting reason.
Redirection Number 2
0x0C Information sent in the backward direction indicating the number towards which the call must be rerouted or has been forwarded.
Redirection Number Restriction 2
0x40 Information sent in the backward direction indicating whether the diverted-to user allows the presentation of his number.
Remote Operations
0x32 The remote operations parameter is used to indicate the invocation of a supplementary service identified
MSP
980
by an operation value and also carry the result or error indications depending on the outcome of the operation.
Service Activation
0x33 Information sent in either direction to indicate the invocation, acceptance or rejection of supplementary services, when no service associated parameter is to be sent.
Signaling Point Code 2
0x1E Information sent in a release message to identify the signaling point in which the call failed.
Special Processing Request 1
0xE5 Information sent in the forward direction from a private network access node to service node in the public switched network to indicate that the call requires special processing at that node e.g. private network number translation or verification of authorization codes.
Subsequent Number 2
0x05 Information sent which includes E/O indicator, address signals and filler.
Suspend/Resume Indicators
0x22 Information sent in either direction consisting of the suspend/resume indicator
Transaction Request 1
0xE3 Information sent in the Initial Address Message (lAM) to help continue call processing, using Transaction Capabilities (TC), associated with a given call during an assist or hand-off procedure.
Transit Network Selection (TNS)
0x23 Information sent in the forward direction indicating the transit network(s) requested for the routing of the call and consisting of the type of network identification, network identification plan, and network identification.
Transmission Medium Requirement 2
0x02 Information sent in the forward direction indicating the type of transmission medium required for the connection (e.g. 64Kbps unrestricted speech).
Transmission Medium Requirement Prime 2
0x3E Information sent in the forward direction indicating the fallback connection type in case of fallback.
Transmission Medium Used
0x35 Information sent in the backward direction indicating the resulting fallback connection type used for a call after the fallback has occurred.
User Service Information (USI)
0x75 Information sent in the forward direction indicating the bearer capability requested by the calling party and including as a minimum the coding standard, information transfer capability, transfer mode, and information transfer rate.
User Service Information
0x30 Information sent in the forward direction indicating the preferred bearer capability requested by the
Developer Information
981
Prime calling party.
User Teleservice Information 2
0x34 Information sent in the initial address message indicating the Higher Layer Compatibility information requested by the calling party.
User-to-User Indicators
0x2A Information sent in association with the response to a request for user-to-user signaling supplementary service(s).
User-to-User Information
0x20 Information generated by a user and transferred transparently through the intermediate exchanges between the originating and terminating local exchanges.
MSP
982
Overlap Call Digit Collection
Overview
Overlap Call Digit Collection provides the capability for overlap calls to collect digits from multiple messages before forwarding them to the host, a capability normally reserved for En-bloc calls.
This feature supports the collection of digits received in a Subsequent Address Messages (SAM) and the inclusion of those digits in a single Request for Service (RFS) message sent to the host. Using this method, the RFS with Address Data is not sent to the host until the SETUP Initial Address Message (IAM) and all the SAMs have been received. Thus, the host is able to process an overlap call as though it were actually En-bloc.
The existing default method of digit collection, by contrast, sends an RFS with Address Digits and a partial Called Party number, followed by SAMs, which are represented as PPL Event Indications. The host has to wait for the additional digits to be processed before continuing its call setup.
This ITU-T variant provides the following expanded functionality:
The call setup process is made more efficient.
The number of API messages that must be exchanged between the switch and the host to set up a call are considerably reduced, which improves flow where there are large volumes of traffic.
This ISUP enhancement is backward compatible with previous versions of ISUP.
See the call flows on the following pages for descriptions of existing and new digit collection and for inter-digit timer events.
Configuration
The following configuration applies to the PPL information found in SS7 PPL Information (7-1):
The host configures the maximum number of digits the switch must receive before it sends the RFS message to the host.
The host uses a configuration byte to enable or disable this feature.
The host configures the PPL Timer.
Call Flows
Successful Handling of SAM in the Existing Implementation
Developer Information
983
1. A SETUP request is received with an insufficient number of digits.
2. The host sends a PPL Request to L3P CIC to enable the SAM Timer (T33) and wait for SAM.
3. When SAM is received, the SAM Timer (T33) is stopped and a SAM PPL Event Indication is sent to the host.
Expiry of SAM Timer in the Existing Implementation
1. A SETUP request is received with an insufficient number of digits.
2. The host sends a PPL Request to L3P CIC to enable the SAM Timer (T33) and wait for SAM.
3. If SAM is not received and the SAM Timer (T33) expires, a Call Failure PPL Event Indication is sent to L3P CIC, which then sends a Clear message to the host.
Successful Handling of SAM in the New Implementation
MSP
984
This call flow shows how the collection of digits is handled in SAM after the new functionality has been added.
1. A SETUP request is received with an insufficient number of digits for successful call translation.
2. The InterDigit Timer (T5) is started to wait for a SAM message.
3. If a SAM message is received before the expiry of the InterDigit Timer (T5), the timer is stopped. The digits collected are checked for the presence of the “End of dialing/digits” signal [i.e., the Signal Terminator (ST) default, set to 0x0F] which indicates that no more digits need to be received.
4. If the ST signal is not present in the digits of the SAM message received, or if the maximum number of digits is not received, the InterDigit Timer (T5) is started again.
5. Only on receipt of a SAM message containing the ST signal, an RFS containing the complete set of digits is sent to the host.
Important! While the SAM digit collection is occurring, if the host attempts to seize the circuit to make an outgoing call, the message will be NACKed.
Expiry of SAM Timer in the New Implementation
Developer Information
985
1. A SETUP request is received with an insufficient number of digits for successful call translation.
2. The InterDigit Timer (T5) is started to wait for a SAM message.
3. If a SAM message is received before the expiry of the InterDigit Timer (T5), the timer is stopped. The digits collected are checked for the presence of the ST signal, which indicates that no more digits need to be received.
4. If the ST signal is not present in the digits of the SAM message received, the InterDigit Timer (T5) is started again.
5. But if repeated SAMs do not contain the ST signal, or the number of digits received does not equal the maximum number of digits, the InterDigit Timer (T5) expires and an RFS is sent to the host containing the number of digits received in the IAM and SAM messages.
MSP
986
Automatic Congestion Control
Overview
Automatic Congestion Control (ACC) allows the MSP 1010 to handle the following:
local overloads
remote overloads
Local overload is the condition where the local SS7 stack on the MSP is overloaded. All incoming calls from the network and all Outseize Control requests from Layer 4 are throttled (rejected) and the MSP 1010 comes back to a load level to process steady call traffic.
Remote overload is the condition where a remote node is overloaded or there is a network congestion to the remote node. All Outseize Control requests from Layer 4 get throttled which brings that node to a lower load level.
In either case, for Outseize Control requests, Layer 4 receives an Access Denied Reason of 0x51 when the SS7 is overloaded locally or there is a remote overload at the destination of the call. Layer 4 releases the incoming side with the cause code of Congestion with ACL2.
Configuration
PPL Components
You use the following PPL Components to implement this feature:
ACC 0xA8 - Configuration Bytes and PPL Timers
SPRC 0x13 - Configuration Bytes and PPL Timers
In most cases, the parameter’s default value is appropriate but depending on the network, you might have to change some parameters.
Acceptance Rate and Automatic Congestion Level Values
The Automatic Congestion Level (ACL) values define the two overload levels that you can assign to a destination. For example you would assign a destination to have ACL Level 1 or ACL Level 2 overload.
The Acceptance Rate defines how many calls per second each ACL can handle before the calls are throttled.
You include the Acceptance Rate TLV (0x4E24) in the PPL Event Request (0x0044) API message to change the Acceptance Rate for each destination for either ACL levels. The Acceptance Rate is the number of call per second associated with the ACL.
Alarms
Developer Information
987
Refer to the Alarm (0x00B9) API message for information on four general alarms associated with this feature:
SS7 Signaling Network Congestion (0x0E)
ISDN/SS7 Signaling Stack Congestion (0x16)
Signaling Destination Congestion (0x3A)
Signaling Link Congestion (0x3B)
MSP
988
ISUP Remote Control
Overview
The ISDN User Part (ISUP) Remote Control feature provides the software architecture and configuration necessary for the host to provision all remote MSP 1010 nodes.
ISUP is the protocol used to support the signaling necessary to provide voice and non-voice services in telephone communications. It is an extension of SS7, used as the interface protocol for voice and data within, and for ingression or egression to/from the Public Switched Telephone Network (PSTN).
For example, when the MSP node server is provisioned, the host provisions the remote MSP nodes that communicate with it. This allows multiple MSPs to act as a logical switch in order to share resource information. An MSP, for example, with the SS7 component configured, can assign Circuit Identification Codes (CICs) to any span/channel of a remote MSP.
The actual voice channels or CICs, being controlled by the signaling links, must originate and terminate on the same remote node within the domain controlled by the host via the Server Node in the MSP.
Providing SS7 signaling within an MSP system essentially means that a local or remote SS7 stack can control voice circuits located within any node. This is accomplished by providing Ethernet connectivity between the host and remote MSPs in order to support messaging between L4 and the TDM to provide bearer traffic.
An MSP system with an SS7 stack is viewed by the network as a single Origination Point Code (OPC). The OPC is the address of the SS7 stack (network).
Host to Multi-Node Configuration
The following diagram illustrates a host controlled multi-node MSP system. Located in the Server Node, the SS7 stack is capable of controlling local as well as remote voice circuits. The SS7 signaling links terminate in the Server Node and the actual voice circuits can terminate within any node. The Ethernet connectivity enables the SS7 stack to layer L4 on remote nodes where the CICs reside.
Developer Information
989
Configuring the SS7 Stack
Purpose
This section describes the procedure for bringing the SS7 stack into service. It assumes that all hardware configuration and cabling is complete, that all nodes are powered up, and that a host-to-node communication link has been established.
This developer’s guide also provides detailed setup procedures for downloading system software, for establishing socket connections and for configuring nodes.
Before you begin
To ensure that the SS7 stack is operational before beginning the configuration procedure, do the following:
1. Modify the application, as required, to support SS7 control of CICs in multiple nodes that have a single Originating Point Code (OPC) in the Server Node.
2. Move the SS7 signaling links to the Server Node. Change the configuration as required.
MSP
990
3. When you configure the SS7 stack, perform the steps below, and use these steps as a guideline to your initial configuration.
Configuration Procedure
To configure the SS7 stack using ClientView, refer to Remote User, or follow the procedure below.
1. Assign the logical node IDs to MSPs.
Send the NGA Configure message (0x0130), Local Node Configure.
2. Download software licenses.
Send the NGA Configure message (0x0130), License Configure.
3. Provision remote node database.
Send the NGA Configure message (0x0130), Remote Node Configure.
4. Assign logical spans throughout the MSP.
Send the Assign Logical Span ID message (0x00A8) to assign spans to physical span offsets.
5. Configure the spans and channels corresponding to SS7 signaling links for clear channel.
Send either the E1 Span Configure message (0x00D8) or the T1 Span Configure message (0x00A9), depending on the protocol you use, to establish clear channel signaling.
6. Configure the SS7 Signaling Stacks with a stack ID, an Originating Point Code (OPC), and the variant to be used.
Send the SS7 Signaling Stack Configure message (0x005C) to assign the stack ID, OPC, and variant.
7. Configure the signaling link sets with a signaling link set ID to a given adjacent point code.
Send the SS7 Signaling Link Set Configure message (0x005D) to configure the link sets.
8. Configure the signaling links with the logical span/channel.
Send the SS7 Signaling Link Configure message (0x005E) to configure the links. The timeslot is provided off the local bus.
9. Configure the signaling routes and specify the relationship between a remote Destination Point Code (DPC) and the signaling links capable of reaching DPC.
Send the SS7 Signaling Route Configure message (0x005F) to configure the routes.
10. Assign the voice circuits and associate a set of span/channels with a set of Circuit Identification Codes (CICs) for a particular stack ID.
Send the SS7 CIC Configure message (0x006A) to configure CICs.
Based on the logical span ID, the node that owns the logical span is informed that the stack ID controlling the voice circuits is the stack assigned to control the CICs in the message.
Developer Information
991
11. Send Service State Configure for each of the following:
To bring: the spans into service.
To bring the SS7 links into service.
To bring the channels (CICs) into service.
Communication between SS7 stack and MSP Call Control components
The remote nodes sense that the stack is controlling their local voice channels by the SS7 Signaling Stack Configure message.
With this information, MSP Call Control can communicate with the stack controlling the voice channels, and the SS7 stack can communicate with any remote MSP Call Control components, based on the fact that every node knows the global span assignments, which determine local and remote connections. To make connections all nodes must have information about the spans on all other nodes. Since each span is given a unique ID, and all call connections occur via the combined information of channel and span IDs, global span assignment information is essential to every node.
MSP
992
Configuring ISUP Remote Control When Configuring SS7
Purpose
This section describes the procedure for bringing the SS7 stack into service including ISUP Remote Control. It assumes that all hardware configuration and cabling is complete, that all nodes are powered up, and that a host-to-node communication link has been established.
This developer’s guide also provides detailed setup procedures for downloading system software, for establishing socket connections and for configuring nodes.
Before you begin
To ensure that the SS7 stack is operational before beginning the configuration procedure, do the following:
1. Modify the application, as required, to support SS7 control of CICs in multiple nodes that have a single Originating Point Code (OPC) in the Server Node.
2. Move the SS7 signaling links to the Server Node. Change the configuration as required.
3. When you configure the SS7 stack, perform the steps below, and use these steps as a guideline to your initial configuration.
To configure a ISUP Remote User Part with ClientView, refer to Remote User.
To configure with the Excel API, follow the procedure below.
Configuration Procedure
1. Assign the logical node IDs to MSPs.
Send the NGA Configure message (0x0130), Local Node Configure.
2. Download software licenses.
Send the NGA Configure message (0x0130), License Configure.
3. Provision remote node database.
Send the NGA Configure message (0x0130), Remote Node Configure.
4. Assign logical spans throughout the MSP.
Send the Assign Logical Span ID message (0x00A8) to assign spans to physical span offsets.
5. Configure the spans and channels corresponding to SS7 signaling links for clear channel.
Send either the E1 Span Configure message (0x00D8) or the T1 Span Configure message (0x00A9), depending on the protocol you use, to establish clear channel signaling.
6. Configure the SS7 Signaling Stacks with a stack ID, an Originating Point Code (OPC), and the variant to be used.
Developer Information
993
Send the SS7 Signaling Stack Configure message (0x005C) to assign the stack ID, OPC, and variant.
7. Configure the signaling link sets with a signaling link set ID to a given adjacent point code.
Send the SS7 Signaling Link Set Configure message (0x005D) to configure the link sets.
8. Configure the signaling links with the logical span/channel.
Send the SS7 Signaling Link Configure message (0x005E) to configure the links. The timeslot is provided off the local bus.
9. Configure the signaling routes and specify the relationship between a remote Destination Point Code (DPC) and the signaling links capable of reaching DPC.
Send the SS7 Signaling Route Configure message (0x005F) to configure the routes.
10. Assign the voice circuits and associate a set of span/channels with a set of Circuit Identification Codes (CICs) for a particular stack ID.
Send the SS7 CIC Configure message (0x006A) to configure CICs.
Based on the logical span ID, the node that owns the logical span is informed that the stack ID controlling the voice circuits is the stack assigned to control the CICs in the message.
11. Send Service State Configure for each of the following:
To bring: the spans into service.
To bring the SS7 links into service.
To bring the channels (CICs) into service.
Developer Information
995
ITU
ITU ISUP Continuity
Overview
This feature provides the MSP ITU SS7 variants with a means to perform a continuity check to verify the integrity of the voice circuit between two exchanges before use of the circuit.
Specifications
The requirements for the Continuity Check on the outgoing circuit are provided in the following recommendations for the International Telecommunication Union (ITU):
ITU-T Q.724
ITU-T Q.761 Functional Description of the ISDN User Part of Signalling System No. 7
ITU-T Q.762 General Function of Messages and Signals of the ISDN User Part of Signalling System No. 7
ITU-T Q.763 Formats and Codes of the ISDN User Part of Signalling System No. 7
ITU-T Q.764 Signalling System No. 7 - ISDN User Part Signalling Procedures
Required DSP Equipment
A Call Progress Tone (CPT) transmitter, and a Call Progress Analysis (CPA) receiver of appropriate PCM encoding are required in order to perform outgoing continuity checks.
Implementation
The ISUP part of the SS7 stack has provisions for a continuity check on the outgoing side of the circuit. A continuity check is initiated with either the Continuity Check Request message to the network side, or the setting of the continuity check indicator bits in the Nature of Connection Indicators mandatory parameter field within the IAM message.
These initial messages allow the network side of the circuit to loop back the chosen circuit, so that continuity testing can be done on that circuit. The CCO component within ISUP executes a continuity test to determine if the circuit to be used has continuity before it is used.
A COT message containing the Continuity Indication is sent to the network side when testing is complete. This indication determines whether continuity exists on the circuit or whether more continuity testing is required.
If a Continuity Recheck procedure is running (CRCS for ITU), outgoing calls on the circuit are rejected with an error code of 0x0A.
Next Topic
Configuring ITU ISUP Continuity
MSP
996
Configuring ITU ISUP Continuity
Continuity Check
The Continuity Check feature is disabled by default. To enable it, use the PPL Configure (0x00D7) message to set configuration byte 0x87 for component L3P CIC (0x000F) as follows:
0x04 - enables continuity on the outgoing side
0x08 - enables continuity of the previous circuit
Continuity Recheck
The Continuity Recheck feature is enabled by default. The default number of retries is 2.
Use the PPL Configure (0x00D7) message to modify the configuration bytes for component ISUP CRCS (0x81) as follows:
Change configuration byte 0x0A to 0x00 to disable
Change configuration byte 0x0B to change the number of retries
Developer Information
997
ANSI
ANSI ISUP Continuity
Introduction
This section explains the various aspects of ISUP continuity procedure for ANSI as implemented in the MSP. It includes:
message flows between exchanges
the involvement of host application in each scenario
the timer involved and various configurable parameters
The ANSI specification T1.113.4, (section 2.1.6) is a reference for this information.
ISUP Continuity Check
Continuity check is performed to verify the integrity of the voice circuit between two exchanges before use of the circuit. An exchange can initiate a continuity check on a circuit intended to be used for a call by one of the following ways:
1. Sending an IAM (Initial Address Message) message with a Nature of Connection parameter having continuity check indicator bits set to "required on this circuit".
2. Sending a CCR (Continuity Check Request) on the circuit which fails the initial continuity test mentioned in 1.
3. Sending a CRM (Circuit Reservation Message) with the Nature of Connection parameter having continuity check indicator set to “required on this circuit”
The exchange does the following when it receives these messages:
1. Does a “loopback” on the circuit under test.
2. Starts timer T8 (15 s). Expiration of T8 timer causes the connection to be cleared with cause 41.
The originating Exchange tests the continuity of the circuit by, attaching a transceiver on the circuit under test, sending a tone and verifying that the same tone is received via the loop back.
The continuity test result is propagated to the destination exchange by an ISUP message called COT with the continuity indicator mandatory parameter set to "failed" or "passed".
Next Topic
Example - COT Success
MSP
998
Example - COT Success
The call flow below shows IAM from Exchange A with nature of connection parameter set to continuity required on this circuit followed by a COT (successful) message. Exchange A’s CPC component (0x12) sends a PPL event indication of Continuity Check Outgoing Success (0x07) to the host.
At the receiving side, the host receives a PPL event indication of COT indication in IAM (event 0x02) followed by a DS0 Status Change of 0x07 (Maintenance Loopback), Exchange B’s CPC component (0x12) starts timer T8 and goes into wait for COT state after receiving IAM with nature of connection parameter set to continuity required on this circuit. On receiving the COT (Success) message, the timer T8 is stopped, and the host is informed by sending a PPL event indication of COT success (event 0x02) followed by a DS0 Status Change of 0x02 (In-service) and subsequently the RFS with Data.
Components Involved
CPC (0x12)
Timers Involved:
T8: Wait for COT message
Next Topic
COT Failure
Developer Information
999
Example - COT Failure
The call flow below shows the IAM from Exchange A with nature of connection parameter set to continuity required on this circuit followed by a COT (fail) message.
Exchange A’s CPC component (0x12) sends a PPL event indication of Continuity Check Outgoing Failure (0x08) to the host and starts the CRO (Continuity Recheck Outgoing) procedure. The host will receive an Outseize Control NACK of 0x1b to its Outseize Control message, and subsequently a Channel Released message (0x49).
The host should not consider this channel idle. Attempts to send subsequent Outseize Control messages will result in a 0x0a NACK (Continuity Recheck Running)
The CRO component (0x83) takes over from this point and automatically sends a CCR (Continuity Check Required) message to Exchange B.
This time the continuity test passed and the CCR is followed by REL message. The host (Host A) is informed of this by a PPL event indication of 1st Continuity Recheck attempt successful (0x05) from the CRO component (0x83).
On the inbound leg, Exchange B’s CPC component sends a PPL event indication of COT failure (0x03) to the host on receiving the COT (failed) message and starts the CRI (Continuity Recheck Incoming) procedure. The CRI component (0x15) takes over from this point. The CRI component, upon receiving the CCR message, applies a loopback on the circuit sends LPA (Loopback Acknowledgement) and waits for REL or COT message. A REL message implies that the continuity check was successful and the circuit is put in idle state. A COT message implies that the COT failed. This causes the CRI component to go in wait for CCR state and the whole procedure is repeated.
MSP
1000
Components involved:
CPC(0x12)
CRI(0x15)
CRO(0x83)
Timers involved:
CRI:
T-CCR: Wait for CCR message
T-34: Wait for COT report or REL message
T-27: Wait for continuity Recheck (second CCR message)
CPC:
T8: Wait for COT message
CRO:
T25: Wait before starting the repeat continuity check after continuity failed
Notes:
Upon a successful continuity test after CCR message, the originating exchange does not send a COT (pass) message but a release message.
Developer Information
1001
A Call Progress Tone (CPT) transmitter and a Call Progress Analysis (CPA) receiver of appropriate PCM encoding are required in order to perform outgoing continuity checks.
Host B is intimated about the incoming call before or after the COT result depending upon the value of config byte 0x09 of the CPC component 0x12. See Continuity check on previous circuit for more information.
Next Topic
Example - T8 Expiration
MSP
1002
Example - T8 Expiration
When, due to some reason, Exchange A fails to send a COT report to Exchange B within T8 seconds (default value 15 seconds), Exchange B sends a REL message to Exchange A with a cause of temporary failure as shown in the call flow below.
Developer Information
1003
Continutiy Check Request (CCR)
A COT fail message followed by CCR messages (after T25 of the COT-fail) is sent to Exchange B in case the continuity test fails after the first CCR message. CCR message is sent repeatedly in such cases (repeated COT failures) after every T26 seconds (timer value).
The Repeated continuity check will only be finished when continuity is detected (that is, continuity test passes) or manual intervention occurs.
Next Topic
Example - Repeated COT Failure
MSP
1004
Example - Repeated COT Failure
As shown in the call flow below, in the case of repeated failures the CRO component repeatedly sends CCR to the destination exchange. The first recheck result is indicated to the host by the PPL event indication of “1st Continuity Recheck attempt failure” (0x03) from the CRO component (0x83) and the subsequent failures are indicated by “Continuity Recheck attempt failure” (0x04).
At Exchange A, the host will receive an Outseize Control NACK of 0x1b to its Outseize Control message (0x002C), and subsequently a Channel Released (0x0049) message .
The host should not consider this channel idle. Attempts to send subsequent Outseize Control messages will result in a 0x0a NACK (Continuity Recheck Running). Upon reception of “Continuity Recheck attempt failure” (0x04) indication, the host may choose to stop the Recheck procedures by sending a “Manual Stop” PPL Event Request of 0x40 to component L3PCIC (0x000f).
Exchange A will send a REL message to clear the circuit, and the host will receive a PPL Event Request of 0x01 “Subsequent Continuity Recheck attempt successful” (0x01) from component 0x0083 (CRO). This request is slightly misleading since the recheck was technically not successful in terms of a check tone. The host must recognize that this event is in response to its request to stop the proceedings.
At Exchange B, a success in one of the subsequent attempts is informed by a PPL event indication of “Subsequent Continuity Recheck attempt successful” (0x01). During this time, the inbound circuit will be placed in a Maintenance Loopback state indicated by a DS0 Status Change of 0x07. A DS0 Status Change of 0x02 will notify the host at Exchange B of the completion of continuity checks.
To avoid getting into an infinite loop in case of repeated failures, the MSP gives an option of limiting the continuity checks.
The default behavior of the MSP is to initiate a CCR message after a failed COT and try it four times in case the subsequent continuity checks fail. You can modify the default of 4 retries on the MSP by changing the CRO configuration byte 0x0b value from 2 (two mandatory + 2 default configuration byte = 2 total default) and retaining the default value of configuration byte 0x0a as 1 (which means that stopping of repeated continuity checks is enabled).
Changing configuration byte 0x0a to 0x00 means that the continuity check retries will only stop when continuity is detected (that is continuity test passes) or manual intervention occurs. In this case configuration byte 0x0b is not considered.
Developer Information
1005
Components involved:
CPC(0x12)
CRI(0x15)
CRO(0x83)
Timers involved:
CRI:
T-CCR: Wait for CCR message
T-34: Wait for COT report or REL message
T-27: Wait for continuity Recheck ( second CCR message)
CPC:
T8: Wait for COT message
CRO:
T25: Wait before starting the repeat continuity check after continuity failed
T26: Wait before doing repeated continuity check after subsequent continuity failures
Configuration Bytes
CRO: Continuity Recheck Outgoing (0x83)
Byte Usage Description Options (* default)
MSP
1006
0x0A Stop Continuous Continuity Recheck 0x00 = No
0x-1 = Yes (default)
0x0B Number of Times to Recheck 2 (default)
Continuity Recheck
In case of continuity recheck, the MSP, as recommended by ANSI, sends a COT success report to the destination exchange (and to the CRO component) only when the continuity test is stopped by the CRO component (this is typically done by manual intervention).
At the destination exchange the COT-pass message is misleading in such cases (since the continuity has not actually passed). In view of this, the MSP does not wait for a COT pass message in the CRI component. It just waits for REL which implicitly conveys a successful COT report. Any COT report (fail or pass) coming from the originating exchange is considered as fail at the destination exchange CRI and the MSP keeps waiting for release or timer expiration.
Next Topic
Example - COT Check on Previous Circuit
Developer Information
1007
Continuity on Previous Circuit
When an exchange receives an IAM-continuity check required message, it can do the following:
Choose to wait for the COT-success result before propagating the IAM.
Choose to propagate an incoming "IAM with continuity required", without waiting for the COT result. The outgoing IAM in this case will have the NOC parameter set to continuity check on a previous circuit.
The MSP makes this decision based on the configuration byte 0x09 in the CPC component (0x12). Setting this configuration byte to 0x01 allows the MSP to send the RFS to the host upon receiving an IAM with continuity request. The host can then propagate this IAM with NoC set to continuity check on a previous circuit. If the configuration byte is set to 0x00, the RFS is sent to the host only after a COT- success is received.
Both these cases are shown in the call flows in corresponding example.
Notes
When changing the configuration byte 0x09 in component 0x12 to 0x01, configuration byte 0x2b in component 0x0f must also be set to 0x01.
The host should not try to send any call processing API on the circuit where incoming Continuity Check is being performed, until continuity check results (of pass) are received in the form of a PPL Event Indication.
Exchange B will propagate the COT coming from Exchange A only if it is COT –passed. In case, Exchange B receives COT-fail from Exchange A, it is not propagated to Exchange C and Exchange C clears the call upon the expiration of timer T8.
Next Topic
Example - Continuity Check on Previous Circuit
MSP
1008
Example - Continuity Check on Previous Circuit
In the call flow below, Exchange B waits for COT results before propagating the IAM.
On component 0x12, configuration byte 0x09 is set to 0x00, send RFS after continuity is perfomed.
On component 0x0F, configuration byte 0x2B is set to 0x00, send DS0 status change of Channel Out of Service (Loopback) to the host.
Call Outs
1. The IAM with continuity check is required on this circuit.
2. The PPL Event Indication of 0x01 from component 0x12 (IAM received with the Continuity Check indicator set.)
3. The DS0 status change of OOS (maintenance loopback) is sent only if configuration byte 0x2B of component 0x0F is set to 0x00.
4. The ISUO message of COT success is sent.
5. The PPL Event Indication 0x02 from component 0x12 (COT success from CPC).
6. DS0 status change of in-service.
7. RFS (Request For Service) from L4 to host.
8. Outseize Control message from host to L4.
9. IAM (continuity check not required).
Developer Information
1009
Call Outs
1. IAM (continuity check on this circuit)
2. PPL Event Indication of 0x01 from component 0x12 (IAM received with Continuity Check indicator set.)
3. RFS (Request for Service) from L4 to host. This is sent without waiting for a COT success message as configuration byte 0x09 is set to 0x01
4. Outseize Control message.
5. IAM (continuity check on previous circuit).
6. COT success.
7. PPL Event Indication of 0x02 from component 0x12 (COT success).
8. PPL Event Request 0x0D from component 0x0F (COT success).
9. COT success propagated.
In the following call flow, Exchange B propagates IAM with continuity test on previous circuit. COT failure is not propagated to the destination exchange.
MSP
1010
Call Outs
1. IAM (continuity check on this circuit).
2. PPL Event Indication of 0x01 from component 0x12 (IAM received with Continuity Check indicator set).
3. RFS (Request for Service) from L4 to host. This message is sent without waiting for a COT success message as configuration byte 0x09 is set to 0x01.
4. Outseize Control message.
5. IAM (continuity check on previous circuit).
6. COT failure.
7. PPL Event Indication of COT fail.
8. Channel release (0x0049).
9. RSC (Reset Circuit).
10. RLC (Release Complete).
11. REL (temp failure) on T8 expiration on Exchange C.
12. RLC (Release Complete).
Components involved:
CPC (0x12)
L3P CIC (0x0F)
Timers Involved
CPC
T8: Wait for COT message
Configuration Bytes Involved
Developer Information
1011
CPC: Call Processing Control (0x12)
Byte Usage Description Options (* default)
0x09 Send RFS to the host after incoming continuity result is received. When setting this byte to 0x01, the host should not try to send any call processing API messages on the circuit where incoming Continuity Check is performed - until the continuity check results are received in the form of a PPL Event Indication.
0x00* = Send RFS after continuity has been performed (default)
0x01 = Send RFS before continuity has been performed.
L3P CIC (0x0F)
Byte Usage Description Options (* default)
0x2B Send RFS to host before incoming continuity result is received and connect the loopback without OOS. In this case, the host should not try to send any other call processing messages on the circuit where an incoming continuity check is being performed - until the continuity check results are received in the form of PPL Event Indication.
0x00* = Send DS0 status change of Channel Out of Service (Loopback) to the host.
0x01 = Do not send DS0 status change of Channel Out of Service (Loopback) to the host.
MSP
1012
Incoming and Outgoing Continuity
In some cases, both the incoming and outgoing legs of a call have continuity required on the circuit as shown in the call flow in the example. See Example - Incoming and Outgoing Continuity.
In such cases Exchange B can determine if it wants to wait for a COT success message from Exchange A before sending a COT success message to Exchange C.
In case Exchange B wants to wait for incoming COT report before sending an outgoing COT success, Exchange C will get a combined COT success for the continuity check required for this circuit and the previous circuit.
1. Exchange C receives a COT success message: Means that the continuity of this circuit (between B and C) AND all the preceding circuits for which the continuity test was in progress (like between A and B) has been verified.
2. Exchange C receives a COT failure message: Means that continuity on this circuit (between B and C) has failed
3. Exchange C does not receive a COT message: Means that a previous circuit (like between A and B) might have failed the continuity test. Exchange C does not need to know which circuit failed as long as it is not its own (in which case it is required to start a continuity recheck loop back)
If the Exchange B chooses not to wait for the continuity success message, Exchange B will send a COT success or failed message as soon as the continuity test between B and C is done and the call will proceed beyond Exchange C (in case the COT was successful). There can be two cases here:
1. If Continuity test passes between Exchanges B and C but fails between Exchanges A and B, then Exchange B incoming side will release the call and sends a PPL Event Indication of COT failure to the host. On the outgoing side (between B and C), the onus lies with the host to release the call and free the outgoing circuit.
2. If Continuity test passes between Exchanges B and C and between Exchanges A and B, Exchange B should not propagate the COT message received to the outgoing side and should let the call complete.
Next Topic
Example - Incoming and Outgoing Continuity
Developer Information
1013
Example - Incoming and Outgoing Continuity
The host sends a PPL event request of 0x0C to component L3P CIC component (0x0F) to make the MSP (Exchange B) wait for the incoming COT report (from Exchange A) before sending COT success to Exchange C.
At Exchange B the host passes information of the incoming COT report to the outgoing L3P (and hence CPC) component by sending a PPL event request of 0x0d to the L3P component. This request conveys an incoming COT success.
Exchange B propagates COT success only when both inbound and outbound continuity tests pass.
1. IAM (continuity check on this circuit)
2. PPL event indication of 0x01 from component 0x12 (IAM received with Continuity Check indicator set)
3. RFS (Request For Service) from the MSP to the host. This is sent without waiting for a COT success message as config byte 0x09 is set to 0x01
4. Outseize Control message
5. PPL Event Request 0x0c from component 0x0f to indicate CPC to wait for incoming COT report when continuity check is being performed on previous circuit AND this circuit (i.e. both incoming and outgoing continuity are being performed).
6. IAM (continuity check on this circuit)
7. COT success
8. PPL event indication of 0x02 from component 0x12 (COT success)
9. PPL event request 0x0d from component 0x0f (COT success).
10. COT success propagated. This is sent only after a successful continuity test is done on circuits between Exchanges B & C and between A & B.
MSP
1014
Exchange B does not propagate COT when the inbound COT fails.
1. IAM (continuity check on this circuit)
2. PPL event indication of 0x01 from component 0x12 ( IAM received with Continuity Check indicator set )
3. RFS (Request For Service) from L4 to host. This is sent without waiting for a COT success message as config byte 0x09 is set to 0x01
4. Outseize control message
5. PPL event Request 0x0c from component 0x0f to indicate CPC to wait for incoming COT report when continuity check is being performed on previous circuit AND this circuit (i.e. both incoming and outgoing continuity are being performed).
6. IAM (continuity check on this circuit)
7. COT Failure
8. PPL event indication of 0x03 from component 0x12 (COT failure)
9. Channel released (0x0049)
10. RSC (Reset Circuit)
11. RLC (Release Complete)
12. REL (temp failure) on T8 expiration on Exchange C
13. RLC (Release Complete)
Components Involved
CPC (0x0012)
L3P CIC (0x000F)
Timers Involved
MSP
1016
PPL Information for Continuity
This topic summarizes the PPL information used for continuity:
Event Requests
Event Indications
Configuration Bytes
Timers
PPL Event Requests
From: Host
To: L3PCIC (0x000F)
Event ID Event Description
0x0C Indicate CPC to wait for incoming COT report when continuity check is being performed on a previous circuit.
0x0D Send incoming continuity check report if continuity check was performed on previous circuit.
PPL Event Indications
From: Call Processing Control (0x12)
To: Host
Event ID Event Description
0x01 Continuity indication in IAM. (Note: The host will also receive a DS0 status change as the channel is automatically brought OOS to perform the continuity test.)
0x02 COT success (incoming)
0x03 COT failure (incoming)
0x04 T8 expiration
0x05 REL received while waiting for Continuity Check
0x07 Continuity Check Outgoing Success
0x08 Continuity Check Outgoing Failure
FROM: Continuity Recheck Outgoing (0x83)
TO: Host
Event ID Event Description
Developer Information
1017
0x01 Subsequent Continuity Recheck attempt successful
0x03 First Continuity Recheck attempt failure
0x04 Continuity Recheck attempt failure
0x05 First Continuity Recheck attempt successful.
PPL Configuration Bytes
Call Processing Control 0x12
Byte Usage Description
Options (*default)
0x09 Send RFS to host after incoming continuity result is received. When setting this byte to 0x01, the host should not try to send any call processing API on the circuit where incoming Continuity Check is being performed, until continuity check results are received in the form of PPL Event Indication.
0x00* = Send RFS after Continuity (default) has been performed0x01 = Send RFS beforeContinuity has been performed
L3PCIC (0x000F)
Byte Usage Description Options (*default)
0x2B Send RFS to host before incoming continuity result is received and connect loopback without OOS. In this case, the host should not try to send any other call processing API on the circuit where an incoming continuity check is being performed, until the continuity check results are received in the form of PPL Event Indication
0x00* = Send DS0 status change of Channel Out of Service (Loopback) to the host (default)
0x01 = Do not send DS0 status change of Channel Out of Service (Loopback) to the host
Continuity Recheck Outgoing (0x83)
Byte Usage Description Options (*default)
0x0A Stop Continuous Continuity Recheck 0x00=Enables unlimited repeated continuity checks
0x01= Limits the repeated continuity checks to n+2 times where N is the value of config byte
MSP
1018
0x0B.
(default)
0x0B Number of Times to Recheck 2 (default)
PPL Timers
Call Processing Control (0x12)
Timer ID Default Value Description
0x01 (T8) 15 s Wait for COT message
Continuity Check Outgoing (0x14)
Timer ID Default Value Description
0x18 (T24)
2 s
Continuity Recheck Incoming (0x15)
Timer ID Default Value Description
0x01 (TCCR)
20s Wait for CCR message
0x02 (T27) 180s Wait for COT report (repeated recheck)
0x03 15s Wait for COT report
Continuity Recheck Outgoing (0x83)
Timer ID Default Value Description
0x01 (T1) 15s
0x19 (T25)
10s Wait before sending CCR after first COT fail
0x0A (T26)
180s Wait before sending subsequent CCR after subsequent COT fail
Developer Information
1019
Host Controlled Continuity
The continuity feature as implemented on the MSP may prove ineffective when the host wants to specifically take control of the continuity procedure. A typical example where this may be required is in situations where the Voice circuits and Signaling links do not reside on the same MSP or where the voice circuits being used for the call are virtual circuits. This section mentions the changes made in the ISUP layer to implement Host controlled Continuity Check procedure.
Host controlled continuity has been implemented in a way that it does not impact the existing COT procedure. A configuration byte 0xCC has been introduced in the CPC components of ISUP, which when left to its default value of 00 will leave the existing continuity procedure as it is. When this configuration byte is changed to 01, the following changes in functionality take place:
All COT processing in CPC is bypassed.
All COT related inter-component messaging is bypassed.
The COT, CCR and LPA (ANSI) messages received by SPRC are directly propagated to the Host via the CPC. This introduces new PPL event indications to the Host.
The host will now be able to send PPL event requests for COT, CCR and LPA.
The onus of performing the continuity test and sending the COT (success/failure) to the MSP is on the host application. MSP has no control and no involvement in the continuity test procedure.
MSP
1020
Monitoring SS7
Introduction to SS7 Monitoring
Overview
The MSP 1010 has the ability to monitor SS7 links. It allows you to set up monitoring links on a host to receive SS7 traffic. In doing this, Message Signal Units (MSUs) are sent directly to the host with no intervention by an operator or intrusion into communications. The signaling data that is received by the MSP 1010 is intercepted and interpreted automatically and in real time. Since there is no transmission allowed on the monitoring links, these links do not interfere with the "live" SS7 links — the links that are being monitored. The SS7 monitoring software module is capable of monitoring E1 and T1. The SS7 monitoring module supports ITU, ANSI, China MTP and Japan MTP. The SS7 monitoring module and the high impedance spans co-exist with low impedance spans without any interference — monitoring links co-exist with duplex SS7 links.
Licensing
SS7 Monitoring Links are licensed in increments of 16 links up to 64.This license is available to enable the monitoring feature only if the MSP 1010 includes the base SS7 protocol license.
Performance & Capacity
The MSP 1010 supports passive monitoring of up to 64 bi-directional signaling links or 128 Rx channels.
Supportability
You can use one query to provide information about the following elements:
Spans' configuration (whether it is high impedance or low impedance) for all the spans.
SS7 links' configuration (whether it is a bi-directional link or monitoring link) for all the links.
Applications
Various applications can make use of the MSP 1010 SS7 monitoring feature. Among them are the following:
Traffic Engineering & Network Planning
Welcome Message
Missed call alert
Location Based Services
Interconnections Arbitration
Fraud Detection and Control via Real-Time Call Detail Records
Optimal Routing
Developer Information
1021
SS7 Message Analysis
Traffic Engineering & Network Planning
This application gives continuous real-time measurements on SS7 traffic across the network, providing immediate warning of abnormal activity that threatens network performance. This allows immediate action to be taken to avoid catastrophic failure. An immediate alert is produced when any of the operator set thresholds are breached.
Welcome Message
The Welcome Message is an attractive family of services, which service provider looking forward to capture the roamer to log on into their network. The Welcome message may be implemented for useful information such as weather forecasts currency exchange rates and local favorites to be sent periodically to the roamer during his/her stay in the visiting country. The application provides means for service provider to reach out to both the inbound and outbound roamers, providing them with customized information, thereby improving service experience for the mobile roamer and increases their loyalty towards the service provider.
Missed call alert
By monitoring the signaling links between the MSCs, the application is capable to detect missed call and to alert the subscriber by sending an SMS. By offering this application, operators can increase the minutes per subscriber and to increase the revenue per subscriber.
Location Based Services
With this service, mobile operators can offer enterprises a chance to promote their company's presence to mobile subscribers who are in the same area. Whenever a mobile subscriber moves between two different areas of the mobile network, the Mobile Station (MS) would send a Location Update to the network. When the application detects this, it will search in the database for any advertisement to promote to this customer.
Interconnections Arbitration
This application provides a tool for interconnection arbitration for telecommunication operators. This application can be used for arbitration for Voice Traffic or SMS traffic. Some operators use it as an "Auditing" tool of existing billing or call detail records generated from a network's switches.
Fraud Detection and Control via Real-Time Call Detail Records
This application can substantially reduce telecommunication fraud losses by detecting fraud as it takes place. After a call detail record is created, it is analyzed and matches against a table of user configurable threshold and scenarios. Fraud alerts are generated when matches are detected. These trigger the fraud management system to take action in real-time and shut down any fraudulent acts.
MSP
1022
Optimal Routing
This application is an innovative mobile service that encourages roaming subscriber from any foreign country to stay in the Roamed Mobile Operator's network. The application offers a more cost-effective way to make calls to an Inbound Roamer by bypassing the International Direct Dialing paths via the roamer's home network. It provides extra incentives for inbound roamers to stay with an operator's mobile network, increases revenue to operators arising from more calls to roamers, reduces costs and higher margins for calls to roamers and better quality calls for roamers. The Mobile Operator can then make the network their preferred choice and generate more revenue from the inbound roamers with the Optimal Routing Services.
Developer Information
1023
SwitchKit Support
Excel’s SwitchKit supports the SS7 monitoring capability on the MSP 1010. Connectivity between SwitchKit and the MSP 1010 use the existing operations, administration and maintenance (OA&M) host link and API methodology (i.e. MSP1010 server sockets: 0x3142, 0x3143 or 0x3144). The SS7 monitoring feature can be configured and maintained using the SwitchKit graphical user interface, ClientView. See Example Configuration for SS7 Monitoring. If you do not use SwitchKit as the OA&M sub-system, you can deploy your own implementation. Monitor applications (MAs) will serve network sockets for receiving data without utilizing LLC. The MSP 1010 will initiate client connections to MAs as directed through OA&M directive. The customer is free to co-locate or distribute MAs as their individual requirements dictate. Some MAs will require precision time stamps of monitored events. Connectivity to a customer provided NTP server would be necessary for those applications.
The next diagram demonstrates the relationship of monitoring applications, SwitchKit components, the MSP1010 and the external SS7 signaling network elements.
MSP
1024
Hardware Specifications
The 21 E1/28 T1 spans on the MSP can be configured to high impedance for monitoring SS7 traffic, or low impedance for live SS7 links. It also supports combined configuration: high and low impedance for applications that monitor and transmit SS7 traffic. The flexible MSP architecture allows configuring the span's impedance per single span. The clock module allows recovering the clock from high-impedance spans as well as low-impedance spans. The monitoring product uses the same existing clock mechanism as the MSP-1010.
Developer Information
1025
The Structure of SS7 Messages
The task of monitoring SS7 signaling is basically performed through detecting MTP2 messages and forwarding part of those messages to the host. Each forwarded message is time-stamped in millisecond accuracy. Each message contains the identity of the signaling channel being monitored. This ID is required for the application in order to match messages with their replies.
There are three types of signal units in the SS7 MTP protocol, differentiated by means of the length indicator contained in all signals. Here are the three types (ITU only):
Message Signal Unit (MSU)
Link Status Signal Unit (LSSU)
Fill-in Signal Unit (FISU)
Message Signal Unit (MSU)
The Message Signal Unit (MSU) is used to carry the signaling information between user parts. The MSU is re-transmitted when an error is detected. There are also MSUs that are used for signaling network management and signaling network testing and maintenance.
This signal unit is distinguished by the value of the length indicator (LI). All signal units with LI > 2 are MSUs. The MSU is forwarded to the application without the following fields:
Flag (F) - In the beginning and the end of the MSU.
Check bits (CK)
The rest of the fields: BSN, BIB, FSN, FIB, LI (including the 2 empty bits), SIO and SIF are passed to the application. The software enables the user to filter retransmitted MSUs (See Filtering for Relevant Messages).
Link Status Signal Unit (LSSU)
The LSSU is used for starting up the link and carries the information about the link status. The LI value in LSSU is 1 or 2. The user can filter the LSSU signal units, if these messages are not of the interest of the application (See Filtering for Relevant Messages.).
Fill-in Signal Unit (FISU)
MSP
1026
Fill In Signal Unit (FISU) is used for error supervision of the link and for keeping the link running when there are no MSUs to be sent. The LI value of FISU signaling unit is zero. The user can filter the LSSU signal units, if these messages are not of the interest of the application (See Filtering for Relevant Messages).
Developer Information
1027
Filtering
To prevent host overload, a filtering module removes irrelevant messages and forwards only the messages of interest to the host application. The filtering module allows maintaining four different filter profiles. Filters can be set to filter the following:
Non-acknowledged MSUs
FISU messages
LSSU messages
User Part types
Specific OPC and / or specific DPC
Combined point code and user part type
Filtering Non-acknowledged MSUs
To ensure proper delivery of MSUs, the MTP2 protocol retransmits any MSU received with error (LSSU are not retransmitted). The acknowledgement is sent in the response message, in the BIB (Backward Indicator Bit) and BSN (Backward Sequence Number) fields in MTP2 header, as specified in ITU Q.703. Two retransmission mechanisms are specified in ITU Q.703. The filter complies with both mechanisms:
Basic Error Correction Method (Q.703, clause 5)
This mechanism obligates the filtering module to retain the transmitted MSU until it receives the acknowledgement in the response message. It also has to know the link ID of the Rx and Tx of the monitored SS7 link, in order to capture the response. In order to avoid retaining messages endlessly, a timer is triggered for each message (the same value as T7 in Q.703 is recommended). The timer value is configurable, and allows proper functioning of different SS7 links (different propagation delays).
Preventive Cyclic Retransmission (Q.703, clause 6)
The Preventive Cyclic Retransmission (PCR) mechanism re-transmits MSUs already sent, though not yet acknowledged. PCR takes place whenever there are no new MSUs or LSSUs available to be sent.
Filtering FISU messages
The filtering module allows the user to discard FISU messages.
Filtering LSSU messages
The filtering module allows the user to discard LSSU messages.
Filtering User Part types
MSP
1028
The filtering module allows the user to select only the desired MSUs and to forward them to the application. The rest of the MSUs are discarded. The filtering criteria are set in the "Service Indicator (SI)" in the SIO field. The following options are available to the user:
Forward all user parts without filtering.
Forward only Signaling Network Management Messages (SI=0)
Forward only SCCP messages (SI=3)
Forward only TUP messages (SI=4)
Forward only ISUP messages (SI=5)
A bit mask that allows a combination of User Parts).
The next diagram shows the Service Indicator Field:
Filtering Specific OPC and / or specific DPC
The filtering module selects MSUs according to the OPC and/or DPC as follows:
Forward only messages from a specific or a range of OPCs
Forward only messages from a specific or a range of DPCs
Forward only messages from a specific range of OPCs to a specific range of DPCs.
The next diagram shows the location of the point codes in the MSU, regardless the user part type.
Developer Information
1029
Filtering for a Combination of Point Code and User Part Type
The filtering module enables an "AND" function between the point code filter and the user part filter. That is, the filter shall enable filtering messages from any combination of Point Codes (OPC & DPC) with a specific user part.
MSP
1030
Host/Application Server Interface
Configuration
MSP-1010 forwards the monitored traffic to the application servers through a separate port (a separate port for each application server) directly to the application without passing the LLC layer. See Example Configuration for SS7 Monitoring.
The operations and maintenance traffic is routed through the current O&M socket (the dotted line in the next diagram).
Routing
MSP-1010 supports 16 different application servers. MSP-1010 routes the traffic between different application servers based on the following criteria:
Link Id.
Filter profile
Link ID and filter profile
Developer Information
1031
Excel API for SS7 Monitoring
API Messages Used
To provision the characteristics of physical spans prior to logical span assignment, use NGA Configure/ NGA Query API messages. The facility impedance TLV (0xE04F) indicates that the designated physical span operates in a high impedance/transmit disabled mode only.
Note: The LIU high impedance capability is currently only possible on the 28 SuperMapper physically terminated spans. The management logic validates that this capability is only requested where physically possible.
To provision the external NTP server set, use NGA Configure/ NGA Query API messages. Logical arguments include: NTP server IP Address
To report changes in NTP server accessibility and indications concerning timekeeping accuracy, use NGA Notify and/or NGA Alarm API messages.
To provision a set of two DS0s as a monitored link, use NGA Configure/ NGA Query API messages. Logical arguments include:
monitored link identifier.
two logical span/channels
DS0 data rate bit-mask
inversion flag
MTP method (basic vs. PCR)
MTP variant (ANSI, ITU, China, Japan)
To report changes in monitored link status (L1 state, L2 state, HDLC errors) the MSP 1010 uses NGA Notify and/or NGA Alarm API messages.
To provision filter specifications for traffic destined for monitor applications (MA), use NGA Configure/ NGA Query API messages. Logical arguments shall include:
Filter identifier
filter type
filter action
filter specification
MA socket specification (IP Address, port)
To report changes in MA socket accessibility or MA socket data flow congestion the MSP 1010 uses NGA Notify and/or NGA Alarm API messages.
To report changes in the MSP resident application to handle the offered traffic load, the MSP 1010 uses NGA Notify and/or NGA Alarm API messages.
Message presentation
You can configure and select the fields in the SS7 messages that will be forwarded to the application. You can configure whether to send the MTP2 header (with the SS7
MSP
1032
message) to the application or only the MTP2 payload (without the header). This option is enabled per Application Server. Based on the filtering options selected, the following may be reported.
Example
SigView Link Signaling Notify - Information
00:06:29.820 ALOG(X-H) (067)1 [00 41 01 2b 00 ea 00 03 04 67 02 00 01 64 02 15 00 64 02 10 00 64 02 10 03 00 02 e0 21 00 03 03 00 00 e0 00 00 1d 00 02 90 0d 00 0b 00 05 e3 ec 00 01 00 00 00 00 01 90 0f 00 08 00 00 9c 00 8a 8a 00 00]
00:06:29.820 ALOG(X-H) (067)1
00 41 ' Message Length
01 2b ' Message Type
00 ea ' Sequence Number
00 ' Logical Node ID
03 ' Address Method = NGAPI Item
04 ' Number of Address Elements
67 02 00 01 ' Functional Area - Signaling
64 02 15 00 ' Object Type - SigView
64 02 10 00 ' Object Type - SS7
64 02 10 03 ' Object Type - Link
00 ' Data Type
02 ' Number of TLVs
e0 21 ' TLV - Query Response Message Info
00 03 ' Length
03 ' Message position
00 00 ' Message Response Count
e0 00 ' TLV - Container
00 1d ' Length
00 02 ' Number of TLVs in the container
90 0d ' TLV - SigView Indication Header
00 0b ' Length
00 05 e3 ec ' Timestamp
00 01 ' Application ID
00 00 ' Layer Rule ID
00 00 ' Monitoring Link ID
01 ' Monitoring Link Direction
90 0f ' SigView FISU or LSSU Data
Developer Information
1033
00 08 ' Length
00 00 9c 00 ' Count
8a ' BIB
8a ' FIB
00 ' LI
00] ' Status
MSP
1034
DS3
DS3 Overview
DS3 Technology
A DS3 has a bandwidth of 44.736 Mbps, which is the capacity of 28 T1 spans. Every 85th bit in a DS3 bit sequence is used for overhead functions such as frame alignment, error detection, and terminal-to-terminal data communication. All other bits are payload bits.
The DS3 signal format typically transports 672 channels at 64 Kbps per channel. The DS3 signaling interface is bipolar with Bit 3 Zero Substitution (B3ZS).
DS3 in the MSP
The MSP supports loop timing for DS1's residing on the DS3.
The DS3 uses the M-Frame format and supports the following framing modes:
M13
C-bit (default)
Slot non-sk host must define to configure DS3 (Brian, what slot is it? Is there more I should say?)
Use the DS3 AIB (0x32) for .... (Brian, for call processing, config, taking in/out of service. Not sure what you were getting at?)
The MSP supports the following type of loopbacks diagnostics:
local loop back
request a remote loop back from the far-end switch
Far End Alarm Control (FEAC) responses
When enabled the MSP will automatically grant the requests of incoming FEAC messages. When disabled the MSP will ignore all incoming FEAC messages.
Bit Error Rate Test (BERT)
You can query the MSP to determine if a local or remote loop back is enabled/disabled. Refer to DS3 Loop Back Diagnostics.
Related Topics
Loop Back Diagnostics
BERT Test
Developer Information
1035
Overview of Loopback Testing
With loopback testing, the host enables the DS3 inbound stream to loopback to the outbound steam in order to test Layer 1 signal integrity. The host can enable local loopback and issue remote loopback requests for the DS3, all DS1s or a single DS1.
ClientView users
To configure loopback on a DS3 or all DS1s see Configuring a DS3 Span (TDM DS3).
To configure loopback on a single DS1 see Configuring a DS1 Span (TDM DS1).
Non-ClientView users refer to Enabling Loopback Diagnostics using the EXS API.
Following the request to put a remote DS1 offset in loopback, you CANNOT make another request for loopback on another remote span until the first request is canceled.
MSP
1036
Enabling Loopback Diagnostics using the EXS API
DS3 Configure/Query message (0x000F) loops the inbound DS3 stream back to the outbound DS3 stream. This message can also request the far end to go into loopback mode. This message can be used to enable/disable local or remote loopback mode on the DS3, all DS1s or a single DS1. It can also be used to query the current loopback state of the DS3, all DS1s or a single DS1.
There is a specific FEAC code to request ALL DS1's be put in loopback. There are also specific FEAC codes for each span offset. Therefore, you can request that the far end put all DS1's in loopback (you do not send 27 FEAC codes, just one, the ALL DS1's code). If I want to request that just one DS1 offset (for example offset 14) be put in loopback then you send the code value that corresponds to offset 14.
Following the request to put DS1 offset 14 in loopback, you CANNOT make another request for loopback on another span. You first must request span 14 be taken out of loopback and then request loopback on another span.
DS3 Local Loopback
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x01 – loopback configure
Data 0x00 – Disable
Data 0x01 – Enable
DS3 Remote Loopback
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x01 – loopback configure
Data 0x02 - Cancel Remote loopback
Data 0x03 - Request Remote loopback Request distant end to loopback its received stream to the transmit stream
DS1 Local Loopback- All 28 DS1s on DS3
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x03 – DS1 loopback configure – all spans
Data 0x00 – Disable
Data 0x01 – Enable
DS1 Remote Loopback– All 28 DS1s on DS3
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x03 - DS1 loopback configure – all spans
Developer Information
1037
Data 0x02 – Cancel Remote loopback
Data 0x03 - Request Remote loopback Request distant end to loopback its received stream to the transmit stream
DS1 Local Loopback On Single DS1
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x08 – DS1 loopback configure – all spans
Data 0x00 – Disable
Data 0x01 – Enable
DS1 Remote Loopback On Single DS1
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x08 – DS1 loopback configure – all spans
Data 0x02 – Cancel Remote loopback
Data 0x03 – Enable
DS3/DS1 Loopback Based on Far End loopback Request
The MSP responds to three loopback requests, a DS3 loopback and a specific DS1 loopback. If FEAC is enabled, the MSP loops whatever the far end tell us to loop: DS3, all 28 DS1’s, or a specific DS1.
Use the DS3 Configure/Query (0x000F) message as follows:
Entity 0x07 – DS3/DS1 FEAC Response Enable
Data 0x00 – Disable
Data 0x01 - Enable
DS1 Loopback Query - All 28 DS1s on DS3
Query the MSP for DS1 status (local loop, remote loop) on the whole group of DS1 spans.
Use the DS3 Configure/Query (0x000F) message as follows:
· Entity 0x09
DS3 Loopback Query
Query the loopback status of DS3 (local, remote or no loopback.)
Entity 0x02
Data [0]
0x00 – Local Loop Disabled
0x01 – Local Loop Enabled
MSP
1038
Data [1]
0x00 – Cancelled
0x01 – Requested
DS1 Loopback Query on Single DS1
Query the loopback status of a single DS1 (local, remote or no loopback.)
Entity 0x0A
Developer Information
1039
BERT Test
You can configure the MSP to run a Bit Error Rate Test (BERT). With this feature, your MSP 1010 allows you to do the following:
Generate and monitor a test pattern depending on your hardware configuration.
Generate a test pattern to be verified by a piece of external test equipment or another MSP.
Monitor a test pattern when configuring both the transmit and receive.
Insert bit errors.
Select from multiple bit patterns
Framing for DS1 available in framed or unframed mode.
You can run BERT tests on a per DS1 basis or on the entire DS3. Only one test can be performed at a time. That is, you cannot run a DS3 BERT test and a DS1 BERT test simultaneously.
Either use ClientView or the NG API to configure the MSP to run the BERT tests.
Refer to the following:
Configuring BERT Test in the ClientView documentation.
Configuring BERT Test with the NG API
API Information
The following API are used for querying BERT:
NGA Info Query (0x0140)
The BERT-related TLVs in this message are:
0xE063 BERT Monitor Status
0xE064 BERT Monitor Bits Received
0xE065 BERT Error Bits Received
NGA Configuration Query (0x0140)
The BERT-related TLVs in this message are:
0xE05D BERT Direction
0xE05E BERT Pattern
0xE05F BERT Test Framing
0xE060 User-defined Test Pattern
0xE068 BERT Error Mode
Developer Information
1041
Configuring BERT Test Using the NG API
The NG API is as follows:
NG API
Facility Interface Configure (0x0130)
TLVs
Facility BERT Configure
Facility BERT Query
MSP
1042
VoIP
VoIP Overview
The VoIP module performs two-way conversion between circuit-switched data and packet-switched data. This conversion is required by packetized voice applications, such as the Voice over Internet Protocol (VoIP). The module also integrates media resources over IP technology.
Circuit-switched voice is converted to IP packets, using compression algorithms that can increase capacity toward the IP network side. You can have parameters modified for an individual call, often while the call is active, changing the quality of service, as needed.
Media Resources
Integrating media resources using IP technology provides many advantages. Typically, media resources are connected by T1, E1, or J1 interfaces that consume one 64 Kbps port per call, limiting the capacity of the system. The VoIP module integrates media resources over IP using the standards-based Real-Time Protocol (RTP).
Integrating media resources using standards-based technology also allows media resources to be shared between the MSP and other network infrastructure. Packet switching to media resources allows the application to benefit from voice compression, increasing capacity on the application. This flexibility allows the MSP and the applications to scale independently and incrementally, as needed, eliminating excess hardware.
Related Topics
VoIP Module
VoIP Resource Profiles
Codec Overview
Codec Payload Sizes
Dynamic Payload Type
VoIP Configuration Options
Overview of VoIP Configuration
Developer Information
1043
VoIP Resource Profiles
Resource profiles 4-7 are available for the VoIP Module as follows. The MSP supports two VoIP modules each with four DSP chips.
Profile Number
Profile Name
CODEC Supported
Channels/DSP Channels/Module
4 G.711 only
G.711
No fax relay - no T.38
168 672
5 (default)
LBR (Low Bit Rate)
G.711
G.723
G.726
G.729,T.38
128
(100 for T.38)
512
(400 for T.38)
Additional Notes
Resource profiles must be configured by the Host Flag attribute in the BOOTP server.
ARP services are not contained within the scope of the VoIP module - system infastructure controls these services.
Related Topic
IP Bearer Profile (ClientView)
MSP
1044
Codec Overview
This topic provides an overview of the additional codecs in the MSP. For more information, refer to the corresponding RFCs.
Refer to VoIP Resources Profiles for a description of the profiles and the codecs they include.
Refer to Downloading System Software to the MSP for the host flags tag value to set for each codec.
G.711
International standard for encoding telephone audio on an 64 kbps channel.
It is a pulse code modulation (PCM) scheme.
Two different variants: A-law and mu-law. A-law is the standard for international circuits.
G.723
Designed for video conferencing / telephony over standard phone lines, and is optimized for realtime encode and decode.
Part of the H.323 standards for video conferencing.
G.726
Conforms to ITU-T G.726 recommendation that specifies speech compression and decompression at rates of 16, 24, 32 and 40 Kbps based on Adaptive Differential Pulse Code Modulation (ADPCM).
Both encoder and decoder components are available in two configurations - mono (single) and stereo (two audio channels working in parallel).
G.729
8 Kbps encoded bit stream rate.
Discontinuous transmission support (DTX) using Voice Activity Detection (VAD) and Comfort Noise Generation (CNG).
Host Flags
Use in the BOOTP Host Flags Parameters to select the profiles to load.
Once you load the profile, all codecs defined for that profile are available to use for as many calls as are defined by the channel density for that profile.
Developer Information
1045
Codec Payload Size
The following table includes the payload sizes of the codecs supported by the MSP.
When you insert the value into the Payload Size TLV (0x0101) it must be a multiplier of the base rate. That is, for 20 ms G.711, enter a value of 4.
Codec Payload Sizes (ms) Payload Type Base Rate (ms)
G.711 u-Law 10,20,30,40,50,60 0x00 5
G.711 A-law 10,20,30,40,50,60 0x08 5
G.723 30,60 0x04 30
G.726 10,20,30,40,50,60 0x12 or
0x60-0x7F
5
G.729 A/B 10,20,30,40,50,60 0x12 10
* Payload size TLV not required when using this Codec.
MSP
1046
Dynamic Payload Type
If a codec requires a dynamic payload type, you must use the NPDI TLVs in the Route Control or Outseize Control messages as follows:
Each TLV is described below the diagram. Following that is a byte-by-byte example.
TLV Notes
Universal NPDI TLV Container for NPDI TLVs.
Per Codec Info TLV (0x2A02)
For call control messages fro the host, this TLV encapulates the TLVs below. The Universal NPDI TLV is not required.
Usually paired with the NPDI Media Payload Description TLV (0x2A09).
How you use this TLV depends on if the codec has a static or dynamic payload type. See below.
A static payload type is permatnently associated with a codec. A dynamic payload type has a value of 96-127 and is negotiated by the IP signaling layer the bound to a codec for a single call.
NPDI Media Payload Type TLV (0x2A08)
Static: G.711, G.729, and G.723 codecs have static payload types. When byte[0] of this TLV indicates a static codec is used, then byte[1] will contain the codec type, which must be G.711, G.729 or G.723. It is invalid for byte[1] to contain a codec value for a codec that requires a dynamic payload type.
Developer Information
1047
Dynamic: When byte[0] is set to dynamic, then we are expecting that byte[1] will contain the dynamic payload type to be used for the codec. In this case, the codec itself must be defined in the NPDI Media Payload Description 0x2A09 TLV. The valid range of values for byte[1] will be 96-127.
NPDI Media Payload Description (0x2A09)
Paired with the NPDI Media Payload Type TLV above. when byte[0] of the NPDI Media Payload Type (0x2A08)TLV is set to dynamic, the codec to use for the call will be defined in this TLV. Codecs that would be defined here are iLBC-13k, iLBC-15k, GSM-AMR, EVRC, G.726-16kbps, G.726-24kbps and G.726-32kbps.
Example
G.729 codec with static payload type, having 30 ms payload size (requires only 0x2A08 TLV to support static payload type)
00 33 00 10
2a 02 00 0c
2a 08 00 02 00 12
2a 0b 00 02 00 1e
Priority
The following rules apply for the priority of NPDI to non-NPDI codec usage:
1. NPDI codec TLV has a higher priority over non-NPDI codec TLV (0x0100).
2. NPDI payload size TLV has a higher priority over non-NPDI payload size TLV (0x0101).
3. NPDI codec TLV group is not required to have payload size TLV present. Payload size can still be provided using the 0x0101 TLV, even if the codec is defined using NPDI TLVs.
4. For a Resource Attribute Query message, if no TLVs are sent in the query (meaning that all attributes must be returned), then both the NPDI and non-NPDI TLVs will be sent to show the codec and payload size information. In the case of using the non-NPDI TLVs to show a codec in use that requires a dynamic payload type, the codec will be defined in the 0x0100 Payload Type TLV, but there is no way to see the dynamic payload type associated with it. It is still useful to use this format though, for backward compatibility. The NPDI TLVs will still be included and will show the group of codec, dynamic payload type and payload size.
MSP
1048
SCCP TCAP
Introduction to SCCP/TCAP
Overview
SCCP and TCAP support offers advanced routing, data transfer, and management control features. Signaling Connection Control Part (SCCP) provides both connectionless and connection-oriented network services above MTP Level 3. Transaction Capabilities Application Part (TCAP) provides transaction and remote operation capabilities to a large variety of applications distributed over the MSP 1010 and service centers in the network. The Excel SCCP/TCAP implementation supports the following connectionless services:
Specialized Routing
Data Transfer
Management Control
The SCCP layer and TCAP layer services are directly accessible through the SCCP and TCAP primitives. The option of using SCCP services only or using both SCCP and TCAP services is configurable for each subsystem. This allows users to choose the appropriate protocol interface for customized applications.
SCCP
Together SCCP and MTP are used as the network layer for TCAP-based services. For each component of an SS7 network, SCCP provides a different service to its user which is referred to as the subsystem.
In a Service Control Point (SCP), the sub-system of the SCCP is a database.
For an SSP, the sub-system of the SCCP is an application software package.
For a Signal Transfer Point (STP), the SCCP also provides Global Title Translation.
TCAP
TCAP enables the deployment of advanced intelligent network services by supporting non-circuit related information exchange between signaling points using the SCCP connectionless service. TCAP provides the framework to retrieve information or invoke remote operations.
TCAP offers the means for end users in the SS7 network to query another end office and acts as the software interface between an SS7 office and database services in order to obtain data from the SS7 network.
Mapping SS7 stack to OSI layers
Developer Information
1049
SCCP/TCAP in the Excel Architecture
SCCP and TCAP provide the services to the host by a set of SCCP primitives and a set of TCAP primitives which are carried in the PPL Event Request and PPL Event Indication API messages.
Host Connection - MSP
ITU and ASNI/Telecordia Standards - Versions Supported
The following are the standards versions that the SCCP/TCAP implementation supports:
ITU Q.771-Q.774 TCAP 1997
ANSI T1.114 TCAP 2000 and Telecordia GR-246 issue 7
ANSI T1.112 SCCP 2000 and Telecordia GR-246 issue 7
MSP
1050
SCCP/TCAP in the Excel Architecture
Primitives
SCCP and TCAP provide the services to the host by a set of SCCP primitives and a set of TCAP primitives which are carried in the PPL Event Request and PPL Event Indication API messages.
See SCCP TCAP Primitives.
Capability
The MSP supports the following per stack:
32,000 simultaneous TCAP transactions
96,000 simulataneous TCAP invocations
Host Connection - MSP
ITU and ASNI/Telecordia Standards - Versions Supported
The following are the standards versions that the SCCP/TCAP implementation supports:
ITU Q.771-Q.774 TCAP 1997
ANSI T1.114 TCAP 2000 and Telecordia GR-246 issue 7
ANSI T1.112 SCCP 2000 and Telecordia GR-246 issue 7
Developer Information
1051
SCCP/TCAP Supports Many Services and Applications
Overview
This section provides examples of the kinds of services and applications that the SCCP/TCAP feature supports.
Assumptions and Dependencies
SCCP software assumes services from SS7 Message Transfer Part (MTP). TCAP software assumes connectionless services from SCCP and services from MTP.
Services enabled by TCAP
The following are some examples of the services enabled by TCAP:
Special Service Number Translation
An SSP uses TCAP to query an SCP to determine the routing number(s) associated with a dialed 800, 888, or 900 number. The SCP uses TCAP to return a response containing the routing number(s) back to the SSP.
Line Interface Database (LIDB) application
Calling card calls are validated and billed using TCAP query and response messages.
Wireless Application
TCAP provides the ability for automatic roaming service by transferring signaling information to remote nodes. When a mobile subscriber roams into a new mobile switching center (MSC) area, the integrated visitor location register (VLR) requests information such as the service profile from the subscribers home location register (HLR). In this case, mobile application part (MAP) information is carried within TCAP messages.
TCAP messages are contained within the SCCP portion of a mobile subscriber unit (MSU). An ANSI TCAP message is comprised of a transaction portion and a component portion. In addition, an ITU TCAP (White Book) message contains a dialog portion.
Supported Applications
The addition of the SCCP and TCAP layers being integrated into the SS7 solution allows users to provide enhanced calling features, AIN, and wireless applications. The MSP 1010 supports ANSI-41 (formerly IS-41) the mobile phone protocol in U.S. networks, which allows wireless roaming. In international networks, the MSP 1010 supports the SS7 mobile application part of the Global System for Mobile Communications standard (GSM MAP). GSM MAP supports wireless applications such as Short Message Services (SMS).
The Personal Communications Service (PCS) market specifies the need for the capability to map a hybrid of variants in one stack. The architecture is designed to
MSP
1052
support this type of hybrid configuration of variants. For example, the ITU TCAP over ANSI SCCP is used for database management in the reallocation of calling traffic.
The MSP 1010 can be an integral part of an MSC in a PCS Network Architecture, supplying MTP, SCCP and TCAP in order to support an ANSI-41 (formerly IS-41) application. There can be other applications. The MSC, in a mobile switching center, provides services to the mobile subscriber based on information, such as profile information requested by the integrated VLR from the subscribers HLR.
Two examples of applications for SCCP/TCAP are shown next.
SCCP/TCAP Application Scenarios:
Intelligent Network Architecture with SCCP/TCAP
Personal Communication Service (PCS) Network
Developer Information
1053
User Interface Requirements
The host has access to the TCAP and SCCP layers through the use of the PPL Event Request and PPL Event Indication API messages. Both ITU and ANSI variants of SCCP and TCAP primitives are provided.
The ITU primitives are consistent with the ITU White Book Q.771 SCCP and TCAP specifications.
The ANSI primitives are consistent with ANSI T1.1.114-1992 (TCAP) and ANSI T1.112-1996 (SCCP).
MSP
1054
Global Title Translation
Overview
As networks grow and become more complex and cross international boundaries, routing between different nodes becomes more complex. One way to simplify this routing requirement is to implement Global Title Translation (GTT), which routes according to a digit analysis rather than Point Code (PC) and Subsystem Number (SSN).
Supports Advanced Features
Excel's Global Title Translation (GTT) feature integrated on the MSP provides the routing functionality required to offer services with advanced features such as local number portability (LNP), toll-free, calling card, calling name delivery, and roaming support, as well as other advanced network services.
Capacity Information
The GTT feature supports the following:
128 GT groups
100,000 entries
maximum of 24 digits
How Invoked
The GTT functionality enables the Signaling Connection Control Part (SCCP) to translate and route the SCCP message in cases where the Called Party Address contains a Global Title and the routing indicator is set to Route on GT. GTT functionality also enables the SCCP to have relay functionality. The GTT function is invoked within the SCCP Routing Control (SCRC) under the routing procedures. The Global Title Addressing and GTT feature will allow diverse groups of SCCP addressable entities associated with different applications to establish their own addressing schemes.
Redundancy
The GTT feature supports the same level of redundancy as all other levels of SS7 functionality implemented on the MSP 1010.
Requirements
This GTT implementation on the MSP 1010 requires the SS7 functionality.
Configuring Global Title Translation
Refer to the following sections for information to configure Global Title Translation.
Developer Information
1055
Procedures for configuring options in Configuring SCCP/TCAP.
Global Title Translation (GTT) Configuration Samples
API Messages
The following API messages support Global Title Translation. They are documented in the API Reference.
SS7 SCCP/TCAP Configure (0x0077)
SS7 SCCP/TCAP Query (0x0078)
TLVs
The following Tag Length Values (TLVs) support Global Title Translation. They are documented in the API Reference.
0x09CA Add Global Title Group
0x09CB Delete Global Title Group
0x09CC Add Global Title Entry
0x09CD Delete Global Title Entry
0x09CE Build Index Table
0x09CF Global Title Group Query
0x09D0 Global Title Entry Query
0x09D1 Global Title Group Query Response
0x09D2 Global Title Entry Query Response
MSP
1056
Global Title Translation (GTT) Configuration Samples
Purpose
This section contains sample messages for configuring Global Title Translation (GTT).
Using these sample messages
The description for the TLVs precede each group of samples. The different options that you can select with each Tag Length Value (TLV) are included in the sample messages.
API Messages
Refer to the following two EXS API messages in the API Reference for for details on configuring GTT.
SS7 SCCP/TCAP Configure (0x0077)
SS7 SCCP/TCAP Query (0x0078)
Adding Groups
Use the following TLV to add Global Title Groups.
Add Global Title Group TLV 0x09CA
Byte Description
0, 1 Tag 0x09CA Add Global Title Group
2 Length 0x0009
3 Value[0] 0-127 Group ID (GID)
4 Value[1] Global Title Indicator (GTI)
1-4 for ITU
1-2 for ANSI
5 Value [2] Translation Type (TT)
0-255 ( 0 = Default)
6 Value [3] Numbering Plan (NP)
0-15 ( 0 = Default)
7 Value [4] Nature of Address Indicator (NAI)
1-127 ( 0 = Default)
8 Value [5] Minimum Digits ( 1-24) (MIN)
The minimum number of digits that the GT entry of this group will contain. Must be greater than 0 and less than or equal to the Maximum Digits field.
Developer Information
1057
9 Value [6] Maximum Digits ( 1-24) (MAX)
The maximum number of digits that the GT entry of this group will contain. Must be less than 24 and greater than or equal to the Minimum Digits field.
10 Value [7] Group Attribute (ATT)
Bit 0 Maximum match
0 = Use minimum match rule for this group
1 = Use maximum match rule (also known as best match rule) for this group.
Bit 1 Calling Party Address (CGPA) treatment
0 = Calling Party address will not be changed when the Global
Title Global Title translation results in Route on GT.
1 = Calling Party address is changed when GT translation results in Route on GT. The new calling party address is stored in SSN default parameter table.
The CGPA bit will not take effect for connection oriented messages.
Bit 2 ANSI TT4 (Translation Type 4)
0 = Not TT4 type
1 = TT4 type
If this bit is set, no GT entry can be added into this group.
Bit 3 Remove GT
0 = Do not remove GT after a successful translation.
1 = Remove GT after a successful translation.
11 Reserved for future use. (REV)
Sample 1
The Group Attribute 08 indicates use the Minimum Match Rule and Remove the GT after Translation.
Sample 2
The Group Attribute 00 indicates use the Minimum Match Rule and Do Not Remove GT after Translation.
Sample 3
MSP
1058
The Group Attribute 09 indicates use the Maximum Match rule and Remove GT after Translation.
Sample 4
The Group Attribute 01 indicates use the Maximum Match Rule and Do Not Remove GT after Translation.
The index table is rebuilt automatically for the GT Group operation (Add/Delete).
Deleting Groups
Use the following TLV to delete groups identified by the Global Title Indicator, Translation Tile, Numbering Plan, and Nature of Address Indicator.
Delete Global Title Group TLV 0x09CB
Byte Description
0, 1 Tag 0x09CB Delete Global Title Group
2 Length 0x0006
3 Value[0] Group ID (GID)
1-127
4 Value [1] Global Title Indicator (GTI)
1-15
5 Value [2] Translation Type (TT)
0-255 ( 0- Default)
6 Value [3] Numbering Plan (NP)
0-15 ( 0 - Default)
7 Value [4] Nature of Address Indicator (NAI)
1-127 ( 0 - Default)
8 Reserved for future use. (REV)
The sample below deletes four groups: 00 to 03.
Developer Information
1059
Important! The index table is rebuilt automatically.
Adding GT Entries
Use the following TLV to add Global Title Entries.
Add Global Title Entry TLV 0x09CC
Byte Description
0, 1 Tag 0x09CC Add Global Title Entry
2, 3 Length Variable
4 Value[0] Group ID (GID)
1-127
5 Value [1] Entry Attribute
Bit 0 - Wild Card bit
0 - Non Wild Card GT
1 - Wild Card GT
Bits 1-7 Not Used.
6 Reserved for future use.
7 Value [2] Global Title Address Information Length (LEN)
1-24 digits
: Value [3-n] Global Title Address Information (GTAI)
See API Reference for format.
: Value [n] Translation Result Option
00 - Single translation result
01 - Double translation results, working in Active
Standby Mode
02 - Double translation results, working in Load
MSP
1060
Sharing Mode
: Value [n] Translation Result 1
See in the API Reference for format.
Sample 1
The following values apply to the sample below:
Entry Attribute: Non wild card entry
Translation result format: RI+PC+SSN (RI=Routing Indicator, PC=Point Code, SSN=Subsystem Number)
RI= Route on DPC/SSN
Sample 2
The following values apply to the sample below:
Entry Attribute: Wild card entry
Translation result format: RI+PC+SSN
RI= Route on DPC/SSN
Sample 3
The following values apply to the sample below:
Entry Attribute: Non wild card entry
Translation result format: RI+PC+GT
RI= Route on GT
Sample 4
The following values apply to the sample below:
Entry Attribute: Non wild card entry
Translation result format: RI+PC
RI= Route on GT
Developer Information
1061
Sample 5
The following values apply to the sample below:
Entry Attribute: Non wild card entry
Translation result format: RI+PC+SSN+GT
RI= Route on DPC/SSN
Deleting GT Entries
Use the following TLV to delete the GT entries indicated by the Group ID, GT Attribute, Global Title Address Information (GTAI) Length, and GTAI.
Delete Global Title Entry TLV 0x09CD
Byte Description
0, 1 Tag 0x09CD Delete Global Title Entry
2, 3 Length Variable
4 Value[0] Group ID
1-127
Already configured.
5 Value [1] Entry Attribute
Bit 0 - Wild Card bit
0 = Non Wild Card GT
1 = Wild Card GT
Bits 1-7 Not Used.
6 Reserved for future use.
7 Value [2] Global Title Address Information Length (LEN)
1-16 digits
: Value [n] Global Title Address Information (GTAI)
The sample below deletes five GT entries in GT Group 2.
MSP
1062
Building the Index Table
Use this TLV to build the index table which brings the new GT entries into service and takes the deleted GT entries out of service.
Build Index Table TLV 0x09CE
Byte Description
0, 1 Tag 0x09CE Build Index Table
2, 3 Length 0x0001
4 Value[0] Bit 1 - 1=Build Index
Developer Information
1063
Message Flow of TCAP Components
Overview
This section contains the SS7 SCCP and TCAP PPL components and their IDs. Also, you will find diagrams showing the message flow for SCCP and TCAP components.
SCCP PPL Components
The following list contains the SS7 SCCP PPL Components and their IDs:
Component ID
Component Name
0x65 SCLC - SCCP Connectionless Control
0x66 SCRC - SCCP Routing Control
0x67 SUSI - SCCP User Interface
0x68 SPPC - Signaling Point Prohibited Control
0x69 SPAC - Signaling Point Allowed Control
0x6A SPCC - Signaling Point Congestion Control
0x6B SSPC - Subsystem Prohibited Control
0x6C SSAC - Subsystem Allowed Control
0x6D SSTC - Subsystem Status Test Control
0x6E BCST - Broadcast
0x6F LBCS - Local Broadcast
TCAP PPL Components
Component ID Component Name
0x70 TUSI - TCAP User Interface
0x71 CCO - Component Portion Control
0x72 ISM - Component Portion
0x73 TCO - Transaction Coordinator
0x74 TSM - Transaction State Machine
MSP
1064
0x75 DHA - dialog Handling
Message flow for SCCP and TCAP components
SCCP Components and Message Flow
Note: SCMG = SCCP Management
TCAP Components and Message Flow
Developer Information
1065
SCCP/TCAP Call Flows
Overview
This section shows examples of normal and abnormal SCCP/TCAP message flows. These diagrams are intended to show the protocol aspect of the flow correlating with the host messages. It is not a complete list to cover all the cases. More complete SCCP and TCAP call flows can be found in ITU SCCP and TCAP test specifications.
Host Using SCCP Connectionless Service Directly
These call flows show the normal and abnormal cases when the host uses the SCCP service directly (TCAP service is not used). Only the SCCP peer level service is shown here.
Success
SCCP successfully sends the UNIT-DATA message to the network and informs the host about SCCP receiving the Unitdata message from the network.
SCCP Connectionless Service Direct - Success
Message Returned
SCCP sends the UNIT-DATA message to the network and sets the return option in the Quality of Service parameter. In this case, the message cannot be delivered to the destination due to failures on the network (such as, a Global Title is translated to an unavailable DPC). The message is returned and the host is informed by an N_NOTICE Indication primitive in a PPL Event Indication message.
SCCP Connectionless Service Direct - Message Returned
MSP
1066
Host Using ITU TCAP Service
The following diagrams show examples of the host using TCAP services. Note that using TCAP service implies the use of SCCP service in the current implementation.
One Transaction/ One Invocation
The services of each SS7 protocol level is used when the host initiates a single transaction with a single remote invocation. In this case, the transaction is successfully completed and the remote operation is successfully invoked.
Host Using TCAP Service - 1 Transaction, 1 Invocation (ITU)
Developer Information
1067
One Transaction, Two Invocations
The host uses ANSI SCCP/ TCAP services, while one transaction is created and completed successfully, two remote operations are successfully invoked. Only TCAP peer-level services are shown. The SCCP and MTP services are similar to the previous example.
Host Using TCAP Service - 1 Transaction, 2 Invocations (ANSI)
Developer Information
1069
Configuring SCCP TCAP
Overview
This section describes the SCCP TCAP options that can be configured for a variant of an ANSI or ITU protocol.
Use the SS7 SCCP/TCAP Configure (0x0077) message to configure up to ten different attributes for each local subsystem. Send a separate message to configure the attributes for each local subsystem.
Before you begin
Before you can configure other options, you must add a local subsystem and configure how it routes network messages (either to TCAP or to the host). You must use the SS7 SCCP/TCAP Configure message to set the byte for Config Type to 0x01 Local SSN.
Configuring SCCP/TCAP
1. Configure the local subsystem number using the SS7 SCCP/TCAP Configure message.
2. Next you can configure SCCP/TCAP options described in the next section.
Procedures for configuring options
You can configure the following SCCP/TCAP options.
Option Use the SS7 SCCP/TCAP Configure message to...
Adjacent Translator
Set the Config Type byte to 0x02 and configure all Adjacent Translators for a given subsystem. By default, all Adjacent Translators are Concerned Point Codes.
See Adjacent Translators Configuration .
Other Concerned Point Code
Set the Config Type byte to 0x03. For an SSP or SCP, Point Codes which must be informed about local (MSP 1010) subsystem status changes are referred to as Concerned Point Codes.
SCCP/TCAP Default Parameter Table
Set the Config Type byte to 0x04. This table contains the default parameters used by SCCP and TCAP for all subsystems associated with a stack. These values are used for Mandatory parameters if not included in a primitive.
The following parameters are stored by default, according to the ITU white book.
TCAP Dialog_As_ID
TCAP Unidialog_As_ID
TCAP Protocol Version
You do not need to configure this table unless you require
MSP
1070
modifications.
Subsystem
(Based on default parameter table)
Configure the default parameter table for a particular sub-system. Set the Config Type byte to 0x05.
TCAP Object Syntax Descriptor (OSD)
Set the Config Type byte to 0x06. You can modify a TCAP object by indicating the TCAP object parameter ID, TCAP identifier, whether or not to update the object syntax and if updated, what the object syntax description is.
See TCAP Object Syntax Descriptor (OSD) Configuration.
Configure Local SSN
Set the Config Type byte to 0x01. You may route messages to TCAP or the host by configuring the SSN Routing Flag.
Network DPC/SSN
Set the Config Type byte to 0x07 to configure the Destination Point Code (DPC) and remote subsystem number.
SCCP/TCAP host configuration
Set the Config Type byte to 0x08 to configure the SCCP/TCAP host that is used to receive messages from the SCCP/TCAP layer.
Replicated SSN
Set the Config Type byte to 0x09 to configure the replicated SSN.
Global Title Translation
Set the Config Type byte to 0x0C to configure Global Title Translation using the TLV Format Configuration Contents. See Global Title Translation (GTT) Configuration Samples.
Querying
Use the SS7 SCCP/TCAP Query message to query the following:
Local Subsystem Table
SCCP Default Parameter Table
Subsystem Default Parameter Table
TCAP Active Transactions
TCAP Active Operations
Related Topics
Deconfiguring SCCP/TCAP
GTT Configuration Samples
Developer Information
1071
Deconfiguring SCCP/TCAP
To deconfigure an SS7 stack with SCCP/TCAP, do the following:
1. Put all SSNs out of service using the N-STATE request. This will abort any active TCAP transactions for the SSN if TCAP TUSI Config Byte 3 is set to Yes (default value).
The host MUST take the SSN out of service. If not, any attempt to delete the SSN will fail. This differs from normal deconfiguration where the link does not have to be marked OSS before it can be deconfigured.
2. Delete the SSN using the SS7 SCCP/TCAP Configure message.
3. Deconfigure MTP for the stack (links, link sets, route) using the following messages:
SS7 Signaling Link Configure
SS7 Signaling Link Set Configure
SS7 Signaling Route Configure
4. Deconfigure the stack using the SS7 Stack Configure message.
MSP
1072
China National Variant Configuration
Overview
This section describes a configuration sequence to enable MTP/ SCCP/TCAP support for the China variant. Note that the MTP PPL Config Byte values are listed in the SS7 PPL Information, Section 6.
Important! National variants may require additional User Part and protocol modifications.
Configuration sequence
The following software configuration sequence (which does not have to be followed in the order presented) should be used to support the SS7 stack for SCCP/TCAP:
Modify PPL Config Bytes with the PPL Configure message:
MTP3 HMDT component (0x002B)
Set Config Byte 1 (Variant) to 0x03 (China)
MTP3 HMRT component (0x002C)
Set Config Byte 1 (Variant) to 0x03 (China)
SCCP SCLC component (0x0065)
Set Config Byte 1 (Variant) to 0x02 (China)
Example
In a configuration with two SS7 stacks (Stack 00 and Stack 01), the following PPL Configure messages would be sent to the MSP 1010. The shaded columns (asterisk* for html documents) indicate modifications. Abbreviations used in the table are:
Seq. No. - Sequence Number
LNI - Logical Node ID
PPL Comp. ID - PPL Component ID
Length (MSB, LSB)
Message
Type (MSB, LSB)
Reserve
Byte
Seq.
No.
LNI AIB Stack* PPL
Comp.
ID*
PPL #Data
Entity Location
Byte Data
00 10 00 D7 00 00 FF 00 01
18 01
00 00 2B 01 01
01 03
00 10 00 D7 00 00 FF 00 01
18 01
00 00 2C 01 01
01 03
Developer Information
1073
00 10 00 D7 00 00 FF 00 01
18 01
00 00 65 01 01
01 02
00 10 00 D7 00 00 FF 00 01
18 01
01 00 2B 01 01
01 03
00 10 00 D7 00 00 FF 00 01
18 01
01 00 2C 01 01
01 03
00 10 00 D7 00 00 FF 00 01
18 01
01 00 65 01 01
01 02
MSP
1074
TCAP Object Syntax Descriptor (OSD) Configuration
Overview
This feature is provided to allow configuration of the ASN.1-based syntax of the TCAP objects.
The TCAP objects include the TCAP Information Elements (IE) as defined in the ITU/ANSI TCAP specification, as well as objects for internal use that are dependent on implementation. Each TCAP object is uniquely defined by a parameter ID. Parameter IDs can be used to address the TCAP objects through the TC-user via the API ICB, or within the MSP 1010 using PPL.
See TCAP Parameter IDs. You can only modify the identifier/tags for the non-internal use parameters.
Only the modification of the TCAP IE identifier/tag is allowed. See the SS7 SCCP/TCAP Configure 0x0077 and SS7 SCCP/TCAP Query 0x0078 messages.
Developer Information
1075
Adjacent Translators Configuration
Overview
In SCCP, a Global Title Translator is the node that performs the global title translation (GTT). The result of the GTT could be the DPC/SSN or another global title, in which case another node is used to perform further GTT. Therefore, there may be more than a translator involved before an SCCP message reaches its destination.
Adjacent Translator
The Adjacent Translator is the first node that performs the GTT from the point of view of the SSP (adjacent is a logical term). For example, Node A is adjacent to Node B if any SS7 path exists between them without a GTT in the path.
Alternatively, the physically adjacent STP could be the Adjacent Translator and be responsible for routing to the next GTT. Excels SCCP implementation places no limitation on the network configuration.
If an Adjacent Translator needs to be defined for a subsystem, the route to the Point Code must be defined first. If it is not, a NACK of DPC Not Configured (0x550E) is returned. To delete a route, you must first delete the Adjacent Translator, otherwise, a NACK of SCCP/TCAP Related Configuration Parameter Error (0x55).
If you delete an SSN, all of its associated configuration, including Adjacent Translators, is automatically deleted.
Routing with a Global Title
For any local SSN, you can define Adjacent Translators and Network destination point codes and subsystem numbers. If the adjacent translator is defined, you may route the message to the translator node for global title translation
MSP
1076
Example Configurations and TCAP API Messaging
Overview
Four sample configuration files are included with the release software showing the steps required for basic and SCCP/TCAP-specific configuration. These files are shown further on in this section.
Descriptions of Sample *.cfg Files
The sample configuration is for one node with two SS7 stacks in loop-back mode. Each stack simulates an SS7 node. The sample configuration files are summarized below:
itumtp.cfg includes the configuration for the two SS7 stacks (including the SCCP/TCAP module) and MTP configuration. The following configuration is performed:
SS7 spans
signaling stacks, link sets, links, and routes
bring spans, channels, and links in service
sccp.cfg includes SCCP-related configuration information. There are two subsystems configured for each stack. The following configuration is performed:
SCCP local SSN
Adjacent translators
Other Concerned Point Codes (optional)
Bring SSNs in service with N_STATE Request in PPL Event Request message.
Network DPC/SSN (for direct routing to a network SSN)
unitdata.cfg is an example of using SCCP N-UNITDATA service.
begin.cfg is an example of using TCAP service by invoking the ITU TC_INVOKE and TC_BEGIN primitives. ITUMTP.CFG -- Sample Configuration File
itumtp.cfg
' de-assign all spans and assign logical spans
00 0d 00 a8 00 00 ff 00 01 11 04 ff ff ff ff
00 0d 00 a8 00 00 ff 00 01 11 04 00 00 04 00
00 0d 00 a8 00 00 ff 00 01 11 04 00 01 04 01
00 0d 00 a8 00 00 ff 00 01 11 04 00 02 04 02
00 0d 00 a8 00 00 ff 00 01 11 04 00 03 04 03
00 0d 00 a8 00 00 ff 00 01 11 04 00 04 04 04
00 0d 00 a8 00 00 ff 00 01 11 04 00 05 04 05
00 0d 00 a8 00 00 ff 00 01 11 04 00 06 04 06
Developer Information
1077
00 0d 00 a8 00 00 ff 00 01 11 04 00 07 04 07
' Configure SS7 Spans (T1)
00 0d 00 a9 00 00 01 00 01 0c 02 00 00 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 01 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 02 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 03 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 04 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 05 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 06 52 06
00 0d 00 a9 00 00 01 00 01 0c 02 00 07 52 06
' Configure First SS7 Stack (A)
' Set Single Redundancy on Board 2
00 0d 00 5b 00 00 ff 00 02 01 01 02 01 01 ff
'Set Signaling Stack Configure A
' Set our OPC to 00000111 and set the 5 modules to ITU (MTP,ISUP,L3P,SCCP,TCAP)
00 1a 00 5c 00 00 ff 00 01 21 02 02 00 00 00 01 11 05 01 01 02 01 03 01 06 01 07 01
' Set the Signaling Link Set Config. A
' Define a Link Set going to 00000222 ID 0
00 0f 00 5d 00 00 ff 00 01 1e 02 00 00 00 00 02 22
' Set the Signaling Link Config. A
' Define a link ID 0 for Set-0 SLC-0 Using Span/Channel (0,0) 64k
' Define a link ID 1 for Set-0 SLC-1 Using Span/Channel (2,0) 64k
00 14 00 5e 00 00 ff 00 02 1f 03 00 00 01 0d 03 00 00 00 00 00 00
00 14 00 5e 00 00 ff 00 02 1f 03 00 00 02 0d 03 00 01 00 01 00 00
Set the Signaling Route Configure for A '
' Configure Second SS7 Stack (B)
'Set Signaling Stack Configure B
' Set our OPC to 00000222 and set the 5 modules to ITU(MTP,ISUP,L3P,SCCP,TCAP)
' brd
00 1a 00 5c 00 00 ff 00 01 21 02 02 01 00 00 02 22 05 01 01 02 01 03 01 06 01 07 01
' Set the Signaling Link Set Config. B
' Define a Link Set going to 00000111 ID 1
MSP
1078
00 0f 00 5d 00 00 ff 00 01 1e 02 01 01 00 00 01 11
' Set the Signaling Link Config. B
' Define a link ID 1 for Set-1 SLC-0 Using logical Span (63,0) 64k
00 14 00 5e 00 00 ff 00 02 1f 03 01 01 02 0d 03 00 01 00 00 00 00
00 14 00 5e 00 00 ff 00 02 1f 03 01 01 03 0d 03 00 03 00 01 00 00
' Set the Signaling Route Configure
' Define a Route to 00 00 01 11 using only Link Set 1
' Service State Configure
Place All Spans and Channels In service.
' 00 0d 0a 00 00 ff <ENTITY> <ACTION> <ID0> <ID1> <ID2> <ID3> <FORCE>
00 0d 00 0a 00 00 ff 00 01 0c 02 00 00 F0 00
00 0d 00 0a 00 00 ff 00 01 0c 02 00 01 F0 00
00 0d 00 0a 00 00 ff 00 01 0c 02 00 02 F0 00
00 0d 00 0a 00 00 ff 00 01 0c 02 00 03 F0 00
'Bring links Into Service
' Bring the Links in Service
00 0d 00 0a 00 00 ff 00 01 09 02 00 00 f0 00
00 0d 00 0a 00 00 ff 00 01 09 02 00 01 f0 00
00 0d 00 0a 00 00 ff 00 01 09 02 01 02 f0 00
00 0d 00 0a 00 00 ff 00 01 09 02 01 03 f0 00
sccp.cfg
'configure SCCP local SSN
Developer Information
1081
This example along with the next one, TCAP Primitive #2, show how to map the TCAP Primitive Interface to the TCAP Primitive Set Interface.
-- TC_INVOKE request
TCAP primitive #2
TCAP Primitive Set
MSP
1082
It may be helpful to compare this example to the previous examples, TCAP Primitive #1 and TCAP Primitive #2.
TC_BEGIN primitive set request (with TC_Invoke component)
Developer Information
1083
SCCP TCAP Primitives
Overview
The communication that takes place between the MTP, SCCP, and TCAP layers of the SS7 stack is achieved with the use of primitives. Interfaces between the functional elements of SS7 are specified using interface primitives. Primitive interface definition does not assume any specific implementation of a service The host uses SCCP/TCAP services by invoking the SCCP N- or TCAP TC- primitives with the PPL Event Request message. A response status of Positive ACK (0x10) indicates that the primitive is validated and processed. A NACK of 0x54 indicates Error Detected in Primitive. The LSB of the Status byte gives more detail on the error. TC-USER can re-send the corrected primitive. See Response Status Values in the API Reference for details on LSB status.
Peer-to-Peer Messages
TCAP Primitive Types
There are two types of TCAP primitives:
Dialog
Component
Dialog Primitives
Dialog primitives request or indicate facilities of transaction sub-layer, in relation with message translation or dialog handling. dialog primitives may contain a TCAP ICB or a TCAP ICB and an SCCP ICB.
Component Primitive
MSP
1084
Component primitives are used in the handling of operations and replies. They do not require facilities form the underlying sub-layer. Component primitives contain a TCAP ICB.
Dialogs
Simultaneous Transactions
The maximum number of simultaneous transactions is 32,000 per stack. If number is exceeded, any TC-USER request which may result in a new transaction to be created is returned with a NACK of Resource Limitation (0x5409).
You can use the SS7 SCCP/TCAP Query message (0x0078) to query the number of active dialog/transaction/operations.
The following may result in a larger number of active dialogs at one time:
Average life time of a dialog is long.
Messages that never get a response back (hanging dialog) - these dialogs use the TCAP dialog resources and do not release them.
The maximum number of simultaneous invocations is 96,000. There is no limit on the number of invocations per transaction. If you include multiple components within one TCAP message, you should ensure that it fits in one MSU, otherwise; you may receive a NACK for the message. (If you use the SCCP Segmentation feature of SCCP/TCAP, this limitation does not apply. The maximum length of a TCAP message can be 3092 (ANSI) or 2048 (ITU).)
Important! In this context, incoming dialog means the new dialog is initialized, caused by receiving a network TCAP message (BEGIN[ITU], or QUERY[ANSI]). Outgoing dialog means the new dialog is initialized, caused by the host sending a TCAP primitive (TC_BEGIN[ITU], or TC_QUERY_ with/without_PERMISSION[ANSI]).
Beginning a dialog
A TC_USER begins a new dialog by issuing a TC-BEGIN (ITU) or TC-QUERY-WITH-PERMISSION/TC-QUERY-WITHOUT-PERMISSION (ANSI) request primitive to:
indicate to the Component sub-layer that a new dialog starts, identified by the dialog ID parameter.
request transmission of any component(s) previously passed to the Component sub-layer by means of component handling primitives of the Request type with the same dialog ID.
Continuing a dialog
A TC-USER indicates that it wants to continue a dialog by issuing a TC-CONTINUE (ITU) or TC-CONVERSATION-WITH-PERMISSION/TC-QUERY-WITHOUT-PERMISSION (ANSI) request primitive.
Ending a dialog
There are three methods for ending a dialog:
Developer Information
1085
Pre-arranged End
The end of the dialog has been decided by prior arrangement of the TC-USERs. The effect of the TC-END (ITU) or TC-RESPONSE (ANSI) request primitive is local only; no TC-END or TC-RESPONSE indication is generated.
Basic End
The ending causes transmission of any pending components at the side which initiates it.
Abort by TC-USER
The TC-U-ABORT request and indication primitives are used to indicate abort by the TC-USER.
Dialog ID Usage
The incoming Dialog ID space is a set including 32,000 continuous dialog IDs (per stack). This is because incoming dialog IDs are allocated by TCAP and the maximum TCAP support is 32,000 simultaneous transactions per stack. The beginning of the incoming dialog ID is defined by the TCAP PPL component TCO Config Byte 1-4 (see TCAP TCO (0x0073). This can be reconfigured, if necessary. The outgoing dialog ID, however, is specified by the TC user. Even though TCAP software does support any 4-byte dialog ID, as long as it does not collide with the incoming ID set, we recommend the use of the range from 0 - 32767 for performance reasons. The dialog ID, which must be four bytes, is also used in the SS7 TCAP Parameters (0x21) ICB which is used with the PPL Event Indication and PPL Event Request API messages.
Exception Reporting and Message Return
TC-USERs are notified of non-delivery of components by the TC-NOTICE indication primitive. A TC-NOTICE indication primitive is only passed to the TC-USER if the requested service cannot be provided and the TC-USER requested the Return Option in the Quality of Service parameter of the dialog handling request primitive.
Invoke a Remote Operation
The TC-INVOKE (ITU), TC-INVOKE-L (ANSI) and TC-INVOKE-NL (ANSI) primitives are used to invoke a remote operation.
TC-INVOKE-LAST (ANSI)
Indicates the only or last segment of the invocation.
TC-INVOKE-NOT LAST (ANSI)
Indicates a segment of an invocation (with more segments to follow).
Report of Success
The TC-RESULT-L and TC-RESULT-NL primitives are used to indicate that an operation has been executed by the remote TC-USER.
TC-RESULT-L
Indicates the only or last segment of a result.
MSP
1086
TC-RESULT-NL
Indicates a segment of a result (with more segments to follow).
Report of Failure
A TC-USER receiving an operation which it cannot execute, though it understands it, will issue a TC-U-ERROR request primitive, indicating the reason of the failure (Error parameter). The TC-USER which invoked the operation is informed by a TC-U-ERROR indication primitive.
Reject by TC-USER
A TC-USER rejects a component with the TC-U-REJECT request primitive, and is informed of rejection by the remote TC_User with the TC-U-REJECT indication primitive.
Cancel of an Operation: The TC-USER informs the local Component sub-layer of a cancel decision with the TC-U-CANCEL request primitive. No component is sent.
Reject of a Component by the Component Sub-Layer
While detecting that a received component is invalid, the Component sub-layer notifies the local TC-USER with the TC-L-REJECT indication primitive. The reject information is passed to the TC-USER and also retained in the Component sub-layer which uses it to form a Reject component.
The remote TC-USER is informed of the received Reject component through a TC-R-REJECT indication primitive.
Dialog Abort
TCAP may abort the association between users due to an abnormal situation. The structured dialog must then also be aborted. All associated operations are terminated and the TC-USERs are notified with the TC-P-ABORT indication primitive.
Closing a Transaction
A transaction is closed if TC-USER:
Issues:
TC-END (ITU) or TC-RESPONSE (ANSI)
TC-U-ABORT
Receives:
TC-END (ITU) or TC-RESPONSE (ANSI)
TC-U-ABORT
TC-P-ABORT
Incoming Reject Components
Developer Information
1087
An incoming reject component received with a TCAP Problem Code causes a TC-R-REJECT indication to be sent to the TC-USER. This indicates that the remote TCAP detected a problem with a previously sent component.
An incoming reject component received with a TC-USER Problem Code causes a TC-U-REJECT indication to be sent to the TC-USER. This indicates that the remote TC-USER detected a problem with a previously sent component and issued a TC-U-REJECT request.
A TC-L- REJECT indication is used when a local TCAP detects a problem with an incoming component. TCAP sends a TC-L- REJECT indication to the host and a Reject component to the remote TCAP.
When a component is rejected by TCAP, all subsequent components within the same TCAP message are discarded. Any components before the invalid component are sent to the host by the proper primitives.
Host Link Failure Handling
When host link failure is detected by the MSP 1010:
TCAP Restart procedures apply for all active subsystems, if the TCAP PPL Component TUSI Config Byte 3 is set as 1.
All local subsystems are set as Prohibited.
When the host link is recovered, it is the hosts responsibility to set all subsystems in service using the N_STATE primitive as allowed.
TCAP Restart
A system reset or switchover will result in a TCAP Restart. All active TCAP dialogs will return to the IDLE state. You can initiate a manual TCAP restart by sending a PPL Event Request message to the TCAP TUSI component with the event of TCAP Restart (0x1E).
Do not reuse the dialog ID immediately after a TCAP Restart as there may be some network messages remaining in queue for the old dialog.
PPL Config Byte 2 of the TCAP TUSI component indicates the Abort Reason sent in the TCAP Abort message following a TCAP Restart.
Notes on TCAP Primitives
For primitives in TCAP (e.g., for TCAP TUSI: TC-BEGIN, TC-CONTINUE, TC-UNI) the following applies:
The maximum ICB length in the PPL Event Indication has a default value of 240.
When any TC-Primitive exceeds 240, then a TCAP TUSI PPL Event Indication (event=0x1F) is sent to the host prior to the actual PPL Event Indication, which means that the following actual PPL Event Indication is truncated. You can increase this value by using TCAP TUSI Config Bytes 4 and 5. See SS7 PPL Information for the config byte message description.
MSP
1088
For the definition and usage of TCAP primitives, refer to the ITU White Book Q.711 Functional Description of Transaction Capabilities and Q.775 Guideline for using TCAP.
Supported Primitives
This section lists the SCCP and TCAP primitives supported by Excels SCCP/TCAP feature. Primitives are sent to and received from the MSP in the PPL Event Request and PPL Event Indication messages in ICBs.
Important! SCCP/TCAP primitives should not be confused with Excel PPL primitives. TCAP Components should not be confused with Excel PPL components. See PPL Information for PPL event values and ICB formats.
The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive. See SCCP/TCAP Parameter Information for the data required for each parameter.
The ANSI specification does not define TCAP primitives to TC_User. Where common primitives are used, Excel followed the ITU Q.771 definitions.
ITU Primitives
The following ITU SCCP and TCAP primitives are supported by the PPL Event Request and PPL Event Indication messages. The primitive is supported by both messages unless noted otherwise.
TCAP
TC-BEGIN 0x01
TC-CONTINUE 0x02
TC-END 0x03
TC-UNI 0x04
TC-U-ABORT 0x05
TC-P-ABORT 0x06 (Indication only)
TC-RESULT-L 0x0C
TC-RESULT-NL 0x0D
TC-U-ERROR 0x0E
TC-L-CANCEL 0x0F (Indication only)
TC-U-REJECT (0x12)
TC-L-REJECT 0x13 (Indication only)
TC-R-REJECT 0x14 (Indication only)
TC-INVOKE 0x15
TC-U-CANCEL 0x16 (Request only)
TC-NOTICE 0x17 (Indication only)
TC_RESET_TIMER 0x19 (Request only)
SCCP
Developer Information
1089
N-UNIT-DATA 0x01
N-NOTICE 0x02 (Indication only)
N-STATE 0x03
N-PC-STATE 0x04 (Indication only)
SCCP CSCC
N-COORD 0x05
N-COORD 0x08
SCCP SCOC
N-CONNECT 0x15
N-CONNECT 0x16 (Response/Confirmation)
N-DATA 0x17
N-DISCONNECT Ox1B
ANSI Primitives
The ANSI primitives are supported by both the PPL Event Request and PPL Event Indication message unless noted otherwise.
TCAP
TC-UNI 0x04
TC-U-ABORT 0x05
TC-P-ABORT 0x06 (Indication only)
TC-QUERY-WITH-PERMISSION 0x07
TC-QUERY-WITHOUT-PERMISSION 0x08
TC-CONVERSATION-WITH-PERMISSION 0x09
TC-CONVERSATION-WITHOUT-PERMISSION 0x0A
TC-RESPONSE 0x0B
TC-RESULT-L 0x0C
TC-RESULT-NL 0x0D
TC-U-ERROR 0x0E
TC-INVOKE-L 0x10
TC-INVOKE-NL 0x11
TC-U-REJECT 0x12
TC-L-REJECT 0x13 (Indication only)
TC-R-REJECT 0x14 (Indication only)
TC-U-CANCEL 0x16 (Request only)
TC-NOTICE 0x17 (Indication only)
SCCP
MSP
1090
N-UNIT-DATA 0x01
N-NOTICE 0x02 (Indication only)
N-STATE 0x03
N-PC-STATE 0x04 (Indication only)
SCCP CSCC
N-COORD 0x05
N-COORD 0x08
SCCP SCOC
N-CONNECT 0x15
N-CONNECT 0x16 (Response/Confirmation)
N-DATA 0x17
N-DISCONNECT Ox1B
Developer Information
1091
ANSI TCAP Primitives
Overview
This section lists the ANSI TCAP primitives supported by the SCCP/TCAP feature. Primitives are sent to and received from the MSP 1010 in the PPL Event Request and PPL Event Indication messages in ICBs:
SS7 TCAP Parameters (0x21).
Important! The TCAP ICB always includes a dialog ID which is four bytes.
ANSI Primitives
The ANSI primitives are supported by both the PPL Event Request and PPL Event Indication message unless noted otherwise.
TC-UNI
TC-QUERY-WITH-PERMISSION
TC-QUERY-WITHOUT-PERMISSION
TC-CONVERSATION-WITH-PERMISSION
TC-CONVERSATION-WITHOUT-PERMISSION
TC-RESPONSE
TC-U-ABORT
TC-P-ABORT (Indication only)
TC-NOTICE (Indication only)
TC-INVOKE-L
TC-INVOKE-NL
TC-RESULT-L
TC-RESULT-NL
TC-U-ERROR
TC-U-REJECT
TC-L-REJECT (Indication only)
TC-R-REJECT (Indication only)
TC-U-Cancel (Request only)
N-UNIT-DATA
N-NOTICE (Indication only)
N-STATE
N-PC-STATE (Indication only)
ANSI TCAP TUSI PPL Events
MSP
1092
The TCAP User Interface is responsible for host API message validation. This section lists the PPL Events used to send ANSI TCAP primitives in the PPL Event Request and PPL Event Indication messages.The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive. See SCCP/TCAP Parameter Information for the data required for each parameter.
The following events are used to send and receive ANSI primitives for the PPL component, TCAP TUSI (0x70). The primitive IDs correspond to the PPL Event IDs for this component. The ANSI specification does not define TCAP primitives to TC_User. Where common primitives are used, Excel followed the ITU Q.771 definitions.
Note: An asterisk beside an event indicates that you should see SCCP/TCAP Parameter Information for the format.
0x04 TC-UNI
This dialog primitive requests/indicates an Unstructured dialog. It corresponds to an Unidirectional TCAP package. Note that the TCAP ICB always includes a dialog ID.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x05 TC-U-ABORT
This dialog primitive allows a TC-USER to terminate a dialog abruptly without transmitting any pending components.
Request Indication
TCAP Parameter ICB (M)
- User Abort Info (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Parameter ICB (M)
- User Abort Info (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x06 TC-P-ABORT
Developer Information
1093
This dialog primitive informs TC-USER that the dialog has been terminated by the TCAP because a protocol error has been detected. No pending components will be sent.
Request Indication
TCAP Parameter ICB (M)
- P-Abort Cause (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x07 TC-QUERY-WITH-PERMISSION
This dialog primitive is similar to the ITU TC-BEGIN primitive. Under normal circumstances, it will cause a TCAP Query with Permission package to be sent to the network. An Indication indicates an incoming Query with Permission package, which starts a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x08 TC-QUERY-WITHOUT-PERMISSION
This dialog primitive is the same as the TC-QUERY-WITH-PERMISSION except that it indicates to the peer that the transaction cannot be released. See the ANSI specification for more information (this primitive corresponds to the Query Without Permission package). This primitive starts a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
MSP
1094
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x09 TC-CONVERSATION-WITH-PERMISSION
This dialog primitive is similar to the ITU TC-CONTINUE. It corresponds to the TCAP Conversation package. It indicates the continuation of a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
- Called Party Address (CDPA) or CDPA Elements (O)1
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 2
- Called Party Address (CDPA) or CDPA Elements (O) 2
- Quality of Service (O)
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2 CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0A TC-CONVERSATION-WITHOUT-PERMISSION
This primitive is similar to the TC-CONVERSATION-WITH-PERMISSION, except that the peer does not have permission. It corresponds to the ITU Conversation Without Permission package. It is the continuation of a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
- Called Party Address (CDPA) or CDPA Elements (O)1
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)2
- Called Party Address (CDPA) or CDPA Elements (O)2
- Quality of Service (O)
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2 CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0B TC-RESPONSE
Developer Information
1095
This dialog primitive is similar to the ITU TC-END primitive. It corresponds to the ITU Response package when the termination option is set to Basic End. When the termination option is set to
Pre-arranged End, this primitive ends the dialog locally.
Request Indication
TCAP Parameter ICB (M)
- Termination Option
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x0C TC-RESULT-L
This component primitive corresponds to the ITU Return Result Last Component. It is the only result or the last part of the segmented result of a successfully executed operation.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
0x0D TC-RESULT-NL
This component primitive corresponds to the ITU Return Result Not Last Component. It is a non-final part of a segmented result of a successfully executed operation.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
- Last Component (M)
0x0E TC-U-ERROR
This component primitive corresponds to the ITU Return Error component. It indicates that the operation failed.
Request Indication
TCAP Parameter ICB (M) TCAP Parameter ICB (M)
MSP
1096
- Correlation ID (O)
- Error Code (M) *
- Parameter (O) *
- Correlation ID (O)
- Error Code (M) *
- Parameter (O) *
- Last Component (M)
0x10 TC-INVOKE-L
This component primitive corresponds to the ITU Invoke Last component. It is the only part or last part of the segmentation of the invocation of the operation. It may be the invocation of an operation or an invocation responding to another invoke.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID (O)
- Correlation ID (O)
- Operation (M) *
- Parameter (O) *
TCAP Parameter ICB (M)
- Invoke ID (O)
- Correlation ID (O)
- Operation (M) *
- Parameter (O) *
- Last Component (M)
0x11 TC-INVOKE-NL
This component primitive corresponds to the ITU Invoke Not Last component. It is always an invocation responding to another invoke. It is a non-final segment of the invoke.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID (M)
- Correlation ID (M)
- Operation (M) *
- Parameter (O) *
TCAP Parameter ICB (M)
- Invoke ID (M)
- Correlation ID (M)
- Operation (M) *
- Parameter (O) *
- Last Component (M)
0x12 TC-U-REJECT
This component primitive corresponds to a Reject component. It is initiated because of a user decision of Reject an Incoming Component.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M)
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M)(see SCCP/TCAP
Developer Information
1097
- Parameter (O) * Parameter Information for format)
- Parameter (O) *
- Last Component (M)
0x13 TC-L-REJECT
This component primitive indicates the detection of a protocol error in an incoming component. A Reject component is constructed and stored for this dialog, and is sent out upon the reception of another transaction layer primitive request.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID or Correlation ID (O)
- Problem Code (M) (see SCCP/TCAP Parameter Information for format)
- Last Component (M)
0x14 TC-R-REJECT
This indication informs the TC-USER that the remote TCAP rejected a previously sent component.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M) (see SCCP/TCAP Parameter Information for format)
- Last Component (M)
MSP
1098
TCAP Primitive Set Interface
Purpose
The TCAP Primitive Set Interface feature is based on the existing TCAP software architecture. TCAP and the SS7 layer below it reside on the MSP and the TC-User resides on the host.
TCAP communicates with the TC-User through multiple TC-primitives so that a dialog can be embedded into a single PPL Event Request or PPL Event Indications API message.
This feature provides the following:
Reduces the API level transport and processing overhead on various software components, such as the SS7 host communication and transport layer, and host application message processing and transport layer.
Reduces message traffic on the internal Ethernet or HDLC depending on the architecture, thereby improving overall system performance.
TCAP Primitive Set Interface Description
The host application sends and receives messages to and from the TCAP USer Interface (TUSI) PPL component for the primitive set interface. Each TC-primitive type is uniquely identified by a PPL Event ID in the PPL Event Request and PPL Event Indication API messages. These API messages include all of the ICBs for each individual TC-primitive. A component TC-primitive includes a TCAP parameter ICB. A dialog TC-primitive includes a TCAP parameter ICB plus an optional SCCP parameter ICB for SCCP addresses.
TCAP Outgoing Message
The TUSI parses and validates the PPL Event Request API message with TC primitive set PPL Event ID from the TC-User. After validation, the TUSI sends the component primitive data and the dialog primitive data to the TCAP PPL components according to the TCAP protocol.
The TUSI first sends each component primitive data to the TCAP PPL components in the order presented in the API message.
The TUSI then sends the dialog primitive data to the TCAP PPL components and sends a Positive Acknowledgement to the TC-User.
Other TCAP PPL components will process each of these primitives individually.
TCAP Incoming Message
When TCAP receives an incoming message with one or more components, the TCAP PPL components process this message according to the TCAP protocol.
After processing, the dialog primitive data first and then the component primitive data are sent to the TUSI.
Developer Information
1099
The TUSI packs the dialog primitive ICB(s), followed by all the component ICBs in the order it receives them.
It then sends all of these ICBs in one PPL Event Indication API message to the TC-User.
TUSI Negative Acknowledgements (NACK)
The TUSI sends a negative acknowledgement (NACK) to the TC-User if it detects syntax errors in the PPL Event Request API message. The TC-User may re-send the API message after receiving a NACK from TCAP.
Important! The TC-User is responsible for the correctness and consistency of the contents in the PPL Event Request API message. After the TUSI validates the API message syntax and sends the dialog and component primitives to other TCAP PPL components, TCAP would consider any detected error as an unrecoverable error for the dialog primitives, therefore the dialog primitives will be aborted in this case. The TC-User as well as the network (if needed) will be informed.
TCAP Primitive Set Interface Call Flow
The following call flow provides an example of the TCAP to TC-User interface using the TCAP Primitive Set Interface feature.
TCAP Primitive Sets PPL Events
The TCAP Primitive Sets PPL Events listed below are provided for the TCAP Primitive Set Interface. One PPL Event is defined for each dialog TC-primitive type that is allowed to have attached component(s). The PPL Events listed below are in addition to the currently supported PPL Events for individual TC-primitives.
ANSI Variant TC Primitive Set PPL Events
TC_UNI Primitive Set (0x31) (PPL Event Indication and PPL Event Request)
TC_QUERY_WITH_PERMISSION Primitive Set (0x35) (PPL Event Indication and PPL Event Request)
TC_QUERY_WITHOUT_PERMISSION Primitive Set (0x36) (PPL Event Indication and PPL Event Request)
MSP
1100
TC_CONVERSATION_WITH_PERMISSION Primitive Set (0x37) (PPL Event Indication and PPL Event Request)
TC_CONVERSATION_WITHOUT_PERMISSION Primitive Set (0x38) (PPL Event Indication and PPL Event Request)
TC_RESPONSE Primitive Set (0x39) (PPL Event Indication and PPL Event Request)
ITU/ETSI Variant TC Primitive Set PPL Events
TC_UNI Primitive Set (0x31) (PPL Event Indication and PPL Event Request)
TC_BEGIN Primitive Set (0x32) (PPL Event Indication and PPL Event Request)
TC_CONTINUE Primitive Set (0x33) (PPL Event Indication and PPL Event Request)
TC_END Primitive Set (0x34) (PPL Event Indication and PPL Event Request)
ANSI/ITU/ETSI Variant TC Primitive PPL Event
PPL_EVENT_TCAP_INITIATED_U_ABORT (0x21) (PPL Event Indication)
This PPL Event Indication is initiated by TCAP due to software internal inconsistency and unrecoverable errors. These errors can be caused by incorrect data passed from the TC-User or other software module in the system as well as TCAP internal software errors.
Important! This event is different from TC_U_ABORT event that indicates the remote TCAP User aborted the transaction.
TC Primitive Set
To align with the ICBs in individual TC-primitives, a TC Primitive Set includes a TCAP dialog primitive ICB and zero, one, or more TCAP component ICBs, and an optional SCCP ICB for SCCP addresses.
A zero-component is allowed to be compliant with the TCAP standard where the component portion is optional in some TCAP messages. Whether it is mandatory for each TCAP message to include a component is based on the specific TCAP standard variants.
When using the TCAP Primitive Set Interface, use the following TC-primitive variants in addition to the TC primitive set events:
ANSI Variants
TC_U_ABORT (PPL Event Indication and PPL Event Request)
TC_P_ABORT (PPL Event Indication)
TC_NOTICE (PPL Event Indication)
ITU/ETSI Variants
TC_U_ABORT (PPL Event Indication and PPL Event Request)
TC_P_ABORT (PPL Event Indication)
Developer Information
1101
TC_NOTICE (PPL Event Indication)
TC_L_CANCEL (PPL Event Indication)
TCAP Primitive Options
TCAP primitive configuration options, per SS7 stack, are provided to select either the Individual TCAP Primitive API option or the TCAP Primitive Set Interface option.
The default is the Individual TC Primitive API option for backward compatibility considerations. The TCAP PPL Component TUSI Configuration Byte is used for this purpose.
Use the TCAP primitive ICB subtype for TCAP primitive sets.
ICB Subtype - TCAP Primitive ICB
The TCAP primitive ICB subtype (0x65) has two additional bytes for the TCAP TC-primitive ID in the following ICB formats:
Data (bytes 8 and 9)
Extended Data (bytes 10 and 11)
Compared to the existing TCAP parameter ICB, the TCAP TC-primitive ID value is same as the corresponding PPL Event ID value. The TCAP parameter TLVs for each TC primitive remain same as in current TCAP parameter ICB.
TCAP TUSI PPL Configuration Byte
Byte Description Value
0x09 Selects TCAP to TC-User interface format
0x00 = Use individual TC-Primitive (Default)
0x01 = Use TCAP Primitive Set Interface
Examples
You can view TCAP Primitive Set API messaging examples in Example Configurations and TCAP API Messaging.
MSP
1102
ITU TCAP Primitives
Overview
This section lists the ITU TCAP primitives supported by the SCCP/TCAP feature. Primitives are sent to and received from the MSP 1010 in the PPL Event Request and PPL Event Indication messages in ICBs:
SS7 TCAP Parameters (0x21).
Important! The TCAP ICB always includes a dialog ID which is four bytes.
ITU Primitives
The following ITU TCAP primitives are supported by the PPL Event Request and PPL Event Indication messages. The primitive is supported by both messages unless noted otherwise.
TC-UNI
TC-BEGIN
TC-CONTINUE
TC-END
TC-U-ABORT
TC-P-ABORT (Indication only)
TC-NOTICE (Indication only)
TC-INVOKE
TC-RESULT-L
TC-RESULT-NL
TC-U-ERROR
TC-U-REJECT
TC-L-CANCEL (Indication only)
TC-U-CANCEL (Request only)
TC-L-REJECT (Indication only)
TC-R-REJECT (Indication only)
N-UNIT-DATA
N-NOTICE (Indication only)
N-STATE
N-PC-STATE (Indication only)
TC_RESET_TIMER
ITU TCAP TUSI PPL Events
Developer Information
1103
The TCAP User Interface is responsible for host API message validation. This section lists the PPL Events used to send ITU TCAP primitives in the PPL Event Request and PPL Event Indication messages. The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive. See SCCP/TCAP Parameter Information for the data required for each parameter.
The following events are used to send and receive ITU primitives for the PPL component, TCAP TUSI (0x70). The primitive IDs correspond to the PPL Event IDs for this component.
Note: An asterisk beside an event indicates that you should see SCCP/TCAP Parameter Information for the format.
0x01 TC-BEGIN
Request Indication
TCAP Parameter ICB (M)
- Application Context Name (O)
- User Information (O)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
- MTP_DPC (0)
TCAP Parameter ICB (M)
- Application Context Name (O)
- User Information (O)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
- MTP_OPC (0)
0x02 TC-CONTINUE
Request Indication
TCAP Parameter ICB (M)
- Application Context Name (O)
- User Information (O)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Application Context Name (O)
- User Information (O)
- Component Present (M)
SCCP Parameter ICB (O)
- Quality of Service (O)
0x03 TC-END
Request Indication
TCAP Parameter ICB (M) TCAP Parameter ICB (M)
MSP
1104
- Application Context Name (O)
- User Information (O)
- Termination Option (M)
SCCP Parameter ICB (O)
- Quality of Service (O)
- Application Context Name (O)
- User Information (O)
- Component Present (M
SCCP Parameter ICB (O)
- Quality of Service (O)
0x04 TC-UNI
This dialog primitive requests/indicates an Unstructured dialog. It corresponds to an Unidirectional TCAP package.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x05 TC-U-ABORT
This dialog primitive allows a TC-USER to terminate a dialog abruptly without transmitting any pending components.
Request Indication
TCAP Parameter ICB (M)
- User Abort Info (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Parameter ICB (M)
- User Abort Info (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x06 TC-P-ABORT
This dialog primitive informs TC-USER that the dialog has been terminated by the TCAP because a protocol error has been detected. No pending components will be sent.
Request Indication
Developer Information
1105
TCAP Parameter ICB (M)
- P-Abort Cause (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x07 TC-QUERY-WITH-PERMISSION
This dialog primitive is similar to the ITU TC-BEGIN primitive. Under normal circumstances, it will cause a TCAP Query with Permission package to be sent to the network. An Indication indicates an incoming Query with Permission package, which starts a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
- MTP_DPC (0)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
- MTP_OPC (0)
0x08 TC-QUERY-WITHOUT-PERMISSION
This dialog primitive is the same as the TC-QUERY-WITH-PERMISSION except that it indicates to the peer that the transaction cannot be released. See the ANSI specification for more information (this primitive corresponds to the Query Without Permission package). This primitive starts a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
MSP
1106
- MTP_DPC (0) - MTP_OPC (0)
0x09 TC-CONVERSATION-WITH-PERMISSION
This dialog primitive is similar to the ITU TC-CONTINUE. It corresponds to the TCAP Conversation package. It indicates the continuation of a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
- Called Party Address (CDPA) or CDPA Elements (O) 1
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 2
- Called Party Address (CDPA) or CDPA Elements (O) 2
- Quality of Service (O)
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0A TC-CONVERSATION-WITHOUT-PERMISSION
This primitive is similar to the TC-CONVERSATION-WITH-PERMISSION, except that the peer does not have permission. It corresponds to the ITU Conversation Without Permission package. It is the continuation of a dialog.
Request Indication
TCAP Parameter ICB (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
- Called Party Address (CDPA) or CDPA Elements (O) 1
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 2
- Called Party Address (CDPA) or CDPA Elements (O) 2
- Quality of Service (O)
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2 CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0B TC-RESPONSE
Developer Information
1107
This dialog primitive is similar to the ITU TC-END primitive. It corresponds to the ITU Response package when the termination option is set to Basic End. When the termination option is set to
Pre-arranged End, this primitive ends the dialog locally.
Request Indication
TCAP Parameter ICB (M)
- Termination Option
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Parameter ICB (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
0x0C TC-RESULT-L
This component primitive corresponds to the ITU Return Result Last Component. It is the only result or the last part of the segmented result of a successfully executed operation.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
0x0D TC-RESULT-NL
This component primitive corresponds to the ITU Return Result Not Last Component. It is a non-final part of a segmented result of a successfully executed operation.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Parameter (O) *
- Last Component (M)
0x0E TC-U-ERROR
This component primitive corresponds to the ITU Return Error component. It indicates that the operation failed.
Request Indication
MSP
1108
TCAP Parameter ICB (M)
- Correlation ID (O)
- Error Code (M) *
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Error Code (M) *
- Parameter (O) *
- Last Component (M)
0x10 TC-INVOKE-L
This component primitive corresponds to the ITU Invoke Last component. It is the only part or last part of the segmentation of the invocation of the operation. It may be the invocation of an operation or an invocation responding to another invoke.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID (O)
- Correlation ID (O)
- Operation (M) *
- Parameter (O) *
TCAP Parameter ICB (M)
- Invoke ID (O)
- Correlation ID (O)
- Operation (M) *
- Parameter (O) *
- Last Component (M)
0x11 TC-INVOKE-NL
This component primitive corresponds to the ITU Invoke Not LAst component. It is always an invocation responding to another invoke. It is a non-final segment of the invoke.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID (M)
- Correlation ID (M)
- Operation (M) *
- Parameter (O) *
TCAP Parameter ICB (M)
- Invoke ID (M)
- Correlation ID (M)
- Operation (M) *
- Parameter (O) *
- Last Component (M)
0x12 TC-U-REJECT
This component primitive corresponds to a Reject component. It is initiated because of a user decision of Reject an Incoming Component.
Developer Information
1109
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M)
- Parameter (O) *
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M) (see SCCP/TCAP Parameter Information for format)
- Parameter (O) *
- Last Component (M)
0x13 TC-L-REJECT
This component primitive indicates the detection of a protocol error in an incoming component. A Reject component is constructed and stored for this dialog, and is sent out upon the reception of another transaction layer primitive request.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID or Correlation ID (O)
- Problem Code (M) (see SCCP/TCAP Parameter Information for format)
- Last Component (M)
0x14 TC-R-REJECT
This indication informs the TC-USER that the remote TCAP rejected a previously sent component.
Request Indication
TCAP Parameter ICB (M)
- Correlation ID (O)
- Problem Code (M) (see SCCP/TCAP Parameter Information for format)
- Last Component (M)
0x16 TC-U-CANCEL
This is a user request to cancel an operation. No component is sent.
Request Indication
TCAP Parameter ICB (M)
- Invoke ID (M)
0x17 TC-NOTICE
MSP
1110
This primitive informs the TC-USER that the network service provider is unable to provide the requested service.
Request Indication
TCAP Parameter ICB (M)
- Return Cause (M)
Elements (0)
- Called Party Address (CDPA) or CDPA
0x19 TC-RESET TIMER
This primitive resets the Invoke timer for TC_INVOKE primitive initiated from the MSP 1010.
Request Indication
Dialog ID (M)
Invoke ID (M)
Developer Information
1111
ITU and ANSI SCCP Primitives
Overview
This section lists the SCCP primitives supported by the SCCP/TCAP feature. Primitives are sent to and received from the switch in the PPL Event Request and PPL Event Indication messages in the ICB:
SS7 SCCP Parameters (0x20)
SS7 SCCP CO Parameters (0x42)
Important! SCCP/TCAP primitives should not be confused with Excel PPL primitives. SCCP Components should not be confused with Excel PPL components. See the PPL Information for PPL event values and the API Reference ICB formats.
The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive. See SCCP/TCAP Parameter Information for the data required for each parameter.
ITU/ANSI SCCP Events
The SCCP User Interface is responsible for message validation and format conversion. The following events are used to send and receive primitives for the PPL component, SCCP SUSI (0x67).
N-UNIT-DATA (0x01)
Request Indication
SCCP Parameter ICB (M)
- User Data (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
Same as Request.
N-NOTICE (0x02)
Request Indication
SCCP Parameter ICB (M)
- User Data (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Reason for Return (M)
MSP
1112
N-STATE (0x03)
Request Indication
SCCP Parameter ICB (M)
- Subsystem Number (M)
- Subsystem Status (M)
SCCP Parameter ICB (M)
- Destination Point Code (DPC) (M)
- DPC Status (O)
- Remote SCCP Status (O)
Important! When you use the N_STATE event to set a subsystem prohibit, all of the active TCAP dialogs associated with the SSN are automatically released.
N-PCSTATE (0x04 )
Request Indication
SCCP Parameter ICB (M)
- Destination Point Code (DPC) (M)
- DPC Status (O)
- Remote SCCP Status (O)
N-COORD (0x05)
Request Indication
SCCP CO Parameters ICB(M)
- Affected Subsystem
SCCP CO Parameters ICB(M)
- Affected Subsystem
- Subsystem Multiplicity Indicator (O)
N-COORD (0x08)
Response Confirm
SCCP CO Parameter ICB(M)
-Affected Subsystem
SCCP CO Parameter ICB(M)
- Affected Subsystem
- Subsystem Multiplicity Indicator (O)
ITU/ANSI SCCP CO Events
N-Connect (0x15)
Request Indication
- SCCP Parameter ICB (M)
- Calling Party address (O)
- Calling Party address (M)
- SCCP Parameter ICB (M)
- Calling Party address (O)
- Calling Party address (M)
Developer Information
1113
- Expedited data selection (O)
- QOS parameter set (M)
- User data (O)
- Connection identification (O)
- Importance (O)
- Expedited data selection (O)
- QOS parameter set (M)
- User data (O)
- Connection identification (O)
- Importance (O)
N-Connect (0x16)
Response Confirmation
- SCCP Parameter ICB (M)
- Responding address (O)
- Expedited data selection (O)
- QOS parameter set (M)
- User data (O)
- Connection identification (O)
- Importance (O)
- SCCP Parameter ICB (M)
- Responding address (O)
- Expedited data selection (O)
- QOS parameter set (M)
- User data (O)
- Connection identification (O)
- Importance (O)
N-Data (0x17)
Request Indication
- SCCP Parameter ICB (M)
- User data (O)
- Connection identification (O)
- Importance (O)
- SCCP Parameter ICB (M)
- User data (O)
- Connection identification (O)
- Importance (O)
N-Disconnect (0x1B)
Request Indication
- Originator
- Responding address (O)
- Reason (M)
- User data (O)
- Connection identification (O)
- Importance (O)
- Originator
- Responding address (O)
- Reason (M)
- User data (O)
- Connection identification (O)
- Importance (O)
MSP
1114
ITU TCAP Primitive Sets
Overview
The TCAP Primitive Set feature provides an interface to combine one TCAP dialog, TC-Primitive, and its multiple associated components into one PPL Event Request or PPL Event Indication. This section lists the ITU TCAP Primitive Sets supported by Excels SCCP/TCAP feature. Primitive Sets are sent to and received from the MSP 1010 in the PPL Event Request and PPL Event Indication messages in ICBs:
SS7 TCAP Primitive ICB (0x65)
SS7 TCAP Parameters ICB (0x21)
Important! The maximum number of ICBs for the TCAP primitive set is 16. If this maximum is exceeded, the MSP 1010 sends negative acknowledgement 0x5401.
The TCAP parameter ICBs always include a dialog ID which is four bytes. The TCAP Primitive ICB includes a four-byte dialog ID and a two-byte Event ID.
ITU Primitive Sets
The following ITU TCAP Primitive Sets are supported by the PPL Event Request and PPL Event Indication messages. Each primitive set is supported by both messages unless noted otherwise.
TC-BEGIN Primitive Set
TC-CONTINUE Primitive Set
TC-END Primitive Set
TC-UNI Primitive Set
Needed Primitives
When using the Primitive Set interface you may also need the following primitives.
TC-U-ABORT (Request and Indication)
TC-P-ABORT (Indication only)
TC-NOTICE (Indication only)
TC-L-CANCEL (Indication only)
ITU TCAP TUSI PPL Events
The TCAP User Interface is responsible for host API message validation. This section lists the PPL Events used to send ITU TCAP primitive sets in the PPL Event Request and PPL Event Indication messages. The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive set. See SCCP/TCAP Parameter Information for the data required for each parameter.
Developer Information
1115
The following events are used to send and receive ITU primitive sets for the PPL component, TCAP TUSI (0x70). The primitive set IDs correspond to the PPL Event IDs for this component.
In the tables below you will see: TCAP Primitive ICB for a component (none or multiple)*. This refers to the Primitive ID in the SS7 TCAP Primitive ICB 0x65. The Primitive ID in this ICB has the same ID as the Event ID in the TCAP Primitive Interface for the same component. The Primitive IDs used for the following TCAP Primitive Sets are:
TC-RESULT-L 0x0C
TC-RESULT-NL 0x0D
TC-U-ERROR 0x0E
TC-U-REJECT (0x12)
TC-L-REJECT 0x13 (Indication only)
TC-R-REJECT 0x14 (Indication only)
TC-INVOKE 0x15
TC-U-CANCEL 0x16 (Request only)
The Parameter TLV for a particular Primitive ID remains the same as if they were in the TCAP Primitive Interface for the same Event ID.
0x01 TC-BEGIN Primitive Set
Request Indication
TCAP Primitive ICB0x65 (M)
- Application Context Name (O)
- User Information (O)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
- MTP_DPC (O)
TCAP Primitive ICB for a component (none or multiple)*
TCAP Primitive ICB 0x65 (M)
- Application Context Name (O)
- User Information (O)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
- MTP_OPC (O)
TCAP Primitive ICB for a component (none or multiple)*
0x02 TC-CONTINUE Primitive Set
Request Indication
TCAP Primitive ICB 0x65 (M)
- Application Context Name (O)
TCAP Primitive ICB 0x65 (M)
- Application Context Name (O)
MSP
1116
- User Information (O)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
- User Information (O)
- Component Present (M)
SCCP Parameter ICB (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
0x03 TC-END Primitive Set
Request Indication
TCAP Primitive ICB 0x65 (M)
- Application Context Name (O)
- User Information (O)
- Termination Option (M)
SCCP Parameter ICB (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
TCAP Primitive ICB 0x65 (M)
- Application Context Name (O)
- User Information (O)
- Component Present (M)
SCCP Parameter ICB (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
0x04 TC-UNI Primitive Set
This dialog primitive set requests/indicates an Unstructured dialog. It corresponds to an Unidirectional TCAP package.
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (none or multiple)*
Developer Information
1117
ANSI TCAP Primitive Sets
Overview
The TCAP Primitive Set feature provides an interface to combine one TCAP dialog, TC-Primitive, and its multiple associated components into one PPL Event Request or PPL Event Indication. This section lists the ANSI TCAP Primitive Sets supported by Excels SCCP/TCAP feature. Primitive Sets are sent to and received from the MSP 1010 in the PPL Event Request and PPL Event Indication messages in ICBs:
SS7 TCAP Primitives ICB (0x65)
SS7 TCAP Parameters ICB (0x21)
Important! The maximum number of ICBs for the TCAP primitive set is 16. If this maximum is exceeded, the MSP 1010 sends negative acknowledgement 0x5401.
The TCAP ICBs always includes a dialog ID which is four bytes. The TCAP Primitive ICB includes a four-byte dialog ID and a two-byte Event ID.
ANSI Primitives
The ANSI Primitive Sets are supported by both the PPL Event Request and PPL Event Indication message unless noted otherwise.
TC-UNI Primitive Set
TC-QUERY-WITH-PERMISSION Primitive Set
TC-QUERY-WITHOUT-PERMISSION Primitive Set
TC-CONVERSATION-WITH-PERMISSION Primitive Set
TC-CONVERSATION-WITHOUT-PERMISSION Primitive Set
TC-RESPONSE Primitive Set
Needed Primitives
When using the Primitive Set interface you may also need the following primitives.
TC-U-ABORT (Request and Indication)
TC-P-ABORT (Indication only)
TC-NOTICE (Indication only)
ANSI TCAP TUSI PPL Events
The TCAP User Interface is responsible for host API message validation. This section lists the PPL Events used to send ANSI TCAP primitives in the PPL Event Request and PPL Event Indication messages.The required ICBs with mandatory (M) and optional (O) parameters are shown with each primitive. See SCCP/TCAP Parameter Information for the data required for each parameter.
The following events are used to send and receive ANSI primitives for the PPL component, TCAP TUSI (0x70). The primitive IDs correspond to the PPL Event IDs
MSP
1118
for this component. The ANSI specification does not define TCAP primitives to TC_User. Where common primitives are used, Excel followed the ITU Q.771 definitions.
In the tables below you will see: TCAP Primitive ICB for a component (one or more)*. This refers to the Primitive ID in the SS7 TCAP Primitive ICB 0x65. The Primitive ID in this ICB has the same ID as the Event ID in the TCAP Primitive Interface for the same component. The Primitive IDs used for the following TCAP Primitive Sets are:
TC-RESULT-L 0x0C
TC-RESULT-NL 0x0D
TC-U-ERROR 0x0E
TC-INVOKE-L 0x10
TC-INVOKE-NL 0x11
TC-U-REJECT 0x12
TC-L-REJECT 0x13 (Indication only)
TC-R-REJECT 0x14 (Indication only)
TC-U-CANCEL 0x16 (Request only)
The Parameter TLV for a particular Primitive ID remains the same as if they were in the TCAP Primitive Interface for the same Event ID.
0x04 TC-UNI Primitive Set
This dialog primitive set requests/indicates an Unstructured dialog. It corresponds to an Unidirectional TCAP package. Note that the TCAP ICB always includes a dialog ID.
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
0x07 TC-QUERY-WITH-PERMISSION Primitive Set
This dialog primitive set is similar to the ITU TC-BEGIN primitive. Under normal circumstances, it will cause a TCAP Query with Permission package to be sent to the network. An Indication indicates an incoming Query with Permission package, which starts a dialog.
Developer Information
1119
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
0x08 TC-QUERY-WITHOUT-PERMISSION Primitive Set
This dialog primitive set is the same as the TC-QUERY-WITH-PERMISSION except that it indicates to the peer that the transaction cannot be released. See the ANSI specification for more information (this primitive corresponds to the Query Without Permission package). This primitive starts a dialog.
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (O)
- Called Party Address (CDPA) or CDPA Elements (M)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (M)
- Calling Party Address (CGPA) or CGPA Elements (M)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
0x09 TC-CONVERSATION-WITH-PERMISSION Primitive Set
This dialog primitive set is similar to the ITU TC-CONTINUE. It corresponds to the TCAP Conversation package. It indicates the continuation of a dialog.
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 2
MSP
1120
- Called Party Address (CDPA) or CDPA Elements (O)1
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
- Called Party Address (CDPA) or CDPA Elements (O) 2
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2 CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0A TC-CONVERSATION-WITHOUT-PERMISSION Primitive Set
This primitive set is similar to the TC-CONVERSATION-WITH-PERMISSION, except that the peer does not have permission. It corresponds to the ITU Conversation Without Permission package. It is the continuation of a dialog.
Request Indication
TCAP Primitive ICB 0x65 (M)
- No parameters included
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O) 1
- Called Party Address (CDPA) or CDPA Elements (O)1
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA Elements (O)2
- Called Party Address (CDPA) or CDPA Elements (O)2
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
1 CGPA and CDPA are stored for the dialog when it is initialed. TC-USER provides CGPA and CDPA only if they are changed.
2 CGPA and CDPA are sent to the host only if they differ from the stored values.
0x0B TC-RESPONSE Primitive Set
This dialog primitive set is similar to the ITU TC-END primitive. It corresponds to the ITU Response package when the termination option is set to Basic End. When the termination option is set to
Pre-arranged End, this primitive ends the dialog locally.
Request Indication
TCAP Primitive ICB 0x65 (M)
- Termination Option
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA
TCAP Primitive ICB 0x65 (M)
- Component Present (M)
SCCP Parameter ICB (O)
- Calling Party Address (CGPA) or CGPA
Developer Information
1121
Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
Elements (O)
- Called Party Address (CDPA) or CDPA Elements (O)
- Quality of Service (O)
TCAP Primitive ICB for a component (one or more)*
MSP
1122
SCCP/TCAP Parameter Information
Overview
This section contains information on SCCP and TCAP parameters inserted into the SCCP and TCAP ICBs. Note special instructions for the parameters described below.
Description of Parameters
Called Party Address (CDPA)
The CDPA in the primitive request is used if specified. If DPC is not included in the CDPA, the MTP DPC or adjacent translator must be provided.
The following sequence is used for deriving the DPC:
Use DPC in CDPA if provided; otherwise,
If CDPA routes on DPC/SSN, then use the MTP DPC in the primitive or in the SSN default table. If CDPA routes on Global Title, then use the first adjacent translator as the DPC.
Important! As an SSP, Global Title Translation (GTT) is not provided.
Calling Party Address (CGPA)
The CGPA in the primitive request is used if provided; otherwise,
If a TCAP primitive, the CGPA stored for this dialog is used.
If configured for this SSN, the CGPA in the SSN default table is used.
Component Present
This indicates whether or not components are present. If components are present, then only syntactically valid and opportune components are delivered to the destination TC-USER.
Dialog ID
This parameter appears in the dialog handling and component handling primitives. to associate components with a dialog. The same dialog ID must be used within the same dialog. In a Unidirectional primitive, the same dialog ID assures that all components with the identical dialog ID are blocked together in the same Unidirectional message destined for the same destination address.
For structured dialogs, the dialog ID is used to identify all components belonging to the same dialog from the beginning of the dialog to its end. The dialog ID maps onto the transaction IDs exchanged in the messages between a pair of nodes.
Error Code
Use the NATIONAL-ERR-CODE parameter type (0x47) if a national error code is used, or the PRIVATE-ERR-CODE tag (0x48) if a private error code is used.
Developer Information
1123
Last Component
Used in primitives of the Indication type to designate the last component of a message. Note that indication of the last part of the result of an operation is via the name of the primitive.
In the case of multiple components received within a TCAP message, a TC-transaction indication primitive followed by several TC-component indication primitives are sent to the TC-USER. The Last Component parameter in the TC-component primitive specifies if this component is the last component in the message.
This should not be confused with the Last/Not Last primitive type, which indicates the last or not last part of an operation or result of an operation.
Operation
Use the GLOBAL-OPER-CODE parameter type (0x2C) if a national operation code is used, or a LOCAL-OPER-CODE tag (0x2D) if a private operation code is used.
Parameter (ITU only)
Use the PARAMETER-SEQ parameter type (0x4A) to send a sequence of parameters or the PARAMETER-SET tag (0x4B) to send a parameter set.
Problem Code (ITU only)
Use PROBLEM-TYPE-CODE parameter type.
Quality of Service
The QOS in the primitive request is used if specified, otherwise:
The QOS in the SSN default table is used if it is configured for the subsystem, otherwise;
The following default configuration is used:
Return Option = Do Not Return on Error
Sequence Option = Sequence Not Guaranteed
Message Priority (ANSI)=0x00
Termination
Indicates which scenario is chosen by the TC-USER for the end of the dialog (prearranged or basic).
Timeout (ITU only)
The timeout value is in 10 ms units.
ITU Parameter Information
MSP
1124
This section contains information on ITU SCCP and TCAP parameters inserted into the SCCP and TCAP ICBs.
ITU SCCP Parameter IDs
0x66 CGPA (Calling Party Address)
0x67 CGPA (Calling Party Address) Element
0x68 CDPA (Called Party Address)
0x69 CDPA (Called Party Address) Element
0x6A QOS (Quality of Service)
0x6B User Data
0x6C CDPA (Called Party Address) DPC
0x6D Return Reason
0x6E SSN (Subsystem Number)
0x6F SPC (Signaling Point Code)
0x70 SSN (Subsystem Number) Status
0x71 SCCP Signaling Point Code Status
0x72 Remote SCCP Status
0x73 MTP OPC
0x74 MTP DPC
ITU TCAP Parameter IDs
0x0F Abort Reason
0x11 P-Abort Cause
0x1F Invoke ID
0x20 Link ID
0x28 Invoke Class
0x29 Invoke Timeout
0x2A Problem Type Code
0x2E Parameter
0x2C Global Operation Code
Developer Information
1125
0x2D Local Operation Code
0x30 Last Component
0x37 Protocol Version
0x38 Application Context Name
0x39 User Info
0x3A Termination Option
0x43 Dialog_AS_ID
0x44 Unidialog_AS_ID
0x45 Component Present
0x47 Global Error Code
0x48 Local Error Code
0x6D Return Reason
ANSI Parameter Information
This section contains information on ANSI SCCP and TCAP parameters inserted into the SCCP and TCAP ICBs.
ANSI SCCP Parameter IDs
0x66 CGPA (Calling Party Address)
0x67 CGPA (Calling Party Address) Element
0x68 CDPA (Called Party Address)
0x69 CDPA (Called Party Address) Element
0x6A QOS (Quality of Service)
0x6B User Data
0x6C CDPA (Called Party Address) DPC
0x6D Return Reason
0x6E SSN (Subsystem Number)
0x6F SPC (Signaling Point Code)
0x70 SSN (Subsystem Number) Status
0x71 SPC (Signaling Point Code)
MSP
1126
Status
0x73 MTP OPC
0x74 MTP DPC
ANSI TCAP Parameter IDs
0x0F User Abort Info
0x11P Abort Cause
0x1F Invoke ID
0x20 Correlation ID
0x2A Problem Type Code
0x2C National Operation Code
0x2D Local Operation Code
0x30 Last Component
0x3A Termination Option
0x45 Component Present
0x47 National Error Code
0x48 Private Error Code
0x4A Parameter Sequence
0x4B Parameter Set
0x6D Return Reason
Parameter Format
The following table illustrates the parameter format for parameters inserted into the SCCP and TCAP ICBs.
Byte Field
Data[0] Parameter 1 ID
Data[1]
Developer Information
1127
Data[2] Parameter Length
Data[3]
Data[4+] Parameter-specific Fields
Parameter Data
This section shows the specific data for each parameter.
Abort Reason
Byte Value(s)
Data[4] Reason
0x00 = User-defined
0x01 = Application Context Name Not Supported (ITU Only)
0x02 - Dialog Refused
Calling Party Address (CGPA)
Byte Value(s)
Data[4+] Calling Party Address
Conforms to ANSI or ITU specification.
Calling Party Address (CGPA) Element
Byte Value(s)
Data[4] Routing Indication 0x00 = Route on GT
0x01 = Route on DPC/SSN
Data[5] National/International Flag
0x00 = Coded International
0x01 = Coded National
0x02 = Coded according to China Specification (same as International except the point codes are 24 bits)
Data[6] Subsystem Number
Data[710] Point Code
Data[11] Global Title Indicator
Data[12] Global Title Length Variable
:
Data[N] Global Title
MSP
1128
Note:
1. Subsystem Number is 0x00 if unknown or not provided.
2. The Point Code is 0xFFFFFFFF if unknown or not provided.
3. The Calling Party Address is constructed with the elements provided and converted to ANSI or ITU format according to the appropriate specification.
4. The National/International flag applies only to indication. In a request, SCCP codes the CGPA according to the SCCP SCLC Component SCLC Configuration Byte 1.
5. Global Title Indicator in Data[11] corresponds to the Global Title Indicator in the SCCP message CGPA.
Called Party Address (CDPA) Element
Byte Value(s)
Data[4] Routing Indication 0x00 = Route on GT
0x01 = Route on DPC/SSN
Data[5] National/International Flag
0x00 = Coded International
0x01 = Coded National
0x02 = Coded according to China Specification (same as International except the point codes are 24 bits)
Data[6] Subsystem Number
Data[710] Point Code
Data[11] Global Title Indicator
Data[12] Global Title Length (Variable)
: :
Data[N] Global Title
Note
1. Subsystem Number is 0x00 if unknown or not provided.
2. The Point Code is 0xFFFFFFFF if unknown or not provided.
3. The Called Party Address is constructed with the elements provided and converted to ANSI or ITU format according to the appropriate specification.
4. The National/International flag applies only to indication. In a request, SCCP codes the CDPA according to the SCCP PPL SCLC Component Config Byte 1.
5. Global Title Indicator in Data[11] corresponds to the Global Title Indicator of the SCCP message CDPA.
Class
Byte Value(s)
Developer Information
1129
Data[4] Class Class Number (14)
Component Present
Byte Value(s)
Data[4] 0x00 Not Present
0x01 Present
Dialog_AS_ID
The values for the Dialog_AS_ID parameter are automatically stored in the MSP 1010, consistent with ITU TCAP specifications. They cannot be modified by the host if you use the ITU White Book.
Byte Value(s)
Data[4] Status
0x01 = Signaling Point Inaccessible
0x02 = SPC Congested
0x03 = SPC Accessible
Error Code
Byte Value(s)
Data[4] Code Global or Local Error Code
Last Component
Byte Value(s)
Data[4] 0x00 Last Component
0x01 Not Last Component
Operation
Byte Value(s)
Data[4] Code
Global or Local Operation Code
MSP
1130
P Abort Cause (ITU)
Byte Value(s)
Data[4] Cause
0x00 = Unrecognized Message Type
0x01 = Unrecognized Transaction ID
0x02 = Badly Formatted Transaction Portion
0x03 = Incorrect Transaction Portion
0x04 = Resource Limitation
0x05 = Abnormal dialog
0x06 = No Common dialog Portion
P Abort Cause (ANSI)
Byte Value(s)
Data[4] Cause 0x01 = Unrecognized Package Type
0x02 = Incorrect Transaction Portion
0x03 = Badly Structured Transaction Portion
0x04 = Unrecognized Transaction ID
0x05 = Permission to Release Problem
0x06 = Resource Unavailable
0x07 = Unrecognized Dialog Portion ID
0x08 = Bad Structured Dialog Portion
0x09 = Missing Dialog Portion
0x0A = Inconsistent Dialog Portion
Problem Type Code (ITU)
Byte Value(s)
Data[4] Problem Type 0x01 = General
0x02 = Invoke
0x03 = Return Result
0x04 = Return Error
Data[5] Problem Code General
0x00 = Unrecognized Component
0x01 = Mis-typed Component
0x02 = Badly Structured Component Invoke
Developer Information
1131
0x00 = Duplicate Invoke ID
0x01 = Unrecognized Operation
0x02 = Mis-typed Parameter
0x03 = Resource Limitation
0x04 = Initiating Release
0x05 = Unrecognized Link ID
0x06 = Linked Response Unexpected
0x07 = Unexpected Linked Operation Return Result
0x00 = Unrecognized Invoke ID
0x01 = Return Result Unexpected
0x02 = Mis-typed Parameter Return Error
0x00 = Unrecognized Invoke ID
0x01 = Return Error Unexpected
0x02 = Unrecognized Error
0x03 = Unexpected Error
0x04 = Mis-typed Parameter
Problem Type Code (ANSI)
Byte Value(s)
Data[4] Problem Type
0x01=General
0x02=Invoke
0x03=Return Result
0x04=Return Error
0x05=Transaction Portion
Data[5] Problem Code
All Types
0x00=Not Used
0xFF=Reserved
General
0x01=Unrecognized Component Type
0x02=Incorrect Component Portion
0x03=Badly Structured Component Portion
Invoke
0x01=Duplicate Invoke ID
MSP
1132
0x02=Unrecognized Operation Code
0x03- Incorrect Parameter
0x04=Unrecognized Correlation ID
0x0F=Resource Unavailable
Return Result
0x01=Unrecognized Correlation ID
0x02=Unexpected Return Result
0x03=Incorrect Parameter
Return Error
0x01=Unrecognized Correlation ID
0x02=Incorrect Return Error
0x03=Unrecognized Error
0x04=Unexpected Error
0x05=Incorrect Parameter
Transaction Portion
0x01=Unrecognized Package Type
0x02=Incorrect Transaction Portion
0x03=Badly Structured Transaction Portion
0x04=Unrecognized Transaction ID
0x05=Permission to Release
0x06=Resource Unavailable
Protocol Version
The values for the Protocol Version parameter are automatically stored, consistent with ITU TCAP specifications. They cannot be modified by the host if you use the ITU White Book.
Quality of Service (QOS)
Byte Value(s)
Data[4] Return Option 0x00=Discard on Error
0x01=Return on Error
Data[5] Sequence Control Parameter 0x00=Sequence not Guaranteed
For other than zero, this value is used for sequence control.**
Data[6] Message Priority* (ANSI Only)
Developer Information
1133
*Refer to ANSI MTP Specification T1-111.5 for the information on selecting message priority.
**For the outgoing messages, the sequence is guaranteed for the messages with the same sequence control value. They will reach the destination in the same order as they were sent out. For the incoming messages, this value simply means the sequence is guaranteed (SCCP class 1 services are used in this case).
Remote SCCP Status
Byte Value(s)
Data[4] Status 0x01=Remote SCCP Available
0x02=Remote SCCP Unavailable (Reason Unknown)
0x03=Remote SCCP Unequipped
0x04=Remote SCCP Inaccessible
Return Reason (ITU)
Byte Value(s)
Data[4] Cause 0x00 No Translation for an Address of Such Nature
0x01 No Translation for this Specific Address
0x02=Subsystem Congestion
0x03=Subsystem Failure
0x04=Unequipped User
0x05=MTP Failure
0x06=Network Congestion
0x07=Unqualified
0x08=Error in Message Transport *
0x09=Error in Local Processing *
0x0A=Destination Cannot Perform Reassembly *
0x0B=SCCP Failure
*Only applicable to XUDTS message.
Return Reason (ANSI)
Byte Value(s)
Data[4] 0x00 No Translation for an Address of Such Nature
MSP
1134
Cause 0x01 No Translation for this Specific Address
0x02=Subsystem Congestion
0x03=Subsystem Failure
0x04=Unequipped User
0x05=MTP Failure
0x06=Network Congestion
0x07=Unqualified
0x08=Error in Message Transport *
0x09=Error in Local Processing *
0x0A=Destination Cannot Perform Reassembly *
0x0B=Not Used
0x0C=SCCP Hop Counter Violation *
0x0D F8=Not Used
0xF9=Invalid ISNI Routing Request *
0xFA=Unauthorized Message
0xFB=Message Incompatibility
0xFC=Cannot Perform ISNI Constrained Routing *
0xFD=Redundant ISNI Constrained Routing Information *
0xFE=Unable to Perform ISNI Identification *
0xFF=Not Used
*=Only applicable to XUDT and XUDTS messages.
SCCP Signaling Point Status
Byte Value(s)
Data[4] Status
0x01=SCCP DPC Prohibited
0x02=SCCP DPC Congested
0x03=SCCP DPC Allowed
Subsystem Status
Byte Value(s)
Data[4] Status
0x00=Prohibit
0x01=Allow
Termination Option
Developer Information
1135
Byte Value(s)
Data[4] Option 0x01=Pre-arranged End
0x02=Basic End
Unidialog_AS_ID
The values for the Unidialog_AS_ID parameter are automatically stored, consistent with ITU TCAP specifications. They should not be modified by the host if you use the ITU White Book.
ITU and ANSI SCCP Connection Oriented (CO) Parameter Information
This section shows the specific IDs and data for each SCCP CO parameter.
ITU and ANSI SCCP CO Parameter IDs
0x7A Importance
0x7B Originator
0x7C Reason
0x7E Subsystem Multiplicity Indictor
ITU and ANSI SCCP CO Parameter Data
Importance
Byte Value(s)
Data[4] Importance
As defined by ITU Q.711-714, 1996
Originator
Byte Value(s)
Data[4] Originator
0x00 Undefined
0x01 Network service user originated
0x02 Network service provider originated
MSP
1136
Reason
Byte Value(s)
Data[4] Reason
As detailed in Table C1, C2, and C3 112.3 (ANSI)
As detailed in Table A1, A2, and A3 Q.713 (ITU,1996)
Subsystem Multiplicity Indicator
Byte Value(s)
Data[4] Mutiplicity Indicator
0x00 Affected subsystem multiplicity unknown
0x01 Affected subsystem is solitary
0x02 Affected subsystem is duplicated
User-Defined Parameters
Application Context Name
MTP DPC
Correlation ID
Invoke ID
Linked ID
Parameters
Parameter Sequence
Parameter Set
Signaling Point Code (SPC)
Subsystem Number
Timeout
User Data
User Information
Developer Information
1137
SCCP Segmentation
Overview
SCCP segmentation provides the capability of breaking down larger packets of data into smaller ones in order to achieve compatibility with any network protocol that requires the smaller packet size. This is necessary whenever large blocks of data need to be transmitted across a network Segmenting the data helps offset problems with both time delays and error correction that could lead to traffic congestion. Segmentation in this way conserves critical network resources.
Specifically, the process of SCCP Segmentation gives an SCCP-user the ability to configure and send user data without having to perform any segmentation at the user level. SCCP handles all segmentation requirements.
Size of Packetized Data
The size of data sent to the host is currently limited by the ICB length. The ICB length is a maximum of 255 bytes in API messages. Connectionless transfer of data using SCCP requires the use of unitdata and the extended unitdata structures. These message structures provide all the information necessary for data to be transferred to a remote entity and to be processed by that remote entity. The segmentation parameter is included with these messages in an SCCP connectionless service:
Extended UnitData (XUDT, (maximum of 16)
Extended UnitData Service (XUDTS)
For an SCCP user resident in the host, the size of the total data sent between the SS7 functionality and the host will be limited by the maximum length of the ICB, which is 255 bytes, until the system level segmentation has been implemented.
No segmentation occurs at the user level; therefore, an SCCP user is able to send up to 2048 bytes of data for ITU protocol and up to 3092 bytes of user data for the ANSI protocol.
Related Specifications
ITU-T Q.711 - Q.714: Signaling Connection Control Part, White Book
ANSI T1.112 - 1996
Managing User Data in SCCP
Data sent by an SCCP user can be limited by the constraints inherent in the MTP layer, that is, the maximum length of the Message Signal Unit (MSU). Through segmentation, the user is able to transmit through MTP efficiently because the data is segmented into manageable units called XUDT messages. When SCCP receives the XUDT messages, it reassembles all data into an N_UNITDATA primitive and forwards that to the SCCP user/receiver.
SCLC, SCRC and SUSI Modules
MSP
1138
It is the SCCP SCLC module that segments the N_UNITDATA primitive into XUDT messages and which also performs the reassembly of data. The SCRC module performs the routing of these connectionless messages. The SCCP SUSI module receives the reassembled message and sends a larger UNITDATA PPL Event Indication to the SCCP user (whether on the MSP 1010 or resident on the host).
Error Conditions
If the SCCP cannot process the XUDT message because an error condition has occurred on the network, and the return option is set, then it gets an XUDTS message and forwards notification of the error to the SCCP user at the sending end using an N_ NOTICE primitive. (See the ITU-T Q.711 - Q.714: Signaling Connection Control Part, White Book and ANSI T1.112 - 1996).
Configuration
Configuration bytes for the TCAP module in the PPL Configure message must be set for each component ID. With SCCP Segmentation implemented, these config bytes allow the TCAP layer to send larger blocks of data to the SCCP layer if desired. SCCP can send or receive messages directly with the host or through the TCAP layer. The configuration bytes are discussed further in the SS7 PPL Information section, and include the following:
SCCP Component SCLC--Bytes 22 and 26 (a 4-byte value)
SCCP Component SUSI--Byte 20
TCAP Component CCO--Bytes 1 and 2
TCAP Component TUSI--Bytes 4 and 5
Limitations
SS7 Segmentation allows a maximum number of 300 reassembly processes simultaneously.
Redundancy
SCCP software is redundant.
Developer Information
1139
TCAP Parameter IDs
TCAP Parameter IDs for TCAP OSD
Any TCAP parameter which is marked internal use indicates that there is NO TCAP identifier/tag corresponding to it. It is either part of the API parameters or used by PPL only.
TCAP Parameter IDs for TCAP OSD
0x00 Reserved
0x01 TCAP Package/message/" internal use "/
0x02 TCAP Unidirectional message
0x03 TCAP Begin message
0x04 TCAP Continue message
0x05 TCAP End message
0x06 TCAP Query with permission package
0x07 TCAP Query without permission package
0x08 TCAP Conversation with permission package
0x09 TCAP Conversation without permission package
0x0A TCAP Response package
0x0B TCAP Abort package
0x0C TCAP Transaction ID (ANSI)
0x0D TCAP Originating transaction ID(ITU)
0x0E TCAP Destination transaction ID(ITU)
0x0F TCAP Abort reason(ITU) / TCAP user abort info(ANSI)
0x10 TCAP Abort cause(ANSI) /" internal use "/
0x11 TCAP P abort cause
0x12 Not used
0x13 TCAP Component portion
0x14 TCAP Component /" internal use "/
0x15 TCAP INVOKE Component
0x16 TCAP INVOKE Last component
0x17 TCAP INVOKE Not Last component
0x18 TCAP RESULT Last component
0x19 TCAP RESULT Not Last component
0x1A TCAP RETURN ERROR Component
MSP
1140
0x1B TCAP REJECT Component
0x1C TCAP Component ID(ANSI)
0x1D Not used
0x1E TCAP Component type /" internal use "/
0x1F TCAP Invoke ID
0x20 TCAP Link ID(ITU) / correlation ID(ANSI)
0x21 TCAP REJECT Invoke ID /" internal use "/
0x22 TCAP Problem /" internal use "/
0x23 TCAP Problem type /" internal use "/
0x24 TCAP General problem
0x25 TCAP Invoke problem
0x26 TCAP Return result problem
0x27 TCAP Return error problem
0x28 TCAP Invoke class /" internal use "/
0x29 TCAP Invoke timeout /" internal use "/
0x2A TCAP Problem type-code(ANSI)
0x2B TCAP Operation code /" internal use "/
0x2C TCAP Global/National operation code
0x2D TCAP Local/Private operation code
0x2E TCAP Parameter (ITU)
0x2F TCAP Result in return result component (ITU)
0x30 TCAP Last component /" internal use "/
0x31 TCAP dialog Portion
0x32 TCAP dialog PDU /" internal use "/
0x33 TCAP AARQ apdu
0x34 TCAP AARE apdu
0x35 TCAP ABRT apdu
0x36 TCAP AUDT apdu
0x37 TCAP Protocol version
0x38 TCAP AC-name
0x39 TCAP USER INFO
0x3A TCAP Termination option /" internal use "/
Developer Information
1141
0x3B TCAP Package/Message type /" internal use "/
0x3C TCAP APDU type /" internal use "/
0x3D TCAP Abort source
0x3E TCAP dialog portion result
0x3F TCAP Result source diagnostic
0x40 TCAP dialog service user diagnostic
0x41 TCAP dialog service provider diagnostic
0x42 TCAP What as ID (structure/unstructured dialog) /" internal use "/
0x43 TCAP dialog-as-ID, structure dialog /" internal use "/
0x44 TCAP Unidialog-as-ID, unstructured dialog /" internal use "/
0x45 TCAP Component present /" internal use "/
0x46 TCAP Error code /" internal use "/
0x47 TCAP Global/National error code
0x48 TCAP Local/Private error code
0x49 TCAP dialog ID /" internal use "/
0x4A TCAP Parameter seq (ANSI)
0x4B TCAP Parameter set (ANSI)
0x4C TCAP Error package /" internal use "/
0x4D TCAP Error component /" internal use "/
0x4E TCAP ISM ID /" internal use "/
0x4F TCAP Associate source diagnostic /" internal use "/
0x50 TCAP What diagnostic (User provider or user diagnostic /" internal use "/
0x6D Return Reason
0x55 TCAP Security context parameter
0x58 TCAP Confidentiality parameter
MSP
1142
SCCP Parameter IDs
SCCP Parameter IDs
SCCP Parameter IDs for TCAP OSD
0x65 SCCP Parameter Set
0x66 SCCP Calling Party Address
0x67 SCCP Calling Party Address Element
0x68 SCCP Called Party Address
0x69 SCCP Called Party Address Element
0x6A SCCP Quality of Service
0x6B SCCP SCCP User Data
0x6C SCCP Called Party Address DPC
0x6D SCCP SCCP Return Reason
0x6E SCCP SCCP Subsystem Number
0x6F SCCP Signaling Point Code
0x70 SCCP Subsystem Status
0x71 SCCP Signaling Point Status
0x72 SCCP Remote SCCP Status
0x73 MTP OPC from routing table
0x74 MTP OPC from routing table
0x75 SCCP message (Internal Use)
0xFF Reserved (Internal Use)
Developer Information
1143
SCCP Connection Oriented Network Services
Overview
The Signaling Connection Control Part (SCCP) Connection Oriented (CO) Network Services protocol provides for sending and receiving SCCP Class II messages between originating and terminating MSP 1010s through a specific, fixed logical network path.
This feature enables SCCPs residing at different MSP 1010s throughout the network, using connection oriented messages, to do the following:
Establish connections with other MSPs
Transfer data over these connections
Release the connections after data transfer
The host controls the establishment of a connection, the two-way message transfer between the originating and terminating MSPs, and the release of the connection after the transfer.
The SCCP provides this service to the SCCP user using the primitives as defined in ITU-T Q.711 and ANSI T1.112.
API Messages, PPL Components and ICB
To support the above functionality the following API messages and PPL components and ICB are used.
API Messages
PPL Event Indication (0x0043)
PPL Event Request (0x0044)
SCCP/TCAP Configure (0x0077)
SCCP/TCAP Query (0x0078)
PPL Components and Primitives
SCCP User Interface (SUSI 0x0067)
SCCP Connection Oriented Control (SCOC 0x007D)
SCCP Restart Control (SRTC 0x007E)
SCCP Coordinated State Change Control (CSCC 0x007F)
ICB
SS7 SCCP CO Parameters (0x42)
This ICB is used with the PPL Event Indication (0x0043) and PPL Event Request (0x0044) messages.
SCCP User Interface (SUSI 0x67)
MSP
1144
This PPL component provides the following connection-oriented primitives from the host/SUSI. This component is responsible for setting up a connection depending upon the parameters in the N_CONNECT Request/Indication primitive. Once a connection is established, the N_DATA Request/Indication primitive is used to transfer the data to the connected node. The connection is released using the N_DISCONNECT Request primitive.
Primitives
N_CONNECT Request/Indication (0x15)
N_CONNECT Response/Confirmation (0x16)
N_DATA Request/Indication (0x17)
N_DISCONNECT Request/Indication (0x1B)
SCCP Connection Oriented Control (SCOC 0x7D)
This PPL component provides the following PPL timers
PPL Timers
0x01 - Connection Establishment - 60 secs. T (conn est)
0x02 - Inactivity Send - 5 mins. T (ias)
0x03 - Inactivity Receive - 11 mins. T (iar)
0x04 - Release - 10 secs. T (rel)
0x05 - Repeat Release - 10 secs. T (repeat rel)
0x06 - Interval - 60 secs. T (int)
0x07 - Reset - 10 secs. T (reset)
0x08 - Guard - 23 mins. T (guard)
0x09 - Incoming Connection Establishment - 3 mins. T (incoming conn est)
SCCP Restart Control (SRTC 0x7E)
This PPL component provides SCCP restart functionality.
Coordinated State Change Control (CSCC 0x7F)
The CSCC component is responsible for handling the N_COORD primitive from the host/SUSI. It supports state change requests for duplicated subsystems. These requests are sent as SCCP Management (SCMG) messages to the SCCP Connectionless Control (SCLC), which is sent as a Unit Data message to the designated SCCP.
Primitives
N_COORD Request/Indication (0x05)
Developer Information
1145
N_COORD Response/Confirmation (0x08)
PPL Timers
0x01 - Tcoord Change - 1.5 mins.
0x02 - Tignore SST - 2 mins.
Connection Oriented Services
The SCCP user communicates to SCCP User Interface (SUSI) using the PPL Event Request and PPL Event Indication messages. The SUSI converts the PPL Event Requests into the appropriate SCCP primitives and sends them to the SCCP Connection Oriented Control (SCOC) and Coordinated State Change Control (CSCC) PPL components. The SCCP Restart Control (SRTC) PPL component has no interaction with the SUSI.
This feature consists of the following three phases.
Connection Establishment
During this phase, the SCCP sets up the logical, fixed path the data packets will follow. This path may involve two or more intermediate (STPs) that exist between the origination and/or termination SCCP node.
Data Transfer
After the connection is established, the data to be transferred is converted into a Unit Data (UDT) message. Message segmenting occurs whenever a given message exceeds the maximum allowed SCCP message length. This oversized message will be broken into a maximum of 16 separate segments by the originating MSP 1010. The the UDT message segments are then sent to their destination following the previously established path.
After receipt of all segments, the SCCP of the terminating node reassembles the segments into the original message before sending it to the required user application. Each Unit Data (UDT) message is uniquely identified as belonging to a specific signaling connection. In this way, it is possible for the SCCP to handle independent signaling connections simultaneously.
Connection Release
After all the Unit Data (UDT) messages are transmitted and confirmed, the logical path is released by either or both of the User Applications that initiated the process. A release may also occur if the connections fails. These connection-oriented services may be on a temporary (per process basis), or permanently setup between two User Applications. The type of connection established for a given message may be determined by the value found in the protocol class field of the message.
Developer Information
1147
SCCP Connection Oriented Call Flows
Overview
The following SCCP Connection Oriented (CO) Network Services call flows provide examples for sending and receiving SCCP Class II messages between originating and terminating SCCP users.
Connection Setup by SCCP User
Connection Refusal from Destination SCCP User
Data Transfer by SCCP User
Developer Information
1149
TCAP Dialog Synchronization
Introduction to TCAP Dialog Synchronization
Overview
Prior to this feature, three components maintained the TCAP dialog ID and status:
Application
Low-Level Communicator (LLC)
TCAP
Synchronizing the dialogs was a potential problem. With this feature, the LLC and Application update TCAP with the application instance information. TCAP maintains the application instance status and routes the messages based on it.
Once TCAP decides the appropriate application instance, TCAP includes the instance information in the message. The LLC then sends the messages to the application instance based on the information in the message.
Load Sharing
This TCAP application instance based routing allows the multiple TCAP application instances on the host to load share the TCAP traffic. TCAP routes the TCAP messages to the appropriate TCAP application instances based on the host configured application instance status.
MSP
1150
Application ID Based Routing
There can be multiple TCAP application IDs corresponding to a TCAP application (TCAP application is identified by stack/SSN).
There can also be multiple stack/SSNs corresponding to an application ID. For TCAP-to-host message routing point of view, a stack/SSN/ApplicationID "triplet" uniquely identifies a routing destination on the host.
TCAP maintains the stack/SSN/Application ID status and routes the messages based on this status. The stack ID, SSN, and Application ID are carried in each TCAP-to-host message. The LLC and Application instances can further route the messages based on these IDs.
TCAP updates the Stack/SSN/Application ID status based on the application ID and SSN status host messages sent by the LLC. The application ID is carried in the dialog ID within each TCAP-to-TC user primitive.
You can configure this feature to be enabled or disabled.
The diagram below shows this feature in a SwitchKit environment. Environments that do not include SwitchKit do not have LCC and the data flows directly from SS7 to the TCAP Application Instance.
Registering and De-Registering Applications
The following summarizes information about registering and de-registering applications.
Developer Information
1151
When there are applications registered but none of them are available in accepting mode, the MSP rejects new begins messages from the network by sending an abort message to the network.
When there are no applications registered, the MSP sends messages to the default application ID 0.
When the last TCAP application instance for a particular SSN requests a de-register, the LLC sends a PPL Event Request of SSN OOS and then the NGA message to deregister the triplet.
Only after the last TCAP Application de-registers can the SSN be taken out of service.
If an SSN TCAP restart is in progress, the NACK value is change from 0x540A to 0x5411 for that case.
Related Topic
TCAP Dialog Synchronication
MSP
1152
API Messages
Use the following API messages to maintain TCAP Dialog Synchronization.
Message Purpose in this feature
Application Manager Configure (0x0130)
Add or delete stack/SSN/App ID association.
App Manager State Configure (0x0160)
Bring stack/SSN/App ID in or out of service.
App Manager Signaling Request (0x012A)
Abort active dialogs for stack/SSN/App ID
App Manager Info Query (0x0140)
Query stack/SSN/App ID association information including configuration and status
App Manager Signaling Query (0x012C)
Query associated dialogs for a stack/SSN/App ID.
App Manager State Query (0x0161)
Query stack/SSN/App ID status
App Manager Query (0x0131)
Query configured stack/SSN/App ID information.
Developer Information
1153
Stack/SSN/Application ID State Transitions
When TCAP receives an Application ID service state change (in-service, out-of-service) or congestion level change, it will update the Application ID service state and congestion level in the Application ID table. It will also inform all of the Stack/SSN/AppID state machines related to this Application ID.
When TCAP receives a local sub-system service (SSN) state change (in-service or out-of-service), it will update the Local SSN table as in current implementation. It will also inform all the Stack/SSN/AppID state machine related to this Stack/SSN.
Not Registered State
The next diagram shows a TCAP view of a state transition for a Stack/SSN/applicationID state machine that is in a Not Registered state.
To add Stack/SSN association, see Add a Stack/SSN/AppID.
Not Processing New Traffic State
The next diagram shows a TCAP view of a state transition for a Stack/SSN/applicationID state machine that is in a Not Processing New Traffic state.
MSP
1154
To Remove an entry from the Stack/SSN/AppID table, see Remove a Stack/SSN/AppID.
To bring a Stack/SSN/AppID in-service or take it out-of-service, see Local SSN In-Service and Out-Of-Service.
See also, Application Instance Failure and Recovery, Backward Compatibility.
Processing Traffic State
The next diagram shows a TCAP view of a state transition for a Stack/SSN/applicationID state machine that is in a Processing Traffic state.
Developer Information
1155
To Remove an entry from the Stack/SSN/AppID table, see Remove a Stack/SSN/AppID.
Related Topic
TCAP Dialog Synchronization
MSP
1156
TCAP traffic message processing
TCAP Application ID-based routing is based on the maintained Stack/SSN/ApplicationID status.
Normal AppID-based message routing scenarios
When a host application instance initiates a new dialog, it should include its Application ID in the dialog ID. TCAP stores this AppID-DID in its dialog table.
When there is a new network-initiated dialog, TCAP is responsible for allocating a dialog ID for it and store this dialog ID in the dialog table. TCAP will allocate the dialog ID based on the following,
Application ID Selection
TCAP will load share among all the Stack/SSN/AppIDs for the Stack/SSN that are in “Processing Traffic” state. When there is no Stack/SSN/AppID in congestion, the round robin load sharing algorithm will be used to load share the traffic among all available application instances.
dialog ID Selection
You can select an available dialog ID from the 3-byte dialog ID space for the selected application ID.
For a TCAP message from the network for an existing dialog, TCAP will send the message with AppID-DID.
For a TCAP message from the host for an existing dialog, or a TCAP Unidirectional request from the host, TCAP simply processes the message as usual, with no change.
For a Unidirectional message without a transaction ID coming from network, TCAP will allocate it a dialog ID.
Abnormal message routing scenarios
In general, when TCAP routing function can not find a valid TCAP application instance to route to by following the normal scenarios, TCAP will initiate a dialog abort for this dialog. There are two situations when this could be involved:
There is no application instance available to route to for a new dialog.
The application instance for an existing dialog is not available any more.
In this case, TCAP will send a U_ABORT message to the network when necessary. A U_ABORT indication is also sent.
Message routing scenarios – Application ID 0
When the TCAP Application ID based routing is disabled by the configuration, a TCAP message routing will be based on Application ID 0. In other words, Application ID 0 will be only AppID for a configured Stack/SSN. And the AppID 0 status will determine the TCAP message routing.
Developer Information
1157
If the AppID 0 state is in the “Processing Traffic”, then TCAP messages destined to this Stack/SSN will be routed to that AppID 0. AppID value 0 will be included in the dialog ID.
If the AppID 0 for a Stack/SSN is “Not Registered” or “Not Processing New Traffic”, then a TCAP Abort procedure will apply.
Related Topic
TCAP Dialog Synchronization
MSP
1158
SCCP N- Primitive Routing
For SCCP management N- primitive indications, such as N_STATE, N_PCSTATE indications, will be broadcasted to all registered TCAP application instances for the stack/SSN.
Related Topic
TCAP Dialog Synchronication
Developer Information
1159
Message Routing under TCAP Overload Condition
On switch resources (CPU, memory, MCB)reaching limitations, the TCAP overload logic will apply. When TCAP application instance routing reaches an overload condition, TCAP will start throttling back some dialogues, whether they are host-initiated or network-initiated.
For new network-initiated TCAP dialogues, the TCAP overload logic only allows partial new dialog messages to be routed to the application instances. These reduced new dialog messages will be distributed among the available application instances.
For new host-initiated new dialogues, the TCAP overload logic will also reject the new TCAP dialog requests on a even basis from all active application instances.
Related Topic
TCAP Dialog Synchronization
MSP
1160
Application ID-related Abort
A new message to abort all TCAP dialogues for an application ID. should include:
Application ID,
A new message to abort all TCAP dialogues for a Stack/SSN/AppID. should include:
Stack_ID, SSN, Application ID,
Related Topic
TCAP Dialog Synchronization
Developer Information
1161
Host Link Failure and Recovery
When an SS7 host link failure (HLF) occurs, no traffic is routed to the host application instances. The local sub-system out-of-service (OOS) and TCAP Restart logic may apply depending on the configuration. When a sub-system becomes OOS, the relevant Stack/SSN/AppIDs state will become “Not processing traffic”.
With a host link failure condition recovery, the host brings the SSN in-service. Therefore if an AppID status was in-service, the Stack/SSN/AppID status changes to “Processing Traffic”. TCAP will resume routing messages to the available application instances based on the applications instances status before the host link failure.
Related Topic
TCAP Dialog Synchronization
MSP
1162
Local SSN In-Service and Out-Of-Service
When the host brings a local SSN in-service or takes it out-of-service, all the Stack/SSN/AppIDs for this SSN will be informed. The API message used to perform this is App Manager State Configure (0x0160).
Only after the last TCAP Application de-registers can the SSN be taken out of service.
If the SSN INS request results with both SSN and AppID being in-service, and the Stack/SSN/AppID was in “Not Processing New Traffic” state, the state will change to “Processing Traffic”.
If the SSN OOS is received and the Stack/SSN/AppID was in a “Processing Traffic” state, the state will change to “Not Processing New Traffic”.
Note: By default Local SSNs are out service. The host has to bring Local SSNs in service. This way you prevent the MSP from getting flooded with TCAP dialogs as soon as it is deployed on the network.
The dialogs are not be flushed out when SSN, is taken out of service. The only time dialogs are flushed out is when the last application de-registers.
Related Topic
TCAP Dialog Synchronization
Developer Information
1163
Backward Compatibility
Application ID 0 is reserved for backward compatibility purposes.
At the initialization stage, when the host configures a local sub-system, TCAP will set the default application instance ID 0 for routing purpose. When you bring the local SSN in-service, the default Application instance ID 0 will be changed to the Processing Traffic state. The application ID 0 will remain in the Processing Traffic state as long as the sub-system is in-service. It will be taken out-of-service when the local sub-system is taken out-of-service.
The next diagram shows the Application ID 0 state transition for a Stack/SSN.
Related Topic
TCAP Dialog Synchronization
Developer Information
1165
Overview
DSP Media Module
Introduction
Excel’s DSP Media module is a high-performance media processing resource that is fully integrated into the developer’s MSP platform, providing a consistent and easy-to-manage integrated telecommunications and media services environment.
The DSP Media module eliminates the need for separate voice response units (VRU) by providing powerful media processing services and resources within the DSP environment. This also reduces T1/E1 communications, saving service providers both capital expense costs and on-going operating costs.
The DSP Media module enables the MSP platform to operate as a service node or intelligent peripheral. Configured with DSP media resources, the MSP can be programmed to inter-operate with speech recognition and/or bulk storage to provide a comprehensive media server solution. The MSP supports up to Network File System (NFS) with on-board cache for voice file storage. You can have up to 8 NFS servers.
Stream Capability
The DSP Media module comes with six DSP chips. The main board also supports two DSP chips for a maximum of eight DSP chips.
Each DSP supports four one-way (simplex) paths: two transmit and two receive. Each path is called a "stream." You assign function types on a per stream basis (up to four per DSP). Each stream can support a maximum of 256 channels depending on the licensing and function type.
Benefits
The DSP Media module was designed to meet the demand for an integrated solution for media-intensive services with the MSP architecture. Design criteria for media-rich resources, streamlined development, cost reduction and operational ease of use results in important benefits for developers, including:
Ability to offer Media-Rich Revenue Generating Services: the DSP Media module offers a rich, programmable environment in which to create innovative services.
Faster Time-to-Market: since media processing is integrated into the MSP platform, there is no need to develop interfaces between external VRU systems and the service platform.
Reduced Costs: since media resources are built-in, costs for external VRU systems, plus the cost of T1/E1 service are eliminated
Ability to provide a single, integrated solution offering.
Related Topics
Features
Resource Points
Developer Information
1167
DSP Media Module Features
Introduction
The DSP Media module offers a comprehensive set of features to support media processing and management for MSP-based solutions. Highlights include:
Announcement Processing
The system supports NFS based announcements, with on-board cache for voice file storage. Multiple NFS servers can be supported; the system manages the location of files through an ASCII file.
Dynamic Voice Recording and Playback
The DSP Media module supports on-board temporary recording storage as well as external disk-based long term storage.
High Density Tone Receivers
Depending on the receiver type, the system supports up to 366 tone receivers per DSP.
Large Conferencing Capability
The system supports up to 256 conferees per DSP, and 128 conferees per conference bridge.
The user can adjust gain and speed, and skip forward and backward. The DSP Media module supports configurable beep tones, configurable silence parameters, and two-way call recording without using conference ports.
Echo Cancellation
The DSP Media module Echo Canceller removes echoes caused by signal leakage at hybrid telephone line interfaces. You may want to implement an Echo Canceller for tandem calls on trunks with echo, or to clean an incoming signal before connecting to a media resource, such as a Voice Response Unit or Answering Machine Detection.
Positive Voice Detection/Answering Machine Detection
You can configure the MSP 1010 to analyze incoming PCM data and detect voice or an answering machine. You can set PVD/AMD parameters for a DSP Media module and for an individual channel.
Media Streaming over RTP
RTP, the real-time transport protocol, provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address
Developer Information
1169
DSP Resource Points
The DSP Media module uses a pooling scheme for dynamically allocating resources through Resource Points. Resource Point licensing provides the DSP Media module with flexibility, scalability, and redundancy. Each function type has associated licensing per channel, measured in Resource Points. The total available Resource Points used for Tone Reception, conferencing, and File Playback/Record are managed as a resource pool.
Standard Resource Points
The DSP Media module comes standard with 2,048 Resource Points. You can purchase additional Resource Points in increments of 1,024. The required Resource Points are added to the resource pool. Resource Points requirements are as follows:
If your DSP requirements exceed two chips (2048 Resource Points), you need to add a DSP Media module.
The DSP Media module provides six additional chips and 2048 additional Resource Points.
If you need to add more Resource Points through licensing, the Resource Points are purchased in 1024 point increments.
Resource Points Model Numbers
Model Number Description
SLM-DSP-0001 One module with 2,048 default Resource Points
SLM-LDP-1000 An additional 1,024 Resource Points
Benefits
Flexibility
Resource Points are allocated only when they are used. This results in better utilization of resources and improved performance.
Scalability
Licensing DSP resources through Resource Points, you can buy only as much functionality and capacity as you need, and upgrade incrementally as your needs increase.
Resource Point Checking
When a DSP function is requested, the CPU checks that there are enough total Resource Points available to provide the function and that a DSP chip with sufficient channels is available for that function type. If there are no more Resource Points available, or if an appropriate DSP chip is not available, the CPU returns a NACK.
DSP Streams
MSP
1170
The concept of DSP streams is integral to DSP licensing on the DSP Media module. Each DSP chip on the DSP Media module supports four one-way (simplex) paths: two for transmitting and two for receiving. Each of these paths is called a DSP stream.
Based on these four streams, each DSP chip can be assigned up to four function types. Each stream can support a maximum of 256 channels, depending on available licensed resources and on the function type assigned. Note that Conferencing and File Playback/Record requires two streams (one for transmit and one for receive).
Resource Points on Module Failure
If a DSP Media module fails, the standard Resource Points are removed from the resource pool. However, all Resource Points purchased through additional licenses remain available in the pool.
Developer Information
1171
Determining your DSP Resource Point Needs
Introduction
Use the following steps to determine how may Resource Points you need to license, based on your resource and hardware needs.
1. Determine how many resources you need
2. Determine how much hardware you need
3. Determine how many Resource Points you need
Determine how many DSP Resources you Need
How many resources for each of the following do you want to use:
Tone receivers
Tone transmitters
Conferences
File Playback/Record
Fax
Echo Canceling
Typically, you determine the amount of resources you need by calculating the Busy Hour Call Attempts (BHCA) and percentage of each call that a particular resource type is used.
Because Resource Points are pooled and dynamically allocated, the DSP Media module provides a new flexibility in distributing resources at any given moment.
Resource Points may be used for any configured function type, and are removed from the pool for only the length of time that the given function type is in use.
Your hardware may have more bandwidth available than you calculated for per stream, for each function type. So the actual allocation of functions is dictated by demand from the host application. Cantata recommends that you license enough resources for the highest likely demand.
To help you determine how many resources you need, Excel has added statistics functionality to the system software. You can receive statistics on many aspects of DSP resource usage and allocation, including the following:
Fixed memory for all individual DSP chips (total blocks used, average blocks used, and maximum blocks used)
Cache for all individual DSP chips (accesses, misses, hits, and average free blocks)
DSP Functions for individual DSP chips (total requests for a function, average and minimum free channels)
MSP
1172
NFS statistics on all individual DSP chips, including NFS for all individual DSP chips (total number and size of NFS reads, writes, and records) as well as read and write time delays (minimum, maximum, and average)
Determine how Much Hardware you Need
When you have determined how many resources of each type that you need, you must determine the number of modules you need to supply the above resources, by doing the following:
1. Determine the total number of streams you need by dividing the number of resources you need by the maximum number of channels per stream, then rounding up.
2. Determine the number of DSP chips required by dividing the total number of streams by two. You must perform separate calculations for functions that require two streams (File Playback/Record and Conferencing) and functions that require only one stream (transmit or receive).
3. Determine the number of modules needed by dividing the number of chips by four.
Other Hardware Considerations
Other things you must consider when determining the amount of hardware you need:
Conferencing must reside on its own DSP chip (no other functions are allowed on a DSP chip with the Conferencing function type)
File Playback/Record must reside on its own DSP chip (no other functions are allowed on a DSP chip with File Playback/Record function type)
Determine how many Resource Points you Need to Purchase
To determine the Resource Points per channel required for each function, refer to the DSP Resource Specifications table. For example, if you want the maximum MFR1 receivers for a stream, you would need to license 256 x 5 Resource Points (1,280).
When you know the total Resource Points you need, subtract the Resource Points that come with the card. You are then left with the number of Resource Points that you need to license.
The Resource Points and maximum channels per DSP stream are shown in DSP Resource Specifications table (each module with four DSP chips, each DSP chip with four streams).
Developer Information
1173
Architecture Overview
In keeping with Excel’s commitment to open, programmable services, the DSP Media module delivers the following key architectural advantages:
Modular Design
Scalability
High Performance and Reliability
Modular Design
The DSP Media module supports an on-board Ethernet switch, with eight internal and three external ports. External ports can be aggregated supporting up to three 100 mbps streams.
The system supports one module per board (that is, the motherboard). The on-board module includes two DSPs. In the event the DSP requirements exceed two chips, you can add a DSP Media module with six additional DSPs.
The product is supported by a variety of message and query statistics, including cache statistics and function usage statistics, so that developers and service providers can monitor their services and optimize their DSP configurations.
Scalability
The DSP Media module is offered in a six chip configuration. Note that the main board also provides two DSP chips. Resource Points requirements are as follows:
If your DSP requirements exceed two chips (2048 Resource Points), you need to add a DSP Media module.
The DSP Media module provides six additional chips and 2048 additional Resource Points.
If you need to add more Resource Points through licensing, the Resource Points are purchased in 1024 point increments.
Excel offers a configuration tool for developers and service providers to analyze your specific operating environments in order to configure the appropriate amount of resources.
High Performance and Reliability
The DSP Media module is supported by a pooling scheme for dynamic resource allocation. Resource points are allocated only when they are used. This provides flexibility in the way that resources are allocated at any given point in time, and results in better utilization of resources and improved performance.
To achieve high reliability, the DSP Media module supports module-level hardware redundancy coupled with dynamic resource allocation. If the DSP Media module fails, the system CPU will remove the resource points that are included in the base modules from the resource pool, but will reallocate licensed capacities to the remaining in-service hardware in order to preserve the maximum resources possible.
MSP
1174
Every port in the MSP platform has direct access to every DSP resource (except for channels in Gateway Mode. See the Developer’s Guide: IP for more information on Gateway Mode). A bi-directional PCM bus allows simultaneous incoming and outgoing operations, such as tone reception and tone generation.
Developer Information
1175
Hardware for DSP Modules and DSP Chips
The DSP Media module comes with six DSP chips. The main board also supports two DSP chips for a maximum of eight DSP chips.
DSP Media Module
MSP
1176
DSP Resource Specifications
The table below shows the number of DSP resources available per DSP chip, channels per stream, and resource points used for each function on the DSP Media module.
DSP Resource Specifications
Number Function Resources
(assuming sufficient Resource Points)
Maximum Channels per DSP Stream
Resource Points Used per Channel
Tone Reception
0x35 Universal µ-law 183 5
0x36 Universal A-law 183 5
Tone Generation*
0x30 Universal µ-law 256 0
0x31 Universal A-law 256 0
Conferencing
0x21 Monitor 256 Resources (128 + broadcast per conference)
128 8
0x22 Unified 256 Resources (128 + broadcast per conference)
128 8
0x23 DTMF Clamped 256 Resources (128 + broadcast per conference)
128 8
File Record/Playback (requires 2 streams)
0x1D File Record/Playback
128** 64 12
Miscellaneous
0x32 T.30 FAX 12 6 12
0x33 Echo Cancellation
64 32 12
MSP
1178
Default DSP Function Type Configuration
Module Number
DSP Number
Rcv 0 Txmt 0 Rcv 1 Txmt 1
0 0 DTMF µ-law (0x01)
Universal µ-law (0x30)
DTMF µ-law (0x01)
Universal µ-law
(0x30)
0 1 DTMF µ-law (0x01)
Universal µ-law (0x30)
DTMF µ-law (0x01)
Universal µ-law (0x30)
0 2 CPA µ-law (0x08)
Universal µ-law (0x30)
CPA µ-law (0x08)
Universal µ-law (0x30)
0 3 File Record/Playback (0x1D)
Not allowed (0x00)
File Record/Playback (0x1D)
Not allowed (0x00)
1 0 DTMF µ-law (0x01)
Universal µ-law (0x30)
DTMF µ-law (0x01)
Universal µ-law (0x30)
1 1 DTMF µ-law (0x01)
Universal µ-law (0x30)
DTMF µ-law (0x01)
Universal µ-law (0x30)
1 2 MFR1 µ-law (0x02)
Universal µ-law (0x30)
MFR1 µ-law (0x02)
Universal µ-law (0x30)
1 3 MFR1 µ-law (0x02)
Universal µ-law (0x30)
MFR1 µ-law (0x02)
Universal µ-law (0x30)
Developer Information
1179
DSP Redundancy
To achieve high reliability, DSP Media modules support module-level hardware redundancy coupled with dynamic resource allocation.
The DSP Media module offers redundancy in several forms, on several levels:
DSP resources are pooled, so you can have extra licensed Resource Points available for backup.
You can store voice files on remote Network File System servers, so the files are not lost if a card fails.
You can distribute functions types across two or more cards.
You can use redundant servers with RAID to mirror the content among multiple drives on a server.
Redundancy Through Pooling
The DSP resources on the DSP Media module are pooled. That is, all resources licensed through Resource Points are available to the entire system and are shared over both DSP Media modules. The 2048 DSP Resource Points that come with a DSP Media module are also pooled. However, if a DSP Media module fails, its default Resource Points are subtracted from the pool. The resources attached to a call must be reconfigured by the host application to another DSP Media module.
Because licensed Resource Points are made available to other DSP Media modules in other MSP platforms, having a surplus of available licensed Resource Points provides another method of redundancy.
Redundancy through Distributed Function Types
Cantata recommends that you assign the same functions across two or more DSP chips, so that if one chip fails, the function is still available on another chip.
Redundancy through Network File System servers
If a DSP Media module fails, the voice files stored on it are lost from volatile memory. But you can restore those files from a Network File System server. For redundancy and bandwidth considerations, Cantata recommends using a machine for NFS that is separate from your application host computer.
Redundancy through Multiple Network Files Servers
The media subsystem supports multiple NFS servers. This capability enables redundancy in two different places. Load sharing exists between the servers.
Redundancy Between Server Drives
Each server must be configured to provide internal redundancy on each server. This allows data to be mirrored among multiple drives using RAID 5.
Developer Information
1181
Administration and Statistics Monitoring
Use the Statistics Query 0x0121 message to retrieve the following information:
Network File System (NFS) statistics per DSP Media module, including total number and size of NFS reads, writes, and records, as well as read and write time delays (minimum, maximum, and average)
Function statistics on individual DSP chips, including total requests for a function, average free channels, and minimum free channels
Cache statistics on all individual DSP chips, including accesses, misses, hits, and average free blocks
Fixed memory statistics on all individual DSP chips, including total, average, and maximum blocks used.
MSP
1182
Media Streaming over RTP
RTP, the real-time transport protocol, provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.
The DSP Media module supports the direct termination of G.711 u-law RTP streams (payload size: 20 milliseconds) from any third party media server or speech server, required for Automatic Speech Recognition (ASR), Text To Speech (TTS), or any CTI applications using voice recognition.
Configuration
See Media Streaming over RTP.
Definitions
The following definitions are taken from RFC 1889, RTP: A Transport Protocol for Real-Time Applications.
RTP Payload
The data transported by RTP in a packet, for example audio samples or compressed video data.
RTP Packet
Developer Information
1183
A data packet consisting of the fixed RTP header, a possibly empty list of contributing sources, and the payload data. Some underlying protocols may require an encapsulation of the RTP packet to be defined. Typically one packet of the underlying protocol contains a single RTP packet, but several RTP packets may be contained if permitted by the encapsulation method.
Port
The abstraction that transport protocols use to distinguish among multiple destinations within a given host computer. TCP/IP protocols identify ports using small positive integers. RTP depends upon the lower-layer protocol to provide some mechanism such as ports to multiplex the RTP and RTCP packets of a session.
Transport Address
The combination of a network address and port that identifies a transport-level endpoint, for example an IP address and a UDP port. Packets are transmitted from a source transport address to a destination transport address.
RTP session
The association among a set of participants communicating with RTP. For each participant, the session is defined by a particular pair of destination transport addresses (one network address plus a port pair for RTP and RTCP).
MSP
1184
File Record & Playback
File, Record and Payback Overview
The DSP Media module has the following File Record/Playback functionality:
Large Vocabulary/Disk Based Files
Permanent File Recording (stored on an NFS server)
Temporary Recording (stored on the on-board DSP module and/or the DSP Media module)
Configurable Beep Tone (notifies parties that they can begin recording their voice)
Gain/Speed Modification
Skip Forward/Backward (in 100 ms increments)
Silence Threshold Modification
Conference Recording
Pause and Resume
Dual channel recording
Moving temporary recordings from the DSP Media module’s cache into permanent storage on a server
Supported Encoding Formats
See Encoding Formats for more information.
Configuration
See Recording Files and Playing a File.
Developer Information
1185
File Storage
Introduction
Recorded voice files are stored remotely on one or more separate Network File System servers and in volatile memory. The DSP Media module can store up to three hours of files in a local cache. This cache holds files to be played as well as temporary recordings. Files are stored in cache blocks of one second, longer messages link multiple blocks together.
The File Record/Playback function supports the playing of pre-recorded voice files referenced by a universal, 32-bit file ID. Although it is not necessary to use a unique file ID for each file, having a unique ID allows you to track the status of individual files in alarms and status messages.
Vocabulary Index File
MSP
1186
You can use an ASCII Vocabulary Index File (VIF) to track File IDs below 0x00100000 (4,096) required for chaining. You can modify the VIF using any ASCII text editor. Make sure that the File IDs you use for temporary, internal recordings are always different from the File IDs you use for Playback Files. Consider designating one range for the first type and another range for the second type.
Each line of the file corresponds to a valid File ID that can be played. The information elements on each line must be separated by white space, and each line must end in a carriage return and a line feed.
When the VIF is updated, all caches are cleared.
See VIF Format.
Vocabulary Index File (VIF) Bypass (Preferred Method)
You can indicate a cached file’s location, format, and encoding type in the Play File Start message (0x011B) instead of using the VIF.
NFS File Failure
If an NFS file fails and is not covered by redundancy, the MSP 1010 retries the file a number of times (you can configure this number). If the file fails to play after the configured number of retries, the file is designated as "bad" and there will be no more attempts to play the file. This way, other files from other servers are not delayed.
Permanent Recordings
You should use higher File IDs for longer files and for files you want to keep for a significant period. File IDs of 0x00100000 or higher are not stored on the card. They are stored on a separate NFS server, accessed through the MSP I/O. These files are not stored in cache, but as they are being played, they temporarily use a small amount of cache, so you should consider this when designing your cache management.
If the file ID is 0x00100000 or higher and the DSP Media module is configured for Network File System (NFS) the DSP Media module automatically starts retrieving this file from the NFS server. The location of the file and any other information that is needed about this file such as encoding, offset, and length, is sent in either the Play File Start or Record File Start message. Files with these high IDs cannot be chained.
Temporary Recordings
Temporary recordings, such as those used for directory assistance requests, should use File IDs below 0x00100000. Temporary recordings cannot be erased until they have been played once. Then they are subject to erasure by the Least Recently Used (LRU) method.
These temporary files are erased after being played to clear space for newer files. However, because you can't replicate temporary recordings such as directory assistance requests once they are erased, they are always erased last.
Files below 0x00100000 originate on the NFS server but they are cached on the DSP Media module. Make sure that the File IDs you use for temporary recordings are
Developer Information
1187
always different from the File IDs you use for permanent files. Consider designating one range for the first type and another range for the second type.
If the DSP Media module is configured to use NFS and the File ID is below 0x00100000, the DSP Media module first checks its cache. If the File ID is not found in cache, the DSP Media module checks the NFS server.
File Chaining
Using the Play File Start message, you can transmit up to 32 chained voice files stored on the card. Only file IDs below 0x00100000 can be chained. File IDs below 4096 support existing RAN messages, and up to 64 of these can be chained.
Summary of File IDs
0x00100000 and higher
4096-FFFFF File IDs 0-4095
Storage Stored on an external network server, accessed via MSP I/O
Cached on the DSP Media module after being downloaded once
Cached on the DSP Media module
Chaining Cannot be chained
Up to 32 can be chained, using the Play File Start message
Up to 32 can be chained using the Play File Start message
Up to 64 can be chained using the Recorded Announcement Connect message
Tracking Use the File Location TLV or VIF Bypass feature
Use the Vocabulary Index File or VIF Bypass feature
Use the Vocabulary Index File or VIF Bypass feature
Compatible with RAN messages
No No Yes
Queueing Yes Yes Yes, using the Play File Start message
MSP
1188
Encoding Formats
Supported Formats
The DSP Media module supports both the Raw and .wav file formats for the following encoding formats:
A-law (0x00)
µ-law (0x01)
G.726 32 Kbps (0x02)
32 Kbps OKI ADPCM (0x03)
24 Kbps OKI ADPCM (0x04)
16-bit linear, 11025 Khz (0x05)
µ-law, 11025 Khz (0x06)
A-law, 11025 Khz (0x07)
8-bit linear, 11025 Khz (0x08)
8-bit linear, 8000 Khz (0x09)
16-bit linear, 8000 Khz (0x0A)
* Note that 16 bit uncompressed data requires twice the processor and DSP bandwidth, and will adversly affect channel densities accordingly.
ADPCM
Excel supports Adaptive Differential Pulse Code Modulation (ADPCM) for Playback files. ADPCM is a compression algorithm for voice that records only the difference between samples, and dynamically adjusts the coding scale to accommodate large and small differences.
Because OKI requires fewer resources than G.726, OKI is more suitable for resource-intensive applications, such as speeding up or slowing down voice files. And OKI provides voice quality comparable to G.726.
When you choose either OKI or G.726, the caches on both the DSP and the 8260 chip store the data in that encoding format only. Both the Skip Ahead / Skip Back feature and the Speed Up / Slow Down feature take this file format choice into consideration.
Compression Benefits
Compared to standard PCM, ADPCM effectively doubles your cache capacity. For two seconds of voice with standard PCM, 16 KB are required. For two seconds of voice with ADPCM, only 8KB are required. Because only half the data is read or written compared to standard PCM, ADPCM also increases performance over the Network File System (NFS) server link.
Compression is performed as the voice is initially recorded, and decompression is performed just before the file is played out. ADPCM does not degrade the performance of the playback or record functionality.
Developer Information
1189
Vocabulary Index File Format
Element Number
Element Name Description
1 File ID A unique number that is used when playing a file out. Valid Range: 0 <= file ID < 0x00100000
2 Primary Server ID The Primary server where the file is stored
3 Secondary Server ID The Secondary server where the file is stored
4 File Name The File Name including the full path (up to 128 Chars)
5 File Type See the 0x05E1 File Format TLV for values.
6 File Encoding See the 0x05E1 File Format TLV for values.
7 Timestamp Date/Time: mm/dd/yyyy hr:min
8 Offset The offset in bytes where the file is to play from
9 Length The number of bytes to be played
Example
The following is an example of a Vocabulary Index File. Note that some, but not all, of the files include the last two fields (Offset and Length)
100 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 1473 9330
101 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 10803 7856
102 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 18659 7856
103 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 26515 8348
104 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52
105 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 44192 9330
106 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52
107 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 61869 9329
108 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 71198 8348
109 1 2 /F-0289_Playback_by_File_Offset/count1-30.raw.ulaw 0 1 10/09/2003 15:52 79546 7365
MSP
1190
File Retrieval Process
The decision tree below shows the process for retrieving a file.
File Retrieval Process
File ID
The File ID represents not only the file name and location, but also the Offset and Length. A change in any of the parameters requires a new File ID to be generated.
Two File IDs can overlap. For example, if one file has an Offset of 8000 and a Length of 16000, another file can have an Offset of 12000 and a Length of 8000.
When the File ID is requested to be played, the DSP Media module checks to see if the File ID is already in cache. DSP Media module has one set of options for files already in cache, and another set for files that are not found in cache.
Developer Information
1191
File IDs Already in Cache
If the File ID is already in cache, the DSP compares the Offset and Length in cache either to the VIF or, if using the VIF Bypass feature, to the Offset and Length TLV (see VIF Bypass). If the Offset and Length are different in cache, then the file is cleared from the cache and a new cache entry is added from either the VIF or, if using the VIF Bypass feature, from the TLV.
File IDs Not in Cache
If a file is not already in cache, the Offset and Length are specified as follows:
If you are using a VIF, and the Offset and Length are specified there, then that Offset and Length are used.
If you are using a VIF, but the Offset and Length are not specified there, then the File Offset and Length TLV is used instead.
If you are using the VIF Bypass feature, the File Offset and Length TLV is the only way to specify the Offset and Length.
Dynamic File Management
Using NFS, recorded voice files are handled dynamically through a Least Recently Used algorithm. Voice files are downloaded to the DSP Media module’s memory one at a time, and as the memory on the card is consumed, a Least Recently Used (LRU) algorithm keeps track of the order in which the files are played. When the memory is completely consumed, the following takes place:
1. The LRU algorithm identifies the Least Recently Used File ID.
2. This File ID is then deleted.
3. The memory blocks are freed for further use.
When the host application sends an instruction to play a specific file on a specific DSP chip, it then:
1. Checks the main board’s three hour cache for the announcement file.
2. Checks the Network File System server (if used) for the announcement file.
MSP
1192
Playback Features
Playback by File Offset and Length
This feature provides two benefits:
an application can play from a particular location within a file by providing an offset, in bytes, from the beginning of the file
a user can specify how long the file should play, so it does not have to play to the end
Use the Offset and Length (0x0614) TLV in the Play File Start (0x011B) message to begin playing a file at an offset from the beginning of the file. You also specify how long into the file to play so you do not have to play to the end.
The offset for playback should be on an even boundary.
When only part of a file is requested to be played, only the requested bytes are cached (not the entire file) on both the chip and the DSP. Because the Offset and Length are in bytes, and because they represent bytes in a file, the application is responsible for managing the different encoding formats, and for how bytes should represent time.
Handling Inconsistent File Sizes
If the Length plus the Offset is greater then the actual file size, the file plays until the end. If the Offset is greater then the actual file size, a File Open error occurs.
Developer Information
1193
Conferencing
Conferencing Overview
The DSP Media module provides the following conferencing capabilities:
256 conferences available per DSP stream
128 legs/conferees available per conference (all conference types)
256 legs/conferees available per DSP chip (you can use half of a chip’s legs in any one conference)
Direct Media Service Access to Conferences
Manual Volume Control
Features
The robust suite of Conferencing Features includes:
Automatic Gain Control
Output Gain Control
Noise Gating
Echo Suppression
Conference Tracking
Conference Failure Handling
Conferencing Options
You can configure a conference with the following options:
Barge In
DTMF Clamping/Filtering
Conferencing Encoding Type
Conference Failure Behavior
0x05E5 Barge In
0x0604 DTMF Clamping/Filtering Enable
0x0605 EXS Conferencing Encoding Type
0x0606 Monitor Conference Enable
0x060F Conference Failure Behavior
Supported Conference Types
The DSP Media module supports the following conference types:
Unified (DTMF Clamped)
Monitor
MSP
1194
Manual Input Volume Control
This feature enables a manual volume control on a parties inbound leg to a conference. The Automatic Gain Control for that party is automatically disabled, and the requested gain is added to the conferee’s speech prior to being added to the conference.
An example application of this feature would be where an individual wants to ensure that his contributions to the conference are heard by the other participants so adds a few dB of gain to their voice, in effect, raising the volume of their voice without additional effort.
Related Topics
Unified Conference
Monitor Conference
Conferencing Features
Configuring Conference Features
Developer Information
1195
Unified Conference
The Unified Conference type provides the following functionality:
Conferees can be µ-Law, A-Law, or mixed. There is no need to specify the encoding when creating the conference.
Unlimited Broadcast or “listen only” capability (µ-Law and A-Law)
Dynamically increase conference size
Dynamic Sizing
You can connect channels to a conference even if the number of conferees exceeds the configured conference size, as long as the DSP chip hosting the conference has available resources.
When the MSP 1010 creates a Unified conference, it places the conference on whichever DSP chip has the largest number of free channels at that moment, maximizing the opportunity for that conference to grow dynamically.
Child Conference (Conference in a Conference)
You can create a private sub-conference (child conference) within a larger conference (parent conference). When a smaller group of participants within a larger conference want to talk privately, they can do so while still hearing the audio from the larger conference. The sub-conference parties participate with one another in full duplex, while becoming listen-only parties in the larger conference.
The feature allows users to create a child conference, move parties from the parent conference to the child conference and back, and delete the child conference.
No Resource Points are used for a child conference unless a leg is added to the child conference. If a leg is added to the child conference, Resource Points are consumed the same way they are consumed in parent conference.
DTMF Clamping
You can enable DTMF Clamping on a Unified conference to prevent DTMF echo. DTMF echo causes false DTMF indications on conference legs. This feature enables users to provide DTMF digit receivers on each conference leg without one conference participant inadvertently controlling another participant’s conference parameters.
MSP
1196
Monitor Conference
Overview
A Monitor conference allows one or more monitor channels to listen to as many as nine conversations in a single monitor conference. The source channels do not need to be associated with each other in any way. This feature is useful for applications requiring supervisory monitoring, such as in Automatic Call Distributor (ACD) systems.
Each DSP chip that is configured for the Monitor Conference function type can support source channels of A-law and µ-law encoding, and output either A-law or µ-law according to the configuration of the monitor and source channel(s). At least one DSP chip must be configured this way to enable the Monitor Conference feature.
Configuration
See Creating a Monitor Conference.
Developer Information
1197
Conferencing Features
Overview
The robust suite of Conferencing Features includes:
Automatic Gain Control
Output Gain Control
Noise Gating
Echo Suppression
Conference Tracking
Conference Failure Handling
You can configure these features to handle such things as network and signal problems (background noise, echo, and speakers who are too loud or too quiet), conference failure, and conference tracking.
These parameters are especially important for large conferences because as conferences grow, so does the likelihood of impaired signals and networks, and so does the number of users affected. These settings apply to up to two streams of 128 participants.
There are default settings for these features at the DSP Media module level, and these should work well in most environments. However, you can change the defaults for an entire conference when the conference is created, and for individual conferees (conference legs).
Automatic Gain Control
Automatic Gain Control (AGC) automatically detects variations in volume input and adjusts the input level to be within a decibel range that you can specify, in 1 dB increments. So if a conferee’s voice input (one conference leg) is either too quiet or too loud, AGC adjusts the input so that it falls within your specified acceptable range. You can specify the duration (time constant) of the sample used to determine the volume of the conferee’s voice, in increments of 5 ms.
Output Gain Control
When output gain (volume) is too low or too high, you can control it using the Output Gain Control feature. You can adjust gain from –40 dB to 0 dB, in increments of 1dB. The MSP 1010 acts upon the most recent command. For example, if a change is made at the conference leg level and then at the conference level, the conference level setting overrides the leg level setting because that was the last change made.
Noise Gating
During natural breaks in conversation (when the speaker on a channel is not speaking) if significant ambient noise is coming into a conference from the speaker’s
MSP
1198
line, that noise can be gated using the Noise Gating feature. As a conference grows in size, ambient noise is more likely to become a problem.
You can customize the time span (time constant) over which noise is measured, in increments of 5 ms. You can also specify a maximum allowable estimated noise level in 1 dBm increments, from
–54 dBm to –10 dBm.
Echo Suppression
If a conference leg is generating echoed signal, you can mute that echoed signal using the Echo Suppression feature. Note how this differs from echo cancellation. Echo Suppression adaptively measures the reflected signal input, and adapts its echo estimate up to a maximum noise value, which you can select in 1 dBm increments, from
–54 dBm to –10 dBm.
Conference Tracking
You can query the channel IDs of the three active (loudest) parties that are being summed together and the time they have been active. The report is returned in the Generic Report message (0x0046).
Conference Failure Handling
If the DSP Media module or DSP chip that is hosting a conference fails, all the channels in the failed conferences can now be parked instead of purged, although the default is still to purge. You can override this default for all conferences created, individual conferences, or individual conference legs. The application is responsible for rebuilding the conference on another DSP resource or for releasing the conference legs.
Configuration
See Configuring Conference Features.
Developer Information
1199
Tones
Tone Overview
Tone Reception
The DSP Media module supports the following tone reception functions:
DTMF Digit Reception (µ-law and A-law)
Call Progress Generation and Analysis (µ-law and A-law)
MFR1/R2 Tone Reception
A single receive stream can suport 183 channels - 366 per DSP
Tone Generation
The DSP Media module uses a Unified Tone Transmitter. The Unified Tone Transmitter supports the following:
up to 512 channels per DSP chip of mixed DTMF/MFR1/R2
Bong Tone and Call Progress tone generation for either µ-law or A-law.
A single transmit stream can support 256 channels - 512 per DSP.
MSP
1200
Tone-Related Terms
Call Progress Tone Patterns
Call progress tone patterns are audible signals that indicate the progress or disposition of a telephone call. Examples of call progress tone patterns include the busy signal, ringback, and dial tone.
Call Progress Analysis (CPA)
The act of receiving and interpreting call progress tone patterns is called Call Progress Analysis (CPA).
For call progress analysis, the MSP 1010 groups patterns into classes to facilitate management of CPA receivers. These CPA classes help assign call progress tone patterns to CPA receivers. When the host assigns a DSP resource to scan for call progress tones, the host specifies a class of patterns. The DSP resource then scans for the patterns defined in that class.
For example, you could place all progress tones used in a single country into one class. You could then assign this class to a DSP chip for call progress analysis for that country. The host can modify and create classes, using the CPA Pattern Configure message.
When a Call Processing receiver activates, it detects call progress patterns that are part of a Call Progress Analysis (CPA) Class. The receiver ignores any tones that are not part of a pattern in this CPA Class. This scenario allows the receiver to skip over tones that are not of interest, reducing the chance of receiving false Call Progress Analysis Result API messages.
By default, the MSP 1010 uses the following four CPA classes:
0x00 Standard North America
0x01 Dial Tone
0x02 CPC Detection
0x03 Energy Detection
Frequency
A frequency is the most basic building block of a call progress tone pattern.
Tone
A tone is a combination of frequencies, or it is a single frequency that has been designated as a tone. The frequency or frequencies in a tone have specified dBm levels.
Tone Pattern
A tone pattern is a single tone or a sequence of tones, divided at precise intervals by silence. A tone pattern is formed when tones are combined, with specific intervals of silence between them.
Developer Information
1201
For example, the industry-standard “call waiting tone” is actually a pattern, in which Tone 1 is on for 300 milliseconds, off for 9700 milliseconds, and on again for 300 milliseconds. You can think of a call progress tone pattern as being at the top of a hierarchy, with tone in the middle and frequency at the bottom. That is, one or more frequencies make up a tone, and one or more tones make up a pattern.
Composition of a Call Progress Tone Pattern
MSP
1202
Types of Tones
The MSP 1010 lets you transmit address signaling and call progress tones. Each tone type is available for both µ-law and A-law. You can generate the following tones:
Dual Tone Multi-frequency (DTMF)
Multi-frequency R1 (MFR1)
Multi-frequency R2 (MFR2 – backward and forward)
Call Progress Tone Patterns (CPT4)
Calling Card Prompt (Bong Tone)
Developer Information
1203
Call Setup
Digit Collection During Call Setup
During call setup, the MSP platform can collect DTMF, MFR1, and MFR2 (Forward and Backward) digits.
DNIS and ANI Identification
You can program the MSP platform to automatically collect the inpulsing address data that typically accompany an incoming call. This information identifies the Dialed Number Identification Service (DNIS) and/or the Automatic Number Identification (ANI). A service application can use this data to validate and authenticate subscribers, and to identify service.
International Call Progress Analysis
The MSP 1010 can transmit and receive international tones, including a 400 Hz tone used outside of North America.
Reporting Call Progress Tones
Detected call progress tones can be reported to the host in the following two ways:
During call setup, with the outseize instruction of Do Call Progress Analysis
Interactively, by assigning a CPA Receiver with the DSP Service Request message.
The table below lists the maximum quantities for call progress tone detection in the MSP 1010.
System Maximum for call progress tone detection
Tone Specification System Maximum
Patterns 30
Classes 15
Patterns per class 15
Frequencies per tone 2
Receiving Call Progress Tone Patterns
The algorithm for detecting call progress tones has the following two phases:
1. Pattern Detection – The first phase recognizes the pattern, based on the tones and cadences received.
2. Pattern Match – The second phase counts tone intervals, to confirm the presence of a pattern. The number of intervals to match is specified by the pattern’s Interval Cycles to Match parameter.
MSP
1204
The algorithm does not move to the second phase until the pattern is identified. Configurable timers determine the maximum time to remain in each phase.
The MSP 1010 scans for call progress tones in the specified class, and reports them in the CPA Result message. CPA terminates upon reporting a result.
Developer Information
1205
Energy Detection
The Energy Detection feature detects energy on a channel. You can use this feature for CPA when there is not a pattern to match available, or to report energy detection to the host application. To compensate for background noise and to filter out short energy bursts, you can set the sensitivity level and the scan duration (defined below).
You can determine these settings based upon the type of energy to be detected, and to some extent, by trial and error. After setting both levels, test to see if the desired energy is being detected, then adjust the settings as necessary.
For CPA, the Energy Detection feature determines only that a pattern has occurred. It does not distinguish tones. The Energy Detection class (Class 3) is composed of the most common call setup tones: Ringback, Double Ringback, Busy, and Reorder. You can add any pattern to this class, or use any other class for Energy Detection, with the following restrictions:
The pattern must consist of alternating periods of tones and silence. Energy Detection recognizes a pattern by periods with energy (tone) and no energy (silence). Because Energy Detection must detect both tone and silence, it cannot detect a “pattern” that has tone but no silent interval.
The Energy Detection DSP function can detect only tones from the default patterns defined for the Energy Detection class (Tone IDs 0, 1, 2, and 5). You can still use a pattern for Energy Detection that does not use one of these tones. To do so, you must change the Tone IDs in the pattern to one of those allowed, using the CPA Pattern Configure message.
Parameters
The following parameters configure energy detection:
Sensitivity Level
Scan Duration
Completion Timer
Sensitivity Level
The Sensitivity Level is the amplitude above which the energy detector perceives a signal. Set the sensitivity level to detect and report energy that is greater than the prevailing background noise. When you expect a significant background noise, use the least sensitive setting (0 dBm). When you expect little background noise, use the most sensitive setting (-30 dBm).
Scan Duration
The Scan Duration is the repeating time interval over which the energy detector determines that energy is either Present or Not Present. Set the scan duration to be longer than expected energy bursts. You must use 20 millisecond intervals to set the scan duration, so energy is sampled for each 20 millisecond block within the specified duration.
MSP
1206
The scan cycles repeat until the completion timer expires. The calculated energy level is the average over all blocks, as shown in Table 7-4. If the calculated energy level exceeds the configured sensitivity level, energy is reported.
Scan Cycle
Completion Timer
The completion timer determines the maximum amount of time to scan for energy. Each scan cycle, as defined by the scan duration, is repeated until either energy is detected, or the completion timer expires. We recommend setting the completion timer for 3 to 4 times the scan duration, depending on the application. If the timer expires before energy is detected, the host receives a Call Processing Event message of “No Energy Detected.”
Detection Methods
You can invoke Energy Detection in the following two ways:
Interactively, with the DSP Service Request message
As part of Call Progress Analysis
Interactive Energy Detection
You can invoke Energy Detection interactively, with the DSP Service Request message. Use the data bytes of the message to configure the sensitivity level, reporting mode, scan duration, and completion timer. The detected energy is reported to the host in a Call Processing Event message in one of two modes:
Report Initial Energy Detection Only
The host receives a Call Processing Event of “Energy Result Report” with Data[0], indicating Energy Detected. Data[1] indicates the duration of the period of no energy. The DSP resource is then automatically released.
Report All Energy Threshold Crossings
All of the following are reported: the initial energy detection, all subsequent changes, and the duration of the previous state’s ON or OFF interval.
When energy (A) is first detected, the host receives a Call Processing Event of “Energy Result Report” with Data[0] indicating “Energy Detected.” Data[1] indicates the duration of the preceding period of no energy (D1).
Developer Information
1207
When energy is no longer detected (B), the host receives a Call Processing Event message of “Energy Result Report” with Data[0] indicating “No Energy Detected.” Data[1] indicates the duration of the preceding period of energy (D2).
Energy Result Report
The DSP resource remains attached and reports energy changes until the completion timer expires, or until the host sends a DSP Service Cancel 0x00BE message, or until the channel returns to an idle state.
Energy Detection as Call Progress Analysis
Energy Detection allows the MSP 1010 to perform Call Progress Analysis for frequencies not supported by the default CPA DSP load. The Energy Detection DSP function matches cadences, based on the reported energy levels. CPA Class 3 is pre-configured for Energy Detection, using the standard CPA tones of ringback, double ringback, busy, and re-order.
To accommodate unique requirements for matching cadences, you can modify these patterns or add new patterns to the class. The host can change the pattern cadence that energy detection scans for, using the CPA Pattern Configure message.
Configuration
See Configuring Energy Detection.
MSP
1208
T.30 Fax
T.30 Fax Overview
T.30 is a fax handshake protocol that describes the overall procedure for establishing and managing communication between two fax devices.
T.30 covers these five phases of a faxing:
1. Setup the Call
2. Select the Communication Mode
3. Transmit the Message
4. Post Message Processing (Including End-of-Message and Confirmation)
5. Release Call / Disconnect
Note: T.30 does not allow for data transmission or processing. T.30 allows only for the transfer of fax image standards T.4 and T.6.
For more information about the Group 3 fax standard, see ITU T30 Fax standard.
Requirements
DSP Media module
One DSP Media module License
12 Resource Points per fax session
Network File System (NFS)
Supported Fax Standards
V.21 (300 bps) for T.30 fax negotiation
V.27 (2,400 / 4,800 bps, required by Group 3)
V.29 (9,600, 7,200 bps)
V.17 (14.4, 12, 9.6, 7.2 kbps) transmit/receive
Supported Image Format Conversion
Image formats conversion, either off-line or while the fax is being sent or received, for MH, MR, (ITUT.4), and MMR (ITUT.6)
Document files must be in TIFF-F or TIFF-S Format
Configuration
See Configuring T.30 Fax.
Developer Information
1209
Supported Features
The Excel T.30 Fax suite supports the following enhanced Group 3 fax features:
Resolutions: normal, fine, very fine
Standard page width formats
Conversion of document formats into different formats, resolutions, or encodings online (on-the-fly) or offline
Encoding: 1D, 2D, and MMR
Fax transmission or reception at rates up to 14,400 bps
12 simultaneous faxes per DSP chip (6 per stream)
ITU Group 3 compliance for worldwide fax machine compatibility
Document fax conversion (shrinking to fit A4, for example) to be supported “on the fly” via TLV
Page format conversions: A3, A4, and B4
Fax session and document status monitoring
Fax queues
FoIP
Error Correction Mode (ECM)
Permanent fax records (stored on the NFS server)
Configurable per-module, per-chip, and per-call
Digital signal processor (DSP)-based flexibility
Transmit Page Range in TIFF File.
NOTE: This release does not support T.30 Polling Mode.
MSP
1210
Fax Applications
The DSP Media module supports a suite of intelligent fax capabilities that are compliant with the ITU T.30 fax protocol, recognized worldwide. You can use the Excel T.30 Fax suite to develop applications that transmit and receive Group 3 facsimiles concurrently on all channels, at rates up to 14,400 bps.
Fax Messaging Applications
Supported Fax Applications include:
LAN Fax
Fax Broadcast
Fax-on-demand
Fax Messaging
Fax Server Products
Fax server products can be key components of large-scale, media server-based fax applications for the enterprise (for example, fax servers) and for large-scale Fax Service Provider systems. Dedicated fax servers serve more users while reducing hardware cost. Fax servers let companies distribute information to large audiences for pennies a page, and to eliminate bottlenecks associated with the limited capacities of traditional fax machines.
Store and Forward
A host application running on the MSP 1010 with the Excel T.30 Fax suite can use ITU T.37 fax store and forward. Although the Excel T.30 Fax suite does not explicitly support ITU T.37 fax store and forward, the suite does support the T.37 page format, which is specified as 1D encoding, LOW resolution, and A4 page width.
Developer Information
1211
Administration
Overload Management
Overview
The Overload Management feature allows the MSP platform to monitor and balance DSP resources on the DSP Media module, based upon how busy the DSP Media module is.
CPU Overload
File Overload
The DSP Media module overload levels are reported to the CPU:
when any level changes
Overload Levels
There are two overload levels to the CPU:
Overload 1
A DSP resource at Overload Level 1 will be used only if no other resources in the MSP 1010 are available.
Overload 2
A DSP resource at Overload Level 2 will not be used for some functions, and queued for others.
Alarms
When the configured process overload thresholds are exceeded, the DSP Media module sends an Alarm message to the Host application. When the thresholds are no longer exceeded, the DSP Media module sends an Alarm Cleared message to the Host application.
CPU Overload
CPU Overload Level 1
When an available DSP Media module resource is at CPU Overload Level 1, the resource will only be used when no other DSP resource is available in the MSP 1010. This applies to all DSP function types.
CPU Overload Level 2
A request for any of the following DSP resources is NACK’d with “No Resources Due to DSP Overload” (0x1707)
Tone Transmitter
Conferencing
Call Progress Analysis
MSP
1212
Energy Detection
File Play/Record
If a request for a DTMF, MFR1, or MFR2 receiver has been queued, the CPU sends an Alarm message of DSP Request Queued Due to DSP Media module CPU Overload Level 2 (0x40). This is a General alarm with a severity of Major.
File Overload
The File Overload Levels are set when any of the following conditions occur:
the CPU idle time is below its threshold setting
the VRA Process time is greater than its threshold setting
the VRA IO Queue process time is greater than its threshold setting
The File Overload Levels are cleared when all of the following conditions are met:
the CPU idle time is no longer below its threshold setting
the VRA Process time is no longer greater than its threshold setting
the VRA IO Queue process time is no longer greater than its threshold setting
File Overload Level 2
Any request for a DSP File Transmitter or Recorder is NACK’d with "No Resources Due to DSP Overload" (0x1707).
Configuration
See Configuring Overload Management.
Overload Alarms
The following Alarm messages are sent to the host when an overload condition occurs. When the condition clears, an Alarm Cleared message is sent.
Condition Alarm
CPU Overload 1 None
CPU Overload 2 Alarm Type: Card
Severity: Major
Alarm: NFS Major Traffic (0x45)
Overload Alarm Type: CPU Idle (0x0A)
Alarm Type: General
Severity: Major
Overload Alarm Type: DSP Request Queued Due to DSP Media module CPU Overload Level 2 (0x40)
File Overload Level 1: VRA Process Alarm Type: Card
Developer Information
1213
Time Severity: Minor
Alarm Number: NFS Minor Traffic (0x44)
Overload Alarm Type: “VRA Process” (0x0B)
File Overload Level 1: VRA IO Queue Process Time
Alarm Type: Card
Severity: Minor
Alarm: NFS Minor Traffic (0x44)
Overload Alarm Type: VRA IO Queue Process (0x0C)
File Overload Level 2 None
File Overload Level 2 for VRA Process Time
Alarm Type: Card
Severity: Major
Alarm: NFS Major Traffic (0x45)
Overload Alarm Type: VRA Process (0x0B)
File Overload Level 2 for VRA IO Queue Process Time
Alarm Type: Card
Severity: Major
Alarm: NFS Major Traffic (0x45)
Overload Alarm Type: VRA IO Queue Process (0x0C)
MSP
1214
Statistics Query
Overview
Use the Statistics Query 0x0121 message to retrieve the following information:
Network File System (NFS) statistics per card:
total number and size of NFS reads, writes, and records
read and write time delays (minimum, maximum, and average)
Function statistics on individual DSP chips:
total requests for a function
average free channels
minimum free channels
Cache statistics on all individual DSP chips:
accesses
misses
hits
average free blocks
Fixed memory statistics on all individual DSP chips, including total, average, and maximum blocks used.
Developer Information
1215
DSP Alarms
The table below shows the alarms reported in the Alarm 0x00B9 message that relate to DSP functionality. See the message for details.
DSP Related Alarms
Alarm Type Severity Alarm Number/Name
0x06 - DSP Resource Blocked
0x07 - DSP Resource Function Type Not Configured
0x08 - DSP Resource Management Inconsistent
0x3F - Insufficient Resource Points for DSP Function
Major
00x40 - DSP Request Queued Due to DSP Media module CPU Overload Level 2
General (0x01)
Informational 0x34 - DSP CPA Configuration Conflict
0x41 - NFS Server Mounting Error
0x43 - DSP Media module File Space Out of Memory
0x45 - NFS Traffic Threshold Major Alarm
0x46 - DSP Media module TFTP Communications Error
0x47 - NFS Read Error
0x48 - NFS Write Error
0x4B - NFS Server Unmount Error
Major
0x4C - NFS Open File Error
0x44 - NFS Traffic Minor Threshold Alarm Minor
0x42 - DSP Media module File Space Low
0x49 - Vocabulary Index File Read
0x4A - NFS Server Unmounted
Card (0x02)
Informational
0x40 - NFS Server Mounted Successfully
Channel (0x04) Major 0x0A - DSP Resource Wait Timeout
0x04 - Recorded Announcement Download Inconsistency
DSP SIMM (0x05)
Major
0x05 - Recorded Announcement ID Inconsistency (on same card)
MSP
1216
0x08 - Recorded Announcement File System Conversion Failure
0x09 - Recorded Announcement File System Timeout
0x0C - Recorded Announcement Defragmentation Failure
0x01 - DSP SIMM Taken Out of Service
0x03 - Recorded Announcement Erase Complete
0x06 - Recorded Announcement Download Ready
0x07 - Recorded Announcement File System Conversion Success
0x0B - Recorded Announcement Defragmentation Success
0x0D - Recorded Announcement Single Deletion Complete
Informational
0x0E - Recorded Announcement Need Defragmentation
0x01 - DSP Out of Service
0x03 - DSP Playback Underrun
0x04 - DSP Record Overrun
0x05 - DSP Temporary Storage Minor Alarm
Major
0x06 - DSP Temporary Storage Full
0x02 - Resources Exceed Limit
DSP (0x06)
Informational
0x07 - DSP Points Exceed Limit
Developer Information
1217
Specifications
DSP Media Module Features
Feature DSP Media Module
File Record/Playback Uses the DSP module for File Record/Playback
Maximum number of DSP chips 8
Configuration API Message DSP SIMM Configure (0x00C0)
Generic Card Configure (0x0122)
Tone Generation and Reception a DSP is assigned to play a universal tone, and that can be any tone type with the same encoding format.
Record/ Play files Record/Play features
Announcement Tracking the host application uses an ASCII Vocabulary Index File (VIF) to track playback files stored on the servers.
Conference Types - Monitor
- Unified
Conference API Messages - Resource Create
- Resource Connect
- Resource Modify
- Resource Delete
Statistics Supported
NFS server file storage Supported
Overload Management Supported
Coin Tone Detection Not Supported
E1 Dial Pulse Address Signaling Not Supported
MSP
1218
DTMF Digit Specifications
DTMF digit specifications
BCD DTMF Digit Frequencies (Hz)
0 0 941 Hz + 1336 Hz
1 1 697 Hz + 1209 Hz
2 2 697 Hz + 1336 Hz
3 3 697 Hz + 1477 Hz
4 4 770 Hz + 1209 Hz
5 5 770 Hz + 1336 Hz
6 6 770 Hz + 1477 Hz
7 7 852 Hz + 1209 Hz
8 8 852 Hz + 1336 Hz
9 9 852 Hz + 1477 Hz
A A 697 Hz + 1633 Hz
B B 770 Hz + 1633 Hz
C C 852 Hz + 1633 Hz
D D 941 Hz + 1633 Hz
E * 941 Hz + 1209 Hz
F # 941 Hz + 1477 Hz
Developer Information
1219
MF Digit Specifications
MFR1, MFR2 digit specifications
BCD MFR1 Digit
MFR1 Frequency (Hz)
MFR2 Digit
MFR2 Forward Frequency (Hz)
MFR2 Backward Frequency (Hz)
0 0 1300 Hz + 1500 Hz
1 1380+1500 1140+1020
1 1 700 Hz + 900 Hz
2 1380+1620 1140+900
2 2 700 Hz + 1100 Hz
3 1500+1620 1020+900
3 3 900 Hz + 1100 Hz
4 1380+1740 1140+780
4 4 700 Hz + 1300 Hz
5 1500+1740 1020+780
5 5 900 Hz + 1300 Hz
6 1620+1740 900+780
6 6 1100 Hz + 1300 Hz
7 1380+1860 1140+660
7 7 700 Hz + 1500 Hz
8 1500+1860 1020+660
8 8 900 Hz + 1500 Hz
9 1620+1860 900+660
9 9 1100 Hz + 1500 Hz
A 1740+1860 780+660
A KP 1100 Hz + 1700 Hz
B 1380+1980 1140+540
B ST 1500 Hz + 1700 Hz
C 1500+1980 1020+540
C STI 900 Hz + 1700 Hz
D 1620+1980 900+540
D STII 1300 Hz + 1700 Hz
E 1740+1980 780+540
E STIII 700 Hz + 1700 Hz
F 1860+1980 660+540
MSP
1220
Default Transmit Call Progress Tones
The table below shows the default tones that the MSP platform uses to generate call progress tone patterns. Each call progress tone is distinguished by an ID. Note that some of the tones are single frequencies, while others are combinations of frequencies, at specific dBm levels.
You can modify any of the default tones shown in the table above, but you cannot create a new Tone ID. The tone that was originally associated with that Tone ID becomes unavailable and the change affects all patterns that use that tone.
Default transmit call progress tones
Tone ID
Specifi-cation
01 02 03 04 05 06 07 08 09 0A 0B 0C
Frequency Count
1 1 2 2 2 4 1 1 1 1 1 1
Frequency 0 (Hz)
44 0
48 0
35 0
44 0
48 0
1,400 91 4
98 5
1,371
1,42 9
1,77 7
40 0
dBm 0 -15
-15
-15
-20 -20 -8 -13 -13 -13 -13 -13 -18
Frequency 1 (Hz)
44 0
48 0
62 0
2,060
dBm 1 -15
-20 -20 -8
Frequency 2 (Hz)
2,450
dBm 2 -8
Frequency 3 (Hz)
2,600
dBm 3 -8
Developer Information
1221
Default Transmit Call Progress Tone Patterns
To form call progress tone patterns, the call progress tones are combined and separated by intervals of silence. The table below shows the default transmit call progress tone patterns and their parameters.
Each pattern is composed of one to three cycle blocks, which include the following components:
Tone ID
ON duration
OFF duration
Number of times to repeat the cycle block
0xFFFF = continuous
Default Transmit Call Progress Tone Patterns
Transmit Cadence Pattern
ID Cycle Blocks
Cycle Block Number
Tone ID
ON Duration
OFF Duration
Cycles
Dial Tone 0x01 1 1 0x03 0xFFFF 0 1
Ringback 0x02 1 1 0x04 2000 4000 1
Line Busy 0x03 1 1 0x05 500 500 1
Reorder 0x04 1 1 0x05 250 250 1
Warning 0x05 1 1 0x06 100 100 1
1 0x01 300 9700 1 Call Waiting 0x06 2
2 0x01 300 10 1
1 0x02 100 100 1 ONI Call (Zip Tone)
0x07 2
2 0x02 100 10 1
ANI Failure (Zip Tone)
0x08 1 1 0x02 80 10 1
Confirmation 0x09 1 1 0x03 100 100 3
1 0x03 100 100 3 Recall Dial Tone
0x0A 2
2 0x03 0xFFFF 10 1
Class of Service Tone 2
0x0B 1 1 0x05 800 10 1
Class of Service Tone 3
0x0C 1 1 0x02 800 10 1
Intercept 0x0D 3 1 0x07 280 10 1
MSP
1222
2 0x09 280 10 1
3 0x0B 380 10 1
1 0x08 380 10 1
2 0x09 280 10 1
Vacant Code 0x0E 3
3 0x0B 380 10 1
1 0x07 280 10 1
2 0x0A 380 10 1
Reorder - LEC
0x0F 3
3 0x0B 380 10 1
1 0x08 380 10 1
2 0x0A 380 10 1
No Circuit - LEC
0x10 3
3 0x0B 380 10 1
1 0x08 280 10 1
2 0x09 380 10 1
Reorder - Carrier
0x11 3
3 0x0B 380 10 1
1 0x07 380 10 1
2 0x09 380 10 1
No Circuit - Carrier
0x12 3
3 0x0B 380 10 1
Continuous 400 Hz
0x13 1 1 0x0C 0xFFFF 10 1
1 0x00 500 10 1 Specialized Tone
0x14 2
2 0x02 800 10 1
Bong Tone 0x15 Reserved, cannot be modified by host
0x16 1 1 0x0D 0xFFFF 0x0000 1
0x17 1 1 0x0B 0xFFF 0x000 1
0x18-0x3F
User-defined
Developer Information
1223
Default Tone Patterns for CPA Detection
All of the tones supported by the MSP platform for are shown in the table below. The group of tone IDs may use up to 16 frequencies. A pattern is formed when the tones below are played at specific intervals.
Tones supported by the MSP
Tone ID Frequency Count
Frequency 0 (Hz)
Frequency 1 (Hz)
0x00 1 0
0x01 2 350 440
0x02 2 440 480
0x03 1 440
0x04 1 480
0x05 2 480 620
0x06 1 620
0x07 1 914
0x08 1 985
0x09 1 1371
0x0A 1 1429
0x0B 1 1777
0x0C 1 2000
0x0D 1 1700
0x0E 1 2100
0x0F 1 425
0x10 1 500
0x11 1 1100
MSP
1224
CPA Tone Patterns
The default tone patterns for call progress analysis appear in the table below. To modify or create new patterns, use the CPA Pattern Configure message. Click on the pattern name to see the default parameters (web-based documentation only).
Default tone patterns for call progress analysis
Value CPA Tone Pattern
0x01 Ringback
0x02 Double Ringback
0x03 Busy
0x04 Reorder
0x05 PBX intercept
0x06 SIT Intercept
0x07 Vacant Code
0x08 Reorder LEC
0x09 No Circuit LED
0x0A Reorder Carrier
0x0B No Circuit Carrier
0x0C PBX Dialtone
0x0D Standard Dial Tone
0x0E CPC Detection
Developer Information
1225
CPA Pattern Parameter Definitions
Pattern ID Description
Configuration Bits
Pattern-specific configuration (see CPA Pattern Configure message)
0x01 = Last Interval Continuous (for pattern ending with continuous tone)
0x02 = Detect Tone After Determination (for reporting Intercept Tones)
0x04 = Use As Internal Dial Tone (to detect dial tone without invoking Call Progress Analysis)
CPA Result on Pattern Loss
Call Progress Analysis Result to report when a pattern has been matched but discontinues before “interval cycles to report”. (CPA Result message).
Interval Cycles to Match
The number of times an Interval Sequence must be repeated before declaring the pattern valid
Interval Cycles to Report
The number of times an Interval Sequence must be repeated before reporting a Call Progress Result to the host
Interval Descriptor Count
The number of Interval Descriptors in the pattern
Interval Descriptor
An Interval Descriptor is a list of the tones and intervals that constitute a pattern. The MSP 1010 uses the Interval Descriptor to confirm that a specific pattern has been detected.
An Interval Descriptor consists of the Tone ID, Min. Filter, and Max. Filter, where:
Tone ID – A valid Tone ID
Minimum/Maximum Filter (MSB, LSB) – Minimum and maximum duration for this tone interval - A tone is determined as valid if the on and off cycles fall within the minimum and maximum times.
MSP
1226
Default CPA Tone Pattern Parameters
Ringback
Ringback
Pattern ID 0x01
Tone Group ID 0x00
Configuration Bits 0x00
CPA Result on Pattern Loss 0x80
Interval Cycles to Match 1
Interval Cycles to Report 2
Interval Descriptor Count 3
Interval Descriptors
Tone Interval 0: Tone ID 0x02
Reserved 0x00
Minimum Filter (ms) 600
Maximum Filter (ms) 2200
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 2800
Maximum Filter (ms) 5000
Double Ringback
Double Ringback
Pattern ID 0x02
Tone Group ID 0x00
Configuration Bits 0x00
CPA Result on Pattern Loss 0x80
Interval Cycles to Match 1
Interval Cycles to Report 3
Interval Descriptor Count 4
Tone Interval 0: Tone ID 0x02
Developer Information
1227
Reserved 0x00
Minimum Filter (ms) 420
Maximum Filter (ms) 580
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 400
Tone Interval 2: Tone ID 0x02
Reserved 0x00
Minimum Filter (ms) 420
Maximum Filter (ms) 580
Tone Interval 3: Tone ID 0x00
Reserved 0
Minimum Filter (ms) 2000
Maximum Filter (ms) 2500
Busy
Busy
Pattern ID 0x03
Tone Group ID 0x00
Configuration Bits 0x00
CPA Result on Pattern Loss 0x03
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 2
Tone Interval 0: Tone ID 0x05
Reserved 0x00
Minimum Filter (ms) 420
Maximum Filter (ms) 580
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 420
MSP
1228
Maximum Filter (ms) 580
Tone Interval 2: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Tone Interval 3: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Reorder
Reorder
Pattern ID 0x04
Tone Group ID 0x00
Configuration Bits 0x00
CPA Result on Pattern Loss 0x04
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 2
Tone Interval 0: Tone ID 0x05
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 300
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 300
Tone Interval 2: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Tone Interval 3: Tone ID
Developer Information
1229
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
PBX intercept
PBX Intercept
Pattern ID 0x05
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x05
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 2
Tone Interval 0: Tone ID 0x03
Reserved 0x00
Minimum Filter (ms) 100
Maximum Filter (ms) 300
Tone Interval 1: Tone ID 0x06
Reserved 0x00
Minimum Filter (ms) 100
Maximum Filter (ms) 300
Tone Interval 2: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Tone Interval 3: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
SIT Intercept
MSP
1230
SIT Intercept
Pattern ID 0x06
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x06
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 3
Tone Interval 0: Tone ID 0x07
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 350
Tone Interval 1: Tone ID 0x09
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 350
Tone Interval 2: Tone ID 0x0B
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 3: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Vacant Code
Vacant Code
Pattern ID 0x07
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x07
Interval Cycles to Match 1
Developer Information
1231
Interval Cycles to Report 1
Interval Descriptor Count 3
Tone Interval 0: Tone ID 0x08
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 1: Tone ID 0x09
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 350
Tone Interval 2: Tone ID 0x0B
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 3: Tone ID
Reserved
Minimum Filter (ms)
Maximum Filter (ms)
Reorder LEC
Reorder LEC
Pattern ID 0x08
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x08
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 3
Tone Interval 0: Tone ID 0x07
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 350
MSP
1232
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 2: Tone ID 0x0B
Reserved 0
Minimum Filter (ms) 300
Maximum Filter (ms) 460
No Circuit LED
No Circuit LED
Pattern ID 0x09
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x09
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 3
Tone Interval 0: Tone ID 0x08
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 1: Tone ID 0x0A
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 2: Tone ID 0x0B
Reserved 0
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Reorder Carrier
Developer Information
1233
Reorder Carrier
Pattern ID 0x0A
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x0A
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 1
Tone Interval 0: Tone ID 0x08
Reserved 0x00
Minimum Filter (ms) 200
Maximum Filter (ms) 350
Tone Interval 1: Tone ID 0x09
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 2: Tone ID 0x0B
Reserved 0
Minimum Filter (ms) 300
Maximum Filter (ms) 460
No Circuit Carrier
No Circuit Carrier
Pattern ID 0x0B
Tone Group ID 0x00
Configuration Bits 0x02
CPA Result on Pattern Loss 0x0B
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 3
Tone Interval 0: Tone ID 0x07
Reserved 0x00
MSP
1234
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 1: Tone ID 0x09
Reserved 0x00
Minimum Filter (ms) 300
Maximum Filter (ms) 460
Tone Interval 2: Tone ID 0x0B
Reserved 0
Minimum Filter (ms) 300
Maximum Filter (ms) 460
PBX Dialtone
PBX Dialtone
Pattern ID 0x0C
Tone Group ID 0x00
Configuration Bits 0x01
CPA Result on Pattern Loss 0x0C
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 7
Tone Interval 0: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Tone Interval 2: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Developer Information
1235
Tone Interval 3: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Tone Interval 4: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Tone Interval 5: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 80
Maximum Filter (ms) 120
Tone Interval 6: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 500
Maximum Filter (ms) 0
Standard Dial Tone
Standard Dial Tone
Pattern ID 0x0D
Tone Group ID 0x00
Configuration Bits 0x05
CPA Result on Pattern Loss 0x0D
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 1
Tone Interval 0: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 500
Maximum Filter (ms) 0
CPC Detection
MSP
1236
CPC Detection
Pattern ID 0x0E
Tone Group ID 0x00
Configuration Bits 0x01
CPA Result on Pattern Loss 0x0E
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 1
Tone Interval 0: Tone ID 0x01
Reserved 0x00
Minimum Filter (ms) 1500
Maximum Filter (ms) 0
Fax
Fax
Pattern ID 0x13
Tone Group ID 0x00
Configuration Bits 0x00
CPA Result on Pattern Loss 0x13
Interval Cycles to Match 1
Interval Cycles to Report 1
Interval Descriptor Count 2
Tone Interval 0: Tone ID 0x11
Reserved 0x00
Minimum Filter (ms) 425
Maximum Filter (ms) 575
Tone Interval 1: Tone ID 0x00
Reserved 0x00
Minimum Filter (ms) 2550
Maximum Filter (ms) 3450
Developer Information
1237
CPA Classes
The parameters associated with a CPA class are defined in the CPA Class Parameter Definitions table below. To modify a class or to add a new class, use the CPA Class Configure message. The MSP 1010 supports up to 15 classes. A class can contain up to 15 pattern members, and 30 patterns are allowed for each MSP 1010. Class elements are given in the table below.
CPA Classes
Class Standard N.A. 0x00
Dial Tone 0x01
CPC Det. 0x02
Energy Det. 0x03
Mode 0x01 (Adv. Ans. Det.)
Energy Detection
Tone Burst Answer Threshold
4/250 ms 4/500 ms
Start Delay 0x00 0x00 0x00 0x00
Continuous Silence Timeout (ms)
25,000 25,000 0xFFFF 25,000
Confirmation (ms)
13,000 25,000 0xFFFF 13,000
Confirmation/No Report (ms)
22,000 15,000 0xFFFF 22,000
Minimum Frequency Glitch Time (ms)
40 20 20 20
Minimum Silence Glitch Time (ms)
60 20 20 60
Maximum On Timer (ms)
2,800 25,000 0xFFFF 2,800
Maximum Off Timer (ms)
5,000 25,000 0xFFFF 5,000
Mode Specific Value 1
0x0000 0x0000 0x0000 0x0005
Mode Specific Value 2
0x0000 0x0000 0x0000 0x0002
Patterns in Class
0x01 Ringback
0x02 Double
0x0C PBX Dial Tone
0x0D
0x0E CPC Detection
0x01 Ringback
0x02 Double
MSP
1238
Ringback
0x03 Busy
0x04 Reorder
0x05 PBX Intercept
0x06 SIT Intercept
0x07 Vacant Code
0x08 Reorder-LEC
0x09 No Circuit LEC
0x0A Reorder Carrier
0x0B No Circuit Carrier
0x0C PBX Dial Tone
0x0D Standard Dial Tone 0x0C PBX Dial Tone
Standard Dial Tone 0x0C PBX Dial Tone
Ringback
0x03 Busy
0x04 Reorder
Developer Information
1239
CPA Class Parameter Definitions
Class Parameter Definition
Mode Call Progress Analysis Mode (for example, Advanced Answer Detect, Energy Detection).
Tone Burst Answer Threshold
The number of frequency bursts in 500ms before answer is declared.
Start Delay Amount of time to wait before analysis begins.
Continuous Silence Timeout
Amount of time after CPA is initiated to wait to hear any tone.
Confirmation Amount of time to wait to detect a pattern.
Confirmation/No Report
Amount of time after detection of a tone to wait for pattern confirmation before terminating CPA.
Minimum Frequency Glitch
Time Amount of time to validate a tone detection.
Minimum Silence Glitch Time
Amount of time to validate a silence detection.
Maximum On Timer The maximum amount of time a tone must be “on” without a pattern match before the “continuous on” result is reported.
Maximum Off Timer The maximum amount of time silence must be detected before the “not determined” result is reported; amount of time to validate a silence detection before declaring it as silence.
Mode Specific Value Values to configure for specific CPA mode.
MSP
1240
Configuring & Using DSP Resources
Overview of Configuring and Using DSP Resources
The topics in this section provide the detailed steps for configuring and using DSP resources.
For just the basic DSP configuration steps in the context of the full MSP configuration (using API messages) refer to Overview of MSP Configuration and Overview of DSP Configuration.
Developer Information
1241
Basic DSP Configuration
DSP Configuration API Message Summary
Introduction
The following table shows the API message used for DSP configuration.
GENERAL DSP CONFIGURATION
Tasks Options/Notes API Message(s)
Assign Function Types See Function Types DSP SIMM Configure
Configure NFS File Management
Server Address
Vocabulary Index File
NFS User Group ID
NFS Poll Retries
Generic Card Configure
Configure Overload Alarm Thresholds
See Configuring Overload Management
Assign IP Address Required for NFS IP Address Configure
Bring DSP In Service Service State Configure
FUNCTION-SPECIFIC CONFIGURATION
Tasks Options/Notes API Message(s)
Conferencing
Configure Module-level Conferencing Parameters
Output Gain Control
Noise Gating
Echo Suppression
Auto. Gain Control
Failure Behavior
Generic Card Configure
Record Files
Record Files Gain
File Event Descriptor
Beep Tone Parameters
Initial Silence Timer
Final Silence Timer
Max. Record Timer
Dual Chan. Rec. Option
Silence Threshold
Record File Start
Record File Stop
MSP
1242
Append or Replace
Modify Recording Modify Gain
Pause
Resume
Record File Modify
Tones
If required, modify default tones and Call Progress Analysis Pattern/Class.
See Customizing Tones. Call Progress Analysis Pattern Configure
Call Progress Analysis Class Configure
Tone Configure
Inseize Instruction List Configure
Implementing DSP Resources
Conferencing See Conferencing. Resource Create
Resource Connect
Resource Modify
Resource Disconnect
Play Files See Playing a File. DSP Service Request
DSP Service Cancel
Play File Start
Play File Modify
Play File Stop
Record Temporary Files See Recording Files. Record File Start
Tones See Tones. DSP Service Request
DSP Service Cancel
Connect Tone Pattern
Disconnect Tone Pattern
Developer Information
1243
Basic DSP Media Module Configuration Sequence
Configuration API Messages
The following API messages are used for general DSP Media module configuration.
Generic Card Configure 0x0122
Use this message to configure the DSP Media module for NFS, alarms, statistics, and module-level defaults.
DSP SIMM Configure 0x00C0
Use this message to configure DSP chips for specific functions.
IP Address Configure 0x00E7
Use this message to assign an IP Address to the DSP Media module for NFS functionality.
Service State Configure 0x000A
Use this message to take DSP chips in and out of service.
Configuration is maintained through warm starts, resets, and faults.
Procedure
The following is a basic configuration sequence for the DSP Media module.
1) Bring the DSP chip out of Service
Use the Service State Configure 0x000A message to bring the DSp chip out of service.
2) Configure DSP Function Types
Use the DSP SIMM Configure 0x00C0 message to assign function types on each SIMM. The default DSP configuration is shown in the message.
3) Download Additional Resource Points if required.
If your DSP resource requirements exceed the standard resources points that come with the main board and DSP Media module, you must download a license for more points.
See Downloading License Keys to the MSP
Also see DSP Resource Points in the DSP Media Module Product Description section for more information.
4) Configure NFS Servers (up to 8)
Use the Generic Card Configure 0x0122 message with the Announcement Configuration TLV (0x05DC).
a.) Server IP Address (for NFS)
The IP Address must be set on initial power up only.
b.) Configure Vocabulary Index File and Announcements
5) Configure Conferencing
MSP
1244
Use the Generic Card Configure 0x0122 message to set conferencing features and options. All conferences established will use these settings unless you override them on a per-conference basis with the Resource Create 0x0124 or Resource Modify 0x0125 message.
See Configuring Conferencing Features.
See Configuring Conferencing Options.
6) Customize Tones
Perform any tone customization required, such as for Call Progress Analysis.
See Digit Collection
7) Bring the DSP chip in Service
Use the Service State Configure 0x000A message to bring the DSP chip back in service.
Related Topic
Developer Information
1245
Call Processing Messages
The table below shows the API messages related to DSP resources.
DSP-Related API Messages
Category Message Description
File Playback Play File Start 0x011B
Play File Stop 0x011D
Play File Modify 0x011C
Use these messages to start, stop, or modify the playing of a file.
Recorded Announcement Connect 0x0055
Use this message to connect to a recorded announcement on the DSP Media module. Announcements must be accessible via NFS.
DSP Services DSP Service Request 0x00BD
DSP Service Cancel 0x00BE
Use these messages to allocate or cancel a DSP service on channel.
Tones Call Progress Analysis Result 0x0034
The MSP platform sends this message to report the result of Call Progress Analysis on a channel. Only one result is reported per message.
Connect Tone Pattern 0x002F
Use this message to transmit a call progress pattern ID to the specified channel. In order for the host to be notified when tone transmission has stopped, it must set the Generate Event Flag field of this message.
Disconnect Tone Pattern 0x001E
Use this message to terminate call progress tone transmission on the specified channel.
Conferencing Resource Create 0x0124
Use this message to create a conference.
Resource Delete 0x0126 Use this message to delete a conference.
Resource Modify 0x0125 Use this message to change the options or
MSP
1246
features of an existing conference.
Resource Delete Indication 0x0129
The MSP platform sends this message to the host after a conference is deleted.
Resource Connect 0x0127
Use this message to add a channel to a conference which has already been created.
Connect One-Way To Conference 0x004F
Use this message to establish a one-way (listen only) connection between the channel specified and the previously created conference specified.
Resource Disconnect 0x0128
Use this message to remove a channel from a conference.
General Alarm 0x00B9 This message is sent by the MSP platform to indicate alarm conditions on the DSP Media module.
See DSP Alarms in the DSP Media Module Product Description section for more information.
Card Status Report 0x00A6
This message is sent by the MSP platform to report the number of DSP modules and their function types configured on the DSP Media module.
Developer Information
1247
Administration API Messages
Feature Description
Overload Management
Statistics Query
DSP Alarms
API Messages
The following messages are used for queries and alarms.
Queries Generic Card Query 0x0123 Use this message to query the configuration of the DSP Media module for NFS, alarms, statistics, and card-level defaults.
Statistics Query 0x0121 Use this message to query cache and function usage statistics on the DSP Media module.
System Configuration Query Use this message to query various configuration settings in the MSP platform, including the following for DSP:
0x04 - Active Conference IDs
0x07 - Resource Threshold
0x09 - Resource Usage Reporting
0x10 - Detailed Conference Information
0x11 - DSP Resource Threshold
0x13 - Conference Speakers
0x14 - Conferencing Features
0x15 - Child Conference Information
0x16 - Child Conference IDs
System Resource Usage Query Use this message to query the following conferencing resource utilization information:
- Timeslots in use
- Timeslots available
MSP
1248
- Percent used
Generic Report This message is generated in response to the following DSP Query Types sent in the System Configuration Query message:
0x04 - Active Conference IDs
0x0A - Resource Usage
0x10 - Detailed Conference Information
0x13 - Conference Speakers
0x14 - Conferencing Features
0x15 - Child Conference Information
0x16 - Child Conference IDs
Tone Query 0x005A Use this message to query the transmit and receive tones assigned to a DSP, as well as the frequency and power levels of the tones.
Call Progress Analysis Configuration Query 0x008A
Use this message to query call progress analysis (CPA) configuration information.
Transmit Cadence Pattern Query 0x0059
Use this message to query any of the configured transmit cadence parameters.
Card Status Query 0x0083 Use this message to query the number of DSP modules and their function types configured on the DSP Media module.
General Alarm 0x00B9 This message is sent by the MSP platform to indicate alarm conditions on the DSP Media module.
See DSP Alarms in the DSP Media Module section for more information.
Card Status Report 0x00A6 This message is sent by the MSP platform to report the number of DSP modules and their function types configured on the DSP Media module.
Developer Information
1249
Configuring Overload Management
Configuration
To configure the overload threshold values, the number of times that the threshold must be exceeded (M), and the size of the sample window (N), use the Generic Card Configure 0x0122 message (0x0122) with the Alarm Threshold TLV (0x05EF) and these Alarm types:
0x0A CPU Idle Time
0x0B VRA Process Time
0x0C VRA IO Queue Time
Query
To query the overload thresholds, use the Generic Card Query 0x0123 message (0x0123) with the 0x05FA Card Object TLV.
To query the overload statistics, use the Statistics Query 0x0121 message (0x0121) with a slot AIB and the DSP Series 2 Overload Statistics (0x0616).
TLVs for DSP Media Module Overload Management
0x0616 DSP Series 2 Overload Statistics
0x0617 Alarm Threshold Query
0x0618 Alarm Threshold Enabled Report
MSP
1250
Record/Play Files
Recording Files
Feature Description
See File Record And Playback Overview.
Procedure
1) Record files using the Record File Start 0x011E and Record File Stop 0x0120 messages.
You should use File IDs above 0x00100000 for longer files and for files you want to keep for a significant period.
For temporary recordings, such as those used for to directory assistance requests, you should use File IDs below 0x00100000. You must play back the temporary file from the same DSP Media module on which they are recorded.
2) Create a Vocabulary Index File (VIF) to track recordings and point to files for playback.
See VIF Format in the DSP Media Module Card Product Description section.
3) Download the VIF to the DSP Media module using the 0x05DF Vocabulary Index File TLV in the Generic Card Configure 0x0122 message.
Recording API Messages
Record File Start 0x011E
Use this message to start recording a file.
Record File Stop 0x0120
Use this message to stop recording a file.
Record File Modify 0x011F
Use this message to modify the gain of a file recording, as well as to pause or resume the recording.
DSP Cache Modify 0x011A
Use this message to delete a file from cache, or copy a file from cache to permanent storage.
Deleting Files
To delete files, send the DSP Cache Modify 0x011A message.
Developer Information
1251
Full Duplex Channel Recording
This feature allows you to record both the inbound and outbound legs of a single channel. You can use this feature to record both channels in a connection within a single node or a multi-node system.
Implementation
To invoke this feature, send a Record File Start 0x011E message that contains a single Channel AIB and the Dual Channel Recording TLV (0x5ED). In the TLV you can select whether the channels are recorded summed or independently.
TLV Format
The format of the Dual Channel Record Option TLV is shown below:
0x05ED Dual Channel Record Option
Use this TLV to record both sides of a connection. This TLV allows you to choose whether you want each channel to be saved to its own file (Independent) or both channels to be saved to the same file (Summed).
This TLV is optional for the Record File Start 0x011E message.
Byte Value Description
0, 1 Tag 0x05ED Dual Channel Record Option
2, 3 Length 0x0001
4 Value[0] 0x00 - Sum Channels Together (Default)
0x01 - Independent Channels (file location is the same, but filename is appended with “_2” )
Example Call Trace
MSP
1252
Record File Start
H->X
00 78 01 1e 00 00 ff 00 02 0d 03 00 00 00 01 01 04
00 04 'Number of TLVs
05 e0 00 04 00 00 00 0a 'File ID
05 e1 00 02 00 01 'File Format
05 E2 00 15 00 01 00 02 5C 52 65 63 6F 72 64 5C 74 65 73 74 2E 75 6C 61 77 'File Location
05 ED 00 01 00 'Dual Channel Record - Summed
Developer Information
1253
Playing a File
You use the Play File Start and Play File Stop messages to control Playback of files.
Play File API Messages
Play File Start 0x011B
Use this message to start playing a file.
Play File Stop 0x011D
Use this message to stop playing a file.
Play File Modify 0x011C
Use this message to modify (gain or speed), pause, resume, skip forward, or skip backward in a file that is currently playing.
File Barge-in Mode
Transmission of a file in barge-in mode is supported. You must use the Play File Start message with the Barge In TLV (0x05E5).
You cannot initiate a another play file start that has barge in enabled, while a play file start is already in progress.
Specifying Offset and Length
You can specify the Offset and Length in one of two ways:
in two fields within the Vocabulary Index File
in the File Offset and Length TLV (0x0614) used in the Play File Start message. You can use the File Offset and Length TLV when queueing files, but you cannot use it when chaining files within a single message.
If the Length plus the Offset is greater then the actual file size, the file plays until the end. If the Offset is greater then the actual file size, a File Open error occurs.
Queuing Files
You can send multiple Play File Start messages and the files will be queued so that when one ends, the next one starts. This functionality works for all files, cached or un-cached, and with or without using the VIF file. There is no limit to the number of files you can queue, except for the limits imposed by memory.
You can also queue a chain of files using the Play File Start message by entering the number of files in the Number of Files field, and using the Play File Queue TLV.
When the first file in the queue is started, a Call Processing Event 0x002E message of File Started is generated, and when the last file in the queue has been played, a File Complete event is generated.
Failure Conditions
MSP
1254
If a Play File request has more than one file descriptor, the request is NACKed.
If a queued file cannot be opened, a CPE of Play File Queue Failure (0x33) is returned. All current requests in the queue are cleared and the DSP resource is freed.
If queueing causes memory to be used up, a File Queue Failed alarm is returned.
Playing a .wav File
You indicate the WAV format in the File Format TLV (0x05E1) in the following API messages:
Play File Start 0x011B
DSP Cache Modify 0x011A
NOTE: The .wav format is currently not supported for the Record File Start message.
Alarm
If there is an error reading a .wav file, the switch will not NACK the API message, but will send an informational Card Alarm of 0x4E in the Alarm 0x00B9 message:
Example 1: No RIFF Chunk Found (Alarm Subtype 0x00)
X->H
[00 19 00 b9 00 0c ff 01 02 4e 10 00 01 01 01 04 00 01 00 00 17 70 00 42 41 44 20]
Example 2: RIFF type .wav not found (Alarm Subtype 0x01)
X->H
[00 19 00 b9 00 0e ff 01 02 4e 10 00 01 01 01 04 00 01 00 00 17 71 01 42 41 44 20]
Developer Information
1255
Appending or Replacing Recorded Files
To append or replace a file, use the optional Append or Replace TLV (0x0615) in the Record File Start 0x011E message (0x011E).
Call Processing Events
There is a four-byte data field named Offset in the following Call Processing Events:
Play File Started
Play File Completed
Record File Started
Record File Completed
In the Play File Started and Record File Started events, the Offset represents the starting byte. In the Play File Complete and Record File Complete events, the Offset represents the ending byte.
The application is responsible for managing different encoding formats, and for designating how bytes represent time.
The Record File Started event is issued when the first block of data is written. The DSP Media module block size is 1 second, so this event occurs approximately 1 second after the Record File Start message is issued.
MSP
1256
Conferencing
Creating a Conference
Feature Description
See Unified Conference.
Pre-requisites
You must have DSP Chips configured for the conference type you are creating.
Procedure
1) Create the Conference
Use the Resource Create 0x0124 message to create the conference.
- AIB
Use the DSP Chip AIB to indicate the DSP Chip to be used for the conference. The DSP Chip selected must be configured for the Unified Conference (0x22) Function Type.
- Mandatory TLVs
0x0602 Resource Type: 0x0100 - Conference
0x0603 Channel/DSP Pool -select the appropriate pool of available DSP resources for the conference
- Optional TLS
Use optional TLVs to configure conference features and options.
See Conferencing Features TLVs
See Conferencing Options TLVs.
2) Add Conferees
Add Conferees using the Resource Connect 0x0127 message.
Manual Input Volume Control
This feature enables a manual volume control on a parties inbound leg to a conference. The Automatic Gain Control for that party is automatically disabled, and the requested gain is added to the conferee’s speech prior to being added to the conference.
You implement the Manual Volume Control feature using the 0x068B Input Gain Control TLV in the following messages:
Resource Create (0x0124)
Resource Modify (0x0125)
Resource Connect (0x0127)
Querying Active Speakers
Developer Information
1257
To query the active speakers of a conference, use the System Configuration Query message (0xB4) with the Conference ID AIB (0x55) and the Conference Speakers (0x13) query type. The Generic Report (0x46) message is returned with the conference data.
MSP
1258
Creating a Child Conference
Feature Description
See Child Conference in Unified Conferencing.
Dependencies and Considerations
If a party is removed from the parent conference, it will also be removed from the child conference if it is part of any.
A party can be in only one child conference at a time.
Only parties that are connected 2-way in a parent conference can be moved into a child conference.
A child conference inherits its conferencing features configuration from the parent conference at the time of its creation. You can modify the Conferencing Features configuration of the Child Conference with the Resource Modify 0x0125 message.
Play/Record Files into a child conferences is not supported.
Pre-requisites
You must already have a conference created (Parent Conference) from which to create the Child Conference.
Procedure
1) Create Child Conference
Use the Resource Create 0x0124 message to create the Child Conference.
- AIB:
Use the Child Conference AIB. In the AIB you indicate the Parent conference ID. The response to the Resource Create 0x0124 message will indicate the new Child Conference ID, which you then use when adding conferees to the Child Conference using the Resource Connect 0x0127 message.
- Mandatory TLV
0x0602 Resource Type: Child Conference (0x0107)
- Optional TLVs
Use optional TLVs to override default conference parameters if necessary.
See Conferencing Features TLVs
See Conferencing Options TLVs.
2) Add Conferees
Use the Resource Connect 0x0127 message to add conferees to a child conference.
Developer Information
1259
Removing Party from the Child Conference
Use the Resource Disconnect 0x0128 message to move a channel from a child conference back into the parent conference. The Resource Disconnect message uses the Channel AIB (0x0D) and the Child Conference ID AIB (0x45).
Deleting a Child Conference
Use the Resource Delete 0x0126 message (0x0126) to delete a Child Conference. The Resource Delete message uses the Child Conference ID AIB (0x45) to address the child conference to be deleted.
The Resource Delete Indication message (0x0129) indicates that the Child Conference has been deleted.
When a child conference is deleted forcibly, the channels connected to it are connected back to the parent conference and the child conference is immediately deleted.
When a child conference is deleted gracefully, the MSP platform waits until all the parties connected to the child conference are either removed or reconnected back to the parent conference before deleting the child conference. The default behavior is graceful deletion.
When a parent conference is deleted forcibly, all parties connected to the parent and the associated child conferences are removed, and the parent and all its child conferences are immediately deleted.
When a parent conference is deleted gracefully, the MSP platform waits until all parties in the parent and the associated child conferences are removed. When all parties connected to a child conference have been removed or reconnected back to the parent conference, the child conference is deleted. When all the child conferences have been deleted and no parties are left in the parent conference, the parent conference is deleted.
MSP
1260
Creating a Monitor Conference
Feature Description
See Monitor Conference.
Pre-requisites
You must have a DSP Chip configured for Monitor Conference.
Considerations
Channels can be connected to the conference after call setup. It is not necessary to know at setup time all of the callers that will eventually connect to the conference.
The call processing states of the source channels added to a monitor session are irrelevant. A source channel can be added to a monitor session with no effect on its current connection state. Subsequent state transitions of the channel have no effect on its association with the monitor conference.
The source channels connected to a monitor conference do not have to be associated with one another in any way.
Procedure
1) Create the Conference
Use the Resource Create 0x0124 message to create the conference.
- Mandatory TLVs
0x0602 Resource Type: 0x0100 - Conference
0x0603 Channel/DSP Pool: Select desired option.
0x0606 Monitor Conference Enable: 0x0001 - Enable
- Optional TLS
Use optional TLVs to configure conference parameters.
See Conferencing Features TLVs
See Conferencing Options TLVs.
2) Add Conferees
Add Conferees using the Resource Connect 0x0127 message.
When adding the monitor channel, use the 0x0612 Connection Type TLV to indicate a one-way connection (0x01).
Multiple Sessions
To create multiple sessions, you can use the source ports on a DSP resource, in any combination.
Developer Information
1261
For example, a DSP chip that is configured for the Monitor Conference function can provide the following:
Three 9-port sessions and one 7-port session
Six 5-port sessions and one 4-port session
17 two-port sessions
Deleting a Monitor Conference
You can delete a Monitor Conference by sending a Resource Delete 0x0126 message. Deletion can be either Forced or Graceful:
Forced Deletion
To release all channels in the conference and delete the conference using the Resource Delete 0x0126 message with the Forced Flag byte set to 0x01.
Graceful Deletion
To gracefully delete a Monitor Conference, release all monitor channels in the conference using the Release Channel message and then delete the conference using the Resource Delete 0x0126 message with the Forced Flag byte set to 0x00. All source channels are then automatically removed from the conference and the conference is gracefully deleted.
If you remove only the source channels from the Monitor Conference, the conference is not deleted. The conference retains its Conference ID and can be re-used.
Reconfiguring a Monitor Conference
To reconfigure an existing conference with new source channels, park the monitor channels using the Park Channel 0x00BF message. Removing the monitor channels from the conference (either by parking or releasing) automatically removes all of the source channels.
If a Resource Delete 0x0126 message that specifies graceful deletion has been sent, removing the monitor channels from the conference deletes the conference. When the source channels are removed, the monitor channels can then be reconnected to the conference, and new source channels connected using the same Conference ID number.
MSP
1262
Configuring Conference Features
See Conferencing Features.
You set conferencing features using TLVs in the following messages:
Generic Card Configure 0x0122
Resource Create 0x0124
Resource Connect 0x0127
Resource Modify 0x0125
Conferencing Features TLVs
Parameter Notes TLV(s)
Automatic Gain Control (AGC)
Automatic Gain Control (AGC) automatically detects variations in volume input and adjusts the input level to be within a decibel range that you can specify, in 1 dB increments.
If a conferee’s voice input (one conference leg) is either too quiet or too loud, AGC adjusts the input so that it falls within your specified acceptable range.
Default = Disabled
See Automatic Gain Control.
NOTE: You can implement the Manual Volume Control feature to override the dB of a conferee using the 0x068B Input Gain Control TLV.
See Manual Input Volume Control.
0x060C Automatic Gain Control Enable
0x060E Automatic Gain Control Parameters
0x060D Automatic Gain Control Input Level
0x068B Input Gain Control
Noise Gating During natural breaks in conversation (when the speaker on a channel is not speaking) if significant ambient noise is coming into a
Noise Gate Enable TLV (0x0608)
Noise Gate Parameters TLV (0x0609)
Developer Information
1263
conference from the speaker’s line, that noise can be gated using the Noise Gating feature. As a conference grows in size, ambient noise is more likely to become a problem.
You can customize the time span (time constant) over which noise is measured, in increments of 5 ms. You can also specify a maximum allowable estimated noise level in 1 dBm increments, from –54 dBm to –10 dBm.
Defaults
Disabled
Time Constant = 35
Maximum Noise Level = -20 (1 dBm steps)
Noise Gating Sensitivity = 3
See Noise Gating
Output Gain Control You can adjust gain from –40dB to +10dB, in increments of 1dB.
The MSP platform acts upon the most recent command. For example, if a change is made at the conference leg level and then at the conference level, the conference level setting overrides the leg level setting because that was the last change made.
Default = 0db
See Output Gain Control.
Output Gain Control (0x0607)
Echo Suppression If a conference leg is generating echoed signal, you can mute that echoed signal using the
Echo Suppression Enable (0x060A)
Echo Suppression Parameters TLV
MSP
1264
Echo Suppression feature. Note how this differs from echo cancellation. Echo Suppression adaptively measures the reflected signal input, and adapts its echo estimate up to a maximum noise value, which you can select in 1 dBm increments, from –54 dBm to –10 dBm.
Defaults
Disabled
Echo Return Loss (1 db steps) = -10
See Echo Suppression
(0x060B)
Conference Failure Behavior
You can configure a conference so that if the conference fails all the channels are parked.
The application is responsible for rebuilding the conference on another DSP resource or for releasing the conference legs.
Default = Purged
0x060F Conference Failure Behavior
Developer Information
1265
Configuring Conference Options
Conferencing Options TLVs
TLV
(Optional unless Noted)
Notes/Values
* = default
0x05E5 Barge In By default, Barge-In is enabled for conferencing. Include this TLV to disable it.
0x0000 - Disabled
0x0001 - Enabled *
0x0604 DTMF Clamping/Filtering Enable
Use this TLV to enable DTMF filtering.
0x0000 - Disabled*
0x0001 - Enabled
MSP
1266
Playing Files into a Conference
You can play a file into a conference using the Play File Start message.
Modifying a File Being Played
To modify a file that is playing to a conference, use the Conference AIB in the Play File Modify message and, optionally, the File ID TLV. If you use the File ID TLV, all instances of that File ID being played in the specified conference are modified. If the File ID TLV is absent, all the files playing into that conference are modified.
Stopping a File
To stop a file that is playing to a conference, use the Conference AIB and File ID TLV in the Play File Stop message. If the File ID TLV is absent, all the files playing into that conference are stopped.
Playing Multiple Files to a Conference
You can simultaneously play multiple files into a conference. The same File ID can be played multiple times. Any subsequent action on the playing file (such as Modify or Stop) identifies the file using a combination of the Conference ID and the Play File ID. Therefore, if you modify or stop a File ID, you cause the change to happen to all instances of that File ID being played in the specified conference.
File queues are not permitted when playing multiple files into a conference. Multiple file plays are not permitted when queued files are being played.
Resource Points
When playing multiple files into a conference simultaneously, standard Play File resource points are used for each Play File.
Developer Information
1267
Tones
Digit Collection
This section describes the API messages used for digit collection.
DSP Service Request
Use this message to allocate an appropriate digit receiver and attache it to the specified channel. The attached digit receiver uses the Call Processing Event 0x002E message to report digits as they are decoded, one at a time. The receiver remains attached to the channel until the channel is released or until the host cancels digit collection, with the DSP Service Cancel (0x00BE) message.
Collect Digit String
Use this message to allocate and attache a digit receiver to a channel. Unlike the DSP Service Request message, this message causes the MSP platform to collect a group of digits in sequence until termination condition occurs. The termination condition could be the detection of a particular digit from a termination digit set, a fixed number of digits collected, or a timeout.
Digit Collection After Call Setup
After a call is set up, the MSP platform collects DTMF digits interactively. The host collects additional information, either one digit at a time with the DSP Service Request message, or as a sequenced group of digits with the Collect Digit String message.
Collecting Inpulse Data on Specified Channels
Use the Inpulsing Parameters Configure message. Inpulsing parameters define the address signaling type, the number of digit strings, and the collection method used during call setup.
The MSP platform supports four different inpulsing stages, each with one or two digit strings. When the host is instructing the MSP platform to collect address signaling information (that is typically presented with in-band dual frequency tones) it also specifies a preprogrammed inpulsing stage that describes how to perform the digit collection.
The inpulsing stage configuration options include the following:
Address signaling type (DTMF, MFR1, MFR2)
Number of strings (1 or 2)
String collection method (fixed number digits, KP/ST framed, compelled)
Receiving Address Signaling Tones
Use the the Inseize Control message passes inseize instructions to the MSP platform for controlling incoming call setup in real time. The instruction, “Receive Stage N
MSP
1268
Address Data” allocates and attaches a DSP resource to a channel to collect an incoming digit stream.
Up to 100 digits can be collected within a given inpulsing stage. Use the Inseize Instruction List Configure (0x0029) message to preprogram instructions on a channel. See “Digit Collection During Call Setup” for more information. The instruction, Report Incoming Call With Address Digits, sends a Request For Service With Data (0x002D) message to the host, with single- or multiple-stage digit streams collected.
When the termination condition occurs, the MSP platform reports the entire group of digits collected, with the Call Processing Event 0x002E message. The receiver is then returned to the system receiver pool. If the configuration bit 4 is not set (or "by default") when the MSP platform detects the first valid digit, it automatically cancels any prompting tone or recorded announcement being played out to that channel.
Developer Information
1269
Generating Call Progress Tones
Configuration
1. If required, customize tomes using the Transmit Cadence Pattern Configure message.
2. Configure a DSP with one of the following function types using the DSP SIMM Configure 0x00C0 message:
0x30 - Universal Tone Generation µ-Law
0x31 - Universal Tone Generation A-Law
Procedure
1. Connect the tone generator to the channel using the Connect Tone Pattern message.
A call must be active (either incoming or outgoing) for a pattern to be generated.
If you want to be notified with a Call Processing Event 0x002E message (0x21 - Tone Complete) when tone transmission has stopped, set the Generate Event Flag.
MSP
1270
Performing Call Progress Analysis
Configuration
You must have a DSP configured with a Function Type for CPA:
0x07 - CPA A-Law
0x08 - CPA µ-Law
Initiate
You can initiate call progress in the following two ways:
During call setup, with the outseize instruction of Do Call Progress Analysis
Interactively, by assigning a CPA Receiver with the DSP Service Request message using the following values:
Service Type
0x03 - Call Progress Analysis Receiver
CPA Class
0x00 North American Default
0x01 Dialtone
0x02 CPC Detection
0x03 Energy Detection
Host Indications
A Call Progress Analysis Result message is sent to host when a pattern is detected.
A Call Processing Event 0x002E message is sent to host when a CP pattern is detected
Off-hook Detection
When CPA is initiated with the DSP Service Request message, detection of off-hook is reported if the signaling interface supports it.
Developer Information
1271
Outpulsing Tones
Outpulse Address Signaling Tones
For outbound calls, configure the MSP platform to generate DTMF, MFR1, or MFR2 address signaling to the downstream MSP platform or device. To initiate outpulsing, use the Outseize Control (0x002C) message with an action of “Outpulse Stage N Address Data.” Data ICBs in the Outseize Control (0x002C) message indicate the signaling tone type and the source of the digits. Digits can be specified in the Outseize Control (0x002C) message itself, or they can be taken from a list of previously-inpulsed digits. Digit durations are set by the PPL component on the associated line card.
Example
You set the following durations using PPL timers, and you modify them using the PPL Timer Configure message (0x00CF):
delay until the start of the first digit
“on” time of the first digit
“on” time of subsequent digits
"off” time between all digits
For DTMF and MFR1 digits, outpulsing can also be initiated using the Outpulse Digits (0x0020) message. Within the message, you can specify the following durations:
delay until the start of the first digit
“on” time of the first digit
“on” time of subsequent digits
“off” time between all digits
Durations are specified in units of 10 milliseconds. Actual outpulsed durations, however, are truncated to 20 millisecond intervals. So a digit duration specified as a multiple of 20 milliseconds is outpulsed with that duration, while other digit durations are shortened.
For example, digits with a specified duration of 20, 40, or 60 milliseconds are outpulsed with those durations. But a digit with a specified duration of 30 milliseconds is truncated to have a 20 millisecond duration upon outpulsing.
Similarly, 50 milliseconds is outpulsed as 40 milliseconds, 70 milliseconds is outpulsed as 60 milliseconds, and so on. Because of the truncated durations, you should set a minimum outpulse duration for 20 milliseconds or greater.
The host dynamically configures the dBm levels of DTMF, MFR1, and MFR2 transmit tones, using the Tone Configure message (0x0031). Power levels are updated globally for each tone type. For DTMF tones, you must specify the dBm level for both low-band and high-band frequency components. For MFR1 and MFR2 tones, you must specify only one dBm level.
Off-hook Detection
MSP
1272
When CPA is initiated with the DSP Service Request message, detection of off-hook is reported if the signaling interface supports it.
For example, you can configure the CPA receivers to detect a fax machine that the MSP 1010 has called. When the connection is made, the fax machine sends back a pattern containing Tone 0x0E (2100 Hz) continuously for approximately 2.3 seconds.
To configure the CPA receivers to detect this signal:
1. use the CPA Pattern Configure message to create a new pattern, consisting of Tone 0x0E continuously ON for a minimum of 2 seconds.
2. Add this pattern to a CPA Class using the CPA Pattern Configure message (described next). Whenever CPA is performed using that CPA Class, the CPA receiver scans for the fax signal.
Developer Information
1273
Customizing Tones
Feature Description
See Tone Overview.
Overview
Many telephone networks require call progress tones with different patterns of frequencies, at different intervals. For example, the MSP 1010 may need to provide a different cadence of the Ringback Pattern based on the called party address. To ensure network compatibility, you may need to adjust the attributes of the call progress tones.
Interval Durations
Interval durations are specified in units of 10 milliseconds. However, actual transmitted durations are truncated to 20 millisecond intervals. So an interval duration specified as a multiple of 20 milliseconds is transmitted with that duration, while other interval durations are shortened.
For example, intervals with a specified duration of 20, 40, or 60 milliseconds are transmitted with those durations. But an interval with a specified duration of 30 milliseconds is transmitted with a 20 milliseconds duration, an interval with a specified duration of 70 milliseconds is transmitted with a 60 milliseconds duration, and so on. Because durations are handled this way, your shortest interval duration should be 20 milliseconds.
Restoring Default Settings
To restore default settings for the transmit tone parameters, send the Reset Configuration (0x000B) message.
MSP
1274
Customizing Call Progress Tone Detection
The MSP platform allows the host to modify both the tones and the cadence of call progress tone patterns. When you modify a tone or a pattern, you affect all DSP chips that are configured to receive it.
You can modify the default settings for any Tone ID, using the Tone Configure message. Changing the specifications of a Tone ID affects all patterns in the MSP 1010 that are using that Tone ID.
The default parameter values for each call progress analysis tone pattern are shown in the Specifications section in the DSP Media Module Product Description section. To modify these values, use the CPA Pattern Configure message.
Modifying a Call Progress Receive Tone:
You specify only the frequencies in the tone.
For example, to configure a CP Receive tone made up of the frequency 400 Hz, use the Tone Configure message to:
1. Set the number of frequencies making up the tone (Data 2) to 1.
2. Set the first frequency value to 400. You do no need to set any other frequency values
To delete a Call Progress Receive Tone, use the Tone Configure message and set the number of frequencies to 0. No frequency data needs to be sent.
Creating a New Pattern
You can modify patterns and create new patterns, using the Call Progress Analysis Pattern Configure message.
1. Modify the Tone IDs in the pattern if required.
2. Assign a unique Pattern ID, within the range of 0x01 – 0x1F. You must maintain an accurate list of current Pattern IDs and their specifications.
3. Add the pattern to a class with the Call Progress Analysis Class Configure message.
To minimize reconfiguration time, set the Update All Flag in only the last configuration message that you send.
Example
Assume the MSP platform is connecting to a fax machine. When the connection is made, the fax machine continuously sends back a pattern containing Tone 0x0E (2100 Hz) for approximately 2.3 seconds.
To configure the CPA receivers to detect this signal
1. Use the CPA Pattern Configure message to create a new pattern consisting of Tone 0x0E continuously ON for a minimum of 2 seconds.
2. Add this pattern to a CPA Class using the CPA Pattern Configure message.
Developer Information
1275
Whenever CPA is performed using that CPA Class, the CPA receiver scans for the fax signal.
Restoring Default CPA Settings
To restore default settings for the transmit tone parameters, send the Reset Configuration message to the MSP.
MSP
1276
Example: Customizing a Pattern ID
The following example shows how to configure Pattern ID 0x17 to receive a three-second, 400 Hz tone. To perform this task, send three API messages as follows:
1. Send the Tone Configure message to replace the default tone (Tone ID 0x0F, 425 Hz) with the new, 400 Hz tone.
Tone Type: 0x06
Action: 0x01
Data[0] Tone ID being changed: 0x0F
Data[2] Number of frequencies in tone: 0x01
Data[4] Frequency Value[0], Hz, MSB: 0x01
Data[5] Frequency Value[0], Hz, LSB: 0x90
2. Send the CPA Pattern Configure message to create the new Pattern ID 0x17.
Update All Flag: 0x01
Pattern ID: 0x17
Action: Add/Replace Pattern: 0x01
Data[0] Pattern ID to report on detection: 0x17
Data[1] Tone Group ID: 0x00
Data[2] Pattern Configuration: 0x01
Data[3] CPA Report on Pattern Loss: 0x17
Data[4] Interval Cycles to Match: 0x01
Data[5] Interval Cycles to Report: 0x01
Data[7] Interval Descriptor Count: 0x01
Data[8] Tone ID: 0x0F
Data[10] Minimum filter (in 10 ms units) MSB: 0x00
Data[11] Minimum filter (in 10 ms units) LSB: 0x50
Data[12] Maximum filter (in 10 ms units) MSB: 0x00
Data[13] Maximum filter (in 10 ms units) LSB: 0x00
3) Send the CPA Class Configure message to add Pattern 0x17 to the CPA class 0x00.
Update All Flag: 0x01
Class ID: 0x00
Action: 0x01
Data[0] Pattern ID: 0x17
Developer Information
1277
Configuring Energy Detection
Feature Description
See Energy Detection.
Overview
Energy Detection allows the MSP platform to perform Call Progress Analysis for frequencies not supported by default. The Energy Detection DSP function matches cadences, based on the reported energy levels. CPA Class 3 is preconfigured for Energy Detection, using the standard CPA tones of ringback, double ringback, busy, and re-order.
To accommodate unique requirements for matching cadences, you can modify these patterns or add new patterns to the class and change the pattern cadence that energy detection scans for, using the CPA Pattern Configure message.
Procedure
Use the Call Progress Analysis Class Configure 0x00B3 message to configure the parameters for energy detection:
1) Set Sensitivity Level
The Sensitivity Level is the amplitude above which the energy detector perceives a signal. Set the sensitivity level to detect and report energy that is greater than the prevailing background noise. When you expect a significant background noise, use the least sensitive setting (0 dBm). When you expect little background noise, use the most sensitive setting (-30 dBm). See the table below for sensitivity options. This table shows the values you would enter in the Call Progress Analysis Class Configure 0x00B3 message.
Set Sensitivity Level
Message Field Values
Class ID Class to be changed
Action 0x03 (Change Class Parameter)
Data[0] Parameter 0x0B (Mode Specific 1)
Data[1] Reserved 0x00
Data[2] Sensitivity Level See message for values.
2) Set the Scan Duration
The Scan Duration is the repeating time interval over which the energy detector determines that energy is either Present or Not Present. Set the scan duration to be longer than expected energy bursts. You must use 20 millisecond intervals to set the scan duration, so energy is sampled for each 20 millisecond block within the specified duration.
MSP
1278
The table below shows the values you would enter in the Call Progress Analysis Class Configure 0x00B3 message.
Scan Duration Fields
Message Field Values
Class ID Class to be changed
Action 0x03 (Change Class Parameter)
Data[0] Parameter 0x0C (Mode Specific 2)
Data[1,2] Scan Duration 16-bit word defining the scan duration, in 10ms units
3) Set the Completion Timer
The completion timer determines the maximum amount of time to scan for energy. Each scan cycle, as defined by the scan duration, is repeated until either energy is detected, or the completion timer expires. Cantata recommends setting the completion timer for 3 to 4 times the scan duration, depending on the application. If the timer expires before energy is detected, the host receives a Call Processing Event 0x002E message of “No Energy Detected.”
Configure CPA Class for Energy Detection
You can configure the default CPA classes for Energy Detection by enabling it in the Call Progress Analysis Class Configure 0x00B3 message, as shown in the table below.
Changing mode parameters
Message Field Values
CLASS ID Class to be changed
ACTION 0x03 (Change Class Parameter)
DATA[0] Parameter 0x01 (Mode)
DATA[1] Reserved 0x00
DATA[2] Mode 0x02 (Energy Detection enabled)
Developer Information
1279
Invoking Energy Detection
Overview
You can invoke Energy Detection in the following two ways:
Interactively, with the DSP Service Request message
As part of Call Progress Analysis
Interactive Energy Detection
You can invoke Energy Detection interactively, with the DSP Service Request 0x00BD message. Use the data bytes of the message to configure the sensitivity level, reporting mode, scan duration, and completion timer.
You also set how detected energy is reported to the host in a Call Processing Event 0x002E message. There are two modes:
Report Initial Energy Detection Only
The host receives a Call Processing Event of “Energy Result Report” with Data[0], indicating Energy Detected. Data[1] indicates the duration of the period of no energy. The DSP resource is then automatically released.
Report All Energy Threshold Crossings
All of the following are reported: the initial energy detection, all subsequent changes, and the duration of the previous state’s ON or OFF interval.
When energy (A) is first detected, the host receives a Call Processing Event of “Energy Result Report” with Data[0] indicating “Energy Detected.” Data[1] indicates the duration of the preceding period of no energy (D1).
When energy is no longer detected (B), the host receives a Call Processing Event message of “Energy Result Report” with Data[0] indicating “No Energy Detected.” Data[1] indicates the duration of the preceding period of energy (D2).
MSP
1280
Echo Cancellation
Echo Canceller Overview
The DSP Media module Echo Canceller removes echoes caused by signal leakage at hybrid telephone line interfaces. You may want to implement an Echo Canceller for tandem calls on trunks with echo, or to clean an incoming signal before connecting to a media resource, such as a VRU or AMD.
Call Processing Event
The following event is sent in a Call Processing Event 0x002E message when a G.164 tone disabling event occurs on the near or far end.
Event: 0x49 - Echo Canceller Event
Alarm
A General Alarm (0x41) is sent in the Alarm 0x00B9 message when the Host requests to attach a receiver to a channel that already has an Echo Canceller attached but there is no resource available on the same slot as the Echo Canceller resource. This means that the receiver will not receive the output of the Echo Canceller, but will receive the original signal with any echo that may be present.
Resource Modify NACK
The following response status values may be returned for the Resource Modify 0x0125 message:
0x1708 - No Active Echo Canceller
Returned when the switch receives a Resource Modify message with the Resource Type of Echo Canceller and there is no Echo Canceller attached to the Channel.
0x1709 - Invalid Echo Canceller State
Returned when the switch receives a Resource Modify message with the Resource Type of Echo Canceller and there is no Echo Canceller attached to the Channel.
Developer Information
1281
Configuring Echo Cancel
1. Configure DSP for Echo Cancel function using the DSP SIMM Configure 0x00C0 message.
DSP Function Type
Echo Cancel (0x33)
2. Set module-level Echo Cancel parameters using the Generic Card Configure 0x0122 message.
Mandatory TLV
0x05FA Card Object
Object ID: Echo Cancel Parameters (0x0005)
Optional TLVs
0x0673 Echo Cancel Tap Length
0x0674 Echo Cancel NLP Type
0x0675 Echo Cancel ADAPT
0x0676 Echo Cancel Bypass
0x0677 Echo Cancel G.176 Modem Answer Detection
0x0678 Echo Cancel NLP Threshold
0x0679 Echo Cancel CNG Noise Threshold
Related Topic
Overview of Echo Canceller
MSP
1282
Implementing Echo Cancel on a Tandem Call with Positive Voice Detection
The following procedure details the steps for attaching an Echo Canceller to a conference leg, and then recording the output.
Prerequisites
You must have a DSP chip configured with the Echo Cancel function. See Configuring Echo Cancel.
Guidelines
The Echo Cancel function must be on the same DSP chip as the channel(s) to which you are connecting it.
You must attach the Echo Canceller to the channel before you connect the channel to any other DSP receiver.
Procedure
1) Connect Channels using the Connect 0x0000 message.
2) Attach Echo Cancel receiver using the Resource Connect 0x0127 message.
AIBs
A: Span/Channel (channel to attach Echo Cancel function)
B: Slot (of DSP Media module).
If using an additional DSP receiver, it must be on the same card that has Echo Cancel. Otherwise, enter a wild card and the best available card will be used based on resources available.
Mandatory TLV
0x0602 Resource Type
Resource Type = Echo Cancel (0x0108)
Optional TLVs (to override default card parameters)
0x0673 Echo Cancel Tap Length
0x0674 Echo Cancel NLP Type
0x0675 Echo Cancel ADAPT
0x0676 Echo Cancel Bypass
0x0677 Echo Cancel G.176 Modem Answer Detection
0x0678 Echo Cancel NLP Threshold
0x0679 Echo Cancel CNG Noise Threshold
3) Attach Positive Voice Detection receiver to channel using the Resource Connect 0x0127 message.
AIBs
Developer Information
1283
A: Span/Channel (channel to attach PVD function)
B: Slot (same DSP Media module as Echo Cancel receiver).
Mandatory TLV
0x0602 Resource Type
Resource Type = PVD/AMD (0x0109)
4) Optional TLVs (to override default card parameters)
When call is complete, disconnect Echo Canceller using the Resource Disconnect 0x0128 message.
AIBs
Source Channel: Span/Channel
Mandatory TLV
0x0602 Resource Type
Resource Type = Echo Cancel (0x0108)
Optional TLVs
None
5) Disconnect PVD receiver using the Resource Disconnect 0x0128 message.
AIBs
Source Channel: Span/Channel
Mandatory TLV
0x0602 Resource Type
Resource Type = PVD/AMD (0x0109)
Optional TLVs
None
Example Call Trace
X->H
[00 0d 00 40 00 00 ff 00 01 0d 03 00 20 00 00]
H->X
[00 0d 00 ba 00 01 ff 00 01 0d 03 00 20 00 01]
X->H
[00 07 00 ba 00 01 ff 00 10]
Park Channel span/channel 20/00
H->X
[00 12 00 bf 00 02 ff 00 02 0d 03 00 20 00 0d 03 00 20
00 00]
X->H
[00 07 00 bf 00 02 ff 00 10]
X->H
MSP
1284
[00 0d 00 40 00 01 ff 00 01 0d 03 00 20 01 00]
H->X
[00 0d 00 ba 00 03 ff 00 01 0d 03 00 20 01 01]
X->H
[00 07 00 ba 00 03 ff 00 10]
Park Channel span/channel 20/01
H->X
[00 12 00 bf 00 04 ff 00 02 0d 03 00 20 01 0d 03 00 20
01 00]
X->H
[00 07 00 bf 00 04 ff 00 10]
Connect span/channel 20/00 and span/channel 20/01
H->X
[00 11 00 00 00 05 ff 00 02 0d 03 00 20 00 0d 03 00 20
01]
X->H
[00 07 00 00 00 05 ff 00 10]
Resource Connect 20/00- Echo Canceller
H->X
[00 17 01 27 00 00 ff 00 02 0d 03 00 20 00 01 01 ff 00
01 06 02 00 02 01 08]
X->H
[00 19 01 27 00 00 ff 00 10 00 02 0d 03 00 20 00 01 01 04 00
01 06 02 00 02 01 08]
Record File Start 20/00
H->X
[00 46 01 1e 00 06 ff 00 02 0d 03 00 20 00 01 01 ff 00
06 05 e0 00 04 00 dc 5b 17 05 e1 00 02 00 01 05 e2 00
13 00 01 00 02 2f 50 61 74 45 63 68 6f 2f 6d 79 2e 72
61 77 05 e9 00 02 02 26 05 fb 00 01 ca 05 e6 00 01 0c]
X->H
[00 11 01 1e 00 06 ff 00 10 00 02 0d 03 00 20 00 01 01 04]
H->X
[00 0c 01 20 00 07 ff 00 01 0d 03 00 20 00]
X->H
[00 0e 01 20 00 07 ff 00 10 00 01 0d 03 00 20 00]
X->H
[00 19 00 2e 00 00 ff 00 01 0d 03 00 20 00 35 00 dc 5b 17 00
02 00 00 00 04 00 00]
H->X
[00 05 00 2e 00 00 ff]
Developer Information
1285
Implementing Echo Cancel on a Conference Leg
Introduction
The following procedure details the steps for attaching an Echo Canceller to a conference leg, and then recording the output.
Prerequisites
You must have a DSP chip configured with the Echo Cancel function. See Connecting to an ASR (Automatic Speech Recognition) Server.
Guidelines
The Echo Canceller must be attached to the channel before you connect it to the conference or to another DSP receiver.
Procedure
1) Park the channel using the Park Channel 0x00BF message.
2) Create the conference using the Resource Create 0x0124 message.
3) Attach Echo Canceller to channel using the Resource Connect 0x0127 message.
AIBs
Resource A: Channel (Input to Echo Canceller)
Resource B: Slot (of card where conference resides)
Mandatory TLV
0x0602 Resource Type
Resource Type = Echo Cancel (0x0108)
Optional TLVs (to override default card parameters)
0x0673 Echo Cancel Tap Length
0x0674 Echo Cancel NLP Type
0x0675 Echo Cancel ADAPT
0x0676 Echo Cancel Bypass
0x0677 Echo Cancel G.176 Modem Answer Detection
0x0678 Echo Cancel NLP Threshold
0x0679 Echo Cancel CNG Noise Threshold
4) Connect Channel to Conference using Resource Connect 0x0127 message.
5) Attach other DSP Resources as required, such as Record Conference Leg using Record File Start 0x011E message.
6) Disconnect Echo Canceller using the Resource Disconnect 0x0128 message.
MSP
1286
AIBs
Source Channel: Span/Channel
Mandatory TLV
0x0602 Resource Type
Resource Type = Echo Cancel (0x0108)
Optional TLVs
None
Example Call Trace
Park Channel span/channel 20/00
H->X
[00 12 00 bf 00 09 ff 00 02 0d 03 00 20 00 0d 03 00 20
00 00]
X->H
[00 07 00 bf 00 09 ff 00 10]
Resource Create - Conference
H->X
[00 20 01 24 00 0c ff 00 01 22 03 00 ff ff 00 03 06 02
00 02 01 00 06 03 00 02 00 00 06 13 00 02 00 06]
X->H
[00 1e 01 24 00 0c ff 00 10 00 01 22 03 04 06 02 00 02 06 10
00 04 00 00 fd fe 06 02 00 02 01 00]
Resource Connect 20/00- Echo Canceller, use slot 4
H->X
[00 17 01 27 00 00 ff 00 02 0d 03 00 20 00 01 01 04 00
01 06 02 00 02 01 08]
X->H
[00 19 01 27 00 00 ff 00 10 00 02 0d 03 00 20 00 01 01 04 00
01 06 02 00 02 01 08]
Resource Connect 20/00- Connect Leg to Conference
H->X
[00 1e 01 27 00 0e ff 00 02 0d 03 00 20 00 55 02 fd fe
00 02 06 02 00 02 01 00 06 12 00 02 00 00]
X->H
[00 1a 01 27 00 0e ff 00 10 00 02 0d 03 00 20 00 55 02 fd fe
00 01 06 02 00 02 01 00]
Record File Start 20/00
H->X
[00 46 01 1e 00 12 ff 00 02 0d 03 00 20 00 01 01 ff 00
Developer Information
1287
06 05 e0 00 04 00 dc 5b 17 05 e1 00 02 00 01 05 e2 00
13 00 01 00 02 2f 50 61 74 45 63 68 6f 2f 6d 79 2e 72
61 77 05 e9 00 02 02 26 05 fb 00 01 ca 05 e6 00 01 0c]
X->H
[00 11 01 1e 00 12 ff 00 10 00 02 0d 03 00 20 00 01 01 04]
MSP
1288
Media Streaming over RTP
Real-Time Transport Protocol Overview
RTP, the real-time transport protocol, provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multi-cast or uni-cast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.
TLVs Used
The following TLV is used to enable RTP:
0x0687 - Enable RTP for Play/Record File
The following TLVs are used when implementing Positive Voice Detection with RTP.
0x0688 - RTP Record Mode
0x0689 - Start/Stop Sending RTP Packets
0x068A - Calender Time Offset for Sending RTP Packets
Resource Points
No additional DSP Resource Points are used for Play/Record with RTP beyond whatever are required for Play/Record.
Developer Information
1289
Connecting to an ASR (Automatic Speech Recognition) Server
You connect to an Automatic Speech Recognition server over RTP using the Record File Start 0x011E message. If you are also using Positive Voice Detection, you would use the Record File Modify 0x011F message.
Basic Implementation
You would use the Record File Start 0x011E message with the following TLVs:
Mandatory TLVs
0x0687 - Enable RTP for Play/Record File (0x01 - Enable)
0x29FF Media Local End Point Information
0x2A00 Media Remote End Point Information
Nested TLVs (used with 0x29FF and 0x2A00)
0x2A01 Media Per Stream Information
0x2A07 Media Port
0x2A0E Media Connection Address
See About Nested TLVs for Media Streaming
Optional TLVs
0x0688 - RTP Record Mode (to use RTP with Positive Voice Detection)
Example Call Trace
00 78 01 1e 00 00 ff 00 02 0d 03 00 00 00 01 01 04
00 0b 'Number of TLVs
MSP
1290
05 e0 00 04 00 00 00 0a 'File ID Tag
05 e1 00 02 00 01 'File Format
05 e3 00 01 03 'Optional Gain Tag
05 e6 00 01 0c 'Optional File Event Descriptor
05 e8 00 05 00 03 e8 c8 fd 'Optional Beep Tone Parameters
05 e9 00 02 ff ff 'Disable Initial Silence Timer
05 ea 00 02 ff ff 'Optional Final Silence Timer
06 87 00 01 01 'Enable RTP
06 88 00 01 00 'Optional Record Mode Continous Recording
29 ff 00 14 'Local End Media Info
2a 0e 00 04 87 77 2c 3c 'Local Media Connection Address
2a 01 00 08 'Per Media Stream Information
2a 07 00 04 00 00 17 70 'Local Media Port
2a 00 00 14 'Remote End Media Info
2a 0e 00 04 87 77 2c 32 'Remote Media Connection Address
2a 01 00 08 'Per Media Stream Information
2a 07 00 04 00 00 17 72 'Remote Media Port
Developer Information
1291
Connecting to an ASR with Positive Voice Detection
NOTE: This feature is not supported in this release.
If you have enabled RTP with the Positive Voice Detection (in the Record File Start 0x011E message), you would start/stop sending RTP packets using the Record File Modify 0x011F message with the following TLVs:
0x0689 - Start/Stop Sending RTP Packets
0x068A - Calender Time Offset for Sending RTP Packets
Pre-requisite
You must have Positive Voice Detection enabled and implemented. See Implementing Positive Voice Detection/Answering Machine Detection.
Message Sequence
MSP
1292
Connecting to a TTS (Text-to-Speech) Server
You connect to a Text-to-Speech server over RTP using the Play File Start message.
Basic Implementation
You send the Play File Start 0x011B message with the following TLVs:
Mandatory TLVs
0x0687 - Enable RTP for Play/Record File (0x01 - Enable)
0x29FF Media Local End Point Information
0x2A00 Media Remote End Point Information
Nested TLVs (used with 0x29FF and 0x2A00)
0x2A01 Media Per Stream Information
0x2A07 Media Port
0x2A0E Media Connection Address
See About Nested TLVs for Media Streaming
Example Call Trace
00 6b 01 1b 00 0b ff 00 02 0d 03 00 00 00 01 01 ff 01
00 08 'Number of TLVs
05 e0 00 04 00 00 00 0a 'File ID Tag
05 e3 00 01 03 'Optional Gain Tag
05 e6 00 01 03 'Optional File Event Descriptor
06 14 00 08 00 00 00 00 00 04 E2 00 'Optional File Offset/Length
2a 0a 00 02 00 f0 'Optional Payload Size (3rd party tool compatability)
06 87 00 01 01 'Enable RTP
Developer Information
1293
29 ff 00 14 'Local End Media Info
2a 0e 00 04 87 77 2c 3c 'Local Media Connection Address
2a 01 00 08 'Per Media Stream Information
2a 07 00 04 00 00 17 70 'Local Media Port
2a 00 00 14 'Remote End Media Info
2a 0e 00 04 87 77 2c 32 'Remote Media Connection Address
2a 01 00 08 'Per Media Stream Information
2a 07 00 04 00 00 17 72 'Remote Media Port
MSP
1294
About Nested TLVs for Media Streaming
The Media Streaming over RTP feature uses nested TLVs. The following provides an overview and example of nested TLVs. An API message can contain nested TLVs. These TLVs are nested into the value field of another TLV in order to capture multiple properties of a call within one TLV.
The following applies to these nested TLVs.
The TLV Count fields in the API message accounts for parent TLVs but not the nested TLVs. The Length field in any parent TLV counts the bytes in all of its nested TLVs.
The same TLV can be used multiple times within the same message depending on the context of the nested TLVs.
Example
Developer Information
1295
PVD/AMD
Configuring Voice Detection/Answering Machine Detection
You can configure the MSP 1010 to analyze incoming PCM data and detect voice or an answering machine. You can set PVD/AMD parameters for a DSP Media module and for an individual channel. When a signal is detected, the host is notified with a Call Processing Event 0x002E message.
Configuration
1) Configure DSP for PVD/AMD function using the DSP SIMM Configure 0x00C0 message.
DSP Function Type
PVD/AMD (0x34)
2) Set card-level PVD/AMD parameters using the Generic Card Configure 0x0122 message.
Mandatory TLV
0x05FA Card Object
Object ID: PVD/AMD Parameters (0x0006)
Implementation
1) Attach PVD/AMD receiver to channel using the Resource Connect 0x0127 message
AIBs
Resource A: Span/Channel
Resource B: Slot
Mandatory TLV
0x0602 Resource Type
Resource Type = PVD and AMD (0x0109)
Optional TLVs (to override default module parameters)
0x0619 PVD Parameters
0x061A AMD Parameters
0x061B PVD/AMD Reports
2) To disconnect the channel from the DSP resource, use the Resource Disconnect 0x0128 message.
AIBs
Resource A: Span/Channel
Mandatory TLV
0x0602 Resource Type
MSP
1296
Resource Type = PVD and AMD (0x0109)
Optional TLVs)
None
Query
Use the Generic Card Query 0x0123 message to query the module-level defaults for PVD/AMD.
Developer Information
1297
T.30 Fax
Configuring T.30 Fax
Feature Description
See T.30 Fax Overview.
Configuration
1. Use the DSP SIMM Configure (0x00C0) message to assign T.30 Fax Function Type to the DSP.
2. Configure T.30 FAX parameters using FAX TLVs in the Generic Card Configure (0x0122) message. Mandatory TLV: Card Object (0x05FA)
Optional TLVs: 25 TLVs (0x0641-0x066C)
3. Use the Resource Connect (0x0127) message to initiate a fax.
Resource Type TLV: Send FAX (0x0105) or Receive FAX (0x106)
Page Range in TIFF File
This feature allows the user of the DSP Media module's Fax transmission capability to select a range of pages for transmission out of a single TIFF file. This allows you to incorporate selective page transmissions into your application for such reasons as removal of cover pages for fax store and forward applications or fax back services which send selective sections of repair manuals.
To use this feature, send the Resource Connect 0x0127 message with the 0x068C FAX Page Range TLV.
Query
To Query T.30 FAX settings, send the Generic Card Query 0x0123 message with one or more of the T.30 FAX TLVs.
Use the Generic Card Configure (0x0122) message to configure the T.30 fax parameters:
Related Topics
T.30 Fax Overview
Configuring T.30 Fax
MSP
1298
ISDN
Introduction to ISDN
The Cantata Technology Integrated Services Digital Network (ISDN) product provides multiple communications tasking (voice, data, compressed),128 Kbps high-speed and high-bandwidth service. ISDN, non-compressed (512 KBps compressed) also provides on-demand service, connects up to eight devices simultaneously, and can be call managed. The basic configuration is 23+D (Primary Rate Interface) and 30B+D outside of North America.
The ISDN component, in conjunction with the T1 and E1 network interface, interfaces to various equipment types supporting the ISDN PRI protocol. These include tandem (Class 4) switches, end office (Class 5) switches, PBXs, and proprietary implementations, not only in North America but throughout the world. See Supported Features.
Configuration
For information on configuring the ISDN protocol on an MSP 1010, see the following:
Configuring ISDN
ISDN D Channel Configuration
B Channel Configuration
Configuring the Backup D Channel
For information on configuring ISDN using the MSP 1010 graphical user interface, ClientView, see Example Configuration for ISDN.
Implementation
The Excel ISDN PRI implementation is based on ITU-T Q.921 and Q.931 specifications. Each implemented variant references the appropriate interface document supplied by the equipment manufacturer. The interface document is usually a variant of the ITU-T recommendations.
Since each manufacturer supports different services, the host manages the information to send and receive in specific messages. This lets you access many features and services at the host layer and carry them out using PPL-controlled, call control logic.
Each ISDN component supports 32 D channels. Each D channel provides the High Data Link Control (HDLC) communications over T1 or E1 on one timeslot on the span. Each D channel can control up to 19 other spans in addition to the span on which it is located. See Diagram.
National ISDN PRI NI 2
The MSP 1010 system software ISDN stack supports National ISDN PRI NI 2. National ISDN PRI supports Non-Facility Associated Signaling (NFAS), allowing up to 30 DS1 interfaces and the D channel backup procedure, as well as B channel availability and provisioning. Connection endpoint variants are defined for National ISDN User side and Network side.
Developer Information
1299
Customization
Depending upon the provisioning requirements, you can have one D channel per span [Facility Associated Signaling (FAS)], or one D channel managing up to 20 spans [Non-Facility Associated Signaling (NFAS)]. You can control a total of 32 spans using all FAS D channels, or up to 20 spans per NFAS D channel (to a maximum of 32 spans per system, that is 28 bearer and four signaling spans). You can intermix both FAS and NFAS D channels on a card with each supporting a different variant. NFAS spans can be configured dynamically during call processing.
The MSP 1010 has a single ISDN component assigned to slot 8. This has access to all timeslots. Therefore, you can configure any timeslot in the system as a D channel
See NFAS and FAS Examples
MSP
1300
ISDN Architecture
The modules that form the ISDN PRI software architecture are:
Layer 3 Plus
Layer 3
Layer 2
Configuration
Management
Diagram
The next diagram illustrates the functional modules involved in the PRI implementation on an ISDN component.
Developer Information
1301
Configuring ISDN
This section describes the procedures for configuring primary rate ISDN and National ISDN PRI NI 2. The first four steps of the basic ISDN configuration are described in more detail in other parts of this documentation:
Span Configuration
D Channel Configuration
B Channel Configuration
Optional Configuration
More details about bringing spans and channels in service, reconfiguration, and querying information are provided following the configuration sequences in this section.
Before you begin
The basic ISDN configuration assumes a 23+D (Primary Rate Interface) in North America and 30B+D outside of North America.
ISDN PRI Configuration Sequence
The next table below shows the basic ISDN configuration sequence.
Step Action Description API Message
1 Configure Spans -Assign Logical Span IDs
- Configure span formats
Assign Logical Span ID
T1 Span Configure
E1 Span Configure
2 Configure the D channels
- Assign D channels
- Configure D channels
- Add NFAS Facilities
D Channel Assign
ISDN Interface Configure
D Channel Facility List Configure
3 Configure the B channel
Configure B channel options
B Channel Configure
4 Optional Configuration
- PPL Customization
- Features
5 Bring spans and channels in service
Bring spans, D channels, and B Channels in service
Service State
MSP
1302
Configure
National ISDN User Side Configuration
The next table provides a sample procedure for configuring the User Side endpoint variant of National ISDN PRI NI 2:
Step Action
1 De-assign the Logical Span ID of the ISDN card by setting the slot and spans (logical and physical) to 0xFF. Use the Assign Logical Span ID (0xA8) message.
2 Assign logical span IDs to spans and channels. Use the Assign Logical Span ID (0xA8) message.
3 Configure the T1 Span. Use the T1 Span Configure (0xA9) message.
4 Assign a channel as an ISDN PRI D channel. Use the D Channel Assign (0xC4) message.
5 Define the connection type for National ISDN PRI NI 2 user side as 0x09. Use the ISDN Interface Configure (0x60) message.
6 Define the spans that are controlled by a D channel (including any spans in NFAS mode). Use the D Channel Facility List Configure (0xC6) message.
For the Action field, select 0x01 (Add Facility)
For Facility Number, select 0x01-0x1E, depending on the number of spans being added.
7 Define the network type for the B channels. Use the B Channel Configure (0xC8) message.
For the Network Type (0x01) field, select 0x01 (Do Not Include Network-Specific Facilities IE)
8 Bring spans, B channels and D channels in-service. Use the Service State Configure (0x0A) message with appropriate AIBs. Send the message for each configuration.
Bringing Spans and Channels In Service
When all of the configuration is complete, bring up the D channel to establish a connection with the network and then begin call processing.
After establishing a connection to the network, the MSP 1010 sends the DS0 Status Change message to the host with the status of in-service. The DS0 Status Change messages follow for the B channels (voice/data channels).
Developer Information
1303
If there is a link failure, the MSP 1010 sends the DS0 Status Change message to the host for the D channel, as well as all of the associated
B channels. All channels have a status of out-of-service.
Reconfiguration
Before performing reconfiguration, the MSP 1010 must be in a known state regardless of system events such as the removal or reset of cards or a host restart. Depending upon the event, the MSP 1010 determines which steps to take to get the interface operational.
The simplest approach is to send a Reset Configuration message indicating 0xFF for the Matrix Controller slot number. The configuration of all cards resets. The application must wait for the Card Status Report messages to be sent to the host before configuration begins. Sending this message clears all host-configured options, including downloaded PPL tables.
Another approach is to use Reset Configuration for the ISDN slot number, which defaults configuration for all D channels assigned to the card. Use this approach for an application that reconfigures certain features in the MSP 1010 during a live installation.
To remove a single D channel’s assignment and configuration, send the Assign Logical Span ID message (indicating de-assignment) for the D channel span.
Querying Information
Use the ISDN Query message to get parameters configurable with the ISDN Terminal Configure and ISDN Interface Configure messages, as well as assigned protocols.
Example
The following is an example of the ISDN Query message to query the General Interface Options and the response from the MSP 1010.
API Message
Trace H->X FE 00 0E 00 63 00 00 01 00 01 0D 03 00 01 17 01 00
Byte Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x000E
3, 4 Message Type 0x0063
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB Address Method 0x00 (Single Entity)
9 Number of Address 0x01
MSP
1304
Elements
10 Address Element Type
0x0D (Channel)
11 Data Length 0x03
12, 13
Data[0,1] Logical Span ID
0x0001
14 Data[2] Channel 0x17 (Channel 23)
15 Query Type 0x01 (General Interface Options)
16 Query Subtype 0x00 (None)
17 Checksum 0xCS (not shown in trace)
API Response
Trace X->H FE 00 1B 00 63 00 00 01 00 10 00 01 00 00 00 01 00 00 00 01 00 01 00 01 00 01 00 03 00 00
Byte Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x001B
3, 4 Message Type 0x0063
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
10, 11 Data[0,1] Connection Type 0x0001 (Lucent 4ESS)
12, 13 Data[2,3] Options 0x0000 (No options)
14, 15 Data[4,5] D Channel Physical Medium 0x0001 (64 Kbps)
16, 17 Data[6,7] HDLC Bit Polarity 0x0000 (Normal)
18, 19 Data[8,9] Network Side Layer 2 0x0001 (Network Side (C/R Bit Inverted))
20, 21 Data[10,11] B Channel Selection Mode 0x0001 (Linear Clockwise)
22, 23 Data[12,13] Location 0x0001 (Private Network/Local User)
24, 25 Data[14,15] Channel Release Request on ISDN Disconnect
0x0001 (Send Host Channel Release Request on ISDN Disconnect)
Developer Information
1305
26 Data[16,17] Protocol Discriminator Value for Maintenance Messages
0x0003 (Default)
28 Data[18,19] B Channel Encoding for Transmission 0
x0000 (Channel Number)
30 Checksum 0xCS (not shown in trace)
MSP
1306
Network Side Euro-ISDN
The ISDN software module supports network side Euro-ISDN PRI variant. This allows an MSP 1010 to handle basic call control, interfacing with a user-side.
ETSI specification support
The following is supported as defined in the applicable ETSI specification:
All procedures, messages, and message content defined as mandatory for network side functionality.
All call states supported in Cantata’s ISDN PRI user side implementation.
All network side call setup and tear-down procedures.
All mandatory, bidirectional (network-to-user and user-to-network), circuit mode connection control messages.
All mandatory network-to-user messages.
All information elements that are designated as mandatory for network-to-user side messages.
All timer values.
All network side error handling procedures.
Supported Q.931 Messages
The following Q.931 messages are supported:
Call establishment
ALERTING
CALL PROCEEDING
CONNECT
CONNECT ACKNOWLEDGE
PROGRESS
SETUP
SETUP ACKNOWLEDGE
Call information phase messages
USER INFORMATION
Call clearing messages
DISCONNECT
RELEASE
RELEASE COMPLETE
Developer Information
1307
Miscellaneous
FACILITY
INFORMATION
NOTIFY
STATUS
STATUS ENQUIRY
Other
REGISTER
Specification Compliance
The ISDN PRI network side implementation complies with the signals and signaling procedures described by the ETSI 300 102-1 and 300 102-2 specifications specific to network side, with the following exceptions:
Excel’s network side Euro-ISDN PRI implementation does not support the following:
Call re-arrangement procedures (SUSPEND and RESUME) (ETSI 300 102-1 section 5.6)
Message segmentation (ETSI 300 102-1 section 5)
Sending the STATUS ENQUIRY message (ETSI 300 102-1 section 5.8.10)
Sending the CONGESTION CONTROL message (ETSI 300 102-1 section 3.1.3)
Sending the Keypad Facility Information Element
Configuration
The network side ISDN PRI configuration procedure is the same as for the user side except that you must configure the D Channel for Network Side using the ISDN Interface Configure 0x0060 message (see the API message formats in the API Reference).
Example Message
The following is an example of the ISDN Interface Configure message, which changes the Connection Type to network side Euro-ISDN.
Trace H->X FE 00 0F 00 60 00 00 01 00 01 0D 03 00 00 17 01 00 17
Byte Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x000F
3, 4 Message Type 0x0060
5 Reserved 0x00
MSP
1308
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB - Address Method 0x00 (Single Entity)
9 Number of Address Elements 0x01
10 Address Element Type 0x0D (Channel)
11 Data Length 0x03
12, 13 Data[0,1] Logical Span ID 0x0000 (Span 0)
14 Data[2] Channel 0x17 (Channel 23)
15 Entity 0x01 (Connection Type)
16, 17 Data[0,1] Value 0x0017 (Network Side Euro-ISDN)
18 Checksum 0xCS (not shown in trace)
See Network Side Euro-ISDN Call Flows
Developer Information
1309
Span Configuration
This section describes the first step in the basic ISDN configuration sequence, span configuration.
Span configuration includes:
Assigning Logical Span IDs
Configuring the Span Format and Line Length
Assigning Logical Span IDs
First, de-assign spans you want to use for ISDN with the Assign Logical Span ID message to clear all D channels and facility assignments. De-assigning a logical span ID results in taking the span and all associated channels and facilities that are assigned out-of-service. Then, assign Logical Span IDs to spans to the spans with the Assign Logical Span ID message.
Configuring Span Formats
Set the format of the span on which the ISDN D channel resides using the T1 Span Configure or E1 Span Configure messages
Configure the framing and line coding for all ISDN PRI spans as follows:
T1
Framing - ESF
Line Coding - B8ZS
Signaling - Clear Channel
E1
Coding - HDB3
Signaling - Clear Channel
If an E1 span is not configured for Euro-ISDN, the encoding format for all ISDN E1 channels defaults to u-law. You must change the encoding format with the PCM Encoding Format Configure message prior to bringing channels into service. If the format is not changed, DSP resource requests will result in a NACK of DSP Not Configured For Requested Function (0x27).
Euro-ISDN E1
Coding - HDB3
Error Checking - Enable CRC (bit 1) and FEBE (bit 2)
Signaling - Clear Channel (bit 3)/E1 Layer 1 Management
(bit 5)
Line Length - G.703.
MSP
1310
Austel-ISDN
Coding - HDB3
Error Checking - Enable CRC (bit 1) and FEBE (bit 2)
Signaling - Clear Channel (bit 3)/E1 Layer 1 Management (bit 6)
Line Length - G.703.
Developer Information
1311
ISDN D Channel Configuration
This section describes the second step in the basic ISDN configuration sequence. See Configuring ISDN.
Assigning D channels
Configuring D Channel options
Adding facilities (for NFAS)
Assigning D Channels
The D Channel Assign message allocates a D channel at the timeslot you specify. The physical span MUST be assigned. You must specify the slot number of the ISDN card, as well as the ISDN type (primary and secondary).
The D Channel Assign message sets all B channel configuration parameters back to their defaults.
The MSP 1010 software selects the actual D channel resource. If the host attempts to assign more than 32 D channels, the host receives a Response Status of “ISDN D Channel Exceeds Max” (0xA4).
All subsequent references to the D channel timeslot use the Logical Span ID and channel specified in the message. The facility number of 0 (zero) is defaulted to the span with the D channel assignment. When assigning the secondary type, the host selects the facility number.
Requirements for Assigning a D Channel
The following are requirements for assigning D channels:
Span must be assigned.
Span and channel must not be assigned to an ISDN D or B channel location. For most applications, the D channel resides on the 24th channel of the T1 span, and timeslot 16 over E1.
Example
The following is an example of the D Channel Assign message. The example assumes the ISDN component is assigned to Slot 8 for backward compatibility.
Trace H->X FE 00 0E 00 C4 00 00 01 00 01 15 04 08 00 00 17 00
Byte Field Description Value and indication
0 Frame 0xFE
1, 2 Length 0x000E
3, 4 Message Type 0x00C4
5 Reserved 0x00
6 Sequence Number 0x00
MSP
1312
7 Logical Node ID 0x01
8 AIB - Address Method 0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Type 0x15 (Primary D Channel)
11 Data Length 0x04
12 Data[0] Slot Number 0x04
13, 14 Data[1] Logical Span ID
0x0000
15 Data[3] Channel 0x17 (Channel 23)
16 Secondary D Channel Facility Number
0x00
17 Checksum 0xCS (not shown in trace)
Configuring D channels
The ISDN Interface Configure message configures attributes required for ISDN connections to the public network. To configure the connection endpoint variant, determine the type of switch from which the D channel will originate. This requires consultation with the provider. The default switch type is the Lucent 4ESS. Normally, you do not need to configure Layer 2 and Layer 3 timers and counters. However, if it is necessary to change these, refer to ITU-T Q.921 and Q.931 for details on what they do and represent.
The next table below lists the ISDN interface entities and their defaults. Use the ISDN Interface Configure message to change the default configuration.
Option Default
Connection Type Lucent 4ESS
D Channel Physical Medium 64 kbps
HDLC Bit Polarity Normal
Network Side Layer 2 User Side
B Channel Selection Mode Linear Clockwise
Location User
Layer 4 Channel Release Disabled
Developer Information
1313
Request on ISDN DISCONNECT
Protocol Discriminator Value for Maintenance Messages
3
B Channel Encoding for Transmission
Channel Number
Requirements for Configuring D Channel Options
The following are requirements for configuring D channel options:
The D channel must be assigned.
The D channel parameters will only be initiated when the transition from out-of-service to in-service occurs.
Reconfiguring D Channels
Follow the steps below to reconfigure a D channel:
1. Take the B Channels out of service with the Service State Configure (0x000A) message.
2. Take the D Channels out of service with the Service State Configure (0x000A) message.
3. De-assign the D Channel with the D Channel De-assign (0x00C5) message.
4. Reconfigure the D channel with the D Channel Assign (0x00C4) message.
5. Reconfigure general options to an ISDN interface with the ISDN Interface Configuration (0x0060) message.
6. Reconfigure B channel information with the B Channel Configure (0x00C8) message
7. Bring span(s), B Channels and D channel(s) back into service with the Service State Configure (0x000A) message.
L3 Default Settings per Connection Type
Click the supported connection type for which you would like to view the default L3 configuration values:
Lucent 4ESS and Lucent 5ESS
DMS100 and DMS 250
AUSTEL
JATE
EURO User Side
EURO Network Side
N12
MSP
1314
Example ISDN Interface Configure Message
The following is an example of the ISDN Interface Configure message.
Trace H->X FE 00 0F 00 60 00 00 01 00 01 0D 03 00 00 17 01 00 01
Byte Field Description
Value and Indication
0 Frame 0xFE
1, 2 Length 0x000F
3, 4 Message Type 0x0060
5 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type
0x0D (Channel)
11
Data Length 0x03
12, 13
Data[0,1] Logical Span ID
0x0000 (Span 0)
14 Data[2] Channel 0x17 (Channel 23)
15 Entity 0x01 (Connection Type)
16, 17
Data[0,1] Value x0001 (Lucent 4ESS)
18 Checksum 0xCS (not shown in trace)
Adding Facilities
The D Channel Facility List Configure message adds or deletes facilities controlled by a D channel. For FAS arrangements, facility 0 is assumed for the span with the D
Developer Information
1315
channel. By sending the D Channel Facility List Configure message, NFAS is automatically assumed.
NFAS is only supported over T1, not E1.
Specify the span and channel for D and assign the facility number (1 - 19 for NFAS) and the span ID for the facility being assigned. Each Primary D channel assumes it is located on facility 0. You can add up to 19 facilities with the D Channel Facility List Configure message.
The facility number is the span offset for the controlling D channel. For example, for NFAS the span on which the D channel is located is facility number 0. The next span controlled by that D channel is facility # 1, the next is facility # 2, and so on.
Requirements for Adding Facilities
The following are requirements for adding facilities to a D channel:
D channel must be assigned (use the D Channel Assign message).
Facility Number must be from 1-19 (0 is the D channel facility number).
Facility must be assigned (use the Assign Logical Span ID message).
Span and channel must not currently be assigned to an ISDN D or B channel location. For most applications, the D channel resides on the 24th channel of the T1 span.
D Channel Facility List Configure Message Example
The next example shows the D Channel Facility List Configure message adding Logical Span ID #2, and assigning it to facility #1 for D channel 00,17.
Trace H->X FE [00 12] [00 C6] 00 04 01 00 02 0D 03 00 00 17 0C 02 00 02 01 01]
Byte Field Description
Value and Indication
0 Frame 0xFE
1, 2 Length 0x0012
3, 4 Message Type 0x00C6
5 Reserved 0x00
6 Sequence Number 0x04
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x02
10 Address Element Type
0x0D (Channel)
11 Data Length 0x03
MSP
1316
12, 13
Data[0,1] Logical Span ID
0x0000 (Span 0)
14 Data[2] Channel 0x17 (Channel 23)
15 Address Element 2
Address Type 0x0C (Span)
16 Data Length 0x02
17, 18
Data[0,1] Logical Span ID
0x0002
19 Action 0x01
20 Facility Number 0x01
21 Checksum 0xCS (not shown in trace)
Developer Information
1317
B Channel Configuration
This section describes the third step in the basic ISDN configuration sequence. See Configuring ISDN.
Requirement
Before you configure B channels, the D channel must be assigned.
B Channel Configure API message
Use the B Channel Configure message to configure B channels. Use care when configuring network-specific elements for the network. Check with your carrier if you need to include network-specific Information Elements.
Trunk-provisioned calls
If placing trunk-provisioned calls (options specific to a group of B channels), the host uses the parameters (configured with this message) in the outgoing ISDN SETUP message to the network. This data is used to encode the correct Information Elements for the called and calling party IEs when using trunk-provisioned parameters for the call type, bearer capability, numbering types, and plans.
Default Configuration
The next table lists the B channel configuration entities and their defaults. Use the B Channel Configuration message to change the default configuration.
Option Default
Network Type AT&T Megacom
Outgoing Information Transfer Capability
Voice
Calling Number Type National Number
Calling Number Plan ID
ISDN Numbering Plan
Calling Presentation Indicator
Presentation Allowed
Calling Screening Indicator
User Provided, Not Screened
Called Number Type Subscriber Number
Called Number Plan ID
Unknown Numbering Plan
MSP
1318
Configuring the Backup D Channel
This section describes configuration for the optional ISDN backup D channel.
Before you begin
Download and assign custom PPL protocols and modify timers and configuration bytes as required.
D channel backup supported
The ISDN component supports the D Channel backup procedure as defined by Lucent TR 41459. This procedure provides a standby D channel when using NFAS. When an active D channel fails, or if there is a span alarm, the MSP 1010 converts to the standby D channel and maintains active calls. This is a provisioned option and is applicable only when using NFAS. D Channel backup is supported on the T1 component only.
Both D channels must be assigned to the same ISDN component. When a span fails, or a D channel fails, a D channel switchover occurs (not a component switchover).
As both D channels must be assigned on the same ISDN component, there are no extra hardware requirements to enable D Channel Backup. You can logically assign spans on both T1 components (bearer and signaling) in the system.
Configuring D channel backup
To configure the backup D Channel, do the following:
Step Action
1 Use the D Channel Assign message to configure the type and location of the D channel. After the primary D channel is configured, configure the backup D channel (using the D Channel Assign message again). Include the span, channel, and facility number on which it resides.
2 Send the D Channel Facility List Configure message to all other facilities you want to include in the NFAS arrangement. You can also send this message for the same facility that was assigned in the backup D channel assignment. The backup D channel cannot be de-assigned; it becomes de-assigned when the primary D channel is de-assigned.
3 Use the second facility (1) to configure the backup D channel; (however, 1-19 are permissible).
4 Bring spans and channels into service. It is not necessary to bring the backup D channel into service. It automatically comes into service when the primary D channel is brought into service.
5 When the D channels align and process the SERVICE/SERVICE ACK exchange, the host receives a DS0 Status Change message (indicating “In-Service”) for the primary D channel.
Developer Information
1319
Call Processing
When one of the D channels becomes active, both incoming and outgoing call processing can begin. Only the active D channel allows information frames to progress to the Layer 3 Channel Released component 8 (where calls are managed). On a D channel switchover, only calls in the Active State (10) are preserved; all other calls are cleared. Messages are dropped in the Wait State when the switchover occurs. The host receives Channel Released messages for calls in transit.
Manual D Channel Switchover
You can initiate the switchover of D channels manually by sending a PPL Event Request message to the L3 D Channel Control component and the D channel to which you want to be switched.
You cannot initiate a switchover by taking the primary D channel out-of-service or the span on which it resides.
Compliance
The MSP 1010 software is compliant with the Primary Rate Interface guidelines defined in Lucent TR 41459 specification, as follows:
Layer 2
Layer 2 provides information frames to Layer 3. For both D channels, all unnumbered, supervisor, and information frames are processed as described in the Lucent specification. Since the protocol is run over primary rate, the SAPI and TEI are both 0. Data links do not know if the D Channel Backup is enabled or disabled.
Layer 2 is managed by the following Layer 3 D Channel Control messages (primitives):
DL Establishes Request
DL Remove Request
DL DM Remove Request
DL Data Request
Layer 3
Layer 3 complies with Lucent specification TR41459. The L3 D Channel Control component (0x0A) handles the D channel backup logic. Each state represents both D channel states. The L3 DSM manages the following:
Distribution of incoming and outgoing information frames to the other components in Layer 3
The switchover procedure (sending SERVICE and SERVICE ACK messages on the D channel)
Distribution of the indication to appropriate component to preserve active calls
Reporting of D channel failure
MSP
1320
Reporting status to the L3P D Channel Control component (0x06)
Reporting status to the host using the PPL Event Indication message
When a D channel changes state, the host receives one of the following events in the PPL Event Indication message:
D is Active (0x00001)
D is Standby (0x0002)
D is not aligned (0x0003)
The D channel failure event is sent from L3 D Channel Control component to the L3P D Channel Control component only when both D channels are not aligned. L3P does not know the state of both D channels; it only knows that at least one D channel is accessible, or that both D channels are not.
Any call not in Active State gets cleared on a switchover. The host receives a Channel Released message for the bearer channel to which the call was in transition.
Layer 3 Plus
L3P automatically requests a switchover when either span goes into an alarm condition. The L3P B Channel Control component informs the host about channel service states. When both D channels are not established, it resends the Alarm message to the host to indicate the establishment of a D channel.
Developer Information
1321
Optional Information Elements
Excel provides a format to send and receive Information Elements (IEs) per D channel. The data is represented using Information Control Blocks (ICB) with the ICB subtype of “Formatted IEs” (see Information Control Blocks in the API Reference). This allows flexibility when sending a message that has different types of data to transport. Multiple Formatted IEs can be loaded in the data section of the ICB.
APIs support Information Elements
The following API messages support the Formatted IE ICB:
Request For Service with Address Data
Outseize Control
PPL Event Indication
LPPL Event Request
Release with Data
Channel Release Request
Information Elements
The IE data is defined by the IE type. You can load multiple Formatted IEs in the data section of the ICB. Formatting specific IEs makes it easier for host development code to parse and create messages to pass specific data. The Raw IE ICB subtype is formatted similarly, however, it consists of the exact IEs to be sent.The format of the Formatted IEs ICB is shown in the next table.
ICB Count 0x01
ICB Type 0x02 (Data)
ICB Subtype 0x10 (Formatted IE)
ICB Data Length User-defined
ICB Data[0] Number of IEs To Follow
User-defined
ICB Data[1] IE Type User-defined
ICB Data[2] IE Length
User-defined
ICB Data[3] IE Data[0]
User-defined
ICB Data[4] IE Data[1]
User-defined
ICB Data[4] IE Data[2]
User-defined
ICB Data[4] IE DATA[3]
User-defined
MSP
1322
Information Element Library
To implement overlay networks or proprietary applications, the IE library allows you to store commonly used IE data. The library loads specific ISDN messages during call processing to reduce host message traffic.
There is a separate IE library for each active D channel on the ISDN component. The IE library contains a maximum of 30 library entries, and each entry is a maximum of 30 bytes. Each IE library entry can hold multiple IEs including codeset 6 and 7 IEs. IEs can be any type.
IE Restrictions
The following restrictions apply to the contents of an IE library entry
The IE lengths must coincide with total length of data to be stored.
The total length of the entry must be 30 bytes or less.
The length specified internally for the IEs must be consistent.
Configuration
Developer Information
1323
Use PPL AF 70 in the L3P Call Reference component to insert an IE Library into an outgoing ISDN message. The first argument is the IE library entry number to insert in the ISDN message.
Figure 8-6 shows page 1 of the L3P Call Reference State Machine modified to use AF 70 to insert the IE into the outgoing SETUP message to the network. The first argument is the IE Library entry number (3). in the ISDN Interface Configure message example.
Use the ISDN Query message to retrieve the contents of the IE library. The IE library is stored in battery backed RAM.
Figure 8-6 shows page 1 of the L3P Call Reference State Machine (l3p_cc). In the modified insert, AF 70 has been added after AF 77, with Argument 1 indicating IE Number 3. This inserts the IE into the outgoing SETUP message to the network.
L3P Call Reference DSD - Page 1
Example
The following example shows an ISDN Interface Configure message used to load an IE library entry. Use the ISDN Query message to retrieve the contents of the IE library.
Byte Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x0020 (32)
3, 4 Message Type 0x00B2
5 Reserved 0x00
6 Sequence Number
0xSN
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type
0x0D (Channel)
11 Address Data Length
0x03
12, 13 Address Data[0,1] Logical Span
0x0001 (Span 1)
14 Address Data[2] Channel
0x17 (Channel 23)
MSP
1324
15 Entity 0x0B (Load IE Library Entry)
16 Data[0] Entry Number
0x04
17 Data[1] IE Type 0x01 (Q.931 IE)
18 Data[2] Total IE Length
0x0E (14)
19 Data[3] IE Data 0x70 (Called Party Number IE)
20 Data[4] IE Data 0x0C (Length of Called Party)
21 Data[5] IE Data 0xA1 (National number, ISDN Numbering)
22 Data[6] IE Data 0x31 (Digit 1)
23 Data[7] IE Data 0x35 (Digit 5)
24 Data[8] IE Data 0x30 (Digit 0)
25 Data[9] IE Data 0x38 (Digit 8)
26 Data[10] IE Data 0x38 (Digit 8)
27 Data[11] IE Data 0x36 (Digit 6)
29 Data[12] IE Data 0x32 (Digit 2)
30 Data[13] IE Data 0x33 (Digit 3)
31 Data[14] IE Data 0x30 (Digit 0)
32 Data[15] IE Data 0x30 (Digit 0)
34 Data[16] IE Data 0x30 (Digit 0)
35 Checksum 0xCS (not shown in trace)
Developer Information
1325
Optional ISDN Configurations
Besides D channel backup and Information Elements, there are other optional configurations that are available with ISDN PRI.
This section outlines the configurations for:
B channel negotiation
ANI on demand
Vari-a-bill billing
B Channel Negotiation
ISDN components support B channel negotiation on incoming calls as defined in Lucent TR41459 for both E1 and T1 components. This feature allows the user receiving the incoming call (SETUP) to negotiate for the selection of the B channel. Only B channels controlled by the same D channel are considered for the selection procedure.
Call Flow
The SETUP message indicates the channel as either exclusive (does not accept an alternative) or preferred (any alternative is acceptable). If the channel is specified as preferred, but the user cannot grant the indicated channel, it selects any other B channel associated with the D channel. If the channel was specified as exclusive, no negotiation of the selection of the B channel is permitted and the call is rejected.
ISDN Interface Configure Enables Feature
B channel negotiation is enabled using the ISDN Interface Configure message. The following selection modes are provided:
Linear Clockwise (default)
Linear Counter-Clockwise
Circular Clockwise
Circular Counter-Clockwise
For NFAS, B channels on the same facility are selected before channels on other facilities.
Sample usage of feature
MSP
1326
The following example shows the use of the ISDN interface Configure message to select the B channel negotiation mode.
X->H FE [00 0F] [00 60] 00 00 01 00 01 0D 03 00 00 17 06 00 01]
Byte Field Description
Value and Indication
0 Frame 0xFE
1, 2 Length 0x000F (15)
3, 4 Message Type 0x0060
5 Reserved 0x00
6 Sequence Number
0x00
7 Logical Node ID 0x01
8 AIB - Address Method
0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type
0x0D (Channel)
11 Address Data Length
0x03
12, 13 Address Data[0] Logical Span
0x0000 (Span 0)
14 Address Data[1] Channel
0x17 (Channel 23)
15 Entity 0x06 (B Channel Selection Mode)
16 Data[0] Reserved
0x00
17 Data[1] 0x01 (Linear Clockwise)
18 Checksum 0xCS (not shown in trace)
ANI on Demand
ISDN components support the Automatic Number Identification (ANI) on Demand feature as specified in Lucent TR41459. This feature allows the host to request the Calling Party Number from networks that support ANI such as AT&T MultiQuest.
Developer Information
1327
A PPL Event Request message of ANI on Demand (0x21) must be sent from the host immediately after receiving the Request For Service message from the MSP 1010. If the call has already been answered, a NACK of 0xC0 is returned by the MSP 1010.
If successful, a FACILITY message is sent to the network requesting the ANI. A PPL Event Indication message of FACILITY ACKNOWLEDGE is returned containing the ANI information in a Calling Party IE or Network-specific Facility IE. If the ANI is not supported by the network or is not available, a PPL Event Indication message of FACILITY REJECT is returned by the MSP.
See the Lucent TR41459 specification for detailed information.
ANI on Demand Call flow
The NEXTB figure shows a call flow using the PPL Event Request message to implement the ANI On Demand feature.
Vari-A-Bill Billing
ISDN components support the Vari-A-Bill feature as specified in Lucent TR41459. This feature allows the host to request a change in billing for an incoming call. You can use this feature after a call has been answered and only if the SETUP message indicates that the network supports the flexible billing service.
Enabling Vari-a-Bill
To enable Vari-a-Bill, send a PPL Event Request message with a PPL Event of Vari-A-Bill (0x20), specifying the new billing information in a Vari-A-Bill Data ICB (0x12). The MSP 1010 sends a FACILITY message to the network requesting the billing change.
If the call is not in the answered state, then the feature is not supported and a NACK of 0xC0 is returned by the MSP 1010. A PPL Event Indication of FACILITY is returned from the network indicating whether the billing change was successful. See the Lucent TR41459 specification for detailed information.
Call Flow
The following call flow shows the use of the PPL Event Request message to implement the Vari-A-Bill feature.
MSP
1328
Example
The following example shows the PPL Event Request message to implement Vari-A-Bill billing and change the billing rate.
Trace X->H FE [00 1E] [00 44] 00 00 01 00 01 0D 03 00 00 00 [00 05] 00 20 01 02 10 0A 01 12 07 01 90 30 31 32 35 36
BYTE Field Description Value and Indication
0 Frame 0xFE
1, 2 Length 0x001E
3 Message Type 0x0044
5, 4 Reserved 0x00
6 Sequence Number 0x00
7 Logical Node ID 0x01
8 AIB - Address Method 0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Element Type 0x0D (Channel)
11 Address Data Length 0x03
12, 13 Address Data[0] Logical Span
0x0000 (Span 0)
14 Address Data[1] Channel
0x00 (Channel 0)
15, 16 PPL Component 0x0005 (L3P Call
Developer Information
1329
Reference)
17, 18 PPL Event 0x0020 (Vari-A-Bill)
19 ICB Count 0x01
20 ICB Type 0x02 (Data)
21 ICB Subtype 0x10 (Formatted IE)
22 ICB Data Length 0x0A
23 ICB Data[0]Number of IEs To Follow
0x01
24 ICB Data[1] IE Type 0x12 (Vari-a-bill Data)
25 ICB Data[2] IE Length 0x07
26 ICB Data[3] Invoke ID 0x01
27 ICB Data[4] Billing Type
0x90 (New Rate)
28 ICB Data[5] Billing Data (Hundreds)
0x30
29 ICB Data[6] Billing Data (Tens)
0x31
30 ICB Data[7] Billing Data (Ones)
0x32
31 ICB Data[8] Billing Data (Tenths)
0x35
32 ICB Data[9] Billing Data (Hundredths)
0x36
33 Checksum 0xCS (not shown in trace)
MSP
1330
ISDN Call Processing
Understanding the various phases of the call makes it easier for you to manage the events and information flow. This section describes the call phases and events and identifies what you must do to use the call processing capabilities. This section also describes the level of control for call processing that you must engineer. The topics in this section include:
Incoming Calls
Outgoing Calls
Releasing Calls
Overlap Receiving
Overlap Sending
Before you begin
Before you continue, make sure the following have occurred:
System configuration is complete
Spans are framed
All D channels are established
All B channels are in-service
The Outseize Instruction List Configure message is not supported for ISDN PRI. All outseize instructions must be sent in the Outseize Control message.
Perform all PPL configuration after you specify the variant with the ISDN Interface Configure message.
Incoming Calls
An incoming call is indicated by a SETUP message containing IEs to describe the span, channel, bearer capability, called and calling party, and services requested. The MSP 1010 validates and verifies the information based upon the ISDN PRI variant and, if successful, returns a CALL PROCEEDING or SETUP ACK. A SETUP ACK returns if the ISDN PRI variant is set to Euro-ISDN (0x07) or Euro-ISDN Network Side (0x17), and the overlap receiving mode is enabled. Otherwise, only the CALL PROCEEDING returns from the MSP.
Normally, only the span, channel, called and calling party are needed for most applications. This is provided in the Request for Service with Data message using the default BCD Encoded Stages format. This is the same message, common across the MSP 1010, that reports the called and calling party address digits.
The Inseize Control and Inseize Instruction List Configure messages are not supported for ISDN PRI.
If access to all IEs is required, configure the Request for Service Format to Formatted ICB. Formatted IEs reformats the most used IEs to a byte-oriented format which is easier to parse. This abstracts the ISDN specifics from the host to provide what is necessary, in a generic form. IEs that are not supported in the formatted mode are sent to the host in the Raw IE ICB.
Developer Information
1331
The Request For Service Format is configured with Config Byte 1 of the L3P Call Control PPL Component (0x05). The following options are configurable:
BCD Encoded Digits (0x01)
Formatted ICB (0x03)
Exact Frame (0x04) - (host must parse)
At this point in the call, the network is waiting for a CONNECT message. Prior to this, an ALERTING or PROGRESS message informs the network that the MSP 1010 is awaiting answer on the B party of the MSP 1010. One method of sending the ALERTING message to the network is to send a Park Channel message for the incoming span/channel. This disables Layer 4 timers for the call.
Normally, the host attempts an outgoing call (Outseize Control) to connect to this incoming call. If a Connect message is sent to the MSP 1010 after a successful seizure, the answer propagates to the incoming side (CONNECT) assuming the Answer Supervision Mode Configure message is set to Propagate Answer To Distant End (default).
To automatically answer an incoming call, send the Generate Call Processing Event of answer, which sends an ALERTING followed by a CONNECT. This puts the call in an answered state and incoming billing is started.
Call Flows for Incoming Calls
Click on the next links to view the call flows. To close the pop up window, click inside it.
Incoming ISDN Call to Outgoing ISDN Call
Incoming ISDN Call to an IVR (Interactive Voice Response)
Incoming ISDN Call Answered and Parked
The host can send a Generate Call Processing Event of “answer” to generate the appropriate ISDN signaling to the network. The MSP 1010 will park the call in this scenario and the incoming caller will hear silence until reconnected or tones/announcements are played.
Outgoing Calls
To send a Setup to the network, use the Outseize Control message. The easiest method to use for inserting called and calling party digits is to use the Stage N Address Data ICB. All other necessary ISDN specific information derives from the configured options of the B Channel Configure message. Information, such as number types and plans, is pre-configured using this message.
For call-by-call service selection, send the Outseize Control message using the ISDN Formatted IEs and ISDN Raw IEs ICBs, which is the recommended method. When doing this, specify the number type and plan for the called party IE and the calling party IE. You can also specify other IEs to be inserted.
Several IEs are inserted in the outgoing SETUP automatically:
MSP
1332
The ISDN header (protocol discriminator, call reference and message type)
The Channel Identification IE
Bearer Capability IE
Any IEs configured and implemented in the PPL
The B channel configuration options are interpreted and inserted automatically if not represented in the Outseize Control message (see the section on B Channel Configuration (8-37) for the table). Inserting IEs in the Outseize Control message override the configured values and are inserted in the SETUP.
Once the SETUP is sent, the MSP 1010 waits for a CALL PROCEEDING ACK, or a SETUP ACK. Once the ALERTING, PROGRESS, or CONNECT occurs, the Outseize Control ACK returns to the host. You can send each of these events to the host with the data included using the PPL Event Indication message. Once the ACK is sent, the host performs any of the Layer 4 specific call processing events.
When the MSP Receives No Response from the Network
If the MSP 1010 does not receive a network response to the SETUP in eight seconds, it responds to the host Outseize Control message with a state of Outseize Failed, No Answer (0x1B). Eight seconds is two full cycles of the Q.931 Timer 305, which is L3 Call Control PPL Timer 5 and has a default value of four seconds. The SETUP is rejected by L3 if any IEs are invalid or missing.
The MSP 1010 responds to the host Outseize Control message with a status of 0x17 (Invalid Data Type). The L3P Call Control PPL sends an ACK to the host for an Outseize Control message. The default PPL does not examine the Send Host ACK ICB (0x08) in the Outseize Control message.
If involved in a tandem connection, reception of the ALERTING, PROGRESS, or CONNECT causes the voice path to get cut through. This is controlled by changing the PPLs.
In the case of distant-end release (as a result of the Outseize Control), if the called party is busy, a DISCONNECT or RELEASE COMPLETE is sent to the MSP 1010 and a PPL Event Indication is sent to the host with the Cause IE indicating the reason.
Outseize options are configurable by modifying the PPL configuration bytes of the L3P Call Control component (ID 0x05). You must modify the config bytes to enable the following options:
Config. Byte 11 (Euro ISDN/Austel only): Send a SETUP ACK and PPL Event Indication of More Info to the host upon receipt of SETUP ACK from the network.
Config. Byte 12: Send a PPL Event Indication of Call Proceeding to the host upon receipt of a CALL PROCEEDING indication from the network.
Config. Byte 13 (Euro ISDN/Austel only): Send an Outseize Control ACK to the host upon receipt of a SETUP ACK from the network.
Config. Byte 14: Send an Outseize Control ACK to the host upon receipt of a CALL PROCEEDING message from the network.
Call Flows for Outgoing Calls
Developer Information
1333
Click on the next links to view the call flows. To close the pop up window, click inside it.
Outgoing ISDN Call with Raw Formatted Data Call Processing Events
Incoming ISDN Call with Host Control of Call Setup and Release
Releasing Calls
You can release a call in the following ways:
Network-Initiated
Release Channel or Release with Data messages
PPL Event Request message
Channel Release Request message
Call Flows for Releasing Calls
ISDN-initiated Release after Connection to an IVR (Interactive Voice Response)
Host-initiated Release after ISDN Connection to an IVR (Interactive Voice Response)
IVR-initiated Release after ISDN Connection
Overlap Receiving
Overlap receiving allows you to provide more information for a call if the SETUP does not contain enough information to route the call.
To use overlap receiving for incoming calls, select the Euro-ISDN PRI variant (0x07) or Euro-ISDN Netside PRI variant (0x17) using the ISDN Interface Configure message. Also, Overlap Receiving must be enabled by using the PPL Configure message to set PPL configuration byte 9 of the L3P Call Control component (0x05) to a value of 0x01. Once the MSP 1010 is configured for overlap receiving, the call setup process is transparent and appears to the host as a normal call setup.
When overlap receiving is enabled, the MSP 1010 validates the IE data in the incoming SETUP message as a usual call setup. The MSP also checks for the following:
A sufficient number of digits in the Called Party IE. This number is determined by configuration byte 10 of the L3P Call Control component (0x05), which defaults to a value of 0x10.
A Sending Complete IE in the SETUP message
If both conditions are false, the MSP 1010 sends a SETUP ACK message to the network and goes into overlap receiving mode to obtain more information. If one of the conditions is true, the MSP 1010 sends a CALL PROCEEDING and continues with normal call setup.
MSP
1334
In overlap receiving mode, the MSP 1010 waits for one or more INFORMATION messages from the network. These INFORMATION messages contain the Called Party digit data. Overlap receiving continues until one of the following conditions occur:
The total number of Called Party digits that the SETUP receives and all the subsequent INFORMATION messages are a sufficient number
An INFORMATION message receives a Sending Complete IE
A timeout condition occurs
In the first two conditions, the MSP 1010 sends a CALL PROCEEDING message to the network and a Request For Service With Data message is sent to the host with all of the Called Party digits. When a timeout condition occurs, a 15 second L3 Q.931 timer (T302) is set after the MSP 1010 sends a SETUP ACK. This timer is reset when each INFORMATION message is received. If this timer expires before the MSP 1010 receives an INFORMATION message, the incoming call is cleared with a DISCONNECT message.
As an option, you can override the L3 timer to allow all calls to complete. To do this, configure timer number 2 (using the PPL Timer Configure message) in the L3P Call Control component (0x05) to a value of less than 15 seconds.
If the L3P timer expires before the network receives an INFORMATION message, the MSP 1010 sends a CALL PROCEEDING message to the network and a Request For Service With Data message, with all of the Called Party digit data collected up to that point, to the host. You can also use the L3P timer when the sufficient number of digits is indeterminate.
Call Flow
Incoming Call from the Network Using Overlap Receiving
Overlap Sending
When you select the Euro-ISDN PRI variant (0x07) using the ISDN Interface Configure message, you can use overlap sending for outgoing calls. To select this option, include a Call Type ICB (0x1A) in the Outseize Control message. This ICB tells the MSP 1010 to use overlap sending and also determines which mode of overlap sending to use. The MSP 1010 uses two methods of overlap sending corresponding to Call Types 1 and 2.
Each Call Type is specified in the first data byte of the Call Type ICB:
Call Type 1 (L3P-Controlled) -- Include all Called Party digit data that is not in the SETUP in the Call Type ICB as ASCII/IA5 digits following the Call Type byte. When the host sends an Outseize Control message, the MSP 1010 indicates a SETUP with whatever Called Party data was included in the Address Data ICB (ASCII/IA5 or ISDN Formatted IEs).
Once the MSP 1010 receives a SETUP ACK message from the network, it sends a barrage of INFORMATION messages, one for each of the Called Party digits included in the Call Type ICB. The last INFORMATION message contains a Sending Complete IE. Use this mode mainly for testing purposes.
Developer Information
1335
Call Type 2 (Host-Controlled) – The Call Type ICB should contain only the Call Type byte 2 as ICB data. In this mode, the MSP 1010 sends a SETUP message and waits for a PPL Event Request message from the host to initiate an outgoing INFORMATION message. Send a PPL Event Request message with an event of INFORMATION (0x0D) to the L3P Call Control component (0x05).
The ICB data should be a subtype of ISDN Formatted IEs (0x10) and must contain a Called Party IE with one or more digits. The host can also include a Sending Complete IE as an ISDN Raw IE ICB if this is the last INFORMATION message to be sent.
As with overlap receiving, there is a Layer 3 Q.931 timer running (T304). It is a 30 second timer and is set when a SETUP ACK is received. It is reset when the host initiates an INFORMATION message using a PPL Event Request message. It is disabled when the MSP 1010 receives a message from the network that terminates overlap receiving, for example, a CALL PROCEEDING, ALERTING, or CONNECT. When the timer expires, the MSP 1010 clears the call by sending a DISCONNECT to the network.
To override this timer, set the L3P Call Control component (0x05) timer number 3 to a value of less than 30 seconds. When the L3P timer expires, the MSP 1010 sends an INFORMATION message to the network with a Sending Complete IE to terminate overlap sending and to continue call setup.
Call Flow: Outgoing Call to the Network Using Overlap Sending
MSP
1336
ISDN Congestion Control
The ISDN PRI Congestion Control feature prevents the ISDN component from failing due to call traffic overload. The Congestion Control scheme will help reduce message processing undertaken by the ISDN component and other tasks within the system should incoming traffic on the D channels become excessive.
The ISDN PRI Congestion Control is enabled by default and Cantata recommends that you do not disable it. The ISDN component measures the number of incoming messages on all supported D channels over set time periods. These congestion control parameters are configurable. If the threshold parameters are set too low, the ISDN component could reject calls that it would be capable of processing. If they are set too high, the MSP 1010 will be ineffective in preventing an excessive load situation.
Implementation
The level of congestion is monitored by three components in the ISDN protocol stack:
L3P Call Control component (0x05)
L3 Call Reference component (0x08)
L3 D Channel component (0x0A)
The congestion control parameters for the above components are configurable with the ISDN Interface Configure message (0x60). Congestion parameters configuration information may be retrieved using the ISDN Query message.
When the congestion thresholds are met, an Alarm message is sent to the host. Where Excel’s default parameter values are used, congestion is cleared when the average message count is less than 300 messages for 5 seconds.
The congestion threshold data fields are common to both ISDN and DASS congestion control schemes. The data fields are formatted to ensure backwards compatibility with the existing DASS congestion control scheme. DASS congestion control used just a single congestion level, this has been changed to Level 2 burst and average thresholds. The default values have also been changed to work with the ISDN scheme, if using DASS then Level 2 burst threshold should be set to 200 and Level 2 average threshold should be set to 1000.
Congested State
When the number of incoming messages reaches a certain pre-defined threshold, the D channels are identified as being in a congested state. A congested state results in any new incoming or outgoing call attempts being either rejected or ignored. The D channels will remain in the congested state until the incoming message rate falls below a pre-defined abatement threshold.
The two pre-defined levels of congestion exist with thresholds defined for each are:
Congestion Level 1 defines the threshold at which calls are rejected.
Congestion Level 2, for the higher level, defines the threshold at which point calls are completely ignored.
Developer Information
1337
The congested state is removed once the incoming message rate slows down to a pre-defined, lower threshold known as the abatement level, and stays below this level for a period of time. At this time, processing of the incoming and outgoing calls resumes.
Congestion Default Values
The next table below shows the default settings for congestion control on an ISDN component
Description Default values
Level 2 burst threshold 2700 messages
Level 2 average threshold
4500 messages
Abatement threshold 900 messages
Burst time window 1 second
Number of samples in average
10 bursts
Abatement window 5 seconds
Level 1 burst threshold 1600 messages
Level 1 average threshold
4300 messages
The ISDN congestion control scheme continuously counts the number of incoming messages on an ISDN component. Samples are taken in fixed units of time and are used to determine the congestion level of the component’s associated D channels.
Individual samples are used to determine the ‘burst’ rate. A burst is a count of all incoming messages in a single sample. This enables short excessive peaks in traffic to be accounted for.
A combination of samples is used to determine a moving average. This moving average is a count of all incoming messages over a number of samples. This enables consistent excessive traffic to be accounted for.
Diagram
The figure below shows an example of congestion occurring at various levels using the default settings.
MSP
1338
Configuration
Congestion control on the ISDN component is configurable through the ISDN Interface Configure message. The Single Channel format AIB, (0x0D) is used in this message to specify any one of the individual D Channels but it will apply to all. The AIB should be used to address any individual D channels that have been previously configured using D Channel Assign (0xC4). A new entity, Congestion Threshold (0x0C) has been added to this message to provide congestion threshold values. These values can be changed.
Congestion Levels During Call Processing
No Congestion
Calls are processed normally.
Congestion Level 1
Congestion Level 2
Developer Information
1339
ISDN Bearer Connection Independent Supplementary Services
Provision for ISDN Bearer Connection Independent Supplementary Services is implemented using the FACILITY message through the ISDN GCR component (0x09) with optional facility information element (IE) contents. All that is required for these services is the ability to transmit and receive FACILITY messages with a dummy call reference IE.
Existing support for FACILITY messages and both normal and global Call Reference IEs are not affected. ISDN FACILITY messages are sent from the host using the PPL Event Request (0x44). The host is notified of the receipt of the incoming ISDN FACILITY message using PPL Event Indication (0x43).
Implementing Calls
Incoming
Outgoing
1341
PPL Developer's Information
Introduction
Basics of PPL
Benefits of PPL and the PPL Composer
Excel’s Programmable Protocol Language (PPL) provides the ability to easily access and modify software operations on a per PPL component basis, giving the user full control over call processing. The PPL software load resides on the MSP and consists of a state machine engine, default protocol state machines (*.ppl files) and atomic function/event libraries (*.exl files).
A PPL protocol is an association of a state/event table and a primitive table. The state machine engine uses the tables to drive PPL objects through various states in response to internal or external events.
You can customize protocols using the PPL Composer application, which provides a graphical representation of PPL state machines. Protocol variants can be developed easily by modifying default protocols that can be obtained from the Excel protocol library.
PPL protocols are independent of switch system software, allowing for the creation of new protocols without upgrading system software. This allows for quick changes required to manage network signaling variants. Protocols are created with high-level Atomic Functions (AF), abstracting the user from detailed implementation logic.
Multiple protocols can be defined for each PPL component and selectively assigned to each object being managed.
Terms and Acronyms
You should familiarize yourself with the following terms and acronyms used throughout this manual. Each is discussed in more detail within the manual.
AF Atomic Function. A state machine software routine which normally performs one independent task.
*.ppl File extension for PPL protocol data file used by the PPL Composer application.
Event A condition that, when met, drives a state machine from one state to another.
*.exl File extension for files containing the atomic function/event library for a PPL component.
INS In Service
L3 Layer 3 (Network Signaling Protocol Layer)
L3P Layer 3 Plus (interface between L3 and L4)
L4 Layer 4 (Call Processing Layer)
L5 Layer 5 (Host Application Layer)
OOS Out of Service
MSP
1342
PPL Programmable Protocol Language. An Environment which allows for different software components within Excel’s switching platforms to be externally programmed and downloaded by the host application.
PPL Component
A programmable software component that uses PPL state machines that can be modified with the PPL Composer.
PPL Object A system object that is controlled by a PPL state machine such as a channel, an ISDN D channel, or an SS7 link.
Primitive A list of atomic functions invoked by a particular event.
Primitive Table
A list of all primitives used in a particular state machine.
Protocol A state machine comprised of a state/event table and a primitive table.
State The current “context” of a PPL object, such as Idle, Seizing, Answered.
State/Event Table
A table of all states used in a state machine and their associated events/primitives.
Symbols
PPL state machines use symbols to represent states, atomic functions, and events. These correspond to standard Specification and Description Language (SDL) symbols as shown in the figure below The PPL symbol for a state that is internal is denoted with an "I" in front of the "S".
State Machine Symbols
MSP
1344
PPL Environment
Overview
The PPL environment is designed into the switch system software, integrating custom PPL-generated state tables with system software residing on PPL-controlled components on each card. The developer has the ability to determine which call processing events are processed by the switch and how the switch responds to the events.
API messages manage PPL components
PPL components are configured and managed using the Excel PPL API messages. The API messages allow you to modify PPL timers, Config Bytes, transmit signaling (E1), event indications and requests, and more.
PPL Composer
All components are configurable with the PPL Composer, allowing you to modify protocol state machines to conform to variants. The default *.ppl and *.exl files for components that are released for custom programming with the MSP 1010 system software. If you require modification of unreleased PPLs, contact Excel Systems Support.
In addition to the default protocols, up to 10 custom protocols can be stored per component and assigned on a per object basis. The default protocols can be modified using the PPL Composer.
Each PPL component has a default protocol (or protocols), timers, Config Bytes, and EXL (atomic function/event library). The timers and Config Bytes are programmable using API messages.
Example
The next diagram uses the ISDN PRI card to illustrate the PPL environment. The Layer 3 Plus Call Control component (5) has three default protocol variants for the three connection types supported by the ISDN PRI card (Protocol IDs 11, 12, and 13). All three variants use the same timers, Config Bytes, and EXL. Using the PPL Composer, another protocol could be created (Protocol ID 1-10) and downloaded to the switch, and selectively assigned to objects.
PPL Environment
Index
1345
Switching between protocols
The ability to switch between several PPL protocols is provided by AF 2, which invokes a primitive resulting in the channel using a new set of protocol tables. It is the responsibility of the “secondary” protocol to return to the primary protocol (protocol assigned to the channel).
Switching Between Protocols
Index
1347
PPL Guidelines
Overview
This section gives general guidelines to follow when developing protocols. For more detailed information on using PPL for specific protocols, consult the API Reference.
Idle State
The Idle state must be consistent with the default protocol for a component. A protocol must transition to the primary protocol without having any knowledge of the primary protocol's state/event and primitive table data.
T1 and E1
Since the E1 OOS protocol has no knowledge of the primary T1 and E1 protocol, the transmit IDLE line signaling ABCD bit values must be configured by sending a PPL Transmit Signal Configure message. This should be done prior to bringing the channel In Service. The Out of Service line signaling value is transmitted when a channel is being controlled by the OOS protocol (channel ID out of service).
Internal States
A given Internal State (test state) must accept all possible Internal PPL Events (test results) from a test AF that is invoked. The description of all test Atomic Functions indicate the possible Internal PPL Events that may be returned.
Multi-Purpose PPL Timers
Each component has 3 multi-purpose timers available for use within a protocol. These timers can be activated through an “Enable Timer” AF passing the timer number (1-3) in Arg1 and the preconfigured PPL timer setting ID (1-100) in Arg2. See the Overview section for more details on PPL Timers.
The preconfigured timer settings can be changed by the host using the PPL Timer Configure message. As timer adjustments are independent from the protocol tables you can modify a timer value without having to create new protocol tables.
When a timer expires, an event is generated into the PPL state machine for the associated channel. The timer events are numbers 191, 192, and 193.
Multiple Resident Protocols
The MSP 1010 allows for up to 10 custom protocols per component to be resident in the system at one time. Custom protocols can be given Protocol IDs from 1 to 10. Excel default protocols begin at Protocol ID 11.
Call Processing
The MSP 1010 software architecture shown in the figure below is similar to the OSI Layered Model. Inter-Layer communications between Layer 3 and Layer 4 must take place for call management. Specific events and AFs are provided for each PPL
MSP
1348
component to manage call processing. This section describes the required Layer 3 to Layer 4 messaging for incoming and outgoing calls.
Excel Software Architecture
Incoming Call
Condition L3 to L4 Message
Incoming Call Setup Completed L3 ? L4 Setup Indication by L3
Terminating Party being Alerted L4 ? L3 Alerting
Terminating Party Answered L4 ? L3 Connect
Outgoing Call
Condition L3 to L4 Message
Initiation of Outgoing Call L4 ? L3 Call Request or
L4 ? L3 Outseize Control
Outseizure Acknowledgment L3 ? L4 Alerting
Index
1349
Successfully Detected by L3
Answer Detected by L3 L3 ? L4 Connect
Network-initiated Call Release
Condition L3 to L4 Message
Network Release Detected L3 ? L4 Disconnect by L3
L4 Acknowledgment of L3 Disconnect Request
L4 ? L3 Clear
L3 Network Release Completed (L3 in Idle state)
L3 ? L4 Clear
Host/Associated Party-initiated Call Release
Condition L3 to L4 Message
L4-initiated Release L4 ? L3 Clear
L3 Network Release Completed
(L3 in Idle state) L3 ? L4 Clear
MSP
1350
API Messages used for Protocol Modification
Overview
PPL Protocols can be modified in two ways:
PPL Composer
Default PPLs can be modified using the PPL Composer to create protocol variants. See the PPL Composer User’s Guide.
API Messages
Excel PPL API messages can be used to modify a number of PPL configurations without modifying the protocol state machines.
API Messages
PPL Table Download Initiate and PPL Download
PPL Table Download Initiate and PPL Download messages are used to download protocol tables to the switch.
Downloading and Assigning a Protocol
Download the protocol to the switch. See the developer’s guides for downloading methods. Assign the protocol to channels or other objects (such as SS7 links) using the PPL Assign message.
Perform any required PPL configuration such as:
• Timers (PPL Timer Configure)
• Config Bytes (PPL Configure)
• Signaling (PPL Transmit Signal Configure, E1 only).
Bring the channels or other objects in service using the Service State Configure message. The following API messages are used for PPL configuration. See the API Reference for complete information on each message.
PPL Create and PPL Assign
These messages are used to create a protocol using the downloaded tables and to assign the protocol to PPL-controlled objects.
PPL Configure
This message is used to modify a component’s PPL Config Bytes. The default Config Bytes are documented in the API Reference.
PPL Data Query
This message is used to retrieve information on Config Bytes, PPL Timers, and the state of a component.
Index
1351
PPL Event Indication and PPL Event Request
These messages are used to generate PPL events between the host and the switch.
PPL Audit Configure and PPL Audit Query
These messages are used to configure and retrieve audit data on a card. See the PPL Auditing in this section for more information.
PPL Timer Configure
This message is used to modify a protocols timer values. See PPL Timers for more information.
PPL Transmit Signal Configure
This message is used to configure transmit line signaling on E1 channels.
PPL Protocol Query
This message is used to generate a report on the custom protocols downloaded to a PPL component.
MSP
1352
State Machines
Overview
The next diagram shows an example of a state machine. The state machine engine drives each channel through its protocol tables based on the occurrence of an event. When a normal state is reached, processing of the event is complete. The dynamic generation of internal blocking states is also supported for service resource requests such as digit receiver allocation.
State Machine Example
State
The current “context” of a component. There are three types of states:
Normal
Blocking
Internal
Index
1353
Normal State
A normal state can be a wait state (i.e., waiting for a line signaling event, or host input), or a stable state (i.e., conversation state).
Blocking State
A blocking wait state is automatically generated by the PPL when a “blocking” AF is invoked. A blocking AF is used for allocation of any off-board service resource required by the PPL. Upon the receipt of a positive result of the resource request, the channel “unblocks” and resumes the remainder of the primitive. Blocking is performed on a per object basis without affecting other objects.
Blocking States are transparent to the PPL designer, but they can be tracked in a PPL audit. A blocking state is indicated by 0xFF in the State Status field of PPL Audit Data (see PPL Auditing). This isolates the protocol developer from the details of the internal service management provided by the MSP 1010 when creating new PPL protocols. Only normal and internal states can be programmed by the host.
An example of a Blocking state is shown below.
Blocking State
Internal State
Internal States are used to take a decision branch based upon performing a logical test. An Internal State is initiated by a Test AF, which will result in an internal event being returned based upon the result of the test. Internal states only accept internal
MSP
1354
events. The documentation for test AFs shows the internal events generated for each result.
The format of an internal state can be represented in standard logic flow chart form, as shown in the next diagram. The PPL representation of the flow chart as an internal state is shown in the figure on the next page.
Logic Flow Chart Decision Branch
The next section shows a PPL state machine representation of the logic flow chart decision branch above.
PPL State Machine Representation of Logic Flow Chart Decision Branch
Index
1355
Event
A condition that drives a component out of its current state by invoking an associated primitive, such as:
Receive Line Signaling Change
Dialtone Detected
Alerting Message
Atomic Function (AF)
A predefined, two-argument function that performs a simple protocol action, such as:
Transmit Line Signaling
Send Layer 4 Disconnect
Allocate Digit Buffer
The AFs for all default protocols that can be modified using the PPL Composer are documented in the section for each card. They include a description, argument values and ranges, internal events returned for tests, and the minimum software version.
MSP
1356
Primitive
A grouping of one or more AFs and their arguments that allows multiple actions and tests to be initiated in response to a PPL event.
Index
1357
PPL Timers
Overview
There are two types of timers available to a protocol state machine:
Generic Protocol Timers
Protocol-specific Timers
Generic PPL Timers
Each component has access to a list of 100 timer values that are enabled in a protocol using AFs 46, 47, and 48. Up to three timers can be enabled at any one time. Each component using timers has a table that contains the value of specific timers. Argument 2 of the Generic PPL Timer AFs is an index into the component’s timer table where the value for the required timer is located.
Example
The next figure shows the use of a timer AF in the MTP3_LSAC state machine. AF 46 initiates one of the PPL timers (in this case, Timer 2, as defined by Argument 1 of the AF). Argument 2 is the index into the component’s timer table. In this case, Argument 2 indicates Index 2 in the timer table, which is the MTP3_ANSI_T17 timer with a default value of 1s.
See the API Reference for the default values of each component’s Generic PPL Timers.
Generic Protocol Timers
Protocol-Specific Timers
The E1 component uses various timers when transmitting and receiving signaling tones or dial pulses. They are as follows:
R2 Signaling
DTMF Signaling
MSP
1358
MFR1 Signaling
Dial Pulse
The default timer values are documented in the PPL Timer Configure message, which is used to modify any of the timer values. See the API Reference for more information.
Modifying Protocol Timers
You can modify all of the timers and values in the PPL Timer tables using the PPL Timer Configure message. This allows the timer values to be modified without modifying the component state machine. To modify a components Generic Protocol Timer list, indicate a Timer Type of Generic Protocol Timer (0x01), the Timer ID (index into the components timer table), and the new Timer Value. To modify an E1-specific Signaling Timer, indicate the Timer Type, Timer ID (see message), and new Timer Value.
Example API format
The following example shows how to modify the MTP3_ANSI_T17 timer from one second (default) to two seconds.
Byte Field Description Value and Indication
0 Frame Character 0xFF
1 Length (MSB, LSB) 0x0011
2
3 Message Type (MSB, LSB) 0x00CF (PPL Timer Configure)
4
5 Reserved 0x00
6 Sequence Number 0xSN
7 Logical Node ID 0xFF
8 AIB Address Method 0x00 (Single Entity)
9 Number of Address Elements
0x01
10 Address Type 0x09 (SS7 Link)
11 Data Length 0x02
12 Data[0] Stack ID 0x01
13 Data[1] Link ID 0x01
14 PPL Component ID (MSB, LSB)
0x002E (MTP3_LSAC)
15
16 PPL Timer Type 0x01 (Generic Protocol Timer)
Index
1359
17 PPL Timer ID 0x02 (MTP3_ANSI_T17)
18 PPL Timer Value (MSB, LSB)
0x00C8 (2 s)
19
20 Checksum 0xCS
MSP
1360
PPL Auditing
Overview
When PPL Auditing is enabled on a card, all state machine activity on the card is recorded in an audit log on either a per-PPL component basis or an individual entity basis. A log consists of a number of audit entries, each representing a state transition on a specific entity (channel). The length of the audit entries varies per PPL component.
Under busy call conditions, the user has the option initiating PPL Auditing on an Entity Basis instead of PPL Auditing on a Component Basis. This option provides the user with more accurate error auditing. Enabling the auditing function on an entity basis allows the auditing buffer to store only the information pertaining to user-selected entities. When auditing on a component basis, the ability to determine the cause of a problem can be lost. This is because the multi-entities that overload the auditing buffer can be overwritten due to a large volume of incoming voice traffic.
IMPORTANT: Before initiating the PPL Audit function, contact Cantata technical Support for information on selecting the Audit Type options in the PPL Audit Configure and PPL Audit Query messages.
PPL Audit Configure
PPL Auditing is enabled on a per-card basis using the PPL Audit Configure message. This message accepts and validates all AIBs that correspond to the provided component ID. A message received with a Slot AIB will be processed as in previous releases. A message received with an AIB, other than a Slot AIB, will be processed as an Individual Entity Audit configuration message. The Audit Type field is a bit mask that provides bits 0 through 3 to enable or disable PPL Auditing features on a component or entity basis. For example, setting bit 0 enables PPL auditing. See the PPL Audit Configure message for the Audit Type information.
There are two new bit options in the Audit Type field. Bit 3 allows configuration of individual entities, and bit 2 enables the configuration. Both bits can be set at the same time or bit 2 can be enabled or disabled at any time to activate or deactivate individual auditing.
To support PPL Auditing on an Entity basis, the PPL Audit Configure message supports AIBs that are associated with the following PPL components:
E1 (0x0001)
T1 (0x0003)
ISDN L3P Call Control (0x0005)
ISDN L3 Call Reference (0x0008)
SS7 L3P CIC (0x000F)
SS7 ISUP CPC (0x0012)
Channel Management (0x0061)
Call Management (0x0062)
PPL Audit Query
Index
1361
The PPL Audit Query message supports Slot AIB, and all AIBs that are associated with the PPL components. This message supports the querying of all PPL Audit configurations. For example, when this occurs a single byte of Audit configuration data will be returned. This byte will contain the current settings for board level PPL Auditing, board level PPL Error Alarm settings, and Individual PPL Auditing.
If the AIB specifies an entity other than a Slot AIB, the byte will also contain entity level PPL Auditing and entity level Error Alarm settings. For example, this information will be queried by setting the Audit Type to 0x02 in the PPL Audit Query message. The PPL Audit Query message Audit Types are as follows:
An Audit Type of (0x00) requests the PPL Audit information for the specified entity.
An Audit Type of (0x01) requests a PPL ERROR audit on a per card basis.
An Audit Type of (0x02) requests the current PPL Audit configuration. It will return a PPL Audit Query response containing the status, the AIB, the component ID, the Audit Type, and an Audit Configure byte containing the current Audit Configuration setting. The slot AIB will be supported when the Audit Type is Audit Configuration (0x02). The bits (0 through 4) of the Audit Configuration byte are listed in the PPL Audit Query message.
Audit Data
The exact data in an audit log varies per audit type and PPL component. See the PPL Audit Query message for the exact data returned. The following information is included in all audit entries:
Protocol ID
State Status
Protocol-specific Information
PPL Event
Initial State
Next State
Error Status
Timestamp
Retrieving an Audit Log
An audit log can be retrieved by sending a PPL Audit Query message. There are two audit query types: PPL State Transitions and PPL Errors. PPL State Transitions are queried on a per-PPL component/entity basis. All state transitions for a specified PPL component on a specified entity are reported. PPL Errors are queried on a per PPL component/card basis. All PPL errors for the specified PPL component on the specified card are reported.
An entire log cannot always be retrieved with one message. Audit entries are grouped into audit blocks. When you query a log, you specify audit block 0 in the first message, audit block 1 in the second message, and so on until all audit entries have been returned. When there are no audit entries remaining, the response status to the PPL Audit Query message will indicate 0x00D7 (End of PPL Audit Data).
MSP
1362
PPL Error Alarm
By enabling the PPL Error Alarm, the host will be notified with an Alarm message when a PPL Error occurs on an entity. The PPL Error Alarm is enabled by setting bit 1 of the Audit Type field in the PPL Audit Configure message. The Alarm message will indicate Entity - 0x04 (Channel) and Alarm # - 0x03 (PPL Error). The Alarm Information fields contain the audit entry data from the PPL Audit log.
Index
1363
Common Atomic Functions
Atomic Functions
AF 1- AF 50 are common to all PPL components. See the relevant section for protocol-specific *.exl files.
Links
Click below to jump directly to an Atomic Function:
Create New State Machine Context
Jump to State Machine
Return to State Machine
Generates a PPL Internal Event
Compare PPL Configuration Byte To Value
Generates a PPL Internal Event
Compare PPL Configuration Byte to Value
Compare PPL Configuration Byte In GPR to Byte Offset Value
Clear General Purpose Register
Clear Range of General Purpose Registers
Save Value in General Purpose Register
Increment General Purpose Register
Compare GPR to Value
Compare PPL General Purpose Registers
Test Value in GPR to Configuration Byte
PPL Test GPR for Any Value
Decrement General Purpose Register
Move GPR to GPR
PPL General Purpose Register
PPL General Purpose Register Number1
PPL General Purpose Register (High 16)
PPL General Purpose Register (Low 16)
PPL General Purpose Register
PPL General Purpose Register Number1
PPL General Purpose Register (High 16)
PPL General Purpose Register (Low 16)
PPL Shift Right Logical Gen. Purpose Register
Block Event
MSP
1364
PPL Shift Left Logical GPR
PPL Load GPR with Contents of 4 or 8 Config Bytes
PPL Load GPR with Contents of Config Byte
Set PPL Timer
Disable PPL Timer
Set PPL Timer in 10ms Units
Set PPL Timer in 100ms Units
Set PPL Timer in 1000ms Units
Other:
Events
Downloading and Assigning a Protocol
Atomic Functions
AF Number: 1
Name: Create New State Machine Context
Description: Creates a new state machine context for the protocol being transferred into. This function must be invoked prior to AF_002 (Jump To State Machine). The Protocol ID can be the currently active protocol or a non-active protocol.
Arg1: <Protocol ID>
Arg2: <Not Used>
AF Number: 2
Name: Jump to State Machine
Description: Transfers from the current state machine to the internal state machine indicated by Arg1, which becomes the current state, and the Internal PPL Event indicated by Arg2 is processed.
Arg1: <Internal State ID>
Arg2: <Internal PPL Event>
AF Number: 3
Name: Return to State Machine
Description: Returns to the calling PPL state machine. Both AF_001 (Create New State Machine Context) and AF_002 (Jump To State Machine) must be invoked prior to AF_003. The current state machine context will be freed up and the calling state machine's context will be restored.
Index
1365
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 11
Name: Generates a PPL Internal Event (Indicated by Config Byte)
Description: Generates a PPL Event indicating the value of the configuration byte indicated by Arg1.
Arg1: <Configuration Byte Offset> 1-200
Arg2: <Not Used>
AF Number: 12
Name: Compare PPL Configuration Byte To Value
Description: Tests the value of the configuration byte indicated by Arg1 against the value indicated by Arg2.
Arg1: <Configuration Byte Offset> 1-200
Arg2: <Value>
Test Result
PPL Internal Event
< 0
> 1
= 2
AF Number: 13
Name: Generates a PPL Internal Event (Indicated by GPR)
Description: Generates a PPL Event equal to the value of the configuration byte given by the GPR indicated by Arg1.
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 14
Name: Compare PPL Configuration Byte to Value
Description: Compares the value of the configuration byte given by the GPR indicated by Arg1 against the value indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <Value>
Result PPL
Internal Event
MSP
1366
< 0
> 1
= 2
AF Number: 15
Name: Compare PPL Configuration Byte In GPR to Byte Offset Value
Description: Tests the value of the configuration byte given by the GPR indicated by Arg1 against the value of the configuration byte indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <Configuration Byte Offset> 1-200
Test Result
PPL Internal Event
< 0
> 1
= 2
AF Number: 21
Name: Clear General Purpose Register
Description: Clears the GPR indicated by Arg1.
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 22
Name: Clear Range of General Purpose Registers
Description: Clears a range of PPL GPRs beginning with the GPR # indicated by Arg1 and including the number of registers indicated by Arg2.
Arg1: <Beginning GPR #> 1-25
Arg2: <# of Registers to Clear>
AF Number: 23
Name: Save Value in General Purpose Register
Description: Saves the value indicated by Arg2 in the GPR indicated by Arg1.
Arg1: <GPR #> 1-25
Arg2: <Value> 0-255
AF Number: 24
Index
1367
Name: Increment General Purpose Register
Description: Increments the GPR indicated by Arg1 by the value indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <Increment Value>
AF Number: 25
Name: Compare GPR to Value
Description: Compares the value in the GPR indicated by Arg1 against the value indicated by Arg2, and returns a decision event to drive the PPL state machine out of an internal decision state.
Arg1: <GPR #> 1-25
Arg2: <Value>
Test Result
PPL Internal Event
= 1
other 0
AF Number: 26
Name: Compare PPL General Purpose Registers
Description: Tests the value in the GPR indicated by Arg1 against the value in the GPR indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <GPR #> 1-25
Test Result
PPL Internal Event
< 0
> 1
= 2
AF Number: 27
Name: Test Value in GPR to Configuration Byte
Description: Tests the value in the GPR indicated by Arg1 against the value of the configuration byte in the GPR indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <GPR #> 1-25
Test Result
PPL Internal Event
MSP
1368
< 0
> 1
= 2
AF Number: 28
Name: PPL Test GPR for Any Value
Description: Function which generates a decision event based on the value in the GPR indicated by Arg1.
Arg1: <GPR #> 1-25
Arg2: <Not Used>
Test Result
PPL Internal Event
GPR # N N
for example: if GPR = 45, then PPL Internal Event = 45
AF Number: 29
Name: Decrement General Purpose Register
Description: Decrements the GPR indicated by Arg1 by the value indicated by Arg2. A GPR cannot be decremented below 0. If the decrement value in Arg2 is greater than the value of the GPR in Arg1, the GPR will be set to 0.
Arg1: <GPR #> 1-25
Arg2: <Decrement Value>
AF Number: 30
Name: Move GPR to GPR
Description: Moves the value stored in the GPR indicated by Arg1 to the GPR indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <GPR #> 1-25
AF Number: 31
Name: PPL General Purpose Register <- General Purpose Register Logical AND Config Bytes
Description: Performs logical AND statement between Arg 1 and Arg 2
Arg1: <Register Number> (1:53)
Arg2: <Config Byte Offset> 1:100
Index
1369
AF Number: 32
Name: PPL General Purpose Register Number1 <- General Purpose Register Number1 Logical AND General Purpose Register Number2
Description: Performs logical AND statement between Arg 1 and Arg 2. The result is placed into Arg 1
Arg1: <Register 1 Number> (1:53)
Arg2: <Register 2 Number> (1:53)
AF Number: 33
Name: PPL General Purpose Register (High 16) < General Purpose Register (High 16) Logical AND Immediate Value
Description: Perform a logical AND statement between MSB of register stored in Arg 1, and the MSBs of register stored in Arg 2. The result is placed in the MSB of Arg 1.
Arg1: <Register Number> 1:25
Arg2: <Value> 0:65535
AF Number: 34
Name: PPL General Purpose Register (Low 16) < General Purpose Register (Low 16) Logical AND Immediate Value
Description: Performs a logical AND statement between LSB of
Arg1: <Register Number> 1:25
Arg2: <Value> 0 - 65535
AF Number: 35
Name: PPL General Purpose Register <- General Purpose Register Logical OR Config Bytes
Description: Performs logical OR statement between Arg 1 and Arg 2
Arg1: <Register Number> 1:53
Arg2: <Config Byte Offset> 1:100
AF Number: 36
Name: PPL General Purpose Register Number1 <- General Purpose Register Number1 Logical OR General Purpose Register Number2
Description: Performs logical OR statement between Arg 1 and Arg 2. Places result into Arg 1 register.
Arg1: <Register 1 Number> 1:53
Arg2: <Register 2 Number> 1:53
MSP
1370
AF Number: 37
Name: PPL General Purpose Register (High 16) <- General Purpose Register (High 16) Logical OR Immediate Value
Description: Performs logical OR statement between MSB of register stored in Arg 1 and Arg 2. The result is placed in the MSB or Arg 1 register.
Arg1: <Register Number> 1:25
Arg2: <Value> 0:65535
AF Number: 38
Name: PPL General Purpose Register (Low 16) <- General Purpose Register (Low 16) Logical OR Immediate Value
Description: Performs a logical OR statement between the LSB of register in Arg 1 and Arg 2. The result is placed in the LSB of Arg 1.
Arg1: <Register Number> 1:25
Arg2: <Value> 0:65535
AF Number: 39
Name: PPL Shift Right Logical Gen. Purpose Register
Description: Performs a bit shift right, on the register indicated by Arg 1. The number of bits to shift is indicated by Arg 2.
Arg1: <Register #> 1:53
Arg2: <# bits> 1:64
AF Number: 40
Name: Block Event
Description: Blocks an event for later processing in the next normal state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 41
Name: PPL Shift Left Logical GPR
Description: Shifts the value in the GPR indicated by argument 1 left by the number of bits indicated by argument 2.
Arg1: <Register #>
Arg2: <# of Bits>
AF Number: 42
Name: PPL Load GPR with Contents of 4 or 8 Config Bytes
Index
1371
Description: Loads the value of the PPL Config Bytes beginning with the byte indicated by argument 2 into the GPR indicated by argument 1.
Arg1: <Register #>
Arg2: <Starting Config Byte>
AF Number: 43
Name: PPL Load GPR with Contents of Config Byte
Description: Loads the value of the PPL Config Byte indicated by argument 2 into the GPR indicated by argument 1.
Arg1: <Register #>
Arg2: <Config Byte Offset>
AF Number: 46
Name: Set PPL Timer
Description: Sets the PPL timer indicated by Arg1 to the value of the Timer ID indicated by Arg2, configured with the PPL Timer Configure message.
The Timer Number refers to the three internal PPL multi-purpose timers available per channel. The Timer ID refers to the 100 Generic Protocol Timer IDs that can be configured with the PPL Timer Configure message. A PPL Timer’s value can be adjusted by changing the Timer ID value with the PPL Timer Configure message, without modifying the PPL State/Event or Primitive tables.
Arg1: <Timer Number> 1-3
Arg2: <Timer ID> 1-100
The expiration of PPL timers results in the generation of the following PPL events:
Expiration of:
PPL Internal Event
Timer 1 PPLevTIMER1
Timer 2 PPLevTIMER2
Timer 3 PPLevTIMER3
AF Number: 47
Name: Disable PPL Timer
Description: Disables the timer indicated by Arg1.
Arg1: <Timer Number> 1-3
Arg2: <Not Used>
AF Number: 48
Name: Set PPL Timer in 10ms Units
MSP
1372
Description: Activates the PPL timer indicated by Arg1 with the value indicated by Arg2 in 10ms units.
Arg1: <Timer Number> 1-3
Arg2: <Timer Value>
AF Number: 49
Name: Set PPL Timer in 100ms Units
Description: Activates the PPL timer indicated by Arg1 with the value indicated by Arg2 in 100ms units.
Arg1: <Timer Number> 1-3
Arg2: <Timer Value>
AF Number: 50
Name: Set PPL Timer in 1000ms Units
Description: Activates the PPL timer indicated by Arg1 with the value indicated by Arg2 in 1000ms units.
Arg1: <Timer Number> 1-3
Arg2: <Timer Value>
EVENTS
The following events are common to all PPL components.
191 PPLevTIMER 1 PPL Timer 1 has expired.
192 PPLevTIMER 2 PPL Timer 2 has expired.
193 PPLevTIMER 3 PPL Timer 3 has expired.
Events 200 - 455
Internal Event N generated by a test AF to drive the state machine out of a decision type state, where:
Event N = Event # - 200.
For example:
EVENT 200 = Internal Event 0
EVENT 321 = Internal Event 121
EVENT 455 = Internal Event 255
Events 500 - 755
Internal Event N from Layer 5 generated by a PPL Event Request message, where:
Index
1373
Event N = Event # - 500.
Downloading and Assigning a Protocol
Download the protocol to the switch. See the Developer’s Guides for downloading methods. Assign the protocol to channels or other objects (such as SS7 links) using the PPL Assign message.
Perform any required PPL configuration such as:
Timers (PPL Timer Configure)
Config Bytes (PPL Configure)
Signaling (PPL Transmit Signal Configure, E1 only).
Bring the channels or other objects in service using the Service State Configure message.
MSP
1374
T1 Atomic Functions
Atomic Functions
The PPL state machine, *.ppl, for each protocol is available on CD ROM
Links
Click below to go directly to an Atomic Function.
Send L4 a Q.931 Alerting
L3PPL Send L4 a Q.931 Alerting with Cut Thru
L3PPL Send L4 a Setup Indication
L3PPL Send L5 INSZ/OUTZ Ctrl Resp with Status in GPR <GPR #>
L3PPL Test for Outstanding L5 Msg
T1PPLXMIT AB Line Signaling <CFG Byte Offset>
L3PPL XMIT ABCD Line Signaling <CFG Byte Offset>
T1PPL XMIT Line Signaling <AB bits>
L3PPL Store Outseize Ctrl Data ICBs
L3PPL Test Current Outseize Ctrl Instr Data
L3PPL Compare Next Outseize Ctrl Instr Addr Sig Type <Addr Sig Type>
L3PPL INIT a Channel Purge with Purge Reason in GPR <GPR #>
Send PPL Event Indication Message to the Host with GPR Value
L3 PPL Send L5 Event Indication with General Purpose Register Value <Event ID>
L3PPL Test Previous Outseize Ctrl Instr Data
L3PPL Test Previous Outseize Ctrl Instr
L3PPL Outpulse MFR1 KP Digit using compelled KP Mode
L3PPL Continue Outpulse MFR1 Digits using Compelled KP Mode
PPL Enable Multi Purpose Timer <Timer #> <GPR #>
L3PPL Test CP Event Bit of Onhook <Boolean>
L3PPL Setup Host CP Event of Wink
L3PPL Setup Host CP Event of Offhook <Boolean>
L3PPL Test Outseize Ctrl for any Action ICB
L3PPL Test Outseize Ctrl for all Data ICB
L3PPL Load Current Outseize Ctrl Instr Data [0], Data [1] into GPR <GPR #>
T1PPL Test for Flash Timing
T1PPL Outpulse MFR1 Digits
T1PPL Outpulse DTMF Digits
Index
1375
L3PPL Test Next Inseize Ctrl Instr for Inpulsing Digit Str Cnt
L3PPL Test Next Inseize Ctrl Instr for Collection Method
T1PPL Attach DTMF Digit Receiver
T1PPL Attach MFR1 Digit Receiver
T1PPL Attach MFR1 Digit Receiver (Get Stage # From Next Instr)
L3PPL Test Inseize Ctrl for any Action ICB
L3PPL Test Current Inseize Ctrl Instr for Addr Signaling Type
L3PPL Load GPR with Stage Complete Timer for Current Inseize Ctrl Instr <GPR #>
L3PPL Test Current Inseize Ctrl Instr for Collection Method
L3PPL Test Current Inseize Ctrl Instr for Inpulsing Digit Str Cnt
L3PPL Load Current Inseize Ctrl Instr Data[0], Data [1] into GPR <GPR #>
L3PPL Test Previous Inseize Ctrl Instr Data
L3PPL Test Previous Inseize Ctrl Instr
L3PPL Test Wink Number in Host Generate CP Event
L3PPL Do CPA without Line Signaling
PPL Events
Atomic Functions
AF Number: 59
Name: Send L4 a Q.931 Alerting
Description: 13ppl_af_59() sends a Q.931 L3 - L4 Alerting message.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 72
Name: L3PPL Send L4 a Q.931 Alerting with Cut Thru
*Changed from L3PPL Send L4 a Q.931 Alerting.
Description: Sends a Q.931 L3 - L4 Alerting with Cut Thru message.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 74
Name: L3PPL Send L4 a Setup Indication
MSP
1376
Description: Sends a Setup Indication to Layer 4
Input Arg1: <Config Byte Offset>
Input Arg2: NA
Outputs: NA
AF Number: 76
Name: L3PPL Send L5 INSZ/OUTZ Ctrl Resp with Status in GPR <GPR #>
Description: Sends a INSEIZE_CTRL or OUTSEIZE_CTRL response should an outstanding L5 Inseize/Outseize Control request exist. Response status is stored in the GPR specified in arg1.
Input Arg1: GPR # (1 - 25)
Input Arg2: NA
Outputs: NA
AF Number: 83
Name: L3PPL Test for Outstanding L5 Msg
Description: Tests for any outstanding L5 messages.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: outstanding L5 messages does not exist.
PPLevINT_EVENT_1: outstanding L5 messages exist.
AF Number: 118
Name: T1PPLXMIT AB Line Signaling <CFG Byte Offset>
Description: Transmits line signaling which is stored in the CFG Byte offset. The value stored in the CFG Byte offset is expected to contain only AB signaling bit combination.
Input Arg1: Config byte offset that contains line signaling.
Range (0 - 3)
Input Arg2: NA
Outputs: NA
AF Number: 119
Name: L3PPL XMIT ABCD Line Signaling <CFG Byte Offset>
Description: Transmits line signaling which is stored in the CFG Byte offset. The value stored in the CFG Byte offset is expected to contain ABCD signaling bit combination.
Input Arg1: CFG Byte offset that contains line signaling.
Index
1377
Range (0 - 15)
Input Arg2: NA
Outputs: NA
AF Number: 120
Name: T1PPL XMIT Line Signaling <AB bits>
Description: Transmits line signaling which is stored in arg1.
Input Arg1: AB signaling bit combination. (0 - 3)
Input Arg2: NA
Outputs: NA
AF Number: 177
Name: L3PPL Store Outseize Ctrl Data ICBs
Description: Stores outseize control instructions data ICBs.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 192
Name: L3PPL Test Current Outseize Ctrl Instr Data
Description: Sets up an internal decision event based on the current outseize ctrl instruction data
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 + outseize ctrl instruction data
AF Number: 193
Name: L3PPL Compare Next Outseize Ctrl Instr Addr Sig Type <Addr Sig Type>
Description: Compares the next outseize control instruction data outpulsing address signaling type with the address signaling type passed in arg1 and sets up an internal decision event accordingly.
Input Arg1: Address Signaling Type
01 DTMF
02 MFR1 (host does not include KP or ST)
03 MFR2
04 MFR1 (host includes KP and any ST signal)
05 Dial Pulse
MSP
1378
06 MFR1, Transmit Compelled (MF-MDR1)
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: address signaling type does not equal to arg1.
PPLevINT_EVENT_1: address signaling type equal to arg1.
AF Number: 212
Name: L3PPL INIT a Channel Purge with Purge Reason in GPR <GPR #>
Description: Initiates a purge passing the purge reason to L4. Purge reason is stored in the GPR.
Input Arg1: <GPR #> 1 - 25
Input Arg2: NA
Outputs: NA
AF Number: 226
Name: Send PPL Event Indication Message to the Host with GPR Value
Description: Sends a PPL Event Indication message to the host with the event indicated by Arg1. |
The value of the GPR indicated by Arg2 is returned to the host in a PPL GPR Data ICB
(Subtype, 0xFF, Data Length = 4).
Arg1: <PPL Event> See message “PPL Event Indication 0x0043” in the API Reference.
Arg2: <GPR #> 1-25
AF Number: 229
Name: L3 PPL Send L5 Event Indication with General Purpose Register Value <Event ID>
Description: Sends an Event Indication to Layer 5 with GPR value of Event ID
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 265
Name: L3PPL Test Previous Outseize Ctrl Instr Data
Description: Tests for previous outseize ctrl instruction data and sets up an internal decision event according.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 +previous outs ctrl instr data
Index
1379
PPLevINT_EVENT_255: previous outs ctrl instr does not exist
AF Number: 266
Name: L3PPL Test Previous Outseize Ctrl Instr
Description: Tests for previous outseize ctrl instruction and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 + previous outs ctrl instr
PPLevINT_EVENT_225: previous outs ctrl instr does not exist
AF Number: 270
Name: L3PPL Outpulse MFR1 KP Digit using compelled KP Mode
Description: Sends a request to DSP to outpulse digits using compelled KP mode.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 271
Name: L3PPL Continue Outpulse MFR1 Digits using Compelled KP Mode
Description: Sends a request to DSP to remove KP and continue outpulsing digits using compelled KP mode.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 276
Name: PPL Enable Multi Purpose Timer <Timer #> <GPR #>
Description: Enables 1 of 3 multi-purpose timers for use by the PPL. The timer value is stored in GPR indicated in arg2.
Input Arg1: Timer # (1 - 3)
Input Arg2: GPR # (1 - 25)
Outputs: NA
AF Number: 279
Name: L3PPL Test CP Event Bit of Onhook <Boolean>
MSP
1380
Description: Compares call processing event bit of onhook with the value specified in arg1 and sets up an internal decision event accordingly.
Input Arg1: Boolean (0 -1)
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: False
PPLevINT_EVENT_1: True
AF Number: 280
Name: L3PPL Setup Host CP Event of Wink
Description: Sets up a Call Processing event of Wink for possible later reporting to L5. Wink number is extracted from the outseize control message.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 281
Name: L3PPL Setup Host CP Event of Offhook <Boolean>
Description: Sets up a call processing event of offhook for possible later reporting to L5.
Input Arg1: Boolean (0 - 1)
Input Arg2: NA
Outputs: NA
AF Number: 282
Name: L3PPL Setup Host CP Event of Onhook <Boolean>
Description: Sets up a call processing event of onhook for possible later reporting to L5. Also used for onhook host notify.
Input Arg1: Boolean (0 - 1)
Input Arg2: NA
Outputs: NA
AF Number: 285
Name: L3PPL Test Outseize Ctrl for any Action ICB
Description: Checks for the outseize ctrl instructions for an Action ICB and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Index
1381
Outputs: PPLevINT_EVENT_0: Null
PPLevINT_EVENT_1: Exist
AF Number: 286
Name: L3PPL Test Outseize Ctrl for all Data ICB
Description: Checks for the outseize ctrl instruction for data ICB and sets up an internal decision event accordingly. No action ICB is allowed in the outseize control message.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: Null
PPLevINT_EVENT_1: Exist
AF Number: 287
Name: L3PPL Load Current Outseize Ctrl Instr Data [0], Data [1] into GPR <GPR #>
Description: Loads current outseize ctrl instruction Data [0], Data [1] into GPR.
Input Arg1: GPR # (1 - 25)
Input Arg2: NA
Outputs: NA
AF Number: 290
Name: T1PPL Test for Flash Timing
Description: Tests if flash timing is enabled.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: Flash timing not enabled
PPLevINT_EVENT_1: Flash timing enabled
AF Number: 295
Name: T1PPL Outpulse MFR1 Digits
Description: Sends a request to DSP to outpulse MFR1 digits for the stage indicated by the current instruction data.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 300
MSP
1382
Name: T1PPL Outpulse DTMF Digits
Description: Sends a request to DSP to outpulse DTMF digits for the stage indicated by the current instruction data.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 305
Name: L3PPL Test Next Inseize Ctrl Instr for Inpulsing Digit Str Cnt
Description: Tests the inpulsing parameter digit string count for the next inseize ctrl instruction. It is assumed that the next instruction will be receive Stage n.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: 0 digit strings or invalid string count
PPLevINT_EVENT_1: 1 digit string
PPLevINT_EVENT_2: 2 digit strings
AF Number: 306
Name: L3PPL Test Next Inseize Ctrl Instr for Collection Method
Description Sets up an internal decision event based upon the next stage’s impulsing parameter collection method.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_1: USE_FIXED_NUMBER
PPLevINT_EVENT_2: USE_MULTIPLE_TERM_DIGITS
PPLevINT_EVENT_3: USE_KP_ST
PPLevINT_EVENT_4: USE_FIXED_OR_TERM
PPLevINT_EVENT_5: USE_COMPELLED_MODE
PPLevINT_EVENT_6: USE_KP_ST_ALL
PPLevINT_EVENT_7: USE_COMPELLED_KP
PPLevINT_EVENT_20: default
AF Number: 310
Name: T1PPL Attach DTMF Digit Receiver
Description: Request to collect DTMF digits. The stage of digits to be collected is determined by the next instruction in the instruction list.
Input Arg1: NA
Index
1383
Input Arg2: NA
Outputs: NA
AF Number: 315
Name: T1PPL Attach MFR1 Digit Receiver
Description: Request to collect MFR1 digits. The stage of digits to be collected is determined by the next instruction in the instruction list.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
AF Number: 317
Name: T1PPL Attach MFR1 Digit Receiver (Get Stage # From Next Instr) <PPL CFG Byte #>
Description: Allocates a MFR1 receiver to collect digits. The stage of digits to be collected is determined by the next instruction in the instruction list. It is like Atomic Function 315 with the added feature of configuring the MFR1 tone reception threshold.
Input Arg1: The first argument is the index into the ppl configuration byte array. The value of this byte is absolute value of the minimum dBm level of the MFR1 digits for detection. Valid entries for this ppl_cfg_byte are between 1 and 30, which equate to -1dBm and -30dBm, respectively. The MFR1 receiver will reject any tones below the detection level.
Input Arg2: NA
Outputs: NA
AF Number: 318
Name: T1PPL Attach MFR1 Digit Receiver (Get Stage # From Current Instr) <PPL CFG Byte #>
Description: Allocates a MFR1 receiver to collect digits. The stage of digits to be collected is determined by the current instruction in the instruction list. It is like Atomic Function 316 with the added feature of configuring the MFR1 tone reception threshold.
Input Arg1: The first argument is the index into the ppl configuration byte array. The value of this byte is absolute value of the minimum dBm level of the MFR1 digits for detection. Valid entries for this ppl_cfg_byte are between 1 and 30, which equate to -1dBm and -30dBm, respectively. The MFR1 receiver will reject any tones below the detection level.
Input Arg2: NA
Outputs: NA
MSP
1384
AF Number: 319
Name: L3PPL Test Inseize Ctrl for any Action ICB
Description: Checks the inseize ctrl instruction for any action ICBs and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: Null
PPLevINT_EVENT_1: Exist
AF Number: 320
Name: L3PPL Test Current Inseize Ctrl Instr for Addr Signaling Type
Description: Sets up an internal decision event based upon the current stage’s inpulsing parameter address signaling type.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_1: DTMF
PPLevINT_EVENT_2:MFR1
PPLevINT_EVENT_3: MFR2
PPLevINT_EVENT_4: MFR1_ALL
PPLevINT_EVENT_5: DP
PPLevINT_EVENT_6: COMPELLED_KP
PPLevINT_EVENT_20: Default
AF Number: 321
Name: L3PPL Load GPR with Stage Complete Timer for Current Inseize Ctrl Instr <GPR #>
Description: Loads GPR specified in arg1 with the stage complete timer for the current inseize ctrl instruction.
Input Arg1: GPR # (1 - 25)
Input Arg2: NA
Outputs: NA
AF Number: 322
Name: L3PPL Test Current Inseize Ctrl Instr for Collection Method
Description: Sets up an internal decision event based upon the current stage’s inpulsing parameter collection method.
Input Arg1: NA
Index
1385
Input Arg2: NA
Outputs: PPLevINT_EVENT_1: USE_FIXED_NUMBER
PPLevINT_EVENT_2: USE_MULTIPLE_TERM_DIGITS
PPLevINT_EVENT_3: USE_KP_ST
PPLevINT_EVENT_4: USE_FIXED_OR_TERM
PPLevINT_EVENT_5: USE_COMPELLED_MODE
PPLevINT_EVENT_6: USE_KP_ST_ALL
PPLevINT_EVENT_7: USE_COMPELLED_KP
PPLevINT_EVENT_20: default
AF Number: 323
Name: L3PPL Test Current Inseize Ctrl Instr for Inpulsing Digit Str Cnt
Description: Tests the inpulsing parameter digit string count for the current inseize ctrl instruction.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0: 0 digit strings or invalid string count
PPLevINT_EVENT_1: 1 digit string
PPLevINT_EVENT_2: 2 digit strings
AF Number: 324
Name: L3PPL Load Current Inseize Ctrl Instr Data[0], Data [1] into GPR <GPR #>
Description: Loads current inseize ctrl instruction Data[0], Data [1] into GPR
Input Arg1: GPR # (1 - 25)
Input Arg2: NA
Outputs: NA
AF Number: 325
Name: L3PPL Test Previous Inseize Ctrl Instr Data
Description: Test for previous inseize ctrl instruction data and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 + previous inseize ctrl instr data
PPLevINT_EVENT_255: previous inseize ctrl instr does not exist
MSP
1386
AF Number: 326
Name: L3PPL Test Previous Inseize Ctrl Instr
Description: Tests for previous inseize ctrl instruction and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 + previous inseize ctrl instr does not exist
PPLevINT_EVENT_255: previous inseize ctrl does not exist
AF Number: 330
Name: L3PPL Test Wink Number in Host Generate CP Event
Description: Tests the wink number in the host generate call processing event and sets up an internal decision event accordingly.
Input Arg1: NA
Input Arg2: NA
Outputs: PPLevINT_EVENT_0 + Wink Number
PPLevINT_EVENT_225: No event to process
AF Number: 335
Name: L3PPL Do CPA without Line Signaling
Description: Sends a request to do Call Progress Analysis. The class is taken from the outseize control message.
Input Arg1: NA
Input Arg2: NA
Outputs: NA
PPL Events
Event Number
Event Name Event Description
53 L3PPLevL4GEN_CP_EVENT_WINK Host sends a generate call processing event of Wink on the specified channel.
54 L3PPLev_HOST_CONNECT Event received when the channel that was outseized received a “Connect” sent from the host.
Index
1387
63 L3PPLevL4_XMIT_FLASH Indicates host has sent a Call Processing Event of FLASH on the specified channel.
64 L3PPLevL4_XMIT_ONHOOK Indicates host has sent a Call Processing Event of ONHOOK on the specified channel.
65 L3PPLevL4_XMIT_OFFHOOK Indicates host has sent a Call Processing Event of OFFHOOK on the specified channel.
82 L3PPLevDSP_RESULT_FIRST_DIGIT_RCVD Used for compelled KP. Event received when the first KP digit is received.
100 T1PPLevRCV_LINE_SIG_00 Receive event of AB line signaling. A low B low.
101 T1PPLevRCV_LINE_SIG_01 Receive event of AB line signaling. A low B high.
102 T1PPLevRCV_LINE_SIG_10 Receive event of AB line signaling. A high B low.
103 T1PPLevRCV_LINE_SIG_11 Receive event of AB line signaling. A high B high.
MSP
1388
E1 Atomic Functions
Atomic Functions
Links
Click below to go directly to an Atomic Function.
Atomic Functions
System software version 4.0 or newer is required, unless otherwise noted.
AF Number: 51
Name: Set GPR to # of Digits Received in Stage
Description: Sets the value in the GPR indicated by Arg1 to the number of digits received for the stage indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <Stage #> 1-4
AF Number: 52
Name: Store Received Digit in GPR
Description: Stores a single digit received in the GPR indicated by Arg1. If a digit durations reported, it is stored in the GPR indicated by Arg2.
GPR 2: Stage # of the received digits
GPR 3: String # of the received digits
GPR 4: Digit to store (index into digit buffer)
GPR 5: Value of the GPR where the digit is to be stored (1-25).
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 53
Name: Store Digits Received in GPR
Description: Stores a single digit received in the GPR indicated by Arg1. If a digit durations reported, it is stored in the GPR indicated by Arg2.
Arg1: <GPR #> 1-25
Arg2: <GPR #> 1-25
AF Number: 54
Index
1389
Name: L3PPL Store digit at fwd xmit ctr in General Purpose Register
Description: Sets the GPR indicated by Arg 2 to the digit indexed by the Stage number, as indicated by Arg 1
Arg1: <Stage Number> 1:4
Arg2: <General Purpose Register> 1:25
AF Number: 55
Name: L3PPL Store Digit Received in General Purpose Register
Description: Stores a single digit received in the GPR specified by Arg 1
Arg1: <Register Number> 1:25
Arg2: <Not Used>
AF Number: 56
Name: L3PPL Store General Purpose Register in Stage at FWD Xmt Dig Ctr
Description: Stores the digit indexed by the forward transmit digit ctr indicated by Arg 1 into the GPR indicated by Arg 2
Arg1: <Stage Number> 1:4
Arg2: <Register Number> 1:25
AF Number: 60
Name: Send L4 Out of Service/Blocked
Description: Sends a L3 to L4 Out of Service message with a status of Blocked in order to bring the channel out of service in the call processing layer (L4). This message should be sent when a remote blocked line signaling state is detected.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 61
Name Send a Busied Out Message to Layer 4
Description Sends a L3 to L4 Busied Out message after generating local blocked line signaling due to processing a host Busied Out message. This results in updating the call processing layer (L4) for the local busied-out condition.
Arg1 <Not Used>
Arg2 <Not Used>
AF Number: 62
Name: Send a Q.931 CONNECT Message to Layer 4
MSP
1390
Description: Sends a Q.931 CONNECT message to layer 4 for notification that answer has been detected.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Send a DISCONNECT message to Layer 4
Description: Sends a DISCONNECT message to Layer 4 upon the detection of release signaling from the network.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 64
Name: Send a Q.931 CLEAR ACK to Layer 4
Description: Sends a Layer 3 to Layer 4 CLEAR ACK upon detection of idle signaling from the network after release. This will result in Layer 4 sending a Channel Released message to the host, provided that Layer 4 has previously sent an L4 Clear Req PPL event (#58) to the state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 65
Name: Send an In Service Message to Layer 4
Description: Sends a Layer 3 to Layer 4 In Service message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 66
Name: Send an Out of Service (No Reason) Message to Layer 4
Description: Sends Layer 4 an Out of Service (No Reason) message due to distant end failure to release call.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 67
Name: Send Layer 4 a Call Processing Event message from Call Control Instruction
Description: Sends the host a Call Processing Event message with the event indicated by the current call control instruction and any associated data.
Index
1391
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 68
Name: Send Layer 5 a Call Processing Event Message
Description: Sends the host a Call Processing Event message with the event indicated by Arg1 and any associated data.
Arg1: <Call Processing Event> 117
Arg2: <Not Used>
AF Number: 69
Name: Send a Q.931 SETUP INDICATION to Layer 4 with Address Data
Description: Sends a SETUP INDICATION message to Layer 4 for notification of an incoming call, including any address digits collected to this point. This message will result in Layer 4 sending a Request for Service with Address Data message to the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 70
Name: Send a Q.931 SETUP INDICATION to Layer 4
Description: Sends a SETUP INDICATION message to Layer 4 for notification of an incoming call. This message will result in Layer 4 sending a Request for Service message to the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 71
Name: Send an Access Denied Message to Layer 4
Description: Sends an ACCESS DENIED message to Layer 4 for notification of an outseize attempt failure, including the failure reason indicated by Arg1 (this should be one of the Outseize Failure message response status).
Arg1 Arg1: <Outseize Failure Status>
Arg2: <Not Used>
AF Number: 72
Name: Send a Q.931 ALERTING Message to Layer 4
Description: Sends a Q.931 ALERTING message to Layer 4 for notification of a successful outseizure.
MSP
1392
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 73
Name: Send Layer 4 a Flash Event Notification
Description: Send Layer 4 a Flash Event Notification. Minimum Software Version: 4.1. Sends a Flash Detected message to L4. To enable host notification, see message Flash Timing Configure 0x0016 in the API Reference.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 74
Name: L3PPL Send a Setup Indication to Layer 4
Description: Sends a setup indication to Layer 4, to report an incoming call with associated address/information signals. The address signaling type is specified by the offset of the Config Byte.
Arg1: <Config Byte Offset> 1 - 200
Arg2:
AF Number: 77
Name: Send Layer 4 a Call Processing Event/Digits Message
Description: Sends Layer 4 a Call Processing Event/Digits message, including the stages of digits to be reported indicated by Arg1. This will result in Layer 4 sending a Call Processing Event/Digits message to the host.
Arg1: <Stages of Digits to Report>
Arg2: <Not Used>
AF Number: 78
Name: Send Call Processing Event /Digits Message
Description: Sends a Call Processing Event /Digits message to the host reporting the digit strings indicated by Arg1.
Arg1: <Stage # Bit Mask>
Bit 0 Stage 1
Bit 1 Stage 2
Bit 2 Stage 3
Bit 3 Stage 4
Arg2: <Not Used>
Index
1393
AF Number: 79
Name: Send Call Processing Event/Digit With Timing Information Message
Description: Sends a Call Processing Event/Digit With Timing Information message to the host reporting a single digit. If digit duration reporting is not enabled, the duration will be 0.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 80
Name: Send Inseize Control or Outseize Control Response to the Host
Description: Sends an Inseize Control or Outseize Control Response to the host with the error indicated by Arg1. The message sent is determined by which message was originally received.
Arg1: <Response Status> See API Reference for values
Arg2: <Not Used>
AF Number: 81
Name: Send a Call Processing Event Message with Event ID
Description: Sends a Call Processing Event message with the PPL Event indicated by Arg1.
Arg1: <PPL Event ID>
Arg2: <Not Used>
AF Number: 82
Name: Set Receive Stage Status (Minimum Software Version: 4.1)
Description: Updates the receive stage status field for the stage indicated by Arg1 to the value indicated by Arg2.
Arg1: <Stage #> 1 - 4
Arg2: <Value>
AF Number: 84
Name: Outpulse BWD R2 Signal in Compelled or Pulsed Mode
Description: Outpulses a BWD R2 signal in either compelled or pulsed mode, depending on the current FWD R2 signaling state. If a FWD R2 signal is present, the BWD R2 signal will be compelled, otherwise it will be pulsed.
Arg1: <BWD R2 Signal> 1 -15 (for both group A and group B).
Arg2: <Value>
MSP
1394
AF Number: 85
Name: Outpulse BWD R2 Signal in Compelled Mode
Description: Outpulses a BWD R2 signal in compelled mode.
Arg1: <BWD R2 Signal> 1 -15 (for both Group A and Group B).
Arg2: <Not Used>
AF Number: 86
Name: Outpulse BWD Pulsed R2 Signal
Description: Outpulses a BWD R2 signal in pulsed mode. The R2 signal value is indicated in Data Byte 2 of a Generate Call Processing Event instruction.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 87
Name: Outpulse BWD Compelled R2 Signal
Description: Outpulses a backward compelled R2 signal. The R2 signal value is indicated in Data Byte 2 of a Generate Call Processing Event instruction.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 88
Name: Outpulse BWD R2 Signal in Compelled Mode/Generate Completion Event
Description: Outpulses a backward R2 signal in compelled mode and instructs the MFDSP card to generate PPL Event 46 (R2 COMP CYCLE COMPLETE) when the R2 cycle is complete (silence is detected in both the forward and backward directions). The R2 signal value is indicated in Data Byte 2 of a Generate Call Processing Event instruction. The PPL must wait in a normal state for this event after executing this atomic function to guarantee that the R2 cycle has completed. Once this event is received, MFC R2 reception/transmission can be cancelled using AF 147.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 89
Name: Outpulse BWD R2 Signal in Compelled Mode/Generate Completion (Using GPR)
Description: Outpulses a backward R2 signal (from GPR indicated by Arg1) in compelled mode and instructs the MFDSP card to generate PPL Event 46 (R2 COMP CYCLE COMPLETE) when the R2 cycle is complete (silence is detected in both the forward and backward directions).
Index
1395
The PPL must wait in a normal state for this event after executing this atomic function to guarantee that the R2 cycle has completed. Once this event is received, MFC R2 reception/transmission can be cancelled using AF 147.
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 90
Name: Outpulse FWD R2 Signal in Compelled Mode
Description: Outpulses a forward R2 signal in compelled mode.
Arg1: <FWD R2 Signal> 1-15 (for both Group I and Group II).
Arg2: <Not Used>
AF Number: 91
Name: Outpulse BWD R2 Signal in Compelled or Pulsed Mode
Description: Outpulses a BWD R2 Signal in either compelled or pulsed mode, depending on the current tone receive state. The R2 signal value is indicated in Data Byte 2 of a Generate Call Processing Event message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Outpulse Next FWD Compelled R2 Signal
Description: Transmits the next FWD compelled R2 signal indicated by the FWD R2 Transmit Digit Counter from the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 93
Name: Outpulse BWD R2 Signal in Forced Pulsed Mode
Description: Outpulses a backward R2 signal in pulsed mode and waits until the R2 signal has been pulsed to process the next atomic function.
Arg1: <BWD R2 Signal> 1-15 (for both Group A and Group B).
Arg2: <Not Used>
AF Number: 97
Name: L3PPL Outpulse Single MFR1 Digit
Description: Sends a request to TC to outpulse individual MFR1 digits.
Arg1: <Register Number>
MSP
1396
Arg2: <Outp Event Flag>
AF Number: 98
Name: Outpulse MFR1 Digits
Description: Sends an internal message to outpulse the MFR1 digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated in Arg1. Note: There must be a least one DSP configured for MFR1 tone transmission for this function to work.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 99
Name: Outpulse MFR1 Digits for Stage Indicated in Outseize Control Instruction
Description: Sends an internal message to outpulse the MFR1 digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated. Note: There must be at least one DSP configured for MFR1 tone transmission for this function to work.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 100
Name: Outpulse DTMF Digits
Description: Sends an internal message to outpulse the DTMF digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated in Arg1.
Note: There must be a least one DSP configured for DTMF tone transmission for this function to work.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 101
Name: Outpulse DTMF Digits for Stage Indicated in Outseize Control Instruction
Description: Sends an internal message to outpulse the DTMF digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated.
Note: There must be a least one DSP configured for DTMF tone transmission for this function to work.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Index
1397
Name: Cancel Outpulsing Digits
Description: Cancels an outstanding outpulse digits request
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 103
Name: Outpulse DTMF Digits
Description: Minimum Software Version: 4.1
Initiates the collection of DTMF digits for the stage indicated by Arg1 using the timer values specified by the Generic Timer ID indicated by Arg2.
Arg1: <Stage #> 1 - 4
Arg2: <Timer ID> 1-100
AF Number: 104
Name: Outpulse MFR1 Digits
Description: Minimum Software Version: 4.1
Initiates the collection of MFR1 digits for the stage indicated by Arg1 using the timer values specified by the Generic Timer ID indicated by Arg2.
Arg1: <Stage #> 1 - 4
Arg2: <Timer ID> 1-100
AF Number: 105
Name: E1PPL Outpulse MFR1 digits in IFB mode
Description Sends a request to TC to outpulse MFR1 digits for the stage specified in Arg 1, using IFB mode. No KP/ST Framing
Arg1: <Stage Number> 1:4
Arg2: <Number of Cycles> 1:10
AF Number: 106
Name: Outpulse Dial Pulse Digits from Outseize Control Instruction
Description: Sends an internal message to outpulse the Dial Pulse digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated in the ICB. Note: A DSP does not need to be configured for this function to work.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 107
MSP
1398
Name: Outpulse Dial Pulse Digits from Outseize Control Instruction for Stage Indicated
Description: Sends an internal message to outpulse the Dial Pulse digit string(s) contained in the Outpulse Stage N Address Data ICB for the stage indicated by Arg1. Note: A DSP does not need to be configured for this function to work.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 108
Name: Cancel Outpulse Dial Pulse Digits
Description: Cancels an outstanding request for outpulsing Dial Pulse digits.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 109
Name: L3PPL Outpulse DP from fwd xmit ctr in General Purpose Register
Description Sends a request to xsig to outpulse DP digits for stage specified in Arg 1, beginning at the digit specified by the forward xmit digit ctr.
Arg1: <Stage Number> 1:4
Arg2: <Outp Event Flag> 0:1
0 = No outpulse complete event
1 = Send outpulse complete event
AF Number: 112
Name: Generate Tone
Description: Initiates the generation of the tone indicated by Arg1, for the number of cycles indicated by Arg2.
Arg1: <Tone ID> See message Connect Tone Pattern 0x002F in the API Reference.
Arg2: <# of Cycles>
AF Number: 113
Name: Generate Dialtone
Description: Initiates the transmission of North American Standard Dialtone.
Arg1: <Not Used>.
Arg2: <Not Used>
AF Number: 114
Index
1399
Name: Cancel Tone
Description: Cancels the generation of the tone indicated by Arg1.
Arg1: <Not Used>.
Arg2: <Not Used>
AF Number: 121
Name: Transmit Line Signaling
Description: Sets the transmit line signaling for a channel. Note: CCITT recommends that the C bit be low (0) and the D bit be high (1).
Arg1: <ABCD Signaling Bits>
The ABCD signaling bits are a binary mask representing the line signaling bit combination to be transmitted. The bit order is as follows:
Bit # 7 6 5 4 3 2 1 0
Signal Bit A B C D
Arg2: <Not Used>
AF Number: 122
Name: Transmit Default Idle Line Signaling
Description: Transmits the preconfigured idle line signaling ABCD bit pattern.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 123
Name: Enable CAS ABCD Bit Line Signaling Scanning
Description: Activates scanning of the Channel Associated Signaling (CAS) ABCD line signaling bits.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 126
Name: E1PPL Attach MFCR2 Reciever (1 - Forward, 2 - Backward) <PPL-CFG-Byte #>
Description: Allocates a MFR2 receiver for Forward/Backward R2 Reception. The first argument determines the direction of the MFR2 signal. The second argument is the location of the configuration byte that contains the setting for the MFR2 tone reception level.
Arg1: MFR2 direction: 1 - Forward, 2 - Backward
MSP
1400
Arg2: Index to ppl_cfg_byte which determines if MFR2 tone reception level is set to the high (-22dB) or low (-35dB). The index can be from 1 - 200.
AF Number: 127
Name: Setup for FWD Compelled R2 Reception
Description: Allocates a FWD R2 compelled DSP digit receiver. Note: This is a blocking atomic function.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 128
Name: Setup for BWD Compelled R2 Reception
Description: Allocates a BWD R2 compelled DSP digit receiver. Note: This is a blocking atomic function
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 129
Name: Allocate a FWD R2 Digit Buffer for Current Stage
Description: Allocates a forward R2 digit buffer for storing the current stage of address signaling.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 130
Name: Allocate a FWD R2 Digit Buffer
Description: Allocates and initializes a forward R2 signal digit buffer for the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 131
Name: Reset FWD R2 Receive Digit Counter for Current Stage
Description: Sets the FWD R2 digit reception counter to 0 for the current address signaling stage.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1401
AF Number: 132
Name: Reset FWD R2 Receive Digit Counter
Description: Initializes the FWD R2 receive digit counter to 0 for the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 133
Name: Store BWD R2 Signal as Event
Description: Stores the currently received BWD R2 signal for later reporting as a Call Processing Event.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 134
Name: Set BWD R2 Signal Event Bit
Description: Sets the BWD R2 signal event bit used for later reporting as a Call Processing Event.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 135
Name: Test For FWD Receive Digit Counter Value in Range
Description: Minimum Software Version: 4.1. Test atomic function that compares the number of digits collected in Stage 1 to the minimum and maximum number of digits indicated by Arg1 and Arg2 respectively, and returns an Internal PPL Event according to the results.
Arg1: <GPR #> 1-25
Arg2: <GPR #> 1-25
Test Result PPL Internal Event
<minimum 1
within range 2
> or = to maximum 3
AF Number: 136
Name: Clear Stage/FWD Digit Count
MSP
1402
Description: Clears the digit string and resets the digit count for the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 139
Name: Send DSP Service Request to Collect Individual Digits/Make Matrix Slave (Addr Sig Type)
Description Sends a Request Digits message to sym to collect individual digits after call setup.
Arg1: <Address Signal Type> 1:2
Arg2: <Not Used>
AF Number: 140
Name: Setup for DTMF Reception with Inseize Control Instruction
Description: Allocates a DTMF digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by the current Receive Stage N Inseize Control instruction.
Note: This is a blocking atomic function.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 141
Name: Setup for DTMF Reception
Description Allocates a DTMF digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 142
Name: Setup for MFR1 Reception with Inseize Control Instruction
Description: Allocates an MFR1 digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by the current Receive Stage N Inseize Control instruction. Note: This is a blocking atomic function.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1403
AF Number: 143
Name: Setup for MFR1 Reception
Description: Allocates a MFR1 digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by Arg1. Note: This is a blocking atomic function.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 144
Name: Setup for Dial Pulse Reception with Inseize Control Instruction
Description: Allocates a Dial Pulse (DP) digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by the current Receive Stage N Inseize Control instruction.
Note: This is a blocking atomic function.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 145
Name: Setup for Dial Pulse Reception
Description: Allocates a Dial Pulse (DP) digit receiver. Digit reception parameters used for controlling digit collection are determined by the inpulsing parameters associated with the stage indicated by Arg1. Note: This is a blocking atomic function.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 146
Name: Send DSP Service Request to Collect Individual Digits
Description Sends a request to collect single digits after call setup and report digit to the host with a Call Processing Event of Digits. The Address Signaling Type is indicated by Arg1.
Arg1: <Address Signaling Type>
1 = DTMF
2 = MFR1
3= MFR2
Arg2: <Not Used>
Note: The following PPL Configuration Bytes must be configured prior to invoking this function:
MSP
1404
Bytes 196, 197 Digit Timer (MSB, LSB) = The maximum amount of time to wait for the digit. A value of 0xFFFF disables this timer.
Byte 198 0 = disabled, 1 = enabled)
Bit 0 = Report the digit at its falling edge (when the first digit is released). If the bit is not set the digit will be reported at its rising edge (when the digit is first pressed).
Bit 1 - Ignore # character as first digit.
Bit 2 = Report digit duration (the amount of time the digit has been pressed). Valid only if configuration bit# 0 is 1.
Bytes 199, 200 Minimum Receive Digit Duration Timer (MSB, LSB) = The minimum amount of time for a digit to be present before it is detected and validated.
AF Number: 147
Name: Cancel R2 Reception
Description: Releases an MFR2 signal receiver. This function can be used to release R2 receivers used for forward and backward R2 reception.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 148
Name: Collect DTMF Digits
Description: Minimum Software Version: 4.1 Initiates the collection of DTMF digits using the timers defined in the Config Bytes (Arg1) with the values specified by the Generic Timer ID indicated by Arg2.
Arg1: <Config Byte #> 1- 200
Arg2: <Timer ID> 1-100
AF Number: 149
Name: Collect MFR1 Digits
Description: Minimum Software Version: 4.1
Initiates the collection of MFR1 digits using the timers defined in the Config Bytes (Arg1) with the values specified by the Generic Timer ID indicated by Arg2.
Arg1: <Config Byte #> 1- 200
Arg2: <Timer ID> 1-100
AF Number: 150
Name: Send Request To Do Call Progress Analysis For Class 0 (North American)
Description: Sends an internal message to do Call Progress Analysis for Class 0 (North American). Note: There must be a least one DSP configured for call progress analysis for this function to work.
Index
1405
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 151
Name: Test Call Progress Analysis Result and Set up Internal Event
Description: Tests the result of Call Progress Analysis.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Answer 80
Error 81
Continuous On 82
Max Silence Timeout 83
Not Determined Timeout
84
Max Determined Timeout
85
Signaling Answer 86
Dialtone 87
Other 0
AF Number: 152
Name: Report Call Progress Analysis Result to the Host
Description: Reports the Call Progress Analysis result indicated by Arg1 to the host.
Arg1: <Call Progress Analysis Result>
Arg2: <Not Used>
AF Number: 153
Name: Report Call Progress Analysis Result from Atomic Function 151 to the Host
Description: Reports the Call Progress Analysis result from Atomic Function 151 to the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 154
MSP
1406
Name: Send Request To Do Call Progress Analysis (Class From Arg1)
Description: Sends a request to do Call Progress Analysis for the class indicated by Arg1.
Arg1: <Call Progress Analysis Class>
Arg2: <Not Used>
AF Number: 155
Name: Send Request To Do Call Progress Analysis (Class from Outseize Control Message)
Description: Sends a request to do Call Progress Analysis for the class indicated by an Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 156
Name: Cancel Call Progress Analysis
Description: Sends a request to cancel Call Progress Analysis.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 157
Name: CPC Detection
Description: Initiates CPC detection.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 158
Name: Cancel CPC Detection
Description: Cancels CPC detection.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 159
Name: Reset FWD R2 Transmit Digit Counter to 1
Description: Sets the generate FWD R2 signal counter to 1 for initiation of FWD R2 signal transmission.
Arg1: <Not Used>
Index
1407
Arg2: <Not Used>
AF Number: 160
Name: Increment FWD R2 Transmit Digit Counter by 1
Description: Increments the generate FWD R2 signal counter by 1.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 161
Name Decrement FWD R2 Transmit Digit Counter by 1
Description Decrements the generate FWD R2 signal counter by 1.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 162
Name Decrement FWD R2 Transmit Digit Counter by 2
Description Decrements the generate FWD R2 signal counter by 2.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 163
Name: Decrement FWD R2 Transmit Digit Counter by 3
Description: Decrements the generate FWD R2 signal counter by 3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 164
Name: Test if Current FWD Digit Count > Stage Digit Count
Description: Tests if the current FWD digit count is greater than the stage digit count for the stage number indicated by Arg1.
Arg1: Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Test Result
PPL Internal Event
Greater than
1
MSP
1408
Other 0
AF Number: 165
Name: Test if Current FWD Digit Count <>== Stage Digit Count
Description: Tests if the current FWD digit count is greater than, less than, or equal to the stage digit count for the stage number indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Test Result
PPL Internal Event
== 0
< 1
> 2
AF Number: 166
Name: Test if FWD Stage Digit Count == 0
Description: Tests if the current FWD digit count for the stage number indicated by Arg1 equals 0.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Test Result PPL Internal Event
== 0 0
Other 1
AF Number: 167
Name: Store FWD Transmit Digit Counter Value in GPR
Description: Minimum Software Version: 4.1
Stores the value of the forward digit counter (i.e. number of digits received) for the current call in a GPR.
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 168
Name: Store GPR Value in FWD Transmit Digit Counter
Description: Transfers the contents of a General Purpose register into the forward digit counter for the current call.
Index
1409
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 169
Name: L3PPL Test if Current Xmit Digit Ctr = Stage Digit Count
Description: Checks that the total number of FWD digits to be transmitted is equal to the current FWD transmit digit counter.
Arg1: <Stage Number> 1:25
Arg2: <Not Used>
AF Number: 170
Name: Store FWD R2 Signal
Description: Stores the current FWD R2 signal in the digit buffer assigned to the receive digit stage indicated by Arg1. R2 FWD signals are stored in BCD encoded format. The location within the digit buffer where the signal is stored is determined by the current FWD digit counter.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 171
Name: Test If Digit Count == 0xFF
Description: Tests if the digit count for the stage number indicated by Arg1 equals 0xFF.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Test Result PPL Internal Event
== 0xFF 2
< 0xFF 1
Other 0
AF Number: 172
Name: Setup Host Call Processing Event/Digits
Description: Sets up a Call Processing Event/Digits message to send to the host upon collection of a complete stage of digits.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
MSP
1410
AF Number: 173
Name: Increment Receive FWD R2 Digit Counter
Description: Increments the current receive stage digit counter due to reception of a FWD R2 signal.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 174
Name: Store L4 Inseize/Outseize ICBsr
Description: Stores Layer 4 Inseize or Outseize Control ICBs for later processing. These ICBs contain inseize or outseize instructions and related data (i.e.: R2 signal to generate). Layer 4 will send Layer 3 an Inseize Control or Outseize Control message after receiving and preprocessing a host Inseize Control or Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 175
Name Test for Prior Sending of Layer 3 to Layer 4 SETUP INDICATION
Description Tests if an L3 to L4 SETUP INDICATION message has been previously sent.
Note: A SETUP INDICATION is sent to the Call Processing Layer (L4) to indicate that an incoming call has been received.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Sent 1
Not Sent 0
AF Number: 179
Name: Use Pre-programmed Inseize Instruction List
Description: Points a channel to the inseize instruction list preconfigured on the channel with the Inseize Instruction List Configure message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 180
Name: Use Instructions in Inseize Control or Outseize Control message
Index
1411
Description: Points a channel to the inseize or outseize instruction list provided by the host through an interactive Inseize Control or Outseize Control message. Note: This function can be used for both inseize and outseize instruction processing.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 181
Name: Reset Instruction Index
Description: Resets the current inseize or outseize instruction pointer to instruction 1. Note: This function can be used for both inseize and outseize instruction processing.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 182
Name: Increment Instruction Index
Description: Increments the current inseize or outseize instruction pointer to the next instruction #. Note: This function can be used for both inseize and outseize instruction #. processing
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 183
Name: Test Current Inseize Control Instruction
Description: Tests for the current Inseize Control instruction
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Null 0
Report Call Processing Event
1
Generate Call Processing Event
2
Receive Stage n Data 3
Wait for Host Control 4
Report Incoming Call 5
MSP
1412
Report Incoming Call with Data
6
Generate Inseize ACK 7
Send Host Inseize ACK 8
Use Instruction List 9
Other 20
AF Number: 184
Name: Set Call Control Instruction Index to Host Value
Description: Sets the call control instruction index to that indicated in the Use Instruction List ICB sent in an interactive Inseize Control or Outseize Control message by the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 185
Name: 3
Description: Tests the stage number in the current Inseize Control Instruction. The stage # is determined by the Receive Stage N Address Data Inseize Control instruction currently being processed.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Stage # 1 1
Stage # 2 2
Stage # 3 3
Stage # 4 4
Other 0xFF
AF Number: 186
Name: Test Next Inseize Control Instruction
Description: Tests if the next Inseize Control Instruction is Receive Stage N Address Data.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1413
Test Result PPL Internal Event
Receive Stage N Address Data
1
Other 0
AF Number: 187
Name: Test Inseize Control Generate Call Processing Event Instruction
Description: Tests if the next Inseize Control Instruction is Receive Stage N Address Data.
Arg1: <Not Used>
Arg2: <Not Used>
Result PPL Internal Event
ANI Request Off Hook 5
Wink 1 6
Wink 2 7
Wink 3 8
Wink 4 9
Wink 5 10
Wink 6 11
Wink 7 12
Wink 8 13
BWD Pulsed R2 Signal 1
BWD Compelled R2 Signal 2
BWD Compelled R2 Signal with Cycle Completion
3
BWD Compelled or Pulsed R2 Signal 4
AF Number: 188
Name: Test Next Inseize Control Instruction for Address Signaling Type
Description: Tests for the receive signaling type from the inpulsing parameters of a stage. The stage number is obtained from the next Inseize Control Instruction, as indicated by the current instruction index (provided that it is a Receive Stage N instruction)..
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1414
Test Result
PPL Internal Event
DTMF 1
MFR1 2
MFR2 3
Other 20
AF Number: 189
Name: Test Address Signaling Type of Stage N Inpulsing Parameters
Description: Tests the inpulsing parameters of the stage indicated by Arg1 for its receive signaling type.
Arg1: Stage #> 1 - 4
Arg2: <Not Used>
Test Result PPL Internal Event
DTMF 1
MFR1 2
MFR2 3
Other 20
AF Number: 190
Name: Return Inpulsing Signaling Type
Description: Tests for the receive signaling type from the inpulsing parameters of a stage. The stage number is obtained from the current Inseize Control Instruction, as indicated by the current instruction index (provided that it is a Receive Stage N instruction).
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
DTMF 1
MFR1 2
MFR2 3
Other 20
AF Number: 194
Name: Test for Outseize Control ICB Buffer
Index
1415
Description: Tests if the Outseize Control ICB buffer is attached to the Layer 4 to Layer 3 CALL REQUEST message.
Arg1: <Not Used>
Arg2: <Not Used>
Result PPL
Internal Event
Yes 1
No 0
AF Number: 195
Name: Test for Host Outseize Control Instructions
Description: Tests if there are Outseize Control Instructions from the host.
Arg1: <Not Used>
Arg2: <Not Used>
Result PPL
Internal Event
Yes 1
No 0
AF Number: 196
Name: Use Pre-programmed Outseize Instruction List
Description: Points a channel to use the channels pre-programmed outseize instruction list.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 197
Name Test Current Outseize Control Instruction
Description Tests for the current Outseize Control instruction.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Null 0
Scan for Wink 1 1
Scan for ANI Request Off-hook 2
MSP
1416
Scan for Dialtone 3
Report Call Processing Event 4
Outpulse Stage N Digits 5
Wait for Host Address Data 6
Wait for Host Control 7
Send Host Acknowledgment 8
Do Call Progress Analysis 9
Seize 10
Use Pre-programmed Instruction List
11
Cancel R2 Receiver 13
Scan for Backward R2 Signal 14
Wait for Host Control with Answer Supervision
15
Other 20
AF Number: 198
Name: Test for Outpulsing Data ICB
Description: Tests if there are host-supplied outpulsing digits for the current stage.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Yes 1
No 0
AF Number 199
Name Test Address Signaling Type of Outpulse Stage N Address Data for Current Stage
Description Tests the address signaling type in the Outpulse Stage N Address Data ICB for the current stage. The stage number is obtained from the current outseize control instruction from list, provided that it is an Outpulse Stage N instruction.
Arg1: <Not Used>
Arg2: <Not Used>
Result PPL Internal Event
Index
1417
DTMF 1
MFR1 2
MFR2 3
MFR1 ALL 4
Dial Pulse 5
Compelled KP 6
Other 20
AF Number: 200
Name: Transfer Remaining Digits
Description: Takes digits remaining from the stage indicated by Arg1 and dynamically creates a Data ICB with the remaining address data for the stage indicated by Arg2.
Arg1: Stage #> 1 - 4
Arg2: <Stage #> 1 - 4
Note: If a Data ICB already exists for the stage indicated by Arg2, any digits it contains will be over-written by the digits from the stage indicated by Arg1.
AF Number: 201
Name: Return Config
Description: Byte #
Stores: the Config Offset where Outseize Control Instructions end in the GPR indicated by Arg1. The Config Byte indicated by Arg2 indicates where the Outseize Control Instructions begin.
Arg1: Arg1: <GPR #> 1-25
Arg2: <Config Byte #> 1- 200
AF Number 202
Name Test for Outpulsing Data ICB
Description Minimum Software Version: 4.1. Tests if there are host-supplied outpulsing digits for the current stage
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Result PPL Internal Event
No 0
Yes 1
MSP
1418
AF Number: 203
Name: Test Address Signaling Type of Outpulse Stage N Address Data for Current Stage
Description: Minimum Software Version: 4.1. Tests the address signaling type in the Outpulse Stage N Address Data ICB for the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
Test Result PPL Internal Event
DTMF 1
MFR1 2
MFR2 3
MFR1 ALL 4
Dial Pulse 5
Compelled KP 6
Other 20
AF Number: 204
Name: Store Digit Collection Status
Description: Stores the digit collection status for the stage indicated in the current Receive Stage N Address Data inseize control instruction.
Arg1: <Status #>
66 - Digits Received
67 - First Digit Timeout
68 - Inter-digit Timeout
69 - Digits Complete Timeout
Arg2: <Not Used>
AF Number: 205
Name: Store Digits
Description: Stores a DSP decoded digit string in the inpulsing stage digit buffer associated with the stage indicated in the current Receive Stage N Address Data inseize control instruction data.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1419
AF Number: 206
Name: Store Digits
Description: Stores a DSP decoded digit string in the inpulsing stage digit buffer associated with the stage indicated by Arg1.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 207
Name: Update Timeout Status
Description: Minimum Software Version: 4.1
Updates the Receive digit status for the stage indicated by Arg2 according to the test results shown below. The status is reported in the Request for Service with Data message.
Arg1: <Timeout Value>
Arg2: <Stage #> 1 - 4
Test Result Status
Digits Received 0x10 (Positive ACK)
First Digit Timeout 0x81(Permanent Signal Condition)
Interdigit Timeout 0x80 (Partial Dial Condition)
Digits Complete Timeout 0x92 (Inpulsing Complete Timeout)
AF Number: 208
Name: Store Single Digit in Stage
Description: Minimum Software Version: 4.1
Stores a single digit in the Receive Stage digit buffer for the stage indicated by Arg1. PPL Event 66 (DSP Result Digits) must be the event received immediately preceding this AF.
Arg1: <Stage #> 1 - 4
Arg2: <Not Used>
AF Number: 210
Name: Initiate a Channel Purge
Description: Resets a channel due to an unrecoverable error. Any associations which exist with this channel will also get implicated in the purging process.
Arg1: <Purge Reason>
Refer to message DSO Status Change 0x0042 in the API Reference for purge reasons.
MSP
1420
Arg2: <Not Used>
AF Number: 211
Name: Ignore PPL Event
Description: Event will be ignored (will not result in the generation of an Invalid Event indication)..
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 215
Name: Change PPL Protocol
Description: Changes a channels protocol to the protocol indicated by Arg1.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 216
Name: Restore Channels Preconfigured PPL Protocol
Description: Restores a channel's PPL protocol to the default preassigned protocol.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 225
Name: Send PPL Event Indication Message to the Host
Description: Sends a PPL Event Indication message to the host with the event indicated by Arg1. The ICB Count is 0.
Arg1: <PPL Event> See message PPL Event Indication 0x0043 in the API Reference.
Arg2: <Not Used>
AF Number: 226
Name: Send PPL Event Indication Message to the Host with GPR Value
Description: Sends a PPL Event Indication message to the host with the event indicated by Arg1. |
The value of the GPR indicated by Arg2 is returned to the host in a PPL GPR Data ICB
(Subtype, 0xFF, Data Length = 4).
Arg1: <PPL Event> See message PPL Event Indication 0x0043 in the API Reference.
Arg2: <GPR #> 1-25
Index
1421
AF Number: 227
Name: Send PPL Event Request ACK to Host
Description: Sends a response to a PPL Event Request message with the status value indicated by Arg1.
Arg1: <Value>
Arg2: <Not Used>
AF Number: 229
Name: L3 PPL Send L5 Event Indication with General Purpose Register Value <Event ID>
Description: Sends an Event Indication to Layer 5 with GPR value of Event ID
Arg1: <GPR #> 1-25
Arg2: <Not Used>
AF Number: 235
Name: Connect Recorded Announcement (Announcement ID)
Description: This function connects a single announcement.
Arg1: <Announcement ID> 0 to 1023.
Arg2: <Options>
Bit Mask. Setting the bit to 1 enables the event.
bit 0 = Start Announcement
bit 1 = Terminate Announcement
bit 2 = Barge In
AF Number: 236
Name: Connect Recorded Announcement (Config Byte)
Description: This function connects a single announcement. Arg1 indicates the index into the Config Byte containing the Announcement ID. Arg2 indicates the event options.
Arg1: <Config Byte #> 1- 200
Arg2: <Options>
Bit Mask. Setting the bit to 1 enables the event.
bit 0 = Start Announcement
bit 1 = Terminate Announcement
bit 2 = Barge In
AF Number: 237
MSP
1422
Name: Connect Recorded Announcement (GPR)
Description: This function connects a single announcement. Arg1 indicates the GPR containing the Announcement ID. Arg2 indicates the event options.
Arg1: <GPR #> 1- 25
Arg2: <Options>
Bit Mask. Setting the bit to 1 enables the event.
bit 0 = Start Announcement
bit 1 = Terminate Announcement
bit 2 = Barge In
AF Number: 238
Name: Connect Recorded Announcement (GPR/Config Byte)
Description: This function connects a single announcement. Arg1 indicates the GPR containing the index into the Config Byte containing the Announcement ID. Arg2 indicates the event options.
Arg1: <GPR #> 1- 25
Arg2: <Options>
Bit Mask. Setting the bit to 1 enables the event.
bit 0 = Start Announcement
bit 1 = Terminate Announcement
bit 2 = Barge In
AF Number: 239
Name: Connect Chained Recorded Announcement (GPR)
Description: This function connects a chained announcement without start and stop events.
Arg1 indicates the GPR containing the Announcement ID of the first announcement. Subsequent announcements are stored in subsequent GPRs. Arg2 indicates the GPR containing the number of announcements to be played.
Arg1: <GPR #> 1- 25
Arg2: <GPR #> 1- 25
AF Number: 240
Name: Connect Chained Recorded Announcement with Start Event (GPR)
Description: This function connects a chained announcement with start event.
Arg1 indicates the GPR containing the Announcement ID of the first announcement. Subsequent announcements are stored in subsequent GPRs.
Arg2 indicates the GPR containing the number of announcements to be played.
Index
1423
Arg1: <GPR #> 1- 25
Arg2: <GPR #> 1- 25
AF Number: 241
Name: Connect Chained Recorded Announcement with Termination Event (GPR)
Description: Minimum Software Version: 4.1
This function connects a chained announcement with stop event.
Arg1 indicates the GPR containing the Announcement ID of the first announcement. Subsequent announcements are stored in subsequent GPRs.
Arg2 indicates the GPR containing the number of announcements to be played.
Arg1: <GPR #> 1- 25
Arg2: <GPR #> 1- 25
AF Number: 243
Name: Cancel Announcement
Description: This functions disconnect a channel from an announcement.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 341
Name: L3PPL OUTP Non-Compelled R2 Sig w/o Blocking
Description: Sends a request to TC to outpulse a non-compelled R2 signal. It does not enter an internal blocking state to wait for the R2 signal to be outpulsed.
Arg1: <R2 sig> 1:15
Arg2: <direction> 1:2
AF Number: 342
Name: 3PPL OUTP Next Non-Compelled FWD R2 Sig w/o Blocking
Description: Sends a request to TC to outpulse non-compelled forward R2 signal, following the forward R2 transmit digit counter. Updates the digit counter and enters blocking state until R2 signals are outpulsed.
Arg1: <Stage Number> 1:4
Arg2: <Digit Count> 1:255
AF Number: 343
Name: L3PPL OUTP Next Non-Compelled FWD R2 Sig w/o Blocking
MSP
1424
Description: Sends a request to TC to outpulse nest non-compelled forward R2 signal, following the forward R2 transmit digit counter. Updates the forward R2 transmit digit counter. Does not enter internal blocking state to wait for R2 signal to be outpulsed.
Arg1: <Stage Number> 1:4
Arg2: <Digit Count> 1:255
AF Number: 344
Name: L3PPL Setup Non-Compelled FWD R2 Digit Reception
Description: Sends a request to TC to attach a non-compelled forward R2 signal receiver for non-compelled forward R2 signals of the stage specified in Arg 1. Enters an internal blocking state before proceeding, until the receiver is attached.
Arg1: <Stage Number> 1:4
Arg2: <Not Used>
AF Number: 345
Name: L3PPL Setup Non-Compelled R2 Digit Reception Indefinitely
Description: Sends a request to TC to attach a non-compelled R2 signal receiver for non-compelled forward or backward R2 signals. The receiver is attached until a Cancel Digit Reception is sent. Before proceeding, it enters an internal blocking state until the receiver is attached.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 346
Name: L3PPL Setup Non-Compelled R2 Digit Reception for Fixed Digits
Description: Sends a request to TC to attach a noon-compelled R2 signal receiver for non-compelled forward or backward R2 signals. The receiver is attached until the specified number of digits is received. before proceeding, it enters an internal blocking state until the receiver is attached.
Arg1: <Digit Count> 1:255
Arg2: <Not Used>
AF Number: 347
Name: L3PPL OUTP Non-Compelled BWD R2 Sig in Inseize Instruction
Description: Sends a request to TC to outpulse a non-compelled backward R2 signal in pulsed mode. This R2 signal is stored in a Generate Call Processing Event message.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1425
AF: Number 360
Name: E1PPL Attach MFR1 Digit Receiver (Get Stage # From Next Instr) <PPL CFG Byte #>
Description: Allocates a MFR1 receiver to collect digits. The stage of digits to be collected is determined by the current instruction in the instruction list and the MFR1 tone reception threshold is determined by argument 1.
Arg1: The first argument is the index into the ppl configuration byte array. The value of this byte is absolute value of the minimum dBm level of the MFR1 digits for detection. Valid entries for this ppl_cfg_byte are between 1 and 30, which equate to -1dBm and -30dBm, respectively. The MFR1 receiver will reject any tones below the detection level.
Arg2: <Not Used>
AF Number: 361
Name: T1PPL Attach MFR1 Digit Receiver (Get Stage # From Current Instr) <PPL CFG Byte #>
Description: Allocates a MFR1 receiver to collect digits. The stage of digits to be collected is determined by the current instruction in the instruction list and the MFR1 tone reception threshold is determined by argument 1.
Arg1: The first argument is the index into the ppl configuration byte array. The value of this byte is absolute value of the minimum dBm level of the MFR1 digits for detection. Valid entries for this ppl_cfg_byte are between 1 and 30, which equate to -1dBm and -30dBm, respectively. The MFR1 receiver will reject any tones below the detection level.
Arg2: <Not Used>
MSP
1426
VDAC IP Network Interface Atomic Functions
Atomic Functions
AF Number: 46
Name: Enable multipurpose timer
Type: Normal/Blocking/Test:Normal
Description: Enable 1 of 3 multipurpose timers indicated in Arg 1.
The value of the timer is stored in the timer indicated in Arg 2.
Arg 1: Timer Number (1 – 3)
Arg 2: Timer ID (1 – 100)
AF Number: 47
Name: Disable multipurpose timer
Type: Normal/Blocking/Test:Normal
Description: Disable 1 of 3 multipurpose timers indicated in Arg 1.
Arg 1: Timer number (1 – 3)
Arg 2: Reserved
AF Number: 55
Name: Initiate a channel purge
Type: Normal/Blocking/Test Normal
Description: Initiate a channel purge and pass the purge reason indicated in Arg 1 to Layer 4.
Arg 1: Purge reason (0 – 255)
Arg 2: Reserved
AF Number: 60
Name: Send DSP a Request Resource message
Type: Normal/Blocking/Test: Normal
Description: Send a request to DSP to connect to an available DSP channel.
Arg 1: Reserved
Arg 2: Reserved
AF Number: 61
Name: Send DSP a Release Resource message
Type: Normal/Blocking/Test: Normal
Index
1427
Description: Send a request to DSP to disconnect from a previously-connected DSP channel
Arg 1: Reserved
Arg 2: Reserved
AF Number: 70
Name: Send Layer 4 a Connect message (Answer)
Type: Normal/Blocking/Test: Normal
Description: Sends a Connect message to Layer 4.
Arg1: Reserved
Arg2: Reserved
AF Number: 71
Name: Send Layer 4 an Access Denied message
Type: Normal/Blocking/Test: Normal
Description: Send an Access Denied message to Layer 4 due to a failed connection attempt. Failure reason is indicated in Arg 1.
Arg1: Status ( 0 – 255)
Arg2: Reserved
AF Number: 72
Name: Send Layer 4 an alerting message
Type: Normal/Blocking/Test: Normal
Description: Sends an alerting message to Layer 4
Arg1: Reserved
Arg2: Reserved
AF Number: 73
Name: Send Layer 4 a clear Ack.message
Type: Normal/Blocking/Test: Normal
Description: Sends a clear request Ack. to Layer 4, with successful and lost RTP packets
Arg1: Reserved
Arg2: Reserved
AF Number: 74
Name: Send Layer 4 an In Service message
MSP
1428
Type: Normal/Blocking/Test: Normal
Description: Sends an In Service message to Layer 4
Arg1: Reserved
Arg2: Reserved
AF Number: 75
Name: Send Layer 4 a Disconnect message
Type: Normal/Blocking/Test: Normal
Description: Sends a Disconnect message to Layer 4
Arg1: Reserved
Arg2: Reserved
AF Number: 76
Name: Send Layer 4 a Clear Request acknowledgment without data
Type: Normal/Blocking/Test: Normal
Description: Sends a Clear Request acknowledgment to Layer 4, with no RTP packets status
Arg1: Reserved
Arg2: Reserved
AF Number: 80
Name: Send outseize control response
Type: Normal/Blocking/Test: Normal
Description: Sends a response to the Outseize Control message.
Arg1: Status (0 – 255)
Arg2: Reserved
AF Number: 85
Name: Store message into a temporary storage buffer
Type: Normal/Blocking/Test: Normal
Description: Saves the current message, including attached data, into a temporary storage buffer to use later.
Arg1: Reserved
Arg2: Reserved
AF Number: 90
Index
1429
Name: Send Layer 5 a PPL Event Request Acknowledgment
Type: Normal/Blocking/Test: Normal
Description: Send s a PPL Event Request acknowledgment to Layer 5.
Arg1: Status (0 – 255)
Arg2: Reserved
AF Number: 91
Name: Send Layer 5 a PPL Event Indication
Type: Normal/Blocking/Test: Normal
Description: Sends a PPL Event Indication to Layer 5.
Arg1: Event Number (0 – 255)
Arg2: Reserved
AF Number: 92
Name: Send Layer 5 a PPL Event Indication with General Purpose Register value
Type: Normal/Blocking/Test: Normal
Description: Sends a PPL Event Indication to Layer 5 along with the value of the specified General Purpose Register.
Arg1: Event Number (0 – 255)
Arg2: General Purpose Register number (0 – 53)
AF Number: 95
Name: DSPM setup resource
Type: Normal/Blocking/Test: Normal
Description: Sets up the resources required to communicate with the DSP Manager. This function should be called after the DSP Manager acknowledges the DSP resource request with a response of “DSP Resource Available”
Arg1: Reserved
Arg2: Reserved
AF Number: 96
Name: DSPM connect resource to TDM
Type: Normal/Blocking/Test: Normal
Description: Connects a DSP resource to the TDM bus. This function should be called after a resource has been setup.
Arg1: Reserved
Arg2: Reserved
MSP
1430
AF Number: 97
Name: DSPM disconnect resource from TDM
Type: Normal/Blocking/Test: Normal
Description: Disconnects a DSP resource to the TDM bus.
Arg1: Reserved
Arg2: Reserved
AF Number: 98
Name: DSPM remove resource.
Type: Normal/Blocking/Test: Normal
Description: Removes a DSP resource. This function should be called after all communication with the DSP Manager is completed.
Arg1: Reserved
Arg2: Reserved
Index
1431
Layer 4 Atomic Functions
Call Control Channel Management (0x0061)
Atomic Functions
The following Atomic Functions (AF) are specific to the MSP 1010 Call Control Channel Management component (0x0061).
AF Number 51
Name Store a L5 message type and sequence # from current message and return L5 reference ID in GPR
Description Allocates a node in the L5 reference linked list, stores the message type and sequence number, and returns the reference ID in the GPR # specified in Arg1.
Arg1 <GPR #>
Arg2 <Not Used>
AF Number 52
Name ACK L5 message using L5 outgoing buffer for L5 reference ID
Description Sends an acknowledgment for the message in the L5 message linked list, de-allocates the entry, and frees the reference ID. Also returns internal event 1 if the reference ID is found and the ACK is sent and 0 on failure.
Arg1 <GPR # containing Layer 5 Reference ID>
Arg2 <GPR # containing ACK Status>
AF Number: 53
Name: Block Invalid Events for State
Description: Queues invalid events in the next state until the next state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: Send L5 PPL Event Indication using outgoing L5 buffer
Description: Sends a PPL Event indication message to L5 with data in the outgoing L5 buffer.
Arg1: <Event ID>
Arg2 <Not Used>
AF Number: 55
Name: Clear L5 Reference ID
MSP
1432
Description: De-allocates the L5 reference link with the specified ID.
Arg1: <GPR # containing the Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 56
Name: ACK L5 message using L5 outgoing buffer for L5 reference ID with more status
Description: Sends an acknowledgment for the message in the L5 message LL. Also de-allocates the entry and frees the Reference ID. The more status is the last normal state of the PPL state machine. Also returns internal event 1 if the reference ID is found and the ACK is sent and 0 on failure.
Arg1: <GPR # containing Reference ID>
Arg2: <ACK Status>
AF Number: 57
Name: Stop all CH Timers
Description: Cancels any outstanding CH timers
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 58
Name: Purge channel with reason
Description: Initiates a purge of the channel any associated channel through the CM.
Arg1: <Reason>
Arg2: <Not Used>
AF Number: 59
Name: Test Host message resend enabled flag
Description: Tests the host configuration resend enable flag for messages
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 60
Name: Test Host RFS retry forever flag
Description: Test the host configuration RFS resend flag.
Arg1: <Not Used>
Index
1433
Arg2: <Not Used>
AF Number: 61
Name: ACK L5 message using L5 outgoing buffer for L5 Reference ID
Description: Sends an acknowledgment for the message in the L5 message LL. Also de-allocates the entry and frees the Reference ID.
Arg1: <GPR # containing Layer 5 Reference ID>
Arg2: <ACK Status>
AF Number: 62
Name: Update local channel parameters based on RW L3 data and incoming message in buffer
Description: Updates the shared RW local channel parameters based on the private RW channel parameters and any appropriate TLVs in the incoming buffer specified by arg1. This is how dB Padding and release modes are dynamically set.
Arg1: <Buffer>
0 = Use default (no buffer)
1 = Layer 5 Incoming Buffer
2 = Layer 4 Incoming Buffer
Arg2: <Not Used>
AF Number: 63
Name: Test for DSP Resource Free Request in incoming message buffer
Description: Tests for a DSP Resource Free TLV for the channel in the selected buffer. Returns internal event 0 if the TLV is not found, internal event 1 = free digit receiver, internal event 2 = free call progress transmitter, internal event 3 = free both.
Arg1: <Buffer>
1 = Layer 5 Incoming Buffer
2 = Layer 4 Incoming Buffer
Arg2: <Not Used>
AF Number: 64
Name: Test Host Link Connection Status
Description: Tests host link connection status.
Arg1: <Not Used>
Arg2: <Not Used>
Result 0 - Not Connected
MSP
1434
1 - Connected
AF Number: 76
Name: L4CH Test host port availability based on port ID in GPR
Description: Tests the real-time availability of the specified host port.
Arg1: <GPR w/ host port ID>
Arg2: <Not Used>
AF Number: 77
Name: L4CH Load host port ID into GPR
Description: Loads the shared RW host port ID into the GPR.
Arg1: <GPR for host port ID>
Arg2: <Not Used>
AF Number: 78
Name: L4CH Set host port ID from GPR
Description: Sets the shared RW host port ID based on the value of the specified GPR.
Arg1: <GPR with host port ID>
Arg2: <Not Used>
AF Number: 79
Name: L4CH Load host port ID from L5 ref ID into GPR
Description: Takes the host port from the L5 information referenced by L5 ref ID and stores the port ID into the GPR.
Arg1: <GPR w/ L5 ref ID>
Arg2: <GPR for host port ID>
AF Number: 80
Name: Store L5 data in L5 incoming buffer
Description: Transfers any data buffer attached to the L5 message to the L5 incoming buffer. Any data previously in the L5 incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 81
Name: Store L4 data in L4 incoming buffer
Index
1435
Description Transfers any data buffer attached to the L4 message to the L4 incoming buffer. Any data previously in the L4 incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 82
Name: Store L3 data in L3 incoming buffer
Description: Transfers any data buffer attached to the L3 message to the L3 incoming buffer. Any data previously in the L3 incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 83
Name: Transfer data from L5 incoming to L3 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 84
Name: Transfer data from L5 incoming to L4 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 85
Name: Transfer data from L4 incoming to L3 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy
MSP
1436
action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 86
Name: Transfer data from L3 incoming to L4 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 87
Name: Transfer data from L3 incoming to L5 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 88
Name: Clear L3 Outgoing Buffer
Description: De-allocates any L3 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 89
Name: Clear L4 Outgoing Buffer
Description: De-allocates any L4 outgoing buffer.
Index
1437
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 90
Name: Clear L5 Outgoing Buffer
Description: De-allocates any L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 91
Name: Test for L3 Outgoing Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Test for L4 Outgoing Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 93
Name: Test for L5 Outgoing Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 94
Name: Test for L3 Incoming Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 95
Name: Test for L4 Incoming Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
MSP
1438
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 96
Name: Test for L4 Incoming Buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 97
Name: Clear L3 Incoming Buffer
Description: De-allocates any L3 incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 98
Name: Store TC data in TC incoming buffer
Description: Transfers any data buffer attached to the TC message to the TC incoming buffer. Any data previously in the TC incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 99
Name: Test for TC incoming buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 100
Name: Clear TC incoming buffer
Description: Tests for the presence of the specified buffer. Return through an IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 101
Name: Transfer data from TC incoming to L5 outgoing
Index
1439
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 102
Name: Transfer data from TC incoming to L4 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 103
Name: Transfer data from TC incoming to L3 outgoing
Description: Transfers data from one buffer to another using the mode specified in Arg1. The move action (0) moves the pointer and clears the source buffer. The copy action (1) makes an actual copy of the buffer and leaves the original in the incoming buffer.
Arg1: <Transfer Mode>
0 = Move
1 = Copy
Arg2: <Not Used>
AF Number: 104
Name: Clear L4 Incoming Buffer
Description: De-allocates any L4 incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 105
Name: Clear L5 Incoming Buffer
MSP
1440
Description: De-allocates any L5 incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 107
Name: Store L5 call processing event from L5 incoming buffer into
Description: Stores the call processing event id into the GPR.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 108
Name: L4CH transfer Host TLV from/to buffers
Description: L4CH transfer Host TLV from/to working buffer to/from the other buffer
Arg1: <XYZ>
X - Action
0 : To Working Buffer
1 : From Working Buffer
Y - Buffer Number
0 : Working
1: TC
3: L3
4: L4
5: L5
Z - Outgoing/Incoming
0: Outgoing
1: Incoming (when y = 1 then z can be either 0 or 1)
Note: possible values of arg1: 050, 150, 051, 151, 040, 140, 041, 141, 030, 130, 031, 131, 010 (or 011), 110 (or 111)
Arg2: <Not Used>
AF Number: 109
Name: L4CH Buffer Test
Description: Function to test for A Given Buffer.
Arg1: <Buffer>
0 = Working
Index
1441
1 = TC
3 = L3
4 = L4
5 = L5
Arg2: <Outgoing/Incoming> (Ignored when Arg1 = 0 or 1)
0: Outgoing Buffer
1: Incoming Buffer
Return Value:
PPLevINT_EVENT_0 - Buffer not present
PPLevINT_EVENT_1 - Buffer present
AF Number: 110
Name: L4CH Buffer Move/Copy
Description: L4CH Buffer Move/Copy from /To (L5,L4,L3, TC and Working )
Arg1: <Action>
0: Move
1: Copy
Arg2: <Buffer>
0 = Working
1 = TC
3 = L3
4 = L4
5 = L5
AF Number: 111
Name: L4CH Clear Buffer
Description: L4CH Clear Buffer
Arg1: <Clear>
0 = Clear Working buffer
3 = Clear the L3 outgoing buffer
4 = Clear the L4 outgoing buffer
5 = Clear the L5 outgoing buffer
Arg2: <Not Used>
AF Number: 120
Name: Test B Address in L5 incoming message equal to associated channel
MSP
1442
Description: Tests if the B address in the L5 incoming message is equal to the associated channel maintained by CM. If there is no active association, a FALSE is returned.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 121
Name: Test B Address in L5 incoming message equal to associated channel
Description: Tests if the B address in the L5 incoming message is equal to the associated channel maintained by CM. If there is no active association, a FALSE is returned.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 130
Name: Send L5 DS0 status change using L5 outgoing buffer
Description: Sends the specified message to L5..
Arg1: <Status>
Arg2: <Not Used>
AF Number: 131
Name: Send L5 RFS using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <RFS Retry Flag>
Arg2: <Not Used>
AF Number: 132
Name: Send L5 RFS w/ Data using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <RFS Retry Flag>
Arg2: <Not Used>
AF Number: 133
Name: Send L5 Channel Released using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1443
AF Number: 134
Name: Send L5 Channel Released w/ Data using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 135
Name: Send L5 Call Processing Event using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 136
Name: Send L5 Release Request using outgoing L5 buffer
Description: Sends the specified message to L5.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 137
Name: Send L5 Call Progress Analysis Result using L5 outgoing buffer
Description: Sends the specified message to L5.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 157
Name: Test RW channel status Interface Type
Description: Tests the current channel interface type. Return in IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 158
Name: Test L3 Incoming buffer for address data flag
Description: Test for address data TLV in incoming L3 buffer. Return in IS.
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1444
AF Number: 159
Name: Store Access Denied data from L3 incoming buffer into
Description: Stores the access denied reason in the GPR from the L3 access denied message.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 161
Name: Test Channel Answer Supervision Mode
Description: Tests the current channel answer supervision mode. Return in IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 162
Name: Test L3 Channel state type in current message
Description: Tests the L3 channel status type for INS/OOS/etc.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 163
Name: Update RW L3 data based on L3 channel status in current message and RO config bytes
Description: Sets up the channel’s private RW properties based on the L3 provided data and the L4CH config bytes.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 164
Name: Test L3 Incoming buffer for call active flag
Description: Tests the L3 incoming message for the call active flag.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 165
Name: Test Channel Flash Timing Mode
Description: Tests the current channel flash timing mode. Return in IS.
Index
1445
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 166
Name: Test L3 Incoming buffer for L3 Clear Request Data
Description: Test for L3 clear request data TLV in incoming L3 buffer. Return in IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 170
Name: Send L3 Outseize Control request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <GPR # containing Layer 4 Reference ID>
Arg2: <Not Used>
AF Number: 171
Name: Send L3 Call request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 172
Name: Send L3 Inseize Control request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <GPR # containing Layer 4 Reference ID>
Arg2: <Not Used>
AF Number: 173
Name: Send L3 Flash request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 174
Name: Send L3 User Info request using L3 outgoing buffer
Description: Sends the specified L3 message.
MSP
1446
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 175
Name: Send L3 Generate L5 Event request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 176
Name: Send L3 Transmit Off-hook request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 177
Name: Send L3 Transmit Idle request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 180
Name: Send L3 Alerting request using L3 outgoing buffer
Description: Sends the specified L3 message. Arg1 is a flag which determines whether the L3 outgoing buffer should be saved il L4CH after its sent to L3. This is needed to support Connect With Data for ISDN.
Arg1: <Action>
0 = Remove Buffer
1 = Retain Buffer
Arg2: <Not Used>
AF Number: 181
Name: Send L3 Connect request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1447
AF Number: 182
Name: Send L3 Clear request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 183
Name: Send L3 Host Connect request using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 184
Name: Send L3 Busy Out ACK using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 185
Name: Send L3 PPL Event using L3 outgoing buffer
Description: Sends the specified L3 message.
Arg1: <Event>
Arg2: <Not Used>
AF Number: 186
Name: Incrementing L4CH Function
Description: L4CH Function which increments the value in the global gp register
Arg1: <GGPR #>
Arg2: <Incr value>
AF Number: 187
Name: Decrementing L4CH Function
Description: L4CH Function which decrements the value in the global gp register
Arg1: <GGPR #>
Arg2: <Decr value>
MSP
1448
AF Number: 188
Name: Comparing L4CH Function
Description: L4CH Function which compares the value in the global general purpose register
Arg1: <GGPR #>
Arg2: <Test value>
Note: Returns True if equal
AF Number: 189
Name: Comparing GGPR L4CH Function
Description: L4CH Function which compares the value in the GGPR with GPR.
Arg1: <GGPR #>
Arg2: <GPR #>
Note: Returns True if equal
AF Number: 190
Name: Copying L4CH Function
Description: L4CH Function which copies the value in the GGPR to GPR.
Arg1: <GGPR #>
Arg2: <GPR #>
AF Number: 191
Name: Copying GPR L4CH Function
Description: L4CH Function which copies the value in the GPR to GGPR.
Arg1: <GGPR #>
Arg2: <Test value>
AF Number: 192
Name: Clearing GGPR L4CH Function
Description: L4CH Function which clears the contents in the GGPR indicated
Arg1: <GGPR #>
Arg2: <Not Used>
AF Number: 193
Name: Clearing GGPR L4CH Function
Index
1449
Description: L4CH Function which clears a number (indicated by arg2)
Arg1: <GGPR #>
Arg2: <Range #>
194 – 200
Reserved for future Global GPR AFs
AF Number: 194-200
Name: Reserved for future Global GPR AFs
Description: Reserved for future Global GPR AFs
Arg1: Not Applicable
Arg2: Not Applicable
Note Reserved for future Global GPR AFs
AF Number: 201
Name: Send Call Service Request to CM using L4 outgoing buffer
Description: Formats and sends a Call Service Request, including the current basic call state, to the local L4CM component .
Arg1: <Local Call State>
Arg2: <Not Used>
AF Number: 202
Name: Send Call Service ACK to CM using L4 outgoing buffer
Description: Responds to an L4CM Call Service Request with a Call Service ACK to CM including the current basic call state.
Arg1: <Local Call State>
Arg2: <Not Used>
AF Number: 203
Name: Send Call Service 1way Forced Request to CM using L4 outgoing buffer
Description: Formats and sends a Call Service Request for a 1-way forced connection to the local L4CM component, including the current basic call state.
Arg1: <Local Call State>
Arg2: <Not Used>
AF Number: 204
Name: Send Call Service Reject to CM with reason using L4 outgoing buffer
MSP
1450
Description: Responds to an L4CM component Call Service Request with a Call Service Reject to CM. The reject reason is derived from the GPR #. If the GPR number is 0 then it is derived directly from Arg2.
Arg1: <GPR #>
Arg2: <Reason>
AF Number: 205
Name: Send Alerting Call Service to CM using L4 outgoing buffer
Description: Sends an indication the a local alerting was received from L3 to CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 206
Name: Send Cut-thru Call Service to CM using L4 outgoing buffer
Description: Sends an indication the a local cut-thru was received from L3 to CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 207
Name: Send Answer Call Service to CM using L4 outgoing buffer
Description: Sends an indication the a local cut-thru was received from L3 to CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 208
Name: Send Clear Call Service to CM using L4 outgoing buffer
Description: Sends an indication that the local call is being released to CM. The DERM override is a flag used by CM to determine whether a clear call or clear connection is sent based on the DERM of the channel.
Arg1: <DERM Flag>
Arg2: <Not Used>
AF Number: 209
Name: Test CM Call State for Active Call
Description: Tests the CM managed shared RW for an active CM.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1451
AF Number: 210
Name: Send Flash Call Service to CM using L4 outgoing buffer
Description: Sends an indication that a flash event was received from L3 to CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 211
Name: Send Clear ACK Call Service to CM using L4 outgoing buffer
Description: Sends an indication that the clear event has been processed.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 212
Name: Test call service reject reason from L4 incoming buffer
Description: Tests the call service reject reason in the received call service reject message from CM. Return in IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 213
Name: Store call service reject reason from L4 incoming buffer in
Description: Stores the call service reject reason the specified GPR.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 214
Name: Send Clear Connection Service to CM using L4 outgoing buffer
Description: Sends an indication that the local channel is requesting a clearing of the association with the remote channel.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 215
Name: Send Clear Connection Service to CM using L4 outgoing buffer
Description: Sends an indication that the local channel is requesting a clearing of the association with the remote channel.
MSP
1452
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 222
Name: Send CM Event using L4 outgoing buffer
Description: Sends a programmable event to CM
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 223
Name: Send Clear Connection Service to CM using L4 outgoing buffer
Description: Sends an indication that the local channel is requesting a clearing of the association with the remote channel.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 224
Name: Send Update Channel Status Message to CM
Description: Sends Update Channel Status Message to CM.
Arg1: <Channel Status>
1 = Free
2 = Busy
Arg2: <Not Used>
AF Number: 225
Name: L4CH Test MCC Association
Description: Determine if an MCC instance is active for the local channel.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 226
Name: L4CH Query Virtual L4 Type
Description: Determines L4 bearer type (physical TDM or VoIP, virtual TDM or VoIP) by checking localChanLogicalID
Arg1: <Not Used>
Arg2: <Not Used>
Index
1453
AF Number: 227
Name: L4CH Query bearer service status
Description: Determines whether bearer service has been requested for this connection.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 228
Name: L4CH Check Associated PL4
Description: Checks whether valid PL4 is associated with this VL4 or not.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 229
Name: L4CH Send PL4 Request to RTR
Description: Obtains PL4 for use by a VL4 when a physical connection is requested.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 230
Name: L4CH Free Up PL4
Description: Frees up PL4 associated with this VL4
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 231
Name: L4CH Process RTR Response
Description: Extracts coupled PL4 ID from router reply and stores in "coupled" location in VL4’s shared RW area.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 232
Name: L4CH Send Modify Channel Service to L3 using L3 O/G buffer
Description: Sends the local route an indication that the channel is available to terminate route attempts.
MSP
1454
Arg1: <Channel Status>
0= Bearer Service On
1= Bearer Service Off
Arg2: <Not Used>
AF Number: 233
Name: L4CH Check if P-L4 decoupling needed
Description: Checks if a virtual span/channel should be decoupled from a physical span/channel.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 234
Name: L4CH Check if egress L4 is a P-L4.
Description: Checks if the out bound call leg is a physical span/channel or not.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 246
Name: Send Router member available
Description: Sends the local route an indication that the channel is available to terminate route attempts.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 247
Name: Send Router member busy
Description: Sends the local route an indication that the channel is not available to terminate route attempts because it is involved in a call.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 248
Name: Send Router member OOS
Description: Sends the local route an indication that the channel is available to terminate route attempts because it is OOS.
Arg1: <Not Used>
Index
1455
Arg2: <Not Used>
AF Number: 256
Name: L4CH Insert digit string into DSP data list from TC incoming buffer
Description: Copies one entire TC digit string into the DSP data list.
Arg1: <Data List Index>
Arg2: <String #>
AF Number: 257
Name: L4CH Insert digit string into DSP data list from TC incoming buffer
Description: Copies one entire TC digit string into the DSP data list.
Arg1: <Data List Index>
Arg2: <GPR w/ String #>
AF Number: 258
Name: L4CH Insert digit string into DSP data list from TC incoming buffer
Description: Copies one entire TC digit string into the DSP data list.
Arg1: <GPR w/ Data List Index>
Arg2: <String #>
AF Number: 259
Name: L4CH Insert digit string into DSP data list from TC incoming buffer
Description: Copies one entire TC digit string into the DSP data list.
Arg1: <GPR w/ data list index>
Arg2: <GPR w/ String #>
AF Number: 260
Name: Send Collect Digit String (suspend)
Description: Sends the appropriate DSP Service Request.
Arg1: <GPR offset>
Arg2: <Cfg byte offset>
Note: Arg1 indicates the offset of the first GPR in the sequence to be read. This may be used for such data as:
mode
maximum digits
# of term
MSP
1456
config flag
termchars
address signaling type
# of strings to collect
Arg2 specifies the Config Byte offset where more static data is stored. This data may include the following:
inter digit
first digit
completion
minimum receive duration
resume digit collection time
minimum receive inter-digit timer
This function suspends until a positive response is returned.
AF Number: 261
Name: L4CH Send Collect Digit String (no suspend)
Description: Sends the appropriate DSP Service Request.
Arg1: <GPR offset>
Arg2: <Cfg byte offset>
Note: Arg1 indicates the offset of the first GPR in the sequence to be read. This may be used for such data as:
mode
maximum digits
# of term
config flag
termchars
address signaling type
# of strings to collect
Arg2 specifies the Config Byte offset where more static data is stored. This data may include the following:
inter digit
first digit
completion
minimum receive duration
resume digit collection time
Index
1457
minimum receive inter-digit timer
This function suspends until a positive response is returned.
AF Number: 262
Name: Send Collect Digit String Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive.
Arg1: <GPR # containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 263
Name: Retrieve L5 Reference ID and response status from message in L4 incoming buffer
Description: Retrieves the appropriate information from the SYM DSP service request response.
Arg1: <GPR # containing Layer 5 Reference ID>
Arg2: <GPR # containing Status>
AF Number: 264
Name Store DSP Service Request Type specified in L5 Incoming Buffer in a GPR
Description: Store the service request type of the L5 DSP Service Request message in a GPR. The GPR# is specified in arg1
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 267
Name: Send Attach DTMF Receiver Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR which contains the configuration bits.. Arg2 specifies the config byte offset from where the following data is stored digit wait, min. rcv duration timer. This function suspends until a positive response is returned from SYM.
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 268
Name: Send Attach DTMF Receiver Request to SYM (suspend)
MSP
1458
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR which contains the configuration bits.. Arg2 specifies the config byte offset from where the following data is stored digit wait, min. rcv duration timer. This function suspends until a positive response is returned from SYM.
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 269
Name: Send Attach DTMF Receiver Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 270
Name: Send Energy Detection Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the sensitivity level and reporting mode. Arg2 specifies the config byte offset from where the following data is stored: Scan duration timer, completion timer. This function suspends until a positive response is returned from SYM.
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 271
Name: Send Energy Detection Request to SYM (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the sensitivity level and reporting mode. Arg2 specifies the config byte offset from where the following data is stored: Scan duration timer, completion timer. This function does not suspend primitive
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 272
Name: Send Energy Detection Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive
Index
1459
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 273
Name: Send Attach CPA Receiver Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR which contains the CPA class. This function suspends until a positive response is returned from SYM
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 274
Name: Send Attach CPA Receiver Request to SYM (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR which contains the CPA class. This function does not suspend primitive.
Arg1: <GPR Offset>
Arg2: <Config Byte Offset>
AF Number: 275
Name: L4CH Send Attach CPA receiver request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive.
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 280
Name: Store CPC Detection action specified in L5 incoming message in GPR
Description: Store the CPC action of the L5 CPC Detection message (L5 incoming buffer) in a GPR. The GPR# is specified in arg1.
Arg1: <GPR>
Arg2: <Not Used>
AF Number: 281
Name: Send CPC Detect Enable Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. This function suspends until a positive response is returned from SYM
MSP
1460
Arg1: <GPR Offset>
Arg2: <Config Byte Offset>
AF Number: 282
Name: Send CPC Detect Enable Request to SYM (no suspend)
Description: Sends a CPC Detect Enable Request to SYM (no suspend)
Arg1: <GPR Offset>
Arg2: <Config Byte Offset>
AF Number: 283
Name: Send CPC Detect Enable Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. This function does not suspend primitive
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 284
Name: Send Cancel Digit Receiver to SYM
Description: Sends a request to cancel any active DSP services of the specified type.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 285
Name: Send Cancel Energy Receiver to SYM
Description: Sends a request to cancel any active DSP services of the specified type.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 286
Name: Send Cancel CPA Receiver to SYM
Description: Sends a request to cancel any active DSP services of the specified type.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1461
AF Number: 287
Name: Store Cancel DSP Service type specified in L5 incoming buffer in GPR
Description: Store the service cancel type of the L5 DSP Service Cancel message in a GPR. The GPR# is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 290
Name: Send Connect Tone Pattern Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the pattern Id, # cycles to transmit, and event flags. This function suspends until a positive response is returned from SYM
Arg1: <GPR Offset (Pattern ID, # of Cycles, Event Flag)>
Arg2: <Not Used>
AF Number: 291
Name: Send Connect Tone Pattern Request to SYM (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the pattern Id, # cycles to transmit, and event flags. This function does not suspend primitive.
Arg1: <GPR Offset (Pattern ID, # of Cycles, Event Flag)>
Arg2: <Not Used>
AF Number: 292
Name: Send Connect Tone Pattern Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive.
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 293
Name: Send Cancel Tone/RAN xmtr request to SYM
Description: Sends a request to cancel any active DSP services of the specified type.
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1462
AF Number: 294
Name: Send Connect RAN Request to SYM using L5 incoming buffer (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function suspends until a positive response is returned from SYM.
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 295
Name: Send Connect RAN Request to SYM using L5 incoming buffer (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive.
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 296
Name: Send Outpulse Digits Request to SYM (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the signal type, string count, string format, string mode, and events flag. Arg2 specifies the config byte offset from where the following data is stored: First digit duration, digit duration, interdigit duration, and delay duration (4 UWords). The DSP Data List is used to maintain digits and digit counts. This function suspends until a positive response is returned from SYM
Arg1: <GPR Offset>
Arg2: <Config Byte Offset>
AF Number: 297
Name: Send Outpulse Digits Request to SYM (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where consecutive GPRs specify the signal type, string count, string format, string mode, and events flag. Arg2 specifies the config byte offset from where the following data is stored: First digit duration, digit duration, interdigit duration, and delay duration (4 UWORDs). The DSP Data List is used to maintain digits and digit counts. This function does not suspend primitive
Arg1: <GPR Offset>
Arg2: <Config Byte Offset>
Index
1463
AF Number: 298
Name: Send Outpulse Digits Request to SYM using L5 incoming buffer
Description: Sends the appropriate DSP service request to SYM. Arg1 specifies the GPR to find the L5 reference ID of the L5 message. The data in the L5 incoming buffer is used as the DSP service request data. This function does not suspend primitive.
Arg1: <GPR containing Layer 5 Reference ID>
Arg2: <Not Used>
AF Number: 300
Name: L4CH Send Cancel 2833 Digit Rcvr to CATC
Description: Cancels a 2833 tone receiver service
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 301
Name: L4CH Check for CATC DSP Req
Description: Checks incoming L5 message to see if it contains a CATC 2833 request
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 302
Name: L4CH Send Attach 2833 DTMF Revr Request to CATC using L5 Incoming Buffer
Description: Sends an attach DTMF receiver request to CATC using data in L5 incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 310
Name: Test Tone Xmit Generate L5 Event Flag
Description: Tests if the currently active DSP tone generator should have a L5 event generated upon a TC outpulsing complete event. Result through IS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 311
MSP
1464
Name: Translate TC Incoming buffer into L5 Outgoing buffer and send L5 Call Processing event
Description: Formats the correct call processing event message to L5 for the incoming TC event.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 312
Name: Store digit from First Digit event specified in TC incoming buffer in GPR
Description: Stores the digit from a TC first digit event in the specified buffer into a GPR. The GPR# is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 313
Name: Store RAN ID from TC incoming buffer into
Description: Stores the RAN ID from a TC RAN starting or RAN complete event into the specified GPR.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 314
Name: Store digit info. type for timing specified in TC incoming buffer in GPR
Description: Stores the digit info type from a TC digits, inpulse complete timeout, or inter-digit timeout event into a GPR. The GPR # is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 315
Name: Store digit info. type for timing specified in TC incoming buffer in GPR
Description: Stores the digit info type from a TC digits, inpulse complete timeout, or inter-digit timeout event into a GPR. The GPR # is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 316
Name: Store digit string digit count from TC incoming buffer
Index
1465
Description: Stores the string’s digit count from a TC digits event in the specified GPR. The string number is specified in the second GPR argument. Unknown string # causes a channel purge.
Arg1: <GPR to store digit count>
Arg2: <GPR # containing string number>
AF Number: 317
Name: Store digit string digit from TC Incoming Buffer in GPR
Description: Stores a digit from a TC digits event in the specified buffer into a GPR. Arg1 holds the GPR # from where consecutive GPRs specify the string# and digit#. Arg2 specifies the GPR to store the digit. Unknown string # or digit # causes a channel purge.
Arg1: <GPR Offset>
Arg2: <GPR to store digits>
AF Number: 318
Name: Test digit string digit from TC incoming buffer
Description: Tests a digit from a TC digits event in the specified buffer into a GPR. Arg1 holds the GPR with the string#. Arg2 specifies the GPR with the digit #. Unknown string # or digit # causes a channel purge
Arg1: <GPR containing String #>
Arg2: <GPR containing digit #>
AF Number: 319
Name: Store digit from digit with timing info specified in TC Incoming Buffer in GPR <
Description: Stores the digit from a TC digits event with timing info in a GPR. The GPR# is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 320
Name: Store digit interval from TC Incoming Buffer digit with timing info
Description: Stores the digit interval from a TC digits event with timing info. in the specified GPR.
Arg1: <GPR Containing Timing Information>
Arg2: <Not Used>
AF Number: 321
MSP
1466
Name: Store Call Progress Result from TC incoming buffer in GPR
Description: Stores the call progress result type in the TC incoming buffer in a GPR. The GPR # is specified in Arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 322
Name: Store energy detect flag from TC incoming buffer in GPR
Description: Stores the energy flag from a TC energy detected event into a GPR. The GPR # is specified in arg1.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 323
Name: Store energy detection duration in TC incoming buffer into
Description: Stores the energy detect duration data from a TC energy detected event into the specified GPR.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 324
Name: Compare digits in digit string in TC incoming buffer
Description: Compares the digits from a TC digits event in the TC incoming buffer with a digit string in the config bytes. Arg1 holds the GPR # from where consecutive GPRs specify the string #, digit offset, and # of digits. Arg2 specifies the config byte offset for the stored digits.
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 325
Name: Compare digits in digit string in TC incoming buffer to GPR stored digits
Description: Compares the digits from a TC digits event in the TC incoming buffer with a digit string stored in GPR(s). Arg1 holds the GPR # from where consecutive GPRs specify the string #, digit offset and # digits. Arg2 specifies the GPR # for the stored digits.
Arg1: <GPR offset (string #, digit offset, #digits)>
Arg2: <GPR # for start of stored digit string>
AF Number: 326
Index
1467
Name: Compare BCD digits in digit string in L3 incoming buffer
Description: Compares the digits from a TC digits event in the TC incoming buffer with a digit string in the config bytes. Arg1 holds the GPR # from where consecutive GPRs specify the stage #, string #, digit offset, and # of digits. Arg2 specifies the config byte offset for the stored digits.
Arg1: <GPR Offset>
Arg2: <Config byte Offset>
AF Number: 327
Name: Compare BCD digits in digit string in L3 incoming buffer to GPR stored digits
Description: Compares the digits from a TC digits event in the TC incoming buffer with a digit string stored in GPR(s). Arg1 holds the GPR # from where consecutive GPRs specify the stage #, string # , digit offset and # digits. Arg2 specifies the GPR # for the stored digits.
Arg1: <GPR offset (stage #, string #, digit offset, #digits)>
Arg2: <GPR # for start of stored digit string>
AF Number: 330
Name: Send Connect RAN Request to SYM using single RAN ID in GPR (suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where the GPRs will specify the configuration options: Config flag and Event flag. Arg2 holds the GPR # which specifies the RAN ID. This is a suspend primitive function.
Arg1: <GPR offset (config flag, event flag)>
Arg2: <GPR # containing RAN ID>
AF Number: 331
Name: Send Connect RAN Request to SYM using single RAN ID in GPR (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 holds the GPR # from where the GPRs will specify the configuration options: Config flag and Event flag. Arg2 holds the GPR # which specifies the RAN ID. This is not a suspend primitive function.
Arg1: <GPR offset (config flag, event flag)>
Arg2: <GPR # containing RAN ID>
AF Number: 332
Name: Send Connect Tone Pattern Request to SYM without L5 data (will NOT send CPE)
Description: Sends the appropriate DSP service request to SYM. The host will not be informed (via Call Processing Event) when done. Arg1 will specify the Pattern ID.
MSP
1468
Arg2 will specify the number of cycles to transmit the tone pattern. This is a suspend primitive function.
Arg1: Arg1:<Pattern ID>
Arg2: Arg2:<# cycles to transmit>
AF Number: 333
Name: Send Connect Tone Pattern Request to SYM without L5 data (will send CPE)
Description: Sends the appropriate DSP service request to SYM. A Call Processing Event will be sent to the host when done. Arg1 will specify the Pattern ID. Arg2 will specify the number of cycles to transmit the tone pattern. This is a suspend primitive function.
Arg1: <Pattern ID>
Arg2: <# cycles to transmit>
AF Number: 340
Name: Create DSP Data List buffer
Description: Creates a buffer for DSP Data (chaining RAN IDs or digits). Initializes to all FFs. If buffer already exists, it is re-initialized. A maximum of 64 Ran Ids can be chained.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 341
Name: Remove DSP Data List buffer
Description: Cleans up the DSP Data List.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 342
Name: Load list size from DSP Data List into GPR
Description: Loads the current count of dsp data items in the DSP Data List into the specified GPR.
Arg1: <GPR #t>
Arg2: <Not Used>
AF Number: 343
Name: Insert item into DSP Data List
Index
1469
Description: Inserts the item given in arg2 into the DSP Data List at the index location specified in GPR. If index is -1, the item is appended to the end of the list
Arg1: <Index > <item>
Arg2: <Not Used>
AF Number: 344
Name: Insert item in DSP Data List
Description: Inserts the item given in arg2 into the DSP Data List at the index location specified in GPR. If index is -1, the item is appended to the end of the list
Arg1: <GPR # containing index #>
Arg2: <Item>
AF Number: 345
Name: Insert item in DSP Data List
Description: Inserts the item (given in GPR) into the DSP Data List at the index location specified in arg1. If index is -1, the item is appended to the end of the list
Arg1: < Index>
Arg2: <GPR # Containing Item>
AF Number: 346
Name: Insert item in DSP Data List
Description: Inserts the item (given in GPR) into the DSP Data List at the index location specified in GPR. If index is -1, the item is appended to the end of the list.
Arg1: <GPR # Containing Index>
Arg2: <GPR # Containing Item>
AF Number: 347
Name: Set item in DSP Data List
Description: Assigns the item given in arg2 to the DSP Data List at the index location. If index is -1, the item is appended to the end of the list.
Arg1: <Index>
Arg2: <Item>
AF Number: 348
Name: Set item in DSP Data List
Description: Assigns the item given in arg2 to the DSP Data List at the index location (given in GPR). If index is -1, the item is appended to the end of the list.
Arg1: <GPR # Containing Index>
MSP
1470
Arg2: <Item>
AF Number: 349
Name: Set item in DSP Data List
Description: Assigns the item given in GPR to the DSP Data List at the index location given in arg1. If index is -1, the item is appended to the end of the list.
Arg1: <Index>
Arg2: <GPR # Containing Item>
AF Number: 350
Name: Set item in DSP Data List
Description: Assigns the item given in GPR to the DSP Data List at the index location given in arg1. If index is -1, the item is appended to the end of the list.
Arg1: <GPR # Containing Index>
Arg2: <GPR # Containing Item>
AF Number: 351
Name: Remove item from DSP Data List
Description: Removes the item at the location indicated by Arg1 from the DSP Data List.
Arg1: <Index>
Arg2: <Not Used>
AF Number: 352
Name: Remove item from DSP Data List
Description: Removes the at the location indicated by Arg1from the DSP Data List.
Arg1: <GPR # Containing Index>
Arg2: <Not Used>
AF Number: 353
Name: Send Connect RAN Request to SYM using DSP Data List (suspend)
Description: Sends the appropriate DSP Service Request message to SYM. Arg1 will specify the Configuration flag option. Arg2 specifies the Event flag option. This is a suspend primitive function.
Arg1: <Config Flag>
Arg2: <Event Flag>
Index
1471
AF Number: 354
Name: Send Connect RAN Request to SYM using DSP Data List (no suspend)
Description: Sends the appropriate DSP service request to SYM. Arg1 will specify the Configuration flag option. Arg2 specifies the Event flag option. This is NOT a suspend primitive function.
Arg1: <Config Flag>
Arg2: <Event Flag>
AF Number: 355
Name: L4CH Delete and shift DSP data list entries
Description: Re-arranges the DSP data list by removing the entries starting at INDEX for COUNT.
Arg1: <GPR w/ index>
Arg2: <GPR w/ count>
AF Number: 356
Name: Store start time stamp, get current time stamp, get duration, report start time stamp
Description: Re-arranges the DSP data list by removing the entries starting at INDEX for COUNT.
Arg1: <Action>
0: report current time stamp
1: store the start time stamp
2: report the stored start time stamp
3: report the duration
Arg2: <Granularity in 100 milliseconds units>
AF Number: 357
Name: Get TLV into GPR from Working buffer
Description: This function takes two arguments and gets the desired TLV (corresponding to Host Tag) from working buffer and puts into GPR
Arg1: <GPR Index>
Arg2: <Host tag>
AF Number: 358
Name: Set TLV from GPR
Description: This function takes two arguments and makes an TLV and adds that to the working buffer.
MSP
1472
Arg1: <GPR Index>
Arg2: <Host tag>
AF Number: 359
Name: DSP Data List TLV
Description: Makes DSP Data List TLV and puts into working buffer
Arg1: <GPR Index w/ DSP Data List Index (start point IN the array)>
Arg2: <GPR Index w/ Count (number of entries wanted to read from the array>
AF Number: 360
Name: Get CFG TLV Tag in GPR
Description: Retrieves the Config Byte at which the TLV pointer in the Private RW area is pointing to and loads the value in the GPR passed as an argument to the function call
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 361
Name: Init CFG TLV Pointer to CFG Byte
Description: Initiates the TLV pointer in the Private RW area to point to the Config Byte passed as the argument.
Arg1: <Config Byte #>
Arg2: <Not Used>
AF Number: 362
Name: Set CFG TLV Pointer to next TLV
Description: Increments the TLV pointer in the Private RW area to point to the next TLV in the Config Bytes.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 363
Name: Load TLV Data in Data Block
Description: Get TLV data for the TLV pointer in Private RW area and loads it into the TLV Data Block in the Private RW area.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1473
AF Number: 364
Name: Add Routing Method TLV to CSR For Router
Description: Adds the Routing Method TLV to Call Service Request that goes to the CM
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 365
Name: Add Routing search Key TLV to CSR For Router
Description: Adds the Routing Search Key TLV to Call Service Request that goes to the CM
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 366
Name: Add Address Digits TLV to CSR For Router
Description: Adds the Address Digit TLV to Call Service Request that goes to the CM , argument can have 1,2 or 3. 1 for CPA Digits, 2 for ANI digits, 3 for Category
Arg1: <Digit Type #>
Arg2: <Not Used>
AF Number: 367
Name: Add Resource Group ID TLV to CSR For Router
Description: Adds the Resource Group ID TLV to Call Service Request that goes to CM.
Arg1: <Digit Type #>
Arg2: <Not Used>
AF Number: 368
Name: Load Address Digits [from TLV Data Block] in Digits Array
Description: Loads the Address Digits [from TLV Data Block] in to the Digits Array for further operations
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 369
MSP
1474
Name: Add Span/Channel TLV to CSR For Router
Description: Adds the Logical Span/Channel TLV to Call Service Request that goes to CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 370
Name: Load TLV Data From TLV Data Block to GPR
Description: Loads the TLV Data From TLV Data Block in to a Gen. Purpose Register specified by the argument
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 371
Name: Send Call Service Request to CM using L4 outgoing buffer with Protocol ID from Config Byte
Description: Sends the Call Service Request to CM using L4 outgoing buffer with Protocol ID derived from Config Byte #.
Arg1: <Config Byte #>
Arg2: <Local Call State>
AF Number: 372
Name: Add Incoming Span/Channel TLV to CSR For Router
Description: Adds the Incoming Span/Channel TLV to Call Service Request that goes to CM
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 374
Name: L4CH Transfer Data from DSP Data List to Digit Array
Description: This atomic function transfers digits from DSP Data List to the Digits array.
Arg1: <GPR # {GPR has Byte Count in it}>
Arg2: <GPR # {Offset within the DSP Data List}>
Note Arg1 is a GPR which has a count of digits to be copied. The count should be less than or equal to the number of digits in the DSP Data List.
Arg2 is the offset within the Dsp Data List to start the copy.
Index
1475
AF Number: 376
Name: L4CH Load channel information into working buffer
Description: Loads L4CH channel information into working buffer
Arg1: <Channel Info>
0: Local
1: Connected
Arg2: <Not Used>
AF Number: 377
Name: L4CH Add TLV from Digit Array to CSR For Router
Description: Adds Digit Type TLV to CSR for the TAG in GPR
Arg1: <GPR # {GPR has Tag Type in it}>
Arg2: <Not Used>
AF Number: 378
Name: L4CH Add Span/Channel TLV to CSR For Router with Offset
Description: This AF adds a Span/Channel Offset from its own channel num.
Arg1: <GGPR # {Span Offset}>
Arg2: <GGPR # {Channel Offset}>
Note Arg1 is the GGPR carrying Span Offset. If the GGPR has 0 in the offset value is taken from the cfg Byte TLV Data.
Arg2 is the GGPR carrying Channel offset. If the GGPR has 0 in the offset value is taken from the cfg Byte TLV Data.
AF Number: 379
Name: L4CH Add Call Profile stamp
Description: This AF where ever inserted adds the call profiling Data for that channel if Call profiling for that channel is enabled.
Arg1: <Check Point Number #>
Arg2: <Not Used>
Note: Arg1 has the check point number that the call profile has to be tagged with.
AF Number: 381
Name: L4CH Check CSRin incoming_l4 Buff, whether to send Call Req or Outseize Control
Description: Outgoing CH looks for the TLV inserted by incoming CH by calling atomic function 382.
MSP
1476
Arg1: <Not Used>
Arg2: <Not Used>
Note: Return 0x01 if Outseize Control
AF Number: 382
Name: L4CH Add TLV for the call Type in CSR in L4 Outgoing Buffer
Description: The incoming CH instance adds this TLV for the Outgoing CH to decide whether to send L3_call_req or L3_ouseize_control.
Arg1: <GP Register #>
Arg2: <Not Used>
AF Number: 383
Name: L4CH Add Standard OUTSEIZE ICB TLV in L4 incoming buffer
Description: L4CH adds standard OUTSEIZE ICB TLV in L4 incoming buffer
Arg1: <Option Type #>
Arg2: <Not Used>
Note: Adds a standard formatted ICB
1: Seize
2: Use Instruction List
AF Number: 385
Name: L4CH Send Route Control Msg Reject to RTR using L4 outgoing buffer
Description: Sends NACK for the message.
Arg1: <GPR #>
Arg2: <Not Used>
AF Number: 386
Name: L4CH Send Route Control Msg Ack to RTR using L4 outgoing buffer
Description: Sends an ACK for the message
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 387
Name: L4CH Store RTR Handle from Incoming L4 Buffer
Description: Stores the Router Handle in Private R/W for future communication with the router.
Index
1477
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 388
Name: L4CH Check CSR in l4 incoming, whether the CSR has Outseize ICBs
Description: Checks for Outseize Control ICB in the message.
Arg1: <Not Used>
Arg2: <Not Used>
Note: {Returns 0-Yes; 1-No}
AF Number: 389
Name: Invoke Timer
Description: Initiates the timer type specified in Arg 1 for the duration specified in the GPR indicated in Arg 2.
Arg1: <Timer Type>
Arg2: <GPR Index>
MSP
1478
Layer 4 Call Management (0x0062)
Atomic Functions
The following Atomic Functions (AF) are specific to the Layer 4 Call Management (0x0062) PPL component.
AF Number: 51
Name: Purge Call
Description: Initiates a purge of the local CH and the remote channel with reason in arg1.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 52
Name: Test Local Channel State of Msg in CH Incoming Buffer
Description: Tests the local CH channel state in either a CH Call Service Request or Call Service Ack. Return value through internal state.
Arg1: <Reason>
Arg2: <Not Used>
AF Number: 53
Name: Test Channel Answer Supervision Mode
Description: Tests the shared RW answer supervision mode. Return value through internal state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: Block Invalid Events in next Normal State
Description: Function to tell the state machine pre-processor to block any events which would be invalid events for the next normal state. The blocking is cleared after the state is exited.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 55
Name: Test Local End Release Mode
Index
1479
Description: Tests the shared RW local end release mode. Return value through internal state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 56
Name: Test Distant End Release Mode
Description: Tests the shared RW distant end release mode. Return value through internal state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 57
Name: Reset CM remote channel database
Description: Function to reset the RW area when a call is being torn down.
Arg1: <Not Used>
Arg2: <Not Used>
Note: The following RW variables are reset: Remote Chan ID, Remote PCM Format and Remote DB Padding.
AF Number: 58
Name: Store Local Channel State in L4 CH Incoming Buffer into GPR
Description: Extracts the L4 CH call state from the incoming message and stores it into the specified GPR.
Arg1: <GPR>
Arg2: <Not Used>
AF Number: 59
Name: Stop all CM Timers
Description: Stops any active CM Timers
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 60
Name: Test Flash Timing Mode
Description: Tests the shared RW flash timing mode. Return value through internal state.
MSP
1480
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 61
Name: Test DERM Override in CH Incoming Buffer
Description: Tests the value of the CH provided DERM override flag in the message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 62
Name: ACK PPL Event Request
Description: Used to ack the host PPL Event Request
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Send L5 PPL Event Indication <event ID> using outgoing L5 buffer
Description: Sends a PPL Event Indication to L5
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 70
Name: Send Connect Request to CM using CM outgoing buffer
Description: Function to send a connect request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 71
Name: Send Call Service Request to CM using CM outgoing buffer
Description: Function to send a call service request to the remote CM. All relevant channel information is loaded into the outgoing message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 72
Name: Send Call Service Ack Request to CM using CM outgoing buffer
Index
1481
Description: Function to send a call service ack to the remote CM. All relevant channel information is loaded into the outgoing message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 73
Name: Send Call Service Reject Request to CM using CM outgoing buffer
Description: Function to send a call service reject to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 74
Name: Send Alerting Call Service Request to CM using CM outgoing buffer
Description: Function to send an alerting request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 75
Name: Send Cut-Thru Call Service Request to CM using CM outgoing buffer
Description: Function to send a cut-thru request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 76
Name: Send Answer Call Service Request to CM using CM outgoing buffer
Description: Function to send an answer request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 77
Name: Send Clear Connection Service Request to CM using CM outgoing buffer
Description: Function to send a clear connection request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 78
MSP
1482
Name: Send Clear Call Service Request to CM using CM outgoing buffer
Description: Function to send a clear call request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 79
Name: Send CSR Reject to source of current msg
Description: Function to immediately send a call service reject to the remote CM with the specified reject reason.
Arg1: <Reject Reason>
Arg2: <Not Used>
AF Number: 80
Name: Send Channel Information Request to CM using outgoing CM buffer
Description: Function to send a channel information request to the remote CM. All relevant channel information is loaded into the outgoing message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 81
Name: Send Channel Information Ack using current CM message
Description: Function to immediately send a call information ack to the remote channel that requested the information.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 82
Name: Send Flash Service Request to CM using CM outgoing buffer
Description: Function to send a flash request to the remote CM.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 100
Name: Send Call Service Reject Indication to CH using CH outgoing buffer
Description: Function to send a call service reject indication to the local CH in response to a call service request made by the CH.
Arg1: <Not Used>
Index
1483
Arg2: <Not Used>
AF Number: 101
Name: Send Call Service ACK Indication to CH using CH outgoing buffer
Description: Function to send a call service ack indication to the local CH in response to a call service request made by the CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: Send Alerting Call Service Indication to CH using CH outgoing buffer
Description: Function to send an alerting request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 103
Name: Send Cut-Thru Call Service Indication to CH using CH outgoing buffer
Description: Function to send a cut-thru request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 104
Name: Send Answer Call Service Indication to CH using CH outgoing buffer
Description: Function to send an answer request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 105
Name: Send Call Service Request Indication to CH using CH outgoing buffer
Description: Function to send a call service request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 106
Name: Send Clear Call Service Indication to CH using CH outgoing buffer
Description: Function to send a clear call request indication to the local CH.
MSP
1484
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 107
Name: Send Clear Connection Service Indication to CH using CH outgoing buffer
Description: Function to send a clear connection request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 108
Name: Send Flash Service Indication to CH using CH outgoing buffer
Description: Function to send a flash request indication to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 109
Name: Send Clear Ack to CH using CH outgoing buffer
Description: Function to send a clear ack event to the local CH.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 110
Name: Send L4RTR Route Call Service Request
Description: Send L4RTR Route Call Service Request using RTR Outgoing Buffer
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 120
Name: Store Remote Chan ID from Call Service Req in CH Incoming Buffer
Description: Function to store only the remote channel ID into the local RW area from an incoming call service request or ack for acknowledgment or reject return purposes only.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 121
Index
1485
Name: Store Remote Chan Data from CM Call Service Req/Ack in CM Incoming Buffer
Description: Function to store all relevant channel information (i.e. Remote Chan ID, Remote PCM Format, Remote DB Padding) into the local RW area from an incoming call service request or ack.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 140
Name: Store CH data in CH incoming buffer
Description: Transfers any data buffer attached to the CH message to the CH incoming buffer. Any data previously in the CH incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 141
Name: Store CM data in CM incoming buffer
Description: Transfers any data buffer attached to the CM message to the CM incoming buffer. Any data previously in the CM incoming buffer is lost.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 142
Name: Transfer data from CH incoming to CM outgoing
Description: Transfers data from one buffer to another in the specified mode. The buffer pointer is simply moved and the source pointer is cleared.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 143
Name: Transfer data from CM incoming to CH outgoing
Description: Transfers data from one buffer to another in the specified mode. The buffer pointer is simply moved and the source pointer is cleared.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 144
Name: Clear CH outgoing buffer
MSP
1486
Description: De-allocates any CH outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 145
Name: Clear CM outgoing buffer
Description: De-allocates any CH outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 146
Name: Test for CH outgoing buffer
Description: Deallocates any CH incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 147
Name: Test for CM outgoing buffer
Description: Deallocates any CM incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 160
Name: Send Local Call Connect VP Request to PC
Description: Informs PC that the local CM is ready for a voice path connection
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 161
Name: Send Remote Call Connect VP Request to PC
Description: Informs PC that the remote CM is ready for a voice path connection
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 162
Name: Send Disconnect VP Request to PC
Index
1487
Description: Instructs PC to disconnect the voice path
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 163
Name: Send Local Forced Connect VP Request to PC
Description: Instructs PC to immediately setup the voice path connection.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 170
Name: Set/Update Routing Status for Channel
Description: Updates the routing Database to the status { 1= FREE, 2=BUSY }
Arg1: <Not Used>
Arg2: <Not Used>
Note: <Status 1=FREE, 2=BUSY>
AF Number: 171
Name: Send Call Service Reject Indication to RTR using RTR Outgoing
Description: Sends a Reject message to the Remote RTR in response to a Call service request.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 172
Name: Store Remote Chan Data from RTR Call Service Req/Ack in RTR Incoming Buffer
Description: Stores the Remote Chan Data from RTR Call Service Req/Ack in RTR Incoming Buffer in the private RW area
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 173
Name: Transfer CH Incoming into RTR Outgoing
Description: Transfer’s the message from CH incoming buffer to RTR outgoing buffer
Arg1: <Not Used>
MSP
1488
Arg2: <Not Used>
AF Number: 174
Name: Store RTR Data Into RTR Incoming/RTR Addr. Block
Description: Stores the RTR Data Into RTR Incoming/RTR Addr. Block in the private RW area
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 175
Name: Transfer Data from RTR Incoming to CH Outgoing
Description: Transfer’s the message from RTR incoming buffer to CH outgoing buffer
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 176
Name: Send Call Service Request Ack to RTR using RTR outgoing buffer
Description:
Arg1: <Not Used>
Arg2: <Not Used>
Index
1489
Layer 4 Physical Connection (0x0063)
Atomic Functions
The following Atomic Functions (AF) are specific to the Layer 4 Physical Connection (0x0063) PPL component.
AF Number: 51
Name: PCM Connect local channel to remote channel
Description: Establishes a 1-way PCM connection with the remote channel as the source.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 52
Name: Disconnect local channel
Description: Disconnects the local channel form all other channels.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 53
Name: PCM Forced connect local channel to remote channel
Description: Sends a forced connection message to the local switch manager.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: ACK PPL Event Request
Description: Sends an acknowledgment to a host PPL Event Request message with the status indicated in Arg1.
Arg1: <Status>
Arg2: <Not Used>
AF Number: 55
Name: Send L4 PPL Event Indication
Description: Sends a PPL Event Indication message to the host with the event indicated by Arg1.
Arg1: <Event ID>
Index
1491
Call Control Router (0x0064)
Atomic Functions
The following AFs are specific to the MSP 1010 Call Control Router (0x0064) PPL component.
AF Number: 101
Name: Store incoming data in incoming buffer <0:initiate,1:terminate>
Description: Stores the incoming data in the buffer passed as the argument.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: Get Routing method type from incoming initiate buffer and load in Gen. Purpose Register
Description: This function extracts the Route Group ID from the incoming message.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 103
Name: Load Route Group ID type search key from incoming initiate buffer in Gen. Purpose Register
Description: This function extracts the Route Group ID from the incoming message.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 104
Name: Set Resource Group Member pointer to the Address Element indexed by Gen. Purpose Register
Description: Points the Resource Group Member pointer to the Address Element index given in the GP Register.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 106
Name: Load Entry Data tag in Gen. Purpose Register
Description: Loads the Entry Data Tag from the TLV that Entry Data TLV Pointer currently points to.
MSP
1492
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 107
Name: Test for end of route Table
Description: Tests for end of the route table for a given row num passed as an argument to the atomic function ( Null pointer means end of the route table… It means that the route table has to be continuous with non null rows ).
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 108
Name: Load Resource Group Member count in Gen. Purpose Register
Description: Loads the count of the total members in a Resource Group, in the specified Gen. Purpose Register.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 109
Name: Test address type <0:initiate,1:terminate>
Description: Tests the address type for the initiate and terminate addresses
Arg1: 0-initiate address;
1-terminate address
Return Value:
PPLevINT_EVENT_0 - Invalid or unrecognized address
PPLevINT_EVENT_1 - Timeslot address (CM)
PPLevINT_EVENT_2 - Router address (RTR)
Arg2: <Not Used>
AF Number: 111
Name: Clear Buffer <0:incoming initiate,1:outgoing initiate,2:incoming terminate,3:outgoing terminate>
Description: Function to clear a specified working buffer
Arg1: 0-incoming init.
1-outgoing init.
2-incoming term
3-outgoing term
Index
1493
Arg2: <Not Used>
AF Number: 114
Name: Check Available status of timeslot in terminate address
Description Checks the status of the local timeslot; returns PPLevINT_EVENT_1 if free or PPLevINT_EVENT_0 if Busy.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 115
Name: Send Call Service Request to terminate address using outgoing terminate buffer
Description: Sends Call Service Request to terminate address using outgoing terminate buffer
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 116
Name: Send Call Service Reject to initiate address using outgoing initiate buffer
Description: Sends Call Service Reject to initiate address using outgoing initiate buffer
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 117
Name: Set Route table to point to the row number in Gen. Purpose Register
Description: Directs Route Table Pointer to the row number specified in the GP register.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 120
Name: Set Entry Data TLV pointer to TLV indexed by Gen. Purpose Register
Description: Points the TLV pointer to the TLV index given in the GP Register.
Arg1: <Register #>
Arg2: <Not Used>
MSP
1494
AF Number: 121
Name: Load TLV count in Gen. Purpose Register
Description: Loads TLV count of the Entry Data Field of the Route Table in Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 122
Name: Initialize the Resource Group pointer to Resource Group ID in Gen. Purpose Register
Description: Initializes the Resource Group pointer to Resource Group ID specified in the Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 123
Name: Load Entry Data Field TLV Value in Gen. Purpose Register
Description: Loads the Entry Data Field TLV Data in Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 124
Name: Translate Address Element Block into terminate address and validate
Description: Validate Span/Channel address in Address Element Block and store result in Timeslot Info Block.
Return Value:
ERROR CASES:
PPLevINT_EVENT_0 - No Address in Block or invalid address
PPLevINT_EVENT_1 - Remote Node Busy
SUCCESS CASES:
PPLevINT_EVENT_10 - valid local span/channel
PPLevINT_EVENT_11 - valid remote span/channel
PPLevINT_EVENT_12 - valid remote node ID
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 125
Index
1495
Name: Initialize Route Table pointer to the table ID from the config Byte
Description: Initializes Route Table pointer to the table ID specified in the config Byte.
Arg1: <Config Byte #>
Arg2: <Not Used>
AF Number: 126
Name: Load Route Group ID from route table row in Gen. Purpose Register
Description: Loads the Route Group ID from route table row in the specified Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 127
Name: Load Criteria type from route table row in Gen. Purpose Register
Description: Loads the Criteria Type from route table row in the specified Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 128
Name: Load Address Digits from incoming initiate buffer into the criteria data array
Description: Loads Address Digits from incoming initiate buffer into the criteria data array
Arg1: <String #>
Arg2: <Not Used>
AF Number: 129
Name: Load incoming Logical Span/Channel num from incoming initiate buffer into the criteria data array
Description: Loads incoming Logical Span/Channel num from incoming initiate buffer into the criteria data array
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 130
Name: Load time of the day into the criteria data array
Description: Loads time of the day into the criteria data array
MSP
1496
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 132
Name: Transfer Data in buffer <0:initiate to terminate,1:terminate to initiate> <0:move,1:copy>
Description: Transfer Data between buffers
Arg1: 0-initiate to terminate
1-terminate to initiate
Arg2: 0-move,
1-copy
AF Number: 134
Name: Load number of digits to compare into the Gen Purpose Register
Description: Loads the number of digits to compare into the specified GP Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 136
Name: Compare number of digits loaded in the GP Register of the criteria data array to the criteria data field in the route table (with mask
Description: Compares the number of digits loaded in the GP Register of the criteria data array to the criteria data field in the route table.
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 137
Name: Compare Span Channel Address in criteria data array to the criteria data field in the route table
Description: Compares Span Channel Address in criteria data array to the criteria data field in the route table
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 138
Name: Compare Time of the day in criteria data array to the criteria data field in the route table
Index
1497
Description: Compares Time of the day in criteria data array to the criteria data field in the route table.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 142
Name: Load Resource Group Address Element TLV Data in Address Element block
Description: Loads the Resource Group Address Element TLV Data in Address Element block
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 148
Name: Send Call Service Request Ack to initiate address using outgoing initiate buffer
Description: Sends Call Service Request Ack to initiate address using outgoing initiate buffer
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 149
Name: Send Call Service Reject to initiate address using outgoing initiate buffer and reject reason
Description: Sends Call Service Reject to initiate address using outgoing initiate buffer and reject reason
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 151
Name: Load Resource Group TLV in Resource Group Array # in Gen Purpose Register
Description: Loads the Resource Group TLV in Resource Group Array # in Gen Purpose Register (Used while processing multi criteria requests)
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 152
Name: Initialize Resource Group Table pointer to the table ID from the config Byte
MSP
1498
Description: Initializes the Resource Group Table pointer to the table ID from the specified config Byte
Arg1: <Config Byte #>
Arg2: <Not Used>
AF Number: 153
Name: Find/Test a common set of Resource Group and load them into the resource group array
Description: Finds/Tests a common set of Resource Group and loads them into the resource group array (Used for Multi criteria)
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 154
Name: Resource Group Table pointer to the first table ID in the resource group array
Description: Initializes Resource Group Table pointer to the first table ID in the resource group array
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 155
Name: Load Resource Group TLV in Resource Group Array # in Gen Purpose Register
Description: Loads the Resource Group TLV in Resource Group Array # in Gen Purpose Register (Used while processing multi criteria requests)
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 156
Name: Load Entry Data Field TLV Data in Address Element Block
Description: Loads Entry Data Field TLV Data in Address Element Block
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 157
Name: Load Resource Group ID from incoming initiate buffer in Gen. Purpose Register
Index
1499
Description: Loads the Resource Group ID from incoming initiate buffer in Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 158
Name: Load Span/Channel Address Element from incoming initiate buffer in Address Element block
Description: Loads the Span/Channel Address Element from incoming initiate buffer in Address Element block
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 159
Name: Load Criteria Type search key from incoming initiate buffer into Gen. Purpose Register
Description: Loads the Criteria Type search key from incoming initiate buffer into Gen. Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 166
Name: Move Gen Purpose Register to Global Gen Purpose Register < Register #>
Description: Moves the contents of Gen Purpose Register to the specified Global Gen Purpose Register
Arg1: <To Register #>
Arg2: <Not Used>
AF Number: 167
Name: Move Global Register to Gen Purpose Register < Register #>
Description: Moves the contents of Global Register to the Gen Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 168
Name: Load Resource Group ID from incoming initiate buffer in Gen. Purpose Register
Description: Global Register (GP Register index #) to Gen Purpose Register
MSP
1500
Arg1: <Register #>
Arg2: <Not Used>
AF Number: 169
Name: Move Gen Register (GP Register index #) to Global Gen Purpose Register
Description: Moves Gen Register (GP Register index #) to Global Gen Purpose Register
Arg1: <Register #>
Arg2: <Not Used>
Index
1501
SS7 Atomic Functions
BT IUP CPC (0x0052)
Purpose
The following atomic functions are used by the BT IUP CPC variant
Atomic Functions
AF Number: 151
Name: IUPCPC Send IAM to L3P
Description: This function will forward the received IAM message to L3P. L3P will receive it as event IUP_L3PnIAM with an data buffer containing the received IAM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 152
Name: IUPCPC Send IFAM to L3P
Description: This function will forward the received IFAM message to L3P. L3P will receive it as event IUP_L3PnIFAM with an data buffer containing the received IFAM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 153
Name: IUPCPC Send SAM to L3P
Description: This function will forward the received SAM message to L3P. L3P will receive it as event IUP_L3PnSAM with an data buffer containing the received SAM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
MSP
1502
AF Number: 154
Name: IUPCPC Send FAM to L3P
Description: This function will forward the received FAM message to L3P. L3P will receive it as event IUP_L3PnFAM with an data buffer containing the received FAM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 155
Name: IUPCPC Send ASUI to L3P
Description: This function will forward the received ASUI message to L3P. L3P will receive it as event IUP_L3PnASUI with an data buffer containing the received ASUI message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 156
Name: IUPCPC Send SND to L3P
Description: This function will forward the received SND message to L3P. L3P will receive it as event IUP_L3PnSND with an data buffer containing the received SND message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 157
Name: IUPCPC Send SAD to L3P
Description: This function will forward the received SAD message to L3P. L3P will receive it as event IUP_L3PnSAD with an data buffer containing the received SAD message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1503
Outputs: Message queued for L3P
Returns: Success
AF Number: 158
Name: IUPCPC Send SASUI to L3P
Description: This function will forward the received SASUI message to L3P. L3P will receive it as event IUP_L3PnSASUI with an data buffer containing the received SASUI message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 159
Name: IUPCPC Send ACM to L3P
Description: This function will forward the received ACM message to L3P. L3P will receive it as event IUP_L3PnACM with an data buffer containing the received ACM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 160
Name: IUPCPC Send CNG to L3P
Description: This function will forward the received CNG message to L3P. L3P will receive it as event IUP_L3PnCNG with an data buffer containing the received CNG message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success
AF Number: 161
Name: IUPCPC Send SEM to L3P
Description: This function will forward the received SEM message to L3P. L3P will receive it as event IUP_L3PnSEM with an data buffer containing the received SEM message converted into TLV format.
MSP
1504
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 162
Name: IUPCPC Send CNA to L3P
Description: This function will forward the received CNA message to L3P. L3P will receive it as event IUP_L3PnCNA with an data buffer containing the received CNA message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 163
Name: Check Incoming Congestion
Description: This function will check for congestion in the inbound direction.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: PPLevINT_EVENT_1 if congestion is detected. Otherwise, it is PPLevINT_EVENT_0.
Returns: Success always
AF Number: 166
Name: IUPCPC Send ANS to L3P
Description: This function will forward the received ANS message to L3P. L3P will receive it as event IUP_L3PnANS with an data buffer containing the received ANS message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 167
Name: IUPCPC Send CLR to L3P
Index
1505
Description: This function will forward the received CLR message to L3P. L3P will receive it as event IUP_L3PnCLR with an data buffer containing the received CLR message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 168
Name: IUPCPC Send RAM to L3P
Description: This function will forward the received RAM message to L3P. L3P will receive it as event IUP_L3PnRAM with an data buffer containing the received RAM message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 169
Name: IUPCPC Send REL to L3P
Description: This function will forward the received REL message to L3P. L3P will receive it as event IUP_L3PnREL with an data buffer containing the received REL message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 170
Name: IUPCPC Send CCF to L3P
Description: This function will forward the received CCF message to L3P. L3P will receive it as event IUP_L3PnCCF with an data buffer containing the received CCF message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
MSP
1506
AF Number: 171
Name: IUPCPC Send BLO to L3P
Description: This function will forward the received BLO message to L3P. L3P will receive it as event IUP_L3PnBLO with an data buffer containing the received BLO message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 172
Name: IUPCPC Send UBL to L3P
Description: This function will forward the received UBL message to L3P. L3P will receive it as event IUP_L3PnUBLwith an data buffer containing the received UBL message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 173
Name: IUPCPC Send BLA to L3P
Description: This function will forward the received BLA message to L3P. L3P will receive it as event IUP_L3PnBLA with an data buffer containing the received BLA message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 174
Name: IUPCPC Send UBA to L3P
Description: This function will forward the received UBA message to L3P. L3P will receive it as event IUP_L3PnUBA with an data buffer containing the received UBA message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Index
1507
Returns: Success always
AF Number: 175
Name: IUPCPC Send OVL to L3P
Description: This function will forward the received OVL message to L3P. L3P will receive it as event IUP_L3PnOVL with an data buffer containing the received OVL message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 176
Name: IUPCPC Send CFN to L3P
Description: This function will forward the received CFN message to L3P. L3P will receive it as event IUP_L3PnCFN with an data buffer containing the received CFN message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 178
Name: IUPCPC Send ACI to L3P
Description: This function will forward the received ACI message to L3P. L3P will receive it as event IUP_L3PnACI with an data buffer containing the received ACI message converted into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for L3P
Returns: Success always
AF Number: 179
Name: Send L5 PPL Event Indication without data.
Description: This function will send a PPL Event Indication to the host with the event number specified in Arg1.
Arg1: The Event Indication Number
Arg2: <Not Used>
MSP
1508
Outputs: Message queued for L5
Returns: Success, or the channel will purge if internal errors occur
AF Number: 180
Name: IUPCPC Send L5 PPL Event Indication with Raw Data
Description: This function will send a message to L3P indicating that an Invalid ACI message was received from MTP. L3P will receive it as event L3P_L3evINV_ACI with an data buffer containing the received invalid message converted into TLV format.
Arg1: The Event Indication Number
Arg2: <Not Used>
Outputs: Message queued for L5
Returns: Success always
AF Number: 181
Name: Get Timer associated value
Description: Retrieves the associated value
Arg1: Timer number
Arg2: Register to contain associated value
Returns: Success always
AF Number: 182
Name: Send PPL Event Indication CLR to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 183
Name: Send PPL Event Indication RE-ANSWER (RAN) to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 184
Name: Send PPL Event Indication SUS to L5
Arg1: <Not Used>
Arg2: <Not Used>
Index
1509
Returns: Success always
AF Number: 185
Name: Send PPL Event Indication RES to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 186
Name: Send PPL Event Indication SWAP to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 187
Name: Send Block Upon Release Event to L3
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 191
Name: IUPCPC Send IAM to SPRC
Description: This function will convert a TLV IAM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 192
Name: IUPCPC Send IFAM to SPRC
Description: This function will convert a TLV IFAM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
MSP
1510
Returns: Success always
AF Number: 193
Name: IUPCPC Send SAM to SPRC
Description: This function will convert a TLV SAM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 194
Name: IUPCPC Send FAM to SPRC
Description: This function will convert a TLV FAM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 195
Name: IUPCPC Send ASUI to SPRC
Description: This function will convert a TLV ASUI message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 196
Name: IUPCPC Send SND to SPRC
Description: This function will convert a TLV SND message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
Index
1511
AF Number: 197
Name: IUPCPC Send SAD to SPRC
Description: This function will convert a TLV SAD message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns Success always
AF Number: 198
Name: IUPCPC Send SASUI to SPRC
Description: This function will convert a TLV SASUI message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 199
Name: IUPCPC Send ACM to SPRC
Description: This function will convert a TLV ACM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 200
Name: IUPCPC Send CNG to SPRC
Description: This function will convert a TLV CNG message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
MSP
1512
AF Number: 202
Name: IUPCPC Send CNA to SPRC
Description: This function will convert a TLV CNA message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 203
Name: IUPCPC Send SEM to SPRC
Description: This function will convert a TLV SEM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 206
Name: IUPCPC Send ANS to SPRC
Description: This function will convert a TLV ANS message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 207
Name: IUPCPC Send CLR to SPRC
Description: This function will convert a TLV CLR message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 208
Index
1513
Name: IUPCPC Send RAM to SPRC
Description: This function will convert a TLV RAM message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 209
Name: IUPCPC Send REL to SPRC
Description: This function will convert a TLV REL message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 210
Name: IUPCPC Send CCF to SPRC
Description: This function will convert a TLV CCF message into raw format and queue it up for SPRC or MTP.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 211
Name: IUPCPC Send BLO to SPRC
Description: This function will convert a TLV BLO message into raw format and queue it up for SPRC or MTP.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 212
Name: IUPCPC Send UBL to SPRC
MSP
1514
Description: This function will convert a TLV UBL message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 213
Name: IUPCPC Send BLA to SPRC
Description: This function will convert a TLV BLA message into raw format and queue it up for SPRC or MTP.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 214
Name: IUPCPC Send UBA to SPRC
Description: This function will convert a TLV UBA message into raw format and queue it up for SPRC or MTP.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 215
Name: IUPCPC Send OVL to SPRC
Description: This function will convert a TLV OVL message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 216
Name: IUPCPC Send CFN to SPRC
Index
1515
Description: This function will convert a TLV CFN message into raw format and queue it up for SPRC or MTP.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 218
Name: IUPCPC Send ACI to SPRC
Description: This function will convert a TLV ACI message into raw format and queue it up for SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message queued for SPRC
Returns: Success always
AF Number: 219
Name: IUPCPC SEND REL w/data to SPRC
Description: This function will format a raw Release message with the reason supplied in Arg1 and queue it up for MTP
Arg1: Decimal value of Release Reason
Arg2: <Not Used>
Outputs: Message queued for MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 220
Name: IUPCPC Send CNA w/data to SPRC
Description: This function will format a raw Connection Not Admitted message with the reason suPPLied in Arg1 and queue it up for SPRC.
Arg1: Decimal value of CNA Reason
Arg2: Decimal value of CNA Diagnostics
Outputs: Message queued for SPRC or MTP
Returns: Success or PPLerrAF_INITIATED_RESET if the send to MTP fails
AF Number: 221
Name: Check for Incoming Congestion
MSP
1516
Description: This function will check an internal variable to see if incoming congestion has been detected.
Arg1: NA
Arg2: NA
Outputs: PPLevINT_EVENT_0 when no congestion exists. PPLevINT_EVENT_1
when Congestion IS Present.
Returns: Success always
AF Number: 232
Name: IUPCPC Test if Circuit is Blocked
Description: This function will test the blocked state of the circuit. The user may specify which of three types of blocking conditions for both local and remote circuit ends. The routine will return with a PPL event corresponding to it’s state. PPLevINT_EVENT_0 if not blocked, or PPLevINT_EVENT_1 if blocked.
Arg1: Circuit end to check. 0 = Local, 1 = Remote
Arg2: Type of Block to check. 0 = Maintenance, 1 = Hardware, 2 = Software
Outputs: See above
Returns: Success always
AF Number: 233
Name: IUPCPC Set Local Circuit Maintenance status to user specified state.
Description: This function will set the local circuit’s maintenance status to the value specified in Arg1.
Arg1: State
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 236
Name: IUPCPC Validate and Convert SPRC message to TLV format
Description: This function will validate and convert raw message into TLV format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: A buffer containing the TLV format of the raw message.
If successful PPLevINT_EVENT_1, otherwise PPLevINT_EVENT_0.
Returns: Success always
Index
1517
AF Number: 247
Name: IUPCPC Send Unknown MSG to SPRC
Description: This function will send a message containing the Generic TLV Entry Data to raw format, and send it to SPRC.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 250
Name: IUPCPC Get IUP message Parameter byte from the TLV into GPR #19
Description: This function will search for the TLV ID and byte specified in args 1 and 2 and return with GPR 19 containing the value of the specified byte.
Arg1: The TLV ID to be retrieved.
Arg2: The byte within the TLV to be place into GPR 19
Outputs: If successful GPR 19 will contain the specified byte and return with PPLevINT_EVENT_1.
Otherwise, GPR 19 will be set to 0 and we return PPLevINT_EVENT_0.
Returns: Success
AF Number: 253
Name: IUPCPC Update Remote Circuit Maintenance Block State to users specified state.
Description: This function will set an internal variable indicating the state of Remote Circuit’s maintenance block state.
Arg1: The State. 0 = Unblocked, 1 = Blocked
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success
MSP
1518
ISUP BLS, HGBS, and MGBS
Purpose
The following atomic function is used by the following components:
ISUP BLS (0x0016)
ISUP HGBS (0x007)
ISUP MGBS (0x0045)
Atomic Functions
AF Number: 69
Name: Check ISUP variant ID
Description: Finds ISUP variant ID of the stack.
Arg1: <Not Used>
Arg2: <Not Used>
Result: Returns a PPL event corresponding to the variant ID configured.
Index
1519
ISUP CPC (0x0012)
This section documents the atomic functions associated with ISUP CPC.
Atomic Functions
AF Number 51
Name Send SPRC Circuit Status Query
Description Sends a CIC circuit query to SPRC.
Arg1 <Not Used>
Arg2 <Not Used>
AF Number 52
Name Test Circuit Query Local Blocking MPC Status
Description Test the CIC Circuit status from SPRC for local maintenance blocking.
Arg1 <Not Used>
Arg2 <Not Used>
Test Result PPL Internal Event
Circuit not locally blocked
0
Circuit locally blocked
1
AF Number: 53
Name: Test Circuit Query Remote Blocking MPC Status
Description: Test the CIC Circuit status from SPRC for remote maintenance blocking.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Circuit not remotely blocked
0
Circuit remotely blocked
1
AF Number: 54
MSP
1520
Name: Send SPRC CPC Circuit Status
Description: Sends a CIC circuit state update to SPRC with the ‘CPC’ status bits set to Arg1.
Arg1: <Circuit Status>
Arg2: <Not Used>
AF Number: 55
Name: Test Parameter with Bit Mask
Description: Tests a bit field within the parameter indicated by Arg1.
The most significant byte of Arg2 is used as a byte offset into the parameter. The least significant byte of Arg2 is used as a bit mask which is masked with the byte in the parameter specified in the MSB of Arg2. The result is then right-shifted until the right-most bit in the mask is in the least significant bit.
Arg1: <Parameter ID>
Arg2: <Byte Offset/Bit Mask>
Test Result
PPL Internal Event
Value 0 + value of bit field
AF Number: 56
Name: Send CCI Start
Description: Sends a Start event to CCI.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 57
Name: Test Parameter for Value
Description: Tests a byte within the parameter indicated by Arg1.
The most significant byte of Arg2 is used as a byte offset into the parameter. The least significant byte of Arg2 is used as the test value for the byte.
Arg1: <Parameter ID>
Arg2: <Byte Offset/Value>
Test Result PPL Internal Event
Values are not equal
0
Values are equal 1
Index
1521
AF Number: 58
Name: Send BLS Blocking
Description: Sends a Blocking event to BLS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 59
Name: Send SPRC MPC Remote Blk Circuit Status
Description: Sends a CIC circuit state update to SPRC with the ‘remote blocking’ status bit set to Arg1.
Arg1: <Circuit Status>
Arg2: <Not Used>
AF Number: 60
Name: Send SPRC Release Complete
Description: Formats and sends a RLC message to SPRC to be submitted to MTP using L3p provided parameters (if any are present).
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 61
Name: Send CRS Start
Description: Sends a Start event to CRS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 62
Name: Send SPRC Transient Circuit Status
Description: Sends a CIC circuit state update to SPRC with the ‘transient’ status bit set to Arg1.
Arg1: <Status>
Arg2: <Not Used>
AF Number: 63
Name: Send L3P Remote Block/Unblock Circuit Indication
Description: Sends L3P a Maintenance Block or Unblock, as indicated by Arg1.
MSP
1522
Arg1: <Circuit Status>
0 Maintenance Block
1 Maintenance Unblock
Arg2: <Not Used>
AF Number: 64
Name: Send L3P User-Defined Message Indication
Description: Formats and sends L3p a User-defined message indication including parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 65
Name: Send SPRC User-Defined Message
Description: Formats and sends a user-defined message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 66
Name: Send BLR Unblocking
Description: Sends an unblocking indication to BLR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 67
Name: Send HRB Unblocking
Description: Sends an unblocking indication to HRB.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 68
Name: Send CCI Stop
Description: Sends a stop indication to CCI.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1523
AF Number: 69
Name: Resend SPRC Release
Description: Resends a stored REL message to SPRC to be submitted to MTP. A REL message must first be stored in the re-transmission buffer (see Atomic Functions 72 and 73).
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 70
Name: Store IAM Information
Description: Temporarily stores an incoming IAM in a storage buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 71
Name: Send L3P Setup Indication
Description: Formats and sends a setup indication to L3P using the parameters in the current message. If no parameters are present in the current message, then the storage buffer is used as the parameter source.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 72
Name: Send SPRC Release
Description: Formats and sends a REL message to SPRC to be submitted to MTP using L3P provided parameters. The REL message is also copied and stored in the re-transmission buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 73
Name: Send SPRC Release
Description: Formats and sends a REL message to SPRC to be submitted to MTP using prestored parameters in the PPL Config Bytes at offset specified in Arg1. The REL message is also copied and stored in the re-transmission buffer.
Arg1: <Config Byte Offset of Parameters>
Arg2: <Not Used>
MSP
1524
AF Number: 74
Name: Send SPRC ACM
Description: Formats and sends an ACM message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 75
Name: Send L3P Release Indication
Description: Formats and sends a release indication to L3p using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 76
Name: Send L3P Reset Indication
Description: Formats and sends a reset indication to L3p using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 77
Name: Send SPRC ANM
Description: Formats and sends an ANM message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 78
Name: Send L3P Release Confirm
Description: Formats and sends a Release Confirm to L3P using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 79
Index
1525
Name: Send SPRC CPG
Description: Formats and sends an CPG message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 80
Name: Send SPRC IAM
Description: Formats and sends an IAM message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 81
Name: Send L3P ACM Indication
Description: Formats and sends an ACM indication to L3P using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 82
Name: Send L3P CPG Indication
Description: Formats and sends a CPG indication to L3P using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 83
Name: Send L3P ANM Indication
Description: Formats and sends an answer indication to L3P using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 84
Name: Send HGBS Blocking
Description: Sends a blocking event to HGBS.
MSP
1526
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 85
Name: Send L3P ISUP Event Indication
Description: Sends a generic event indication to L3p using the event ID specified in Arg1.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 86
Name: Send L5 PPL Event Indication
Description: Formats and sends a PPL Event Indication to the host with no parameters.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 87
Name: Test Circuit Query Local Blocking HWB Status
Description: Test the CIC Circuit status from SPRC for local hardware blocking.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Not Blocked
0
Blocked 1
AF Number: 88
Name: Validate L3P SS7 Parameters
Description: Function to test that all mandatory parameters and all parameters lengths are valid for a L3p provided message ICB.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Not Valid 0
Index
1527
Valid 1
AF Number: 89
Name: Test Circuit Query Remote Blocking HWB Status
Description: Test the CIC Circuit status from SPRC for remote hardware blocking.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Not Blocked
0
Blocked 1
AF Number: 90
Name: Send CRR Reset Complete
Description: Sends a reset complete event to CRR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 91
Name: Send CGRR Reset Complete
Description: Sends a reset complete event to CGRR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Send L3P Local Reset Indication
Description: Formats and sends an local reset indication to L3P.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 93
Name: Send L3P Call Failure Indication with RLC pending
Description: Formats and sends a call failure indication to L3P with notification that a release complete event is still pending.
Arg1: <Not Used>
MSP
1528
Arg2: <Not Used>
AF Number: 94
Name: Send SPRC CON
Description: Formats and sends an CON message to SPRC to be submitted to MTP using L3P provided parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 95
Name: Send CRS RESET After T5
Description: Send a ‘reset because of T5’ event to CRS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 96
Name: Send L3P CON Indication
Description: Formats and sends a CON indication to L3p using the parameters in the current message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 97
Name: Send CRCR Start
Description: Send a start event to CRCR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 98
Name: Send L3p Call Failure Indication with no RLC pending
Description: Formats and sends a call failure indication to L3P with notification that no release complete event is pending.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 99
Name: Determine Controlling Exchange Based on DPC/CIC
Index
1529
Description: Function to determine the controlling exchange for dual seizure (glare) based on ITU-TS Q.767 sec. D.2.10.1.4.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 100
Name: CPC Send CRI Start
Description: Sends a Start event to CRI.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 101
Name: CPC Send L3P OOS Request
Description: Sends a CIC Out of Service Request to L3P.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: CPC Send L3P In Service Request
Description: Sends a CIC In Service Request to L3P.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 105
Name: Cpc_af_105
Description: Go through the list of optional parameters and return various internal PPL events based on PCP instruction indicator (or no PCP found) if unexpected parameters are found.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 106
Name: Cpc_af_106
Description: Discard any unknown optional parameters from the message before sending the message to the host.
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1530
AF Number: 107
Name: Cpc_af_107
Description: Send confusion if instruction indicator requires that notification should be sent.
Arg1: CFN Config Byte offset 150
Arg2: <Not Used>
AF Number: 108
Name: Cpc_af_108
Description: Test if notification should be sent or not.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Do not send notification
0
Send notification 1
AF Number: 110
Name: Cpc_af_110
Description: Send a release with cause value 99 to the network.
Arg1: REL Config Byte offset 140
Arg2: <Not Used>
AF Number: 128
Name: Send L3P CRM indication.
Description: Send L3P an incoming CRM indication with data in ICB format.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 129
Name: Send L3P CRM status.
Description: Send the Circuit Reservation status message to L3P.
Arg1: Status to be sent
Arg2: <Not Used>
Index
1531
AF Number: 130
Name: Prepare ISUP message and send it to SPRC.
Description: Build/Re-use existing ISUP message and send it to SPRC.
Arg1: ISUP Message Config Index. Range 0-89
Arg2: Build/re-use flag Range 0-1
AF Number: 131
Name: Prepare ISUP message from Config Bytes and send to SPRC.
Description: Prepare ISUP message specified in Config Bytes and send it to SPRC.
Arg1: ISUP Msg. Config Index. Range 0-89
Arg2: PPL Config Byte offset Range 0-600
AF Number: 132
Name: Cpc_af_132
Description: Send OLM indication to L3P.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 134
Name: Send SSC ISUP message.
Type: Normal
Description: Send SSC an ISUP message with appropriate event.
Arg1: Msg Cfg Index
0 : 89
Arg2: Event ID
0 : 255
Result --
AF Number: 135
Name: Send SSC rel/reset indication
Type: Normal
Description: Sends the one of the following events to SSC based on the event ID:
Local Reset indication
Reset indication
Call failure RLC pending
MSP
1532
Call failure no RLC pending
Arg1: Event ID
0 : 255
Arg2: --
Result --
AF Number: 136
Name: Send SSC COT status
Type: Normal
Description: After the completion of the continuity procedures, this AF sends COT status to SSC.
Arg1: COT Status
0 – Failure, 1 – Success
Arg2: None
--
Result --
AF Number: 137
Name: Send SPRC SGM message
Type: Normal
Description: The Segmentation message constructed in the SSC is sent to the SPRC using this AF.
Arg1: None
--
Arg2: None
--
Result --
AF Number: 138
Name: Send SSC a PAM message
Type: Normal
Description: Forwards the PAM message to the SSC.
Arg1: Event ID
0 : 255
Arg2: None
Atomic Description Arg1 Arg2
Index
1533
Function
104 Check Network Suspend/Resume
-- --
111 Send L3P PPL Event Ind. Event ID (0 : 255)
--
112 Send SPRC ISUP message
Msg. cfg. index (0 : 78)
--
113 Not Used -- --
114 Not Used -- --
115 Not Used -- --
116 Send CCO start -- --
117 Send CCO stop -- --
120 Send SPRC COT status COT Status (0 : 1)
Par. offset (0:255)
121 Send CRO start -- --
122 Send CCO no reports -- --
123 Test if COT expected Par. ID (0 : 255) Par. offset (0:255)
124 CPC send CRCS start -- --
125 Send SPRC COT status COT Status (0 : 1)
Par. offset (0:200)
126 Send SPRC PAM message -- --
127 Send L5 ISUP PAM message
Event ID (0:255) --
AF Number: 149
Type: Normal
Name: Send the ISUP message to L3P CIC.
Description: This atomic function will send any ISUP message to L3PCIC for further processing.
Arg1: This is the Event ID in the L3PCIC.
Input range: 0-255
Arg2: This is the ISUP Message Configuration Index of the message to be sent to L3P CIC.
1-100
Test AF Results <Not Used>
MSP
1534
AF Number: 160
Name: Check ISUP variant ID
Description: Finds ISUP variant ID of the stack.
Arg1: <Not Used>
Arg2: <Not Used>
Result: Returns a PPL event corresponding to the variant ID configured.
Index
1535
cISUP SPRC (0x0013)
This section documents the atomic functions associated with ISUP SPRC.
Atomic Functions
AF Number: 51
Name: Send Message to MTP
Description: Delivers an outgoing message to MTP.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 52
Name: Update CPC Circuit Status and Remove Transient Circuit Status
Description: Updates the ‘CPC’ status bits and clears the ‘transient’ status bit in the CIC state database.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 53
Name: Send Circuit Status to MPC
Description: Returns the current circuit state from the CIC state database to the requesting ISUP state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: Test ISUP Message Configuration Index
Description: Tests for the index into the ISUP Message Configuration Table.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Index Value
0 + Index Value
MSP
1536
AF Number: 55
Name: Test for Unequipped CIC
Description: Test that the CIC(s) that this message refers to is equipped.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Yes (Equipped) 0
No (At least one CIC is unequipped)
1
AF Number: 56
Name: Test If Confusion (CFN) Message
Description: Test if the incoming message is a CFN.
Arg1: <Event ID>
Arg2: <Event Data>
Test Result
PPL Internal Event
Yes 1
No 0
AF Number: 57
Name: Send UCIC to MTP
Description: Send a UCIC message based on the parameters stored in the configuration bytes at offset specified in Arg1.
Arg1: <Config Byte Offset>
Arg2: <Not Used>
AF Number: 58
Name: Send Call Control Message to CPC
Description: Delivers an incoming message to CPC.
Arg1: <Status Value>
Arg2: <Not Used>
AF Number: 59
Name: Send L5 PPL Event Indication for Span/Channel
Index
1537
Description: Sends a PPL Event Indication message to the host for the span/channel of the current message.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 60
Name: Add DPC to Pause List
Description: Add the DPC to the pause queue and set it to expire in the number of timer ticks in Arg1.
Arg1: <# of Timer Ticks to Expiration>
Arg2: <Not Used>
AF Number: 61
Name: Check for DPC in Pause List and Remove
Description: Tests if a DPC in a RESUME message is in the Pause queue, and if so, removes it.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Yes (DPC is in pause list)
1
No (DPC is not in pause list)
0
AF Number: 62
Name: Send Message to GBUR
Description: Delivers an incoming message to GBUR
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Send Message to GBUS
Description: Delivers an incoming message to GBUS
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1538
AF Number: 64
Name: Send Message to CGRR
Description: Delivers an incoming message to CGRR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 65
Name: Send Message to CGRS
Description: Delivers an incoming message to CGRS
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 66
Name: Send Message to CRI
Description: Delivers an incoming message to CRI.
Arg1: <Status Value>
Arg2: <Not Used>
AF Number: 67
Name: Send Message to CRR
Description: Delivers an incoming message to CRR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 68
Name: Send Message to BLR
Description: Delivers an incoming message to BLR
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 69
Name: Send Message to BLS
Description: Delivers an incoming message to BLS
Arg1: <Not Used>
Arg2: <Not Used>
Index
1539
AF Number: 70
Name: Test if Valid Message
Description: Tests to determine if an ISUP Message is valid by consulting the ISUP Message Configuration template.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Yes (Valid/Known) 1
No (Invalid/Unknown)
0
AF Number: 71
Name: Send Confusion (CFN) Message
Description: Send a CFN message based on the parameters stored in the configuration bytes at offset specified in Arg1.
Arg1: <Config Byte Offset W/ Parameters>
Arg2: <Not Used>
AF Number: 72
Name: Test if CRS Active
Description: Test if CRS for the CIC is active (non-idle).
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (Inactive) 0
Yes (Active) 1
AF Number: 73
Name: Test if CRI Active
Description: Tests if the CRI for the CIC is active (non-idle).
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
No 0
MSP
1540
(Inactive)
Yes (Active)
1
AF Number: 74
Name: Send MSG to CRS
Description: Delivers an incoming message to CRS
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 75
Name: Test if DPC is in Pause List
Description: Tests if the DPC of this message is in the DPC pause queue.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (Not in queue) 0
Yes (In queue) 1
AF Number: 76
Name: Validate Message Parsing
Description: Tests that the incoming message can be parsed according to the ISUP Message Configuration template.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (Corrupt message)
0
Yes (Valid message)
1
AF Number: 77
Name: Add MTP Message to Pause Queue
Description: Store outgoing message in the Pause Queue for MTP.
Arg1: <Not Used>
Index
1541
Arg2: <Not Used>
AF Number: 78
Name: Update MPC Blocking Circuit Status
Description: Updates the ‘Maintenance Blocking’ status bits (Maintenance Local Blocked, Maintenance Remote Blocked) in the CIC state database based on receiving an update message from an ISUP state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 79
Name: Update Transient Circuit Status
Description: Updates the ‘transient’ status bit in the CIC state database based on receiving an update message from an ISUP state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 80
Name: De-queue an MTP Message from Pause Message Queue and Send to MTP
Description: Tests for queued messages for the DPC which has received a RESUME event and, if one, sends it.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (No messages in queue)
0
Yes (Message sent) 1
AF Number: 81
Name: Test if Pause List is Empty
Description: Tests if DPC Pause queue is empty.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (Not 0
MSP
1542
Empty)
Yes (Empty) 1
AF Number: 82
Name: Decrement DPC Timer Values in Pause List
Description: Update all timers associated with the DPC Pause queue.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 83
Name: Send L3p Pause Expiration Events for Expired DPCs
Description: For all DPCs which have expired in Pause, queue, send a Pause event to L3p.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 84
Name: De-queue all Expired DPC Messages from Pause Message Queue
Description: Tests for expired DPC messages in the Pause Message queue and, if any, clears them.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No (No expired messages)
0
Yes (Expired messages)
1
AF Number 85
Name Remove All Expired DPCs from the Pause List
Description Clears all expired DPCs in the DPC Pause List.
Arg1 <Not Used>
Arg2 <Not Used>
AF Number 86
Name Test MTP Status Cause Byte
Index
1543
Description Tests the status cause byte of an MTP indication.
Arg1 <Not Used>
Arg2 <Not Used>
Test Result PPL Internal Event
Congestion 1
Congestion 2
Congestion 3
User Part Unavailable
4
User Part Unequipped
5
User Part Inaccessible
6
AF Number: 87
Name: Send L5 Network Congestion Level Alarm
Description: Generates an alarm to the host indicating a level of network congestion and the DPC affected.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 88
Name: Send L3P ISUP Unavailable Event for DPC
Description: Sends L3P an indication that MTP has declared a remote ISUP unavailable.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 89
Name: Send L3P ISUP Resume Event for DPC
Description: Sends L3P an indication that MTP has issued a Resume for a DPC.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 90
Name: Send All ISUP SMs for a CIC a Stop Event
MSP
1544
Description: Broadcasts a STOP event to all ISUP state machines for a CIC.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 91
Name: Set Unequipped Bit and clear all other status for CIC
Description: Resets the CIC state database by clearing all status bits and setting the ‘unequipped’ bit.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Send Message to UCIC
Description: Delivers an incoming message to UCIC.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 93
Name: Update HW Blocking Circuit Status
Description: Updates the ‘Hardware Blocking’ status bits (Hardware Local Blocked, Hardware Remote Blocked) in the CIC state database based on receiving an update message from an ISUP state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 94
Name: Update Maintenance SM Circuit Status
Description: Updates the maintenance-related status bits (Maintenance Unblock Wait, Hardware Unblock Wait, CRCR Recheck Active) in the CIC state database based on receiving an update message from an ISUP state machine.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 95
Name: Send MSG to CRCR
Description: Delivers an incoming MSU to CRCR.
Arg1: <Not Used>
Index
1545
Arg2: <Not Used>
AF Number: 96
Name: Test Circuit Status for CRCR Recheck
Description: Tests if CRCR Recheck is active for a CIC.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
No (Inactive)
0
Yes (Active)
1
AF Number: 97
Name: Test Message Parameter with Bit Mask
Description: Tests a bit field within the parameter indicated by Arg1.
The most significant byte of Arg2 is used as a byte offset into the parameter. The least significant byte of Arg2 is used as a bit mask which is masked with the byte in the parameter specified in the MSB of Arg2. The result is then right-shifted until the right-most bit in the mask is in the least significant bit
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Value 0 + value of bit field
AF Number: 98
Name: Send Message to MGBR
Description: Delivers an incoming message to MGBR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 99
Name: Send Message to MGBS
Description: Delivers an incoming message to MGBS.
Arg1: <Not Used>
MSP
1546
Arg2: <Not Used>
AF Number: 100
Name: Send Message to HGBR
Description: Delivers an incoming message to HGBR.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 101
Name: Send Message to HGBS
Description: Delivers an incoming message to HGBS.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: Test Circuit Status for Transient
Description: Tests the ‘transient’ status bit in the CIC state database.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result
PPL Internal Event
Bit not set
0
Bit set 1
AF Number: 103
Name: CPC Circuit Status and remove unequipped status
Description: Updates the ‘CPC’ status bits and clears the ‘unequipped’ status bit in the CIC state database.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 104
Name: Clear status bits for unequipped circuits. Test if number of status bits is range
Description: Tests if the range field of the Range and Status parameter of an incoming message is in the range defined by Arg1 and Arg2.
Index
1547
The status bits for all unequipped circuits from the status field in the Range and Status parameter are cleared.
Arg1: <Value 1> Beginning of range.
Arg2: <Value 2> End of range.
Test Result PPL Internal Event
In range 1
Not in range 0
AF Number: 105
Name: Send L5 PPL Event Indication for stack
Description: Sends a PPL Event Indication to the host with entity of stack and event given by Arg1.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 106
Name: Place DPC in UPU queue
Description: Places the DPC given in the MTP indication in the UPU queue.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 107
Name: Check for DPC in UPU Queue and remove
Description: Tests the User Part Unavailable (UPU) queue for the DPC given in the MTP indication and, if there, removes it.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
DPC in queue
1
No DPC in queue
0
AF Number: 108
Name: Send L3P User Part Accessible
Description: Sends L3P an indication that a remote ISUP has become accessible.
MSP
1548
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 109
Name: Clear Unequipped Bit for CIC
Description: Clears the ‘unequipped’ status bit in the CIC state database.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 110
Name: Update CPC Circuit Status
Description: Updates the ‘CPC’ status bits in the CIC state database.
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 129
Name: Sprc_af_129
Description: Find MCP parameter in the unrecognized message.
Arg1: <Event ID>
Arg2: <Not Used>
Test Result PPL Internal Event
If parameter found 1
If parameter not found
0
AF Number: 130
Name: Sprc_af_130
Description: Send unrecognized message PPL event indication containing unrecognized message to the host, with channel AIB.
Arg1: <Event Indication ID> 0-255
Arg2: <Not Used>
AF Number: 131
Name: Sprc_af_130
Description: Send a release with cause value 97 to the network and send and indication to CPC.
Index
1549
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 133
Type: Test
Name: SPRC test if Host controlled continuity enabled
Description: Looks into the common CPC area and checks if the Host Controlled Continuity is enabled.
Arg1: None
Arg2: None
Test AF Results: PPLevIntEVENT_0,PPLevIntEVENT_1
MSP
1550
ISUP SSC (0x0085)
This section documents the atomic functions associated with ISUP SSC.
Atomic Functions
AF Number: 52
Name: Send ISUP message to CPC
Type: Normal
Description: Sends message with the event specified in arg1 to CPC
Arg1: Event
0 : 255
Arg2: <Not Used>
AF Number: 53
Name: Test parameter with bitmask
Type: Test
Description: Test the parameter provided in arg1 with the bit-mask in the in arg2.
Arg1: Parameter ID
0 : 255
Arg2: Bitmask
0 : 255
Result PPLevIntEVENT_1 – If Bit mask qualifies
PPLevIntEVENT_0 – If it does not
AF Number: 54
Name: Store Message in buffer
Type: Normal
Description: Store the message in the MSG buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 55
Name: Assemble message in buffer
Type: Normal
Description: Assemble the message in MSG and SGM buffer into the MSG buffer.
Index
1551
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 56
Name: Send SGM message to L3P
Type: Normal
Description: Send the incoming Segmentation Message to L3P.
Arg1: Event ID
0 : 255
Arg2: <Not Used>
AF Number: 57
Name: Send ISUP message to L3P
Type: Normal
Description: Send the incoming ISUP message to L3P.
Arg1: Event ID
0:255
Arg2: <Not Used>
AF Number: 58
Name: Send Pass-through message to L5
Type: Normal
Description: Forward Pass through message to L5.
Arg1: ISUP message config index
0 :255
Arg2: <Not Used>
AF Number: 59
Name: Forward Incoming Message to L3P
Type: Normal
Description: Forwards Call control messages to L3P.
Arg1: Event
0 : 255
Arg2: <Not Used>
AF Number: 60
MSP
1552
Name: Forward Message to CPC
Type: Normal
Description: This messages forwards the message to CPC without any changes to it.
Arg1: Event
0: 255
Arg2: <Not Used>
AF Number: 61
Name: Send the Segmented Message to CPC
Type: Normal
Description: The AF sends the constructed SGM message to CPC.
Arg1: Event ID
0:255
Arg2: <Not Used>
AF Number: 62
Name: Store message in SGM buffer
Type: Normal
Description: Store incoming SGM message in SGM buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Test COT check flag in CPC
Type: Normal
Description: Test COT wait before RFS flag in CPC.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1553
L3P BT IUP (0x0011)
This section documents the atomic functions associated with L3P BT IUP.
Atomic Functions
AF Number: 160
Name: Send L3 an equip circuit request.
Description: This function will send an equip message to L3 (i.e. iupcpc).
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: Message is queued for L3
Returns: Success always
AF Number: 161
Name: Out of Service atomic function to restore the In-Service Protocol
Description: This function will restore the Primitive table and Event tables to point to the In-Service protocol, and the Protocol ID to the In-Service Protocol ID. The function exits with a status allowing the calling function, in message preprocessor file, to force the In-Service protocol to the desired state.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: See Description.
Returns: PPLerrSET_SM_STATE
AF Number: 162
Name: Out of Service atomic function to restore the In-Service Protocol
Description: This function will check for congestion in the outbound direction.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: PPLevINT_EVENT_1 if Output Congestion is detected; PPLevINT_EVENT_0 otherwise
Returns: Success always
AF Number: 170
Name: Validate L4/L5 Message
Description: This function will validate any message which originates from L4 or L5. Messages which contain IUP ICBs are validated and completed using the default information contained in the configuration byte area.
MSP
1554
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: The internal “down working” buffer will contain a valid TLV formatted message, if Success is returned.
The PPLevINT_EVENT_1 is set if successful, otherwise PPLevINT_EVENT_0 is returned.
Returns: Success always
AF Number: 171
Name: Send PPL Event Indication SSM to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 172
Name: Send PPL Event Indication SER to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 173
Name: Send PPL Event Indication ECM to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 174
Name: Send PPL Event Indication CFC to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 175
Name: Send PPL Event Indication OOR to L5
Arg1: <Not Used>
Arg2: <Not Used><Not Used>
Index
1555
Returns: Success always
AF Number: 176
Name: Send PPL Event Indication HLR to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 177
Name: Send PPL Event Indication SIM to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 178
Name: Send REL with Reason in REG to L3
Arg1: Register number containing the Release Reason
Arg2: <Not Used>
Returns: Success always
AF Number: 179
Name: Send CAN with Reason in REG to L3
Arg1: Register number containing the Release Reason
Arg2: <Not Used>
Returns: Success always
AF Number: 180
Name: Set Timer associated value
Description: Associates a value with one of the three timers. Later when the timer expires the value may be retrieved to determine the current usage of the timer and take the appropriate action.
Arg1: Timer number Range 1 thru 3
Arg2: Associated value
Returns: Success always
AF Number: 181
MSP
1556
Name: Get Timer associated value
Description: Retrieves the associated value
Arg1: Timer number
Arg2: Register to contain associated value
Returns: Success always
AF Number: 182
Name: Send PPL Event Indication CLR to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 183
Name: Send PPL Event Indication RE-ANSWER (RAN) to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 184
Name: Send PPL Event Indication SUS to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 185
Name: Send PPL Event Indication RES to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 186
Name: Send PPL Event Indication SWAP to L5
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
Index
1557
AF Number: 187
Name: Send Block Upon Release Event to L3
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 200
Name: Send IAM to L3
Description: This function will send the IAM message to L3. The IAM message is either taken from the “down working” buffer or if the down working buffer is empty, the IAM is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Returns: Success always
AF Number: 201
Name: Send IFAM to L3
Description: This function will send the IFAM message to L3. The IFAM message is either taken from the “down working” buffer or if the down working buffer is empty, the IFAM is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 202
Name: Send FAM to L3
Description: This function will send the FAM message to L3. The FAM message is either taken from the “down working” buffer or if the down working buffer is empty, the FAM is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 203
Name: Send SAM to L3
MSP
1558
Description: This function will send the SAM message to L3. The SAM message is either taken from the “down working” buffer or if the down working buffer is empty, the SAM is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 204
Name: Send REL to L3
Description: This function will send the REL message to L3. The REL message is either taken from the “down working” buffer or if the down working buffer is empty, the REL is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 205
Name: Copy up working buffer to save buffer.
Description: This function will free the save buffer, if required. Allocate a new save buffer and copy the up working buffer into the save buffer.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 206
Name: Append up working buffers’ TLVs onto save buffer.
Description: This function will check to see that a save buffer has been allocated. (If not, this function will cause a channel purge.) Copy any TLVs in the up working buffer to the save buffer.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success or PPLerrAF_INITIATED_PURGE
AF Number: 207
Index
1559
Name: Swap up working buffer ptr with save buffer ptr
Description: This function will just sway the up working buffer ptr with the save buffer ptr.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 208
Name: Send SND to L3
Description: This function will send the SND message to L3. The SND message is either taken from the “down working” buffer or if the down working buffer is empty, the SND is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 209
Name: Send CNA with Reason to L3
Description: This function will send a copy of the CNA message stored in the config byte area to L3. Arg1 is used to specify the reason value.
Arg1: Reason
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 210
Name: Send ACM to L3
Description: This function will send the ACM message to L3. The ACM message is either taken from the “down working” buffer or if the down working buffer is empty, the ACM is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 211
MSP
1560
Name: Send ACI to L3. The “down working “ buffer must be contain the ACI message to be sent.
Description: This function will send the ACI message to L3
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success if the down working buffer contains a message. Otherwise, the channel will be purged.
AF Number: 212
Name: Send REL with Reason to L3
Description: This function will send the REL message to L3 with Arg1 containing the reason.
Arg1: Reason
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 213
Name: Send ANS to L3
Description: This function will send the ANS message to L3. The ANS message is either taken from the “down working” buffer or if the down working buffer is empty, the ANS is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 214
Name: Send UNDEFINED message to L3
Description: This function will send the a message contained in the Generic TLV Entry Data or a message beginning with a unknown H0,H1 value within the H0,H1 Element TLV to L3.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success if the down working buffer contains a message. Otherwise, the channel will be purged.
Index
1561
AF Number: 215
Name: Send ACI to L3 of user defined type
Description: This function will send the specified ACI type message from the config byte area to L3.
Arg1: Desired ACI message type. Range 1 through 7
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success if a valid ACI message type is specified. Otherwise, the channel will be purged.
AF Number: 216
Name: Load requested ACI info from Config Bytes.
Description: This function will send the requested ACI type message from the config byte area to L3. The requested info is expected in an ACI type 7 message contained in the up working buffer.
Supported: ACI Information Request Codes are 1 through 9 , 11, and 12.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: PPLevINT_EVENT_1 if the ACI message is a type 7 Information Request. Otherwise, it will return PPLevINT_EVENT_0.
Returns: Success if a valid ACI message type is specified. Otherwise, the channel will be purged.
AF Number: 217
Name: Copy L3 message into Up Working Buffer
Description: This function will copy an incoming message form L3 into the up working buffer for use by L3P and possibly higher layers.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 218
Name: Send BLO to L3
Description: This function will send a Block message to L3. . The BLO message is either taken from the “down working” buffer or if the down working buffer is empty, the BLO is taken from the Configuration Byte area.
Arg1: <Not Used>
MSP
1562
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 219
Name: Send UBL to L3
Description: This function will send a Unblock message to L3. The UBL message is either taken from the “down working” buffer or if the down working buffer is empty, the UBL is taken from the Configuration Byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 220
Name: Send an ACI type 7 Request message to L3 with user defined IRC type
Description: This function will send an ACI type 7 message to L3 with the Information Request Code specified in Arg1.
Arg1: The Information Request Code. Range 1 through 12 Except 3, 4, 10.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success if Arg 1 is valid. Otherwise, the channel is purged.
AF Number: 221
Name: Send PPL Event Indication to the Host with event specified in the register.
Description: This function will send a PPL Event Indication to the Host. Arg1 specifies the register containing the event.
Arg1: The Register number which contains the event to be reported.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 222
Name: Set OOS op Flag to the user specified value
Description: This function will set the Out Of Service operation flag.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1563
Outputs: <Not Used>
Returns: Success always
AF Number: 223
Name: L3PIUP Take CIC OOS
Description: This function will Cause an L3P reset to occur.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: With a status of PPLerrAF_INITIATED_RESET
AF Number: 224
Name: L3PIUP Test OOS OP Flag
Description: This function will setup a PPL internal event corresponding to the value of the Operation Flag.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: With a status of PPLevINT_EVENT_0 + the value of the Operation Flag
AF Number: 225
Name: L3PIUP Send Unequip message to L3
Description: This function will send an unequip message to L3
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 226
Name: L3PIUP Generated In-Service event
Description: This function will send a Transition to In-Service message to L3P.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
MSP
1564
AF Number: 227
Name: Send A CFN Event to L3
Description: This function will send a CFN event to L3.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 229
Name: Send A PPL Event Indication of ANS received before ACM to L5
Description: This function will send the above PPL Event Indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 230
Name: Send Access Denied to L4
Description: This function will send the Access Denied message to L4.
Arg1: Reason for denying access
Arg2: Call Status 0=Call Inactive, 1=Call Active
Outputs: <Not Used>
Returns: Success always
AF Number: 231
Name: Send PPL Event Indication to L5 if enabled by the corresponding Config Byte.
Description: This function will send a PPL Event Indication to L5 if the corresponding Config byte has been enabled to allow a PPL Event Indication to be issued.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success and PPLevINT_EVENT_1 PPL Event Indication was sent. Otherwise, it is a PPLevINT_EVENT_0.
AF Number: 232
Name: Test if IUP ICB is Present
Index
1565
Description: This function will test to see if an IUP ICB is present in the message.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success and a PPLevINT_EVENT_1. Otherwise, it is a PPLevINT_EVENT_0.
AF Number: 233
Name: Test if Stage N Address Data ICB is present
Description: This function will test to see if a Stage N Address Data ICB is present in the message.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success and a PPLevINT_EVENT_1. Otherwise, it is a PPLevINT_EVENT_0.
AF Number: 234
Name: Send Cut Through to L4
Description: This function will send a Cut Through message to L4.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 235
Name: Send Connect to L4
Description: This function will send a Connect message to L4.
Arg1: <Not Used>
Arg2: <Not Used><Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 236
Name: Send Disconnect to L4
Description: This function will send a Disconnect message to L4.
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1566
Outputs: <Not Used>
Returns: Success always
AF Number: 237
Name: Send Clear Request to L4
Description: This function will send a Clear Request message to L4.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 238
Name: Test and Get Call Type ICB
Description: This function will test to see if a Call Type ICB is present in the message and if so, get the call type byte.
Arg1: Register number to contain the Call Type byte if one is present
Arg2: <Not Used>
Outputs: PPLevINT_EVENT_0 = No Call Type byte present, PPLevINT_EVENT_1 = Call Type byte is present.
Returns: Success always
AF Number: 239
Name: Setup Multi Purpose Timer 18 based upon No. Digits Requested and the Exchange Type.
Description: This function will setup the timeout value for timer 18 to a value based upon the number of digits required (in the register specified by Arg1) and the Exchange Type (in the register specified by Arg2).
Arg1: A register containing the number of digits requested in a SND message
Arg2: A register containing the Exchange Type. 0 = Terminating, 1 = Intermediate
Outputs: <Not Used>
Returns: Success if valid input arguments. Otherwise, the channel is purged.
AF Number: 240
Name: Test and Get ptr to TLV in specified buffer
Description: This function will examine the up or down working buffer to see if the IUP ICB contains the requested TLV.
Arg1: The requested TLV ID
Arg2: The buffer to check 0 = Upworking Buffer, 1 = Downworking Buffer
Index
1567
Outputs: PPLevINT_EVENT_1 if the TLV is located and an internal variable is setup pointing to the located TLV. Otherwise, PPLevINT_EVENT_0 is returned.
Returns: Success always
AF Number: 241
Name: Test and Get TLV byte into register
Description: This function will get the specified byte from the working buffer containing a TLV of interest, and copy it into the specified register.
Arg1: The number of the byte to fetch (Range 1 to 256), Beginning with the first data byte.
Arg2: The number of the register to contain the requested byte
Outputs: If successful PPLevINT_EVENT_1 is returned, Otherwise, the specified register is cleared and PPLevINT_EVENT_0 is returned.
Returns: Success always
AF Number: 242
Name: Get Config byte into GPR 10
Description: This function will get the specified configuration byte into General Purpose Register 10.
The user specifies the configuration byte by Block number and Byte number.
Arg1: The Block number containing the byte. (Range 1 to 3)
Arg2: The offset to the desired byte. (Range 1 to 200)
Outputs: If successful PPLevINT_EVENT_1, otherwise PPLevINT_EVENT_0 is returned.
Returns: Success always
AF Number: 243
Name: Arg1:GPR = Arg1:GPR – Arg2:GPR
Description: This function will subtract the contents of the register specified in Arg2 from the contents of the register specified in Arg1. The results are stored in register specified in Arg1.
Arg1: Any GPR
Arg2: Any GPR
Outputs: PPLevINT_EVENT_0 if the resulting contents of GPR specified in Arg1 is < 0 (i.e. Arg2 > Arg1)
PPLevINT_EVENT_1 if the resulting contents of GPR specified in Arg1 is > 0 (i.e. Arg1 > Arg2)
PPLevINT_EVENT_2 if the resulting contents of GPR specified in Arg1 is 0 (i.e. Arg1 = Arg2)
MSP
1568
Returns: Success always
AF Number: 244
Name: Form SND message using GPR value for N
Description: This message will format a SND message in TLV format using the contents of the register specified in Arg1 as the N value. (i.e. the number of digits requested). The SND message is either taken from the “down working” buffer or if the down working buffer is empty, the SND is taken from the Configuration Byte area.
Arg1: The number of a register containing the number of digits requested.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 245
Name: Append accumulated addressed digits into Up Working buffer.
Description: This function will insert the original IAM message into the upworking buffer with the total accumulated address signals from the original IAM and subsequent SAM or FAM message.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success, If a previous IAM was not received the channel is purged.
AF Number: 246
Name: Arg1:GPR = Arg1:GPR + Arg2:GPR
Description: This function will add the contents of the register specified in Arg2 to the contents of the register specified in Arg1. The results are stored in register specified in Arg1.
Arg1: Any GPR
Arg2: Any GPR
Outputs: <Not Used>
Returns: Success always
AF Number: 247
Name: Save Address Digits
Description: This function will save the received address digits (form a IAM or IFAM) into an internal buffer. The contents of the internal buffer are overwritten with the new address digits.
Index
1569
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 248
Name: Append Address Digits
Description: This function will append the digits received from a SAM or FAM to internal buffer containing previously saved address digits.
Arg1: The number of a General Purpose Register to contain the total number of address digits collected for this call.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success, Otherwise, PPLerrAF_INITIATED_PURGE if no digits were previously saved.
AF Number: 249
Name: Form ICB Setup message for L4
Description: This function will form a setup message for L4 in ICB format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success or PPLerrAF_INITIATED_PURGE if up working buffer is not valid.
AF Number: 250
Name: Form BCD Setup message for L4
Description: This function will form a setup message for L4 in BCD format.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success or PPLerrAF_INITIATED_PURGE if up working buffer is not valid.
AF Number: 251
Name: Send Formatted Setup message to L4
Description: This function will send the formatted message created by (Form ICB Setup message for L4 or Form BCD Setup message for L4) and send it to L4.
Arg1: <Not Used>
MSP
1570
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 252
Name: Send PPL Event Indication ACI to L5
Description: This function will send a PPL Event Indication of ACI to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 253
Name: Send PPL Event Indication SAM to L5
Description: This function will send a PPL Event Indication of SAM to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 254
Name: Send PPL Event Indication FAM to L5
Description: This function will send a PPL Event Indication of FAM to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 255
Name: Send NACK or ACK to L5
Description: This function will send a ACK or NACK to L5 based upon the contents of Arg1.
Arg1: 0 = NACK, 1 = ACK
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
Index
1571
AF Number: 256
Name: L3PIUP Send Response to Outseize Control Message
Description: This function will send an response to L5 with a status specified in Arg1.
Arg1: The value to be sent in the status field of the message
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 257
Name: Send PPL Event Indication UNDEFINED Msg to L5
Description: This function will send a PPL Event Indication of UNDEFINED message to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 258
Name: Send PPL Event Indication Circuit already Blocked to L5
Description: This function will send a PPL Event Indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 259
Name: Send PPL Event Indication Call Connected to L5
Description: This function will send a PPL Event Indication of Call Connected to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 260
MSP
1572
Name: Send PPL Event Indication SND to L5
Description: This function will send a PPL Event Indication of SND to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 261
Name: Form IFAM from Stage N Address Data ICB
Description: This function will format an IFAM TLV message from a Stage N Address Data ICB message.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: If successful PPLevINT_EVENT_1 is returned, otherwise PPLevINT_EVENT_0.
Returns: Success or Failure
AF Number: 262
Name: Send PPL Event Indication of Circuit NOT Blocked to L5
Description: This function will format a PPL Event Indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 263
Name: Send PPL Event Indication of Error Timer Expired, Sending CNA to L5
Description: This function will format a PPL Event Indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 264
Name: Send PPL Event Indication to host
Description: This function will format a PPL Event Indication message using the Arg1 value as the event, and send it to the host.
Index
1573
Arg1: The event.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 265
Name: PURGE CHANNEL
Description: This function will cause the Channel to be Purged, with the reason specified in Arg1.
Arg1: The purge reason
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 266
Name: Send PPL Event Indication CFN to L5
Description: This function will send a PPL Event Indication of CFN to L5. In addition if a buffer is present
in the m_message it will be sent also.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 267
Name: Send PPL Event Indication No Response to ACI Request to L5
Description: This function will send a PPL event Indication to the L5 when timer 2 (i.e. TO-14) expires due to not receiving any ACI response from an ACI request.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 268
Name: Send PPL Event Indication of CNG to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
MSP
1574
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 269
Name: Send PPL Event Indication of CNA to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 270
Name: Send PPL Event Indication of RAM to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 271
Name: Send PPL Event Indication of SEM to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 272
Name: Send PPL Event Indication of SAD to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
Index
1575
AF Number: 273
Name: Send PPL Event Indication of SASUI to L5
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 274
Name: Send PPL Event Indication of ASUI to L4
Description: This function will send this indication to L5.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 275
Name: Send PPL Event Indication of No response to SASUI request
Description: This function will send a PPL Event Indication to the L5 when Timer 2 (i.e. TO-14) expires due to not receiving any ASUI response from an SASUI request.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 276
Name: Load Requested ASUI info from Config Bytes
Description: This function will form the appropriate ASUI message into the down working buffer based upon the SASUI request in the up working buffer.
The ASUI message is taken from the Config byte area.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: If it is a valid request PPLevINT_EVENT_1, otherwise PPLevINT_EVENT_0.
Returns: Success always
AF Number: 277
MSP
1576
Name: Send ASUI to L3
Description: This function will send an ASUI message to L3.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 278
Name: Send SASUI to L3
Description: This function will send a SASUI message to L3.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 279
Name: Send SASUI request message to L3, with user defined type
Description: This function will send a SASUI message to L3, of the type specified in Arg1.
Arg1: The Type of ASUI message to be returned (range 0 to 255). Only 1 is currently valid.
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 280
Name: Force sending an ACM message to L3
Description: This function will dynamically build and send an ACM message to L3. The contents of the down working buffer are not accessed or disturbed.
Arg1:
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 281
Name: Set Remote Maintenance Blocking State
Index
1577
Description: This function will allow the user to set the Remote Maintenance Blocking state.
Input: Argument 1 0 = Unblocked, 1 = Blocked
Input: Argument 2 <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 282
Name: Set Local Maintenance Blocking State
Description: This function will allow the user to set the Local Maintenance Blocking state.
Input Argument 1: 0 = Unblocked, 1 = Blocked
Input Argument 2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 283
Name: Test Blocking State
Description: This function will allow the user to Test any of the following local or remote blocking states. Maintenance, Hardware, and Software.
Input Argument 1: Blocking Location. 0 = Local, 1 = Remote
Input Argument 2: Blocking Type. 0 = Maintenance, 1 = Hardware, 2 = Software.
Outputs: If blocked PPLevINT_EVENT_1 is returned, otherwise PPLevINT_EVENT_0.
Returns: Success always
AF Number: 284
Name: Send SAD to L3
Description: This function will send a SAD message to L3.
Input: Argument 1 <Not Used>
Input: Argument 2 <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 285
Name: Test Accumulated Digits against Config Byte Digits
Description: This function compares n digits of the accumulated digits string with the digit string contained in the config byte area, at the specified config block and
MSP
1578
byte number. If the config byte string contains a digit of F that digit is skipped, in the config byte area and the accumulated digit string area.
NOTE: The digit to begin comparison, within the accumulated digit string is set by the value in register 20.
Arg1: The Config byte block number. Range 1 through 3
Arg2: The byte number within the above block. Range 1 through 200
Outputs: PPLevINT_EVENT_0 if match fails. Or the config bytes exceed
the size block limit. PPLevINT_EVENT_1 if match succeeds
Returns: Success always
AF Number: 286
Name: Test Accumulated Digits against Immediate Value
Description: This function compares from 1 to 4 digits of the accumulated digits string with the digit string contained in Arg2. If a nibble within Arg2 contains an F that digit is skipped.
NOTE: The starting digit within the accumulated digit string is set by the value in register 20.
Arg1: The number of bytes present in Arg2 to check. (range 1 to 4)
Arg2: The digits to validate against the accumulated buffer.
NOTE: A value of 0x4321 would attempt to match a 1 against the first digit in the accumulated digit string, a 2 against the second digit, a 3 against the third...
Outputs: PPLevINT_EVENT_0 if match fails. Or the config bytes exceed
the size block limit. PPLevINT_EVENT_1 if match succeeds
Returns: Success always
AF Number: 287
Name: Send Alarm Msg to Host
Description: This function will send an ALARM message to the Host using the user defined Severity, Entity, and Alarm values. Please refer to ALARM.H for normal values for these elements.
Arg1: High byte Severity, Low byte Entity
Arg2: Alarm Value
Outputs: Alarm message is sent to L5
Returns: Success always
AF Number: 288
Name: Set OOS Reason
Description: This function will Set the Out Of Service Reason to the value specified in Arg1.
Index
1579
Arg1: OOS reason.
Arg2: <Not Used>
Outputs: ...rw->unique_to.l3p_tup.oos_reason = Arg1
Returns: Success always
AF Number: 289
Name: Send Purge Message to L4
Description: Just sends the Purge Message to L4.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: <Not Used>
Returns: Success always
AF Number: 290
Name: Clear Up Working Buffer Ptr
Description: This function will free the buffer attached to the up_working_buffer_ptr, if present.
Arg1: <Not Used>
Arg2: <Not Used>
Outputs: up_working_buff_ptr is set to NULL.
Returns: Success always
AF Number: 291
Name: Set the In-Service_startup_flag to value in Arg1.
Description: This function will set the read write variable "inservice_startup_flag" to the value suPPLied in Arg1.
Arg1: Value.
Arg2: <Not Used>
Outputs: ...inservice_startup_flag = value.
Returns: Success always
AF Number: 292
Name: Get the In-Service_startup_flag value into register
Description: This function will load the contents of In-Service_startup_flag variable into the register specified in Arg1.
Arg1: Register to contain the value of inservice_startup_flag.
Arg2: <Not Used>
Index
1581
L3P CIC (0x000F)
This section documents the atomic functions associated with L3P CIC.
Atomic Functions
The following AFs are specific to the L3P CIC Call Control PPL component.
AF Number: 51
Name: Send L4 Channel Status In Service
Description: Sends L4 a channel in service indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 52
Name: Send ISUP Circuit Reset
Description: Sends ISUP a CIC reset request using no parameters.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 53
Name: Fault
Description: Generates an SS7 card fault using fault code in Arg1.
Arg1: <Fault Code>
Arg2: <Not Used>
AF Number: 54
Name: PPL Restore Channel’s Assigned Protocol
Description: Function to switch from the OOS to the INS protocol.
Arg1: <Fault Code>
Arg2: <Not Used>
AF Number: 55
Name: PPL Send L5 PPL Event Indication using L4/L5 Outgoing Buffer
Description: Sends a PPL Event Indication to the host using the event ID in Arg1 and sending up any ISUP parameters stored in the L4/L5 outgoing buffer.
MSP
1582
Arg1: <Event ID>
Arg2: <Not Used>
AF Number: 56
Name: Send L4 a Cut Through
Description: Sends L4 a cut through indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 57
Name: Send L5 PPL Event
Description: Sends a PPL event indication to the host using the Event ID in Arg1 and sending up ICB with the data in Arg2.
Arg1: <Event ID>
Arg2: <Event Data>
AF Number: 58
Name: Send ISUP OOS Maintenance Loopback Ack
Description: Notifies ISUP that the requested PCM loopback has been established.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 59
Name: Copy Default ISUP Parameters into L5 Incoming Buffer
Description: Loads the PPL Config Byte prestored parameters at offset in Arg1 into the L5 incoming buffer.
Arg1: <Config Byte Offset of Defaults>
Arg2: <Not Used>
AF Number: 61
Name: Test for Existence of BCD Encoded Digits in Message
Description: Tests an Outseize Control message for the existence of BCD digits.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Digits not present 0
Index
1583
Digits present 1
AF Number: 62
Name: Send L4 a Q.931 Connect Message
Description: Sends L4 a Connect Indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Send L4 a Q.931 Disconnect
Description: Sends L4 a disconnect Indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 64
Name: Send L4 a Q.931 Clear using L4/L5 Outgoing Buffer
Description: Sends L4 a Clear indication including any parameters present in the L4/L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 65
Name: Send L4 OOS Maintenance Loopback
Description: Send L4 an OOS indication which also requests that a PCM loopback be connected to the channel.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 66
Name: Send L4 an Out of Service Message
Description: Sends an Out of Service message to L3/L4 with the reason indicated by Arg1.
Arg1: <Reason>
Arg2: <Not Used>
AF Number: 67
Name: Test L5 Incoming Buffer for parameters and assemble with defaults
MSP
1584
Description: Search the L4/L5 incoming buffer for an ICB relating to the message configuration specified in Arg1. If found, the ICB is concatenated with prestored parameters in the Config Bytes at the index specified by Arg2 and the resulting ICB is placed into the L4 /L5 incoming buffer.
Arg1: <ISUP Message Config Index>
Arg2: <Config Byte with Default>
Test Result PPL Internal Event
No ICB Found 0
ICB Found 1
AF Number: 68
Name: Copy Default ISUP Parameters and use BCD-Encoded digits into L5 Incoming Buffer
Description: Searches for a Stage N Address Data ICB w/ BCD encoded digit strings in the L4/L5 incoming buffer. The digits are translated into SS7 Called and Calling Party Number parameters using the parameter IDs specified in the MSB (Called Party) and LSB (Calling Party) of Arg2.
The parameters are concatenated with prestored parameters in the config bytes at the index specified in Arg1. The resulting ICB is stored in the L4/L5 incoming buffer.
Arg1: <Config Byte Offset Of Defaults> 1-200
Arg2: <Called Number Party ID/Calling Number Party ID>
AF Number: 69
Name: Send L4 a Q.931 SETUP using L4/L5 Outgoing Buffer
Description: Sends L4 a call SETUP indication including any SS7 parameters present in the L4/L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 71
Name: Transfer L5 Formatted Raw SS7 Parameters from L4/L5 Incoming to ISUP Outgoing Buffer
Description: Searches the L4/L5 incoming buffer for the ICB corresponding to the message configuration specified by Arg1. Once found, the ICB is transferred to the ISUP outgoing buffer.
Arg1: <ISUP Message Config Index>
Arg2: <Not Used>
AF Number: 72
Index
1585
Name: Send L4 a Q.931 Alerting
Description: Sends L4 an alerting indication including any parameters present in the L4/L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 73
Name: Test for Existence of SS7 Parameters in Message
Description: Test any message for the presence of SS7 ICB buffers.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
No parameters present 0
Parameters present 1
AF Number: 74
Name: Purge Channel
Description: Initiates a channel purge with purge reason specified in Arg1.
Arg1: <Purge Code>
Arg2: <Not Used>
AF Number: 75
Name: Send L5 PPL Event Request ACK
Description: Sends an acknowledgment to a PPL event request with the status specified in Arg1.
Arg1: <Status>
Arg2: <Not Used>
AF Number: 76
Name: Assemble L5 Parameters into L5 Incoming Buffer w/ Defaults
Description: Stores the ICBs attached to the L4/L5 message into the L4/L5 incoming buffer. A search for an ICB whose message type matches the message type of the prestored parameters specified in Arg1 is invoked.
If found, the ICB is concatenated with prestored parameters in the Config Bytes at the index specified by Arg1 and the resulting ICB is placed into the L4 /L5 incoming buffer. If not found, the defaults are copied ‘as is’ into the L4 /L5 incoming buffer.
Arg1: <Config Byte # of Defaults>
Arg2: <Not Used>
MSP
1586
AF Number: 77
Name: Transfer Network ISUP Raw SS7 Parameters from ISUP Incoming to L4/L5 Outgoing Buffer
Description: Transfers the ISUP incoming ICB to the L4/L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 78
Name: Transfer Network Raw Parameters from ISUP Incoming into BCD-Encoded Digits
Description: Searches the ISUP incoming buffer for the Called Party parameter (indicated by Arg1) and the Calling Party parameter (indicated by Arg2). If found, the parameters are translated into BCD encoded digits strings and placed into the L4/L5 outgoing buffer.
Arg1: <Called Number Party ID>
Arg2: <Calling Number>
AF Number: 79
Name: Send L4 a Q.931 SETUP using BCD Digits.
Description: Sends L4 a Call Setup using any BCD digit string in the L4/L5 outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 80
Name: Send ISUP Setup Request using ISUP Outgoing Buffer
Description: Sends ISUP a Call Setup Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 81
Name: Send ISUP Answer Request using ISUP Outgoing Buffer
Description: Sends ISUP an Answer Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1587
AF Number: 82
Name: Send ISUP Release Request using ISUP Outgoing Buffer
Description: Sends ISUP a Release Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 83
Name: Send ISUP Release Response
Description: Sends ISUP a Release Response using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 84
Name: Send ISUP Progress Request using ISUP Outgoing Buffer
Description: Sends ISUP a Progress Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 85
Name: Send ISUP Alert Request using ISUP Outgoing Buffer
Description: Sends ISUP an Alert Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 86
Name: Send ISUP Reset Response
Description: Sends ISUP a Reset response using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 87
MSP
1588
Name: Send ISUP Maintenance Block Response
Description: Sends ISUP a Maintenance Block response using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 88
Name: Send ISUP Maintenance Unblock Response
Description: Sends ISUP a Maintenance Unblock response using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 89
Name: Send ISUP Block Request using ISUP Outgoing Buffer
Description: Sends ISUP a Block Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 90
Name: Send L4 OOS Span Alarm
Description: Sends Layer 4 an Out of Service due to a span alarm.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 91
Name: Send ISUP Unblock Request using ISUP Outgoing Buffer
Description: Sends ISUP an Unblock Request using the SS7 parameters present in the ISUP outgoing buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Send L4 OOS DPC Inaccessible
Description: Sends L4 a channel status of OOS due to a DPC Inaccessible indication.
Index
1589
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 93
Name: Transfer ISUP Raw SS7 Parameter from ISUP Incoming To L4/L5 Outgoing Buffer
Description: Copies a parameter from the incoming ISUP buffer to the outgoing L4/L5 buffer.
Arg1: <Parameter ID>
Arg2: <Not Used>
AF Number: 94
Name: Send L5 Outseize Control ACK
Description: Acknowledges an Outseize Control message with status specified in Arg1.
Arg1: <Status>
Arg2: <Not Used>
AF Number: 95
Name: Send L4 Access Denied
Description: Send L4 an Access Denied message with the reason specified in Arg1. The L3 Clear Pending Flag indicates if a Clear is sent to L4.
Arg1: <Reason>
Arg2: <L3 Clear Pending Flag>
AF: Number 96
Name: Store Network SS7 Parameters into ISUP Incoming Buffer
Description: Stores any incoming ISUP parameters into the ISUP incoming buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 97
Name: Pass Return Value
Description: Used to request services as part of a group state machine. Arg1 is used to request different services.
Arg1: <Value> 1 Group Reset
2 Group Block
MSP
1590
3 Group Unblock
4 Group Reset Response
5 Group Hardware Block
6 Group Hardware Unblock
Arg2: <Not Used>
AF Number: 98
Name: Store ISUP Protocol Violation ICB into L4/L5 Outgoing Buffer
Description: Used to store the information generated by an ISUP protocol violation in the L4/L5 outgoing buffer for transport to the host as part of a protocol violation PPL Event Indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 99
Name: Store ISUP Protocol Violation ICB into L4/L5 Outgoing Buffer
Description: Used to store the information generated by an ISUP protocol violation in the L4/L5 outgoing buffer for transport to the host as part of a protocol violation PPL Event Indication.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 100
Name: Send ISUP Delete CIC Event
Description: Sends ISUP a delete CIC request which forces a CIC to the unequipped (OOS) state. (Minimum Software Version: 5.0)
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 101
Name: Send ISUP Connect Request using ISUP Outgoing Buffer
Description: Sends ISUP a connect request using the SS7 parameters present in the ISUP outgoing buffer. (Minimum Software Version: 5.0)
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: Take CIC Out of Service
Index
1591
Description: Takes the CIC out of service. (Minimum Software Version: 5.0)
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 103
Name: Set Out of Service Operation Flag
Description: The Out of Service Operation Flag determines how the CIC will respond to the next transition from Out of Service to In service. (Minimum Software Version: 5.0)
Arg1: <Flag Value> 0x00 - Unblock
0x01 - Reset
Arg2: <Not Used>
AF Number: 127
Name: Test message ID in outseize
Description: This atomic function returns the message ID in the Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
Test AF Results PPLevINT_EVENT_1, PPLevINT_EVENT_234
AF Number: 128
Name: Send CRM to ISUP
Description: Sends a CRM request to ISUP with default parameters from configuration or the parameters sent by the host
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 129
Name: Test ISUP CRM status.
Description: Test the status value in the ISUP_CRM_STATUS message.
Arg1: <Not Used>
Arg2: <Not Used>
Test AF Results Status event ranging from PPLevINT_EVENT_1 to PPLevINT_EVENT_255
AF Number: 130
MSP
1592
Name: Send IAM request to ISUP.
Description: Send IAM request to ISUP after Circuit Reservation.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number 134
Name Cic_af_129
Description Send busy out request to EX/CPU.
Arg1 <Not Used>
Arg2 <Not Used>
Atomic Function Description Arguments
Arg1 (range) Arg2 (range)
# Description Arg1 Arg2
109 Send msg. to ISUP CCR -- --
110 Send msg. to SYM -- --
111 Send msg. to ISUP CCO -- --
112 Check for Positive status -- --
113 Send msg. to ISUP DCO -- --
114 Send ISUP CRCS ACK. msg. (ITU only)
-- --
115 Send ISUP CRCS CPA result (ITU only)
-- --
116 Send ISUP CRCS stop (ITU) -- --
117 Send ISUP CRO stop (ANSI) -- --
118 Send SYM Connect Tone msg. -- --
119 Send ISUP DCO CPA result -- --
120 Send ISUP CCO CPA result -- --
121 Send ISUP msg. Req. using outgoing buffer
Event ID (1 : 78) --
122 Validate and assemble msg. using config. table in L5 incoming buffer
Cfg. table entry (1 : 50)
--
123 Test message ID in PAM -- --
124 Send L5 Event Ind. without data Event ID. (1 : 255) --
125 Send ISUP CVT request msg. offset (1 : 255) --
Index
1593
126 Send ISUP CVT req. for User part test
msg. offset (1 : 255) --
AF Number: 160
Type: Normal
Name: Copy CDPN digits to Digit_Buffer.
Description: This function will parse through the incoming setup message for the CDPN parameter. When it finds the parameter, it will copy the address signals in the parameter to the Digit_Buffer in the RW area and update the Number_of_Digits parameter in the RW area.
Arg1: <Not Used>
Arg2: <Not Used>
Test AF Results <Not Used>
AF Number: 162
Type: Normal
Name: Append digits received in SAM to Digit_Buffer.
Description: This function will parse through the incoming SAM for the Subsequent Address Parameter. This will append the digits in the Subsequent Address Parameter to the Digit_Buffer in the RW area, and update the Number_of_Digits parameter to reflect the new total.
Arg1: <Not Used>
Arg2: <Not Used>
Test AF Results <Not Used>
AF Number: 163
Type: Normal
Name: Copy digits from Digit_Buffer to ISUP incoming buffer.
Description: This function will copy the digits from the Digit_Buffer to the CDPN parameter in the stored ISUP SETUP message. It will also update the CDPN parameter to reflect the increased length and also update the “Odd/Even” indicator field.
Arg1: <Not Used>
Arg2: <Not Used>
Test AF Results <Not Used>
AF Number: 164
Type: Normal
Name: Check the digits in the Digit_Buffer.
MSP
1594
Description: This function will compare the number of digits received with the maximum number of digits to be received. It will also check whether the maximum number of digits can be collected. This is indicated by the fact that the size of the config byte is greater than the normal size of the Digit_Buffer (40 bytes).
Arg1: Configuration byte offset
Input range: 0-600
Arg2: <Not Used>
Test AF Results <Not Used>
Index
1595
L3P Link (0x0010)
This section documents the atomic functions associated with L3P Link Control.
Atomic Functions
AF Number: 51
Name: Send Activate Link Request to MTP3
Description: Requests that a signaling link be activated. This attempts to bring the signaling link up, through the initial alignment procedure, to an In Service state at MTP2. This does not necessarily mean that the link is available for user traffic at MTP3 because the signaling link’s inhibited status is independent of its active status.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: Send Deactivate Link Request to MTP3
Description: Requests that a signaling link be deactivated. This brings the signaling link to an inactive state at MTP2. If the signaling link was previously available at MTP3, it becomes unavailable.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 55
Name: Send Inhibit Link Request to MTP3
Description: Requests to inhibit a signaling link. An inhibited signaling link is not usable at MTP3 for user traffic. Inhibiting a signaling link does not affect its MTP2 state.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 56
Name: Send Uninhibit Link Request to MTP3
Description: Request to uninhibit a signaling link.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 57
Name: Send L5 PPL Event Indication Message with Data
MSP
1596
Description: Sends a PPL Event Request message to the host with data.
Arg1: <Event ID>
1 - Remote Inhibit, the signaling link has been inhibited from the remote signaling point.
2 - Remote Uninhibit, the signaling link has been uninhibited from the remote signaling point.
3 - Local Inhibit Denied, a local request to inhibit a signaling link has been denied, possibly due to local or remote conditions.
4 - Local Inhibit Timeout, a local request to inhibit a signaling link has timed-out.
5- Local Inhibit, the local request to inhibit a signaling link was successful.
6 - Local Uninhibit, a local condition has caused a signaling link to become uninhibited.
7 - Uninhibiting Not Possible, a request to the remote signaling point to uninhibit a signaling link was unsuccessful.
8 - Uninhibit Timeout, a request to the remote signaling point to uninhibit a signaling link has timed-out.
10 - Link Activated, the signaling link has become active (In Service at MTP2).
11 - Link Dead, the signaling link is not framed properly at the physical layer (Layer 1).
12 - L5 OOS, this acknowledges a Service State Configure message from the host that results in the signaling link going from the L3P active state to the L3P “L5 OOS, L1 Alive” state. A Service State Configure message to bring L5 to the OOS state also causes the link to be deactivated.
Arg2: <Event Data>
The event data is always the normal state of the PPL component:
0 - L5 OOS and L1 Dead
1- L5 OOS and L1 Alive
2 - L5 In Service and L1 Dead
3 - L5 Alive and L1 Alive
AF Number: 58
Name: Send L5 a Message Response
Description: Generates a PPL Event Request Positive ACK to the host.
Arg1: <Status Value> 0x10 - Positive ACK
Arg2: <Not Used>
Index
1597
L3P TUP (0x0011)
This section documents the atomic functions associated with L3P TUP.
Atomic Functions
AF Number: 51
Name: Check if segmentation required
Type: Test
Description: Based on the Length of the message and the OFCI/OBCI segmentation indicator, a decision is made if the message has to be segmented.
Arg1: OFCI/OBCI parameter ID
0 : 255
Arg2: None
--
Result PPLevIntEVENT_0 – Msg not segmented
PPLevIntEVENT_1 – Msg segmented
TUP Virtual CIC
The following AFs are specific to the L3P TUP Call Control PPL component for TUP Virtual CIC.
AF Number: 73
Type: Normal
Description: Send PPL Event Indication to Host with VCIC AIB
Arg1: Event Id 1:65535
Arg2: Not Used
AF Number: 136
Type: Normal
Description: Send channel status change PPL Event Indication to Host with VCIC AIB
Arg1: OOS flag. 0:1
Arg2: OOS reason. 0:255
AF Number: 137
Type: Normal
Index
1599
SCCP CSCC (0x007F)
AF #: 59
Name: Get the backup SSN
Type: Normal
Description: Get the backup SSN from the Replicated SSN table.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 56
Name: Test if backup subsystem co-located.
Type: Test
Description: Check if the backup SSN belongs to our own node.
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_0 – Backup SSN does not belong to our own node. PPLevINT_EVENT_1 – Backup SSN belongs to our own node.
AF #: 52
Name: Send SCMG msg in N_UNITDATA to SCLC
Type: Normal
Description: Sends the constructed N_UNITDATA request primitive to SCLC
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 53
Name: Broadcast subsystem prohibited to BCST
Type: Normal
MSP
1600
Description: Construct SSP (subsystem prohibited) message and send it to BCST which will inform all the signalling points.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 54
Name: Send N_COORD confirm primitive to the concerned SSN
Type: Normal
Description: Constructs the N_COORD confirm primitive and sends it to the originating SSN.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 57
Name: Check if SSN = SCMG
Type: Test
Description: Checks if the SSN from the received Subsystem out of service request is SCMG(=1).
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 58
Name: Check if sccp/subsystem resources available.
Type: Test
Description: Checks if the SSN is in the prohibit_ssn_list.
Arg1: None
--
Arg2: None
Index
1601
--
Test AF Results: PPLevINT_EVENT_0 – if SSN not in prohibit_ssn_listPPLevINT_EVENT_1 – if SSN is in prohibit_ssn_list.
AF #: 55
Name: Send N_COORD response primitive to the concerned SSN
Type: Normal
Description: Constructs N_COORD response primitive and sends it to the duplicate SSN.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 60
Name: Test SCMG msg
Type: Test
Description: Tests if the message is SOR (subsystem out of service request) or SOG(subsystem out of service grant).
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_0 – if msg is SORPPLevINT_EVENT_1 – if msg is SOG
MSP
1602
SCCP SCOC (0x007D)
AF #: AF_51
Name: Check Resources and initialize connection data
Type: Test
Description: This atomic function is responsible for allocation of resources and initializing connection specific data structure
Arg1: None
Input Range
Arg2: None
Input Range
Test AF Results: PPLevINT_EVENT_1 if success else PPLevINT_EVENT_0
AF #: Af_52
Name: Construct CO message from primitive
Type: Normal
Description: This function will construct the required message taking parameters from the incoming primitive
Arg1: CO Message id
1 – 26
Arg2: Decription
Input Range
Test AF Results: NA
AF #: Af_53
Name: Send the connection oriented message to SCRC
Type: Normal
Description: This function will send the message to the SCRC, with an appropriate event.
Arg1: CO Message id
1 – 26
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_55
Name: Construct Connection Oriented Primitive from CO message
Index
1603
Type: Normal
Description: This atomic function will take the message and construct a SCCP CO primitive from it.
Arg1: Primitive Id
20 – 30
Arg2: Description
Input Range
Test AF Results: NA
AF #: AF_56
Name: Send CO Primitive to SUSI
Type: Normal
Description: This function will send to SUSI the SCCP primitive.
Arg1: Primitive id
Input Range
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_57
Name: Initialize/Update connection information
Type: Normal
Description: This function will update the SCOC RW data will the connection info taken from the parameters of the SCCP primitive or the SCCP CO message.
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_58
Name: Get Cause value from primitive and store in buffer
Type: Normal
Description: This function will determine the cause value for connection release or connection refusal and store it in the SCOC RW area.
Arg1: Description
Input Range
MSP
1604
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_59
Name: Construct CREF/RLSD/ERR message
Type: Normal
Description: Construct CREF/RLSD/ERR message with cause value stored earlier
Arg1: Message Id
1 – 26
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_60
Name: Construct CREF/RLSD/ERR message with cause
Type: Normal/Blocking/test
Description: Construct CREF/RLSD/ERR message with cause value as input
Arg1: Message id
1 – 26
Arg2: Cause value
0 – 255
Test AF Results: NA
AF #: Af_61
Name: Release resources associated with the connection
Type: Normal
Description: Release all the resources associated with the connection and re-init the connection related data.
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_62
Index
1605
Name: Check Discrepancy between IT message and Connection data
Type: Test
Description: This atomic function will check the incoming IT message for discrepancy between the message data and the data in the connection table
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: PPLevINT_EVENT_1 if no discrepancy else PPLevINT_EVENT_0
AF #: Af_63
Name: Construct DT message from Transmit queue
Type: Normal
Description: This function constructs the DT message from first data buffer of the transmit queue.
Arg1: Message Id
1 – 26
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_64
Name: Segment user data and put in Transmit queue
Type: Normal
Description: This atomic function segments the incoming N_DATA indication and puts the segmented data in the transmit queue
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_65
Name: Validate source reference number
Type: Test
Description: This function matches the Destination LRN and the LRN in our Connection Data structure
MSP
1606
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: PPLevINT_EVENT_0 if not matching else PPLevINT_EVENT_1
AF #: Af_69
Name: Construct a N_DISCONNECT Indication primitive with reason
Type: Normal
Description: This function constructs a N_DISCONNECT Indication primitive with the given reason.
Arg1: Reason
0 – 255
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_71
Name: Check M-bit Value
Type: Test
Description: This function checks the M-bit value of the outgoing/incoming DT message
Arg1: Message Id
6 – 7
Arg2: Description
Input Range
Test AF Results: PPLevINT_EVENT_1 if M-bit = 1 else PPLevINT_EVENT_0
AF #: Af_72
Name: Check Protocol class of the connection
Type: Test
Description: This function checks the protocol class of the connection from the connection data.
Arg1: Description
Input Range
Arg2: Description
Input Range
Index
1607
Test AF Results: For Protocol class:0 – PPLev_INT_EVENT_01 – PPLev_INT_EVENT_12 – PPLev_INT_EVENT_23 – PPLev_INT_EVENT_3Unknown – PPLev_INT_EVENT_4
AF #: Af_73
Name: Send User Notification event request to SUSI
Type: Normal
Description: This function constructs a ‘user notification event’ w/o data and sends it to SUSI.
Arg1: Event Id
0 – 255
Arg2: Description
Input: Range
Test AF Results NA
AF #: Af_74
Name: Store data in receive queue
Type: Normal
Description: This function strips the data from incoming messages and stores it in the receive queue
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
AF #: Af_75
Name: Assemble N_DATA indication from data in receive queue
Type: Normal
Description: This function assembles an N_DATA indication from data buffers in the receive queue
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
MSP
1608
AF #: Af_76
Name: Construct IT message from connection data
Type: Normal
Description: This function constructs an IT message to be sent over the network.
Arg1: Description
Input Range
Arg2: Description
Input Range
Test AF Results: NA
Index
1609
SCCP SCRC (0x0066)
Purpose
The following atomic functions are used by the PPL component, SCRC (SCCP Routing Control - 0x0066).
Atomic Functions
AF #: 74
Name: Assign DLRN and allocate resources
Type: Test
Description: Assign DLRN and verify if a free SOOC SM exists
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_0 – Resources allocatedPPLevINT_EVENT_1 – Resources not allocated
AF #: 76
Name: Build default CREF
Type: Normal
Description: Builds a default CREF messages with specified cause
Arg1: Cause value
1 – 7
Arg2: None
--
Test AF Results: --
AF #: 77
Name: Send routing failure to SCOC
Type: Normal
Description: Constructs the routing failure message and sends it to SCOC.
Arg1: Return cause
0 –255
Arg1: None
--
MSP
1610
Test AF Results: --
AF #: 78
Name: Send CO message to SCOC
Type: Normal
Description: Constructs a message and send it to SCOC.
Arg1: None
--
Arg1: None
--
Test AF Results: --
AF #: 79
Name: Get CO message routing data into RW
Type: Test
Description: Retrieve the CO message address information into SCRC RW
Arg1: None
--
Arg1: None
--
Test AF Results: PPLevINT_EVENT_0 – Address info. not found.PPLevINT_EVENT_1 – Address info. found
AF #: 80
Name: Get data from outgoing CO message
Type: Normal
Description: Get routing information from outgoing CO message into SCRC RW data
Arg1: None
--
Arg1: None
--
Test AF Results: --
AF Number: 92
Name: Test whether Global Title Translation (GTT) is allowed for local sub-system.
Index
1611
Description: Tests whether GTT is needed and the sub-system number (SSN) is allowed to do GTT locally.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if yes.
PPLevINT_EVENT_0 if GTT is not needed
AF Number: 93
Name: SCRC Global Title Translation
Description: This function performs GTT, returns the success or failure status, and determines whether to perform further treatment to the address after the GTT.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_0: success
PPLevINT_EVENT_1: No translation for an address of such nature
PPLevINT_EVENT_2: No translation for this specific address
PPLevINT_EVENT_3: SSN failure
PPLevINT_EVENT_4: SCCP unequipped
PPLevINT_EVENT_5: MTP failure
PPLevINT_EVENT_6: MSG overlength with new CDPA
PPLevINT_EVENT_7: Support UMTS calling party address treatment.
PPLevINT_EVENT_7: After GTT operation needed
AF Number: 94
Name: Universal mobile telecommunications systems (UMTS) calling party address (CGPA)treatment
Description: Supports UMTS CGPA treatment.
Arg1: <Not Used>
Arg2: <Not Used>
Result: PPLevINT_EVENT_0 if success
PPLevINT_EVENT_6 if fail
AF Number: 95
Name: SCRC updates the called party address (CDPA).
Description: Updates CDPA in the internal chained buffer with new CDPA results from GTT.
Arg1: <Not Used>
Index
1613
SCCP SRTC (0x007E)
AF #: 73
Name: Get DPC from the Available_DPC_list
Type: Normal
Description: Read the dpc address from the available DPC list.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 74
Name: Send SP Accessible to SPAC
Type: Normal
Description: Sends the SP accessible message to SPAC with the read dpc no (af 51)
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 76
Name: Check if more DPCs in the Available_DPC_list
Type: Test
Description: Checks if some more DPCs are there in the list.
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 77
Name: Send ‘Restart’ to SCOC
Type: Normal
MSP
1614
Description: Constructs the restart message and sends it to SCOC.
Arg1: --
Arg1: --
Test AF Results: --
Index
1615
SCCP SUSI (0x0067)
AF #: 74
Name: Validate incoming message from host
Type: Test
Description: Validate the ICB type/length
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_0 – Message is invalidPPLevINT_EVENT_1 – Message Valid
AF #: 75
Name: Test resource availability
Type: Test
Description: Check if a free SCOC SM exists
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_0 – Resources not allocated PPLevINT_EVENT_1 – Resources allocated
AF #: 76
Name: Send message indication to L5
Type: Normal
Description: Send an event indication to L5 with data
Arg1: Event id
0 – 255
Arg2: None
--
Test AF Results: --
AF #: 77
Name: Build message with defaults
MSP
1616
Type: Normal
Description: fill the primitives will default parameters if they don’t exist in the PPL Event Request
Arg1: None
--
Arg2: None
--
Test AF Results: --
AF #: 78
Name: Send PPL event request ACK with data ICB.
Type: Normal
Description: Adds a DATA ICB to the PPL event request ACK. The data ICB is added after the response status.
Arg1: Response status
0 – 255
Arg2: None
--
Test AF Results: --
AF #: 79
Name: Test protocol Class
Type: Test
Description: Return the protocol class received in the message.
Arg1: None
--
Arg2: None
--
Test AF Results: Class 0 – PPLevINT_EVENT_0Class 1 – PPLevINT_EVENT_1Class 2 – PPLevINT_EVENT_2 and so on.
AF #: 80
Name: Send message to SCOC
Type: Normal
Description: Send message to SCOC with received event
Arg1: None
--
Index
1617
Arg2: None
--
Test: AF Results --
AF #: 81
Name: Send message SCCP user
Type: Normal
Description: Send message to an SCCP user specified by the GPR
Arg1: GPR #
--
Arg2: None
--
Test AF Results: --
AF #: 82
Name: Save user flag in GPR
Type: Normal
Description: Save the user id flag specified in SUSI RO data into GPR.
Arg1: GPR #
--
Arg2: None
--
Test AF Results: --
AF #: 83
Name: Validate SLRN in host message
Type: Test
Description: Validate the SLRN in the primitive received from the host (except N_CONNECT request)
Arg1: None
--
Arg2: None
--
Test AF Results: PPLevINT_EVENT_1 – valid SLRNPPLevINT_EVENT_0 – Invalid SLRN
MSP
1618
ISDN Atomic Functions
L3P Call Control (0x0005) Atomic Functions
Purpose
This section describes the atomic functions for the L3P Call Control PPL component.
L3P Call Control Atomic Functions
The following atomic functions are specific to the ISDN L3P Call Control PPL component.
Atomic Functions
AF Number: 51
Name: Load Raw IE in L4 Buffer
Description: Loads a raw IE received from the distant end into a Raw IE ICB (0x11) to be sent to the host in a PPL Event Indication or PPL Event Request message for service with address data. If the IE is not received, then nothing is loaded.
Arg1: <IE Value> 0-255 (ITU-T Q.931 codeset 0)
Arg2: <Not Used>
AF Number: 52
Name: Load Formatted and Raw IEs in L4 Buffer
Description: Loads the formatted IE ICB subtype (0x10) and the raw IE type (0x11) with the IEs received. The supported formatted IEs can be loaded and all other IES are included as raw in the Raw ICB. Eventually, you must invoke an atomic function to send this information.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 53
Name: Copy Raw IEs into L4 Buffer
Description: Copies received IEs into the Raw IE ICB subtype (0x11) for sending at a later time.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Index
1619
Name: Purge B Channel and Send Clear to L3
Description: Deletes all timers and frees DSP resources per B channel. Then, it releases the call to Layer 3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 55
Name: Load Formatted IEs into L4 Buffer
Description: Loads specific formatted IEs into a formatted IE subtype (0x10) for later reporting to the host.
Arg1: <Formatted IE Type> 1-50
Arg2: <Not Used>
AF Number: 56
Name: Test if IE Exists in L4 Message
Description: Tests for an existing IE in a Layer 4 message for PPL Event Request and Outseize Control.
Arg1: <IE Type> 0-255
Arg2: <Not Used>
AF Number: 57
Name: Send BSM CR Purge Indication
Description: Sends the BSM (component 7) a purge indication that should return the In-Service DS0 Status Change to the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 58
Name: Send Purge Indication to L4
Description: Sends an L3P initiated purge to Layer 4.
Arg1: <Purge Value> 0-255
Arg2: <Not Used>
AF Number: 61
Name: Load L4 IEs in Sorted Order
Description: Translates formatted and raw IEs to be sent to Layer 3 in sorted order.
Arg1: <Not Used>
MSP
1620
Arg2: <Not Used>
AF Number: 62
Name: Load L4 Formatted IEs to L3 Buffer
Description: Loads just the formatted IEs into a buffer to Layer 3. These would be inserted by host in the PPL Event Request and the Outseize Control.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 63
Name: Load L4 Raw IEs to L3 Buffer
Description: Loads the Layer 4 Raw IEs into a buffer to send to Layer 3 at a later time.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 65
Name: PPL Send Host PPL Event Indication
Description: Sends a PPL Event Indication to host. If a previous atomic function’s loaded Layer 3 IEs to go to Layer 4, then they also get sent.
Arg1: <Event ID> 1-255
Arg2: <Not Used>
AF Number: 66
Name: Test L3 Error Indication and Map to Internal Event
Description: If the previous event was a Layer 3 Error Indication, the error is added to the internal event base and returned. The state that follows this error should be an internal state to test the value.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 68
Name: Test # of Stored Digits
Description: Test if the # of stored digits is less than or equal to the value in Arg1.
Arg1: <# of Digits> See AF 84
Arg2: <Not Used>
Test PPL Internal
Index
1621
Result Event
<= 1
Other 0
AF Number: 69
Name: Test if IEs Exist in L3 Message
Description: Tests to see if the IE indicated by Arg1exists in a Layer 3 message.
Arg1: <IE ID> 0-255 (ITU-T Q.931 codeset 0 IE value)
Arg2: <Not Used>
Test Result PPL Internal Event
Exists 1
Does not exist
0
AF Number: 70
Name: Load IE Library IE
Description: Copies previously stored IEs in the IE Library into the buffer to Layer 3.
Arg1: <IE Library Index> 0-30
Arg2: <Not Used>
AF Number: 71
Name: Test if Stored Digits Equals Config Byte Value
Description: Tests to see if # of stored digits is less than or equal the value in Arg1.
Arg1: <Config Byte>
Arg2: <Not Used>
Test Result
PPL Internal Event
<= 1
Other 0
AF Number: 72
Name: Test For Sending Complete Indication
Description: Tests to see if there is a Sending Complete Indication message.
Arg1: <Not Used>
MSP
1622
Arg2: <Not Used>
Test Result PPL Internal Event
Yes 1
No 0
AF Number: 73
Name: Load Cause Code IE
Description: Copies the Cause Code indicated in Arg1 into a buffer to send to L3.
Arg1: <Cause Code>
Arg2: <Not Used>
AF Number: 74
Name: Test First Data ICB in Outseize Control Message
Description: Tests the first Data ICB subtype in the Outseize Control message.
This lets the Layer 3 Plus protocol distinguish the BCD encoded format for sending the information, and the formatted and raw subtypes. The returned code is the internal event for the value.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 75
Name: Translate Network-specific IE from B Channel Option
Description: Looks into channel previously configured options (B Channel Configure) and creates and copies the network-specific IE in the buffer to Layer 3. This atomic function is not needed if the host includes this information in the Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 76
Name: Translate Bearer Capability IE from B Channel Option
Description: Looks into channel previously configured options (B Channel Configure) and creates and copies the Bearer Capability IE in the buffer to Layer 3. This atomic function is not needed if the host includes this information in the Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
Index
1623
AF Number: 77
Name: Load Outseize Control Address Digits to Q.931 IEs
Description: Takes the BCD encoded stage digits from the Outseize Control and creates the Called Party IE and loads it in a buffer to send to Layer 3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 78
Name: Send Outseize Control Ack
Description: Sends an Outseize Control ACK.
Arg1: <Value> 0-255
Arg2: <Not Used>
AF Number: 79
Name: Send PPL Event Request Ack
Description: Sends a PPL Event Request ACK.
Arg1: <Value> 0-255
Arg2: <Not Used>
AF Number: 80
Name: Send L3 to L4 SETUP Indication Using BCD-Encoded Stages
Description: Extracts Layer 3 SETUP information to load called and calling party digits in the Request for Service with Address Data message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 81
Name: Send L3 to L4 SETUP Indication Exact L3 Frame
Description: Sends the exact received frame for the SETUP message to the host in the Request for Service with Address Data message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 82
Name: Test Bit Mask in Specified Byte Offset Of IE in L2 to L3 Message
Description: Tests any set of bits in any byte of an IE in a message from L3.
Arg1: <IE ID>
MSP
1624
Arg2: <Byte Offset/Bit Mask> Byte Offset (MSB)/Bit Mask (LSB)
AF Number: 83
Name: Test for Sufficient Digits In Stored Called Party IE Buffer
Description: Verifies that there are sufficient digits in the Called Party IE Buffer. The number of significant digits is indicated in Config Byte 10.
NOTE: This atomic function applies to Euro ISDN only
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 85
Name: Store Called Party IE Digits
Description: Stores the Called Party digits from the Called Party IE in a SETUP or INFORMATION message from L3 into the Overlap Receive buffer. See AF 68 and AF 71.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 86
Name: Send INFO Requests in Overlap Mode
Description: Sends Called Party digits in continuous INFORMATION messages to L3 with one Called Party digit per message. This function should only be used for testing.
The Call Type must be set to 1 (Called Party digits are in Call Type ICB) using the Call Type ICB in the Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 87
Name: Test Call Type
Description: Tests the Call Type obtained from the Call Type ICB sent in an Outseize Control message.
Arg1: <Not Used>
Arg2: <Not Used>
Test Result PPL Internal Event
Call Type 1 Called Party digits are in Call Type ICB
1
Index
1625
Call Type 2
Host controls sending of INFORMATION messages 2 Call Type ICB does not exist
0
AF Number: 88
Name: Load Sending Complete IE
Description: Load Sending Complete IE in to a SETUP or INFORMATION message to L3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 89
Name: Test Called Party Digits using Config Byte
Description: Tests 1 or 2 digits in the Stored Called Party buffer. The offset into the digit string is indicated in Arg1. The number of digits to test (1 or 2) is indicated in Arg2.
Arg1: <Config Byte Offset> Config Byte containing the offset in to the digit string.
Arg2: <Config Byte # Test Digits> 1 or 2
AF Number: 90
Name: Test Called Party Digits
Description: Tests 1 or 2 digits in the Stored Called Party buffer. The offset into the digit string is indicated in Arg1. The number of digits to test (1 or 2) is indicated in Arg2.
Arg1: <Offset> Offset in to the digit string.
Arg2: <# of Test Digits> 1 or 2
AF Number: 91
Name: Load Remaining Called Party Digits in L3L4 Formatted IE Buffer
Description: Load remaining Called Party digits received in INFORMATION message from L3 into Formatted IE buffer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 92
Name: Store L3L4 Form and Raw IEs
Description: Store the L3 to L4 Formatted and Raw IE buffers to be loaded later.
Arg1: <Not Used>
MSP
1626
Arg2: <Not Used>
AF Number: 93
Name: Load Stored L3L4 Form and Raw IE Buffer
Description: Load the stored Formatted and Raw IE buffers.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 94
Name: Send L3 ANI Request
Description: Sends an ANI feature request to L3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 95
Name: Send L3 Vari-A-Bill Request
Description: Sends a Vari-a-Bill feature request to L3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 96
Name: Load NSF IE with ANI Req Information from B Channel Option
Description: Load a Network-specific Facility IE with ANI on Demand request information from the B channel configuration settings.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 97
Name: Decode NSF IEs to Set Available Features And Services
Description: Decodes the Network-specific Facility IE in the incoming SETUP message to setup the available features and services supported by the call.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 98
Name: Test if Feature is Available
Index
1627
Description: Test if the feature indicated by Arg1 is supported for this call, as indicated in the Network-specific Facility IE in the SETUP message.
Arg1: <Feature #> See TR41459, Appendix 3, Section 4.2.2.2.
Arg2: <Not Used>
Test Result PPL Internal Event
Supported 0
Not Supported
1
AF Number: 99
Name: Test if Service is Supported
Description: Test if the service indicated by Arg1 is supported for this call, as indicated in the Network-specific Facility IE in the SETUP message.
Arg1: <Service #> See TR41459, Part 3, Section 3.6.5.19.
Arg2: <Not Used>
Test Result PPL Internal Event
Supported 0
Not Supported
1
AF Number: 100
Name: Send L3 SETUP Request
Description: Request Layer 3 to send a SETUP message. This includes any previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 101
Name: Send L3 CALL PROCEEDING Request
Description: Requests Layer 3 to send a CALL PROCEEDING message. This includes any previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 102
Name: Send L3 INFO Request
MSP
1628
Description: Requests Layer 3 to send an INFORMATION message. This includes all previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 103
Name: Send L3 ALERTING Request
Description: Requests Layer 3 to send an ALERTING message. This includes all previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 104
Name: Send L3 PROGRESS Request
Description: Requests Layer 3 to send a PROGRESS message. This includes all previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 105
Name: Send L3 CONNECT Request
Description: Requests Layer 3 to send a CONNECT message. This includes all previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 106
Name: Send L3 CLEAR Request
Description: Requests Layer 3 to send a DISCONNECT or a RELEASE message. This includes any previously stored IEs to be sent. The Clear Request representation is determined by the side that initiated the DISCONNECT.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 107
Name: Send L3 USER INFORMATION Request
Description: Requests Layer 3 to send a USER INFORAMTION message. This includes any previously saved IEs to be sent.
Index
1629
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 108
Name: Send L3 FACILITY Request
Description: Request Layer 3 to send a FACILITY message. This includes previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 109
Name: Send L3 SEGMENT Request
Description: Send SEGMENT REQ message to L3.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 111
Name: Send L3 REGISTER Request
Description: Requests Layer 3 to send a REGISTER message. This includes previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 112
Name: Store Call Type ICB
Description: Stores the Call Type ICB if one exists.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 113
Name: Send L3 a GENERIC EVENT Request
Description: Sends a GENERIC EVENT request to L3.
Arg1: <Event #>
Arg2: <Not Used>
AF Number: 116
MSP
1630
Name: Send L3 NOTIFY Request
Description: Requests Layer 3 to send a NOTIFY message including any previously stored IEs to be sent.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 117
Name: Send L3 MORE INFO Request
Description: Sends a MORE INFO request to L3 to initiate Overlap Sending.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 131
Name: Send L4 Setup Indication
Description: Informs Layer 4 of an incoming call; sends the Request For Service with Address Data to the host.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 132
Name: Send L4 ALERTING Indication (Connect TS Post-answer)
Description: Sends an alerting indication to Layer 4, which causes a two-way connection if the host sent a Connect (A, B) message previously. Do not use this form to make a two-way connection prior to answer.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 133
Name: Send L4 ALERTING Indication (Connect TS Now)
Description: Sends the alerting indication to Layer 4 but not until a connection answer occurs.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 134
Name: Send L4 CONNECT Indication
Description: Informs Layer 4 of distant end answer.
Index
1631
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 135
Name: Send L4 DISCONNECT Indication
Description: Inform Layer 4 of a DISCONNECT request from the distant end.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 136
Name: Send L4 CLEAR Indication
Description: Informs Layer 4 that the release sequence is complete and the call has returned to IDLE/NULL State.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 137
Name: Determine Congestion Level
Description: Finds out the current congestion level
Arg1: N/A
Arg2: N/A
AF Number: 138
Name: Send L4 Access Denied
Description: Sends a L3_CCPnACCESS_DENIED message to Layer 4 with status ISDN_STACK_CONGESTED (0x3E)
Arg1: Value of status field
Arg2: N/A
AF Number: 144
Name: Save type of Segmented Message in GPR if REASSEMBLY< GPR#>
Description: Saves Segmented Message type in GPR specified by Arg1, if REASSEMBLY flag is set in message
Arg1: GPR#
Arg2: <Not Used>
AF Number: 145
MSP
1632
Name: Save type of Segmented Message in GPR if REASSEMBLY and Release Request Enabled< GPR#>
Description: Saves Segmented Message type in GPR specified by Arg1, if REASSEMBLY flag is set in message and Channel Release Request is enabled on ISDN disconnect
Arg1: GPR#
Arg2: <Not Used>
AF Number: 146
Name: Compare type of Segmented Message with <GPR#>
Description: Compare type of Segmented Message with value of GPR specified by Arg1
Arg1: GPR#
Arg2: <Not Used>
Results: PPLevINTERNAL_EVENT_1 if Segmented Message type == GPR <Arg1>
PPLevINTERNAL_EVENT_0 if Segmented Message type != GPR <Arg1>
AF Number: 147
Name: Send L4 Segment Indication
Description: Send to SEGMENT Indication to L4
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 148
Name: Test for last segment of Segmented message
Description: Tests for last segment of Segmented message.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINTERNAL_EVENT_1 if last Segment
PPLevINTERNAL_EVENT_0 if not last Segment
AF Number: 149
Name: Clear LP3_CC IE buffers
Description: Sets LP3_CC IE buffer pointers to NULL
Arg1: <Not Used>
Arg2: <Not Used>
Index
1633
L3P B Channel Control (0x0007) Atomic Functions
Purpose
This section describes the atomic functions used by the L3 Call Reference PPL component.
L3P B Channel Control atomic functions
The following AFs are specific to the ISDN L3P B Channel Control PPL component. See Common Atomic Functions (2-1) for the AFs common to all PPL components.
AF Number: 51
Name: Send Enable B Channel to L3
Description: Enables a B channel to Layer 3 and forces the SERVICE of in-service to be sent to the distant end.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 52
Name: Send Disable B Channel to L3
Description: Enables a B channel to Layer 3 and forces the service of Out-of-Service to be sent to the distant end.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 53
Name: Send L3 B Channel Maintenance to L3
Description: Enables a B channel to Layer 3 and forces a service of maintenance to be sent to the distant end.
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 54
Name: Send CCSM Service State Event
Description: Forces an indication to Layer 4 and causes a DS0 Status Change message to be sent to the host.
Arg1: <Not Used>
Arg2: <Not Used>
MSP
1634
AF Number: 55
Name: Test to see if the B channel is on the D channel Facility
Description: Checks to see if the B channel for this PPL resides on the same span as any other D channel (primary or backup).
Arg1: <Not Used>
Arg2: <Not Used>
AF Number: 56
Name: Send Remove Call to L3P CR
Description: Clear all calls using this B channel. Remove Call is sent to L3P CR
Arg1: <Not Used>
Arg2: <Not Used>
Index
1635
L3 Call Reference (0x0008) Atomic Function
Purpose
This section describes the atomic functions used by the L3 Call Reference PPL component.
L3 Call Reference Atomic Function
The following Atomic Function supports congestion control functionality to the ISDN PRI card. See Common Atomic Functions for the AFs common to all PPL components.
AF Number: 131
Name: Determine congestion level
Description: Finds out the current congestion level
Arg1: N/A
Arg2: N/A
The following Atomic Functions support QSIG/PSS1 Basic Call Signaling functionality. See Common Atomic Functions for the AFs common to all PPL components.
AF Number: 140
Name: Get Segmentation Event from L3 DSM message
Description: Extracts event coded message from L3DSM and returns corresponding internal event
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINTERNAL_EVENT_0 and Segmentation Event from L3 DSM
AF Number: 141
Name: Send SEGMENT Indication to L3P
Description: Send SEGMENT_IND message to LP3
Arg1: Event (1:3)
Arg2: <Not Used>
AF Number: 142
Name: Send SEGMENT Request to L3DSM
Description: Send SEGMENT_REQ message to L3DSM
MSP
1636
Arg1: Event (1:3)
Arg2: <Not Used>
AF Number: 143
Name: Validate called party number IE
Description: Validates called party number IE
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
PPLevINT_EVENT_0 if IE is missing
PPLevINT_EVENT_2 if IE is invalid
AF Number: 144
Name: Validate call state IE
Description: Checks if the call state indicated in the IE matches the current state. Validation is done if the IE is present.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
PPLevINT_EVENT_0 if IE is missing or call state is invalid
AF Number: 145
Name: Validate cause IE
Description: Validates cause IE. Validation is done if the IE is present.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
PPLevINT_EVENT_0 if IE is missing
PPLevINT_EVENT_2 if IE is invalid
AF Number: 146
Name: Validate progress indicator IE
Description: Validates progress indicator IE. Validation is done if the IE is present.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
Index
1637
PPLevINT_EVENT_0 if IE is missing
PPLevINT_EVENT_2 if IE is invalid
AF Number: 147
Name: Validate channel IE
Description: Validates channel IE. Validation is done if the IE is present.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
PPLevINT_EVENT_0 if IE is missing
PPLevINT_EVENT_2 if IE is invalid
AF Number: 148
Name: Validate bearer capability IE
Description: Validates bearer capability IE. Validation is done if the IE is present.
Arg1: <Not Used>
Arg2: <Not Used>
Results: PPLevINT_EVENT_1 if IE is valid
PPLevINT_EVENT_0 if IE is missing
PPLevINT_EVENT_2 if IE is invalid
MSP
1638
L3 Global Call Reference (0x0009) Atomic Function
Purpose
This section describes the atomic functions and PPL events for the L3 Global Call Reference PPL component.
L3 Global Call Reference PPL Atomic Functions
The following Atomic Function in Layer 3 GCR PPL Component (0x0009) adds functionality to provide for ISDN Bearer Connection Independent Supplementary Services. See Common Atomic Functions for the AFs common to all PPL components.
Atomic Functions
AF Number: 88
Name: Setup Call Reference
Type: Normal
Description: Sets up the Layer 3 GCR call reference data structure using the call reference specified in the ICB.
Arg1: N/A
Arg2: N/A
Results of Atomic Function 88
AF Number 88
Name Normal
Type Normal /Blocking/Test
Description Normal /Blocking/Test
Arg1 Description
Input Range
Arg2 Description
Input Range
L3 Global Call Reference L3/L5 Events
The sending of the PPL events to the host is configurable with PPL Configuration Bytes 3–10. These events are only valid using the ISDN Raw IE type (0x11)
Index
1639
PPL Event Request (L5 to L3)
PPL Event Indication (L3 to L5)
0x0001 Facility 0x0001 Facility Indication
0x0002 Facility ACK 0x0002 Facility ACK Indication
0x0003 Facility Rej 0x0003 Facility REJ Indication
0x0004 Restart 0x0004 Restart
0x0005 Restart ACK 0x0005 Restart ACK
0x0006 Status 0x0006 Status
0x0007 Status Enq 0x0007 Status Enquiry
0x0008 User Info 0x0008 User Information