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

Набор номера FXS портах платы

Добавлено: 19 июн 2011, 22:43
Aven
Всем привет!

Взял погонять OpenVox платку.
Раньше с FXS на платах не работал, вот пришлось
Имеем Asterisk 1.8.4.2 & Dahdi 2.4.1

При наборе номера с телефона подключенного в порт FXS платы, идет поиск экстеншена после нажатия каждой цифры.
Т.е. если позвонить 1001234, то звонок будет не через провайдера, а на внутренний телефон, причем сразу после набора 3й цифры.
Как можно сделать ожидание ввода всего номера и только потом целиком искать совпадение в диалплане?

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

exten => 100,1,Dial(SIP/100) 

exten => _XXXXXXX,1,Dial(SIP/prov/${EXTEN}) 
PS
matchdigittimeout в chan_dahdi.c я менял, никакой реакции на изменения.

Re: Набор номера FXS портах платы

Добавлено: 19 июн 2011, 22:58
ded
1) featuredigittimeout
2) exten => 100,1,Dial(SIP/100,,tTr)
exten => _XXXXXXX,1,Dial(SIP/prov/${EXTEN} ,,tTr)
3)
exten => _XXXXXXX,n,(TIMEOUT(digit)=5)
exten => _XXXXXXX,n,(TIMEOUT(response)=20)

Re: Набор номера FXS портах платы

Добавлено: 19 июн 2011, 23:18
Aven
ded, я вас не понимаю, к чему все это?

1) Это используется для активации features, максимальная пауза между цифрами, ко мне оно какое отношение имеет?
2) Причем тут параметры указывающие возможность использования трансфера и генерация КПВ?
3) Причем тут таймауты DTMF используемые в апликухах?

у меня FXS куда воткнут аналоговый телефон
я пытаюсь с него в город звонить
но не могу набрать городской номер, если его первые цифры совпадают с внутренними короткими номерами
[Jun 19 22:36:15] -- Starting simple switch on 'DAHDI/2-1'
[Jun 19 22:36:19] -- Executing [710@office:1] Goto("DAHDI/2-1", "unetica_menu-main,s,1") in new stack
набирал 710380
а сматчилось на 710

Проблема именно в начале поиска экстеншена в диалплане до завершения набора номера!

Re: Набор номера FXS портах платы

Добавлено: 19 июн 2011, 23:38
ded
1) увеличить
2) ,, tTr -добавить
3) поставить в тот диалплан, в который попадают каналы DAHDI/1 DAHDI/2 и др.

Покажите контекст, в котороый они попадают.
Если бы не FXS, то я бы уверенно посоветовал
overlapdial: Может ли сервер Asterisk вызывать этот коммутатор, используя overlap digits. Если вам необходима функция Direct Dial-in, то вы должны изменить значение параметра в «yes», тогда сервер Asterisk перейдет в состояние ожидания после приема им последней цифры. По умолчанию: no.

Re: Набор номера FXS портах платы

Добавлено: 20 июн 2011, 15:00
Aven
Нашел ошибку, экстеншн в диалплане был без приоритета 1.

Но вот с каналом так и не разобрался, эти переменные в chan_dahdi.c почему-то не работают :(

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

/*! \brief Wait up to 16 seconds for first digit (FXO logic) */
static int firstdigittimeout = 16000;

/*! \brief How long to wait for following digits (FXO logic) */
static int gendigittimeout = 8000;

/*! \brief How long to wait for an extra digit, if there is an ambiguous match */
static int matchdigittimeout = 3000;
Менял в широких пределах, но реакции никакой, срабатывают значения которые указаны по дефолту.

Re: Набор номера FXS портах платы

Добавлено: 20 июн 2011, 16:10
ded
Выгрузить канал chan_dahdi и снова загрузить.
А почему (FXO logic) если речь про FXS порты платы?

Re: Набор номера FXS портах платы

Добавлено: 20 июн 2011, 16:12
Aven
Все дело в том, что этот функционал разнесли по сигнализациям аналоговые порты сейчас обрабатываются в channels/sig_analog.c.
В конфиг такое вынести конешно не помешало бы.