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

FreePBX и DISA

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Ответить
ALeX<ey>
Сообщения: 2
Зарегистрирован: 17 окт 2013, 15:37

FreePBX и DISA

Сообщение ALeX<ey> »

Здраствуйте, настраиваю телефонную станцию для малого офиса на raspberry pi (debian) asterisk 1.8.24.0 и freepbx 2.11

Мне необходима внутристанционная связь + выход на линию общего пользования через D-link dgv6004 и выход в сеть GSM (HUAWEI 1550), чтобы долго не рассказывать скажу что исходящая связь работает полностью так как нужно, настроена через extensions.conf, а вот входящую связь никак не могу настроить, признаюсь, не могу настроить потому-что никак не могу понять принцип работы транков и роутов в FreePBX.

Задача такая, чтобы был какой-то экстеншен например 701, который как я понял должен быть в онлайне через транк, и подбирал звонки с линии заданной в Hotline шлюза. При дозвоне на него брал трубку, включалась DISA и мы могли бы позвонить на внутристанционный номер, или GSM номер через DTMF.

Также с GSM: звоним на HUAWEI, он берет трубку, пошел гудок DISA - набираем номер - вызов пошел в соответствии с контекстом.

Входящие HUAWEI пытался сделать дису через экстеншен, трубку берет, гудок есть, даже DTMF в логе астериска есть, но никуда не приходит.

Контекст собирал по кускам, поэтому много мусора, так что не пинайте, пожалуйста, я только начал изучать эту тему

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

[datacard-incoming]
exten => s,1,Answer()
exten => s,n,DISA(no-password,destnumber)
exten => _X.,1,Dial(SIP/${EXTEN:1})

exten => _X.,1,Dial(SIP/601/${EXTEN},,)
exten => s,1,Goto(from-trunk,${DID},1)

; —-for incoming call——-

exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

exten => s,1,Dial(SIP/1011,,)
exten => s,n,Hangup()

; —-for outgoing call——-
exten => _093X.,1,Dial(Dongle/dongle0/${EXTEN})
exten => _063X.,1,Dial(Dongle/dongle0/${EXTEN})
exten => _067X.,1,Dial(Dongle/dongle0/${EXTEN})
exten => _068X.,1,Dial(Dongle/dongle0/${EXTEN})
exten => _097X.,1,Dial(Dongle/dongle0/${EXTEN})
exten => _098X.,1,Dial(Dongle/dongle0/${EXTEN})

include => from-internal-noxfer
include => from-internal-xfer
include => bad-number ; auto-generated

[destnumber]
exten => _0[123456789]XXXXXXXX,1,Dial(SIP/801/00**${EXTEN:1})
Пишите чего не хватает, добавлю для большей информативности...
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: FreePBX и DISA

Сообщение virus_net »

ALeX<ey> писал(а):Входящие HUAWEI пытался сделать дису через экстеншен, трубку берет, гудок есть, даже DTMF в логе астериска есть, но никуда не приходит.
Честно прочитал несколько раз, слова по отдельности понимаю, а вот вместе ну никак. Видимо по этой причине в топике пока не т ни одного ответа.

Я вряд ли что тут подскажу, но:
ALeX<ey> писал(а):Пишите чего не хватает
Как минимум verbose обработки диалплана при входящем вызове и схемы кто к кому/как/чем подключен.
ALeX<ey> писал(а):признаюсь, не могу настроить потому-что никак не могу понять принцип работы транков и роутов в FreePBX.
А принцип работы Asterisk понятен ? Читал «Астериск - будущее телефонии» ?
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
ALeX<ey>
Сообщения: 2
Зарегистрирован: 17 окт 2013, 15:37

Re: FreePBX и DISA

Сообщение ALeX<ey> »

Разобрался с дизой, нужно было пронумеровать последовательность действий, теперь работает.

Схема работы: поступает входящий звонок с GSM телефона на HUAWEI,поднимает трубку DISA и ждет DTMF сигналов.

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

[datacard-incoming]
exten => s,1,Answer()
exten => s,2,DISA(no-password)
exten => _X.,3,Dial(SIP/${EXTEN:1})
Но есть одна интересная штука, донабор в DISA почему-то работает через еденицу, тоесть если нужно набрать номер 610, звонок пойдет только если набирать 1610. Самое интересное что 2610 не работает. Мне удалось разобратся что эта первая цифра берется из ID дизы в MYSQL базе freepbx. Вопрос: можно настроить набор номера DISA без дополнительных цифр?
ALeX<ey> писал(а):А принцип работы Asterisk понятен ? Читал «Астериск - будущее телефонии» ?
Книгу начал читать, сейчас немного подзабыл про нее.

Как я понял у меня эти роуты просто не работают, Пытаюсь настроить D-link+asterisk на входящие по этой инструкции (в ней именно через транки и роуты) все делаю правильно, каждый пункт осознаю, но при входящем звонке на FXO линию шлюз звонит на номер заданный в HotLine (0701), лог астериска пишет subscribe absent, что и естественно, хотя транк в онлайне, вообщем до роутов дело так и не доходит, каша какая-то...

Также пробовал писать IMEI модема в DID входящего роута, с последующим направлением = DISA. для принятия входящих через FreePBX. Результат - пока не пропишешь extensions нифига не работает, а с FreePBX можно удалить астериск видит только то что прописано в extensions. Из-за этого сложилось впечатление что FreePBX вообще не работает.

А verbose сделаю чуть пожже.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: FreePBX и DISA

Сообщение ded »

ALeX<ey> писал(а):Разобрался с дизой, нужно было пронумеровать последовательность действий, теперь работает.
ALeX<ey> писал(а):Но есть одна интересная штука, донабор в DISA почему-то работает через еденицу, тоесть если нужно набрать номер 610, звонок пойдет только если набирать 1610. Самое интересное что 2610 не работает. Мне удалось разобратся что эта первая цифра берется из ID дизы в MYSQL базе freepbx. Вопрос: можно настроить набор номера DISA без дополнительных цифр?
Знаете что значит синтаксически Ваша строка? МЫсли не наволит? Книжку не почитать ли? Знаете, что значит цифра 3 там?

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

exten => _X.,3,Dial(SIP/${EXTEN:1})
В этом контексте и в этой цепочке нет действия №1

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

exten => _X.,1,NoOp(And, what yoou want to do now?)
P.S. Действия
exten => s,1
exten => s,2
- это другая цепочка.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH