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

Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 22 май 2015, 23:09
Dobromyr
Задача.

Есть Астер 1.8 (192.168.55.150 - sip.xxx.ua)
Есть шлюз OpenVox (192.168.55.155)

На шлюзе необходимо настроить два SIP-клиента (2003 и 2007). Проблем с регистрацией нету. Но так как эти клиенты приходят з одной IP, есть проблема с идентификацией клиента. Например, звонки с 2003 приходят на Астер, как с 2007.

Подскажите, куда копать, чтобы грамотно разделить два клиента

На Астере:
sip.conf
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
context=trap
port=5060
bindaddr=0.0.0.0
srvlookup=yes
alwaysauthreject=yes
allowguest=no


[2003]
;open-vox-gateway
type=friend
host=dynamic
username=2003
secret=pass1
nat=no
canreinvite=no
context=gsm-incoming
callerid="2003"
allow=alaw
allow=ulaw
insecure=invite

[2007]
;open-vox-gateway
type=friend
host=dynamic
username=2007
secret=pass2
nat=no
canreinvite=no
context=gsm-incoming
callerid="2007"
allow=alaw
allow=ulaw
insecure=invite
На шлюзе:

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

register=>2003:pass1:2003@sip.xxx.ua/2003
register=>2007:pass2:2007@sip.xxx.ua/2007

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 23 май 2015, 07:50
Vlad1983

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 23 май 2015, 12:15
ded
На шлюзе что - тоже Астериск внутри? Синтаксис

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

register=>2003:pass1:2003@sip.xxx.ua/2003
register=>2007:pass2:2007@sip.xxx.ua/2007
астерисковский. И эта запись нужна для входящих абонентов 2003 и 2007 на шлюз.
У вас же обратная проблема: звонки с 2003 приходят на Астер, как с 2007.
Чтобы Астериск их мог разделять - используется аутентификация в пакете INVITE.
Аутентификация делается по username & secret, которые у вас в конфиге прописаны для 2003 и 2007. Но зачем вы укзали при этом insecure=invite? Отменили аутентификацию этой опцией для этого пира. Вот и приходит как бы с другого, 2007, потому что кроме как ИП ассоциировать его не с чем.
Правой рукой пишем, левой - зачёркиваем.

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

[2003]
;open-vox-gateway
type=friend
host=dynamic
username=2003
secret=pass1
nat=no
canreinvite=no
context=gsm-incoming
callerid="2003"
allow=alaw
allow=ulaw
insecure=invite

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 23 май 2015, 21:49
Zavr2008
Содом и Гомора это, а не "Задача."

Вы уж определитесь, для чего служит шлюз, для чего АТС Asterisk и не путайте остальных.

Шлюз нужен для доступа к FXO/FXS/E1/GSM.
На нем ВРЕДНО регистрировать клиентов, штатно именно сам ШЛЮЗ = КЛИЕНТ.
Была такая железяка от линксиса SPA400, старожилы наверное помнят. )

почему вредно? прежде всего по вопросам безопасности, еще и по фэншую построения систем SIP-телефонии.

Переделайте как положено, сделайте транком соедиенение ШЛЮЗ=АТС и наступит радость..


Да Прибудет с Вами Сила Астериска :)))

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 24 май 2015, 18:15
Dobromyr
ded писал(а):На шлюзе что - тоже Астериск внутри? Синтаксис астерисковский.
Да, на шлюзе Астериск внутри. Шлюз регистрирует двух клиентом на Астериске. Звонки приходять на группу сим-карт, роутятся либо на 2007, либо на 2003, который вже передает звонок на Астериск
ded писал(а):Но зачем вы укзали при этом insecure=invite?
Єсли убрать, звонки вообще никуда не идут
Zavr2008 писал(а):На нем ВРЕДНО регистрировать клиентов, штатно именно сам ШЛЮЗ = КЛИЕНТ.
Так и есть.

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 24 май 2015, 19:42
Dobromyr
Все решилось. Нужно было добавить в sip.conf для каждого клиента строчку

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

fromuser=2007
и

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

fromuser=2003
Для одного транка выглядит так:

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

[2007]
;open-vox-gateway-sigma
type=friend
host=dynamic
username=2007
secret=pass1
fromuser=2007
nat=no
canreinvite=no
context=gsm-incoming
callerid="2007"
allow=alaw
allow=ulaw
insecure=invite
Єдинственное, что в логах всеравно путаница. Но зато звонки ходят куда надо.

Всем спасибо за помощь и пинки куда надо!

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 24 май 2015, 20:55
Dobromyr
Для определения с какой группы сим-карт приходит звонок испульзую forwardnumber

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 24 май 2015, 22:40
Dobromyr
Поспешил, не решение, а костыль. Пошел курить матчасть, много курить...
ded писал(а):Чтобы Астериск их мог разделять - используется аутентификация в пакете INVITE.
Аутентификация делается по username & secret, которые у вас в конфиге прописаны для 2003 и 2007. Но зачем вы указали при этом insecure=invite? Отменили аутентификацию этой опцией для этого пира.
Указал за незнанием, но если закоментить insecure=invitе, идет ошибка username mismatch

Re: Разделение двух SIP-клиентов с одного IP (шлюз OpenVox)

Добавлено: 25 май 2015, 13:26
Zavr2008
Если пишет username миссматч = Вы на верном пути)
никто и не написал, что больше username= не используется, есть defaultuser=

Еще наверное глупо спрашивать помощь, не предоставляя INVITE и логи. Продолжаем ванговать..