MTP2 API
Overview
MTP2 corresponds to OSI Layer 2 (the data link layer) and as such is the lowest protocol in the stack. Sitting on the physical layer, it provides a reliable means of transfer for signalling information between two directly connected signalling points (SPs), ensuring that the signalling information is delivered in sequence and error-free.
MTP2 performs the following functions:
Delimitation of signal units
Alignment of signal units
Signalling link error detection
Signalling link error correction by retransmission
Signalling link initial alignment
Error monitoring and reporting
Link flow control
The signalling information is transmitted in frames called signal units (SUs). SUs are of variable length, thereby requiring the start and end of each SU to be flagged in the data stream. MTP2 performs this function, which is called signal unit delimitation. The ability to correctly recognize signal units is achieved through signal unit alignment.
Error correction is implemented by retransmitting the signal unit(s) received in error. The link is also continuously monitored to ensure that error rates are within permissible limits. If the error rate becomes greater than predefined limits, MTP2 reports the failure to Message Transfer Part 3 (MTP3), which subsequently orders MTP2 to remove the link from service. Conversely, initial alignment procedures are used to bring links into service.
Link flow control procedures are provided to resolve congestion at the MTP2 layer. Congestion occurs if MTP3 falls behind in processing SUs from the MTP2 buffer.
This chapter describes each of the previously outlined functional areas of MTP2.
It is important to understand that the MTP2 protocol does not work end to end. Rather, it operates on a link-by-link basis (known in datacoms as point to point) between two SPs. Therefore, each signalling data link has an associated MTP2 at each end.
The MTP2 API provides a user-friendly API that can be used to quickly develop and develop SS7 User applications. Sangoma's SS7 signalling library uses Trillium's SS7 stack, which is a robust, commercial, Telco-grade stack.
NOTE: Right now MTP2 API is only supported in LINUX work environment.
Key features
Tested for up to 620 MTP2 Links LSL mode.
Tested for up to 20 MTP2 Links in HSL mode.
Supported variants: ITU-88, ITU-92, ETSI, ANSI-88, ANSI-92.
Supports BEC and PCR error correction.
For more information about usage and licensing options, please contact sales@sangoma.com.
General MTP2 API Architecture
Operation
The MTP2 API provides a user-friendly API that can be used to quickly develop and develop SS7 User applications.
Sangoma also provide mtp2_test application which mainly does following operations:
Start MTP2 span.
Start transmitting messages to peer MTP2 and verify the message received.
Perform different operations as per message received as shown below:
Build and Run sample MTP2 API application
For LINUX
Change directory to applications/sample_mtp2_api/ .
Run following commands:
./configure
make
./run_mtp2_api
NOTE: For much information w.r.t. mtp2 api application and its configuration please go through the README file as present in applications/sample_mtp2_api/README or the README file as attached with this blog.
MTP2 API README: