Суть проблемы в следующем: Дублируются DTMF команды, т.е. при звонке извне пользователю проигрывается голосовое меню - "Нажмите 1 что-бы соединиться с тем-то, 2 что-бы соединиться с тем-то", затем когда пользователь нажает 1 астериск воспринимает как 11 или 2 воспринимает как 22. (Исползуется Asterisk 1.6.2.19 и девайсы Linksys SPA3102)
Это из-за эха в линии. Попробуй позвони из вне на внутренний телефон и набери какую-нибудь цифру и послушай, что услышишь на внутреннем телефоне.
Вот блин проблема !!!!!!
В диалплане пишещь по 2 строки:
exten => 1,1,Goto(managers,s,1)
exten => 11,1,Goto(managers,s,1)
exten => 2,1,Goto(support,s,1)
exten => 22,1,Goto(support,s,1)
Они не всегда дублируются, бывает что и 111 и 222 идут. Кроме того такие комбинации могут совпадать с внутренними номерами сотрудников, которых можно вызвать из меню. Вбить костыль это конечно решение, но оно будет последнее в списке.
Thomas Morph ( 2012-06-07 13:43:43 +0400 )редактироватьЛажает на FXO или FXS?
Прошу прощения, немного погорячился, указав что у меня полная аналогия. Переформулировал и дополнил свое сообщение.
Thomas Morph ( 2012-06-07 08:53:46 +0400 )редактироватьпроверь в sip.conf
relaxdtmf=yes
dtmfmode = inband
и поставь на шлюзе тоже inband, еще все что там INFO / AVT все на офф.
также поиграйся с DTMF Tx Strict Hold Off Time думаю надо увеличить его.
Встречал такое, если пользователь звонит на астериск через GSM (на gsm модем, например) и если при этом плохое качество приема сигнала Базовой станции
настройте одинкаво dtmfmode на шлюзе и на астериске.
Покажи диалплан.
Пример IVR:
[incoming]
exten => s,1,Answer
exten => s,2,Set(TIMEOUT(response)=5)
exten => s,3,Background(mymenu)
exten => s,4,Background(chooseSomething) exten => t,1,Goto(s,2)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(s,2)
exten => 1,1,DoSomething?
exten => 2,1,DoSomethingElse?
exten => 3,1,Dial(...)
Да, практически аналогия, только
exten => s,4,Background(chooseSomething)
exten => s,5,WaitExten(10)
Thomas Morph (
2012-06-07 09:49:57 +0400
)редактироватьОн необходим для выдерживания некоторой паузы после последнего сообщения, чтобы пользователь мог ввести добавочный номер. Кроме того убранный WaitExten результат не дал (при звонках из локальной сети все работает с ним без проблем).
Thomas Morph ( 2012-06-07 14:10:43 +0400 )редактироватьДля паузы есть команда Wait(), а для установки максимального времени ожидания ввода пользователя
Set(TIMEOUT(response)=5)
bolshoy_plohish ( 2012-06-07 14:23:38 +0400 )редактироватьА телефон пробовал другой взять или позвонить с софтфона?
bolshoy_plohish ( 2012-06-07 14:31:40 +0400 )редактироватьДа. По локальной сети пробовали соффоны и сип-телефоны. Все хорошо. При звонках с них же на внешний номер с IVR дубли. При звонках с городских телефонов вне офиса на внешний номер тоже дубли. С провайдером ведем переписку, возможно где-то у них проблемы.
Thomas Morph ( 2012-06-07 17:11:35 +0400 )редактироватьПопробуй установить максимальный промежуток времени между набираемыми цифрами
Set(TIMEOUT(digit)=timeout)'
bolshoy_plohish ( 2012-06-07 18:21:07 +0400 )редактироватьА вообще-то просто обработай неправильный набор и все.
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(s,2)
http://voip.rus.net/tiki-index.php?page=Asterisk+i+extension
bolshoy_plohish ( 2012-06-07 18:52:15 +0400 )редактироватьSet(TIMEOUT(digit)=timeout) погоды не делает.
http://voip.rus.net/tiki-index.php?page=Asterisk+i+extension достаточно интересно, буду иметь ввиду. Спасибо.
Thomas Morph ( 2012-06-08 08:54:23 +0400 )редактироватьВам удалось решить данную проблему?
У меня похожая проблема. Городской номер куплен у провайдера. Связан с * по SIP. При звонках на этот номер идет переключение в голосовое меню (самое стандартное, без использования AGI). При тестировании по внутренней сети - проблем с DTMF не наблюдалось. Дублирование сигналов идет при звонках на "внешний номер".
На данный момент веду диалог с провайдером, ищем где косяк.
Решается подбором DTMF режима на астериске и на шлюзе.
switch ( 2012-06-06 20:29:40 +0400 )редактироватьРежимы DTMF пробовал всякие, лучше не становится.
Thomas Morph ( 2012-06-07 09:01:02 +0400 )редактироватьпосле Answer поставь Wait
Задан: 2011-10-06 14:23:54 +0400
Просмотрен: 5,497 раз
Обновлен: Jun 07 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.