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

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

1

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

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

спросил 2011-08-24 16:31:14 +0400

Ecuador Gravatar Ecuador
845 10 10 24

4 Ответа

1

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

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

ответил 2011-08-24 18:03:34 +0400

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

обновил 2011-08-24 18:08:27 +0400

Comments

Так и есть, макросы, и для каждого макроса свои "h" экстеншены. Но они не работают для несовершенного звонка Ecuador ( 2011-08-25 06:37:39 +0400 )редактировать
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})
ссылка удалить спам редактировать

ответил 2012-02-01 19:36:40 +0400

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

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

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

ответил 2012-02-02 14:07:12 +0400

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

Comments

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

g613 ( 2012-02-02 15:47:53 +0400 )редактировать

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

Zavr2008 ( 2012-02-02 20:13:41 +0400 )редактировать
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)

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

ответил 2012-02-01 18:50:26 +0400

tcp Gravatar tcp
1 1

обновил 2012-02-01 18:53:28 +0400

Ваш ответ

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 ленту новостей

Статистика

Задан: 2011-08-24 16:31:14 +0400

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

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

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