📄 extsystem.c
字号:
}
else
{
flag = FLAUSE;
goto exit;
}
switch( Function )//功能号码选择
{
case Fun_End://*#0*password(3)
switch(Num)
{
case 0:
list = Ext_Timer[Ext_No].Counter_Rec_DTMF;
if(list >= (Fun_Len+EXT_Len) )
{
if(Password1 = Ext_Param[Ext_No].Ext_RecDtmf_List[4])
{
if(Password2 = Ext_Param[Ext_No].Ext_RecDtmf_List[5])
{
if(Password3 = Ext_Param[Ext_No].Ext_RecDtmf_List[6])
{
if((System_Modify == Ext_No)||(System_Modify >= MAX_Ext))
{
System_Modify = Ext_No;
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
break;
}
else
System_Modify = 0xff;
}
}
}
flag = FLAUSE;
}
break;
case 1://*#1*password(3)
if(System_Modify!=Ext_No)
{
flag = FLAUSE;
goto exit;
}
list = Ext_Timer[Ext_No].Counter_Rec_DTMF;
if(list >= (Fun_Len+EXT_Len) )
{
Password1 = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Password2 = Ext_Param[Ext_No].Ext_RecDtmf_List[5];
Password3 = Ext_Param[Ext_No].Ext_RecDtmf_List[6];
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
break;
case 9://*#9*
System_Modify = 0xff;
break;
default:
flag = FLAUSE;
break;
}
break;
case 0:
switch(Num)//功能编号选择
{//*01*
case 1:
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
break;
case 2:
Phone_SetOk(Ext_No, 2, state32_TestBusySingal);
break;
case 3:
Phone_SetOk(Ext_No, 3, state33_TestFreeSingal);
break;
case 4:
Phone_SetOk(Ext_No, 4, state34_TestHarrySingal);
break;
case 5:
Phone_SetOk(Ext_No, 5, state35_TestRing);
break;
case 6:
Phone_SetOk(Ext_No, 6, state36_TestResSingal);
break;
default:
flag = FLAUSE;
break;
}
break;
case 1://*11*
if(System_Modify!=Ext_No)
{
flag = FLAUSE;
goto exit;
}
SetParamCounter = 1;
list = Ext_Timer[Ext_No].Counter_Rec_DTMF;
if(list<5)
break;
switch(Num)
{
case 0://*10*0=phone system *10*1=CCP system
if(list >Fun_Len)
{
if(Ext_Param[Ext_No].Ext_RecDtmf_List[4]==0)
{
FlagSystemType = 0;
}
else if(Ext_Param[Ext_No].Ext_RecDtmf_List[4]==1)
{
FlagSystemType = 1;
}
else
{
flag = FLAUSE;
break;
}
BaseDataComm(RepSystemType, 0);
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
break;
case 1:
member = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
if(member>0&&member<10)
{
if(EXT_Head == member)
{
flag = FLAUSE;
goto exit;
}
member <<=4;
if(First_Meet_Head == member)
{
flag = FLAUSE;
goto exit;
}
else if(First_Troop_Head == member)
{
flag = FLAUSE;
goto exit;
}
if((FlagHeartSkip==4)||(FlagHeartSkip==9))
{
BaseDataComm(RepSetHead1, 0);
}
EXT_Head = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
flag = FLAUSE;
}
break;
case 2:
member = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
if(member>0&&member<10)
{
if(EXT_Head == member)
{
flag = FLAUSE;
goto exit;
}
member <<=4;
if(First_Meet_Head == member)
{
flag = FLAUSE;
goto exit;
}
else if(First_Troop_Head == member)
{
flag = FLAUSE;
goto exit;
}
if((FlagHeartSkip==4)||(FlagHeartSkip==9))
{
BaseDataComm(RepSetHead2, 0);
}
First_Meet_Head = member;
for(i=0;i<TAL_MeetGroup;i++)
{
Meet_Group[i].MeetHead = First_Meet_Head+i;
}
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
flag = FLAUSE;
}
break;
case 3:
member = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
if(member>0&&member<10)
{
if(EXT_Head == member)
{
flag = FLAUSE;
goto exit;
}
member <<=4;
if(First_Meet_Head == member)
{
flag = FLAUSE;
goto exit;
}
else if(First_Troop_Head == member)
{
flag = FLAUSE;
goto exit;
}
if((FlagHeartSkip==4)||(FlagHeartSkip==9))
{
BaseDataComm(RepSetHead3, 0);
}
First_Troop_Head = member;
for(i=0;i<TAL_TroopGroup;i++)
{
Troop_Param[i].TroopHead = First_Troop_Head+i;
}
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
flag = FLAUSE;
}
break;
default:
flag = FLAUSE;
break;
}
break;
case 2://查询用户状态
if(System_Modify!=Ext_No)
{
flag = FLAUSE;
goto exit;
}
SetParamCounter = 1;
list = Ext_Timer[Ext_No].Counter_Rec_DTMF;
switch(Num)
{
case 0://*20*600
if(list >= (Fun_Len+EXT_Len) )
{
Ext_Param[Ext_No].Ext_RecDtmf_List[0] = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Ext_Param[Ext_No].Ext_RecDtmf_List[1] = Ext_Param[Ext_No].Ext_RecDtmf_List[5];
Ext_Param[Ext_No].Ext_RecDtmf_List[2] = Ext_Param[Ext_No].Ext_RecDtmf_List[6];
Ext_Param[Ext_No].Ext_RecDtmf_List[3] = Ext_Param[Ext_No].Ext_RecDtmf_List[7];
SExt_No = Scan_EXT_LogicList(Ext_No);
if(SExt_No>TAL_EXT_PORT)
{
flag = FLAUSE;
goto exit;
}
BaseDataComm(RepState, SExt_No);
Phone_SetOk(Ext_No, 1, state34_TestHarrySingal);
}
break;
case 1://*20*1 heartskip type
if(list >Fun_Len)
{
if(Ext_Param[Ext_No].Ext_RecDtmf_List[4]<=9)
{
FlagHeartSkip = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
Phone_SetOk(Ext_No, 1, state34_TestHarrySingal);
}
}
break;
case 2://*20*1 meet array
if(list >Fun_Len)
{
group = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
if(group<7)
{
BaseDataComm(RepMeet, group);
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
flag = FLAUSE;
}
}
break;
case 3:
if(list >Fun_Len)
{
group = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
if(group<7)
{
BaseDataComm(RepTroop, group);
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
flag = FLAUSE;
}
}
break;
case 4:
if(list >=Fun_Len)
{
BaseDataComm(RepSystem, 0);
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
break;
case 9://*29*NoFreeCounter NoFreeFlag 0
if(list >= (Fun_Len+EXT_Len) )
{
NoFreeCounter = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
NoFreeFlag = Ext_Param[Ext_No].Ext_RecDtmf_List[5]*10;
NoFreeFlag += Ext_Param[Ext_No].Ext_RecDtmf_List[6];
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
break;
default:
flag = FLAUSE;
break;
}
break;
case 3://未启用参数
flag = FLAUSE;
break;
case 4://未启用参数
flag = FLAUSE;
break;
case 5://未启用参数
flag = FLAUSE;
break;
case 6:
if(System_Modify!=Ext_No)
{
flag = FLAUSE;
goto exit;
}
SetParamCounter = 1;
list = Ext_Timer[Ext_No].Counter_Rec_DTMF;
switch(Num)
{
case 1://设置会议成员
if(list >= (Fun_Len+EXT_Len+1) )
{
group = Ext_Param[Ext_No].Ext_RecDtmf_List[Fun_Len+EXT_Len];
Ext_Param[Ext_No].Ext_RecDtmf_List[0] = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Ext_Param[Ext_No].Ext_RecDtmf_List[1] = Ext_Param[Ext_No].Ext_RecDtmf_List[5];
Ext_Param[Ext_No].Ext_RecDtmf_List[2] = Ext_Param[Ext_No].Ext_RecDtmf_List[6];
Ext_Param[Ext_No].Ext_RecDtmf_List[3] = Ext_Param[Ext_No].Ext_RecDtmf_List[7];
SExt_No = Scan_EXT_LogicList(Ext_No);
if((SExt_No>TAL_EXT_PORT)||(group>6))
{
flag = FLAUSE;
goto exit;
}
member = Meet_Group[group].Num_Member;
list = 0;
for(i=0;i<member;i++)
{
if(Meet_Group[group].Meet_Member[i]==SExt_No)
list = 1;
}
if(list!=1)
{
Meet_Group[group].Meet_Member[member] = SExt_No;
Meet_Group[group].Num_Member++;
Phone_SetOk(Ext_No, 1, state31_TestDailSingal);
}
else
{
Phone_SetOk(Ext_No, 1, state34_TestHarrySingal);
}
}
break;
case 2://取消会议成员
if(list >= (Fun_Len+EXT_Len+1) )
{
group = Ext_Param[Ext_No].Ext_RecDtmf_List[Fun_Len+EXT_Len];
Ext_Param[Ext_No].Ext_RecDtmf_List[0] = Ext_Param[Ext_No].Ext_RecDtmf_List[4];
Ext_Param[Ext_No].Ext_RecDtmf_List[1] = Ext_Param[Ext_No].Ext_RecDtmf_List[5];
Ext_Param[Ext_No].Ext_RecDtmf_List[2] = Ext_Param[Ext_No].Ext_RecDtmf_List[6];
Ext_Param[Ext_No].Ext_RecDtmf_List[3] = Ext_Param[Ext_No].Ext_RecDtmf_List[7];
SExt_No = Scan_EXT_LogicList(Ext_No);
if((SExt_No>TAL_EXT_PORT)||(group>6))
{
flag = FLAUSE;
goto exit;
}
member = Meet_Group[group].Num_Member;
list = 0;
for(i=0;i<member;i++)
{
if(Meet_Group[group].Meet_Member[i]==SExt_No)
{
list = 1;
break;
}
}
if(list==1)
{
member--;
Meet_Group[group].Meet_Member[i] = Meet_Group[group].Meet_Member[member];
Meet_Group[group].Meet_Member[member] = 0XFF;
Meet_Group[
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -