Замена команды в диалплане
Сообщений: 17
|
Замена команды в диалплане
Подскажите, возможно ли не использовать команду Dial, а просто
в канале Zip поднять трубку и отправить DTMF и выполнить дальнейшие команды?
|
Сообщений: 6521
|
Re: Замена команды в диалплане
Возможно.
Но вопроса "А как?" не должно быть, иначе вы не умеете спрашивать.
(поделитесь спецификацией канала Zip?)
|
Сообщений: 17
|
Re: Замена команды в диалплане
Простите, за опечатку и поделитесь плз мудростью )
|
Сообщений: 6521
|
Re: Замена команды в диалплане
[incoming]
exten => s,1,Answer
exten => s,n,Wait(2)
exten => s,n,SendDTMF(1234567)
exten => s,n,Background(done-I-have-sent-1234567)
exten => s,n,Hangup
|
Сообщений: 866
|
Re: Замена команды в диалплане
Проблема в том что мало кто может догадаться что же вам на самом деле нужно. Вы опишите что именно вы пытаетесь сделать - будет легче.
exten => 999,1,Answer
exten => 999,n,SendDTMF(12345)
exten => 999,n,Hangup
(Хотя у меня есть смутные ощущения что вы хотите перевод звонка другому абоненту через аналоговую АТС сделать - т.е. flash+цифры. Тогда то что выше работать не будет)
|
Сообщений: 17
|
Re: Замена команды в диалплане
Пытаюсь входящий SIP вызов приземлить через аналоговый девайс. у шлюза # переключение тон-пульс
exten => s,n,Dial(Zap/1/w номер ) работает
exten => s,n,Dial(Zap/1/w#w номер ) удваивает DTMF и слышен набор импульс.
хотя в других контекстах работает правильно.
похоже что импульсный набор Dial воспринимает как ответ
и из за входящего канала появляется эхо.
|
Сообщений: 866
|
Re: Замена команды в диалплане
Как в поле чудес - "угадал все буквы, не смог назвать слово"...
Вроде как все слова в тексте понятны, а в понятную мысль не складываются )
1. "у шлюза # переключение тон-пульс". Видимо "шлюз" здесь это уже аналоговый дивайс на Zap/1 ?
2. Зачем вы в принципе # туда засовываете?
3. "удваивает DTMF" - что это значит? там два "w" так что я могу предположить что пауза удваивается, но DTMF-то как?
4. Ну и самое главное - если "/w номер" - работает, то что вам еще нужно?
Или вся проблема в том что вам нужно чтобы диалплан продолжил исполнение после Dial? Тогда смотрите на опцию M например - напишите макрос который посылает DTMF и устанавливает MACRO_RESULT в "CONGESTION", и укажите этот макрос в опции M. Тогда Dial выполнит ваш макрос после ответа Zap/1 но выйдет из диала со статусом CONGESTION и диалплан продолжится...
|
Сообщений: 17
|
Re: Замена команды в диалплане
Простите, объясню более подробно, просто * настроил пару лет назад и забыл, так что слегка путаюсь в объяснении(
Есть Asterisk с модемом-клоном и к нему подключен аналоговый GSM gate. Выбор направления звонка тел.линия или GSM происходит символом # набор в линию импульсный.
Все отлично работает звонки с зарегистрированых SIP Softphone
проходят, как и входящие звонки с gate на Asterisk с донабором.
Проблема встала при необходимости принять звонок из за NAT
без постоянного IP. В логах все чудесно, но gate начинает во время набора получать DTMF "вернувшийся" через входящий и уже как бы отвеченый звонок.
|
Сообщений: 866
|
Re: Замена команды в диалплане
Стало еще непонятней.
С ваших слов получается что что у вас по разному себя ведут SIP пиры с фиксированным IP и без оного. Так? Эта проблема вообще никакого отношения к вашему гейту, как вы понимаете, не имеет - это проблема диалплана или конфигурации юзеров.
"без постоянного IP. В логах все чудесно, но gate начинает во время набора получать DTMF "вернувшийся" через входящий и уже как бы отвеченый звонок." вот это я вообще вкурить не могу. С какой стороны идет звонок и кто куда "наибрает" ?
Может вы как-то куски диалплана покажете и детально опишите что происходит в одном конкретном случае когда все не работает?
|
Сообщений: 17
|
Re: Замена команды в диалплане
Это проблема шлюза, которую есть желание победить программно. SIP из своей локалки и транзитные через SIP оператора выполняют
exten =>_XXXXXX,1,Dial(Zap/1/ww#ww${EXTEN},,rS(300))
абсолютно правильно судя по логам, но во втором случае шлюз во время набора получает DTMF-эхо которое тоже начинает набирать.
Наверное будет проще после донабора перевести входящий звонок например в конференцию, набрать вызываемый и после ответа отправить его туда же.
|
|