?? svinapdisp.cpp
字號:
//“擴展”
if((*recbuf&0x3f)==0x24) ProcExpand(0x0b);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 53: //取消:53
if((*recbuf&0x3f)==0) procsbasicpara(0x01); //調用ID
else if((*recbuf&0x3f)==1) procNULL(0x04); //所有請求(NULL)
break;
case 54: //取消狀態報告請求:54
indeffmt=procsequencetag(0x01);
//“資源ID”選擇“用戶線ID”“設備群ID”“設備群成員ID”“中繼群ID”
if((*recbuf&0x3f)==0x20)//資源ID
{indeffmt2=procsequencetag(0x03); //資源ID sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x05);//用戶線ID
else if((*recbuf&0x3f)==0x21)//設備群ID
{indeffmt3=procsequencetag(0x08); //設備群ID sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x0a); //中繼群ID
else if((*recbuf&0x3f)==1) procsbasicpara(0x0d); //單個設備ID
else if((*recbuf&0x3f)==2) procsbasicpara(0x10); //搜索群
else if((*recbuf&0x3f)==3) procsbasicpara(0x13); //路由索引
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//設備群ID
else if((*recbuf&0x3f)==2) procsbasicpara(0x13); //設備群成員ID
else if((*recbuf&0x3f)==3) procsbasicpara(0x16); //中繼群ID
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
}//資源ID
//“擴展”
if((*recbuf&0x3f)==0x21) ProcExpand(0x19);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 27: //收集信息:27
indeffmt=procsequencetag(0x01);
//振鈴模式
if((*recbuf&0x3f)==0) procsbasicpara(0x03);
//編號計劃
if((*recbuf&0x3f)==1) procsbasicpara(0x06);
//原被叫用戶ID(原被叫號碼)
if((*recbuf&0x3f)==2) procINAPADDR(0x09);
//跨越標志
if((*recbuf&0x3f)==3) procINAPADDR(0x0d);
//“擴展”
if((*recbuf&0x3f)==0x24) ProcExpand(0x11);
//主叫用戶號碼
if((*recbuf&0x3f)==5) procINAPADDR(0x1e);
//所撥數字
if((*recbuf&0x3f)==6) procINAPADDR(0x22);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 20: //連接:20
indeffmt=procsequencetag(0x01);
//目的地路由地址
indeffmt2=procsequencetag(0x03);
while((*recbuf&0x3f)==0x04) procINAPADDR(0x05); //被叫用戶號碼
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
//振鈴模式
if((*recbuf&0x3f)==1) procsbasicpara(0x09);
//相關ID
if((*recbuf&0x3f)==2) procsbasicpara(0x0c);
//切割和補償
if((*recbuf&0x3f)==3) procsbasicpara(0x0f);
//前向條件(枚舉)
if((*recbuf&0x3f)==4) procsbasicpara(0x12);
//與ISDN接入相關的信息
if((*recbuf&0x3f)==5) procsbasicpara(0x15);
//原被叫用戶ID(原被叫號碼)
if((*recbuf&0x3f)==6) procINAPADDR(0x18);
//路由清單
if((*recbuf&0x3f)==0x27)//路由清單
{indeffmt2=procsequencetag(0x1c); //路由清單 sequence
while((*recbuf&0x3f)==0x04) procINAPADDR(0x1e); //路由
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
}//路由清單
//SCFID
if((*recbuf&0x3f)==8) procsbasicpara(0x21);
//跨越標志
if((*recbuf&0x3f)==9) procINAPADDR(0x24);
//“擴展”
if((*recbuf&0x3f)==0x2a) ProcExpand(0x28);
//承載者
if((*recbuf&0x3f)==11) procBearer(0x35);
//業務相互作用表示語
if((*recbuf&0x3f)==26) procsbasicpara(0x39);
//主叫用戶號碼
if((*recbuf&0x3f)==27) procINAPADDR(0x3c);
//主叫用戶類別
if((*recbuf&0x3f)==28) procsbasicpara(0x40);
//改向用戶ID
if((*recbuf&0x3f)==29) procINAPADDR(0x43);
//改向信息
if((*recbuf&0x3f)==30) procsbasicpara(0x47);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 19: //連接到資源:19
indeffmt=procsequencetag(0x01);
//“資源地址”選擇“IP路由地址”“legID”“兩個都要”“兩個都不要”
if((*recbuf&0x3f)==0) procINAPADDR(0x03); //IP路由地址
else if((*recbuf&0x3f)==0x21)//legID選擇"發方ID""收方ID"
procLegID(0x07); //LEGID
else if((*recbuf&0x3f)==0x22)//兩個都要
{indeffmt2=procsequencetag(0x0f); //IP路由地址和legID sequence
procINAPADDR(0x03); //IP路由地址
procLegID(0x07);//LEGID
if(indeffmt2!=0) {recbuf+=indeffmt2*2;UDTlen-=indeffmt2*2;}
}//兩個都要
else if((*recbuf&0x3f)==3) procNULL(0x11); //兩個都不要(NULL)
//“擴展”
if((*recbuf&0x3f)==0x25) ProcExpand(0x13);
//業務相互作用表示語
if((*recbuf&0x3f)==30) procsbasicpara(0x21);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 17: //建立臨時連接:17
indeffmt=procsequencetag(0x01);
//輔助SSPIP路由地址
procINAPADDR(0x03);
//相關ID
if((*recbuf&0x3f)==1) procsbasicpara(0x07);
//legID
if((*recbuf&0x3f)==0x22) procLegID(0x0a);
//SCFID
if((*recbuf&0x3f)==3) procsbasicpara(0x12);
//承載者
if((*recbuf&0x3f)==5) procBearer(0x15);
//“擴展”
if((*recbuf&0x3f)==0x26) ProcExpand(0x19);
//業務相互作用表示語
if((*recbuf&0x3f)==30) procsbasicpara(0x26);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 26: //計費事件通知:26
indeffmt=procsequencetag(0x01);
//計費事件類型
procsbasicpara(0x03);
//計費事件規定的信息
if((*recbuf&0x3f)==1) procsbasicpara(0x06);
//legID
if((*recbuf&0x3f)==0x22) procLegID(0x09);
//“擴展”
if((*recbuf&0x3f)==0x23) ProcExpand(0x11);
//監視方式(枚舉)
if((*recbuf&0x3f)==30) procsbasicpara(0x1e);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 24: //BCSM事件報告:24
indeffmt=procsequencetag(0x01);
//BCSM事件類型(枚舉)
procsbasicpara(0x03);
//BCSM事件相關ID
if((*recbuf&0x3f)==1) procsbasicpara(0x1c);
//“BCSM事件規定的信息”選擇 //P60
if((*recbuf&0x3f)==0x22)//BCSM事件規定的信息
{indeffmt2=procsequencetag(0x09); //BCSM收集的信息規定的信息 sequence
if((*recbuf&0x3f)==0x20)//收集的信息規定的信息
{indeffmt3=procsequencetag(0x0b);//收集的信息規定的信息 sequence
if((*recbuf&0x3f)==0) procINAPADDR(0x0d); //被叫用戶號碼
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//收集的信息規定的信息
else if((*recbuf&0x3f)==0x21)//分析信息規定的信息
{indeffmt3=procsequencetag(0x11);//分析信息規定的信息 sequence
if((*recbuf&0x3f)==0) procINAPADDR(0x0d); //被叫用戶號碼
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//分析信息規定的信息
else if((*recbuf&0x3f)==0x22)//路由選擇故障規定的信息
{indeffmt3=procsequencetag(0x13);//路由選擇故障規定的信息 sequence
if((*recbuf&0x3f)==0) procCase(0x15); //失敗原因
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//路由選擇故障規定的信息
else if((*recbuf&0x3f)==0x23)//O-被叫忙規定的信息
{indeffmt3=procsequencetag(0x18);//O-被叫忙規定的信息 sequence
if((*recbuf&0x3f)==0) procCase(0x1a); //忙原因
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//O-被叫忙規定的信息
else if((*recbuf&0x3f)==0x24)//O-無應答規定的信息
{
}//O-無應答規定的信息
else if((*recbuf&0x3f)==0x25)//O-應答規定的信息
{
}//O-應答規定的信息
else if((*recbuf&0x3f)==0x26)//O-中間呼叫規定的信息
{indeffmt3=procsequencetag(0x21);//O-中間呼叫規定的信息 sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x23); //連接時間
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//O-中間呼叫規定的信息
else if((*recbuf&0x3f)==0x27)//O-拆線規定的信息
{indeffmt3=procsequencetag(0x26);//O-拆線規定的信息 sequence
if((*recbuf&0x3f)==0) procCase(0x28); //釋放原因
if((*recbuf&0x3f)==1) procsbasicpara(0x23); //連接時間
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//O-拆線規定的信息
else if((*recbuf&0x3f)==0x28)//T-被叫忙規定的信息
{indeffmt3=procsequencetag(0x2b);//T-被叫忙規定的信息 sequence
if((*recbuf&0x3f)==0) procCase(0x1a); //忙原因
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//T-被叫忙規定的信息
else if((*recbuf&0x3f)==0x29)//T-無應答規定的信息
{
}//T-無應答規定的信息
else if((*recbuf&0x3f)==0x2a)//T-應答規定的信息
{
}//T-應答規定的信息
else if((*recbuf&0x3f)==0x2b)//T-中間呼叫規定的信息
{indeffmt3=procsequencetag(0x31);//T-中間呼叫規定的信息 sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x23); //連接時間
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//T-中間呼叫規定的信息
else if((*recbuf&0x3f)==0x2c)//T-拆線規定的信息
{indeffmt3=procsequencetag(0x33);//T-拆線規定的信息 sequence
if((*recbuf&0x3f)==0) procCase(0x28); //釋放原因
if((*recbuf&0x3f)==1) procsbasicpara(0x23); //連接時間
if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
}//O-拆線規定的信息
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
}//BCSM事件規定的信息
//legID
if((*recbuf&0x3f)==0x23) procLegID(0x35);
//雜項呼叫信息
if((*recbuf&0x3f)==0x24)//雜項呼叫信息
{indeffmt2=procsequencetag(0x3d);//雜項呼叫信息 sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x3f); //信息類型(枚舉)
if((*recbuf&0x3f)==1) procsbasicpara(0x42); //dp分配(枚舉)
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
}//雜項呼叫信息
//“擴展”
if((*recbuf&0x3f)==0x25) ProcExpand(0x45);
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 34: //提供計費信息:34
if(*(recbuf+1)==0x80) li=0;
else if (*(recbuf+1)<0x80) li=*(recbuf+2);
else li=*(recbuf+3);
len=UDTlen;
indeffmt=procsequencetag(0x01); //FCI帳單計費特性 sequence
//計費模式
if((*recbuf&0x3f)==0) procsbasicpara(0x03);
//計費記錄標識
if((*recbuf&0x3f)==1) procsbasicpara(0x06);
//計費動作(枚舉)
if((*recbuf&0x3f)==2) procsbasicpara(0x09);
//計費部分(枚舉)
if((*recbuf&0x3f)==4) procsbasicpara(0x0c);
//計費記錄處理
if((*recbuf&0x3f)==5) procsbasicpara(0x0f);
//主叫用戶號碼
if((*recbuf&0x3f)==6) procINAPADDR(0x12);
//被叫用戶號碼
if((*recbuf&0x3f)==7) procINAPADDR(0x16);
//目標地址號碼
if((*recbuf&0x3f)==8) procINAPADDR(0x1a);
//位置號碼
if((*recbuf&0x3f)==9) procINAPADDR(0x1e);
//計費用戶標識指示
if((*recbuf&0x3f)==10) procsbasicpara(0x22);
//規定的計費號碼
if((*recbuf&0x3f)==11) procINAPCHGADDR(0x25);
//附加費
if((*recbuf&0x3f)==0x2c) ProcAdditionalCharg(0x29);
//計費類別
if((*recbuf&0x3f)==13) procsbasicpara(0x31);
//計費調整率
if((*recbuf&0x3f)==0x2e) ProcAdjustRate(0x34);
//開始計費方式(枚舉)
if((*recbuf&0x3f)==15) procsbasicpara(0x3c);
//停止計費方式(枚舉)
if((*recbuf&0x3f)==16) procsbasicpara(0x3f);
//詳細帳單計費記錄類型
if((*recbuf&0x3f)==17) procsbasicpara(0x42);
//是否發送計費信息(枚舉)
if((*recbuf&0x3f)==18) procsbasicpara(0x45);
//透明參數
if((*recbuf&0x3f)==19) procsbasicpara(0x48);
if((*recbuf&0x3f)==20) procsbasicpara(0x48);
if((*recbuf&0x3f)==21) procsbasicpara(0x48);
if((*recbuf&0x3f)==22) procsbasicpara(0x48);
if((*recbuf&0x3f)==23) procsbasicpara(0x48);
if((*recbuf&0x3f)==24) procsbasicpara(0x48);
if((*recbuf&0x3f)==25) procsbasicpara(0x48);
if((*recbuf&0x3f)==26) procsbasicpara(0x48);
if((*recbuf&0x3f)==27) procsbasicpara(0x48);
if((*recbuf&0x3f)==28) procsbasicpara(0x48);
if((*recbuf&0x3f)==29) procsbasicpara(0x48);
if((*recbuf&0x3f)==30) procsbasicpara(0x48);
if((*recbuf&0x3f)==31) procsbasicpara(0x48);
len-=UDTlen;
if (len<li || li==0)
{if((*recbuf&0x3f)==32) procsbasicpara(0x48);
if((*recbuf&0x3f)==33) procsbasicpara(0x48);
if((*recbuf&0x3f)==34) procsbasicpara(0x48);
}
if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
break;
case 0: //啟動DP:0
indeffmt=procsequencetag(0x01); //FCI帳單計費特性 sequence
//業務鍵
if((*recbuf&0x3f)==0) procsbasicpara(0x03);
//“所撥數字”
if((*recbuf&0x3f)==1) procsbasicpara(0x06);
//被叫用戶號碼
if((*recbuf&0x3f)==2) procINAPADDR(0x09);
//主叫用戶號碼
if((*recbuf&0x3f)==3) procINAPADDR(0x0D);
//主叫用戶商業集團ID
if((*recbuf&0x3f)==4) procINAPADDR(0x11);
//主叫用戶類別
if((*recbuf&0x3f)==5) procsbasicpara(0x15);
//主叫用戶子地址
if((*recbuf&0x3f)==6) procINAPADDR(0x18);
//遇到呼叫間隙(枚舉)
if((*recbuf&0x3f)==7) procsbasicpara(0x1c);
//IPSSP能力
if((*recbuf&0x3f)==8) procsbasicpara(0x1f);
//遇到呼叫間隙(枚舉)
if((*recbuf&0x3f)==9) procsbasicpara(0x22);
//位置號碼
if((*recbuf&0x3f)==10) procINAPADDR(0x25);
//雜項呼叫信息
if((*recbuf&0x3f)==0x2b)//雜項呼叫信息
{indeffmt2=procsequencetag(0x29);//雜項呼叫信息 sequence
if((*recbuf&0x3f)==0) procsbasicpara(0x2b); //信息類型(枚舉)
if((*recbuf&0x3f)==1) procsbasicpara(0x2e); //dp分配(枚舉)
if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
}//雜項呼叫信息
//原被叫用戶ID
if((*recbuf&0x3f)==12) procINAPADDR(0x31);
//業務輪廓表示語
if((*recbuf&0x3f)==13) procsbasicpara(0x35);
//終端類型(枚舉)
if((*recbuf&0x3f)==14) procsbasicpara(0x38);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -