Interexchange Carrier SR4592 Gateway System


SMS800 MGI Access


Prepared By:

Contact: Sally S. Lee





SynerCom Inc. is pleased to offer customer our SMS800 MGI solution software package to enable customer to access SMS800 national site via the ASN.1/TCP protocol as defined in Telcordia SR4592 – Service Management System (SMS)/800 Mechanized Generic Interface Specification. This software package will provide customer a complete end-to-end solution to bridge the existing customer application systems to the SMS800 national site. It also provides a test environment for customer internal testing of SR4592 protocol with SMS800 site simulation.

A library of APIs (Application Programming Interfaces) is also included as part of the package for customer to perform software customization and enhancement if needed. Attachement-1 contains the descriptions of APIs for programmers. The library of APIs can also be used as a general purpose inter-procedss communication infrastructure for customers to build their own distributed application systems.

General System Descriptions:

The SR4592 solution software package is delivered in either read-to-run binary code licensing or source code licensing. The source code can be compiled and linked by ANSI standard C/C++ compiler under Sun Solaris Operating System running on either Sun SPARC or Intel platform. The binary code delivery has been fully tested on both Sun SPARC and Intel platforms running under Sun Solaris. The software has been deployed with High Availability architecture on a pair of Sun SPARC machines in production mode by a major telecommunication carrier.

The source code of STP-SR5129 solution software is coded in ANSI C/C++ language. It uses POSIX-conformance APIs and X/OPEN TCP Socket Interfaces. It also contains a set of standalone ASN.1/BER encode and decode routines. Other than Solaris operating system, it needs no other third party software system to compile/link and run. This enables the system be easily ported to other UNIX or POSIX-conformance development and runtime environment.

This system implements the ASN.1/BER/TCP interface protocol as defined in Telcordia Document SR4592. It can be used as a front-end telecommunication system for customer’s existing MGI system to interface with SMS800. It contains the following major features:

The following diagram depicts the system architecture of MGI gateway and SMS800 simulators:

Detailed Software Component Descriptions:


Proposed Customer MGI/SMS800 Architecture

The following diagram depicts the proposed system architecture for customer as a MGI system to access SMS800 national site through SR4592 ASN.1/TCP protocol. The shaded boxes represent the production processes needed to support the MGI/SMS800 interfaces. The dotted boxes represent the up-to-six SMS800 TCP ports allocated for each MGI system as documented in SR4592.

Application Interface

To simplify the implementation on the existing application side of the customer MGI system, it is proposed that two TCP sockets, one for send and one for receive, to be used on the application side. By using one-way TCP session with application, the Application-Send and Application-Receive processes can be implemented by using single threaded blocking-IO TCP sockets. This will simplify the implementation while still maintains high performance throughput.

The MGI-Send-Queue process will try to receive and enqueue (FIFO) messages from application. The queue will be used if Application-Send process is sending faster than SMS800 can receive. If the queue is full due to SMS800 slowdown or shutdown, "Back pressure" for TCP receive will be applied to Application-Send TCP socket to enable flow control. In this case, the TCP socket in the Application-Send process will be blocked. Therefore, no MGI outbound messages will be lost during congestion.

The MGI-Receive process will send as fast as Application-Receive process can receive. If Application-Receive process suspends receiving, the MGI-Receive process will apply "back pressure" to the SR4592 TCP Gateway process which in turn propagates "back pressure" to the SMS800 TCP sessions. No messages from SMS800 will be lost during flow control situation.

The recommended message structure of the application interface can be defined as follows:

  1. First four bytes – Message Delimiter(MD) flag must be different from the SR4592 MD flag (e.g. hex’7F7F7F7F’).
  2. Second four bytes – a four-byte binary field represents the length of the message (UPL Header + UPL data) – same format as defined in Message Delimiter (MD) of SR4592.
  3. Next 27 bytes (9 to 36 byte) - UPL Header as defined in SR4592
  4. 37 byte to the end of the message – UPL data as defined in SR4592

MGI-to-SMS800 SR4592 TCP Gateway process

This gateway process provides up to six TCP full-duplex sessions with SMS800 as defined in SR4592. It maintains connections to SMS800 automatically. It provides both TCP server and client functions. If SMS800 makes connection request, it will accept the connection. If any of the SMS800 ports are not available, it will periodically try to make connection request to them. Once the connections are made, they will be maintained active at all times.

For MGI outbound messages from the MGI Send-Queue or MGI-REQ-TEST-Send processes, the Gateway process distributes the messages across all available SMS800 TCP sessions (up to six) evenly in a round-robin fashion. All messages except the REQ-TEST and RSP-TEST messages received from SMS800 are forwarded to MGI-Receive process. The REQ-TEST messages from SMS800 are forwarded to the MGI-SMS-REQ-TEST-Respond process. The RSP-TEST messages from SMS800 are forwarded to the MGI-REQ-TEST-Send process.

At any time, if any SMS800 ports are not receiving fast enough for the Gateway process to dequeue messages from the MGI side, "TCP back pressure" on receive will be applied to all MGI sending processes. If any of the MGI Receive processes are not receiving fast enough for the Gateway process to dequeue messages from the SMS800 side, "TCP back pressure" on receive will be applied to all SMS800 sending ports. No messages will be dropped during congestion situations.

MGI REQ-TEST Send process

This process will be scheduled by system administrator on-demand to test the connections between the MGI and SMS800 by sending REQ-TEST messages to SMS800. This process will generate REQ-TEST test messages with "number of messages sent" and "message size" selectable by the user. It will then wait for the corresponding RSP-TEST messages to return. A report will be generated detailing the total number of messages sent and received at the end of the test.

MGI SMS-REQ-TEST Respond process

This process will receive all REQ-TEST messages sent by SMS800. It will generate the RSP-TEST messages back to SMS800 as specified by SR4592.


Proposed Customer MGI/SMS800 Test Environment

If SR4592 ASN.1/TCP internal testing is desired in the customer facility, a test environment with SMS800 simulator will be required. The following diagram describes an internal MGI/SMS800 test environment.

The MGI TCP Gateway process can be modified to simulate the six SMS800-Port processes. Each SMS800-Port process may connect to a SMS-REQ-TEST Respond process to process all the REQ-TEST messages received from MGI. An SMS-REQ-TEST-Send process can be constructed to send REQ-TEST from SMS800 and receives RSP-TEST messages returned from MGI.

Messages other than TEST messages can be routed to an Any-Msg-Display process, which will store messages into a trace file for later examination. An Any-Msg-Send process can also be constructed to send one or more UPL messages from a file to MGI.

All of the above mentioned testing processes can be created via the powerful API library developed by SynerCom Inc.