Контекст звездочки выполняется в файлах вызовов без ответа
Я использую файлы вызовов, такие как эти:
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 после завершения вызова.