📄 layer3infoptl.hpp
字号:
//Layer 3消息定义 GSM 04.08 10.4
/*Channel establishment message*/
#define LAYER3INFO_MSG_ADDITIONAL_ASSIGNMENT 0x3B
#define LAYER3INFO_MSG_IMMEDIATE_ASSIGNMENT 0x3F
#define LAYER3INFO_MSG_IMMEDIATE_ASSIGNMENT_EXTENDED 0x39
#define LAYER3INFO_MSG_IMMEDIATE_ASSIGNMENT_REJECT 0x3A
/*Ciphering message*/
#define LAYER3INFO_MSG_CIPHERING_MODE_COMMAND 0x35
#define LAYER3INFO_MSG_CIPHERING_MODE_COMPLETE 0x32
/*Handover message*/
#define LAYER3INFO_MSG_ASSIGNMENT_COMMAND 0x2E
#define LAYER3INFO_MSG_ASSIGNMENT_COMPLETE 0x29
#define LAYER3INFO_MSG_ASSIGNMENT_FAILURE 0x2F
#define LAYER3INFO_MSG_HO_COMMAND 0x2B
#define LAYER3INFO_MSG_HANDOVER_COMPLETE 0x2C
#define LAYER3INFO_MSG_HANDOVER_FAILURE 0x28
#define LAYER3INFO_MSG_PHYSICAL_INFORMATION 0x2D
/*Channel release message*/
#define LAYER3INFO_MSG_CHANNEL_RELEASE 0x0D
#define LAYER3INFO_MSG_PARTIAL_RELEASE 0x0A
#define LAYER3INFO_MSG_PARTIAL_RELEASE_COMPLETE 0x0F
/*Paging and Notification message*/
#define LAYER3INFO_MSG_PAGING_REQUEST_TYPE1 0x21
#define LAYER3INFO_MSG_PAGING_REQUEST_TYPE2 0x22
#define LAYER3INFO_MSG_PAGING_REQUEST_TYPE3 0x24
#define LAYER3INFO_MSG_PAGING_RESPONSE 0x27
#define LAYER3INFO_MSG_NOTIFICATION_NCH_TYPE1 0x20
#define LAYER3INFO_MSG_NOTIFICATION_NCH_TYPE2 0x23
#define LAYER3INFO_MSG_NOTIFICATION_FACCH 0x25
#define LAYER3INFO_MSG_NOTIFICATION_SACCH 0x26
#define LAYER3INFO_MSG_NOTIFICATION_RESPONSE 0x0B
/*Sytem information message*/
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE8 0x18
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE1 0x19
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE2 0x1A
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE3 0x1B
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE4 0x1C
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE5 0x1D
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE6 0x1E
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE7 0x1F
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE2BIS 0x02
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE2TER 0x03
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE5BIS 0x05
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE5TER 0x06
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE9 0x04
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE10 0x00
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE10BIS 0x01
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE11 0x07
#define LAYER3INFO_MSG_SYSTEM_INFORMATION_TYPE12 0x08
/*Miscellaneous message*/
#define LAYER3INFO_MSG_CHANNEL_MODE_MODIFY 0x10
#define LAYER3INFO_MSG_RR_STATUS 0x12
#define LAYER3INFO_MSG_CHANNEL_MODE_MODIFY_ACK 0x17
#define LAYER3INFO_MSG_FREQUENCY_REDEFINITION 0x14
#define LAYER3INFO_MSG_MEASUREMENT_REPORT 0x15
#define LAYER3INFO_MSG_CLASSMARK_CHANGE 0x16
#define LAYER3INFO_MSG_CLASSMARK_ENQUIRY 0x13
/*VGCS uplink control message*/
#define LAYER3INFO_MSG_VGCS_UPLINK_GRANT 0x09
#define LAYER3INFO_MSG_UPLINK_RELEASE 0x0E
#define LAYER3INFO_MSG_UPLINK_FREE 0x0C
#define LAYER3INFO_MSG_BUSY 0x2A
#define LAYER3INFO_MSG_TALKER_INDICATION 0x11
/*LAYER3 IE 定义*/
#define LAYER3INFO_IE_FIRST_CHANNEL_DESCRIPT_AFTER_TIME 0x60
#define LAYER3INFO_IE_MOBILE_ALLOCATION 0x61
#define LAYER3INFO_IE_START_TIME 0x62
#define LAYER3INFO_IE_POWER_CMD 0x63
#define LAYER3INFO_IE_FREQUENCY_LIST_AFTER_TIME 0x64
#define LAYER3INFO_IE_CELL_CHANNEL_DESCRIPT 0x65
#define LAYER3INFO_IE_CHANNEL_MODE 0x66
#define LAYER3INFO_IE_SECOND_CHANNEL_DESCRIPT_AFTER_TIME 0x67
#define LAYER3INFO_IE_CHANNEL_MODE2 0x68
#define LAYER3INFO_IE_FREQUENCY_LIST_BEFORE_TIME 0x69
#define LAYER3INFO_IE_FIRST_CHANNEL_DESCRIPT_BEFORE_TIME 0x6a
#define LAYER3INFO_IE_SECOND_CHANNEL_DESCRIPT_BEFORE_TIME 0x6b
#define LAYER3INFO_IE_MOBILE_ALLOCATION_BEFORE_TIME 0x6c
#define LAYER3INFO_IE_CIPHER_MODE_SETTING 0x6d
#define LAYER3INFO_IE_RR_CAUSE 0x6e
#define LAYER3INFO_IE_FREQUENCY_CHANNEL_SEQUENCE_BEFORE_TIME 0x6f
#define LAYER3INFO_IE_CHANNEL_DESCRIPTION 0x70
#define LAYER3INFO_IE_CIPHER_RESPONSE 0x71
#define LAYER3INFO_IE_IMSI 0x72
#define LAYER3INFO_IE_TMSI 0x73
#define LAYER3INFO_IE_IMEI 0x74
#define LAYER3INFO_IE_MOBILE_STATION_CLASSMARK2 0x75
#define LAYER3INFO_IE_MOBILE_STATION_CLASSMARK3 0x76
#define LAYER3INFO_IE_CELL_DESCRIPTION 0x77
#define LAYER3INFO_IE_HANDOVER_REFERENCE 0x78
#define LAYER3INFO_IE_POWER_COMMAND_AND_ACCESS_TYPE 0x79
#define LAYER3INFO_IE_SYNCHRONIZATION_INDICATION 0x7a
#define LAYER3INFO_IE_FREQUENCY_SHORT_LIST_AFTER_TIME 0x7b
#define LAYER3INFO_IE_FREQUENCY_CHANNEL_SEQUENCE_AFTER_TIME 0x7c
#define LAYER3INFO_IE_TIME_DIFFERENCE 0x7d
#define LAYER3INFO_IE_TIMING_ADVANCE 0x7e
#define LAYER3INFO_IE_FREQUENCY_SHORT_LIST_BEFORE_TIME 0x7f
#define LAYER3INFO_IE_TIME_DIFFERENCE 0x80
#define LAYER3IINFO_IE_REQUEST_REFERENCE 0x81
#define LAYER3INFO_IE_CHANNEL_DESCRIPTION1 0x82
#define LAYER3IINFO_IE_REQUEST_REFERENCE1 0x83
#define LAYER3INFO_IE_TIMING_ADVANCE1 0x84
#define LAYER3INFO_IE_CHANNEL_DESCRIPTION2 0x85
#define LAYER3IINFO_IE_REQUEST_REFERENCE2 0x86
#define LAYER3INFO_IE_TIMING_ADVANCE2 0x87
#define LAYER3INFO_IE_WAIT_INDICATION1 0x88
#define LAYER3INFO_IE_WAIT_INDICATION2 0x89
#define LAYER3IINFO_IE_REQUEST_REFERENCE3 0x8a
#define LAYER3INFO_IE_WAIT_INDICATION3 0x8b
#define LAYER3IINFO_IE_REQUEST_REFERENCE4 0x8c
#define LAYER3INFO_IE_WAIT_INDICATION4 0x8d
#define LAYER3INFO_IE_MEASUREMENT_RESULT 0x8e
#define LAYER3INFO_IE_IMSI2 0x8f
#define LAYER3INFO_IE_TMSI2 0x90
#define LAYER3INFO_IE_IMEI2 0x91
#define LAYER3INFO_IE_IMSI3 0x92
#define LAYER3INFO_IE_TMSI3 0x93
#define LAYER3INFO_IE_IMEI3 0x94
#define LAYER3INFO_IE_TMSI4 0x95
#define LAYER3INFO_IE_RACH_CONTROL_PARAMETER 0x96
#define LAYER3INFO_IE_SL1_REST_OCTETS 0x97
#define LAYER3INFO_IE_NCC_PERMITTED 0x98
#define LAYER3INFO_IE_CELL_IDENTITY 0x99
#define LAYER3INFO_IE_LOCATION_AREA_IDENTIFICATION 0x9a
#define LAYER3INFO_IE_CONTROL_CHANNEL_DESCRIPTION 0x9b
#define LAYER3INFO_IE_CELL_OPTIONS 0x9c
#define LAYER3INFO_IE_CELL_SELECTION_PARAMETERS 0x9d
#define LAYER3INFO_IE_BITMAP0 0x9e
#define LAYER3INFO_IE_VBITMAP 0x9f
#define LAYER3INFO_IE_SYSTEM_TYPE 0xa0
/*layer3 中参数定义*/
#define MOBILE_ALLOCATION 0x72
#define STARTING_TIME 0x7C
#define FREQUENCY_LIST_AFTER_TIME 0x05 //Frequency List , TLV, 10.5.2.13
#define CELL_CHANNEL_DESCRIPTION 0x62
#define MODE_OF_THE_FIRST_CHANNEL 0x63
#define SECONDE_CHANNEL_DESCRIPT_AFTER_TIME 0x64
#define MODE_OF_THE_SECOND_CHANNEL 0x66
#define FREQUENCY_LIST_BEFORE_TIME 0x19
#define FIRST_CHANNEL_DESCRIPT_BEFORE_TIME 0x1C
#define SECONDE_CHANNEL_DESCRIPT_BEFORE_TIME 0x1D
#define FREQUENCY_CHANNEL_SEQUENCE_BEFORE_TIME 0x1E
#define MOBILE_ALLOCATION_BEFORE_TIME 0x21
#define CIPHER_MODE_SETTING 0x90
#define BA_RANGE 0x73
#define MOBILE_IDENTITY 0x17
#define ADDITIONAL_MOBILE_STATION_CLASSMARK_INFORMATION 0x20
#define SYNCHRONIZATION_INDICATION 0xD0
#define FRENQUENCY_SHORT_LIST_AFTER_TIME 0x02
#define FREQUENCY_CHANNEL_SEQUENCE_AFTER_TIME 0x69
#define REAL_TIME_DIFFERENCE 0x7B
#define TIME_ADVANCE 0x7D
#define FREQUENCY_SHORT_LIST_BEFORE_TIME 0x12
#define MOBILE_OBSERVED_TIME_DIFFERENCE 0x77
//Protocol discriminator
#define CALL_CONTROL 0x03
#define MOBILE_MANAGEMENT 0x05
#define RADIO_MANAGEMTNE 0x06
//定义A BIS lapd层传入的system_type类型
#define ABIS_SYSTEM_INFORMATION8 0x0
#define ABIS_SYSTEM_INFORMATION1 0x1
#define ABIS_SYSTEM_INFORMATION2 0x2
#define ABIS_SYSTEM_INFORMATION3 0x3
#define ABIS_SYSTEM_INFORMATION4 0x4
#define ABIS_SYSTEM_INFORMATION5 0x5
#define ABIS_SYSTEM_INFORMATION6 0x6
#define ABIS_SYSTEM_INFORMATION7 0x7
#define ABIS_SYSTEM_INFORMATION16 0x8
#define ABIS_SYSTEM_INFORMATION17 0x9
#define ABIS_SYSTEM_INFORMATION2bis 0x0A
#define ABIS_SYSTEM_INFORMATION2ter 0x0B
#define ABIS_SYSTEM_INFORMATION5bis 0x0D
#define ABIS_SYSTEM_INFORMATION5ter 0x0E
#define ABIS_SYSTEM_INFORMATION10 0x0F
#define ABIS_EXTENDED_MEASUREMENT_ORDER 0x47
#define MAX_LINK_NUMBER 600
#define MAX_LINK_TEI 60
#pragma pack(1)
struct STeiCgi
{
unsigned char set;
unsigned char cgi [28];
};
struct SCellChannelDescripFormat
{
UINT8 BIT121:1;
UINT8 BIT122:1;
UINT8 BIT123:1;
UINT8 BIT124:1;
UINT8 BIT125:1;
UINT8 BIT126:1;
UINT8 BIT127:1;
UINT8 BIT128:1;
};
struct SCharBitMap
{
UINT8 BIT0: 1;
UINT8 BIT1: 1;
UINT8 BIT2: 1;
UINT8 BIT3: 1;
UINT8 BIT4: 1;
UINT8 BIT5: 1;
UINT8 BIT6: 1;
UINT8 BIT7: 1;
};
struct SVBitFormat
{
//unsigned char set ;
short rrfcn;
};
struct SChannelDescription
{
unsigned char tn :3; //timeslot number
unsigned char channel_type:5; //channel type and tdma offset
unsigned char tsc:3; //training sequence code
unsigned char hc:1; //hopping channel
union
{
struct
{
unsigned char spare:2;
unsigned char arfcn_h:2;
unsigned char arfcn_low;
}signalRF;
struct
{
unsigned char maio_h:4;
unsigned char maio_l:2;
unsigned char hsn:6;
}rfHopping;
};
};
struct SMobileAllocation
{
unsigned char len; //内容长度
unsigned char *ptr;/*内容还没解出来*/
};
struct SStartTime
{
unsigned char t3_h:3;
unsigned char t1:5;
unsigned char t2:5;
unsigned char t3_l:3;
};
struct SPowerCmd
{
unsigned char power_level:5;
unsigned char spare:3;
};
struct SFrequencyList
{
unsigned list_len; /*内容的长度,这里暂时没解出具体内容*/
unsigned char *ptr;//消息内容
};
struct SCellChannelDescrip
{
unsigned char cell_channel[16];
};
struct SChannelMode
{
unsigned char mode;
};
struct SChannelMode2
{
unsigned char mode;
};
struct SFrequencyChannelSeq
{
unsigned char arfcn_lowest:7;
unsigned char spare:1;
unsigned char arfcn[8];
};
struct SCipherModeSetting
{
unsigned char sc:1;
unsigned char algorithm_identifier:3;
unsigned char ciph_mod_set_iei:3;
unsigned char spare:1;
};
struct SCipherResponse
{
unsigned char cr:1;
unsigned char spare1:3;
unsigned char cipher_resp_iei:3;
unsigned char spare2:1;
};
struct SRrCause
{
unsigned char cause;
};
struct SMobileStationClassmark2
{
unsigned char rf_power_capability:3;
unsigned char a5_1:1;
unsigned char es_ind:1;
unsigned char revision_level:2;
unsigned char spare1:1;
unsigned char fc:1;
unsigned char vgcs:1;
unsigned char vbs:1;
unsigned char sm_capabi:1;
unsigned char ss_screen_indicator:2;
unsigned char ps_capa:1;
unsigned char spare2:1;
unsigned char a5_2:1;
unsigned char a5_3:1;
unsigned char spare3:5;
unsigned char cm3:1;
};
struct SMobileStationClassmark3
{
unsigned char a5_4:1;
unsigned char a5_5:1;
unsigned char a5_6:1;
unsigned char a5_7:1;
unsigned char band1:1;
unsigned char band2:1;
unsigned char band3:1;
unsigned char e_bit:1;
unsigned char assco_radio_capab1:4;
unsigned char assco_radio_capab2:4;
};
struct SCellDescription
{
unsigned char bcc:3;
unsigned char ncc:3;
unsigned char bcch_arfcn_h:2;
unsigned char bcch_arfcn_l;
};
struct SHandoverReference
{
unsigned char handover_reference;
};
struct SPowerCmdAndAccessType
{
unsigned char power_level:5;
unsigned char spare:2;
unsigned char atc:1;
};
struct SSynchronizationIndication
{
unsigned char si:2;
unsigned char rot:1;
unsigned char nci:1;
unsigned char spare:4;
};
struct STimeDifference
{
unsigned char time_difference;
};
struct STimingAdvance
{
unsigned char timing_advence_value:6;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -