I thought to divide this topic into two blogs to make it more clear. First we will understand Caller ID Display from ISDN side, then we will map it to call control protocols (MGCP/SIP/H323).
Advanced ISDN IEs Configuration (Facility & Display)
Display IE is used mainly to provide the calling name over PRI Trunk. It can be sent in SETUP, ALERTING, or CALLPROC messages. For example,
Nov 23 12:36:11.610: ISDN Se0/2/0:23 Q931: TX -> SETUP pd = 8 callref = 0x00A3
Bearer Capability i = 0x8090A2
Standard = CCITT
Transfer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA98383
Exclusive, Channel 3
Progress Ind i = 0x8183 - Origination address is non-ISDN
Display i = 'user01'
Calling Party Number i = 0x4180, '2023001'
Plan:ISDN, Type:Subscriber(local)
Called Party Number i = 0xC1, '3023001'
Plan:ISDN, Type:Subscriber(local)
Nov 23 12:36:11.642: ISDN Se0/2/0:23 Q931: RX <- CALL_PROC pd = 8 callref = 0x80A3
Channel ID i = 0xA98383
Exclusive, Channel 3
Nov 23 12:36:11.694: ISDN Se0/2/0:23 Q931: RX <- ALERTING pd = 8 callref = 0x80A3
Progress Ind i = 0x8188 - In-band info or appropriate now available
However, Display IE isn’t enabled by default. In order to enable it different methods are available.
1)
interface Serial0/2/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
isdn outgoing display-ie
no cdp enable
2)
interface Serial0/2/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
isdn outgoing ie display
no cdp enable
Also, calling name is considered as supplementary service and therefore it can be carried over Facility IE instead of Display IE. Facility IE is enabled by default on PRI trunk, however, calling name as supplementary service isn’t enabled by default. Facility IE can be carried in SETUP and ALERTING messages.
interface Serial0/2/0:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
isdn supp-service name calling
no cdp enable
end
Nov 23 12:26:23.558: ISDN Se0/2/0:23 Q931: TX -> SETUP pd = 8 callref = 0x009D
Bearer Capability i = 0x8090A2
Standard = CCITT
Transfer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA98383
Exclusive, Channel 3
Facility i = 0x9F8B0100A10E0201080201008006757365723031
Protocol Profile = Networking Extensions
0xA10E0201080201008006757365723031
Component = Invoke component
Invoke Id = 8
Operation = CallingName
Name Presentation Allowed Extended
Name = user01
Progress Ind i = 0x8183 - Origination address is non-ISDN
Calling Party Number i = 0x4180, '2023001'
Plan:ISDN, Type:Subscriber(local)
Called Party Number i = 0xC1, '3023001'
Plan:ISDN, Type:Subscriber(local)
Nov 23 12:26:23.594: ISDN Se0/2/0:23 Q931: RX <- CALL_PROC pd = 8 callref = 0x809D
Channel ID i = 0xA98383
Exclusive, Channel 3
Nov 23 12:26:23.642: ISDN Se0/2/0:23 Q931: RX <- ALERTING pd = 8 callref = 0x809D
Progress Ind i = 0x8188 - In-band info or appropriate now available
The same command should be applied on the terminating gateway in order to decode the Facility IE value as calling name and send the displayed text to the phone (in case of CME) or to CUCM. Else, Facility IE will be forwarded without decode (raw value) and the calling name won’t be displayed since Facility IE isn’t recognized by phone or CUCM (KEEP THIS IN MIND CAUSE WE WILL USE IT IN THE SECOND BLOG).
Notes:
1. Calling Name (CNAM) as Facility IE and Display IE can be enabled simultenously.
2. IEs can be enabled/disabled invidually under D-Channel configuration. E.g. “no isdn outgoing ie facility”, “no isdn outgoing ie calling-number”, “no isdn outgoing ie called-number”, etc. This can be used to hide calling number by disabling Calling Number IE. Still CLID feature can be used as well.
3. Converting the hex value of Facility IE to ASCII, you can see the calling name.
Another hint is that CNAM can be sent as Facility IE without enabling CNAM as supplementary service. How??
IOS Gateways have the option to decode application protocol data units (APDUs) for supplementary services. If this command is not enabled, data units are not interpreted and are tunneled through the router.
voice service voip
qsig decode
Decoding those APDUs by the gateway locally enables it to use their contents. Since those APDUs are representing supplementary services, then those are Facility IEs.
Back to name display, once this feature is enabled on both gateways (mandatory on both gateways), IOS will encode all supplementary services on one side to Facility IE and decode them on the other side. Those supplementary services include CNAM and ALERTING name (display the name of called party on calling phone).
Very Important TIP: This is the only way to display the ALERTING NAME on calling phone. Note that ALERTING NAME is carried in the Facility IE of ALERTING message.
Nov 23 12:13:12.123: ISDN Se0/2/0:23 Q931: TX -> SETUP pd = 8 callref = 0x0095
Bearer Capability i = 0x8090A2
Standard = CCITT
Transfer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA98383
Exclusive, Channel 3
Facility i = 0x9FAA068001018201018B0100A10E02012D0201008006757365723031
Protocol Profile = Networking Extensions
0x010182
0x01018B
0x0100
0xA10E02012D0201008006757365723031
Component = Invoke component
Progress Ind i = 0x8183 - Origination address is non-ISDN
Calling Party Number i = 0x4180, '2023001'
Plan:ISDN, Type:Subscriber(local)
Called Party Number i = 0xC1, '3023001'
Plan:ISDN, Type:Subscriber(local)
Nov 23 12:13:12.159: ISDN Se0/2/0:23 Q931: RX <- CALL_PROC pd = 8 callref = 0x8095
Channel ID i = 0xA98383
Exclusive, Channel 3
Nov 23 12:13:12.219: ISDN Se0/2/0:23 Q931: RX <- ALERTING pd = 8 callref = 0x8095
Facility i = 0x9FAA068001018201018B0100A10E02012A0201018006757365723032
Protocol Profile = Networking Extensions
0x010182
0x01018B
0x0100
0xA10E02012A0201018006757365723032
Component = Invoke component, Unsupported operation
Progress Ind i = 0x8188 - In-band info or appropriate now available
Note: In case CNAM as supplementary service is enabled as well as ‘qsig decode’ feature, ‘qsig decode’ feature will take precedence.
Also note the difference between Facility IE for CNAM as supplementary service and CNAM using ‘qsig decode’ feature. For this reason ‘qsig decode’ should be enabled at both sides in order to decode the Facility IE.
At this stage ISDN part should be clear and we can start the second blog.