?? swi.c
字號:
/* ======== NECG30 ChangeDN ======== */
case 3008000:
GoSub(3000050);
break;
case 3008001:
GetPara(Sw->Para, "NEWTEL=", tmp, TEL_LEN);
sprintf(SndBuff, "chg subd n=%s n_new=%s\r", Sw->Tel, tmp);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3008002);
break;
case 3008003:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
GetResultNECG30CHG();
if (Sw->ReturnCode == 0)
GoSub(3000050);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
case 3008004:
sprintf(SndBuff, "del subd n=%s\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3008005);
break;
case 3008006:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
GetResultNECG30DEL();
strcpy(Sw->Para, "");
Go(100);
break;
/* ======== NECG30 NewSrv ======== */
// === 0-雙音頻
case 3010000:
if (strlen(Sw->NewSrv) < MAX_NEWSRV_LEN) {
Sw->ReturnCode = 3;
strcpy(Sw->Para, "");
Go(100);
break;
}
if (Sw->NewSrv[DTMF] == '-') {
Go(3010010);
break;
}
GoSub(3000050);
break;
case 3010001:
if (Sw->NewSrv[DTMF] == '1')
sprintf(SndBuff, "mod subd n=%s tel_cls=pb\r", Sw->Tel);
else
sprintf(SndBuff, "mod subd n=%s tel_cls=dp\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010002);
break;
case 3010003:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
GetResultNECG30MOD();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010010);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 1-長途
case 3010010:
if (Sw->NewSrv[INT_CALL] == '-' && Sw->NewSrv[TOLL_CALL] == '-') {
Go(3010020);
break;
}
GoSub(3000050);
break;
case 3010011:
/* 國內 國際
- - ""
0 - 002 市話,
1 - 003 國內,
- 0 003
0 0 002
1 0 003
- 1 000 國際,
0 1 000
1 1 000 */
sprintf(SndBuff, "mod subd n=%s rc_org=", Sw->Tel);
if (Sw->NewSrv[INT_CALL] == '1')
strcat(SndBuff, "0\r");
else {
if (Sw->NewSrv[TOLL_CALL] == '0')
strcat(SndBuff, "2\r");
else {
if ( ! (Sw->NewSrv[TOLL_CALL] == '-' && Sw->NewSrv[INT_CALL] == '-') )
strcat(SndBuff, "3\r");
}
}
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010012);
break;
case 3010013:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
GetResultNECG30MOD();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010020);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 3-熱線服務
case 3010020:
if (Sw->NewSrv[HOT_LINE_A] == '-') {
Go(3010030);
break;
}
GoSub(3000050);
break;
case 3010021:
if (Sw->NewSrv[HOT_LINE_A] == '1')
sprintf(SndBuff, "reg subd n=%s sc=hls\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=hls\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010022);
break;
case 3010023:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[HOT_LINE_A] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010030);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 5-呼叫等待
case 3010030:
if (Sw->NewSrv[CALL_WAIT] == '-') {
Go(3010040);
break;
}
GoSub(3000050);
break;
case 3010031:
if (Sw->NewSrv[CALL_WAIT] == '1')
sprintf(SndBuff, "reg subd n=%s sc=cw\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=cw\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010032);
break;
case 3010033:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[CALL_WAIT] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010040);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 6-三方通話
case 3010040:
if (Sw->NewSrv[THREE_WAY_CALL] == '-') {
Go(3010050);
break;
}
GoSub(3000050);
break;
case 3010041:
if (Sw->NewSrv[THREE_WAY_CALL] == '1')
sprintf(SndBuff, "reg subd n=%s sc=twc\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=twc\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010042);
break;
case 3010043:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[THREE_WAY_CALL] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010050);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 7-呼叫轉移
case 3010050:
if (Sw->NewSrv[CALL_FORWARD] == '-') {
Go(3010060);
break;
}
GoSub(3000050);
break;
case 3010051:
if (Sw->NewSrv[CALL_FORWARD] == '1')
sprintf(SndBuff, "reg subd n=%s sc=cf\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=cf\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010052);
break;
case 3010053:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[CALL_FORWARD] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010060);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 8-鬧鐘
case 3010060:
if (Sw->NewSrv[WAKE_UP] == '-') {
Go(3010070);
break;
}
GoSub(3000050);
break;
case 3010061:
if (Sw->NewSrv[WAKE_UP] == '1')
sprintf(SndBuff, "reg subd n=%s sc=wup\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=wup\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010062);
break;
case 3010063:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[WAKE_UP] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010070);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 9-遇忙轉移
case 3010070:
if (Sw->NewSrv[CALL_FORWARD_BUSY] == '-') {
Go(3010080);
break;
}
GoSub(3000050);
break;
case 3010071:
if (Sw->NewSrv[CALL_FORWARD_BUSY] == '1')
sprintf(SndBuff, "reg subd n=%s sc=cfbl\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=cfbl\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010072);
break;
case 3010073:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[CALL_FORWARD_BUSY] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010080);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 10-遇忙回叫
case 3010080:
if (Sw->NewSrv[CALL_STORE_BUSY] == '-') {
Go(3010090);
break;
}
GoSub(3000050);
break;
case 3010081:
if (Sw->NewSrv[CALL_STORE_BUSY] == '1')
sprintf(SndBuff, "reg subd n=%s sc=acb\r", Sw->Tel);
else
sprintf(SndBuff, "can subd n=%s sc=acb\r", Sw->Tel);
Send2Switch();
strcpy(Sw->RcvBuff, "");
Go(3010082);
break;
case 3010083:
sprintf(LogBuff, "Rcv from %s: %s\n", Sw->Office, Sw->RcvBuff);
LogInfo(LogBuff);
if (Sw->NewSrv[CALL_STORE_BUSY] == '1')
GetResultNECG30REG();
else
GetResultNECG30CAN();
if (Sw->ReturnCode == 0 || Sw->ReturnCode == 12)
Go(3010090);
else {
strcpy(Sw->Para, "");
Go(100);
}
break;
// === 11-免打擾
case 3010090:
if (Sw->NewSrv[NOT_DISTURB] == '-') {
Go(3010100);
break;
}
GoSub(3000050);
break;
case 3010091:
if (Sw->NewSrv[NOT_DISTURB] == '1')
sprintf(SndBuff, "reg subd n=%s sc=dtd\r", Sw->Tel);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -