📄 test.c
字号:
if (Sw->NewSrv[NOT_DISTURB] == '-' && strchr(buf, 'G'))
Sw->NewSrv[NOT_DISTURB] = '1';
if (Sw->NewSrv[CALL_FORWARD] == '-' && strchr(buf, 'H'))
Sw->NewSrv[CALL_FORWARD] = '1';
if (Sw->NewSrv[CALL_WAIT] == '-' && strchr(buf, 'J'))
Sw->NewSrv[CALL_WAIT] = '1';
if (Sw->NewSrv[CALL_FORWARD_BUSY] == '-' && strchr(buf, 'K'))
Sw->NewSrv[CALL_FORWARD_BUSY] = '1';
if (Sw->NewSrv[ABSENTEE] == '-' && strchr(buf, 'L'))
Sw->NewSrv[ABSENTEE] = '1';
if (Sw->NewSrv[THREE_WAY_CALL] == '-' && strchr(buf, 'M'))
Sw->NewSrv[THREE_WAY_CALL] = '1';
if (Sw->NewSrv[LDXS] == '-' && strchr(buf, 'Y')) // Incoming Call Display
Sw->NewSrv[LDXS] = '1';
/*
if (GetPara(Sw->RcvBuff, "KN=", buf, 10)) {
strcat(Sw->Para, " PASS=");
strcat(Sw->Para, buf);
}
*/
return 1;
}
/*==============================================================
Function: GetNumOfLineNEC
Note : 取实装统计结果
Para : None
Return : 1 - if success
0 - if fail
==============================================================*/
int GetNumOfLineNEC(void)
{
char buf[32];
if (!GetPara(Sw->RcvBuff, "TOTAL ", buf, 16)) {
Sw->ReturnCode = 9999;
return 0;
}
Sw->InstLine += atoi(buf);
return 1;
}
/*==========================================================
Function: NECMapErrCommon
Note : Map NEC err, errcode < 400
Para : None
Return : None
===========================================================*/
void NECMapErrCommon(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{0, 0},
{2, 7}, // Terminal err
/* Operational Error */
{3, 11}, // Command racing error
{11, 3}, // Incorrect function code
{31, 3}, {32, 3}, {34, 3}, // Para error
{35, 12}, // Double registration or cancellation
/* Command Equipment Status Prevents Command Execution */
/* File and Resource Status Prevents Command Execution */
{254, 10}, // Line busy
/* Faulty Common Equipment */
{-1,-1}
};
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrNEW
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrNEW(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{462,2}, // Double registration, translate to err tel
{463,8}, {523,8}, // LL error
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrDSC
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrDSC(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrSPS
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrSPS(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{464, 12}, // Double stop
{582, 2}, // Tel error
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrSPR
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrSPR(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{462, 12}, // Double reg
{582, 2}, // Tel err
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrDNC
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrDNC(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{582, 2}, // Tel err
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrUAN
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrUAN(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrCLC
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrCLC(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{419, 3}, // para err
{582, 2}, // Tel err
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECMapErrMTR
Note : Map NEC err, errcode >= 400
Para : None
Return : None
===========================================================*/
void NECMapErrMTR(void)
{
int DestErr = 9999, i;
struct {
int SrcErr; // source error number from switch
int DestErr;
} Map[] = {
{462, 0}, // Double reg
{582, 2}, // Tel err
{902,10}, // Line busy
{-1,-1}
};
if (Sw->ReturnCode < 400) {
NECMapErrCommon();
return;
}
for (i=0; Map[i].SrcErr != -1; i++)
if (Sw->ReturnCode == Map[i].SrcErr) {
DestErr = Map[i].DestErr;
break;
}
Sw->ReturnCode = DestErr;
}
/*==========================================================
Function: NECG30MapErr
Note : Translate NECG30 error code to swi error code
Para : None
Return : None
===========================================================*/
void NECG30MapErr(void)
{
char SrcErr[8];
int i;
struct {
char SrcErr[4];
int DesErr;
} Map[] = {
{"000", 0},
{"003", 11}, // command race
{"035", 12}, // (reg mtr) already registered
{"037", 12}, // (can mtr) not registered
{"430", 3}, // 呼出限制密码过长 too many characters or digits entered in ocb_pid=12345678
{"480", 3}, // 呼出限制密码过短 too few characters or digits entered in ocb_pid=12
{"a04", 3}, // 呼出限制无密码 necessary parameter for ocb service not specified
{"a15", 12}, // (newsrv) service not registered
{"a19", 12}, // (newsrv) service already registered
{"b00", 2}, // subscriber number already registered
{"b01", 20}, // subscriber number state not suitable
{"b02", 2}, // subscriber number not registered
{"b03", 2}, // office code for subscriber number not registered
{"b04", 2}, // new subscriber number already registered
{"b10", 8}, // subscriber line equipment number already registered
{"b12", 8}, // subscriber line equipment number not registered
{"b14", 8}, // subscriber line equipment number erroneous
{"d00", 12}, // subscriber state already registered
{"d03", 10}, // subscriber busy
{"d05", 10}, // modification of %s not allowed for busy subscriber
{"520", 3}, // (reg mtr) not installed - 空号
{"xxx", 9999}
};
/*
if (!strstr(Sw->RcvBuff, Sw->Tel)) {
Sw->ReturnCode = 9999;
return;
}
*/
if (strstr(Sw->RcvBuff, " end\r"))
strcpy(SrcErr, "000");
else
GetPara(Sw->RcvBuff, " err-", SrcErr, 5);
for (i=0; strcmp(Map[i].SrcErr, "xxx")!=0; i++)
if (strcmp(Map[i].SrcErr, SrcErr) == 0) {
Sw->ReturnCode = Map[i].DesErr;
return;
}
Sw->ReturnCode = 9999;
}
/*==============================================================
Function: GetResultNECG30CRE
Note :
Para : None
Return : None
==============================================================*/
void GetResultNECG30CRE(void)
{
if (!strstr(Sw->RcvBuff, "cre subd") || !strstr(Sw->RcvBuff, Sw->Tel))
Sw->ReturnCode = 9999;
else
NECG30MapErr();
}
/*==============================================================
Function: GetResultNECG30VIEW
Note :
Para : None
Return : None
==============================================================*/
void GetResultNECG30VIEW(void)
{
if (!strstr(Sw->RcvBuff, "view subd") || !strstr(Sw->RcvBuff, Sw->Tel))
Sw->ReturnCode = 9999;
else
NECG30MapErr();
}
/*==============================================================
Function: GetResultNECG30DEL
Note :
Para : None
Return : None
==============================================================*/
void GetResultNECG30DEL(void)
{
if (!strstr(Sw->RcvBuff, "del subd") || !strstr(Sw->RcvBuff, Sw->Tel))
Sw->ReturnCode = 9999;
else
NECG30MapErr();
}
/*==============================================================
Function: GetResultNECG30REG
Note :
Para : None
Return : None
==============================================================*/
void GetResultNECG30REG(void)
{
if (!strstr(Sw->RcvBuff, "reg subd") || !strstr(Sw->RcvBuff, Sw->Tel))
Sw->ReturnCode = 9999;
else
NECG30MapErr();
}
/*==============================================================
Function: GetResultNECG30CAN
Note :
Para : None
Return : None
==============================================================*/
void GetResultNECG30CAN(void)
{
if (!strstr(Sw->RcvBuff, "can subd") || !strstr(Sw->RcvBuff, Sw->Tel))
Sw->ReturnCode = 9999;
else
NECG30MapErr();
}
/*==============================================================
Function: GetResultNECG30CHG
Note :
Para : None
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -