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

📄 isup2.cpp

📁 7号信令协议2M链路协议解码程序源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// Isup2.cpp: implementation of the CIsup2 class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "decode2.h"
#include "Isup2.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CIsup2::CIsup2()
{
    this->createH1h0Table();

	//参数名编码
	this->create_optionParm_Table();

	//连接性质表示语
	this->create_natureConnID_BA_Table();
    this->create_natureConnID_DC_Table();
    this->create_natureConnID_E_Table();

	//前向呼叫表示语
	this->create_forwardCallID_A_Table();
    this->create_forwardCallID_CB_Table();
    this->create_forwardCallID_D_Table();
    this->create_forwardCallID_E_Table();
    this->create_forwardCallID_F_Table();
    this->create_forwardCallID_HG_Table();
    this->create_forwardCallID_I_Table();
    this->create_forwardCallID_KJ_Table();

	//主叫用户类别
	this->createCallingTypeTable();

	//传输媒介请求
	this->create_transMediumRequir_Table();
	this->create_transMediumRequirPrime_Table();

	//地址性质表示语
	this->create_natureAddrID_Table();

	//编号计划表示语
	this->create_numPlanID_Table();

	//鉴别表示语
	this->create_screenID_Table();

	//限制地址提供表示语
	this->create_addrRestricted_Table();

	//网络识别计划
	this->create_netPlanID_Table();
	//网络识别类型
	this->create_netTypeID_Table();

	//改发信息
	this->create_redirInf_CBA_Table();
	this->create_redirInf_HGFE_Table();
	this->create_redirInf_PONM_Table();

	//用户-用户表示语
	this->create_u2uID_Req_Table();
	this->create_u2uID_Resp_Table();

	//通用号码
	this->create_numQualifyID_Table();

	//信息传递能力
	this->create_infTransCap_Table();
	//信息传递速率
	this->create_infTransRat_Table();
	//编码标准
	this->create_codeStd_Table();
	//传递方式
	this->create_transMode_Table();

	//数字的类型
	this->create_digitType_Table();
	//编码方案
	this->create_encodeSchem_Table();

	//通知表示语
	this->create_notifyID_Table();

	this->create_preLevel_Table();
	this->create_LFB_Table();

	//计费表示语
	this->create_backwardCallID_BA_Table();
	//被叫用户状态表示语
	this->create_backwardCallID_DC_Table();
	//被叫用户类别表示语
	this->create_backwardCallID_FE_Table();

	this->create_locationID_Table();
	this->create_codeStd2ID_Table();
	this->create_causeVal_Table();

	this->create_echoCtrInfID_BA_Table();
	this->create_echoCtrInfID_DC_Table();
	this->create_echoCtrInfID_FE_Table();
	this->create_echoCtrInfID_HG_Table();

	//通知预定任选
	this->create_notifySubOpt_Table();
	//改发原因
	this->create_redirReason_Table();

	//提供限制表示语
	this->create_presentRestrict_Table();

	//事件表示语
	this->create_eventID_Table();

	//自动拥塞级
	this->create_autoCongestLevel_Table();

	//主叫用户地址响应表示语
	this->create_informID_BA_Table();

	//维护闭塞状态
	this->create_maintainBlock_BA_Table();

	//呼叫进行状态
	this->create_maintainBlock_DC_Table();

	//硬件闭塞状态
	this->create_maintainBlock_FE_Table();

	//性能表示语
	this->create_facilityID_Table();

	//宽/窄带互通表示语
	this->create_boardNarrowBand_Table();
}

CIsup2::~CIsup2()
{

}
void CIsup2::createH1h0Table()
{
    int i;

    for(i=0; i<64; i++)
    {
        strcpy(m_h1h0Table[i], "Reserved Message Type");
    }

    strcpy(m_h1h0Table[0x06], "Address complete");
    strcpy(m_h1h0Table[0x09], "Answer");
    strcpy(m_h1h0Table[0x13], "Blocking");
    strcpy(m_h1h0Table[0x15], "Blocking acknowledgement");
    strcpy(m_h1h0Table[0x2c], "Call progress");
    strcpy(m_h1h0Table[0x18], "Circuit group blocking");
    strcpy(m_h1h0Table[0x1a], "Circuit group blocking acknowledgement");
    strcpy(m_h1h0Table[0x2a], "Circuit group query (national use)");
    strcpy(m_h1h0Table[0x2b], "Circuit group query response (national use)");
    strcpy(m_h1h0Table[0x17], "Circuit group reset");
    strcpy(m_h1h0Table[0x29], "Circuit group reset acknowledgement");
    strcpy(m_h1h0Table[0x19], "Circuit group unblocking");
    strcpy(m_h1h0Table[0x1b], "Circuit group unblocking acknowledgement");
    strcpy(m_h1h0Table[0x31], "Charge information (national use)");
    strcpy(m_h1h0Table[0x2f], "Confusion");
    strcpy(m_h1h0Table[0x07], "Connect");
    strcpy(m_h1h0Table[0x05], "Continuity");
    strcpy(m_h1h0Table[0x11], "Continuity check request");
    strcpy(m_h1h0Table[0x33], "Facility");
    strcpy(m_h1h0Table[0x20], "Facility accepted");
    strcpy(m_h1h0Table[0x21], "Facility reject");
    strcpy(m_h1h0Table[0x1f], "Facility request");
    strcpy(m_h1h0Table[0x08], "Forward transfer");
    strcpy(m_h1h0Table[0x36], "Identification request");
    strcpy(m_h1h0Table[0x37], "Identification response");
    strcpy(m_h1h0Table[0x04], "Information (national use)");
    strcpy(m_h1h0Table[0x03], "Information request (national use)");
    strcpy(m_h1h0Table[0x01], "Initial address");
    strcpy(m_h1h0Table[0x24], "Loop back acknowledgement (national use)");
    strcpy(m_h1h0Table[0x32], "Network resource management");
    strcpy(m_h1h0Table[0x30], "Overload (national use)");
    strcpy(m_h1h0Table[0x28], "Pass-along (national use)");
    strcpy(m_h1h0Table[0x0c], "Release");
    strcpy(m_h1h0Table[0x10], "Release complete");
    strcpy(m_h1h0Table[0x12], "Reset circuit");
    strcpy(m_h1h0Table[0x0e], "Resume");
    strcpy(m_h1h0Table[0x38], "Segmentation");
    strcpy(m_h1h0Table[0x02], "Subsequent address");
    strcpy(m_h1h0Table[0x0d], "Suspend");
    strcpy(m_h1h0Table[0x14], "Unblocking");
    strcpy(m_h1h0Table[0x16], "Unblocking acknowledgement");
    strcpy(m_h1h0Table[0x2e], "Unequipped CIC (national use)");
    strcpy(m_h1h0Table[0x35], "User Part available");
    strcpy(m_h1h0Table[0x34], "User Part test");
    strcpy(m_h1h0Table[0x2d], "User-to-user information");

    strcpy(m_h1h0Table[0x0a], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x0b], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x0f], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x22], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x23], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x25], "Reserved (used in 1984 version)");
    strcpy(m_h1h0Table[0x26], "Reserved (used in 1984 version)");

    strcpy(m_h1h0Table[0x1d], "Reserved (used in 1988 version)");
    strcpy(m_h1h0Table[0x1c], "Reserved (used in 1988 version)");
    strcpy(m_h1h0Table[0x1e], "Reserved (used in 1988 version)");
    strcpy(m_h1h0Table[0x27], "Reserved (used in 1988 version)");

    for(i=0x39; i<=0x3d; i++)
    {
        strcpy(m_h1h0Table[i], "Reserved (used in B-ISUP)");
    }

}

void CIsup2::create_optionParm_Table()
{	int i;
    for(i=0; i<256; i++)
    {   strcpy(m_optionParm_Table[i], "Reserved Parameter Type");   }

    strcpy(m_optionParm_Table[0x2E], "接入转交信息");
    strcpy(m_optionParm_Table[0x03], "接入转送");
    strcpy(m_optionParm_Table[0x27], "自动拥塞级");
    strcpy(m_optionParm_Table[0x11], "后向呼叫表示语");
    strcpy(m_optionParm_Table[0x36], "呼叫变更信息");
    strcpy(m_optionParm_Table[0x2D], "呼叫历史信息");
    strcpy(m_optionParm_Table[0x01], "呼叫参考");
    strcpy(m_optionParm_Table[0x04], "被叫用户号码");
    strcpy(m_optionParm_Table[0x0A], "主叫用户号码");
    strcpy(m_optionParm_Table[0x09], "主叫用户类别");
    strcpy(m_optionParm_Table[0x12], "原因表示语");
    strcpy(m_optionParm_Table[0x15], "电路群监视消息类型表示");
    strcpy(m_optionParm_Table[0x26], "电路状态表示语");
    strcpy(m_optionParm_Table[0x1A], "闭合用户群连锁编码");
    strcpy(m_optionParm_Table[0x21], "被连接的号码");
    strcpy(m_optionParm_Table[0x0D], "连接请求");

    strcpy(m_optionParm_Table[0x10], "导通表示语");
    strcpy(m_optionParm_Table[0x37], "回声控制信息");

    strcpy(m_optionParm_Table[0x00], "任选参数结束");
    strcpy(m_optionParm_Table[0x24], "事件信息");
    strcpy(m_optionParm_Table[0x18], "性能表示语");
    strcpy(m_optionParm_Table[0x07], "前向呼叫表示语");
    strcpy(m_optionParm_Table[0x41], "免费电话表示语");
    strcpy(m_optionParm_Table[0xC1], "通用数字");
    strcpy(m_optionParm_Table[0x2C], "通用通知");
    strcpy(m_optionParm_Table[0xC0], "通用号码");
    strcpy(m_optionParm_Table[0x3A], "通用参考");
    strcpy(m_optionParm_Table[0x3B], "跳数计数器");
    strcpy(m_optionParm_Table[0x0F], "信息表示语");
    strcpy(m_optionParm_Table[0x0E], "信息请求表示语");
    strcpy(m_optionParm_Table[0x3F], "位置号码");
    strcpy(m_optionParm_Table[0x3B], "MCID请求表示语");
    strcpy(m_optionParm_Table[0x3C], "MCID响应表示语");
    strcpy(m_optionParm_Table[0x38], "消息兼容性信息");
    strcpy(m_optionParm_Table[0x3A], "MLPP优先");
    strcpy(m_optionParm_Table[0x06], "连接性质表示语");

    strcpy(m_optionParm_Table[0x2F], "网络专用性能");
    strcpy(m_optionParm_Table[0x29], "任选后向呼叫表示语");
    strcpy(m_optionParm_Table[0x08], "任选前向呼叫表示语");
    strcpy(m_optionParm_Table[0x28], "原被叫号码");
    strcpy(m_optionParm_Table[0x2B], "始发ISC点编码");
    strcpy(m_optionParm_Table[0x39], "参数兼容性信息");
    strcpy(m_optionParm_Table[0x31], "传播时延计数器");
    strcpy(m_optionParm_Table[0x16], "范围和状态");
    strcpy(m_optionParm_Table[0x0B], "改发的号码");
    strcpy(m_optionParm_Table[0x13], "改发信息");
    strcpy(m_optionParm_Table[0x0C], "改发号码");
    strcpy(m_optionParm_Table[0x40], "改发号码限制");
    strcpy(m_optionParm_Table[0x32], "远端操作");
    strcpy(m_optionParm_Table[0x33], "业务激活");
    strcpy(m_optionParm_Table[0x1E], "信令点编码");
    strcpy(m_optionParm_Table[0x05], "后续号码");
    strcpy(m_optionParm_Table[0x22], "暂停/恢复表示语");
    strcpy(m_optionParm_Table[0x23], "转接网选择");

    strcpy(m_optionParm_Table[0x02], "传输媒介要求");
    strcpy(m_optionParm_Table[0x3E], "传输媒介要求 ’");
    strcpy(m_optionParm_Table[0x35], "所用的传输媒介");
    strcpy(m_optionParm_Table[0x1D], "用户业务信息");
    strcpy(m_optionParm_Table[0x30], "用户业务信息 ’");
    strcpy(m_optionParm_Table[0x34], "用户终端业务信息");
    strcpy(m_optionParm_Table[0x2A], "用户-用户表示语");
    strcpy(m_optionParm_Table[0x20], "用户-用户信息");
}

void CIsup2::create_natureConnID_BA_Table()
{	strcpy(m_natureConnID_BA_Table[0x00], "连接中无卫星电路");
	strcpy(m_natureConnID_BA_Table[0x01], "连接中有一段卫星电路");
	strcpy(m_natureConnID_BA_Table[0x02], "连接中有两段卫星电路");
	strcpy(m_natureConnID_BA_Table[0x03], "备用");
}
void CIsup2::create_natureConnID_DC_Table()
{	strcpy(m_natureConnID_DC_Table[0x00], "不需要导通检验");
	strcpy(m_natureConnID_DC_Table[0x01], "在该电路上需要导通检验");
	strcpy(m_natureConnID_DC_Table[0x02], "在前一电路上完成导通检验");
	strcpy(m_natureConnID_DC_Table[0x03], "备用");
}
void CIsup2::create_natureConnID_E_Table()
{	strcpy(m_natureConnID_E_Table[0x00], "未包括去话半回声控制装置");
	strcpy(m_natureConnID_E_Table[0x01], "包括去话半回声控制装置");
}

void CIsup2::create_forwardCallID_A_Table() //国内/国际呼叫表示语
{	strcpy(m_forwardCallID_A_Table[0x00], "呼叫按国内呼叫处理");
	strcpy(m_forwardCallID_A_Table[0x01], "呼叫按国际呼叫处理");
}

void CIsup2::create_forwardCallID_CB_Table() //端到端方式表示语
{	strcpy(m_forwardCallID_CB_Table[0x00], "无端到端方式可用(只有逐段转发方式可用)" );
	strcpy(m_forwardCallID_CB_Table[0x01], "传递方式可用");
	strcpy(m_forwardCallID_CB_Table[0x02], "SCCP方式可用");
	strcpy(m_forwardCallID_CB_Table[0x03], "传递方式和SCCP方式可用");
}

void CIsup2::create_forwardCallID_D_Table() //互通表示语
{	strcpy(m_forwardCallID_D_Table[0x00], "未遇到互通(所有方向都是No.7信号)");
	strcpy(m_forwardCallID_D_Table[0x01], "遇到互通");
}

void CIsup2::create_forwardCallID_E_Table() //端到端信息表示语
{	strcpy(m_forwardCallID_E_Table[0x00], "未包括去话半回声控制装置");
	strcpy(m_forwardCallID_E_Table[0x01], "包括去话半回声控制装置");
}

void CIsup2::create_forwardCallID_F_Table() //ISDN用户部分表示语
{	strcpy(m_forwardCallID_F_Table[0x00], "不是所有方向都使用ISDN用户部分");

⌨️ 快捷键说明

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