Страница 1 из 2

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

Добавлено: 29 май 2017, 13:27
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'

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

Добавлено: 29 май 2017, 14:03
joelynnturner
Добавление - после начала приветствия набираю добавочный 1234 и получаю такую вот ошибку, как будто я ввел добавочный номер из одной цифры.

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

Добавлено: 29 май 2017, 14:05
ded
CLI> dialplan show local ?

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

Добавлено: 29 май 2017, 14:33
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 работает отлично на этот же экстеншен и с этим же диалпланом. Проблема именно с телефонными линями через шлюз.

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

Добавлено: 29 май 2017, 14:50
ded
1) У Вас в примере вверху (AEL) есть шаг WaitExten(10);
а в выхлопе dialplan show - нету.

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

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

Но Вам почему-то нравится AEL, и не нравится читать.

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

Добавлено: 29 май 2017, 14:59
joelynnturner
1) Я ее временно комментировал, поэтому нету в выхлопе.

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

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

Добавлено: 29 май 2017, 15:42
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

У Вас на одной ноге роликовый конёк, а на другой - лыжа.

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

Добавлено: 29 май 2017, 16:38
joelynnturner
C WaitExten ситуация не меняется, поэтому я ее и закомментил.

Просто тишина, как только я набираю добавочный - он сразу хавает одну цифру, даже не дожидаясь конца набора.

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

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

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

Добавлено: 29 май 2017, 17:22
joelynnturner
Ясно, нам с Вами друг друга, видимо, не понять. Да и Вы не хотите даже прочесть, что я пишу.