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

h exten и несколько context

3

Здравствуйте, прошу подсказки у Гуру. Есть Asterisk 1.8 В Диалплане есть несколько контекстов содержащие h-exten. Не могу понять как работает h-exten, по идее должен он отработать в том контескте из которого запущен, макросы не использую.

extensions.conf

#include extensions_prov1.conf
#include extensions_prov2.conf

[from_server]
include => from_prov1
include => from_prov2

в файле extensions_prov1.conf

 
[from_prov1]

include => to_prov1_vc

[to_prov1_vc]

exten => _9379,1,NoOp(================= Incoming call from PROV ${CALLERID(num)} to IVR ${EXTEN})
exten => _9379,n,Set(CDR(accountcode)=xcall_in) 
exten => _9379,n,Answer()
exten => _9379,n,Wait(1)
exten => _9379,n,AGI(/var/lib/asterisk/agi-bin/VC/ver-1.01/VC_main.php)

exten => h,1,NoOP(DIALEDTIME=${DIALEDTIME} ANSWEREDTIME=${ANSWEREDTIME})
exten => h,n,NoOP(==CALLDATE ${CDR(calldate)} ===UNIQUEID ${UNIQUEID} ===CDR(billsec)=${CDR(billsec)} ====CDR_duration = ${CDR(duration)} ====My_CDR_Duration = ${MY_CDR_DURATION}) 
exten => h,n,System(/var/lib/asterisk/agi-bin/VC/ver-1.01/VC_insert_CDR.pl ${CALLERID(num)},${UNIQUEID},${CDR(duration)},${CDR(billsec)},${DIALEDTIME},${ANSWEREDTIME},${MY_CDR_DURATION})
exten => h,n,Hangup()

в файле extensions_prov2.conf

[from_prov2]

include => to_prov2_voicecard

[to_prov2_voicecard]

exten => 9999,1,NoOp(================= Incoming call from PROV ${CALLERID(num)} to IVR ${EXTEN})
exten => 9999,n,Set(CDR(accountcode)=voicecard) 
exten => 9999,n,Answer()
exten => 9999,n,Wait(1)
exten => 9999,n,AGI(/var/lib/asterisk/agi-bin/voicecard/ver-1.00/VoiceCard_main.php)
exten => 9999,n,Hangup()  


exten => h,1,NoOP(DIALEDTIME=${DIALEDTIME} ANSWEREDTIME=${ANSWEREDTIME})
exten => h,n,Hangup()

 

Когда вызываю экстэн 9379 и послушав, ложу трубку отрабатывается нужный h-exten. Если набираю 9999, то почему то h-exten в своем контексте не отрабатывается, а выполняется h-exten из контекста 9379.

Пробовал менять местами h-extenы, но всеравное происходит отработка одного h-extenа.

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

спросил 2011-06-13 17:20:11 +0400

brost Gravatar brost flag of Russian Federation
100 12 3 12
http://asterisk-system.ru...

2 Ответа

1
В "Asterisk - Будущее телефонии", 2 издание на русском языке:
184 страница - как работают include
ссылка удалить спам редактировать

ответил 2011-06-13 19:16:14 +0400

Aven Gravatar Aven flag of Russian Federation
343 1 13
http://it-need.ru/
1

у вас их два становиться. выполняется первый. чтоб работало так как вы ожидаете надо первую строку менять вот на такую:

exten => 9999,1,Goto(to_prov2_voicecard,${EXTEN},2)
exten => 9999,n,NoOp(================= Incoming call from PROV ${CALLERID(num)} to IVR ${EXTEN})

можно проверить вот так

asterisk -rx "show dialplan 9999@from_server"

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

ответил 2011-06-13 20:05:46 +0400

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

Ваш ответ

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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2011-06-13 17:20:11 +0400

Просмотрен: 3,910 раз

Обновлен: Jun 13 '11

Похожие вопросы:

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