# NMS ISDN supplementary services overview

ISDN supplementary services enable an NMS ISDN application to implement powerful functionality beyond basic call control. These functions include:

- Call transfer operations: an application can reroute a call to another user.

- Call forwarding operations: a network or ISDN stack can reroute a call destined for a user to another user.

- Call hold and retrieve services: an application can place a call on hold, and retrieve a held call.

- Advice of charge services: an application can track the costs of a specific call, in real-time.

- Tandem services: an application can support a transit node (one that exists between two other nodes, and route messages from one node to the other).

- Identification services: called or calling parties can exchange information.

Your NMS ISDN application can access supplementary services using the standard NMS ISDN Messaging functions. Supplementary services messages are included in standard ACU messages sent to or received from the NMS ISDN protocol stack. Each service specification and any associated data is stored in an extended data area appended to the ACU message buffer. You can invoke supplementary services with any primitive passed over the ACU interface.

One primitive may contain multiple extended data structures. This allows the application to invoke multiple services with one primitive, or to receive multiple indications with one primitive coming up from the ACU interface.

Some transfer supplementary services can also be accessed using NMS Natural Call Control.