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

📄 tup2.h

📁 7号信令协议2M链路协议解码程序源代码
💻 H
字号:
// Tup2.h: interface for the CTup2 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TUP_H__2E29B636_DE14_4938_A9FF_22B8B57860D9__INCLUDED_)
#define AFX_TUP_H__2E29B636_DE14_4938_A9FF_22B8B57860D9__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/* 64K
#define SS7_TUP_SLS_MASK               (0x1F)
#define SS7_TUP_SLS_OFFSET             (10)
#define SS7_TUP_CIC_OFFSET             (10)
#define SS7_TUP_H1H0_OFFSET            (12)
#define SS7_TUP_DATA_OFFSET            (SS7_TUP_H1H0_OFFSET + 1)
*/
//2M
#define SS7_TUP_SLS_MASK               (0x1F)
#define SS7_TUP_SLS_OFFSET             (13)
#define SS7_TUP_CIC_OFFSET             (13)
#define SS7_TUP_H1H0_OFFSET            (15)
#define SS7_TUP_DATA_OFFSET            (SS7_TUP_H1H0_OFFSET + 1)

class CTup2
{
public:
    char m_h1h0Table[256][4];
    char m_callingTable[64][64];

    char m_msgID_BA_Table[4][64];
    char m_msgID_DC_Table[4][64];
    char m_msgID_FE_Table[4][64];
    char m_msgID_G_Table[2][64];
    char m_msgID_H_Table[2][64];
    char m_msgID_I_Table[2][64];
    char m_msgID_J_Table[2][64];
    char m_msgID_K_Table[2][64];

    char m_firstID_A_Table[2][64];
    char m_firstID_B_Table[2][64];
    char m_firstID_C_Table[2][64];
    char m_firstID_D_Table[2][64];
    char m_firstID_E_Table[2][64];
    char m_firstID_F_Table[2][64];
    char m_firstID_G_Table[2][64];

    char m_callingLineID_BA_Table[4][64];
    char m_callingLineID_C_Table[4][64];
    char m_callingLineID_D_Table[4][64];

	char m_respTypeID_A_Table[2][64];
	char m_respTypeID_B_Table[2][64];
	char m_respTypeID_C_Table[2][64];
	char m_respTypeID_D_Table[2][64];
	char m_respTypeID_E_Table[2][64];
	char m_respTypeID_F_Table[2][64];
	char m_respTypeID_G_Table[2][64];

	char m_inTrunkTransitExID_BA_Table[4][64];

	char m_reqestTypeID_A_Table[2][64];
	char m_reqestTypeID_B_Table[2][64];
	char m_reqestTypeID_C_Table[2][64];
	char m_reqestTypeID_D_Table[2][64];
	char m_reqestTypeID_E_Table[2][64];
	char m_reqestTypeID_F_Table[2][64];

	char m_msgIndicator_BA_Table[4][64];
	char m_msgIndicator_C_Table[2][64];
	char m_msgIndicator_D_Table[2][64];
	char m_msgIndicator_E_Table[2][64];
	char m_msgIndicator_F_Table[2][64];

	char m_GRM_blocking_Table[2][64];      //MGB,HGB,SGB
	char m_GRM_blockingAck_Table[2][64];   //MBA,HBA,SBA
	char m_GRM_unblocking_Table[2][64];    //MGU,HGU,SGU
	char m_GRM_unblockingAck_Table[2][64]; //MUA,HUA,SUA
	char m_GRM_resetAck_Table[2][64];      //GRA


public:
	CTup2();
	virtual ~CTup2();

	BOOL GetH1H0(BYTE *u_pMsg, DWORD u_msgLength, char *v_pH1H0);
	BOOL GetSls(BYTE *u_pMsg, DWORD u_msgLength, char *v_pSls);
	BOOL GetCic(BYTE *u_pMsg, DWORD u_msgLength, char *v_pCic);
	BOOL GetData(BYTE *u_pMsg, DWORD u_msgLength, char *v_pData);
	BOOL GetMessageDecodeInfo(BYTE *u_pMsg, DWORD u_msgLength, char *v_pDecodeResult);
	void createH1h0Table();
	////////////////////////////
	void createCallingTypeTable();
	void create_msgID_BA_Table();
	void create_msgID_DC_Table();
	void create_msgID_FE_Table();
	void create_msgID_G_Table();
	void create_msgID_H_Table();
	void create_msgID_I_Table();
	void create_msgID_J_Table();
	void create_msgID_K_Table();

	void create_firstID_A_Table();
	void create_firstID_B_Table();
	void create_firstID_C_Table();
	void create_firstID_D_Table();
	void create_firstID_E_Table();
	void create_firstID_F_Table();
	void create_firstID_G_Table();

	void create_callingLineID_BA_Table();
	void create_callingLineID_C_Table();
	void create_callingLineID_D_Table();

	void create_respTypeID_A_Table();
	void create_respTypeID_B_Table();
	void create_respTypeID_C_Table();
	void create_respTypeID_D_Table();
	void create_respTypeID_E_Table();
	void create_respTypeID_F_Table();
	void create_respTypeID_G_Table();

	void create_inTrunkTransitExID_BA_Table();

	void create_reqestTypeID_A_Table();
	void create_reqestTypeID_B_Table();
	void create_reqestTypeID_C_Table();
	void create_reqestTypeID_D_Table();
	void create_reqestTypeID_E_Table();
	void create_reqestTypeID_F_Table();

	void create_msgIndicator_BA_Table();
	void create_msgIndicator_C_Table();
	void create_msgIndicator_D_Table();
	void create_msgIndicator_E_Table();
	void create_msgIndicator_F_Table();

	void create_GRM_blocking_Table();      //MGB,HGB,SGB
	void create_GRM_blockingAck_Table();   //MBA,HBA,SBA
	void create_GRM_unblocking_Table();    //MGU,HGU,SGU
	void create_GRM_unblockingAck_Table(); //MUA,HUA,SUA
	void create_GRM_resetAck_Table();      //GRA


	BOOL GetMessageDecodeInfo_AfterH1H0(BYTE *u_pMsg, DWORD u_msgLength, char *v_pDecodeResult);

	BOOL GetDataDecode_IAM(BYTE *u_pMsgData, DWORD u_dataLength, char *v_pParseData);
	BOOL GetDataDecode_IAI(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SAM(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SAO(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_GSM(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_GRQ(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_ACM(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CHG(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	////UBM
	BOOL GetDataDecode_SEC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CGC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_NNC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_ADI(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CFL(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SSB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_UNN(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_LOS(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SST(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_ACB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_DPN(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_EUM(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
    ////CSM
	BOOL GetDataDecode_ANU(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_ANC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_ANN(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CBK(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CLF(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_RAN(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_FOT(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CCL(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
    ////CCM
	BOOL GetDataDecode_RLG(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_BLO(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_BLA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_UBL(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_UBA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CCR(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_RSC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);

	//GRM
	BOOL GetDataDecode_MGB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MBA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MGU(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MUA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_HGB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_HBA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_HGU(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_HUA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_GRS(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_GRA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SGB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SBA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SGU(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SUA(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);

	BOOL GetDataDecode_ACC(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MPM(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_OPR(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_SLB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_STB(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);

	BOOL GetDataDecode_COT(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_CCF(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MPR(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);
	BOOL GetDataDecode_MAL(BYTE *u_pMsg, DWORD u_msgLength, char *v_pParseData);

};

#endif // !defined(AFX_TUP_H__2E29B636_DE14_4938_A9FF_22B8B57860D9__INCLUDED_)

⌨️ 快捷键说明

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