isupiefmt.hpp

来自「ABis无线接口全套资料」· HPP 代码 · 共 1,077 行 · 第 1/3 页

HPP
1,077
字号
								// 1 0 1	call rerouted, redirection number presentation restricted (national use)
								// 1 1 0	call diversion, redirection number presentation restricted (national use)
								// All other values are spare.
	unsigned short spare	: 1;// Spare
	unsigned short orr		: 4;// Origianl direction reason.
								// 0 0 0 0	unknown/not available
								// 0 0 0 1	user busy (national use)
								// 0 0 1 0	no reply (national use)
								// 0 0 1 1	unconditional (national use)
 								// All other values are spare.
	unsigned short rc		: 3;// Redirection counter.
								// Number of redirections the call has undergone expressed as a binary number between 1 and 5.
	unsigned short reserved	: 1;// Reserved for national use.
	unsigned short rr		: 4;	// Redirecting reason.
								// 0 0 0 0	unknown/not available
								// 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
 								// All other values are spare.
};

struct SRedirectionNumberRestriction
{
	unsigned char pri		: 2;// Presentation restricted indicator.
								// 0 0		Presentation allowed
								// 0 1		Presentation restricted
								// 1 0		spare
								// 1 1		spare
	unsigned char spare		: 6;// Spare
};

/*
struct SRemoteOperations
{ // CHINA ISUP not used at present.
};

struct SServiceActivation
{ // CHINA ISUP not used at present.
};
*/
struct SISignallingPointCode // ITU-T ISUP format
{
	unsigned short spc		: 14;// Signaling point code.
	unsigned short spare	: 2; // Spare
};

struct SCSignallingPointCode // CHINA ISUP format
{
	unsigned short spcl;	// Signaling point code.
	unsigned char spch;	// Spare
};

struct SSubsequentNumber_H
{
	unsigned char spare		: 7;// Spare
	unsigned char oe		: 1;// Odd/Even.
};

struct SSuspendResumeIndicators
{
	unsigned char sri		: 1;// Suspend/Resume indicator.
								// 0		ISDN subscriber initiated
								// 1		network initiated
	unsigned char spare		: 7;// Spare.
};

struct STransitNetworkSelection_H
{
	unsigned char nip		: 4;// Network identification plan.
								// i)	For CCITT/ITU-T-standardized identification
								// 0 0 0 0	unknown
								// 0 0 1 1	public data network identification code (DNIC), Recommendation X.121
								// 0 1 1 0	public land Mobile Network Identification Code (MNIC), Recommendation E.212
								// All other values are spare.
								// ii)	For national network identification
								// This information is coded according to national specifications.
	unsigned char toni		: 3;// Type of network indicator.
								// 0 0 0	CCITT/ITU-T-standardized identification
								// 0 1 0	national network identification
								// All other values are spare.
	unsigned char oe		: 1;// Odd/Even.
};

struct STransmissionMediumRequirement
{
	unsigned char tmr;
						// 0 0 0 0 0 0 0 0	speech
						// 0 0 0 0 0 0 0 1	Spare
						// 0 0 0 0 0 0 1 0	64 kbit/s unrestricted
						// 0 0 0 0 0 0 1 1	3.1 kHz audio
						// 0 0 0 0 0 1 0 0	reserved for alternate speech (service 2)/64 kbit/s unrestricted (service 1)
						// 0 0 0 0 0 1 0 1	reserved for alternate 64 kbit/s unrestricted (service 1)/speech (service 2)
						// 0 0 0 0 0 1 1 0	64 kbit/s preferred
						// 0 0 0 0 0 1 1 1	2 × 64 kbit/s unrestricted
						// 0 0 0 0 1 0 0 0	384 kbit/s unrestricted
						// 0 0 0 0 1 0 0 1	1536 kbit/s unrestricted
						// 0 0 0 0 1 0 1 0	1920 kbit/s unrestricted
						// spare
						// 0 0 0 1 0 0 0 0	3 × 64 kbit/s unrestricted
						// 0 0 0 1 0 0 0 1	4 × 64 kbit/s unrestricted
						// 0 0 0 1 0 0 1 0	5 × 64 kbit/s unrestricted
						// 0 0 0 1 0 0 1 1	spare
						// 0 0 0 1 0 1 0 0	7 × 64 kbit/s unrestricted
						// 0 0 0 1 0 1 0 1	8 × 64 kbit/s unrestricted
						// 0 0 0 1 0 1 1 0	9 × 64 kbit/s unrestricted
						// 0 0 0 1 0 1 1 1	10 × 64 kbit/s unrestricted
						// 0 0 0 1 1 0 0 0	11 × 64 kbit/s unrestricted
						// 0 0 0 1 1 0 0 1	12 × 64 kbit/s unrestricted
						// 0 0 0 1 1 0 1 0	13 × 64 kbit/s unrestricted
						// 0 0 0 1 1 0 1 1	14 × 64 kbit/s unrestricted
						// 0 0 0 1 1 1 0 0	15 × 64 kbit/s unrestricted
						// 0 0 0 1 1 1 0 1	16 × 64 kbit/s unrestricted
						// 0 0 0 1 1 1 1 0	17 × 64 kbit/s unrestricted
						// 0 0 0 1 1 1 1 1	18 × 64 kbit/s unrestricted
						// 0 0 1 0 0 0 0 0	19 × 64 kbit/s unrestricted
						// 0 0 1 0 0 0 0 1	20 × 64 kbit/s unrestricted
						// 0 0 1 0 0 0 1 0	21 × 64 kbit/s unrestricted
						// 0 0 1 0 0 0 1 1	22 × 64 kbit/s unrestricted
						// 0 0 1 0 0 1 0 0	23 × 64 kbit/s unrestricted
						// 0 0 1 0 0 1 0 1	spare
						// 0 0 1 0 0 1 1 0	25 × 64 kbit/s unrestricted
						// 0 0 1 0 0 1 1 1	26 × 64 kbit/s unrestricted
						// 0 0 1 0 1 0 0 0	27 × 64 kbit/s unrestricted
						// 0 0 1 0 1 0 0 1	28 × 64 kbit/s unrestricted
						// 0 0 1 0 1 0 1 0	29 × 64 kbit/s unrestricted
 						// spare
};

typedef struct STransmissionMediumRequirement STransmissionMediumRequirementPrime;
typedef struct STransmissionMediumRequirement STransmissionMediumUsed;

// struct SUserServiceInformation;
// struct SUserServiceInformationPrime;
// struct SUserTeleserviceInformation; The codes to be used in the user teleservice information parameter field are defined in the High layer compatibility information element in Recommendation Q.931.

struct SUser2UserIndicators
{
	unsigned char type		: 1;// Type.
							// 0	request
							// 1	response
	unsigned char service1	: 2;// Service 1.
							// If bit A equals 0 (request):
							// 0 0	no information
							// 0 1	spare
							// 1 0	request, not essential
							// 1 1	request, essential
							// If bit A equals 1 (response):
							// 0 0	no information
							// 0 1	not provided
							// 1 0	provided
							// 1 1	spare
	unsigned char service2: 2;	// Service 2. Same as service 1.
	unsigned char service3: 2;	// Service 3. Same as service 1.
	unsigned char ndi		: 1;// Network discard indicator.
							// If bit A equals 0 (request):
							// 0		Spare.
							// If bit A equals 1 (response):
							// 0		no information
							// 1		user-to-user information discarded by the network
};

// struct SUser2UserInformation;

struct SChargeInformation
{ // Only occur in CHINA ISUP.
	unsigned short ci;		// Charge information.
};

#pragma pack( )

/*
 * Declare IE's value macro define.
 */

#define OE_EVEN						0
#define OE_ODD						1

#define NOA_SUBSCRIBER				1
#define NOA_NATIONAL				3
#define NOA_INTERNATIONAL			4

/*
 * Declare call released mode.
 */

#define CRM_NEITHER_CONTROLLED		0 // Neither party controlled.
#define CRM_CALLING_CONTROLLED		1 // Calling party controlled.
#define CRM_CALLED_CONTROLLED		2 // Called party controlled.

/*
 * Declare calling party's category macro.
 */

#define CPC_UNKNOWN					0x00 // calling party's category unknown at this time (national use)
#define CPC_OPR_FRENCH				0x01 // operator, language French
#define CPC_OPR_ENGLISH				0x02 // operator, language English
#define CPC_OPR_GERMAN				0x03 // operator, language German
#define CPC_OPR_RUSSIAN				0x04 // operator, language Russian
#define CPC_OPR_SPANISH				0x05 // operator, language Spanish
#define CPC_OPR_CHINA				0x09 // China operator.
#define CPC_ORDINARY				0x0A // ordinary calling subscriber, be used between ITS(TS)->TS, ITS(TS)->LS.
#define CPC_PRIORITY				0x0B // calling subscriber with priority, be used between ITS(TS)->TS, ITS(TS)->LS.
#define CPC_DATA_CALL				0x0C // data call (voice band data)
#define CPC_TEST_CALL				0X0D // test call
#define CPC_PAYPHONE				0x0F // payphone
#define CPC_ORDINARY_FREE			0xF0 // ordinary, free, be used between LS->TS(ITS).
#define CPC_ORDINARY_PERMON			0xF1 // ordinary, per month, be used between LS->TS(ITS).
#define CPC_ORDINARY_USERTABLE		0xF2 // ordinary, user table, immediately, be used between LS->TS(ITS).
#define CPC_ORDINARY_PRINTER		0xF3 // ordinary, printer, immediately, be used between LS->TS(ITS).
#define CPC_PRIORITY_FREE			0xF4 // priority, free, be used between LS->TS(ITS).
#define CPC_PRIORITY_PERMON			0xF5 // priority, per month, be used between LS->TS(ITS).
#define CPC_ORDINARY_LS				0xF8 // ordinary user, be used between LS->LS.

// Circuit group status indicator.
#define CGS_MAINTENANCE				0 // maintenance oriented.
#define CGS_HARDWARE				1 // hardware failure oriented.

// Nature of connection indicators.
#define NOC_SI_NOSATE				0
#define NOC_SI_ONESATE				1
#define NOC_SI_TWOSATE				2

#define NOC_CCI_NOT_REQUIRED		0
#define NOC_CCI_REQUIRED			1
#define NOC_CCI_PREVIOUS			2

#define NOC_ECDI_NOT_INCLUDED		0
#define NOC_ECDI_INCLUDED			1

// Trace flag.
#define TRC_NOT_TRACED				0
#define TRC_TRACED					1

#define CAU_LOCATION_U				0
#define CAU_LOCATION_LPN			1
#define CAU_LOCATION_LN				2
#define CAU_LOCATION_TN				3
#define CAU_LOCATION_RLN			4
#define CAU_LOCATION_RPN			5
#define CAU_LOCATION_INTL			7
#define CAU_LOCATION_BI				10

#define CAU_CS_ITUT					0
#define CAU_CS_ISOIEC				1
#define CAU_CS_NATIONAL				2
#define CAU_CS_SPECIFIC				3

#define CSD_NOT_SUSPENDED			0 // Call not suspended.
#define CSD_SUSPENDED				1 // Call suspended.

// Suspend/Resume indicator.
#define SRI_SUBSCRIBER				0 // Suspend/Resume initiated by ISDN subscriber.
#define SRI_NETWORK					1 // Suspend/Resume initiated by Network.

// Continuity indicator.
#define COT_FAILED					0 // Continuity status is failed.
#define COT_SUCCESSFUL				1 // Continuti status is successful.

// Backward call indicators.
#define BCI_CI_NO_INDICATION		0x00
#define BCI_CI_NO_CHAGE				0x01
#define BCI_CI_CHARGE				0x02
#define BCI_CI_SPARE				0x03
#define BCI_CPSI_NO_INDICATION		0x00
#define BCI_CPSI_SUBSCRIBER_FREE	0x01
#define BCI_CPSI_CONNECT_WHEN_FREE	0x02
#define BCI_CPSI_SPARE				0x03
#define BCI_CPCI_NO_INDICATION		0x00
#define BCI_CPCI_ORDINARY_SUBSCRIBER 0x01
#define BCI_CPCI_PAYPHONE			0x02
#define BCI_CPCI_SPARE				0x03
#define BCI_E2EMI_NOT_AVAILABLE		0x00
#define BCI_E2EMI_PASS_ALONG		0x01
#define BCI_E2EMI_SCCP				0x02
#define BCI_E2EMI_BOTH				0x03
#define BCI_II_NO_INTERWORKING		0x00
#define BCI_II_INTERWORKING			0x01
#define BCI_E2EII_NOT_AVAILABLE		0x00
#define BCI_E2EII_AVAILABLE			0x01
#define BCI_ISUPI_NOT_ALLTHEWAY		0x00
#define BCI_ISUPI_ALLTHEWAY			0x01
#define BCI_HI_NOT_REQUESTED		0x00
#define BCI_HI_REQUESTED			0x01
#define BCI_ISDNAI_NONISDN			0x00
#define BCI_ISDNAI_ISDN				0x01
#define BCI_ECDI_NOT_INCLUDED		0x00
#define BCI_ECDI_INCLUDED			0x01
#define BCI_SCCPMI_NO_INDICATION	0x00
#define BCI_SCCPMI_CONNECTIONLESS	0x01
#define BCI_SCCPMI_CONNECTION		0x02
#define BCI_SCCPMI_BOTH				0x03

// Event information.
#define EI_EI_SPARE						0x00
#define EI_EI_ALERTING					0x01
#define EI_EI_PROGRESS					0x02
#define EI_EI_IN_BAND					0x03
#define EI_EI_FORWARDED_ON_BUSY			0x04
#define EI_EI_FORWARDED_ON_NO_REPLY		0x05
#define EI_EI_FORWARDED_UNCONDITIONAL	0x06
#define EI_EPRI_NO_INDICATION			0x00
#define EI_EPRI_RESSTRICTED				0x01

// SInformationIndicators.
#define II_CPARI_NOT_INCLUDED			0x00
#define II_CPARI_NOT_AVAILABLE			0x01
#define II_CPARI_SPARE					0x02
#define II_CPARI_INCLUDED				0x03
#define II_HPI_NOT_PROVIDED				0x00
#define II_HPI_PROVIDED					0x01
#define II_CPCRI_NOT_INCLUDED			0x00
#define II_CPCRI_INCLUDED				0x01
#define II_CIRI_NOT_INCLUDED			0x00
#define II_CIRI_INCLUDED				0x01
#define II_SII_SOLICITED				0x00
#define II_SII_UNSOLICITED				0x01

// Information request indicaotrs.
#define IRI_CPARI_NOT_REQUESTED			0x00
#define IRI_CPARI_REQUESTED				0x01
#define IRI_HI_NOT_REQUESTED			0x00
#define IRI_HI_REQUESTED				0x01
#define IRI_HI_CPCRI_NOT_REQUESTED		0x00
#define IRI_HI_CPCRI_REQUESTED			0x01
#define IRI_CIRI_NOT_RQEUSTED			0x00
#define IRI_CIRI_REQUESTED				0x01
#define IRI_MCIRI_NOT_REQUESTED			0x00
#define IRI_MCIRI_REQUESTED				0x01

// Forward call indicators.
#define FCI_NICI_NATIONAL				0x00
#define FCI_NICI_INTERNATIONAL			0x01
#define FCI_E2EMI_NOT_AVAILABLE			0x00
#define FCI_E2EMI_PASS_ALONG			0x01
#define FCI_E2EMI_SCCP					0x02
#define FCI_E2EMI_BOTH					0x03
#define FCI_II_NO_INTERWORKING			0x00
#define FCI_II_INTERWORKING				0x01
#define FCI_E2EII_NOT_AVAILABLE			0x00
#define FCI_E2EII_AVAILABLE				0x01
#define FCI_ISUPI_NOT_ALLTHEWAY			0x00
#define FCI_ISUPI_ALLTHEWAY				0x01
#define FCI_ISUPPI_PREFERRED			0x00
#define FCI_ISUPPI_NOT_REQUIRED			0x01
#define FCI_ISUPPI_REQUIRED				0x02
#define FCI_ISUPPI_SPARE				0x03
#define FCI_ISDNAI_NONISDN				0x00
#define FCI_ISDNAI_ISDN					0x01
#define FCI_SCCPMI_NO_INDICATION		0x00
#define FCI_SCCPMI_CONNECTIONLESS		0x01
#define FCI_SCCPMI_CONNECTION			0x02
#define FCI_SCCPMI_BOTH					0x03

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?