First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

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

1

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

спросил Aug 24 '11

Ecuador Gravatar Ecuador
845 10 10 24

4 Ответа

1

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

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

ответил Aug 24 '11

Evgen Gravatar Evgen flag of Russian Federation
211 6
http://kmintegro.ru/

обновил Aug 24 '11

Comments

Так и есть, макросы, и для каждого макроса свои "h" экстеншены. Но они не работают для несовершенного звонка Ecuador (Aug 25 '11)edit
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 1 '12

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/
0

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

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

ответил Feb 2 '12

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/

Comments

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

g613 (Feb 2 '12)edit

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

Zavr2008 (Feb 2 '12)edit
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 1 '12

tcp Gravatar tcp
1 1

обновил Feb 1 '12

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

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

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: Aug 24 '11

Просмотрен: 2,777 раз

Обновлен: Feb 02 '12

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