Version



#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 */


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

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

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

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;

typedef struct _siTknExt /* token string */
{
U8 pres; /* present flag */
U8 type; /* type value */
U8 len; /* length */
U8 spare1; /* for alignment */
U8 val[MF_SIZE_EXTTKN];
} TknExt;


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

typedef struct siElementExt
{
ElmtHdr eh; /* element header */
TknExt tknExt; /* extended information */
} SiElementExt;

typedef struct _accDelInfo /* Access delivery information */
{
ElmtHdr eh; /* element header */
TknU8 delInd; /* delivery indicator */
} SiAccDelInfo;
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
|
|

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
|
*
|
*
|
*
|
*
|
*
|
*
|


typedef struct _autoCongLvl /* Automatic Congestion Level */
{
ElmtHdr eh; /* element header */
TknU8 auCongLvl; /* auto congestion level */
} SiAutoCongLvl;
#define ACLVL_LVL1 0x01 #define ACLVL_LVL2 0x02 #define ACLVL_LVL3 0x03
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
auCongLvl
|
|
*
|
*
|
*
|
*
|
*
|

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;
#define CHRG_NOIND 0x00
#define CHRG_NOCHRG 0x01
#define CHRG_CHRG 0x02
#define CADSTAT_NOIND 0x00
#define CADSTAT_SUBFREE 0x01
#define CADSTAT_CONNFREE 0x02
#define CADSTAT_DELAY 0x03
#define CADCAT_NOIND 0x00
#define CADCAT_ORDSUBS 0x01
#define CADCAT_PAYPHONE 0x02
#define E2EMTH_NOMETH 0x00
#define E2EMTH_PASSALNG 0x01
#define E2EMTH_SCCPMTH 0x02
#define E2EMTH_BOTH 0x03
#define INTIND_NOINTW 0x00
#define INTIND_INTW 0x01
#define SEGIND_NOIND 0x00
#define SEGIND_INFO 0x01
#define E2EINF_NOINFO 0x00
#define E2EINF_INFO 0x01
#define ISUP_NOTUSED 0x00
#define ISUP_USED 0x01
#define HOLD_NOTREQD 0x00
#define HOLD_REQD 0x01
#define ISDNACC_NONISDN 0x00
#define ISDNACC_ISDN 0x01
#define ECHOCDEV_NOTINCL 0x00
#define ECHOCDEV_INCL 0x01
#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
|
|
|
|
|
|

typedef struct_bckGVNS
{
ElmtHdr eh; /* element header */
TknU8 termAccInd; /* Terminating access indicator */
TknU8 spare1; /* bits c-g */
}SiBckGVNS;
#define TERM_ACC_NO_INFO 0 #define TERM_ACC_DEDICATED 1 #define TERM_ACC_SWITCHED 2 #define TERM_ACC_SPARE 3
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q. 767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
termAccInd
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
C-G
|
|
C-G
|
C-G
|
C-G
|

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;
#define PRTY_NOIND 0x00
#define PRTY_CGPTYNUM 0x01
#define PRTY_CDPTYNUM 0x02
#define PRTY_CONNDPTYNUM 0x03
#define PRTY_REDIRGNUM 0x04
#define PRTY_ORIGCALLNUM 0x05
#define PRIV_FIXED 0x00
#define PRIV_CUSTDEF 0x01
#define BGID_MULTILOC 0x00
#define BGID_INTERNET 0x01
#define ATTEN_NOIND 0x00
#define ATTEN_ATTENDLINE 0x01
#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
|
|
*
|
*
|
|
|
|

typedef struct _cllDivr /* call Diversion information */
{
ElmtHdr eh; /* element header */
TknU8 notSuscr; /* Notification subscription */
TknU8 redirRsn; /* redirection reason */
TknU8 spare; /* spare bits */
} SiCllDiverInfo;
#define PRES_UNKNOWN 0x00
#define PRES_NOTALLOW 0x01
#define PRES_ALLOWWREDNUM 0x02
#define PRES_ALLOW 0x03
#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
|
|

typedef struct_callDivTrtmnt /* Call diversion treatment Ind */
{
ElmtHdr eh; /* element header */
TknU8 callToBeDiv; /* call to be diverted indicator */
TknU8 spare1; /* bits c-g */
}SiCallDivTrtmnt;
#define CALL_DIV_NO_INDICATION 0 #define CALL_DIV_ALLOWED 1 #define CALL_DIV_NOT_ALLOWED 2 #define CALL_DIV_SPARE 3
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q. 767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
callToBeDiv
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
C-G
|
|
C-G
|
C-G
|
C-G
|

typedef struct _calModInd /* Call Modification Indicators */
{
ElmtHdr eh; /* element header */
TknU8 modInd; /* call modification indicators */
TknU8 spare; /* spare bits */
} SiCalModInd;
#define MOD_SERV1 0x01 #define MOD_SERV2 0x02
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
modInd
|
*
|
|
|
*
|
|
|
|
spare
|
C-H
|
|
|
C-H
|
|
|

typedef struct_callOffTrtmnt /* Call offering treatment Ind */
{
ElmtHdr eh; /* element header */
TknU8 callToBeOff; /* call to be offered indicator */
TknU8 spare1; /* bits G-G */
}SiCallOffTrtmnt;
#define CALL_OFF_NO_INDICATION 0 #define CALL_OFF_ALLOWED 1 #define CALL_OFF_NOT_ALLOWED 2 #define CALL_OFF_SPARE 3
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q. 767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
callToBeOff
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
C-G
|
|
C-G
|
C-G
|
C-G
|

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;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
callId
|
*
|
*
|
*
|
*
|
*
|
|
|
pntCde
|
*
|
*
|
*
|
*
|
*
|
|

typedef struct_callXferNum /* Call transfer number */
{
ElmtHdr eh; /* element header */
TknU8 natAddrInd; /* nature of address indicator */
TknU8 oddEven; /* odd or even */
TknU8 scrnInd; /* screen indicator */
TknU8 presRest; /* Address presentation restricted ind. */
TknU8 numPlan; /* numbering plan */
TknU8 spare1; /* spare bits */
TknU8 addrSig; /* Address signal */
}SiCallXferNum;

typedef struct_callXferRef /* Call transfer reference */
{
ElmtHdr eh; /* element header */
TknU8 cllXferRef;; /* call transfer value 0-255 */
}SiCallXferRef;
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
cllXferRef
|
|
|
|
|
*
|
|
*
|
*
|
*
|

typedef struct_cdINNum /* Called IN number */
{
ElmtHdr eh; /* element header */
TknU8 natAddrInd; /* nature of address indicator */
TknU8 oddEven; /* odd or even */
TknU8 spare1; /* spare bits */
TknU8 scrnInd; /* screen indicator */
TknU8 presRest; /* Address presentation restricted ind. */
TknU8 numPlan; /* numbering plan */
TknU8 spare2; /* spare bits */
TknU8 addrSig; /* Address signal */
}SiCdINNum;

typedef struct _ccSS /* CCSS (CCBS in ETSI v2) */
{
ElmtHdr eh; /* element header */
TknU8 ccssCallInd; /* CCSS call indicator */
TknU8 spare1; /* bits B-H */
} SiCCSS;
#define CCSS_NO_INDICATION 0 #define CCSS_CALL 1
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
ccss CallInd
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
B-H
|
|
B-H
|
B-H
|
B-H
|

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;
#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 */
#define NMB_EVEN 0
#define NMB_ODD 1
#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 */
#define INN_ALLOW 0x00
#define INN_NOTALLOW 0x01
|
Octet 1
|
2nd Address Digit
|
1st (most significant) Address Digit
|
|
...
|
...
|
...
|
|
Octet n
|
m + 1th Address Digit or Filler
|
mth Address Digit
|
|
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
|
*
|
*
|
*
|
*
|
*
|
*
|

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;
#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 */
#define PRESALLOW 0x00 /* Presentation allowed */
#define PRESREST 0x01 /* Presentation restricted */
#define ADDRNOAVAIL 0x02 /* Address not available */
#define NBMCMLTE 0x00 /* Number complete */
#define NBMINCMLTE 0x01 /* Number incomplete */
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
natAddrInd
|
*
|
*
|
*
|
*
|
*
|
*
|
|
oddEven
|
*
|
*
|
*
|
*
|
*
|
*
|
|
numPlan
|
*
|
*
|
*
|
*
|
*
|
*
|
|
scrnInd
|
*
|
*
|
*
|
*
|
*
|
*
|
|
presRest
|
*
|
*
|
*
|
*
|
*
|
*
|
|
niInd
|
|
|
|
*
|
*
|
*
|
|
spare
|
2(8)
|
2(8)
|
2(8)
|
|
|
|
|
addrSig
|
*
|
*
|
*
|
*
|
*
|
*
|

typedef struct _cgPtyCat /* Calling Party Category */
{
ElmtHdr eh; /* element header */
TknU8 cgPtyCat; /* calling party category */
} SiCgPtyCat;
#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
|
*
|
*
|
*
|
*
|
*
|
*
|

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;
#define NI_UNKNWN 0x00
#define NI_3DIGCIC 0x01
#define NI_4DIGCIC 0x02
#define TNI_CCITT 0x00
#define TNI_NATNET 0x02
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
netIdPln
|
|
*
|
*
|
|
|
|
|
typNetId
|
|
*
|
*
|
|
|
|
|
spare
|
|
1(8)
|
1(8)
|
|
|
|
|
CIDigit1
|
|
*
|
*
|
|
|
|
|
CIDigit2
|
|
*
|
*
|
|
|
|
|
CIDigit3
|
|
*
|
*
|
|
|
|
|
CIDigit4
|
|
*
|
*
|
|
|
|

typedef struct _carrierSelInf /* Carrier Selection Info */
{
ElmtHdr eh; /* element header */
TknU8 carrierSelInf; /* carrier selection info */
} SiCarrierSelInf;
#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
|
|
*
|
*
|
|
|
|

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;
#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 */
#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 */
#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 */
/* 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 */
|
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
|
|
*
|
*
|
*
|
*
|
|


typedef struct _ccnr /* CCNR possible indicator */
{
ElmtHdr eh; /* element header */
TknU8 ccnrPossInd; /* CCNR possible indicator */
TknU8 spare1; /* bits B-H */
}SiCCNR;
#define CCNR_NOT_POSSIBLE 0
#define CCNR_POSSIBLE 1
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
ccnr PossInd
|
|
|
|
|
*
|
|
|
|
*
|
|
spare1
|
|
|
|
|
B-H
|
|
|
|
B-H
|

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 the Called Party Number IE description.|
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
|
*
|
*
|
*
|
|
|
|


typedef struct _cirAssMap
{
ElmtHdr eh; /* element header */
TknU8 mapType; /* map type */
TknU8 spare1; /* bits G-H in first byte */
TknU8 map1; /* bits A-H - a bit map of used circuits */
TknU8 map2; /* bits A-H */
TknU8 map3; /* bits A-H */
TknU8 map4; /* bits A-G */
TknU8 spare2; /* bits H in last byte */
}SiCirAssMap;
#define MAPTYPE_1544 1
#define MAPTYPE_2048 2
#define CIRCUIT_NOT_USED 0
#define CIRCUIT_USED 1
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
mapType
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
G-H
|
|
G-H
|
G-H
|
G-H
|
|
map1
|
|
|
|
|
A-H
|
|
A-H
|
A-H
|
A-H
|
|
map2
|
|
|
|
|
A-H
|
|
A-H
|
A-H
|
A-H
|
|
map3
|
|
|
|
|
A-H
|
|
A-H
|
A-H
|
A-H
|
|
map4
|
|
|
|
|
A-G
|
|
A-G
|
A-G
|
A-G
|
|
spare2
|
|
|
|
|
B-H
|
|
B-H
|
B-H
|
B-H
|

typedef struct _cirGrpSupMTypInd
/* Circuit Group Supervision Msg.Type Ind. */
{
ElmtHdr eh; /* element header */
TknU8 typeInd; /* message type ind. */
TknU8 spare; /* spare bits */
} SiCirGrpSupMTypInd;
#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
|

typedef struct _cirGrpCharInd /* Circuit group characterstic ind. */
{
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 ind. */
} SiCirGrpCharInd;
#define CG_UNKNOWN 0x00 /* unknown */
#define CG_ANALOG 0x01 /* analog */
#define CG_DIGITAL 0x02 /* digital */
#define CG_ANALDIG 0x03 /* digital and analog */
#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 */
#define AC_UNKNOWN 0x00 /* unknown */
#define AC_SOFTCARHAND 0x01 /* software carrier handling */
#define AC_HARDCARHAND 0x02 /* hardware carrier handling */
#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
|
*
|
*
|
*
|
|
|
|

typedef struct cirAssignMap /* Circuit Assignment Map */
{
ElmtHdr eh; /* element header */
TknU8 mapFormat; /* map type */
TknU8 spare; /* spare bits */
TknU8 map; /* assignment map */
} SiCirAssignMap;
#define MAP_DS1 0x01 /* DS1 map format */
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
mapFormat
|
|
|
*
|
|
|
|
|
spare
|
|
|
*
|
|
|
|
|
map
|
|
|
*
|
|
|
|

typedef struct _cirIdName /* Circuit ID Name */
{
ElmtHdr eh; /* element header */
TknStr trunkNumClli; /* trunk number and clli code */
TknStr clliCodeA; /* clli code A */
TknStr clliCodeZ; /* clli code Z */
} SiCirIdName;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
trunkNumClli
|
*
|
*
|
*
|
|
|
|
|
clliCodeA
|
*
|
*
|
*
|
|
|
|
|
clliCodeZ
|
*
|
*
|
*
|
|
|
|

typedef struct _cirStateInd /* Circuit State Indicators */
{
ElmtHdr eh; /* element header */
TknStr cirSteInd; /* circuit state indicator. */
} SiCirStateInd;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
cirSteInd
|
*
|
*
|
*
|
*
|
*
|
*
|

typedef struct _cirValRspInd /* Circuit validation response indicator */
{
ElmtHdr eh; /* element header */
TknU8 cirValRspInd; /* user to user info */
} SiCirValRspInd;
#define CV_SUCCESS 0x00 /* successful */
#define CV_FAILURE 0x01 /* failure */
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
cirValRspInd
|
*
|
*
|
*
|
|
|
|

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 */
TknU16 ISDNIdent; /* ISDN identifier */
} SiCugIntCode;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
dig1
|
*
|
|
|
*
|
*
|
*
|
|
dig2
|
*
|
|
|
*
|
*
|
*
|
|
dig3
|
*
|
|
|
*
|
*
|
*
|
|
dig4
|
*
|
|
|
*
|
*
|
*
|
|
binCde
|
*
|
|
|
*
|
*
|
*
|
|
ISDNIdent
|
*
|
|
|
|
|
|

typedef struct _collCallReq
{
ElmtHdr eh; /* element header */
TknU8 collCallReqInd; /* Collect call req indicator */
TknU8 spare1; /* bits B-H */
}SiCollCallReq;
#define COLLECT_NO_INDICATION 0
#define COLLECT_CALL_REQ 1
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
collCallReqInd
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
B-H
|
|
B-H
|
B-H
|
B-H
|

typedef struct _clli /* Common Language Location ID */
{
ElmtHdr eh; /* element header */
TknStr clliCode; /* clli codes */
} SiCLLI;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
clliCode
|
*
|
*
|
*
|
|
|
|

typedef struct _confTrtmnt /* Conference Treatment Ind */
{
ElmtHdr eh; /* element header */
TknU8 confAccInd; /* conference acceptance indicator */
TknU8 spare1; /* bits C-G */
}SiConfTrtmnt;
#define CONF_ACC_NO_INDICATION 0
#define CONF_ACC_ACCEPTED 1
#define CONF_ACC_REJECTED 2
#define CONF_ACC_SPARE 3
|
Token
|
ANSI 88
|
ANSI 92
|
ANSI 95
|
ITU Blue
|
ITU White
|
Q.767
|
ITU 1997
|
ETSI V2
|
ETSI V3
|
|---|---|---|---|---|---|---|---|---|---|
|
confAcc Ind
|
|
|
|
|
*
|
|
*
|
*
|
*
|
|
spare1
|
|
|
|
|
C-G
|
|
C-G
|
C-G
|
C-G
|

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;
|
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
|
*
|
|
|
*
|
*
|
*
|

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;
|
Token
|
ANSI88
|
ANSI92
|
ANSI95
|
ITU Blue
|
ITU White
|
Q.767
|
|---|---|---|---|---|---|---|
|
locRef
|
*
|
*
|
*
|
*
|
*
|
|
|
pntCde
|
*
|
*
|
*
|
*
|
*
|
|
|
protClass
|
*
|
*
|
*
|
*
|
*
|
|
|
credit
|
*
|
*
|
*
|
*
|
*
|
|

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