> For the complete documentation index, see [llms.txt](https://prosbcdocs.telcobridges.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prosbcdocs.telcobridges.com/telecom-references/protocols/isup-flow-control.md).

# ISUP Flow control

The robustness of the [SS7](https://telcobridges.com/media-gateways/solutions/signaling/migrating-ss7-sigtran/) network relies on redundant links, fail-over switching and flow control. Every protocol layer ([MTP2](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/mtp2/README.md), [MTP3](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/mtp3/README.md) and [ISUP](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/isup/README.md)) has the capability to tell its service user to slow down its rate of input to recover from an abnormal situation on the network. The ISUP layer sends this information to the host application with congestion events (shown in the table below). Although these events are sent on a particular circuit, they affect the whole interface. The host application needs to keep track of those events and to react accordingly by slowing, stopping or restarting the flow of calls toward the ISUP layer. Failure to do so will probably force the stack to drop call request or to react much slower than expect for currently active calls. Thus, the host application MUST respect these warnings.

| Flow control events | Description                                         |
| ------------------- | --------------------------------------------------- |
| Congestion level 0  | Very low congestion on the interface                |
| Congestion level 1  | Low congestion on the interface                     |
| Congestion level 2  | High congestion on the interface                    |
| Congestion level 3  | Heavy congestion on the interface                   |
| Stop congestion     | No more congestion on the interface                 |
| Pause Indication    | Interface (i.e. remote DPC) is no longer accessible |
| Resume Indication   | Interface (i.e. remote DPC) is now accessible again |

Causes of interface congestion may vary greatly and may come from multiple sources. For example, if an intermediate SS7 node in the path toward a specific [destination point code](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/signalling/dpc/README.md) becomes congested (i.e. lack of CPU power), the local interface will be also notified of the congestion to apply proper routing through an alternate route (if available). Thus, the congestion is not always caused by the local SS7 node(s). This enforces the fact that the host application needs to be “nice” otherwise the local stack will apply its own flow control and start refusing calls. The interface can also be flagged as ‘paused’ which means that there is no more a route to reach the destination point code assigned to the circuit. In this case, the ISUP layer will do the configured actions on the opened and transient calls as specified by the PauseAction parameter from the interface configuration structure.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://prosbcdocs.telcobridges.com/telecom-references/protocols/isup-flow-control.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
