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

📄 common.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
////maindlg. cpp /////////////////////////////////////
//
//   use it to handle old sdk dialog
//
//////////////////////////////////////////
#include "stdafx.h"
#include "base.h"
#include "common.h"
#include "MsgText.h"

#define u8 unsigned char
#define u16 unsigned short
#define u32 unsigned long
#define NOPASS 0
#define PASS 0xff

#define FISUADDR	0x800
#define CRCERRADDR	0x804
#define RETRANSADDR	0x806
#define MSUADDR		0x808
#define ALLADDR		0x80c
//for rx
#define FISUADDR2		0x810
#define CRCERRADDR2		0x814
#define RETRANSADDR2	0x816
#define MSUADDR2		0x818
#define ALLADDR2		0x81c

#define TSCOMMAND	0x62
//add 7.4 wj
BYTE			BUFDISPLAY[SIZE_OF_DATA_AREA];
WORD		Version;				//define software version LOBYTE bit0:SCCP bit1:isup bit2:map bit3:inap
char word_TotalDataStr[5000];

//--------get str------------
char			DEFDATAPATH[14];
char			DataStr[100];
// define Perform&Character
char			PerformTab[MAX_BYTE_OF_FILE];
char			PerL3Tab[MAX_BYTE_OF_FILE];
char			CharacterTab[MAX_BYTE_OF_FILE];
char			JuxCharacterTab[MAX_BYTE_OF_FILE];
char			AllJuxChaTab[MAX_BYTE_OF_FILE];
char			IsupChaTab[MAX_BYTE_OF_FILE_MY];
// define CICSTATIC
char			CICTab[MAX_BYTE_OF_FILE];
////////////define app handle////////////////
char			AppTab[MAX_NUM_OF_APP][9];
int			byAppCounter;  //------- application counter
BYTE			byAppNum; //-----------Current app

//----------crit tab handle---------------
char			CritTab[MAX_NUM_OF_CRIT][9];
int         byCritCounter;  //------------- num of crit now<>
BYTE			byCritNumA; //-----------Current Crit
BYTE			byCritNumB; //-----------Current Crit

int          byACritCounter;  //------------- num of crit now<>

tagCrit		CurCrit;  //--------------- Data Flow For Cur Crit
tagState		TpTrig[MAX_NUM_OF_STATE];

//------------define trigtab--------------------
char			TrigTab[MAX_NUM_OF_TRIG][9];
int			byTrigCounter;  //------------- num of trig now
BYTE			byTrigNum;   // -----------------Current Trig
BYTE		BUFTRIG[MAX_NUM_OF_STATE*MAX_BYTE_OF_STATE];//12s//99.10.1

//------------define trigcrittab-----------------
char			TrigCritTab[MAX_NUM_OF_CRIT][9];
int			byTrigCritCounter;  //------------- num of crit now<>
BYTE	SelMode;

//0:brecdata历史数据 1:bSavData存盘数据 2:bAddData被叫号码 3:bCallData主叫号码 0xff:normal
//4:MAP Calltrac 5:MAP regist 6:MAP del 7:MAP AUC 8:ISUP 被叫号码 9:ISUP主叫号码
//10:INAP Calltrac 11:TUP/ISUP 被叫号码 12:TUP/ISUP主叫号码 13:A接口呼叫跟踪 14:A接口位置更新
//15:map handover,16:short message route 18://MAP 漫游位置更新 19://MAP 鉴权统计
//20: 实时数据 21:实时被叫号码 22:实时主叫号码 23:ISUP 实时被叫号码 24 ISUP实时主叫号码
//25:MAP位置更新,26:MAP位置删除	27://MAP 实时号码	zxw 2000-08-25
BYTE			DataType;


BOOL			bOnTime;

BOOL        m_bSaveOn;
BOOL        m_bSaveOnPrev;

BOOL			bDefTimeDlg;		//in deftimedlg cannot checkdeftime()


//--------datashow bool-------
BYTE			MsgSU,MsgUP,MsgKind,MsgFKind,FieldNo,MsgProId;//used in data show

//TUP:1:acm*,2:sec,3:cgc,4:cfl,5:unn,6:los,7:adi,20:ANC  21:ANN 22: ANU 23: SST 24:OTHER
//2000-07-11 zxw  增加ISUP统计项 ISUP:11:busy 12:acm*,13:sec,14:cgc,15:unn,16:los,17:adi,38:sst 39:cfl,
//40:用户未应答,41:用户未响应,42:呼叫拒绝,43:定时器终了恢复,44:临时故障,45:资源不可用,
//46:业务任选未实现,47:业务任选未实现,48:协议错误,49:other
BYTE			AcmKind;
BYTE			CICKind;//1:CIC,2:SAM;3:ISUP CIC 4:ISUP SAM 5: A RES
BYTE			InapStaticKind;//0:800,1:300; 2:自定义		ZXW 2000-08-18
//sccp
//=0:NORMAL 1:SCMG =2:TCAP 3:MAP 4:MAPERR 5:inap 6:inaperr 7:BSSMAP 
//8:RADIORES 9:MOBILITY 10:CALLCONTROL,11:CAP 12:CAPErr
BYTE			DataKind;  
BYTE			TcapKind,TcapCpntKind,ScmgKind,MapKind,MapErrKind,InapKind,InapErrKind,CapKind,CapErrKind,BssMapKind,RadioResKind,MobilityKind,CallControlKind;

//1:sccpmsg,2:tcapmsg 3:ret 4:err 5:rsr 6:cref 7:rlsd 8:scmg 9:pabo
BYTE			SccpStaticKind;

//---------data show  scroll---------
int			OldMsg,HoldMsg;	//the selected msg number

// -------data show handle--------
BOOL			bOnScroll;	//Scroll state

BOOL			bGetScrollData;//getted scroll data to show
BOOL			bRecStart;//during scroll to hold waitting
BOOL			bBusyOk; //false: show true: pause View data show
BOOL			bSavePC,bRecPC;//analyze window judge save or rec
BOOL			byShowERL; //0--no new erl 1: got new erl
BOOL			bAddr;//when one field is addr on show
BOOL			bDPC;//when one field is DPCOPC on show
BYTE			bRecTime;		//for not show rx tx red alarm at onstop

// --------password--------------
BYTE    		PWflag;
char    		UserPW[9];
char    		SystemPW[9];

BOOL			bExitWaitDlg;	//define if the waitdlg auto exit
BYTE			RecTimeType;	//0: other 1:busy 1 2:busy 2 3:busy both
//-----DDE Event handle---------------
/////////////dde handle ////////////////////////////////
UINT			Timer3Type;	//1:cur data com 2:recdata com
BOOL		bRecRun;
/*			
tagDDEstatic	 *DdeData;            //DDE tran buff

DWORD   InstId=0;
HCONV   HConv;
BOOL    Loop;
HSZ     Service;
HSZ     Topic;
HSZ     Item;
HSZ     ItemData;
HSZ     ItemPer;
HSZ     ItemCha;
HSZ     ItemRecData;
HSZ     ItemERL;
HSZ     ItemAddr;
*/
BYTE 		AdviceType;				//0: nor adv,1:data 2:per 3:cha 4:cic 5:erl 6:addr
//0: data sendhandle,1:send only time 2:closewin 3:clearper 5:app to asm
//6: sel trig to asm 7: sel critA to asm 8:sel critB to asm 9: linksel 10:bSaveOn
//11:crittab->asm 12:trigtab->asm 13: findaddr 14: stoprec 15: storerecdata 16 chgchatypr
BYTE 		PokeType;
BOOL		AdvicePause;         //FALSE: start TRUE: pause;
WORD	   SpeedTime;              //show the communication speed
BYTE     CurRecDataPage;
//explan: REOPER,PCINFO,CINFOI SACT
void GetENCODStr(BYTE Data);
void GetNUPLStr(BYTE Data);
void GetSSNStr(BYTE Data);

 
/////////////常用字符串  96. 7//////////////////////////////////////////////


///////////////NO. 7 communication protocol////////////////////////////////
char  MsgType[MSGTYPE_NUM+1][8]={"","FISU", "LSSU","MSU"};

char     MSUHead[MSU_NUM][8]={ "",  "BSN", "BIB", "FSN","FIB","LI","SIO"};

//1--2进制 2—16进制 3—10进制  0xff--不能编辑 0xee-ADDR 0xfe --DPC OPC
//1:fieldnum 2:0 3:bits got from begin 4: 1-bin 2-H 3-ADDR decimal 4:Digtal 5:Decimal换位 6:DPCOPC Decimal
//SCCP TCAP INAP MAP 在详解窗口中显示主要域时:
//SCCP TCAP:判断第三个域=0xff: not show; else :show
//MAP INAP CAP:判断第二个域=1:show =0:not show


BYTE   MSUHeadCrit[MSU_NUM][4]=
		{ {0,0,0,0},  {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1},{6,0,8,1}};
char     LSSUHead[LSSU_NUM][8]={ "",  "BSN", "BIB", "FSN","FIB","LI","SF"};

BYTE   LSSUHeadCrit[LSSU_NUM][4]=
			{ {0,0,0,0},  {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1},{6,0,8,1}};

char     FISUHead[FISU_NUM][8]={ "",  "BSN", "BIB", "FSN","FIB","LI"};

BYTE   FISUHeadCrit[FISU_NUM][4]=
			{ {0,0,0,0},  {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1}};

char   LSSUType[LSSUTYPE_NUM+1][8]=
	{"","SIO",   "SIN",    "SIE",    "SIOS",  "SIPO",  "SIB"};   
char    MSUType[MSUTYPE_NUM+1][8]=
	{ "", "SNM", "SNT",  "SCCP", "TUP",   "ISUP", "DUP1", "DUP2"};

char     SNTMsgHead[MSGHEAD_NUM][8]={ "",  "DPC", "OPC", "SLS","H1H0"};

BYTE     SNTMsgHeadCrit[MSGHEAD_NUM][4]=
	{ {0,0,0,0},  {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};

char     SCCPMsgHead[MSGHEAD_NUM][8]={ "",  "DPC", "OPC", "SLS","MT"};

BYTE     SCCPMsgHeadCrit[MSGHEAD_NUM][4]=
	{ {0,0,0,0},  {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};

char     SNMMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "SLC","H1H0"};

BYTE   SNMMsgHeadCrit[MSGHEAD_NUM][4]=
	{ {0,0,0,0},  {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};

char     TUPMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "CIC","H1H0"};

BYTE   TUPMsgHeadCrit[MSGHEAD_NUM][4]=
		{ {0,0,0,0},  {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,12,2},{10,0,8,2}};


char     SNTMsgField[SNTMSG_NUM+1][2][8]=
			{{"", ""},{"TPLI","TP_N"},{"TPLI","TP_N"}};

BYTE   SNTMsgFieldCrit[SNTMSG_NUM+1][2][4]=
	{ { {0,0,0,0},{0,0,0,0}},{{11,0,0xff,2},{12,0,0xff,2}},{{11,0,0xff,2},{12,0,0xff,2}}}; //??
char      SNTMsg[SNTMSG_NUM+1][8]={"",  "SLTM", "SLTA"};

BYTE      SNTH1H0[SNTMSG_NUM+1]={0,  0x11, 0x21};

⌨️ 快捷键说明

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