VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

H323 паузы в наборе

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

H323 паузы в наборе

Сообщение NDR »

Всем привет!)

Создается колфайл
в нем может быть номер вида XXXXXYYYYYZZZZZ
где XXXXX - номер провайдера
YYYYY - пинкод сотрудника
ZZZZZ - междугородний номер

Задача, - передать * номер XXXXXYYYYYYZZZZZZ с паузами, соответственно передачу паузы я вижу через колфайл.
Канал только h323.

Сейчас выход на межгород идет набором "вручную,- через макрос с паузой:
exten => s,1,Wait(6)
exten => s,n,SendDTMF(${ARG1})
где ARG1 - пинкод
Как можно через него передать я тоже пока не понимаю.
Прошу помощи, можно ссылками)
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

Re: H323 паузы в наборе

Сообщение NDR »

как 2ю паузу повесить, я разобрался,- через макрос также.
Теперь вопрос, последний надеюсь, чем завершать ввод пин кода?!
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: H323 паузы в наборе

Сообщение Glukinho »

Либо #, либо он сам завершится, основываясь на количестве цифр. Это нужно узнавать у держателей системы, в которую вы звоните.
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

Re: H323 паузы в наборе

Сообщение NDR »

Все верно, или # или сам по истечении каких то секунд
но это если набором вручную!
а если я передаю в колфайл переменную
Channel: H323/XXXXXXXYYYYYYYYYZZZZZZZZZZZ@ip
то правильно ли я понимаю что задав ее как XXXXXXXYYYYYYYYY#ZZZZZZZZZZZ я получу искомое?
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: H323 паузы в наборе

Сообщение Glukinho »

В общем случае нет. Вам нужно позвонить на XXXXXXX и донабрать DTMF'ом YYYYYYYYY#ZZZZZZZZZZZ.
Я не знаю, куда вы звоните, возможно, на том конце и распознается набор полностью на XXXXXXXYYYYYYYYY#ZZZZZZZZZZZ, но это вряд ли.
Короче говоря, вам нужен параметр D(...) команды Dial.
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

Re: H323 паузы в наборе

Сообщение 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'
Сейчас попробую убрать паузу в макросе....хз
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: H323 паузы в наборе

Сообщение 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(!!!!!)
ЛС: @rostel
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

Re: H323 паузы в наборе

Сообщение 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% полученные данные

Из всего этого следует, что я неверно формирую колфайл на межгород!
Готов выслушать мысли по этому поводу. Паралельно пошел отрабатывать правильный колфайл.
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: H323 паузы в наборе

Сообщение Vlad1983 »

накой его переписывать?
у тя же здесь всё жестко тоже M(sendnum^${EXTEN:8:11}^${EXTEN:19}))

можно ещё так попробовать
Channel: H323/8495XXXXXXX@ip
Callerid:224
Application: SendDTMF()
Data: YYYYYYYYYY#ZZZZZZZZZZ#
AlwaysDelete: Yes

тока что дальше ХЗ
таким извратом еще не занимался
ЛС: @rostel
NDR
Сообщения: 12
Зарегистрирован: 14 сен 2011, 12:15

Re: H323 паузы в наборе

Сообщение 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})
теперь манагеры могут звонить нужным "людям" по нажатию на кнопочку)
спасибо за поддержку
Linux ATC 2.6.26-2-686
Asterisk 1.6.1.6
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH