Выполнить действия после Dial
| Не получается выполнить действия после совершения вызова, если никто не ответил и вызывающий абонент сам положил трубку. exten => h обрабатывается только при условии, что вызывающая сторона ответила на вызов. По идее, время на выполнение вызова не установлено, и если положить трубу должно приходить в DIALSTATUS = CANCEL, но ничего вообще не приходит. Куда копать, подскажите? добавить комментарий |
| Советую астер 1.8 для подобной темы. в 1.6 к сожалению не всё реализовано для обработки h. давай я поразузнаю и завтра отпишу. Просто буквально сегодня из-за этого h пришлось 1.8 ставить и разруливать изменения в конфиге chan_dahdi.conf :) Голова кругом Zavr2008 (Feb 02)редактировать |
|
| не используй макросы, а используй DIALSTATUS вот пример на скорую руку exten => 095XXXXXXX,2,SET(GLOBAL(NOMERTO_MTC)=${EXTEN}) exten => 095XXXXXXX,n,Dial(SIP/${NOMERTO_MTC}@3003) exten => _095XXXXXXX,n,NoOp( Dial Status: ${DIALSTATUS}) exten => _095XXXXXXX,n,Goto(s-${DIALSTATUS},1) exten => s-NOANSWER,1,Hangup exten => s-CONGESTION,1,Congestion exten => s-CANCEL,1,Hangup exten => s-BUSY,1,Dial(SIP/${NOMERTOMTC}@3004) exten => s-CHANUNAVAIL,1,Dial(SIP/${NOMERTOMTC}@3004) |
| Сделайте exten => h,1,NoOp(${DIALSTATUS}) и смотрите, что там получается. У меня всё работает. Но ежели Вы пользуетесь макросами, то, начиная, по-моему, с версии 1.6, каждый макрос имеет свой собственный h extension. Соответственно, вызов сначала проходит через h exten макроса, а потом ещё через h exten диалплана.
Так и есть, макросы, и для каждого макроса свои "h" экстеншены. Но они не работают для несовершенного звонка
Ecuador (Aug 25 '11)редактировать |
