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 + -
显示快捷键?