Страница 1 из 1
H323 паузы в наборе
Добавлено: 14 сен 2011, 12:26
NDR
Всем привет!)
Создается колфайл
в нем может быть номер вида XXXXXYYYYYZZZZZ
где XXXXX - номер провайдера
YYYYY - пинкод сотрудника
ZZZZZ - междугородний номер
Задача, - передать * номер XXXXXYYYYYYZZZZZZ с паузами, соответственно передачу паузы я вижу через колфайл.
Канал только h323.
Сейчас выход на межгород идет набором "вручную,- через макрос с паузой:
exten => s,1,Wait(6)
exten => s,n,SendDTMF(${ARG1})
где ARG1 - пинкод
Как можно через него передать я тоже пока не понимаю.
Прошу помощи, можно ссылками)
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 13:24
NDR
как 2ю паузу повесить, я разобрался,- через макрос также.
Теперь вопрос, последний надеюсь, чем завершать ввод пин кода?!
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 13:26
Glukinho
Либо #, либо он сам завершится, основываясь на количестве цифр. Это нужно узнавать у держателей системы, в которую вы звоните.
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 13:36
NDR
Все верно, или # или сам по истечении каких то секунд
но это если набором вручную!
а если я передаю в колфайл переменную
Channel: H323/XXXXXXXYYYYYYYYYZZZZZZZZZZZ@ip
то правильно ли я понимаю что задав ее как XXXXXXXYYYYYYYYY#ZZZZZZZZZZZ я получу искомое?
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 14:53
Glukinho
В общем случае нет. Вам нужно позвонить на XXXXXXX и донабрать DTMF'ом YYYYYYYYY#ZZZZZZZZZZZ.
Я не знаю, куда вы звоните, возможно, на том конце и распознается набор полностью на XXXXXXXYYYYYYYYY#ZZZZZZZZZZZ, но это вряд ли.
Короче говоря, вам нужен параметр D(...) команды Dial.
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 17:12
NDR
функцию D еще не осмыслил.
я сделал так
exten => _9XXXXXXXX.,n,Dial(H323/${TEST1:1:7}@${prov},,M(sendnum^${EXTEN:8:11}^${EXTEN:18}))
[macro-sendnum]
exten => s,1,Wait(6)
exten => s,n,SendDTMF(${ARG1})
exten => s,n,Wait(2) - здесь ставил до 6 сек, не проходит
exten => s,n,SendDTMF(${ARG2})
Формирую файл :
Channel: Local/9XXXXXXXYYYYYYYYYYZZZZZZZZZZ#@pstn/n
MaxRetries: 0
WaitTime: 10
Context: home
Extension:224
Priority: 1
AlwaysDelete: Yes
Где pstn - контекст выхода наружу.
и как только идет выполнение файла в консоли
Код: Выделить всё
Executing [s@macro-sendnum:2] SendDTMF("H323/ip-244", "YYYYYYYYYY") in new stack
[Sep 14 17:03:17] NOTICE[17143]: pbx_spool.c:338 attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
[Sep 14 17:03:17] ERROR[3412]: pbx.c:8674 device_state_cb: Received invalid event that had no device IE
[Sep 14 17:03:17] ERROR[3412]: app_queue.c:810 device_state_cb: Received invalid event that had no device IE
-- Executing [s@macro-sendnum:3] Wait("H323/ip-244", "9") in new stack
-- Executing [s@macro-sendnum:4] SendDTMF("H323/ip-244", "ZZZZZZZZZZ#") in new stack
== Spawn extension (pstn, 9XXXXXXXYYYYYYYYYYZZZZZZZZZZZ#, 3) exited non-zero on 'Local/9XXXXXXXYYYYYYYYYYZZZZZZZZZZZ@pstn-5966;2'
Сейчас попробую убрать паузу в макросе....хз
Re: H323 паузы в наборе
Добавлено: 14 сен 2011, 18:44
Vlad1983
а если так
Формирую файл :
Channel: H323/prov/XXXXXXX
MaxRetries: 0
WaitTime: 10
Context: sendnum
Extension: YYYYYYYYYYZZZZZZZZZZ#
Priority: 1
AlwaysDelete: Yes
[sendnum]
exten => _XXXX.,1,Wait(6)
exten => _XXXX.,n,SendDTMF(${EXTEN:0:10})
exten => _XXXX.,n,Wait(6)
exten => _XXXX.,n,SendDTMF(${EXTEN:10})
exten => _XXXX.,n,Goto(home,224,1)
[home]
exten => 224,1,NoOp(!!!!!)
Re: H323 паузы в наборе
Добавлено: 15 сен 2011, 16:50
NDR
Не, к сожалению такой вариант не пойдодет, тк вн.номер , внешний номер, пинкод и номер межгорода это все переменные, которые приходят из другой программы. Соответственно как вы понимаете колфайл будет всегда разный и менять контекст сенднам не представляется возможным.
На что я обратил внимание.
1) Вызов на городские проходит успешно в любом случае
Содержание колфайла
Код: Выделить всё
Channel: H323/8495XXXXXXX@ip
Callerid:224
Context: home
Extension:224
Priority: 1
AlwaysDelete: Yes
2) Вызов на межгород проходит успешно в любом случае если
С телефона набрать 9XXXXXXXYYYYYYYYYYZZZZZZZZZZZ
Здесь я вижу, как строка вида
Код: Выделить всё
exten => _9XXXXXXX.,n,Dial(H323/${TEST1:1:7}@${prov},,M(sendnum^${EXTEN:8:11}^${EXTEN:19}))
отрабатывает на 100% полученные данные
Из всего этого следует, что я неверно формирую колфайл на межгород!
Готов выслушать мысли по этому поводу. Паралельно пошел отрабатывать правильный колфайл.
Re: H323 паузы в наборе
Добавлено: 15 сен 2011, 17:13
Vlad1983
накой его переписывать?
у тя же здесь всё жестко тоже M(sendnum^${EXTEN:8:11}^${EXTEN:19}))
можно ещё так попробовать
Channel: H323/8495XXXXXXX@ip
Callerid:224
Application: SendDTMF()
Data: YYYYYYYYYY#ZZZZZZZZZZ#
AlwaysDelete: Yes
тока что дальше ХЗ
таким извратом еще не занимался
Re: H323 паузы в наборе
Добавлено: 16 сен 2011, 10:16
NDR
Все получилось вот так..
Код: Выделить всё
Channel: Local/9XXXXXXXYYYYYYYYYYZZZZZZZZZZZ#@home
Callerid:224
Context: home
Extension:224
Priority: 1
AlwaysDelete: Yes
Код: Выделить всё
exten => _9номерпроваX.,n,Dial(H323/${TEST1:1:7}@${prov},,M(sendnum^${EXTEN:8:11}^${EXTEN:19}))
Код: Выделить всё
[macro-sendnum]
exten => s,1,Wait(6)
exten => s,n,SendDTMF(${ARG1})
exten => s,n,Wait(2)
exten => s,n,SendDTMF(${ARG2})
теперь манагеры могут звонить нужным "людям" по нажатию на кнопочку)
спасибо за поддержку