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.