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

📄 ss7trandlg.cpp

📁 VC6.0环境下的ss7isup部分的信令解释程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			case ISUP_PARA_Transmission_medium_requirement:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__Transmission medium requirement";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_Transmission_medium_requirement(strparin);
			}									
			break;
			case ISUP_PARA_Transmission_medium_requirement_prime:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__Transmission medium requirement prime";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_Transmission_medium_requirement_prime(strparin);
			}									
			break;
			case ISUP_PARA_Transmission_medium_used:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__Transmission medium used";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_Transmission_medium_used(strparin);
			}									
			break;
			case ISUP_PARA_User_service_information:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__User service information";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_User_service_information(strparin);
			}									
			break;
			case ISUP_PARA_User_service_information_prime:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__User service information prime";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_User_service_information_prime(strparin);
			}									
			break;
			case ISUP_PARA_User_teleservice_information:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__User teleservice information";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_User_teleservice_information(strparin);
			}									
			break;
			case ISUP_PARA_User_to_user_indicators:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__User-to-user indicators";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_User_to_user_indicators(strparin);
			}									
			break;
			case ISUP_PARA_User_to_user_information:
			{
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__User-to-user information";
				pCtrl->AddString(strtemp);

				strtemp=strparalen;
				strtemp+=":";
				strtemp+="length indicator";
				pCtrl->AddString(strtemp);

				tranpar_User_to_user_information(strparin);
			}									
			break;
			case ISUP_PARA_End_of_optional_parameters:
				strtemp=strparaname;
				strtemp+=":";
				strtemp+="parametername__End of optional parameters";
				pCtrl->AddString(strtemp);
			break;
			default:
			break;
		}
	}
}


void CSs7tranDlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(TRUE);


	strinput=m_strinput;
	//CancelBlank;
	long i;
	long flag;
	CString strtemp;
	flag=0;
	for(i=0;i<100;i++)
	{
		strtemp=strinput.Left(1);
//		if (
//			((strtemp>=Asc("0")) && (strtemp<=Asc("9")))
//        ||((strtemp>=Asc("A")) && (strtemp<=Asc("E")))
//		  )
		if (
			((strtemp>=48) && (strtemp<=57))
		  ||((strtemp>=97) && (strtemp<=122))
		  )
		{
			flag=1;
			break;
		}
		else if ((strtemp==61)||(strtemp==76))
		{
			if (flag==0)
			{
				AfxMessageBox("format is error");
				return;
			}
		}
		else
			m_strinput.Delete(0,1);
	}
	int pos,pos1;
	pos=strinput.Find("=");
	pos1=strinput.Find(",");
	if (pos>pos1 && pos1>0)
	{
		AfxMessageBox("format is error");
		return;
	}
	if (pos!=2)
	{
		AfxMessageBox("format is error");
		return;
	}
	//CancelBlank;
	//tran message
	long lmessage;
	lmessage=0;
	
	strtemp=strinput.Left(2);

	lmessage=strchangehex(strtemp);

	pos=strinput.Find("=");
	strinput.Delete(0,pos+1);

	for(i=0;i<257;i++)
	{
		strpara[i]="0xFF";
	}
	
	pos1=0;
	lparalen=0;
	for(i=0;i<257;i++)
	{
		pos=strinput.Find(",");
		if (pos!=-1)
		{
			strtemp=strinput.Left(pos);
			strinput.Delete(0,pos+1);
		}
		else
		{
			strtemp=strinput.Left(2);
			pos1=1;
		}
		strpara[i]=strtemp;
		lparalen++;
		if (pos1==1)
			i=300;
	}

	CString stroutput;
	CString strparin;
	CListBox *pCtrl = (CListBox *)GetDlgItem( IDC_LIST1 );
	while(pCtrl->GetCount()>0)   
	{   
		pCtrl->DeleteString(0);
	}

	long bufindex;
	bufindex=0;

	strbithead="   ";
	strtranhead="       ";

	switch (lmessage)
	{
		long length;
		stroutput="";
		case ISUP_IAM:
			stroutput="message:";
			strtemp="Initial address ";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);
			
			stroutput="Parameter:";
			pCtrl->AddString(stroutput);
			

			strparin=strpara[bufindex++];
			tranpar_Nature_of_connection_indicators(strparin);


			strparin=strpara[bufindex++];
			strparin+=",";
			strparin+=strpara[bufindex++];
			tranpar_Forward_call_indicators(strparin);

			strparin=strpara[bufindex++];
			tranpar_Calling_party_category(strparin);

			strparin=strpara[bufindex++];
			tranpar_Transmission_medium_requirement(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to Called party number";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to start of optional part";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Called party number";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)
			{
				strparin+=strpara[bufindex++];
				if (i<(length-1))
					strparin+=",";
			}
			tranpar_Called_party_number(strparin);

			tran_o_para(bufindex);
			//UpdateData(FALSE);
		break;
		case ISUP_ACM:
			stroutput="message:";
			strtemp="Address complete ";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);
			
			stroutput="Parameter:";
			pCtrl->AddString(stroutput);

			strparin=strpara[bufindex++];
			strparin+=",";
			strparin+=strpara[bufindex++];
			tranpar_Backward_call_indicators(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to start of optional part";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			tran_o_para(bufindex);
		break;
		case ISUP_ANM:
			stroutput="message:";
			strtemp="Answer ";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);
			
			stroutput="Parameter:";
			pCtrl->AddString(stroutput);


			strparin=strpara[bufindex++];
			strtemp="pointer to start of optional part";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			tran_o_para(bufindex);
		break;
		case ISUP_BLO:
		case ISUP_BLA:
		case ISUP_CCR:
		case ISUP_LPA:
		case ISUP_OLM:
		case ISUP_RSC:
		case ISUP_UBL:
		case ISUP_UBA:
		case ISUP_UCIC:
			stroutput="message:";
			if (lmessage==ISUP_BLO)
				strtemp="Blocking ";
			else if (lmessage==ISUP_BLA)
				strtemp="Blocking acknowledgement ";
			else if (lmessage==ISUP_CCR)
				strtemp="Continuity check request ";
			else if (lmessage==ISUP_LPA)
				strtemp="Loop back acknowledgement ";
			else if (lmessage==ISUP_OLM)
				strtemp="Overload ";
			else if (lmessage==ISUP_RSC)
				strtemp="Reset circuit ";
			else if (lmessage==ISUP_UBL)
				strtemp="Unblocking ";
			else if (lmessage==ISUP_UBA)
				strtemp="Unblocking acknowledgement ";
			else if (lmessage==ISUP_UCIC)
				strtemp="Unequipped CIC  ";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);
			
		break;
		case ISUP_CPG:
			stroutput="message:";
			strtemp="Call progress ";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);
			
			stroutput="Parameter:";
			pCtrl->AddString(stroutput);

			strparin=strpara[bufindex++];
			tranpar_Event_information(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to start of optional part";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			tran_o_para(bufindex);

		break;
		case ISUP_CGB:
		case ISUP_CGBA:
		case ISUP_CGU:
		case ISUP_CGUA:

			stroutput="message:";
			if (lmessage==ISUP_CGB)
				strtemp="Circuit group blocking ";
			else if (lmessage==ISUP_CGBA)
				strtemp=" Circuit group blocking acknowledgement";
			else if (lmessage==ISUP_CGU)
				strtemp="Circuit group unblocking";
			else if (lmessage==ISUP_CGUA)
				strtemp=" Circuit group unblocking acknowledgement";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);

			stroutput="Parameter:";
			pCtrl->AddString(stroutput);

			strparin=strpara[bufindex++];
			tranpar_Circuit_group_supervision_message_type_indicator(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to Range and status";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Range and status";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)
			{
				strparin+=strpara[bufindex++];
				if (i<(length-1))
					strparin+=",";
			}
			tranpar_Range_and_status(strparin);
		break;
		case ISUP_CQM:
		case ISUP_GRS:
			stroutput="message:";
			if (lmessage==ISUP_CQM)
				strtemp="Circuit group query";
			else
				strtemp="Circuit group reset";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);

			stroutput="Parameter:";
			pCtrl->AddString(stroutput);

			strparin=strpara[bufindex++];
			strtemp="pointer to Range and status";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to Circuit state indicator";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Range and status";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)
			{
				strparin+=strpara[bufindex++];
				if (i<(length-1))
					strparin+=",";
			}
			tranpar_Range_and_status(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Circuit state indicator";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)
			{
				strparin+=strpara[bufindex++];
				if (i<(length-1))
					strparin+=",";
			}
			tranpar_Circuit_state_indicator(strparin);
		break;
		case ISUP_CQR:
			stroutput="message:";
			strtemp="Circuit group query response";
			stroutput+=strtemp;
			pCtrl->AddString(stroutput);

			stroutput="Parameter:";
			pCtrl->AddString(stroutput);

			strparin=strpara[bufindex++];
			strtemp="pointer to Range and status";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="pointer to Circuit state indicator";
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Range and status";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)
			{
				strparin+=strpara[bufindex++];
				if (i<(length-1))
					strparin+=",";
			}
			tranpar_Range_and_status(strparin);

			strparin=strpara[bufindex++];
			strtemp="Length indicator of parameter Circuit state indicator";
			length=atol(strparin);
			strparin+=":";
			strparin+=strtemp;
			pCtrl->AddString(strparin);

			strparin="";
			for(i=0;i<length;i++)

⌨️ 快捷键说明

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