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

Не работает timeout при звонке через шлюз

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
Effaceurs
Сообщения: 4
Зарегистрирован: 04 ноя 2017, 14:03

Не работает timeout при звонке через шлюз

Сообщение Effaceurs »

Добрый день господа!
У меня есть шлюз Grandstream 4104, настроен для работы в 1 стадию.

Кусок его диалплана

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

; 
exten => _XXX,n,Dial(SIP/${EXTEN}@gxw410x,15,tT)
exten => _XXX,n,Hangup()
Всё отрабатывает нормально, кроме таймаута в команде Dial.
Он не учитывается, потому что шлюз сразу отвечает Астериску, если получает ring back от вызываемой трубки.
И получается такая вещь, что телефон если абонента нет на месте, то его телефон звонит бесконечно долго пока я с VOIP телефона не повешу трубку. А мне нужно, что бы если 15 секунд прошло, то звонок сбрасывался.
К сожалению аналоговая АТС не против того что бы вызыв абонента шёл сколько угодно, и как я понял из общения с специалистами, ограничить длительность вызова нельзя.
У кого есть какие идеи?
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Не работает timeout при звонке через шлюз

Сообщение ded »

1) Используйте синтаксис
Dial(SIP/gxw410x/${EXTEN},15,tT)

2) Аналоговый шлюз понимал бы таймаут набора 15 секунд, если бы там не открывался сразу аудио канал Answer, ибо гудки вызова Ring back tones в этом случае не сигнализация, а просто звуки.
Возможно Grandstream понимает разные ring tones, должны быть там региональные настройки типа indications.conf в Астериске, но они больше относятся к определению Busy & disconnect.

Аналоговое зло! http://asterisk.ru/knowledgebase/analogue
Effaceurs
Сообщения: 4
Зарегистрирован: 04 ноя 2017, 14:03

Re: Не работает timeout при звонке через шлюз

Сообщение Effaceurs »

Так, ответ что-то так и не появился, напишу ещё раз.

1. Спасибо, поправил.
2. Да, этот товарищ понимает
Dial Tone, Ringback Tone,Busy Tone,Reorder Tone. Но всё это - очень тонкий лёд, ибо долго плясал с отсутствивем определения Busy tone.

Сам шлюз работает по следующему алгоритму
+ gateway receives the SIP call from the Asterisk side
+ gateways now answers the call from SIP Side automatically by sending 200OK.
+ gateway will dial the external number through analog PSTN line
+ Once the gateway receives ring back tone from provider , it will send it to the Asterisk as RTP packet.
И тут становится очевидно, почему система себя так ведет.

Настройки в шлюзе, что-то вроде отбой при N ringback, к сожалению нет, а хотелось бы.
Вся петрушка в том, что в confbridge при попытке добавления партисипанта из внутренней номерации TDA100 и при отсутствии сотрудника на месте, такой вызыв приводит к тому, что его телефон звенит до победного конца (бесконечно) и сбросить его можно лишь с веб интерфейса шлюза или cli астериска.
Собственно я тут и завис, как победить всё это не понятно. Я думаю, это всё не ново и кто-то с этим, что-то делал.
w307892309
Сообщения: 17
Зарегистрирован: 06 дек 2016, 14:01

Re: Не работает timeout при звонке через шлюз

Сообщение w307892309 »

предположу, что в процессе такого дозвона мы имеем два голосовых потока:
1. от астериска в сторону шлюза
2. от шлюза в сторону астериска

при этом поток от астериска в сторону шлюза должен быть "пустой" - можно покопать в эту сторону, например есть rtptimeout, который обрывает звонок, если там "кончился голос" (но этот скорее всего смотрит оба канала)
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH