The ISDN API functions allow BRI boards to perform the following Supplemental Services:
Call Hold and Retrieve are invoked using the following API functions (see the appropriate function descriptions in Chapter 5. ISDN Function Reference for more information):
The other Supplemental Services are invoked by sending information from the board to the PBX using an appropriate API function. This information is sent as the part of the Layer 3 frame called the Information Element (see Section 3.2.2. Network Layer (Layer 3) Frames for more information). In order for the PBX to interpret the Information Elements as Supplemental Service requests, the Information Elements must be sent as Facility Messages.
The following functions can be used to send Facility Messages:
The following functions are used to retrieve Facility Messages:
The cc_SndMsg( ) and cc_SndNonCallMsg( ) functions are used to send Facility Messages or Notify Messages to the PBX. The Facility Message (as defined in ETS 300-196-1) is composed of the following elements:
The Supplemental Service to be invoked and its associated parameters are specified in the Information Element. This information is PBX-specific and should be provided by the PBX manufacturer. Facility Messages are sent using the cc_SndMsg( ) or cc_SndNonCallMsg( ) function with msg_type = SndMsg_Facility. These functions
The PBX, in turn, interprets and acts on the information, and sends a reply to the BRI board.
As an example, to invoke Supplemental Service 'X', the cc_SndMsg( ) function with msg_type = SndMsg_Facility could be used. The Information Element would be defined in a data structure as follows:
ieblk.length = 11; ieblk.data[0] = 0x1c; /* IE Identifier */ ieblk.data[1] = 0x09; /* Length of information */ ieblk.data[2] = 0x91; /* Protocol Profile */ /* information */ ieblk.data[3] = 0xa1; /* Component Type */ ieblk.data[4] = 0x06; /* Component Length */ ieblk.data[5] = 0x02; /* invoke tag id */ ieblk.data[6] = 0x01; /* invoke tag length */ ieblk.data[7] = 0x00; /* invoke id */ ieblk.data[8] = 0x02; /* operation tag */ ieblk.data[9] = 0x01; /* operation length */ ieblk.data[10] = 0x06; /* operation */
The data sent to the switch would be formatted as follows:
Figure 12. Information Element Format

Information elements can also be sent using the cc_SetInfoElem( ) function, which allows the BRI board to send application-specific information elements in the next outgoing message. (For more information, see the cc_SetInfoElem( ) function description.)
When a Supplemental Service is invoked, the network may return a NOTIFY Message to the user. This message can be retrieved using the cc_GetCallInfo( ) function.
The Notify Message (as defined in ETS 300-196-1) is composed of the following elements:
The Notify message is coded as follows:
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
x |
x |
x |
x |
x |
x |
x |
x |
Protocol discriminator | |||||||
x |
x |
x |
x |
x |
x |
x |
x |
Call reference | |||||||
x |
x |
x |
x |
x |
x |
x |
x |
Message Type | |||||||
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Notification Indicator Information element identifier | |||||||
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
Length of Notification Indicator contents | |||||||
1/1 |
x |
x |
x |
x |
x |
x |
x |
ext. |
Notification Description | ||||||
0 |
x |
x |
x |
x |
x |
x |
x |
ext. |
Notification Description | ||||||
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
Notification Data Structure | |||||||
Coding requirements for other supported Supplemental Services are listed in Table 60.
Table 60. ETSI Specification Cross-Reference for Supplemental Services
Supplementary Service/Description |
ETS 300 Specification |
Explicit Call Transfer - enables a user (user A) to transform two of that user's calls (an active call and a held call), each of which can be an incoming call or an outgoing call, into a new call between user B and user C. "Call Transferred Alerting" and "Call Transferred Active" messages are returned by the network to the user. |
367/369/369 |
Call Hold/ Retrieve - allows a user to interrupt communications on an existing call and then subsequently, if desired, re-establish communications. When on Hold, the user may retrieve that call from hold, originate a new call, retrieve another call, or establish connection to an incoming call, for example, a waiting call. |
139/140/141 |
Subaddressing (allows direct connection to individual extensions or devices sharing the same phone number, or, as a proprietary messaging mechanism). Provides additional addressing above the ISDN number of the called user. |
059/060/061 |
Called/Calling Party Identification (CLIP) - Provides the calling user's ISDN number and subaddress information to the called user. This information is sent in the "Setup message" (see ETS300 102-1) by the calling user to the switch, and from the switch to the called user. |
089/091/092 |
Called/Calling Party Identification (CLIR) - Restricts presentation of the calling user's ISDN number to the called user. |
090/091/093 |
Called/Calling Party Identification (COLP) - Provides the calling user's ISDN number to the called user. |
094/096/097 |
Called/Calling Party Identification (COLR) - restricts the ISDN and the subaddress of the called user. |
095/096/098 |
Advice of Charge - S |
178/181/182 |
Advice of Charge - D |
179/181/182 |
Message Waiting Indication |
650/745-1/356-20 |
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation