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

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


faq:dial_conf_extension_number

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
faq:dial_conf_extension_number [2020/10/13 14:28]
Портнов Алексей
faq:dial_conf_extension_number [2023/01/24 09:14]
Портнов Алексей
Строка 16: Строка 16:
   - Укажите тип кода "​**PHP-AGI скрипт**"​   - Укажите тип кода "​**PHP-AGI скрипт**"​
   - Код <​code><?​php   - Код <​code><?​php
-<?php+
 require_once '​Globals.php';​ require_once '​Globals.php';​
  
Строка 85: Строка 85:
 </​code>​ </​code>​
   - Правим файл "​**/​var/​spool/​cron/​crontabs/​root**"​ через меню [[:​custom-files|Кастомизация системных файлов]]   - Правим файл "​**/​var/​spool/​cron/​crontabs/​root**"​ через меню [[:​custom-files|Кастомизация системных файлов]]
-  - Добавляем задачу в конец файла: <​code>​*/​1 * * * * /​usr/​bin/​php -f /​var/​lib/​asterisk/​agi-bin/​DIALPLAN-APP-EC12CFAE6783FE82FD34F16E40C7386B.php start > /dev/null 2> /​dev/​null</​code>​+  - Добавляем задачу в конец файла: <​code>​*/​1 * * * * /​usr/​bin/​php -f /​var/​lib/​asterisk/​agi-bin/​DIALPLAN-APP-EC12CFAE6783FE82FD34F16E40C7386B.php start > /dev/null 2> /​dev/​null</​code> ​
   - В данном примере "​**DIALPLAN-APP-EC12CFAE6783FE82FD34F16E40C7386B**"​ - Это идентификатор созданного ранее приложения. ID можно подсмотреть в адресной строке браузера при редактировании приложения.  ​   - В данном примере "​**DIALPLAN-APP-EC12CFAE6783FE82FD34F16E40C7386B**"​ - Это идентификатор созданного ранее приложения. ID можно подсмотреть в адресной строке браузера при редактировании приложения.  ​
 +  - Опишем дополнительные контексты через меню [[:​custom-files|Кастомизация системных файлов]]. Править будем файл **extensions.conf**. Добавьте в конец файла следущий текст: <​code>​
 +[z-outgoing]
 +exten => _X!,​1,​Ringing()
 +  same => n,​Gosub(${ISTRANSFER}dial,​${EXTEN},​1)
 +  same => n,​Dial(PJSIP/​${EXTEN}@${ZPROVIDERID},​600,​${DOPTIONS}TKU(z-dial-answer)b(dial_create_chan,​s,​1))
 +  same => n,​ExecIf($["​${ISTRANSFER}x"​ != "​x"​]?​Gosub(${ISTRANSFER}dial_hangup,​${EXTEN},​1))
 +  same => n,​Set(pt1c_UNIQUEID=${EMPTY_VALUE})
 +  same => n,​ExecIf($["​${BLINDTRANSFER}x"​ != "​x"​]?​AGI(check_redirect.php,​${BLINDTRANSFER}))
 +  same => n,Hangup()
 +
 +[z-dial-answer]
 +exten => s,​1,​NoOp(Answered send DTMF...)
 +  same => n,​Gosub(dial_answer,​${EXTEN},​1)
 +  same => n,​SendDTMF(${ZDTMF})
 +  same => n,return
 +
 +[z-meetme]
 +exten => _X!,​1,​Answer()
 +  same => n,​Meetme(${EXTEN},​qdMTr)
 +  same => n,Hangup()
 +</​code>​
  
 <note important>​При звонке в конференцию по номеру **354233** автоматически будет подключаться внешний абонент с номером **84957776675**. Как только абонент ответи,​ будет произведен набор добавочного номера **354233**. Как только все "​внутренние"​ участники покинули конференцию,​ внешний абонент будет отключен. ​ </​note>​ <note important>​При звонке в конференцию по номеру **354233** автоматически будет подключаться внешний абонент с номером **84957776675**. Как только абонент ответи,​ будет произведен набор добавочного номера **354233**. Как только все "​внутренние"​ участники покинули конференцию,​ внешний абонент будет отключен. ​ </​note>​
 +
 +<note important>​Задача в крон нужна лишь для дополнительной "​защиты",​ по сути это рестарт php скрипта каждую минуту</​note>​
  
 [[faq:​|Обратно к инструкциям]] [[faq:​|Обратно к инструкциям]]
faq/dial_conf_extension_number.txt · Последние изменения: 2023/12/22 13:14 — Портнов Алексей