Связь двух Asterisk по IAX2
Не верно маршрутизируется исходящий звонок.
Сообщений: 19
|
Связь двух Asterisk по IAX2
День добрый.
Пока проблему опишу на пальцах без конфигов.
Есть 2 Asterisk. Необходимо организовать звонок:
Sip Phone => Asterisk1 => Asterisk2 => Станция Samsung 7200
Станция смотрит на городские номера и т.д.
Asterisk1 - Asterisk2 соеденены по IAX2
Asterisk1 физически не видит станции Samsung (не пингует) т.е Asterisk2 хотелось бы настроить типа как "прокси" для Asterisk1
Asterisk2 и станция в одной подсети и нормально друг с другом общаются.
Вопрос !!
Когда идет звонок по этому пути (Sip Phone => Asterisk1 => Asterisk2 => Станция Samsung 7200), то станция его кидает в определенную группу номеров, на которые приходят вызовы с внешних линий.
Т.е. станция не обрабатывает вызов как локальный, а думает что это звонок из вне.
Как на Asterisk2 прописать номер или группу номеров (заведомо понятных для станции) для Asterisk1 или реалировать "проксирование" вызова с Asterisk1 ?
Может как то хитро нужно использовать callerid IAX2 поключения Asterisk1-Asterisk2 ?
Буду рад любому совету.
Заранее спасибо.
Google пока не помог.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Связь двух Asterisk по IAX2
Тут все зависит от гнусмаса, ведь вы его зарегали на астере как войп провайдере. Это хорошо для исходящих звонков.
Зарегайте астер на нем как его же SIP абонента и звоните внутрь его сети через этот транк
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
Не думаю что зависит от станции...
И не хотелось бы, что б от нее что то зависело.
К Asterisk2 подключено несколько SIP телефонов. И они звонят нормально
Т.е. маршруты отрабатывают правильно и станция верно понимает эти SIP телефоны через Asterisk2. (они в одной сети).
Вот хотелось бы сделать так же, только с Asterisk1.
IAX2 для связки выбрал потому, что Asterisk1 не видит станцию и если делать связку Asterisk1 - Asterisk2 - станция по SIP, то вызов куда нужно доходит а голоса нет. Ибо голос должен передаваться напрямую от SIP обонента Asterisk1 на станцию. А прямой видимости нет.
В теории я думал так, все вызовы приходящие с Asterisk1 на Asterisk2 по IAX2 маркировать понятным для станции номером (каким-то одним или несколькими) и уже по SIP с Asterisk2 передавать звонок по маршруту на станцию.
Если конечно так реально сделать...
|
Сообщений: 6521
|
Re: Связь двух Asterisk по IAX2
Для этой схемы нужна всего одна вешь: входящий контекст транка для Asterisk1 во втором Asterisk2 должен быть тот же, что и для внутренних абонентов Asterisk2.
Говоря языком freePBX - from-internal
Если что-то своё, с ручным приводом конфигов - то смотрите сами.
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
Т.е. хотелось бы так реализовать. что б станция не знала про Asterisk1 и его абонентов.
Т.е. если на Asterisk1 есть номера 10XX то при звонке с них Asterisk2 меняет номер к примеру на какой то один 2222 и шлет по маршруту на станцию, а станция знает что это локальный номер и шлет куда нужно.
Если звонят со станции на 2222-10XX то станция кидает эти вызовы на Asterisk2, а Asterisk2 на Asterisk1.
|
Откуда: Уфа
Сообщений: 5856
|
Re: Связь двух Asterisk по IAX2
ну так сделайте, в чем проблема-то?
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
ded: Для этой схемы нужна всего одна вешь: входящий контекст транка для Asterisk1 во втором Asterisk2 должен быть тот же, что и для внутренних абонентов Asterisk2.
Говоря языком freePBX - from-internal
Если что-то своё, с ручным приводом конфигов - то смотрите сами.
Это уже есть и работает, только станция не занет откуда звонят и кидает звонок на группу для входящих внешних номеров.
Т.е. станция думает что звонят из города или с мобильного, она не понимает номер абонента с Asterisk1.
Вот и вопрос как ее заставить понимать эти номера, пускай даже через подставной номер !!!
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
switch: ну так сделайте, в чем проблема-то?
Подскажите как ))).
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
Думаю что разговор дошел до конфигов.
Сейчас выложу ...
|
Сообщений: 19
|
Re: Связь двух Asterisk по IAX2
Asterisk1:
sip.conf:
[sets](!)
type=friend
host=dynamic
canreinvite=no
nat=yes
disallow=all
allow=gsm
allow=ulaw
allow=alaw
language=ru
context=local-context
[1001](sets)
username=1001
secret=xxxxxx
mailbox=1001
iax.conf:
[general]
bindaddr=0.0.0.0
bindport=4569
delayreject=yes
disallow=all
allow=gsm:80
;allow=ulaw
;allow=alaw
;allow=g726
;allow=g723.1
tos=lowdelay
langusge=ru
mohinterpret=default
mohsugguest=default
autokill=yes
bandwidth=low
; Подключаемся к другой станции
register => user:password@host.external
[external]
type=friend
host=dynamic
trunk=yes
requirecalltoken=no
auth=md5
secret=password
context=local-context
extensions.conf:
[local-context]
exten => _30XX,1,MYSQL(Connect connid localhost login password asterisk)
exten => _30XX,2,Dial(SIP/${EXTEN},20,L(60000:10000))
exten => _7XXXXXX,1,Dial(IAX2/external/9${EXTEN},20,L(180000:10000))
exten => h,1,MYSQL(Disconnect ${connid})
Asterisk2:
iax.conf:
[general]
autokill=yes
bandwidth=low
port=4569
disallow=all
allow=gsm
register => external:password@user.local
[user]
type=friend
host=dynamic
trunk=yes
requirecalltoken=no
auth=md5
secret=password
context=test
extensions.conf:
[test]
exten => _97XXXXXX,1,Dial(SIP/${EXTEN}@192.168.1.2)
Думаю в конфиг Asterisk1 добавить строчку:
exten => _7XXXXXX,1,Set(CallerID(all)=3001)
Т.е. подменить номер звонящего на 3001, поможет ли это или данные настройки по подмене номера нужно делать на Asterisk2?
Номера 3XXX прописаны на станции как локальные.
Ну или я в корне думаю не верно и вы мне что нибудь другое посоветуете.
Еще раз спасибо за помощь.
|
|