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

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


faq:dial_extension_number

Исходящий с набором внутреннего номера

Обратно к инструкциям

Допустим есть некий номер 8-495-000-00-00, позвонив на который и набрав добавочный можно попасть на конкретного сотрудника. Это бывает крайне удобно, особенно если добавочный номер длиннее 3х символов. Далее опишу пример реализации задачи.

Для решения задачи следует описать дополнительные контексты через меню Кастомизация системных файлов. Править будем файл extensions.conf. Добавьте в конец файла следущий текст:

[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

Далее необходимо описать Приложения диалпланов

  1. Создайте новое приложение
  2. Выберите «Тип кода» - «Dialplan Asterisk»
  3. Допустим «донабрать» нужно номер 354233, установим это значение в «Номер для вызова приложенияЭ
    1,Set(_ZDTMF=${EXTEN})
    n,Set(_ZDST=84950000000)
    n,Set(_ZPROVIDERID=SIP-1601534775)
    n,Goto(z-outgoing,${ZDST},1)
    
  4. В приложении переменной «ZDST» присвойте номер, на который следует совершить вызов
  5. В переменной «ZDTMF» следует указать номер для дополнительного набора
  6. В переменной «ZPROVIDERID» укажите идентификатор провайдера, через которого следует совершить исходящий вызов. ID можно подсмотреть в адресной строке браузера при редактировании провайдера

Обратно к инструкциям

faq/dial_extension_number.txt · Последние изменения: 2020/10/13 14:12 — Алексей Портнов