Инструменты пользователя

Инструменты сайта


faq:pt1c_dnd

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
faq:pt1c_dnd [2019/07/12 09:54]
Портнов Алексей [Настройка переадресации "На мобильном"]
faq:pt1c_dnd [2023/03/27 07:57] (текущий)
Портнов Алексей [Изменени статуса с телефона]
Строка 1: Строка 1:
-====== ​Askozia ​+ DND в панели телефонии для 1С ======+====== ​MikoPBX ​+ DND в панели телефонии для 1С ======
 [[:​faq|Обратно,​ к основному разделу... ]] [[:​faq|Обратно,​ к основному разделу... ]]
- 
-<note important>​Инструкции подойдут для **Askozia 7.1**+ </​note>​ 
  
 В панели телефонии есть возможность установки статуса сотрудника:​ В панели телефонии есть возможность установки статуса сотрудника:​
Строка 17: Строка 15:
  
   * **0** - Доступен   * **0** - Доступен
-  * **2** - DND +  * **2** или **4** - DND 
-  * **32** - Отошел +  * **32** или **8** - Отошел
 ====== Настройка dialplan ====== ====== Настройка dialplan ======
  
-АТС по умолчанию никак не реагирует на смену статуса. Но мы можем повлиять на поведение ​Askozia ​и заставить ее завершать вызов при статусе сотрудника DND. +АТС по умолчанию никак не реагирует на смену статуса. Но мы можем повлиять на поведение ​MikoPBX ​и заставить ее завершать вызов при статусе сотрудника DND. 
  
   - Перейдите в раздел "​**Система**"​ - "​**Кастомизация системных файлов**"​{{ :​faq:​askozia7_custom_extension_dnd_1.jpg |}}   - Перейдите в раздел "​**Система**"​ - "​**Кастомизация системных файлов**"​{{ :​faq:​askozia7_custom_extension_dnd_1.jpg |}}
   - Откройте файл extensions.conf на редактирование ​   - Откройте файл extensions.conf на редактирование ​
   - Выберите режим "​**Добавлять в конец файла**"​ {{ :​faq:​askozia7_custom_extension_dnd_2.jpg |}}   - Выберите режим "​**Добавлять в конец файла**"​ {{ :​faq:​askozia7_custom_extension_dnd_2.jpg |}}
-  - Добавьте текст dialplan, ​будут кастомизированы "​**all_peers**"​ и "​**internal**" ​<​code>​ +  - Добавьте текст dialplan, <​code>​ 
-[all_peers-custom] +[internal-users-custom]
-include => internal-custom +
- +
-[internal-custom]+
 exten => _.!,​1,​NoOp(Start custom context) exten => _.!,​1,​NoOp(Start custom context)
-    same => n,​Set(fw_status=${DB(UserBuddyStatus/​SIP/​${EXTEN})})+    same => n,​Set(fw_status=${DB(UserBuddyStatus/​PJSIP/​${EXTEN})})
     ; DND     ; DND
-    same => n,​ExecIf($["​${fw_status}"​ == "​2"​]?​Busy())+    same => n,​ExecIf($["​${fw_status}"​ == "2" || "​${fw_status}"​ == "4"​]?​Busy())
     ; On mobile     ; On mobile
-    same => n,​ExecIf($["​${fw_status}"​ == "​32"​]?​Set(fw_unav=${DB(FW_UNAV/​${EXTEN})}):​Set(fw_unav=${UNDEFINED}))+    same => n,ExecIf($["​${fw_status}"​ == "​8"​ || "​${fw_status}"​ == "​32"​ ]?​Set(fw_unav=${DB(FW_UNAV/​${EXTEN})}):​Set(fw_unav=${UNDEFINED}))
     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Set(pt1c_UNIQUEID=${UNDEFINED}))     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Set(pt1c_UNIQUEID=${UNDEFINED}))
     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Set(peer_mobile=1))     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Set(peer_mobile=1))
     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Goto(internal,​${fw_unav},​1))     same => n,​ExecIf($["​${fw_unav}x"​ != "​x"​]?​Goto(internal,​${fw_unav},​1))
-    same => n,Return()+    same => n,return
 </​code>​ </​code>​
-  - После этих правок все вызовы на внутренний номер со статусом ​**2** - **DND** будут завершаться с сигналом "​**Занято**"​. ​+  - После этих правок все вызовы на внутренний номер со статусом **DND** будут завершаться с сигналом "​**Занято**"​. ​
 ====== Настройка переадресации "На мобильном"​ ====== ====== Настройка переадресации "На мобильном"​ ======
  
Строка 53: Строка 47:
   - Опишем на АТС новое "​**Приложение dialplan**"​ {{ :​faq:​statuses_pt1c_5.jpg |}}   - Опишем на АТС новое "​**Приложение dialplan**"​ {{ :​faq:​statuses_pt1c_5.jpg |}}
   - Заполните "​Название приложения"​   - Заполните "​Название приложения"​
-  - Укажите "​**Номер для вызова приложения**",​ его мы опишем шаблоном "**888[0-2]**" +  - Укажите "​**Номер для вызова приложения**",​ его мы опишем шаблоном "**888X**" 
-  - "​**Тип кода**"​ - **Диалплан Asterisk** ​{{ :​faq:​statuses_pt1c_6.jpg |}}+  - "​**Тип кода**"​ - **Диалплан Asterisk**
   - Заполните вкладку "​**Программный код**"​ <​code>​1,​ExecIf($["​${CHANNEL(channeltype)}"​ == "​Local"​]?​Hangup())   - Заполните вкладку "​**Программный код**"​ <​code>​1,​ExecIf($["​${CHANNEL(channeltype)}"​ == "​Local"​]?​Hangup())
 n,​Set(ext=${EXTEN:​3}) n,​Set(ext=${EXTEN:​3})
Строка 61: Строка 55:
 n,​ExecIf($["​${ext}"​ == "​2"​]?​Set(new_status=32)) n,​ExecIf($["​${ext}"​ == "​2"​]?​Set(new_status=32))
 n,​ExecIf($["​${new_status}x"​ == "​x"​]?​Hangup()) n,​ExecIf($["​${new_status}x"​ == "​x"​]?​Hangup())
-n,​Set(DB(UserBuddyStatus/​SIP/${CHANNEL(peername)})=${new_status})+n,​Set(device_status=${IF($["​${new_status}"​ == "​0"​]?​NOT_INUSE:​BUSY)}) 
 +n,​Set(DEVICE_STATE(Custom:​${CHANNEL(endpoint)})=${device_status}) 
 +n,​Set(DB(UserBuddyStatus/​PJSIP/${CHANNEL(endpoint)})=${new_status}) 
 +n,​UserEvent(DB_UserBuddyStatus,​chan1c:​PJSIP/​${CHANNEL(endpoint)},​key:​PJSIP/​${CHANNEL(endpoint)},​val:​${new_status}})
 n,Answer() n,Answer()
 n,Hangup n,Hangup
Строка 68: Строка 65:
  
 Приложение позволит менять статус набором внутреннего номера:​ Приложение позволит менять статус набором внутреннего номера:​
-  * **DND** / Не беспокоить - позвоните на **8882** +  * **DND** / Не беспокоить - позвоните на **8881** 
-  * **На мобильном** / Отошел - позвоните на **8881**+  * **На мобильном** / Отошел - позвоните на **8882**
   * **На месте** / Доступен - позвоните на **8880**   * **На месте** / Доступен - позвоните на **8880**
  
  
 [[:​faq|Обратно,​ к основному разделу... ]] [[:​faq|Обратно,​ к основному разделу... ]]
faq/pt1c_dnd.1562925295.txt.gz · Последние изменения: 2019/07/12 09:54 — Портнов Алексей