tupiefmt.hpp

来自「ABis无线接口全套资料」· HPP 代码 · 共 187 行

HPP
187
字号
//
// tupiefmt.hpp
// TUP IE format, declare all TUP IE structure.
//

#ifndef _TUPIEFMT_HPP
#define _TUPIEFMT_HPP

#pragma pack(1)

struct STupIaMessageIndicators // IAM/IAI message indicator.
{
	unsigned short noa		: 2; // Nature of address indicator
	unsigned short noc		: 2; // Nature-of-circuit indicator
	unsigned short cc		: 2; // Continuity check indicator
	unsigned short es		: 1; // Echo-suppressor indicator
	unsigned short iic		: 1; // Incoming international call indicator
	unsigned short rc		: 1; // Redirected call indicator
	unsigned short adpr		: 1; // All-digital-path-required indicator
	unsigned short sp		: 1; // Signalling path indicator
	unsigned short spare	: 1; // Spare
	// unsigned short reserved : 4; // Reserved.
	unsigned short noas		: 4; // Numbers of address signals.
};

// what parameters does exist.(the first indicator)
// struct STupParameterexistInd
struct STupFirstIndicator
{
	unsigned char ncoufi	: 1; // Network capability or user facility information indicator.
	unsigned char cug		: 1; // Close user group information indicator.
	unsigned char acpi		: 1; // Additional calling party information indicator.
	unsigned char ari		: 1; // Additional route information indicator.
	unsigned char cli		: 1; // Calling line identity indicator.
	unsigned char oca		: 1; // Original called address indicator.
	unsigned char ci		: 1; // Charging information indicator.
	unsigned char spare		: 1; // spare.
};

// Caller wire indicator
// struct STupCallerlnkInd_H
struct STupCallingLineIdentity_H
{
	unsigned char noa		: 2; //  Nature of address indicator.
	unsigned char clip		: 1; //  Calling line identity presentation indicator.
	unsigned char icli		: 1; //  Incompleted calling line identity indicator.
	unsigned char noas		: 4; //  Number of address signals.
	// Address signal......
};

// Original callee numbers indicator
// struct STupCallernumberInd_H
struct STupOrignalCalledNumber_H
{
	unsigned char noa		: 2; // Nature of address indicator.
	unsigned char spare		: 2; // spare
	unsigned char noas		: 4; // Number of address signals.
	// Address signal......
};

// Calling_party's language indicator
struct STupCallingPartysCatetgory
{
	unsigned char cpc		: 6; // Calling party category.
	unsigned char spare		: 2; // Spare.
};

struct STupSubsequentNumber_H
{
	unsigned char spare		: 4; // Spare.
	unsigned char noas		: 4; // Number of address signals
};

struct STupSamAddressNumber
{
	unsigned char spare		: 4; // Spare.
	unsigned char noas		: 4; // Number of address signals
};

struct STupSaoAddressNumber
{
	unsigned char digit		: 4; // Address signal, only include one digit.
	unsigned char spare		: 4; // Spare.
};

// struct STupGsmResponeInformationIndicator
struct STupResponseTypeIndicator
{
	unsigned char cpc		: 1; // Calling party catetgory indicator.
								 // 0 Calling party category not included.
								 // 1 Calling party category included.
	unsigned char cli		: 1; // Calling line identity indicator.
								 // 0 Calling line identity not included.
								 // 1 Calling line identity included.
	unsigned char ittei		: 1; // Incoming trunk and transit exchange: identity indicator.
								 // 0 incoming trunk and transit exchange identity not included.
								 // 1 incoming trunk and transit exchange identity included.
	unsigned char oca		: 1; // original called address indicator.
								 // 0 original called address not included.
								 // 1 original called address included.
	unsigned char oes		: 1; // outgoing echo suppressor indicator.
								 // 0 outgoing half echo suppressor not included.
								 // 1 outgoing half echo suppressor included.
	unsigned char mci		: 1; // malicious call identification indicator.
								 // 0 malicious call identification not provided.
								 // 1 malicious call identification provided.
	unsigned char hi		: 1; // hold indicator.
								 // 0 hold not provided.
								 // 1 hold provided.
	unsigned char spare		: 1; // Preserve
	                         
};

struct STupRequestTypeIndicator
{
	unsigned char cpc		: 1; // calling party category request indicator
								 // 0	no calling party category request
								 // 1	calling party category request
	unsigned char cli		: 1; // calling line identity request indicator
								 // 0	no calling line identity request
								 // 1	calling line identity request
	unsigned char oca		: 1; // original called address request
								 // 0	no original called address request
								 // 1	original called address request
	unsigned char mci		: 1; // malicious call identification indicator (national option)
								 // 0	no malicious call identification encountered
								 // 1	malicious call identification encountered
	unsigned char hr		: 1; // hold request indicator
								 // 0	hold not requested
								 // 1	hold requested
	unsigned char esr		: 1; // echo suppressor request indicator
								 // 0	no outgoing half echo suppressor requested
								 // 1	outgoing half echo suppressor requested
	unsigned char spare		: 2; // Spare
};

struct STupAcmMessageIndicator
{
	unsigned char toacs		: 2; // type of address-complete signal indicators
								 // 0	0	address-complete signal
								 // 0	1	address-complete signal, charge
								 // 1	0	address-complete signal, no charge
								 // 1	1	address-complete signal, payphone
	unsigned char sf		: 1; // subscriber-free indicator
								 // 0	no indication
								 // 1	subscriber-free
	unsigned char ies		: 1; // incoming echo suppressor indicator
								 // 0	no incoming half echo suppressor included
								 // 1	incoming half echo suppressor included
	unsigned char cf		: 1; // call forwarding indicator
								 // 0	call not forwarded
								 // 1	call forwarded
	unsigned char sp		: 1; // signalling path indicator
								 // 0	any path
								 // 1	all signalling system No. 7 path
	unsigned char spare		: 2; // spare, for national use (may be used to indicate call redirection, holding of the connection or the end-to-end signalling method to be used).
};

struct  STupRangeStatus
{
	unsigned char range;
	unsigned char status[4]; // Maxium is 4 octets.
};

struct STupChargeInformation
{
	unsigned short ci;
};
#pragma pack( )

#endif




// ------------------------------------------------------------------------
//
//  Revision list.
//  ==============
//
//  1.0,        2005-12-12,     Wang jinquan
//      Initial version.
//
//	2.0,		2005-12-25,		Wu jianjin.
//		Re-naming all TUP IE and fix structure error.
// -------------------------------------------------------------------

⌨️ 快捷键说明

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