⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:

char     SNMMsg[SNMMSG_NUM+1][8]=
//  0       1       2        3       4       5        6       7       8      9
 { "",     "COO",  "COA",  "CBD",   "CBA",  "ECO",  "ECA",   "RCT",  "TFC", "TFP",
	"TFR",  "TFA",  "RST",  "RSR",   "LIN",  "LUN",  "LIA",   "LUA",  "LID", "LFU",
	"LLT",  "LRT",  "TRA",  "DLC",   "CSS",  "CNS",  "CNP",   "UPU"};

BYTE    SNMH1H0[SNMMSG_NUM+1]=
//  0       1      2      3      4     5      6       7     8      9
 { 0,     0x11,  0x21,   0x51,  0x61, 0x12,  0x22,   0x13,  0x23,  0x14,
	0x34,  0x54,  0x15,   0x25,  0x16, 0x26,  0x36,   0x46,  0x56,  0x66,
	0x76,  0x86,  0x17,   0x18,  0x28, 0x38,  0x48,   0x1A};

char     SCCPMsg[SCCPMSG_NUM+1][8]=
//  0       1       2        3       4       5        6       7       8      9
 { "",     "CR",   "CC",   "CREF",  "RLSD", "RLC",  "DT1",   "DT2",  "AK",  "UDT",
	"UDTS", "ED",   "EA",   "RSR",   "RSC",  "ERR",  "IT",    "XUDT", "XUDTS"};

BYTE    SCCPMT[SCCPMSG_NUM+1]=
//  0       1      2      3      4     5      6       7     8      9
 { 0,     0x01,  0x02,   0x03,  0x04, 0x05,  0x06,   0x07,  0x08,  0x09,
	0x0A,  0x0B,  0x0C,   0x0D,  0x0E, 0x0F,  0x10,   0x11,  0x12};

char     TUPMsg[TUPMSG_NUM+1][8]=	
//  0       1        2     3      4      5      6      7      8     9
 {  "",    "IAM",  "IAI", "SAM", "SAO", "GSM", "COT", "CCF", "GRQ", "ACM",
	 "CHG", "SEC",  "CGC", "NNC", "ADI", "CFL", "SSB", "UNN", "LOS", "SST",
	 "ACB", "DPN",  "EUM", "ANU", "ANC", "ANN", "CBK", "CLF", "RAN", "FOT",
	 "CCL", "RLG",  "BLO", "BLA", "UBL", "UBA", "CCR", "RSC", "MGB", "MBA",
	 "MGU", "MUA",  "HGB", "HBA", "HGU", "HUA", "GRS", "GRA", "SGB", "SBA",
	 "SGU", "SUA",  "ACC", "MPM", "OPR", "SLB", "STB", "MAL"};
 BYTE     TUPH1H0[TUPMSG_NUM+1]=
//  0      1     2     3     4     5     6     7    8     9
 {  0,    0x11, 0x21, 0x31, 0x41, 0x12, 0x32, 0x42, 0x13, 0x14,
	 0x24, 0x15, 0x25, 0x35, 0x45, 0x55, 0x65, 0x75, 0x85, 0x95,
	 0xA5, 0xB5, 0xF5, 0x06, 0x16, 0x26, 0x36, 0x46, 0x56, 0x66,
	 0x76, 0x17, 0x27, 0x37, 0x47, 0x57, 0x67, 0x77, 0x18, 0x28,
	 0x38, 0x48, 0x58, 0x68, 0x78, 0x88, 0x98, 0xA8, 0xB8, 0xC8,
	 0xD8, 0xE8, 0x1A, 0x2C, 0x1D, 0x1E, 0x2E, 0x1F};

///SCCP CR
/*   PROTOCOL
TCAP消息类型标签:41H
TCAP消息总长度:  42H
  对话部分:50h~9fh
  成分部分:a0h~ffh
    成分类型标签:a2h
    成分长度:    a3h
    调用ID:      A4H~A6H
    链接ID:      A7H~A9H
    操作码:      AAH~ACH
    序列:        ADH~AFH
    差错码:      B0H~B2H
    问题码:      B3H~B5H
    参数:        B6H~B8H

//SCCP TCAP INAP MAP Show MainField in DetailWnd
//SCCP TCAP:Judge the Third field=0xff: not show; else :show
//MAP INAP :judge the second field=1:show =0:not show
*/
char  CR_Field[31][10]=    //CR
//  1          2          3         4         5          6          7          8        9         10
  {"SLR",      "PCLSS",  "OPT",    "PTR1",   "PTR2",    "CLDPALI", "CLDADDRIN","CLDDPC","CLDSSN","CLDTTYPE",
	"CLDENCOD", "CLDNUPL","CLDNATAI","CLDADDR","CREDTN", "CREDTLI", "CREDT",    "CLGPAN","CLGPALI","CLGADDRIN",
	"CLGDPC",   "CLGSSN", "CLGTTYPE","CLGENCOD","CLGNUPL","CLGNATAI","CLGADDR", "DATAN", "DATALI", "DATA",
	"EOP"};
BYTE  CR_FieldCrit[31][4]=
// SLR				PCLSS		  	 OPT	  	       PTR1		    	 PTR2		   	CLDPALI
{{11,0,0xfe,6}, {12,0,4,1},   {13,0,0xff,1}, {14,0,0xff,4}, {15,0,0xff,4},{16,0,0xff,4},
// CLDADDRIN	  	CLDDPC	  	 CLDSSN			 CLDTTYPE       CLDENCOD      CLDNUPL
  {17,0,8,1},   {18,0,0xfe,6},{19,0,8,2}, 	{20,0,8,1}, 	{21,0,4,1},   {22,0,4,1},
// CLDNATAI		  	CLDADDR	    CREDTN		 	 CREDTLI        CREDT      	CLGPAN
  {23,0,8,1},   {24,0,0xee,3},{25,0,0xff,2}, {26,0,0xff,4}, {27,0,0xff,2},{28,0,0xff,2},
// CLGPALI	  	   CLGADDRIN	 CLGDPC        CLGSSN      	CLGTTYPE       CLGENCOD
  {29,0,0xff,4},{30,0,8,1},  {31,0,0xfe,6}, 	{32,0,8,2}, 	{33,0,8,1},   {34,0,4,1},
// CLGNUPL		  	CLGNATAI		 CLGADDR      	 DATAN      	 DATALI        DATA
  {35,0,4,1},   {36,0,8,1},  {37,0,0xee,3}, 	{38,0,0xff,2}, {39,0,0xff,4},{0x40,0,0xff,2},
// EOP
  {40,0,0xff,2}};

char  CC_Field[22][10]=   //CC
//  1          2          3          4          5           6          7          8          9        10
  {"DLR",     "SLR",     "PCLSS",   "OPT",     "PTR1",     "CREDTN",  "CREDTLI", "CREDT",  "CLDPAN","CLDPALI",
	"CLDADDRIN","CLDDPC", "CLDSSN",  "CLDTTYPE","CLDENCOD", "CLDNUPL", "CLDNATAI","CLDADDR","DATAN", "DATALI",
	"DATA",	  "EOP"};
BYTE  CC_FieldCrit[22][4]=
// DLR				SLR				PCLSS		  	 OPT	  	       PTR1         CREDTN
{{11,0,0xfe,6}, {12,0,0xfe,6},  {13,0,4,1},  {14,0,4,1},    {15,0,0xff,4},{16,0,0xff,2},
// CREDTLI        CREDT      	   CLDPAN       CLDPALI	  	    CLDADDRIN	  CLDDPC
  {17,0,0xff,4},{18,0,0xff,2},  {19,0,0xff,2},{20,0,0xff,4},{21,0,8,1},  {22,0,0xfe,6},
// CLDSSN      	CLDTTYPE       CLDENCOD     CLDNUPL		  	 CLDNATAI	  CLDADDR
  {23,0,8,2}, 	 {24,0,8,1},     {25,0,4,1},  {26,0,4,1},    {27,0,8,1},  {28,0,0xee,3},
// DATAN      	   DATALI         DATA         EOP
  {29,0,0xff,2},{30,0,0xff,1}, {0x40,0,0xff,2},{31,0,0xff,2}};

char  CREF_Field[17][10]=   //CREF
//  1           2          3           4           5            6          7          8          9         10
  {"DLR",      "REFCS",   "PTR1",     "CLDPAN",   "CLDPALI",   "CLDADDRIN","CLDDPC", "CLDSSN",  "CLDTTYPE","CLDENCOD",
	"CLDNUPL",  "CLDNATAI","CLDADDR",  "DATAN",    "DATALI",    "DATA",     "EOP"};
BYTE  CREF_FieldCrit[17][4]=
// DLR				REFCS		  	 PTR1		    	 CLDPAN		  	CLDPALI        CLDADDRIN
{{11,0,0xfe,6}, {12,0,8,2},   {13,0,0xff,4}, {14,0,0xff,4},{15,0,0xff,4}, {16,0,8,1},
// CLDDPC		   CLDSSN		CLDTTYPE       CLDENCOD      	CLDNUPL        CLDNATAI
  {17,0,0xfe,6},{18,0,8,2}, 	{19,0,8,1}, 	{20,0,4,1},   {21,0,4,1},    {22,0,8,1},
// CLDADDR        DATAN      	 DATALI         DATA           EOP
  {23,0,0xee,3},{24,0,0xff,2},{25,0,0xff,4}, {0x40,0,0xff,2},{26,0,0xff,2}};

char  RLSD_Field[8][10]=   //RLSD
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "SLR",	  "RELCS","PTR1",  "DATAN", "DATALI", "DATA",   "EOP"};
BYTE  RLSD_FieldCrit[8][4]=
// DLR			  SLR				 RELCS		  	 PTR1         DATAN      	  DATALI
{{11,0,0xfe,6}, {12,0,0xfe,6},{13,0,8,2},   {14,0,0xff,4}, {15,0,0xff,2},{16,0,0xff,4},
// DATA           EOP
  {0x40,0,0xff,2},{17,0,0xff,2}};

char  RLC_Field[2][10]=   //RLC
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "SLR"	};
BYTE  RLC_FieldCrit[2][4]=
// DLR			  SLR
{{11,0,0xfe,6}, {12,0,0xfe,6}};

char  DT1_Field[5][10]=   //DT1
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "S/P",	  "PTR1", "DATALI", "DATA"};
BYTE  DT1_FieldCrit[5][4]=
// DLR			  S/P				 PTR1      	   DATALI        DATA
{{11,0,0xfe,6}, {12,0,0xff,1},{13,0,0xff,4}, {14,0,0xff,4},{0x40,0,0xff,2}};

char  DT2_Field[7][10]=   //DT2
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "P(S)",  "M",    "P(R)",   "PTR1", "DATALI", "DATA"};
BYTE  DT2_FieldCrit[7][4]=
// DLR			  P(S)			  M	 		    P(R)	         PTR1         DATALI        DATA
{{11,0,0xfe,6}, {12,0,0xff,1},{13,0,0xff,1},{14,0,0xff,1}, {15,0,0xff,4},{16,0,0xff,4},{0x40,0,0xff,2}};

char  AK_Field[3][10]=   //AK
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "P(R)",  "CREDT"	};
BYTE  AK_FieldCrit[3][4]=
// DLR			  P(R)         CREDT
{{11,0,0xfe,6}, {12,0xff,8,1},{13,0,0xff,1}};

char  UDT_Field[25][10]=   //UDT
//  1           2          3           4           5           6          7            8          9         10
  {"PCLSS",    "OPT",     "PTR1",     "PTR2",     "PTR3",    "CLDPALI",   "CLDADDRIN", "CLDDPC", "CLDSSN",  "CLDTTYPE",
	"CLDENCOD", "CLDNUPL", "CLDNATAI", "CLDADDR",  "CLGPALI", "CLGADDRIN", "CLGDPC",    "CLGSSN", "CLGTTYPE","CLGENCOD",
	"CLGNUPL",  "CLGNATAI","CLGADDR",  "DATALI",   "DATA"};
/*BYTE  UDT_FieldCrit[25][4]=
// PCLSS		  	   OPT	  	    PTR1		    	 PTR2		   	PTR3		   	CLDPALI
{ {11,0,4,1},   {12,0,0xff,1}, {13,0,0xff,4},{14,0,0xff,4}, {15,0,0xff,4},{16,0,0xff,4},
// CLDADDRIN	  	CLDDPC	  	 CLDSSN			 CLDTTYPE      CLDENCOD      	CLDNUPL
  {17,0,8,1},   {18,0,0xfe,4}, {19,0,8,2}, 	{20,0,0xff,1},	{21,0,4,1},   {22,0,0xff,1},
// CLDNATAI		  	CLDADDR      CLGPALI	  	    CLGADDRIN	  	 CLGDPC        CLGSSN
  {23,0,8,1},   {24,0,0xee,3}, {25,0,0xff,4},{26,0,8,1},    {27,0,0xfe,4},{28,0,8,2},
//CLGTTYPE        CLGENCOD      CLGNUPL		 CLGNATAI		 CLGADDR          DATALI
  {29,0,0xff,1},{30,0,4,1},    {31,0,0xff,1},{32,0,8,1},    {33,0,0xee,3},{34,0,0xff,4},
//DATA
  {0x40,0,0xff,2}};*/

BYTE  UDT_FieldCrit[25][4]=
// PCLSS		  	   OPT	  	    PTR1		    	 PTR2		   	PTR3		   	CLDPALI
{ {11,0,0xff,1},{12,0,0xff,1}, {13,0,0xff,4},{14,0,0xff,4}, {15,0,0xff,4},{16,0,0xff,4},
// CLDADDRIN	  	CLDDPC	  	 CLDSSN			 CLDTTYPE      CLDENCOD      	CLDNUPL
  {17,0,0xff,1},{18,0,0xfe,6}, {19,0,8,2}, 	{20,0,0xff,1},	{21,0,0xff,1}, {22,0,0xff,1},
// CLDNATAI		  	CLDADDR      CLGPALI	  	    CLGADDRIN	  	 CLGDPC        CLGSSN
  {23,0,0xff,1},{24,0,0xee,3}, {25,0,0xff,4},{26,0,0xff,1}, {27,0,0xfe,6},{28,0,8,2},
//CLGTTYPE        CLGENCOD      CLGNUPL		 CLGNATAI		 CLGADDR          DATALI
  {29,0,0xff,1},{30,0,0xff,1}, {31,0,0xff,1},{32,0,0xff,1}, {33,0,0xee,3},{34,0,0xff,4},
//DATA
  {0x40,0,0xff,2}};

char  UDTS_Field[24][10]=   //UDTS
//  1           2          3          4          5           6           7         8          9          10
  {"RETCS",    "PTR1",    "PTR2",    "PTR3",   "CLDPALI",  "CLDADDRIN","CLDDPC",  "CLDSSN",  "CLDTTYPE", "CLDENCOD",
	"CLDNUPL",  "CLDNATAI","CLDADDR", "CLGPALI","CLGADDRIN","CLGDPC",   "CLGSSN",  "CLGTTYPE","CLGENCOD",  "NUPL",
	"CLGNATAI", "CLGADDR", "DATALI",  "DATA"};
BYTE  UDTS_FieldCrit[24][4]=
// RETCS		  	  PTR1		     PTR2		  	PTR3		   	CLDPALI        ADDRIN
{ {11,0,8,2},   {12,0,0xff,4}, {13,0,0xff,4},{14,0,0xff,4},{15,0,0xff,4},{16,0,8,1},
// DPC	  	     SSN			 	 TTYPE       	 ENCOD      	NUPL           NATAI
  {17,0,0xfe,6}, {18,0,8,2}, 	 {19,0,8,1}, 	{20,0,4,1},   {21,0,4,1},   {22,0,8,1},
// ADDR          CLGPALI	  	  ADDRIN	  	    DPC        	SSN            TTYPE
  {23,0,0xee,3}, {24,0,0xff,4},{25,0,8,1},   {26,0,0xfe,6},{27,0,8,2},   {28,0,8,1},
// ENCOD         NUPL		  	  NATAI		  	 ADDR          DATALI         DATA
  {29,0,4,1},    {30,0,4,1},   {31,0,8,1},   {32,0,0xee,3},{33,0,0xff,4},{0x40,0,0xff,2}};

char  ED_Field[4][10]=   //ED
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "PTR1", "DATALI", "DATA"};
BYTE  ED_FieldCrit[4][4]=
// DLR			  PTR1     	    DATALI         DATA
{{11,0,0xfe,6}, {12,0,0xff,4}, {13,0,0xff,4},{0x40,0,0xff,2}};

char  EA_Field[1][10]=   //ED
//  1        2       3       4        5        6         7         8        9        10
  {"DLR"};
BYTE  EA_FieldCrit[1][4]=
// DLR
{{11,0,0xfe,6}};

char  RSR_Field[3][10]=   //RSR
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "SLR",	  "RSTCS"};
BYTE  RSR_FieldCrit[3][4]=
// DLR			  SLR				 RSTCS
{{11,0,0xfe,6}, {12,0,0xfe,6},{13,0,8,2}};

char  RSC_Field[2][10]=   //RSC
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",  "SLR"};
BYTE  RSC_FieldCrit[2][4]=
// DLR			  SLR
{{11,0,0xfe,6}, {12,0,0xfe,6}};

char  ERR_Field[2][10]=   //ERR
//  1        2       3       4        5        6         7         8        9        10
  {"DLR",   "ERRCS"};
BYTE  ERR_FieldCrit[2][4]=
// DLR			  ERRCS
{{11,0,0xfe,6}, {12,0,8,2}};

char  IT_Field[8][10]=   //IT
//  1        2       3       4       5        6          7          8        9        10
  {"DLR",   "SLR",  "PCLSS", "OPT",  "P(S)",  "M",      "P(R)",    "CREDT"};

⌨️ 快捷键说明

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