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

Asterisk не воспринимает DTMF сигналы цифр 1 и 2 от АТС LDK-300 при работающем Playtones

1

Здравствуйте, данная ошибка просто срубила меня наповал! Моя конфигурация: AsteriskNOW 2.0.2, Digium TE210P, DAHDi 2.6.1. Между телефонной станцией LG-LDK300 и Астериск поднят поток Е1. Он работает без ошибок! Вот конфиг.

/etc/asterisk/chan_dahdi_groups.conf
signalling=pri_net
switchtype=national
pridialplan=unknown
prilocaldialplan=unknown
group=2
context=from-lg

channel=32-46,48-62

/etc/dahdi/system.conf 
span=1,1,0,CCS,HDB3
span=2,0,0,CCS,HDB3,CRC4
bchan=1-10,32-46,48-62
dchan=16,47
loadzone=ru
defaultzone=ru

Контекст от станции Lg.

[from-lg]
exten => s,1,Set(collect=A)
exten => s,2,Playtones(425)
exten => s,3,WaitExten(10)

exten => _X,1,StopPlaytones()
exten => _X,2,Set(collect=${collect}${EXTEN})
exten => _X,3,Goto(lg,1)

exten => lg,1,Set(TIMEOUT(response)=3)
exten => lg,2,WaitExten(5)

exten => t,1,Goto(from-internal,${collect:1},1)
exten => t,2,Hangup()

Как видно, Астериск принимает звонок от Lg, проигрывает Playtones(425) и ждет ввода номера с Lg чтобы потом пробросить дальше. Так вот, если работает Playtones(425) и я нажимаю на Lg цифры 1 или 2, Астериск их не видит. Остальные цифры воспринимаются. При отключеном Playtones(425) 1 и 2 воспринимаются нормально. Пробовал экспериментировать с частотой, ставить relaxdtmf = yes/no - безрезультатно. Подскажите, у вас есть иди, в чем может быть проблема. Lg в канал цифры отправляет, проблема именно на стороне Asterisk. Спасибо!

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

спросил 2012-06-01 12:20:04 +0400

solly19854 Gravatar solly19854
21 1 4

обновил 2012-06-01 13:01:57 +0400

zzuz Gravatar zzuz flag of Russian Federation
6744 2 6 69
http://line24.ru/

Comments

А для чего такой изврат потребовался если не секрет? :)

Zavr2008 ( 2012-06-01 13:33:10 +0400 )редактировать

там обычно на LG стоит просто overlapped dial..

Zavr2008 ( 2012-06-01 13:38:25 +0400 )редактировать

Такая конфигурация потребовалась чтобы для пользователей переход на Астериск происходил незаметно, и они как и раньше на Lg набирали 9, слышали гудок, дальше набирали номер. Может это как-то еще можно реализовать, но я к сожалению, не знаю как... Overlapped dial думаю вряд ли как-то влияет, ведь без Playtones все работает... Такое впечатление, что совпадение частот происходит, с другой стороны при Playtones(300) и Playtones(500) все то же самое. Очень странно

solly19854 ( 2012-06-01 17:17:38 +0400 )редактировать

не извращайтесь. для это го есть disa. ну или на крайняк фалик проигрывайте.

meral ( 2012-06-01 20:24:09 +0400 )редактировать

5 Ответов

1

Правильнее LG в этом случае рассматривать как большой FXS шлюз. Тогда ложный сигнал снятия трубки (непрерывный тон) - выдает сама LG, после набора 9. Далее overlapped dial-ом идет донабор номера.

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

ответил 2012-06-04 02:07:11 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2686 11 9 37
http://mh.otx.ru/

Comments

У него контекст неправильный!

Звонки входящие и начинаться должен с Answer()

[from-lg]

exten => s,1, Answer()

exten => s,n,Set(collect=A)

exten => s,n,Playtones(425)

далее… Для установки максимального времени ожидания ввода пользователя нужно

использовать Set(TIMEOUT(response)=10), а не WaitExten(10)

[from-lg]

exten => s,1, Answer()

exten => s,n,Set(collect=A)

exten => s,n,Set(TIMEOUT(response)=10)

exten => s,n,Playtones(425)

И.Т.Д

http://asterisk-support.ru/question/1424/knigi-po-asterisk

bolshoy_plohish ( 2012-06-04 08:59:41 +0400 )редактировать

Я не могу использовать Answer() так как в этом случае Lg не увидит, какой номер был набран после установки соединения. А к Lg прикручена система биллинга. Можно и так и так писать. exten => s,1,DISA(no-password,from-internal) Тот же результат, цифры 1 и 2 не видит. Zavr2008, попробую сделать как вы говорите.

solly19854 ( 2012-06-04 09:50:06 +0400 )редактировать

Я же дал тебе ссылку на книжку!!!

Почитай внимательно про использование переменных!!!!

Да и вообще почитай!

bolshoy_plohish ( 2012-06-04 10:29:08 +0400 )редактировать
1

УРА!!! ЗАРАБОТАЛО!!! Спасибо всем большое за ответы!!! Как обычно дело было в одной строчке. В настройках канала с Lg на Asterisk нужно было включить overlapdial=yes. И ничего больше! В таком случае Asterisk ждет окончания набора номера и выполняет его в контексте, указанном в настройках канала (я поменял на from-internal). При этом с Lg слышен гудок, гудок прерывается при наборе первой цифры, цифры 1 и 2 отлично воспринимаются. И то что я вначале наворотил с контекстом вообще было не нужно! 8-) Вот что осталось в итоге.

/etc/asterisk/chan_dahdi_groups.conf
signalling=pri_net
switchtype=euroisdn
pridialplan=unknown
prilocaldialplan=unknown
overlapdial=yes
group=2
context=from-internal
channel=32-46,48-62

Еще раз всем спасибо!

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

ответил 2012-06-04 22:28:23 +0400

solly19854 Gravatar solly19854
21 1 4

обновил 2012-06-04 22:32:33 +0400

Comments

а кто тебе про оверлап-диал напомнил? =)) Пометь мой ответ как правильный.

Zavr2008 ( 2012-06-08 13:06:15 +0400 )редактировать
0

Наверное, правильнее было бы использовать DISA()

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

ответил 2012-06-01 19:37:29 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1358 21 16 37

Comments

Спасибо! Использование DISA действительно сокращает код до одной строчки, но проблема остается к сожалению...

solly19854 ( 2012-06-04 09:42:22 +0400 )редактировать
0

Попробуйте SendDTMF вместо Playtones

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

ответил 2012-06-01 12:37:21 +0400

switch Gravatar switch
8334 11 7 91
http://lynks.ru/

Comments

Спасибо за ответ! Возможно воспроизвести с помощью это команды проигрывание непрерывного тона? Я попробовал, тон с промежутком проигрывается, даже если написать SendDtmf(111111111,0)

solly19854 ( 2012-06-01 17:21:59 +0400 )редактировать
0

exten => _X.,1,Answer
exten => _X.,n,Set(__CALLERID(all)=${CALLERID(num)})
exten => _X.,n,Set(TIMEOUT(response)=10)
exten => _X.,n,DISA(no-password,mycontext)
 

Как-то так... :-)

ссылка удалить убрать флаг спам (1) редактировать

ответил 2012-06-04 11:33:40 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1358 21 16 37

Ваш ответ

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 ленту новостей

Статистика

Задан: 2012-06-01 12:20:04 +0400

Просмотрен: 1,089 раз

Обновлен: Jun 04 '12

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