# NCC_ISDN_EXT_CALL_STATUS structure

nccGetExtendedCallStatus returns the NCC_ISDN_EXT_CALL_STATUS structure:

typedef struct
{ /* */
DWORD size ; /* size of this structure */
INT32 reason; /* reason of going back to IDLE state */
DWORD stream; /* mvip stream number */
DWORD timeslot; /* mvip timeslot */
WORD callid[NCC_ISDN_CALLID_LEN]; /* call identifier */
WORD callreference; /* Q.931 call reference */
DWORD chargingvalue; /* charging value */
char chargingmulti; /* charging multiplier */
char chargingtype; /* charging type */
char chargingperiod; /* charging period */
char callednumplan; /* Q.931 numbering plan ID if supported */
char callednumtype; /* Q.931 number type if supported */
char callingnumplan; /* Q.931 numbering plan ID if supported */
char callingnumtype; /* number type if supported */
char callingpres; /* caller ID presentation indicator */
char callingscreen; /* Q.931 ANI screening indicator */
char progressdescr; /* progress descriptor */
char releasecause; /* cause for call release (or PROGRESS) */
char calledsubaddr[33]; /* Called sub-address */
char calledsubaddrtype; /* Called sub-address type */
char calledsubaddroddeven; /* Called sub-address odd-even indicator */
char callingsubaddr[33]; /* Calling sub-address */
char callingsubaddrtype; /* Calling sub-address type */
char callingsubaddroddeven; /* Calling sub-address odd-even indicator */
char redirectingaddr[33]; /* redirecting number */
char redirectingplan; /* Q.931 numbering plan ID if supported */
char redirectingtype; /* Q.931 number type if supported */
char redirectingpres; /* redirecting number pres. indicator */
char redirectingscreen; /* Q.931 redirecting number screen ind. */
char redirectingreason; /* Q.931 reason for redirection */
char redirectionaddr[33]; /* redirection number */
char redirectionplan; /* Q.931 numbering plan ID if supported */
char redirectiontype; /* Q.931 number type if supported */
char redirectionpres; /* redirection number pres. indicator */
char redirectionscreen; /* Q.931 redirection number screen ind. */
char redirectionreason; /* Q.931 reason for redirection */
char originalcalledaddr[33]; /* original called number */
char origcalledplan; /* Q.931 numbering plan ID if supported */
char origcalledtype; /* Q.931 number type if supported */
char origcalledpres; /* original called number pres. indicator */
char origcalledscreen; /* Q.931 orig called number screen ind. */
char origcalledreason; /* Q.931 reason for redirection */
char origcalledcount; /* Q.931 redirection counter */
char origcalledcfnr; /* Q.931 call forward no response indic. */
char UUI[NCC_ISDN_MAX_UUI + 1]; /* user to user information */
char connectedname[32]; /* connected name */
char connectedaddr[33]; /* connected number */
char connectedplan; /* Q.931 numbering plan ID if supported */
char connectedtype; /* Q.931 number type if supported */
char connectedpres; /* connected number presentation indicator*/
char connectedscreen; /* Q.931 connected number screening ind. */
char origlineinfo; /* originating line information (ANI II) */
/* or Calling Party Category */
char char national_cpc; /* National Calling Party Category */
char char nsf_present; /* Network Specific Facility usage flag */
char char nsf_service_feature; /* service or feature selector */
char char nsf_facility_coding; /* nsf coding */
char char nsf_param_fld; /* nsf parametrized facility coding value */
char char service; /* call service */
char char pad1[5];
} NCC_ISDN_EXT_CALL_STATUS;

The following table describes the fields in the NCC_ISDN_EXT_CALL_STATUS structure. Not all fields are supported by all variants.

Except as marked, all parameter values are set to 0 (zero) by default. Possible values for the fields in this structure are defined in isdnval.h.

Because the values of these fields depend on the information associated with the incoming call, and on the protocol used to set up the call, not all fields are necessarily filled during call set up.

Field | Description
--- | ---
size | Number of bytes written at the address pointed to by the status argument in nccGetExtendedCallStatus.
reason | Reason for the last disconnect. reason is 0 if the application initiated the disconnect. Otherwise, reason is the NCC disconnect value received in the NCCEVN_CALL_DISCONNECTED event.
stream | This field and timeslot together indicate the address of the B channel. Use if the TCP is in non-exclusive mode. (See B channel assignment overview.)
timeslot | This field and stream together indicate the address of the B channel. Use if the TCP is in non-exclusive mode. (See B channel assignment overview.)
callid | Call identifier for transfer.
callreference | Q.931 call reference associated with the current call.
chargingvalue | Charging value (number of units).
chargingmulti | Charging multiplier.
chargingtype | Charging type.
chargingperiod | Charging period (amount of time).
callednumplan | Q.931 numbering plan of called address.
callednumtype | Q.931 numbering type of called address.
callingnumplan | Q.931 numbering plan of calling address.
callingnumtype | Q.931 numbering type of calling address.
callingpres | Q.931 presentation indicator for calling address.
callingscreen | Q.931 screening indicator for calling address.
progressdescr | Q.931 progress description in progress information element.
releasecause | Q.931 cause for call release.
calledsubaddr[33] | Called subaddress.
calledsubaddrtype | Called subaddress type.
calledsubaddroddeven | Called subaddress odd/even indicator.
callingsubaddr[33] | Calling subaddress.
callingsubaddrtype | Calling subaddress type.
callingsubaddroddeven | Calling subaddress odd/even indicator.
redirectingaddr[33] | Redirecting address.
redirectingplan | Q.931 numbering plan of redirecting address.
redirectingtype | Q.931 numbering type of redirecting address.
redirectingpres | Q.931 presentation indicator for redirecting address.
redirectingscreen | Q.931 screening indicator for redirecting address.
redirectingreason | Q.931 reason for redirection.
redirectionaddr[33] | Redirection address.
redirectionplan | Q.931 numbering plan of redirection address.
redirectiontype | Q.931 numbering type of redirection address.
redirectionpres | Q.931 presentation indicator for redirection address.
redirectionscreen | Q.931 screening indicator for redirection address.
redirectionreason | Q.931 reason for redirection.
originalcalledaddr[33] | Original called number (OCN).
origcalledplan | Q.931 OCN numbering plan.
origcalledtype | Q.931 OCN numbering type.
origcalledpres | Q.931 OCN presentation indicator.
origcalledscreen | Q.931 OCN screen indicator.
origcalledreason | Q.931 OCN reason for redirection.
origcalledcount | Q.931 OCN redirection counter.
origcalledcfnr | Q.931 OCN call forward no response indicator.
UUI | User-to-user information (up to 132 characters).
connectedname[32] | Name of the connected party.
connectedaddr[33] | Number of the connected party.
connectedplan | Q.931 numbering plan of connected number.
connectedtype | Q.931 numbering type of connected number.
connectedpres | Q.931 presentation indicator for connected number.
connectedscreen | Q.931 screen indicator for connected number.
origlineinfo | Originating line information. The default value for origlineinfo is 0xFF. This value indicates that originating line information is not available.
national_cpc | National calling party category.
nsf_present | Availability of Network Specific Facility (NSF) information. 0 - Not available 1 - Available (see other nsf_xxx fields).
nsf_service_feature | Service or feature is set in the coding field of NSF.
nsf_facility_coding | NSF service or feature ID.
nsf_param_fld | NSF parameterized facility coding value.
service | xxx_SERVICE constants from isdnval.h.

Each ISDN variant fills different fields in the NCC_ISDN_EXT_CALL_STATUS structure at different times. An x in the column of the following table shows which fields are filled by which variant. Unless otherwise indicated, each field can be filled at any time.

Field | This field can be filled... | D M S | N I 2 | 4 E S S | 5 E S S | N T T | A U S | H K T | K O R | T W N | V N 6 | E U R | Q S I G | D P N S S | T 1 6 0 7
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
size |  | x | x | x | x | x | x | x | x | x | x | x | x | x | x
reason | When the call is released. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
stream |  | x | x | x | x | x | x | x | x | x | x | x | x | x | x
timeslot |  | x | x | x | x | x | x | x | x | x | x | x | x | x | x
callid |  | x | x |  |  |  |  |  |  |  |  | x | x | x |
callreference | At the beginning of the call or when the call is alerting. |  | x |  |  |  |  |  |  |  |  |  |  |  |
chargingvalue | When the call is in the connected state or when the call is released. |  |  |  |  |  |  |  |  |  | x |  |  |  |
chargingmulti | When the call is in the connected state or when the call is released. |  |  |  |  |  |  |  |  |  | x |  |  |  |
chargingtype | When the call is in the connected state or when the call is released. |  |  |  |  |  |  |  |  |  | x |  |  |  |
chargingperiod | When the call is in the connected state or when the call is released. |  |  |  |  |  |  |  |  |  | x |  |  |  |
callednumplan | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
callednumtype | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
callingnumplan | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
callingnumtype | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
callingpres | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
callingscreen | At the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
progressdescr | At the beginning of the call, when the call is alerting, or when the call is released. For Q.SIG, the field can be filled at the beginning of the call. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
releasecause | When the call is released or a PROGRESS message is received. | x | x | x | x | x | x | x | x | x | x | x | x |  | x
calledsubaddr[33] | At the beginning of the call. | x | x |  |  | x | x | x | x |  | x | x | x |  |
calledsubaddrtype | At the beginning of the call. |  |  |  |  |  | x |  |  |  |  | x | x |  |
calledsubaddroddeven | At the beginning of the call. |  |  |  |  |  |  |  |  |  |  | x | x |  |
callingsubaddr[33] | At the beginning of the call. | x | x |  |  | x | x | x | x |  | x | x | x |  |
callingsubaddrtype | At the beginning of the call. |  |  |  |  |  | x |  |  |  |  | x | x |  |
callingsubaddroddeven | At the beginning of the call. |  |  |  |  |  |  |  |  |  |  | x | x |  |
redirectingaddr[33] | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  | x |  |  |  |
redirectingplan | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  |  |  |  |  |
redirectingtype | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  | x |  |  |  |
redirectingpres | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  | x |  |  |  |
redirectingscreen | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  | x |  |  |  |
redirectingreason | At the beginning of the call or when a call is redirected. | x | x | x | x | x |  |  |  |  | x |  |  |  |
redirectionaddr[33] | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
redirectionplan | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
redirectiontype | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
redirectionpres | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
redirectionscreen | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
redirectionreason | At the beginning of the call or when a call is redirected. | x |  |  |  |  |  |  |  |  |  |  |  |  |
originalcalledaddr[33] | DMS: At the beginning of the call. EUR: Whenever keypad information is received in the connected state. | x |  |  |  |  |  |  |  |  |  | x |  |  |
origcalledplan | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledtype | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledpres | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledscreen | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledreason | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledcount | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
origcalledcfnr | At the beginning of the call. | x |  |  |  |  |  |  |  |  |  |  |  |  |
UUI | At the beginning of the call, when the call is alerting, or when the call is released. For 5ESS and HKT, the field may be filled at the beginning of the call or when the call is released. For Q.SIG, the field may be filled when the call is alerting or when the call is released. |  | x | x | x | x |  | x | x | x | x | x | x |  |
connectedname[32] | When the call is in the connected state. | x |  |  |  |  |  |  |  |  |  |  |  |  |
connectedaddr[33] | When the call is in the connected state. | x |  | x | x |  |  |  |  |  |  |  | x |  | x
connectedplan | When the call is in the connected state. | x |  | x | x |  |  |  |  |  |  |  | x |  | x
connectedtype | When the call is in the connected state. | x |  | x | x |  |  |  |  |  |  |  | x |  | x
connectedpres | When the call is in the connected state. | x |  | x | x |  |  |  |  |  |  |  | x |  | x
connectedscreen | When the call is in the connected state. | x |  | x | x |  |  |  |  |  |  |  | x |  | x
origlineinfo | At the beginning of the call. | x |  | x |  |  |  |  |  |  |  | x |  |  |
national_cpc | At the beginning of the call. |  |  |  |  |  |  |  |  |  |  | x |  |  |
nsf_present | At the beginning of the call. |  |  | x |  |  |  |  |  |  |  |  |  |  |
nsf_service_feature | At the beginning of the call. |  |  | x |  |  |  |  |  |  |  |  |  |  |
nsf_facility_coding | At the beginning of the call. |  |  | x |  |  |  |  |  |  |  |  |  |  |
nsf_param_fld | At the beginning of the call. |  |  | x |  |  |  |  |  |  |  |  |  |  |
service | At the beginning of the call. |  |  | x |  |  |  |  |  |  |  |  |  |  |

Some fields are static during the call. Whenever any of these fields changes, the application receives NCCEVN_EXTENDED_CALL_STATUS_UPDATE. The value field returns with this event containing a mask indicating the fields that changed:

Mask bit | Description
--- | ---
NCC_X_STATUS_INFO_UUI | UUI field was changed.
NCC_X_STATUS_INFO_PROGRESSDESCR | progressdescr field was changed.
NCC_X_STATUS_INFO_CHARGE | One or more of the chargingxxx fields was changed.
NCC_X_STATUS_INFO_CONN_NAME | Name of the connected party was received.
NCC_X_STATUS_INFO_CAUSE | releasecause field was updated.
NCC_X_STATUS_INFO_CONN_NUMBER | Connected number was received.
NCC_X_STATUS_INFO_REDIRECTING | Redirecting number was received.
NCC_X_STATUS_INFO_REDIRECTION | Redirection number was received.
NCC_X_STATUS_INFO_KEYPAD | Keypad information in origcalledaddr field has changed.
NCC_X_STATUS_INFO_CALL_RELEASED | Network has released the disconnected call.

Refer to the file nms\include\isdnval.h that ships with the product. This file contains the values for many of the fields found in the extended parameter structures and in the NCC_ISDN_EXT_CALL_STATUS structure.