Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
hp OpenCall SS7 platform Application Developer's Guide: For Release 3.1 on Linux > Chapter 14 Managing HP OpenCall SS7 ISUP

IPC Flow Control

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The HP OpenCall SS7 ISUP library provides both inbound and outbound flow control via back-pressure. Inbound flow control is necessary when the application cannot read all the pending message indications found in HP OpenCall SS7 ISUP’s inbound queue. On the outbound path, flow control becomes necessary when the application requests are blocked at the MTP3 interface.

Figure 14-2 Back-pressure and Paths

Back-pressure and Paths

Inbound Path

The application receives single primitives from the HP OpenCall SS7 ISUP API, even if multiple primitives have been generated after the occurrence of a protocol event. A protocol event could be a primitive received from either the application or the network, or simply a timeout.

Primitives waiting to be received by the application are maintained by HP OpenCall SS7 ISUP in an inbound queue.

Waiting Indications

With each IsupSMProbe::receive()and IsupBPProbe::receive(), the number of indications waiting to be received is also passed, see “Receiving Messages”. It is your responsibility to repeatedly call receive() until all the waiting indications have been received.

Network Back-pressure

While there are still indications waiting to be received by the application, MTP3 will not perform a MTPL3recv() on behalf of HP OpenCall SS7 ISUP.

If the application does not receive all the pending primitives as soon as possible, the back pressure HP OpenCall SS7 ISUP forces on the network will cause the SS7 stack to delete all new messages that it cannot send to HP OpenCall SS7 ISUP within a certain period of time.

Outbound Path

When a protocol event occurs, HP OpenCall SS7 ISUP state-machines may generate one or more ISUP messages destined for the network. The generated messages are placed in an outbound queue by the processing state-machines.

Once the state-machines have completed their processing, HP OpenCall SS7 ISUP attempts to send all the messages in the queue to the network.

Remaining Messages

If HP OpenCall SS7 ISUP is successful in sending all the messages, the queue is empty. Otherwise, it contains the messages that it could not send.

Application Back-pressure

The number of remaining messages in the queue is used by HP OpenCall SS7 ISUP to accept or reject the service primitives that the application issues.

When the application issues a send(), HP OpenCall SS7 ISUP determines whether the queue is empty or not. If it is not empty, then the send() fails with the Return Status value IPC_SEND_FULL.

However terminating primitives can be sent from the application to HP OpenCall SS7 ISUP library when this IPC congested state occurs. These primitives are:

  • START_RELEASE_IND_ACK

  • RELEASE_RESP

  • START_RESET_IND_ACK

  • RESET_RESP

  • STOP_REQ

When the congestion disappears, HP OpenCall SS7 ISUP immediately calls s(endPossible), indicating to the application via the activity object mechanism that it can restart sending messages.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.