Контекст звездочки выполняется в файлах вызовов без ответа

Я использую файлы вызовов, такие как эти:

Channel: SIP/TRUNK/1-111522282783163<br/>
CallerID: 522299308962<br/>
MaxRetries: 1<br/>
Data: GqFR7rubPw_10<br/>
Context: calls<br/>
Extension: s<br/>
Priority: 1 <br/>
Setvar: AUDIOFILE=GqFR7rubPw_10<br/>
Setvar: ID=BkzKlksau1<br/>
Setvar: DEST=522282783163<br/>
Archive: yes<br/>

Как я уже знаю, при ответе на вызов абонентская группа (в контексте) выполняется, но не с вызовами, которые "НЕТ ОТВЕТА, ЗАГРУЗКА, ЗАНЯТ, ОТКАЗАЛСЯ". То, что я хочу сделать, это выполнить план набора номеров (в том же контексте или контексте по умолчанию), когда вызов находится в состоянии, которое НЕ ОТВЕТИЛО, потому что я добавляю идентификатор в качестве переменной в файлы вызовов, которые я использую для идентификации вызова.

Я нашел эту ссылку Asterisk - выполнение сценария agi, если вызов не отвечает? Но я не понимаю, если честно с тобой. Если у кого-то есть пример этого, я буду признателен за это.

План набора:

[calls]
exten => s,1,wait(2)
exten => s,n,Set(CDR(outbound_cnum)=${DEST})
exten => s,n,Set(CDR(userfield)=${ID})
exten => s,n,Playback(${AUDIOFILE})

1 ответ

Прежде всего, это не единственная проблема, с которой вы столкнетесь при написании своего собственного набора номера. НАСТОЯТЕЛЬНО рекомендуется использовать уже написанное ядро ​​/ какой-то проект с открытым исходным кодом.

Эта точная проблема может быть исправлена ​​с помощью Local / channel и вызова через dialplan. Таким образом, вы получите отзыв о плане набора и сможете проверить переменную DIALSTATUS после завершения вызова.

https://wiki.asterisk.org/wiki/display/AST/Local+Channel

Другие вопросы по тегам