isupiefmt.hpp
来自「ABis无线接口全套资料」· HPP 代码 · 共 1,077 行 · 第 1/3 页
HPP
1,077 行
//
// isupiefmt.hpp
// ISUP IE format, declare all ISUP IE structure.
//
#ifndef _ISUPIEFMT_HPP
#define _ISUPIEFMT_HPP
#pragma pack(1)
// Head of CHINA ISUP called party number
struct SCCalledPartyNumber_H
{
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char spare : 4; // Spare
unsigned char np : 3; // Numbering Plan indicator
unsigned char inn : 1; // INN indicator.
// Address signal......
};
// Head of CHINA ISUP calling party number
struct SCCallingPartyNumber_H
{
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char screening : 2; // Screeing.
unsigned char apr : 2; // Address presentation restricted indicator
unsigned char np : 3; // Numbering Plan indicator.
unsigned char ni : 1; // Number Imcomplete indicator.
// Address signal......
};
// Head of CHINA ISUP original called number
struct SCOriginalCalledNumber_H
{
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char spare2 : 2; // Spare
unsigned char apr : 2; // Address presentation restricted indicaotr.
unsigned char np : 3; // Numbering Plan indicator.
unsigned char spare1 : 1; // Spare
// Address signal......
};
// Head of CHINA ISUP connected number
struct SCConnectedNumber_H
{
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char screening : 2; // Screeing.
unsigned char apr : 2; // Address presentation restricted indicator
unsigned char np : 3; // Numbering Plan indicator.
unsigned char spare : 1; // Number Imcomplete indicator.
// Address signal......
};
// Head of CHINA ISUP generic number
struct SCGenericNumber_H
{
unsigned char nq; // Number qualifier
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char screening : 2; // Screeing.
unsigned char apr : 2; // Address presentation restricted indicator
unsigned char np : 3; // Numbering Plan indicator.
unsigned char ni : 1; // Number Imcomplete indicator.
// Address signal......
};
// Head of CHINA ISUP location number
struct SCLocationNumber_H
{
unsigned char noa : 7; // Nature Of Address indicator. Bit 0~6
unsigned char oe : 1; // Odd/Even. Bit 7
unsigned char screening : 2; // Screeing.
unsigned char apr : 2; // Address presentation restricted indicator
unsigned char np : 3; // Numbering Plan indicator.
unsigned char ni : 1; // Number Imcomplete indicator.
// Address signal......
};
// Head of CHINA ISUP redirecting number
typedef struct SCOriginalCalledNumber_H SCRedirectingNumber_H;
typedef struct SCCalledPartyNumber_H SCRedirectionNumber_H;
// Head of ETSI ISUP
typedef struct SCCalledPartyNumber_H SECalledPartyNumber_H;
typedef struct SCCallingPartyNumber_H SECallingPartyNumber_H;
typedef struct SCOriginalCalledNumber_H SEOriginalCalledNumber_H;
typedef struct SCConnectedNumber_H SEConnectedNumber_H;
typedef struct SCGenericNumber_H SEGenericNumber_H;
typedef struct SCLocationNumber_H SELocationNumber_H;
typedef struct SCOrigianlCalledNumber_H SERedirectingNumber_H;
typedef struct SCCalledPartyNumber_H SERedirectionNumber_H;
// 2005-05-04, by Wujianjin.
struct SAccessDeliveryInformation
{ // CHINA ISUP not used at present.
unsigned char adi : 1;// Access delivery information.
// 0 Set-up message generated
// 1 No set-up message generated
unsigned char spare : 7;// Sapre
};
// struct SAccessTransport
struct SAutomaticCongestionLevel
{
unsigned char acl; // Automatic congestion indicator.
// 0 0 0 0 0 0 0 0 Spare
// 0 0 0 0 0 0 0 1 Congestion level 1 exceeded
// 0 0 0 0 0 0 1 0 Congestion level 2 exceeded
// Spare
};
struct SBackwardCallIndicators
{
unsigned short ci : 2;// Charge indicator.
// 0 0 no indication
// 0 1 no charge
// 1 0 charge
// 1 1 spare
unsigned short cpsi : 2;// Called party's status indicator.
// 0 0 no indication
// 0 1 subscriber free
// 1 0 connect when free (national use)
// 1 1 spare
unsigned short cpci : 2;// Called party's category indicator.
// 0 0 no indication
// 0 1 ordinary subscriber
// 1 0 payphone
// 1 1 spare
unsigned short e2emi : 2;// End-to-end method indicator.
// 0 0 no end-to-end method available (only link-by-link method available)
// 0 1 pass-along method available (national use)
// 1 0 SCCP method available
// 1 1 pass-along and SCCP methods available (national use)
unsigned short ii : 1;// Interworking indicator.
// 0 no interworking encountered (Signalling System No. 7 all the way)
// 1 interworking encountered
unsigned short e2eii : 1;// End-to-end information indicator.
// 0 no end-to-end information available
// 1 end-to-end information available
unsigned short isupi : 1;// ISDN user part indicator.
// 0 ISDN user part not used all the way
// 1 ISDN user part used all the way
unsigned short hi : 1;// Holding indicator.
// 0 holding not requested
// 1 holding requested
unsigned short isdnai : 1;// ISDN access indicator.
// 0 terminating access non-ISDN
// 1 terminating access ISDN
unsigned short ecdi : 1;// Echo control device indicator.
// 0 incoming echo control device not included
// 1 incoming echo control device included
unsigned short sccpmi : 2;// SCCP method indicator.
// 0 0 no indication
// 0 1 connectionless method available (national use)
// 1 0 connection oriented method available
// 1 1 connectionless and connection oriented methods available (national use)
};
struct SCallDiversionInformation
{
unsigned char nso : 3;// Notification subscription options.
// 0 0 0 Unknown
// 0 0 1 presentation not allowed
// 0 1 0 presentation allowed with redirection number
// 0 1 1 presentation allowed without redirection number
// spare
unsigned char rr : 4;// Redirecting reason.
// 0 0 0 0 Unknown
// 0 0 0 1 User busy
// 0 0 1 0 no reply
// 0 0 1 1 unconditional
// 0 1 0 0 deflection during alerting
// 0 1 0 1 deflection immediate response
// 0 1 1 0 mobile subscriber not reachable
// spare
unsigned char spare : 1;// Spare.
};
// struct SCallHistoryInformation
struct SICallReference // ITU-T ISUP call reference format.
{
unsigned char ci; // Call identity.
unsigned short spc : 14; // Signaling point code.
unsigned short spare : 2; // Spare.
};
struct SCCallReference // CHINA ISUP call reference format.
{ // CHINA ISUP not used at present.
unsigned char ci; // Call identity.
unsigned short spcl; // Signaling point code lower word.
unsigned char spch; // Signaling point code high byte.
};
struct SCallingPartysCatetgory
{
unsigned char category;
// 0 0 0 0 0 0 0 0 calling party's category unknown at this time (national use)
// 0 0 0 0 0 0 0 1 operator, language French
// 0 0 0 0 0 0 1 0 operator, language English
// 0 0 0 0 0 0 1 1 operator, language German
// 0 0 0 0 0 1 0 0 operator, language Russian
// 0 0 0 0 0 1 0 1 operator, language Spanish
// (available to Administrations for
// selection a particular language
// by mutual agreement)
// 0 0 0 0 1 0 0 1 reserved (see Recommendation Q.104) (Note) (national use)
// 0 0 0 0 1 0 1 0 ordinary calling subscriber
// 0 0 0 0 1 0 1 1 calling subscriber with priority
// 0 0 0 0 1 1 0 0 data call (voice band data)
// 0 0 0 0 1 1 0 1 test call
// 0 0 0 0 1 1 1 0 spare
// 0 0 0 0 1 1 1 1 payphone
// spare
// reserved for national use
// 1 1 1 1 1 1 1 1 spare
};
struct SCauseIndicators
{
unsigned char location : 4;// Location.
// 0 0 0 0 user (U)
// 0 0 0 1 private network serving the local user (LPN)
// 0 0 1 0 public network serving the local user (LN)
// 0 0 1 1 transit network (TN)
// 0 1 0 0 public network serving the remote user (RLN)
// 0 1 0 1 private network serving the remote user (RPN)
// 0 1 1 1 international network (INTL)
// 1 0 1 0 network beyond interworking point (BI)
// 1 1 0 0 reserved for national use
// 1 1 0 1 reserved for national use
// 1 1 1 0 reserved for national use
// 1 1 1 1 reserved for national use
// All other values are spare.
unsigned char spare : 1;
unsigned char coding : 2;// Coding standard.
// 0 0 ITU-T standardized coding, as described below
// 0 1 ISO/IEC standard (see Note)
// 1 0 national standard (see Note)
// 1 1 standard specific to identified location (see Note)
unsigned char ext0 : 1;// Extension bit.
// 0 octet continues through the next octet (e.g. octet 1 to 1a)
// 1 last octet
unsigned char cause : 7; // Cause value. Please refer to Q.850.
unsigned char ext1 : 1;// Extension bit.
// 0 octet continues through the next octet (e.g. octet 1 to 1a)
// 1 last octet
};
struct SCircuitGroupSupervisionMessageType
{
unsigned char ti : 2;// Circuit group supervision message type indicator.
// 0 0 maintenance oriented
// 0 1 hardware failure oriented
// 1 0 reserved for national use (used in 1984 version)
// 1 1 spare
unsigned char spare : 6;// Spare
};
struct SCircuitStateIndicator
{
unsigned char mbs : 2;// Maintenance blocking state.
// a) for bits D C = 00
// 0 0 transient
// 0 1 spare
// 1 0 spare
// 1 1 unequipped
// bits H-E Spare
// b) for bits D C not equal to 00
// 0 0 no blocking (active)
// 0 1 locally blocked
// 1 0 remotely blocked
// 1 1 locally and remotely blocked
unsigned char cps : 2;// Call processing state.
// 0 0 Undefined.
// 0 1 circuit incoming busy
// 1 0 circuit outgoing busy
// 1 1 idle
unsigned char hbs : 2;// Hardware blocking state.
// 0 0 no blocking (active)
// 0 1 locally blocked
// 1 0 remotely blocked
// 1 1 locally and remotely blocked
// NOTE - If bits F E are not coded 0 0, bits D C must be coded 1 1.
unsigned char spare : 2;// Spare.
};
// struct SClosedUserGroupInterlockCode
struct SIConnectionRequest // ITU-T ISUP format.
{
unsigned short lrl; // Local reference lower word.
unsigned char lrh; // Local reference high byte.
unsigned short spc : 14;// Signaling point code.
unsigned short spare : 2; // Spare
unsigned char pc; // Protocol class.
unsigned char credit; // Credit.
};
struct SCConnectionRequest // CHINA ISUP format.
{ // CHINA ISUP not used at present.
unsigned short lrl; // Local reference lower word.
unsigned char lrh; // Local reference high byte.
unsigned short spcl; // Signaling point code lower word.
unsigned char spch; // Signaling point code high byte.
unsigned char pc; // Protocol class.
unsigned char credit; // Credit.
};
struct SContinuityIndicators
{
unsigned char ci : 1;// Continuity indicator.
// 0 continuity check failed
// 1 continuity check successful
unsigned char spare : 7;// Spare.
};
struct SEchoControlInformation
{
unsigned char oecdii : 2;// Outgoing echo control device indicator information indicator.
// 0 0 No information
// 0 1 Outgoing echo control device not included and not available
// 1 0 Outgoing echo control device included
// 1 1 Outgoing echo control device not included but available
unsigned char iecdii : 2;// Incoming echo control device indicator information indicator.
// 0 0 No information
// 0 1 Incoming echo control device not included and not available
// 1 0 Incoming echo control device included
// 1 1 Incoming echo control device not included but available
unsigned char oecdri : 2;// Outgoing echo control device request indicator.
// 0 0 No information
// 0 1 Outgoing echo control device activation request
// 1 0 Outgoing echo control device deactivation request (Note)
// 1 1 Spare
// NOTE - This value will not be generated by the Echo Control Logic defined in Recommendation Q.115.
unsigned char iecdri : 2;// Incoming echo control device request indicator.
// 0 0 No information
// 0 1 Incoming echo control device activation request
// 1 0 Incoming echo control device deactivation request (Note)
// 1 1 Spare
// NOTE - This value will not be generated by the Echo Control Logic defined in Recommendation Q.115.
};
// struct SEndOfOptionalParameters
struct SEventInformation
{
unsigned char ei : 7;// Event indicator.
// 0 0 0 0 0 0 0 spare
// 0 0 0 0 0 0 1 ALERTING
// 0 0 0 0 0 1 0 PROGRESS
// 0 0 0 0 0 1 1 in-band information or an appropriate pattern is now available
// 0 0 0 0 1 0 0 call forwarded on busy (national use)
// 0 0 0 0 1 0 1 call forwarded on no reply (national use)
// 0 0 0 0 1 1 0 call forwarded unconditional (national use)
// All other values are spare.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?