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

Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW4104

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW4104

Сообщение joelynnturner »

Добрый день.
Прошу сильно не пинать. Городские телефонные линии PSTN подключены к Астериску через шлюз Grandstream GXW4104. Так вот проблема в том, что, когда я звоню на городской номер и Астериск берет трубку, мне нужно набрать внутренний номер через DTMF, они у нас 4х значные, например 1234, но Астериск не ждет даже окончания ввода и принимает за внутренний номер одну цифру, обычно вторую по счету, иногда он принимает две цифры, но редко, даже один раз он принял три цифры и попытался перевести звонок на трехзначный номер. Но обычно он сглатывает вторую цифру в номере и говорит, что такого номера не существует). Пробовал команды таймаутов (закоментированы в конфиге), не помогли.

Параметры (201 - sip аккаунт pstn линии):

sip.conf:
[201]
type=friend
dtmfmode=rfc2833
rfc2833compensate=yes
username=логин
secret=пасс
deny=0.0.0.0/0.0.0.0
permit=172.16.0.0/16
host=dynamic
allow=ulaw
allow=gsm
qualify=yes
context=local
port=5060

extensions.ael:
201 => {
// Set(TIMEOUT(digit)=5); - пробовал, не помогает
// Set(TIMEOUT(response)=10); - пробовал, не помогает
Answer();
Background(gcg/v2/greeting_1);
WaitExten(10);
Dial(SIP/1234,,t);
}


Получаю ошибку:
== Using SIP RTP CoS mark 5
-- Executing [201@local:1] Answer("SIP/201-00000004", "") in new stack
-- Executing [201@local:2] BackGround("SIP/201-00000004", "gcg/v2/greeting_1") in new stack
-- <SIP/201-00000004> Playing 'gcg/v2/greeting_1.ulaw' (language 'ru')
[May 29 20:24:13] WARNING[20441][C-00000010]: pbx.c:6696 __ast_pbx_run: Invalid extension '2', but no rule 'i' or 'e' in context 'local'
joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение joelynnturner »

Добавление - после начала приветствия набираю добавочный 1234 и получаю такую вот ошибку, как будто я ввел добавочный номер из одной цифры.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение ded »

CLI> dialplan show local ?
joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение joelynnturner »

[ Context 'local' created by 'pbx_ael' ]
'201' => 1. Answer() [pbx_ael]
2. Background(gcg/v2/greeting_1) [pbx_ael]
3. Dial(SIP/1234,,t) [pbx_ael]


Если звонить с sip ip телефонии, то там DTMF работает отлично на этот же экстеншен и с этим же диалпланом. Проблема именно с телефонными линями через шлюз.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение ded »

1) У Вас в примере вверху (AEL) есть шаг WaitExten(10);
а в выхлопе dialplan show - нету.

2) В контексте local, где обрабатывается входящий, должны быть и другие внутренние номера, которые можно донабирать, а в выхлопе dialplan show их нету.

Тема донаборов стара, её почти 15 лет. Для понимания её написана соответствующая глава в Учебниках по Астериск и двже внятный и понятный пример в самом дефолтном файле
extensions.conf

Но Вам почему-то нравится AEL, и не нравится читать.
joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение joelynnturner »

1) Я ее временно комментировал, поэтому нету в выхлопе.

2) Просто если звонок идет с SIP транка, тодонабор отлично работает и с АЕЛ, а с PSTN через шлюз он как-то не корректно работает, то одну цифру хавает, то две и таймаута никакого нет на завершение ввода. Это так и должно быть? С АЕЛ не исправить это?
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение ded »

joelynnturner писал(а):1) Я ее временно комментировал, поэтому нету в выхлопе.
Ну а если закомментировано и нет в выхлопе, то и донабор не будет работать. Звучит примерно как "Я сейчас Астериск выключил, поэтому получить выхлоп не могу.

2) У Вас сразу два варианта работают, непонятно который:

Код: Выделить всё

-- Executing [201@local:1] Answer("SIP/201-00000004", "") in new stack
-- Executing [201@local:2] BackGround("SIP/201-00000004", "gcg/v2/greeting_1") in new stack
-- <SIP/201-00000004> Playing 'gcg/v2/greeting_1.ulaw' (language 'ru')
Здесь тоже нет шага WaitExten

У Вас на одной ноге роликовый конёк, а на другой - лыжа.
joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение joelynnturner »

C WaitExten ситуация не меняется, поэтому я ее и закомментил.

Просто тишина, как только я набираю добавочный - он сразу хавает одну цифру, даже не дожидаясь конца набора.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение ded »

Не хотите вернуться к началу? И посмотреть чистый пример с донабором из меню?
Хватает первую цифру, потму что у вас в контексте local скорее всего прописаны варианты 1 и 2, а надо 1ХХ и 2ХХ. И включите дебаг ДТМФ для наглядности себе же.
Хоть бы Вы литературку почитали, что ли.....
joelynnturner
Сообщения: 12
Зарегистрирован: 29 май 2017, 13:06

Re: Таймаут DTMF между Asterisk и FXO шлюзом Grandstream GXW

Сообщение joelynnturner »

Ясно, нам с Вами друг друга, видимо, не понять. Да и Вы не хотите даже прочесть, что я пишу.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH