overlapdial: как увеличить время ожидания последней цифры?
Мне кажется, что параметр актуален для любых ZAP каналов.
Сообщений: 445
|
overlapdial: как увеличить время ожидания последней цифры?
Добрый день!
Схема такая: АТС Лыжи включена в Аст по PRI, выходит в город через Аст. Набирает в поток оверлапом.
Аст ждет последнюю цифру примерно 3 секунды, и после этого начинает соединение. Юзеры жалуются. Из опыта знаю, что 5-7 секунд вполне хватает, но 3 маловато.
Почитал сэмплы и описания конфигов - не увидел нужного параметра.
Подскажите пожалуйста.
Вопрос второй:
У меня в диалплане экстеншны написаны масками для номеров определенной длины( то есть везде определена длина набираемого номера).
Могу ли я в моем случае научить аст не формировать вызов по таймауту, а смотреть свой диалплан, и при совпадении маски номера при наборе, осуществлять вызов. Ну тобишь, допустим, есть у меня городская нумерация на 2 семь цифр. чоп если первая цифра 2, после набора семи цифр аст не ждал таймаут, а сразу совершал вызов.
Заранее спасибо!
|
Откуда: Москва
Сообщений: 398
|
Re: overlapdial: как увеличить время ожидания последней цифры?
можно сделать иначе. Убрать оверлап, а в контексте, в который приходит вызов из потока сделать:
[test]
exten => s,1,Answer()
exten => s,n,DISA(no-password|test)
exten => _X.,1,.....
|
Откуда: Уфа
Сообщений: 5856
|
Re: overlapdial: как увеличить время ожидания последней цифры?
а почему бы абонентам просто не набирать на лыже номер целиком, без ожидания гудка после девятки? я когда с лыжей связывал, таких проблем вообще не заметил...
|
Откуда: Москва
Сообщений: 3421
|
Re: overlapdial: как увеличить время ожидания последней цифры?
Нашел точно такой же вопрос, и он остался без ответа - http://lists.digium.com/pipermail/asterisk-users/2005-May/100654.html.
Погляди как делают тут - http://www.voip-info.org/wiki/index.php?page=Asterisk-Panasonic
Они включают immediate=yes и overlapdial=yes, и выставляют таймауты через DigitTimeout & ResponseTimeout. Сейчас еадо использовать функцию TIMEOUT для этого:
CLI:
snowflake*CLI> show function TIMEOUT
snowflake*CLI>
-= Info about function 'TIMEOUT' =-
[Syntax]
TIMEOUT(timeouttype)
[Synopsis]
Gets or sets timeouts on the channel.
[Description]
Gets or sets various channel timeouts. The timeouts that can be
manipulated are:
absolute: The absolute maximum amount of time permitted for a call. A
setting of 0 disables the timeout.
digit: The maximum amount of time permitted between digits when the
user is typing in an extension. When this timeout expires,
after the user has started to type in an extension, the
extension will be considered complete, and will be
interpreted. Note that if an extension typed in is valid,
it will not have to timeout to be tested, so typically at
the expiry of this timeout, the extension will be considered
invalid (and thus control would be passed to the 'i'
extension, or if it doesn't exist the call would be
terminated). The default timeout is 5 seconds.
response: The maximum amount of time permitted after falling through a
series of priorities for a channel in which the user may
begin typing an extension. If the user does not type an
extension in this amount of time, control will pass to the
't' extension if it exists, and if not the call would be
terminated. The default timeout is 10 seconds.
|
Сообщений: 59
|
Re: overlapdial: как увеличить время ожидания последней цифры?
у меня 2 ldk по pri соеденены, просто прописал в диалпалне чётко 1XX,5XX,2XXXXXX и ни каких ожиданий
|
Сообщений: 445
|
Re: overlapdial: как увеличить время ожидания последней цифры?
buklov: у меня 2 ldk по pri соеденены, просто прописал в диалпалне чётко 1XX,5XX,2XXXXXX и ни каких ожиданий
Лыжники (представители в нашем городе) говорят, что это невозможно на трехсотой.
Йап тоже проблем не знал.
|
Сообщений: 445
|
Re: overlapdial: как увеличить время ожидания последней цифры?
У меня на другом объекте стоит Asterisk + Controlex . Там ситуация аналогична, но, естественно, с FXS портами. На вопрос Контролексы ответили вот что:
"Претензии к Дигиуму - 3 секунды прописаны в исходниках chan_zap.c :))) Если есть желание, то править исходники Астериска и перекомпилять
Править тут -
/*! \brief How long to wait for an extra digit, if there is an ambiguous match */ static int matchdigittimeout = 3000;"
Контроллексам респект за саппорт!
Вопросик: а реально интересно сделать заплатку, чтобы можно было, например, выставить нужную величину задержки и накатить заплатку? (Просто, не приходилось раньше иметь с патчами в линуксе вообще).
Кому интересно решить у себя такую проблему, и интересно будет сделать заплатку, выложите пожалуйста с описанием как ее ставить, Буду признателен!
|
Откуда: Москва
Сообщений: 3421
|
Re: overlapdial: как увеличить время ожидания последней цифры?
Игорь, тебе вопрос!
|
Откуда: Омск
Сообщений: 478
|
Re: overlapdial: как увеличить время ожидания последней цифры?
Можно эти константы вынести в основную секцию конфига или сделать настройку для конкретного порта (это уже лишнее наверно). Это довольно просто, после работы постараюсь сделать патч.
Ну тобишь, допустим, есть у меня городская нумерация на 2 семь цифр. чоп если первая цифра 2, после набора семи цифр аст не ждал таймаут, а сразу совершал вызов. А работа таким образом должна работать, у меня нет возможности проверить, но судя по коду - так оно и устроено.
OpenSUSE 11.2 / Asterisk 1.6.x / Vicidial / UniMRCP
|
Сообщений: 445
|
Re: overlapdial: как увеличить время ожидания последней цифры?
IgorG: Можно эти константы вынести в основную секцию конфига или сделать настройку для конкретного порта (это уже лишнее наверно). Это довольно просто, после работы постараюсь сделать патч.
Ну тобишь, допустим, есть у меня городская нумерация на 2 семь цифр. чоп если первая цифра 2, после набора семи цифр аст не ждал таймаут, а сразу совершал вызов. А работа таким образом должна работать, у меня нет возможности проверить, но судя по коду - так оно и устроено.
Не, в данном случае лучше сделать патч для увеличения времени ожидания с 3 секунд до нужного значения. В принципе, 5 секунд оптимально. А смотреть диалплан - это наверное сложновато и чревато непредвиденными багами.
|
|