Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Эту проблему я решить так и не смог, хотя вот здесь (последний пост) пишут, что есть возможность назначать одной программируемой клавише два действия попеременно, но у меня не заработало. Кто знает как это можно сделать пишите в комментариях, буду благодарен.
<!-- Software DND button -->
<DND_Act_Code group="Regional/Vertical_Service_Activation_Codes">*75</DND_Act_Code>
<DND_Deact_Code group="Regional/Vertical_Service_Activation_Codes">*76</DND_Deact_Code>
<Service_Annc_Base_Number group="Regional/Vertical_Service_Announcement_Codes">*7</Service_Annc_Base_Number>
<Service_Annc_Extension_Codes group="Regional/Vertical_Service_Announcement_Codes">DDT:5;DDF:6</Service_Annc_Extension_Codes>
<PSK_1 group="Phone/Programmable_Softkeys">fnc=sd;ext=*75;nme=DND;ext2=*76;nme2=-DND</PSK_1>
<Idle_Key_List group="Phone/Programmable_Softkeys">em_login|1;acd_login|1;acd_logout|1;avail|3;unavail|3;redial|5;dir|6;cfwd|7;psk1|8;lcr|9;pickup|10;gpickup|11;unpark|12;em_logout</Idle_Key_List>
<Programmable_Softkey_Enable group="Phone/Programmable_Softkeys">Yes</Programmable_Softkey_Enable>// new DND function
*75 => {
Answer();
Set(STATE=NOT_INUSE);
Set(DEVICE_STATE(Custom:DND${CALLERID(number)})=${STATE});
NoOp(Device state is ${DEVICE_STATE(Custom:DND${CALLERID(number)})}. Toggled);
HangUp();
};
*76 => {
Answer();
Set(STATE=RINGING);
Set(DEVICE_STATE(Custom:DND${CALLERID(number)})=${STATE});
NoOp(Device state is ${DEVICE_STATE(Custom:DND${CALLERID(number)})}. Toggled);
HangUp();
}; _XXXX => {
if("${DEVICE_STATE(Custom:DND${EXTEN})}"="NOT_INUSE") {
BackGround(custom/DND); //подставить запись, какую нужно
HangUp();
}
else {
Dial(SIP/$EXTEN);
HangUp();
};
Asterisk + Cisco SPA5XX, SPA3XX — DND с уведомлением сервера