Выполнить действия после Dial

мне понравился этот пост (щелкните снова, чтобы отменить)
1
мне не понравился этот пост (нажмите еще раз для отмены)

Не получается выполнить действия после совершения вызова, если никто не ответил и вызывающий абонент сам положил трубку. exten => h обрабатывается только при условии, что вызывающая сторона ответила на вызов. По идее, время на выполнение вызова не установлено, и если положить трубу должно приходить в DIALSTATUS = CANCEL, но ничего вообще не приходит. Куда копать, подскажите?

редактировать | изменить тег | изменить тег | закрыть | спам | удалить

спросил Aug 24 '11

Ecuador Gravatar

Ecuador


835 3 6 19

добавить комментарий
мне нравится этот ответ (нажмите еще раз для отмены)
0
мне не нравится этот ответ (нажмите еще раз для отмены)

Советую астер 1.8 для подобной темы. в 1.6 к сожалению не всё реализовано для обработки h.

постоянная ссылка | редактировать | спам

ответил Feb 02

Zavr2008 Gravatar

Zavr2008

1270 1 6 27
http://www.alvispbx.com/

и что там не реализовано ?

g613 (Feb 02)редактировать

давай я поразузнаю и завтра отпишу. Просто буквально сегодня из-за этого h пришлось 1.8 ставить и разруливать изменения в конфиге chan_dahdi.conf :) Голова кругом

Zavr2008 (Feb 02)редактировать
добавить комментарий
мне нравится этот ответ (нажмите еще раз для отмены)
0
мне не нравится этот ответ (нажмите еще раз для отмены)
[macro-1]
exten => s,1,Set(param=${ARG1})# save param
exten => s,2,Goto(macro-1,s,3)# need for h exten

exten => s,3,Dial(SIP/something/12345,,og)

exten => h,1,Noop(${DIALSTATUS})
постоянная ссылка | редактировать | спам

ответил Feb 01

meral Gravatar

meral

6286 1 11 98
http://pro-sip.net/
добавить комментарий
мне нравится этот ответ (нажмите еще раз для отмены)
0
мне не нравится этот ответ (нажмите еще раз для отмены)

не используй макросы, а используй 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)

постоянная ссылка | редактировать | спам

ответил Feb 01

tcp Gravatar

tcp


1 1

обновил Feb 01

добавить комментарий
мне нравится этот ответ (нажмите еще раз для отмены)
1
мне не нравится этот ответ (нажмите еще раз для отмены)

Сделайте exten => h,1,NoOp(${DIALSTATUS}) и смотрите, что там получается. У меня всё работает. Но ежели Вы пользуетесь макросами, то, начиная, по-моему, с версии 1.6, каждый макрос имеет свой собственный h extension. Соответственно, вызов сначала проходит через h exten макроса, а потом ещё через h exten диалплана.

постоянная ссылка | редактировать | спам

ответил Aug 24 '11

Evgen Gravatar

Evgen flag of Russian Federation

201 6
http://kmintegro.ru/

обновил Aug 24 '11

Так и есть, макросы, и для каждого макроса свои "h" экстеншены. Но они не работают для несовершенного звонка Ecuador (Aug 25 '11)редактировать
добавить комментарий

Ваш ответ

Вы можете ответить анонимно, а затем войти

[скрыть предварительный просмотр]

Закладки и информация

2 закладки

subsribe to rss feed

Question tags:

Статистика

вопрос был задан: Aug 24 '11

вопрос был просмотрен: 212 раз

последнее обновление: Feb 02

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.