Elastix 2.0, плата Yeastar TDM-1600, 8 двойных FXS модулей. При наборе внутреннего номера (например 1005) по окончании набора ждем несколько секунд, и только тогда начинаются гудки. В Elastix without tears сказано:
Please be aware of the Asterisk inter-digit timeout handling algorithm for the Zaptel devices:
Asterisk waits 16 seconds for the first digit.
If there is no ambiguous match, Asterisk waits 8 seconds for the next digit.
If there is an ambiguous match, Asterisk waits 3 seconds for the next digit.
Those time-outs are hard-coded and cannot be changed in the Asterisk configuration files.
Т.е. изменить это нельзя. Но вот здесь советуют выствавить immediate=yes в chan_dahdi.conf. Я это сделал, но эффекта это никакого не дало, видимо потому что в параметрах самих экстеншенов указано immediate=no. Если выставить в yes, то при поднятии трубки сразу слышу короткие гудки, а в консоли появляется вот это:
-- Executing [s@from-internal:1] Macro("DAHDI/4-1", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/4-1", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("DAHDI/4-1", "TOUCHMONITOROUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/4-1", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/4-1", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/4-1", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("DAHDI/4-1", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/4-1' in macro 'hangupcall'
== Spawn extension (from-internal, s, 1) exited non-zero on 'DAHDI/4-1'
-- Executing [h@from-internal:1] Macro("DAHDI/4-1", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/4-1", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("DAHDI/4-1", "TOUCHMONITOROUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/4-1", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/4-1", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/4-1", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("DAHDI/4-1", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'DAHDI/4-1' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'DAHDI/4-1'
-- Hungup 'DAHDI/4-1'
Последняя строчка появляется до того, как я положу трубку.
Можно ли что-то сделать с этой задержкой? Может сделать какой-нибудь внутренний транк с маской внутренних номеров или что-то подобное?
да,можно. надо убрать вот этьо из диалплана
If there is no ambiguous match, Asterisk waits 8 seconds for the next digit.
тоесть правильно организовать диалплан и перекомпилировтаь астериск чтоб сделать вместо 3-х секунд одну.
другой вариант нажать #после набора.
третий вариант, отправлять все вонки на самописный application. и дальше там чтото решать.
Задан: 2011-07-18 12:44:24 +0400
Просмотрен: 2,076 раз
Обновлен: Jul 19 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.