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

sip и два интерфейса

Проблемы Asterisk без вэб-оболочек и их решения

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

Ответить
morg
Сообщения: 10
Зарегистрирован: 23 ноя 2010, 22:09

sip и два интерфейса

Сообщение morg »

После перехода на сип возникла проблема с регистрацией сип юзеров снаружи.
конфиг таков - сервер астериска имеет два интерфейса
config_eth1=( "192.168.128.22/24" )
routes_eth1=( "default via 192.168.128.1" )

config_eth0=( "62.213.89.31 netmask 255.255.255.0" ) # "62.213.89.31 netmask 255.255.255.0" )
routes_eth0=( "default via 62.213.89.1"
"217.23.151.0/24 via 62.213.89.1"
"62.213.89.0/24 via 62.213.89.1" )


metric_eth0="3"
metric_eth1="1"

eth0 - интерфейс провайдера сипа - на нем нет инета
Eth1 - интерфейс в локалку находится за шлюзом.
До сиго момента получали все что есть по H323 -но по некоторым причнам решили перейти на сип, и вес до сиго момента было тип-топ.
Всвязи с эти пришлось в настройках sip.conf добавить еще один
externip=62.213.89.31
итого выглядит sip.conf Так -
[general]
context=voip
callerid=Unknown
notifyringing=yes
notifyhold=yes
limitonpeers=yes
tos_sip=cs3
tos_audio=ef
tos_video=af41
alwaysauthreject=yes
disallow=all
allow=ulaw
allow=alaw
allow=slin
allow=g726
allow=gsm
allow=g729
allow=ilbc
allow=g723
allow=g726aal2
allow=adpcm
allow=lpc10
allow=speex
allow=g722
language=ru
bindport=5060
bindaddr=0.0.0.0
;bindaddr=192.168.128.22
;bindaddr=62.213.89.31
jbenable=no
minexpiry=60
maxexpiry=3600
defaultexpiry=120
registerattempts=0
registertimeout=20
notifyringing=yes
checkmwi=10
rtpkeepalive=0
srvlookup=no
allowguest=no
notifyhold=yes
g726nonstandard=no
t38pt_udptl=no
videosupport=no
nocanreinvite=no
rtptimeout=30
rtpholdtimeout=300
maxcallbitrate=384
nat=yes
;canreinvite=nat
;externip=217.23.151.115
externip=89.189.--адрес на внешней сетевухе шлюза который смотрит в инет
externip=62.213.89.31
localnet=192.168.128.0/255.255.255.0
localnet=192.168.129.0/255.255.255.0
localnet=192.168.131.0/255.255.255.0
;localnet=62.213.89.0/255.255.255.0

То что закоментено это попытки игр с бубном - не вышло звука нет при звоке наружу и снаружи если убрать
externip=62.213.89.31

Все работает - кроме звука и регистрации, если клиент из инета регится (кто-то вообще не регистрируется - у меня из дома клиент регится звонит но при сняти мобильника или вунтреннего тишина).
Как побороть этого змея? Мутить впн отовсюда от куда удаленные сотрудники регятся тож не тема...

Вот еще и открвок из users.conf - регистрация стоит No так там циска не регит - чтоб консоль не засорялась таймаутами регистраии.
[городской номер]
secret=
username=городской номер
trunkname=
callerid=городской номер
hasexten=no
hassip=yes
hasiax=no
registeriax=no
registersip=no
host=217.23.151.115
context=incoming
insecure=invite
fromuser=
fromdomain=217.23.151.115
type=friend
contact=
disallow=all
allow=alaw
allow=ulaw
allow=g729
nat=yes
canreinvit=nat
dtmfmode=rfc2833
;externip=62.213.89.31 - тож бала попытка, но не сработало, да и не должно было сработать, но отчаянье взяло свое и попробовал:)
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: sip и два интерфейса

Сообщение ded »

1) если
eth0 - интерфейс провайдера сипа - на нем нет инета
то как собираетесь регистрировать сип юзеров снаружи?
2) не мешайте всё в кучу: и user.conf, и sip.conf. Придерживайтесь одной схемы, и лучше - в sip.conf
3) ;externip=62.213.89.31 если и пишеться, то никак не на юзерах и пирах, а только в секции global в sip.conf
morg
Сообщения: 10
Зарегистрирован: 23 ноя 2010, 22:09

Re: sip и два интерфейса

Сообщение morg »

sip-ы снаружи регистрировались всегда на 192.168.128.22 у котого есть шлюз в инет 192.168.128.1 И на его внешнем интерфейсе есть IP 89.189.трам.пам.
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: sip и два интерфейса

Сообщение ded »

Ничего не понял.
morg
Сообщения: 10
Зарегистрирован: 23 ноя 2010, 22:09

Re: sip и два интерфейса

Сообщение morg »

morg писал(а):После перехода на сип возникла проблема с регистрацией сип юзеров снаружи.
конфиг таков - сервер астериска имеет два интерфейса
config_eth1=( "192.168.128.22/24" )
routes_eth1=( "default via 192.168.128.1" )

config_eth0=( "62.213.89.31 netmask 255.255.255.0" ) # "62.213.89.31 netmask 255.255.255.0" )
routes_eth0=( "default via 62.213.89.1"
"217.23.151.0/24 via 62.213.89.1"
"62.213.89.0/24 via 62.213.89.1" )


metric_eth0="3"
metric_eth1="1"

eth0 - интерфейс провайдера сипа - на нем нет инета
Eth1 - интерфейс в локалку находится за шлюзом.
инет есть на интерфейсе eth1 - получает он его через шлюз 192.168.128.1 у этого шлюза есть IP 89.189.трам.пампам
и раньше нормально регистрировались sip-ы приходя из инета через шлюз 192.168.128.1 на его интерфейс (астериска) 192.168.128.22 и все работало до этого нормально, так как в sip.conf была весего одна запись указывающая на внешний IP, но так как изменился протокол получения с H323 на SIP пришлось (чтобы входящие линии от провайдера работали) добавить еще одну запись в sip.conf с еще одним внешним IP 62.213.89.31. после чего юзеры приходящие из инета на интерфейс 192.168.128.22 либ не регятся либ регятся но в ответ тишина, так как по tcpdump астериск начинает слать пакеты через интерфес 62.213.89.31, а должен через 192.168.128.22 и плевать ему на маршруты.......... вот и вопрос как его заставить делать все правильно.
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: sip и два интерфейса

Сообщение ded »

Ответ:
в секции global указать вместо
bindaddr = 0.0.0.0 (т. е. слушать на всех интерфейсах)
bindaddr = 192.168.128.22
а также
externip = 89.189.трам.пампам
localnet = 192.168.128.0/255.255.255.0

Кроме этого прописать SNAT и DNAT на нём, чтобы натить 192.168.128.22 также через его собственный 62.213.89.1
И не забыть включить рутинг для этого.
echo 1 > /proc/sys/net/ipv4/ip_forward
morg
Сообщения: 10
Зарегистрирован: 23 ноя 2010, 22:09

Re: sip и два интерфейса

Сообщение morg »

всмысле?
Кроме этого прописать SNAT и DNAT на нём, чтобы натить 192.168.128.22 также через его собственный 62.213.89.1

все входящие UDP и TCP с 62.213.89.31 пробросить nat -ом на 192.168.128.22?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: sip и два интерфейса

Сообщение ded »

В смысле знаете iptables? Я тут правила прописывать дотошно не буду, Если знаете, то пропишете:
source -s IPaddr_voip_prov и destination -d 62.213.89.31 в цепочке PREROUTING натить на 192.168.128.22 -j DNAT --to-destination 192.168.128.22
Ну и обратный ход тоже не забыть!
Eugene
Сообщения: 24
Зарегистрирован: 19 ноя 2010, 07:13

Re: sip и два интерфейса

Сообщение Eugene »

config_eth1=( "192.168.128.22/24" )
routes_eth1=( "default via 192.168.128.1" )

config_eth0=( "62.213.89.31 netmask 255.255.255.0" ) # "62.213.89.31 netmask 255.255.255.0" )
routes_eth0=( "default via 62.213.89.1"
"217.23.151.0/24 via 62.213.89.1"
"62.213.89.0/24 via 62.213.89.1" )
Я бы, для начала, убрал шлюз по умолчанию с провайдерского интерфейса. Похоже ваш комп просто теряется куда ему совать пакеты для абонентов пришедших в внешних адресов
tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: sip и два интерфейса

Сообщение tma »

iproute2 Вам в помощь.
2 default gw настроить можно только с помощью их, в противном случае все пакеты все равно будут уходить на default gw.
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH