(Page 1 of 1 in this chapter)


Chapter 3

Event, Information Element, and Token Reference


3.1 Usage Information
3.2 Tokens
3.3 Information Elements (IEs)
3.4 Information Elements for New Japan/NTT Variant
3.5 Events

This section provides the detailed encoding reference for events (messages) passed between the user application and the SS7 ISUP service layer, and the information elements (IEs) and tokens which comprise the events.

3.1 Usage Information

3.1.1 Data Structures

C language definitions for all token structures, IE structures, event structures, and associated constants are provided in the file <isupmsgs.h>. The IEs to be used for the generation of specific ISUP messages for each switch type are specified in Chapter 6.

3.1.2 Coding of Presence Indicators

Each token within an information element, and each information element within an event, contains a presence indicator to specify whether or not to include it in an outgoing event, or whether or not it was received in an incoming event.

Presence indicators should be coded with the following values (definitions included in <isupmsgs.h> ):

#define NOT_PRESENT   0   /* field not present in incoming msg or
                           * not to be populated in outgoing msg       */
#define PRESENT       1   /* field is present in incoming msg or
                           * should be *included in outgoing msg       */

 

3.2 Tokens

The following sections specify the format of tokens, or fields, found within the information elements that make up the SS7 ISUP events passed between the application and the ISUP layer.

3.2.1 U8 Token

The U8 token is used to represent a quantity that can be specified in 8 bits.

typedef struct tknU8   /* token U8        */
{
  U8   pres;           /* present flag    */
  U8   val;            /* value           */
  U16  spare1;         /* for alignment   */
} TknU8;

3.2.2 U16 Token

The U16 token is used to represent a quantity that can be specified in 16 bits.

typedef struct tknU16  /* token U16     */
{
  U8   pres;           /* present flag  */
  U8   spare1;         /* for alignment */
  U16  val;            /* value         */
} TknU16;

3.2.3 U32 Token

The U32 token is used to represent 32 bit quantities.

typedef struct tknU32   /* token U32     */
{
  U8   pres;            /* present flag  */
  U8   spare1;          /* for alignment */
  U16  spare2;          /* for alignment */
  U32  val;             /* value         */
} TknU32;

 

3.2.4 String Token

The String token is used to represent a variable length sequence of octets such as an address (e.g., sequence of digits).

typedef struct tknStr                     /* token string   */
{
  U8   pres;                              /* present flag   */
  U8   len;                               /* length         */
  U16  spare1;                            /* for alignment  */
  U8   val[(MF_SIZE_TKNSTR + 3) & 0xffc]; /* string value   */
} TknStr;

3.3 Information Elements (IEs)

The following subsections specify the layout of each of the possible information elements (IEs) that comprise the events passed between the application and the SS7 ISUP layer implementation.

A table follows each information element (IE) description, including the fields contained within the respective structure and a list of protocol variants. An asterisk (*) indicates the token is applicable for the specified protocol variant. In the case of spare and reserved tokens, the bit positions represented by these tokens are indicated.

3.3.1 Element Header

Each information element contains an element header as the first field in the structure. The element header currently consists of just the presence indicator for the entire IE.

typedef struct elmtHdr  /* element header */
{
  Bool pres             /* present        */
  U8   spare1;          /* for alignment  */
  U16  spare2;          /* for alignment  */
} ElmtHdr;

The pres field is coded as described in Section 3.1.2.

3.3.2 Access Delivery IE

This IE is sent in the backward direction to indicate that a SETUP message was sent to the destination address.

typedef struct _accDelInfo  /* Access delivery information */
{
  ElmtHdr  eh;              /* element header              */
  TknU8    delInd;          /* delivery indicator          */
} SiAccDelInfo;

The delInd field is encoded to one of the following values.

      0x00   a SETUP message was generated 
      0x01   no SETUP message was generated.

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

delInd

*

reserved

B-H

3.3.3 Access Transport IE

The access transport IE contains one or more Q.931 information elements passed through transparently to the far exchange and/or CPE. The Q.931 IEs contained in the infoElmts field must be encoded/decoded by the application as specified in Q.931. See ANSI T1.607 and/or ITU-T Q.763 for more details.

typedef struct _accTrnspt  /* Access transport     */
{
  ElmtHdr   eh;            /* element header       */
  TknStr    infoElmts;     /* Information elements */
} SiAccTrnspt;

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

infoElmts

*

*

*

*

*

*

3.3.4 Automatic Congestion Level IE

This IE indicates that a particular level of congestion exists at the sending exchange.

typedef struct _autoCongLvl /* Automatic Congestion Level */
{
  ElmtHdr  eh;              /* element header             */
  TknU8    auCongLvl;       /* auto congestion level      */
} SiAutoCongLvl;

The auCongLvl field is coded to one of the following values.

      #define ACLVL_LVL1   0x01
      #define ACLVL_LVL2   0x02
      #define ACLVL_LVL3   0x03

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

auCongLvl

*

*

*

*

*

3.3.5 Backward Call Indicators IE

The backward call indicators IE contains information sent in the backwards direction to allow the originating exchange to complete processing of a call.

typedef struct _bckCalInd /* Backward Call Indicators      */
{
  ElmtHdr eh;             /* element header                */
  TknU8   chrgInd;        /* Charge Indicator              */
  TknU8   cadPtyStatInd;  /* called party status ind.      */
  TknU8   cadPtyCatInd;   /* called party category ind     */
  TknU8   end2EndMethInd; /* end to end method indcatr     */
  TknU8  intInd;          /* interworking indicator        */
  TKnU8  segInd;          /* simple segmentation indicator */
  TknU8  end2EndInfoInd;  /* end to end info indicator     */
  TknU8  isdnUsrPrtInd;   /* ISDN User Part indicator      */
  TknU8  holdInd;         /* holding indicator             */
  TknU8  isdnAccInd;      /* ISDN access indicator         */
  TknU8  echoCtrlDevInd;  /* echo control device ind.      */
  TknU8  sccpMethInd;     /* SCCP method indicator         */
  TknU8  spare;           /* spare bits                    */
} SiBckCalInd;


 

The fields in the SiBckCallInd structure are coded as follows.

chrgInd

      #define CHRG_NOIND        0x00
      #define CHRG_NOCHRG       0x01
      #define CHRG_CHRG         0x02

cadPtyStatInd

      #define CADSTAT_NOIND     0x00
      #define CADSTAT_SUBFREE   0x01
      #define CADSTAT_CONNFREE  0x02
      #define CADSTAT_DELAY     0x03

cadPtyCatInd

      #define CADCAT_NOIND      0x00
      #define CADCAT_ORDSUBS    0x01
      #define CADCAT_PAYPHONE   0x02

end2EndMethInd

      #define E2EMTH_NOMETH     0x00
      #define E2EMTH_PASSALNG   0x01
      #define E2EMTH_SCCPMTH    0x02
      #define E2EMTH_BOTH       0x03

intInd

      #define INTIND_NOINTW     0x00
      #define INTIND_INTW       0x01

segInd

      #define SEGIND_NOIND      0x00
      #define SEGIND_INFO       0x01

end2EndInfoInd

      #define E2EINF_NOINFO     0x00
      #define E2EINF_INFO       0x01

isdnUsrPrtInd

      #define ISUP_NOTUSED      0x00
      #define ISUP_USED         0x01

holdInd

      #define HOLD_NOTREQD      0x00
      #define HOLD_REQD         0x01

isdnAccInd

      #define ISDNACC_NONISDN   0x00
      #define ISDNACC_ISDN      0x01

echoCtrlDevInd

      #define ECHOCDEV_NOTINCL  0x00
      #define ECHOCDEV_INCL     0x01

sccpMethInd

      #define SCCPMTH_NOIND     0x00
      #define SCCPMTH_CONLESS   0x01
      #define SCCPMTH_CONORNTD  0x02
      #define SCCPMTH_BOTH      0x03

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

chrgInd

*

*

*

*

*

*

cadPtyStatInd

*

*

*

*

*

*

cadPtyCatInd

*

*

*

*

*

*

end2EndMethInd

*

*

*

*

*

*

intInd

*

*

*

*

*

*

segInd

*

*

end2EndInfoInd

*

*

*

*

isdnUsrPrtInd

*

*

*

*

*

*

holdInd

*

*

*

*

*

*

isdnAccInd

*

*

*

*

*

*

echoCtrlDevInd

*

*

*

*

*

sccpMethInd

*

*

*

*

*

spare

N-P

3.3.6 Business Group IE

This IE identifies the properties of a group of subscriber lines which belong to a common subscriber, such as a Centrex group.

typedef struct _businessGrp  /* Business Group                */
{
  ElmtHdr eh;                /* element header                */
  TknU8   partySel;          /* party selector                */
  TknU8   linePrivInfInd;    /* line privileges info ident.   */
  TknU8   BGIDident;         /* BGID identifier               */
  TknU8   attendStat;        /* attendant status              */
  TknU32  busiGrpIdent;      /* business group ident.         */
  TknU16  subGrpIdent;       /* sub-group identifier          */
  TknU8   linePriv;          /* line privileges               */
} SiBusinessGrp;

Fields in the SiBusinessGrp structure are encoded as follows.

partySel

      #define PRTY_NOIND          0x00
      #define PRTY_CGPTYNUM       0x01
      #define PRTY_CDPTYNUM       0x02
      #define PRTY_CONNDPTYNUM    0x03
      #define PRTY_REDIRGNUM      0x04
      #define PRTY_ORIGCALLNUM    0x05

linePrivInfInd

      #define PRIV_FIXED          0x00
      #define PRIV_CUSTDEF        0x01

BGIDident

      #define BGID_MULTILOC       0x00
      #define BGID_INTERNET       0x01

attendStat

      #define ATTEN_NOIND         0x00
      #define ATTEN_ATTENDLINE    0x01

busiGrpIdent

Business group identifier (only least significant 24 bits are used). Value 0 is "no indication", value 1 is "public network", all other values are network dependent.


subGrpIdent

Subgroup identifier (16 bits). Value 0 is "no subgroups"; all other values represent a subgroup number.


linePriv

      #define LP_RESTRICT              0x00
      #define LP_SEMIRESTRICT          0x01
      #define LP_FULLRESTRICT          0x02
      #define LP_FULLRESTRICT_INSWTCH  0x03
      #define LP_DENIED                0x04

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

partySel

*

*

linePrivInfInd

*

*

BGIDident

*

*

attendStat

*

*

spare

*

*

busiGrpIdent

*

*

subGrpIdent

*

*

linePriv

*

*

3.3.7 Call Diversion IE

This IE is sent in the backward direction to notify the originating exchange of the redirecting reason and the notification subscription options of the redirecting party.

typedef struct _cllDivr  /* call Diversion information  */
{
  ElmtHdr  eh;           /* element header              */
  TknU8    notSuscr;     /* Notification subscription   */
  TknU8    redirRsn;     /* redirection reason          */
} SiCllDiverInfo;

The fields in the SiCllDiverInfo structure are encoded as follows.

notSuscr

      #define PRES_UNKNOWN          0x00
      #define PRES_NOTALLOW         0x01
      #define PRES_ALLOWWREDNUM     0x02
      #define PRES_ALLOW            0x03

redirRsn

      #define REAS_UNKNWN           0x00
      #define REAS_USRBUSY          0x01
      #define REAS_NOREPLY          0x02
      #define REAS_UNCOND           0x03
      #define REAS_DFLCDURALRT      0x04
      #define REAS_DFLCIMMDRSP      0x05
      #define REAS_MBLSUBNOTRCHBL   0x06

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

notSuscr

*

redirRsn

*

spare

H

3.3.8 Call Modification Indicators IE

This IE is used to support in-call modification in ITU-T (CCITT) 1988 networks. In-call modification is not supported in ANSI networks and has been removed from the ITU-T 1992 standards.

typedef struct _calModInd  /* Call Modification Indicators */
{
  ElmtHdr  eh;             /* element header               */
  TknU8    modInd;         /* call modification indicators */
  TknU8    spare;          /* spare bits                   */
} SiCalModInd;

The modInd field is coded to one of the following values.

      #define MOD_SERV1          0x01
      #define MOD_SERV2          0x02

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

modInd

*

*

spare

C-H

C-H

3.3.9 Call Reference IE

The reference IE is a reference number assigned to a call to be used in subsequent messages related to that call. This number has meaning only to the exchange which assigns it.

Note: For ANSI networks, use the callRefA structure, which supports 24 bit point codes; for ITU-T networks, use the callRef structure, which supports 14-bit point codes.

typedef struct _callRef      /* Call Reference */
{
  ElmtHdr  eh;               /* element header */
  TknU32   callId;           /* call identity  */
  TknU16   pntCde;           /* point code     */
} SiCallRef;

typedef struct _callRefA     /* Call Reference */
{
  ElmtHdr  eh;               /* element header */
  TknU32   callId;           /* call identity  */
  TknU32   pntCde;           /* point code     */
} SiCallRefA;

The callID field is encoded as a 32 bit quantity of which the least significant 24 bits are used.

The pntCde field is encoded as a 32 bit (ANSI) or 16 bit (ITU-T) quantity of which the least significant 24 bits (ANSI) or the least significant 14 bits (ITU-T) are used. For example, an ANSI point code represented by the (decimal) string 1.4.7 would be encoded as (hex) 0x00010407.

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

callId

*

*

*

*

*

pntCde

*

*

*

*

*

3.3.10 Called Party Number IE

The called party number IE contains the information necessary to identify the called party.

typedef struct _cdPtyNum  /* Called Party Number               */
{  
  ElmtHdr eh;             /* element header                    */
  TknU8   natAddrInd;     /* nature of addr indicator          */
  TknU8   oddEven;        /* odd or even                       */
  TknU8   spare;          /* spare bits                        */
  TknU8   numPlan;        /* numbering plan                    */
  TknU8   reserved;       /* reserved bits                     */
  TknU8   innInd;         /* internal network number *indic.   */
  TknStr  addrSig;        /* Address Signal                    */
} SiCdPtyNum;

The fields in the SiCdPtyNum structure are encoded as follows.

natAddrInd

      #define SUBSNUM         0x01    /* Subscriber number             */
      #define NATNUM          0x03    /* Nationally significant number */
      #define INTNATNUM       0x04    /* International number          */

ANSI specific codes
      #define SUBSNUMOPREQ     0x71   /* subscriber number operator
                                       * requested                     */
      #define NATNUMOPREQ      0x72   /* national number operator
                                       * requested                     */
      #define INTNATNUMOPREQ   0x73   /* international number operator
                                       * requested                     */
      #define NONUMPRESOPREQ   0x74   /* no number present operator
                                       * requested                     */
      #define NONUMPRESCUTTHRU 0x75   /* no number present cut-through
                                       * call to carrier               */
      #define TSTLINETSTCODE   0x77   /* test line test code           */
      #define NINEFIVEOH       0x76   /* 950+ service                  */

 

oddEven

This field specifies whether the number of digits in the addrSig field is even (and hence the last octet contains 2 digits) or odd (last octet contains only one digit, most significant 4 bits not used).

      #define NMB_EVEN     0
      #define NMB_ODD      1

numPlan

      #define NP_UNK       0x00  /* unknown                   */
      #define NP_ISDN      0x01  /* ISDN/telphny-E.164/E.163  */
      #define NP_TEL       0x02  /* telephny numbering E.163  */
      #define NP_DATA      0x03  /* data numbering - X.121    */
      #define NP_TELEX     0x04  /* telex numb. - Recom. F.69 */
      #define NP_NATIONAL  0x08  /* nat'l standard numbering  */
      #define NP_PRIVATE   0x09  /* private numbering         */
      #define NP_EXT       0x0f  /* reserved for extension    */

innInd

      #define INN_ALLOW    0x00
      #define INN_NOTALLOW 0x01

addrSig

The actual address digits, encoded as follows:


  
Octet 1

2nd Address Digit

1st (most significant) Address Digit

...

...

...

Octet n

m + 1th Address Digit or Filler

mth Address Digit

where each digit is encoded with the following bit pattern:

  
Bit Pattern

Digit/Signal

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

spare

1011

code 11

1100

code 12

1101

spare

1110

spare

1111

ST

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

natAddrInd

*

*

*

*

*

*

oddEven

*

*

*

*

*

*

spare

2(8)

2(8)

2(8)

reserved

2(1-4)

2(1-4)

2(1-4)

2(1-4)

2(1-4)

2(1-4)

numplan

*

*

*

*

*

*

innInd

*

*

*

addrSig

*

*

*

*

*

*

3.3.11 Calling Party Number IE

 typedef struct _cgPtyNum  /* Calling Party Number                */
{
  ElmtHdr  eh;             /* element header                      */
  TknU8    natAddrInd;     /* nature of address indicator         */
  TknU8    oddEven;        /* odd or even                         */
  TknU8    scrnInd;        /* screen indicator                    */
  TknU8    presRest;       /* Addr presentation restricted ind.   */
  TknU8    numPlan;        /* numbering plan                      */
  TknU8    niInd;          /* number incomplete indicator         */
  TknU8    spare;          /* spare bits                          */
  TknStr   addrSig;        /* Address Signal                      */
} SiCgPtyNum;

The fields in the SiCgPtyNum structure are encoded as follows.

natAddrInd

See Section 3.3.10.


oddEven

See Section 3.3.10.


scrnInd

      #define USRPROVNOTVER   0x00  /* user provided not verified     */
      #define USRPROV         0x01  /* user provided, verified passed */
      #define USRPROVVERFAIL  0x02  /* user provided, verified failed */
      #define NETPROV         0x03  /* network provided               */

presRest

      #define PRESALLOW       0x00  /* Presentation allowed           */
      #define PRESREST        0x01  /* Presentation restricted        */
      #define ADDRNOAVAIL     0x02  /* Address not available          */

numPlan

See Section 3.3.10.


niInd

      #define NBMCMLTE        0x00  /* Number complete                */
      #define NBMINCMLTE      0x01  /* Number incomplete              */


 

addrSig

See Section 3.3.10


 . 
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

natAddrInd

*

*

*

*

*

*

oddEven

*

*

*

*

*

*

numPlan

*

*

*

*

*

*

scrnInd

*

*

*

presRest

*

*

*

niInd

*

*

*

spare

2(8)

2(8)

2(8)

segInd

*

*

*

*

*

*

3.3.12 Calling Party Category IE

This IE is sent in the forward direction to indicate the type of the originating party and, possibly for operator assisted calls, the desired service language.

typedef struct _cgPtyCat     /* Calling Party Category     */
{
  ElmtHdr  eh;               /* element header             */
  TknU8    cgPtyCat;         /* calling party category     */
} SiCgPtyCat;

The cgPtyCat field is coded to one of the following values.

#define CAT_UNKNOWN    0x00  /* Unknown (default)          */
#define CAT_OPLANGFR   0x01  /* French Language Operator   */
#define CAT_OPLANGENG  0x02  /* English Language Operator  */
#define CAT_OPLANGGER  0x03  /* German Language Operator   */
#define CAT_OPLANGRUS  0x04  /* Russian Language Operator  */
#define CAT_OPLANGSP   0x05  /* Spanish Language Operator  */
#define CAT_ADMIN1     0x06  /* avail. to administrators   */
#define CAT_ADMIN2     0x07  /* avail. to administrators   */
#define CAT_ADMIN3     0x08  /* avail. to administrators   */
#define CAT_ORD        0x0a  /* ordinary subscriber        */
#define CAT_PRIOR      0x0b  /* priority subscriber        */
#define CAT_DATA       0x0c  /* data call                  */
#define CAT_TEST       0x0d  /* test call                  */
#define CAT_PAYPHONE   0x0f  /* pay phone                  */

/* defines for ANSI */

#define CAT_PRECLVL2   0xfa  /* Precedence Level 2         */
#define CAT_PRECLVL3   0xfb  /* Precedence Level 3         */
#define CAT_PRECLVL4   0xfc  /* Precedence Level 4         */
#define CAT_PRECLVL5   0xfd  /* Precedence Level 5         */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

cgPtyCat

*

*

*

*

*

*

3.3.13 Carrier ID IE

The Carrier ID IE is used to specify the carrier to be used for a connection in ANSI networks.

typedef struct _carrierId  /* Carrier ID               */
{   
  ElmtHdr  eh;             /* element header           */
  TknU8    netIdPln1;      /* network id plan          */
  TknU8    typNetId2;      /* Network id type          */
  TknU8    spare;          /* spare bits               */
  TknU8    CIDigit1;       /* Network Identity Digit 1 */
  TknU8    CIDigit2;       /* Network Identity Digit 2 */
  TknU8    CIDigit3;       /* Network Identity Digit 3 */
  TknU8    CIDigit4;       /* Network Identity Digit 4 */
} SiCarrierId;

Fields in the SiCarrierId structure are encoded as follows.

netIdPln1

      #define NI_UNKNWN    0x00
      #define NI_3DIGCIC   0x01
      #define NI_4DIGCIC   0x02

typNetId2

      #define TNI_CCITT    0x00
      #define TNI_NATNET   0x02

CIDigit1, CIDigit2, CIDigit3, CIDigit4

Carrier identification digits are encoded as described for the address signal field in Section 3.3.10.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

netIdPln

*

*

typNetId

*

*

spare

1(8)

1(8)

CIDigit1

*

*

CIDigit2

*

*

CIDigit3

*

*

CIDigit4

*

*

3.3.14 Carrier Selection Information IE

This IE specifies how the carrier for a connection is selected.

typedef struct _carrierSelInf  /* Carrier Selection Info */
{
  ElmtHdr  eh;                 /* element header         */
  TknU8    carrierSelInf;      /* carrier selection info */
} SiCarrierSelInf;

The SiCarrierSelInf field is encoded to one of the following values.

      #define CARSEL_NOIND              0x00
      #define CARSEL_PRESUB_NOINPUT     0x01
      #define CARSEL_PRESUB_INPUT       0x02
      #define CARSEL_PRESUB_INPUTUNDET  0x03
      #define CARSEL_NOTPRESUB_INPUT    0x04

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

carrierSelInf

*

*

3.3.15 Cause Indicator IE

The cause indicator IE identifies the cause of a failure, disconnect, or rejected message.

typedef struct _siCauseDgn  /* Cause Indicator */
{
  ElmtHdr  eh;              /* element header  */
  TknU8    location;        /* location        */
  TknU8    spare;           /* spare bits      */
  TknU8    cdeStand;        /* coding standard */
  TknU8    recommend;       /* recommendation  */
  TknU8    causeVal;        /* cause value     */
  TknStr   dgnVal;          /* diagnostics     */
} SiCauseDgn;

The fields in the SiCgPtyNum structure are encoded as follows.

location

      #define ILOC_USER       0x00   /* user                           */
      #define ILOC_PRIVNETLU  0x01   /* private net serving local user */
      #define ILOC_PUBNETLU   0x02   /* public net serving local user  */
      #define ILOC_TRANNET    0x03   /* transit network                */
      #define ILOC_PRIVNETRU  0x04   /* private network serving the
                                      * remote user                    */
      #define ILOC_PUBNETRU   0x05   /* public network serving the
                                      * remote user                    */
      #define ILOC_INTNET     0x07   /* international network          */
      #define ILOC_NETINTER   0x0a   /* network beyond internetworking
                                      * point                          */
      #define ILOC_NOINFOAV   0x0f   /* no info concerning origin loc  */

cdeStand

      #define CSTD_CCITT      0x00   /* CCITT standards                */
      #define CSTD_INT        0x01   /* Reserved for other international
                                      * standards                      */
      #define CSTD_NAT        0x02   /* National Standard              */
      #define CSTD_SPECLOC    0x03   /* Standard Specific to Identified
                                      * Location                       */
      #define CSTD_NET        0x03   /* Standard Specific Network      */

recommend

      #define REC_Q763   0x00    /* CCITT Recommendation Q.763         */
      #define REC_X21    0x03    /* CCITT Recommendation X.21          */
      #define REC_X25    0x04    /* CCITT Recommendation X.25          */
      #define REC_Q1000  0x05    /* CCITT Recommendation Q.1000        */

causeVal

      /* Class 000 and 001 - normal events                        */

      #define CCUNALLOC       1   /* unassigned number            */
      #define CCNORTTOTSFNET  2   /* no route to transit net      */
      #define CCNORTTODEST    3   /* no route to destination      */
      #define CCSENDSPCLTONE  4   /* send special info tone       */
      #define CCMISDIALDTRNK  5   /* misdialed trunk prefix       */
      #define CCCALLCLR       16  /* normal call clearing         */
      #define CCUSRBSY        17  /* user busy                    */
      #define CCNOUSRRSP      18  /* no user response             */
      #define CCNOANSWR       19  /* no answer(user alerted )     */
      #define CCCALLRJT       21  /* call rejected                */
      #define CCNMBRCHG       22  /* number changed               */
      #define CCDESTOUTORD    27  /* destination out of order     */
      #define CCADDRINCOMP    28  /* Address incomplete           */
      #define CCFACREJ        29  /* facility rejected            */
      #define CCNORMUNSPEC    31  /* normal unspecified           */

      /* Class 010 - resource unavailable                         */

      #define CCNOCIRCUIT     34  /* no circuit/channel available */
      #define CCNETAOL        38  /* network out of order         */
      #define CCTMPFAIL       41  /* Temporary failure            */
      #define CCSWTCHCONG     42  /* Switch equip congestion      */
      #define CCREQUNAVAIL    44  /* requested circuit/channel 
                                   * unavailable                  */
      #define CCRESCUNAVAIL   47  /* resrc. Unavail,unspecfd      */

      /* defines for ANSI                                         */

      #define CCUSRINFDISCARD 43  /* user info discarded          */
      #define CCPREEMPT       47  /* preemption                   */

 

/* Class 011 - service/option not available */ #define CCFACNOTSUB 50 /* facility not subscribed */ #define CCINCBARRDCUG 55 /* incoming calls barred within CUG */ #define CCNOTAUTHBCAP 57 /* bearer capability not authorized */ #define CCBCAPUNAVAIL 58 /* bearer capability not available */ #define CCSERVUNAVAIL 63 /* Service or option unavailable */ /* Class 100 - service/option not implemented */ #define CCBCAPNOTIMP 65 /* bearer cap not implemntd */ #define CCFACNOTIMP 69 /* facility not implemented */ #define CCRESTDIG 70 /* only restricted digital bear cap * is avail. */ #define CCSERVNOTIMP 79 /* service/option not implemented */ /* Class 101 - invalid message */ #define CCCUNOTMEMBR 87 /* Called User Not member of CUG */ #define CCINCOMPDEST 88 /* incompatible destination */ #define CCINVTRNSTNET 91 /* invalid transit network * selection */ #define CCINVMSG 95 /* invalid message unspecified */ /* defines for ANSI */ #define CCINVALCALLREF 81 /* invalid call ref. value */ /* Class 110 - protocol error */ #define CCINFOELMSSG 96 /* mandatory info element is * missing */ #define CCNOMSGTYP 97 /* msg type is non-existent or not * implemented */ #define CCNOPARAMDISC 99 /* Param. non-existent or not * implemented - discard */ #define CCTMRRECOV 102 /* timeout recovery */ #define CCNOPARAMPASS 103 /* Param. non-existent, or not * impl. pass along */ #define CCPROTERR 111 /* protcl error,unspecified */ /* defines for ANSI */ #define CCINVALPARAMCONT 100 /* invalid parm. contents */ /* Class 111 - interworking */ #define CCINTRWRK 127 /* interworking unspecified */

dgnVal

The structure of the diagnostic field depends on the cause value. The ISUP layer does not interpret the contents but passes the value through as a transparent string of octets. The user application must encode/interpret the string of octets as specified for the associated cause value in the relevant ANSI or ITU-T recommendations.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

location

*

*

*

*

*

*

spare

1(5)

1(5)

1(5)

1(5)

1(5)

1(5)

cdeStand

*

*

*

*

*

*

recommend

*

*

causeVal

*

*

*

*

*

*

dgnVal

*

*

*

*

3.3.16 Charge Number IE

This IE is used to pass a charge number between signaling points in ANSI networks.

typedef struct _chargeNum  /* Charge Number                */
{
  ElmtHdr eh;              /* element header               */
  TknU8   natAddrInd;      /* nature of address indicator  */
  TknU8   oddEven;         /* odd or even                  */
  TknU8   reserved;        /* reserved bits                */
  TknU8   numPlan;         /* numbering plan               */
  TknU8   spare;           /* spare bits                   */
  TknStr  addrSig;         /* Address Signal               */
} SiChargeNum;

The fields in this structure are encoded as described in Section 3.3.10.

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

natAddrInd

*

*

*

oddEven

*

*

*

reserved

2(1-4)

2(1-4)

2(1-4)

numPlan

*

*

*

spare

2(8)

2(8)

2(8)

addrSig

*

*

*

3.3.17 Circuit Group Supervision IE

This IE instructs the far exchange on the method of circuit blocking (ANSI) or whether blocking is maintenance or hardware failure related (ITU-T).

typedef struct _cirGrpSupMTypInd /* Circuit Group Supervision Msg.Type
                                  * Ind.                               */
{ 
  ElmtHdr  eh;                   /* element header                     */
  TknU8    typeInd;              /* message type ind.                  */
  TknU8    spare;                /* spare bits                         */
} SiCirGrpSupMTypInd;

The typeInd field is coded to one of the following values.

      #define MAINT         0x00
      #define HARDFAIL      0x01

      /* defines for ANSI                                              */

      #define SOFTWAREGEN   0x02    /* software generated              */

      /* defines for ANSI 92                                           */

      #define BLOCK_WO_REL  0x00
      #define BLOCK_REL     0x01

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

numPlan

*

*

*

*

*

*

spare

C-H

C-H

C-H

C-H

C-H

C-H

3.3.18 Circuit Group Characteristics IE

This IE is sent in response to a circuit validation request from the far exchange.

typedef struct _cirGrpCharInd  /* Circuit group characterstic 
                                * indicators                           */
{ 
  ElmtHdr eh;                  /* element header                       */
  TknU8   cirGrpCarInd;        /* circuit grp. carrier ind.            */
  TknU8   dblSzCtrlInd;        /* double seizing control ind.          */
  TknU8   alarmCarInd;         /* alarm carrier indicator              */
  TknU8   contChkReqInd;       /* continuity check requirements 
                                * indicator                            */
} SiCirGrpCharInd;

The fields in the SiCirGrpCharInd structure are encoded as follows.

cirGrpCarInd

      #define CG_UNKNOWN     0x00  /* unknown                          */
      #define CG_ANALOG      0x01  /* analog                           */
      #define CG_DIGITAL     0x02  /* digital                          */
      #define CG_ANALDIG     0x03  /* digital and analog               */

dblSzCtrlInd

      #define DS_UNKNOWN     0x00  /* unknown                          */
      #define DS_ODDCIC      0x01  /* odd cic control                  */
      #define DS_EVENCIC     0x02  /* even cic control                 */

      /* defines for ANSI92                                            */

      #define DS_ALLCIC      0x03  /* all cic control                  */

alarmCarInd

      #define AC_UNKNOWN     0x00  /* unknown                          */
      #define AC_SOFTCARHAND 0x01  /* software carrier handling        */
      #define AC_HARDCARHAND 0x02  /* hardware carrier handling        */

contChkReqInd

      #define CO_UNKNOWN     0x00  /* unknown                          */
      #define CO_NONE        0x01  /* none                             */
      #define CO_STATIS      0x02  /* statistical                      */
      #define CO_PERCALL     0x03  /* per call                         */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

cirGrpCarInd

*

*

*

dblSzCtrlInd

*

*

*

alarmCarInd

*

*

*

contChkReqInd

*

*

*

3.3.19 Circuit Assignment Map IE

This IE is used in the setup and management of NxDS0 connections.

typedef struct cirAssignMap   /* Circuit Assignment Map          */
{
  ElmtHdr  eh;                /* element header                  */
  TknU8    mapFormat;         /* map type                        */
  TknU8    spare;             /* spare bits                      */
  TknU8    map;               /* assignment map                  */
} SiCirAssignMap;

The fields in the SiCirAssignMap structure are encoded as follows.

mapFormat

      #define MAP_DS1   0x01  /* DS1 map format                  */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

mapFormat

*

spare

*

map

*

3.3.20 Circuit ID Name IE

This IE is used to identify the CLLI name of a trunk to a far exchange.

typedef struct _cirIdName   /* Circuit ID Name                   */
{
  ElmtHdr  eh;              /* element header                    */
  TknStr   trunkNumClli;    /* trunk number and clli code        */
} SiCirIdName;

The trunNumClli parameter is encoded with the ascii representation of the trunk number (one ascii digit per octet - 4 octets total) followed by the CLLI name of the associated trunk (one ascii character per octet).

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

trunkNumClli

*

*

*

clliCodeA

*

*

*

clliCodeZ

*

*

*

3.3.21 Circuit State Indicators IE

This IE indicates the state of a circuit according to the sending exchange.

typedef struct _cirStateInd   /* Circuit State Indicators */
{
  ElmtHdr  eh;                /* element header           */
  TknStr   cirSteInd;         /* circuit state indicator. */
} SiCirStateInd;

The cirSteInd field is an array of circuit state values for a range of circuits. Each octet is coded in accordance with the relevant ANSI or ITU-T recommendation.

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

cirSteInd

*

*

*

*

*

*

3.3.22 Circuit Validation Response IE

This IE is used to provide the results of a circuit validation request.

typedef struct _cirValRspInd /* Circuit validation response indicator */
{ 
  ElmtHdr  eh;               /* element header                        */
  TknU8    cirValRspInd;     /* user to user info                     */
} SiCirValRspInd;

The cirValRspInd field is encoded to one of the following values.

      #define CV_SUCCESS       0x00     /* successful                 */
      #define CV_FAILURE       0x01     /* failure                    */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

cirValRspInd

*

*

*

3.3.23 Closed User Group Interlock Code IE

The CUG Interlock Code IE identifies a closed user group within a network. For ANSI 1988 networks, use the cugIntCodeA structure; for ITU-T networks, use the cugIntCode structure. This IE is not used in ANSI 1992 networks.

typedef struct _cugIntCode  /* Closed User Group Interlock Code */
  ElmtHdr  eh;              /* element header                   */
  TknU8    dig2;            /* Digit 2                          */
  TknU8    dig1;            /* Digit 1                          */
  TknU8    dig4;            /* Digit 4                          */
  TknU8    dig3;            /* Digit 3                          */
  TknU16   binCde;          /* binary Code                      */
} SiCugIntCode;

typedef struct _cugIntCodeA /* Closed User Group Interlock Code */
  ElmtHdr  eh;              /* element header                   */
  TknU16   binCde;          /* Binary Code                      */
  TknU16   ISDNIdent;       /* ISDN identifier                  */
} SiCugIntCodeA;


 

The fields in the SiCugIntCode[A] structures are encoded as follows.

dig1, dig2, dig3, dig4

The four digits (binary representation) of the network identity code ( 0 | 9 + telephone country code or X.121 DNIC).


binCde

The 16 bit binary code assigned by the network administrator.


ISDNIdent

ISDN network identifier, as per ANSI 1988 recommendation.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

dig1

*

*

*

*

*

*

dig2

*

*

*

*

*

*

dig3

*

*

*

*

*

*

dig4

*

*

*

*

*

*

binCde

*

*

*

*

*

*

3.3.24 Common Language Location ID IE

This IE is used to identify a signaling point via its CLLI code in ANSI networks.

typedef struct _clli  /* Common Language Location ID */
{
  ElmtHdr  eh;        /* element header              */
  TknStr   clliCode;  /* clli codes                  */
} SiCLLI;

The clliCode field is encoded with an ASCII representation of the exchange CLLI code (town, state, building, etc.) as per ANSI recommendations.

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

clliCode

*

*

*

3.3.25 Connected Number IE

The connected number IE is sent in the backward direction to identify the connected party in ITU-T networks.

typedef struct _connectedNum /* Connected number                     */
{
  ElmtHdr eh;                /* element header                       */
  TknU8   natAddr            /* nature of address indicator          */
  TknU8   oddEven;           /* odd or even                          */
  TknU8   scrnInd;           /* screen indicator                     */
  TknU8   presRest;          /* Address presentation restricted ind. */
  TknU8   numPlan;           /* numbering plan                       */
  TknStr  addrSig;           /* Address Signal                       */
} SiConnectedNum;

The fields in the SiConnectedNum structure are encoded as follows.

natAddr

See Section 3.3.10.


oddEven

See Section 3.3.10.


scrnInd

See Section 3.3.11.


presRest

See Section 3.3.11.


numPlan

See Section 3.3.10.


addrSig

See Section 3.3.10.


 

Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

natAddrInd

*

*

*

*

oddEven

*

*

*

*

numPlan

*

*

*

*

scrnInd

*

*

*

presRest

*

*

*

*

spare

2(8)

2(8)

2(8)

2(8)

addrSig

*

*

*

*

3.3.26 Connection Request IE

This IE is sent in the forward direction to request an end-to-end SCCP connection.

typedef struct _connReq   /* Connection Request                 */
{
  ElmtHdr  eh;            /* element header                     */
  TknU32   locRef;        /* local reference( a 24bit quantity) */
  TknU32   pntCde;        /* point code                         */
  TknU8    protClass;     /* protocol class                     */
  TknU8    credit;        /* credit                             */
} SiConnReq;

The fields in the SiConnReq structure are encoded as follows.

locRef

A 24-bit number used by the originating exchange as a reference for this connection.


pntCde

A 32 bit quantity of which the least significant 24 bits (ANSI) or the least significant 14 bits (ITU-T) are used. For example, an ANSI point code represented by the (decimal) string 1.4.7 would be encoded as (hex) 0x00010407.


protClass

SCCP protocol class (binary encoding) as defined in the relevant ANSI or ITU-T recommendations.


credit

Window size requested for end-to-end connection.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

locRef

*

*

*

*

*

pntCde

*

*

*

*

*

protClass

*

*

*

*

*

credit

*

*

*

*

*

3.3.27 Continuity Indicators IE

This IE indicates whether or not a continuity check was successful.

typedef struct _contInd  /* Continuity indicators  */
{
  ElmtHdr  eh;           /* element header         */
  TknU8    contInd;      /* continuity indicator   */
  TknU8    spare;        /* spare bits             */
} SiContInd;

The contInd field is encoded as follows.

      #define CONT_CHKFAIL       0x00
      #define CONT_CHKSUCC       0x01

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

contInd

*

*

*

*

*

*

spare

B-H

B-H

B-H

B-H

B-H

B-H

3.3.28 Echo Control Indicators IE

This IE indicates whether or not a half echo control device is included in the connection.

typedef struct _echoControl  /* echo control indicators               */
{
  ElmtHdr  eh;               /* element header                        */
  TknU8    outEchoRsp;       /* outgoing echo control device response */
  TknU8    incEchoRsp;       /* incoming echo control device response */
  TknU8    outEchoReq;       /* outgoing echo control device request  */
  TknU8    incEchoReq;       /* incoming echo control device request  */
} SiEchoCtl;

The fields in the SiEchoCtl structure are encoded as follows.

outEchoRsp, incEchoRsp

      #define ECHCDEV_NOINFOINCL  0x00  /* No information              */
      #define ECHCDEV_NOTINCL     0x01  /* Device not included         */
      #define ECHCDEV_INCL        0x02  /* Device included             */

outEchoReq, incEchoReq

      #define ECHCDEV_NOINFOINCL  0x00   /* No information           */
      #define ECHCDEV_ACTREQ      0x01   /* Device activation rqst   */
      #define ECHCDEV_DEACTREQ    0x02   /* Device deactivation rqst */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

outEchoRsp

*

incEchoRsp

*

outEchoReq

*

incEchoReq

*

3.3.29 Egress Service IE

This IE is used to send network-specific information regarding a terminating exchange.

typedef struct _egress    /* Egress Service  */
{
  ElmtHdr   eh;           /* element header  */
  TknStr    egress;       /* egress          */
} SiEgress;

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

egress

*

*

3.3.30 Event Information IE

This IE is sent in the backward direction to identify the type of event that caused a call progress message to be sent to the originating exchange.

typedef struct _evntInfo   /* Event Information                   */
{
  ElmtHdr  eh;             /* element header                      */
  TknU8    evntInd;        /* event indicators                    */
  TknU8    evntPresResInd; /* event presentation restriction ind. */
} SiEvntInfo;

The fields in the SiEvntInfo structure are encoded as follows.

evntInd

      #define EV_ALERT        0x01
      #define EV_PROGRESS     0x02
      #define EV_INBAND       0x03
      #define EV_FWDONBUSY    0x04
      #define EV_FWDONNOREP   0x05
      #define EV_FWDUNCONDIT  0x06

      /* defines for ANSI 92 */

      #define EV_NOTSUPPSERV  0x08   /* notification of suppl services */
      #define EV_SRVINFINC    0x06f  /* service info included          */

evntPresResInd

      #define EVPR_NOIND      0x00   /* no indication                  */
      #define EVPR_PRESRES    0x01   /* presentation restricted        */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

evntInd

*

*

*

*

*

evntPresResInd

*

*

*

*

*

3.3.31 Facility Indicators IE

This IE is sent in facility related messages in ITU-T networks.

typedef struct _facInd    /* Facility Indicators   */
{
  ElmtHdr  eh;            /* element header        */
  TknU8    facInd;        /* facility indicator    */
} SiFacInd;

The facInd field is coded as follows.

      #define FI_USR2USRSERV     0x02

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

facInd

*

*

*

3.3.32 Facility Information Indicators IE

This IE is used to pass facility information in ANSI networks.

typedef struct _facInfInd     /* Facility Info Indicators       */
{
  ElmtHdr  eh;                /* element header                 */
  TknU8    calldPtyFreeInd;   /* called party free indicator    */
  TknU8    callgPtyAnsInd;    /* calling party answer ind.      */
  TknU8    facReqEnqInd;      /* facility request inquiry ind.  */
  TknU8    facReqActInd;      /* facility request active ind.   */
  TknU8    spare;             /* spare bits                     */
} SiFacInfInd;

The fields in the SiFacInfInd structure are encoded as follows.

calldPtyFreeInd

      #define CDPTY_FREE    0x00  /* called party free           */
      #define CDPTY_BUSY    0x01  /* called party busy           */

callgPtyAnsInd

      #define NOCGPTYANS    0x00  /* no calling party answer     */
      #define CGPTYANS      0x01  /* calling prty answer         */

facReqEnqInd

      #define NOENQUIRY     0x00  /* no inquiry                  */
      #define FACREQACTENQ  0x01  /*facility request active inq. */

facReqActInd

      #define FACREQNOTACTIVE 0x00  /* facility request not active */
      #define FACREQACTIVE    0x01  /* facility request active     */

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

calldPtyFreeInd

*

callgPtyAnsInd

*

facReqEngInd

*

facReqActInd

*

spare

E-H

3.3.33 Forward Call Indicators IE

This IE is sent in an IAM message to notify the far exchange of the services required for a call.

typedef struct _fwdCallInd     /* Forward Call Indicators        */
{
  ElmtHdr  eh;                 /* element header                 */
  TknU8    natIntCallInd;      /* National/Internat'l Call Ind.  */
  TknU8    end2EndMethInd;     /* end to end method indicator    */
  TknU8    intInd;             /* interworking indicator         */
  TknU8    segInd;             /* segmentation indicator         */
  TknU8    end2EndInfoInd;     /* end to end info indicator      */
  TknU8    isdnUsrPrtInd;      /* ISUP indicator                 */
  TknU8    isdnUsrPrtPrfInd;   /* ISUP preference ind.           */
  TknU8    isdnAccInd;         /* ISDN access indicator          */
  TknU8    sccpMethInd;        /* SCCP method indicator          */
  TknU8    spare;              /* spare bit                      */
  TknU8    natReserved;        /* reserved for national use      */
} SiFwdCallInd;

The fields in the SiFwdCallInd structure are encoded as follows.

natIntCallInd

      #define CALL_NAT          0x00
      #define CALL_INTERNAT     0x01

end2EndMethInd

      #define E2EMTH_NOMETH     0x00
      #define E2EMTH_PASSALNG   0x01
      #define E2EMTH_SCCPMTH    0x02
      #define E2EMTH_BOTH       0x03

intInd

      #define INTIND_NOINTW     0x00
      #define INTIND_INTW       0x01

segInd

      #define SEGIND_NOIND      0x00
      #define SEGIND_INFO       0x01

end2EndInfoInd

      #define E2EINF_NOINFO     0x00
      #define E2EINF_INFO       0x01

isdnUsrPrtInd

      #define ISUP_NOTUSED      0x00
      #define ISUP_USED         0x01

isdnUsrPrtPrfInd

      #define PREF_PREFAW       0x00
      #define PREF_NOTREQAW     0x01
      #define PREF_REQAW        0x02

isdnAccInd

      #define ISDNACC_NONISDN   0x00
      #define ISDNACC_ISDN      0x01

sccpMethInd

      #define SCCPMTH_NOIND     0x00
      #define SCCPMTH_CONLESS   0x01
      #define SCCPMTH_CONORNTD  0x02
      #define SCCPMTH_BOTH      0x03

  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

natIntCallInd

*

*

*

*

*

*

end2EndMethInd

*

*

*

*

*

*

intInd

*

*

*

*

*

*

segInd

*

*

end2EndInfoInd

*

*

*

*

isdnUsrPrtInd

*

*

*

*

*

*

isdnUsrPrtPrfInd

*

*

*

*

*

*

isdnAccInd

*

*

*

*

*

*

sccpMethInd

*

*

*

*

*

spare

J-L

L

L

L

L

L

natReserved

M-P

M-P

M-P

M-P

M-P

M-P

3.3.34 Generic Address IE

This IE identifies the type of address, numbering plan, and actual address being presented in a call setup.

typedef struct _genAddr  /* Generic Address              */
{
  ElmtHdr  eh;           /* element header               */
  TknU8    typeOfAddr;   /* type of address              */
  TknU8    natAddr;      /* nature of address indicator  */
  TknU8    oddEven;      /* odd or even address signal   */
  TknU8    reserved;     /* reserved for national use    */
  TknU8    presRest;     /* presentation restriction     */
  TknU8    numPlan1;     /* numbering plan               */
  TknU8    spare;        /* spare bits                   */
  TknStr   addrSig;      /* addressing signal            */
} SiGenAddr;


 

The fields in the SiGenAddr structure are encoded as follows:

typeOfAddr

      #define DIALNUM            0x00
      #define DESTNUM            0x01
      #define SUPADDR_FAIL       0x02
      #define SUPADDR_NOTSCREEN  0x03
      #define COMPLNUM           0x04

natAddr

See Section 3.3.10.


oddEven

See Section 3.3.10.


presRest

See Section 3.3.11.


numPlan1

See Section 3.3.10.


addrSig

See Section 3.3.10.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

typeOfAddr

*

*

natAddr

*

*

oddEven

*

*

reserved

3(1-2)

3(1-2)

presRest

*

*

numPlan

*

*

spare

3(8)

3(8)

addrSig

*

*

3.3.35 Generic Digits IE

This IE provides additional numeric data associated with supplemental services such as authorization code, PIN number, or account code.

typedef struct _genDigits   /* Generic Digits   */
{
  ElmtHdr   eh;             /* element header   */
  TknU8     typeOfDigits;   /* type of digits   */
  TknU8     encodeScheme;   /* encoding scheme  */
  TknStr    digits;         /* digits           */
} SiGenDigits;

The fields in the SiGenDigits structure are encoded as follows.

typeOfDigits

      #define ACCTCODE           0x00
      #define AUTHCODE           0x01
      #define PRIVNETMARK        0x02
      #define BUSCOMMGRID        0x03

encodeScheme

      #define ENC_BCD_EVEN       0x00
      #define ENC_BCD_ODD        0x01
      #define ENC_IA5            0x02
      #define ENC_BIN            0x03

digits

Digits are encoded as described for the address signal field in Section 3.3.10.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

typeOfDigits

*

*

*

encodeScheme

*

*

*

3.3.36 Generic Name IE

This IE provides name data asociated with supplemental services.

typedef struct _genName    /* Generic Name             */
{
  ElmtHdr  eh;             /* element header           */
  TknU8    presRest;       /* presentation restriction */
  TknU8    spare;          /* spare bits               */
  TknU8    availability;   /* name availability        */
  TknU8    type;           /* type of name             */
  TknU8    name;           /* name                     */
} SiGenName;

The fields in the SiGenName structure are encoded as follows.

presRest

      #define PRESALLOW        0x00
      #define PRESREST         0x01
      #define PRESBLKTGL       0x02
      #define PRESNOIND        0x03

availability

      #define GNA_AVAIL        0x00
      #define GNA_NOTAVAIL     0x01

type

      #define GNT_CALLING      0x01
      #define GNT_ORIGCALLED   0x02
      #define GNT_REDIRECTING  0x03
      #define GNT_CONNECTED    0x04

name

This field is encoded as a 1 to 15 character ASCII string.


  
Token

ANSI88

ANSI92

ANSI95

ITU Blue

ITU White

Q.767

presRest

*

spare

1(3-4)

availability

*

type

*

name

*

3.3.37 Generic Number IE

This IE represents a number passed in either direction for enhanced network operation or supplementary services.

typedef struct _genNum   /* Generic Number                         */
{
  ElmtHdr  eh;           /* element header                         */
  TknU8    nmbQual;      /* number qualifier                       */
  TknU8    natAddrInd;   /* nature of address indicator            */
  TknU8    oddEven;      /* odd or even                            */
  TknU8    scrnInd;      /* screen indicator                       */
  TknU8    presRest;     /* Addr presentation restricted indicator */
  TknU8    numPlan;      /* numbering plan                         */
  TknU8    niInd;        /* number incomplete indicator            */
  TknStr   addrSig;      /* Address Signal                         */
} SiGenNum;

The fields in the SiGenNum structure are encoded as follows.

nmbQual

      #define NQ_ADDCDMNB    0x01   /* Additional called number      */
      #define NQ_ADDCONMNB   0x05   /* Addit. connected number       */
      #define NQ_ADDCGNMB    0x06   /* Addit. call