Asterisk за брандмауэром

Asterisk за брандмауэром

У нас возникла небольшая проблема на нашем сервере Asterisk, которую мы пытаемся решить. Надеюсь, кто-то с большими знаниями, чем я, сможет помочь.

Мы используем Asterisk 1.8.23.0 на Centos 6.4, наши телефоны и сервер asterisk находятся внутри брандмауэра, а наши поставщики услуг voip — снаружи. Брандмауэр настраивается и управляется внешней компанией.

В настоящее время у нас есть два поставщика услуг VoIP, Aодин из которых обрабатывает большую часть входящего трафика и весь исходящий трафик, а Bдругой обрабатывает часть входящего трафика, который направляется в наш колл-центр через внешний IVR.

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

Первая фаза — это пропустить входящий трафик, который мы получаем, Bчерез брандмауэр, а затем на второй фазе отправить входящий и исходящий трафик Aтакже через брандмауэр. В настоящее время мы застряли на первой фазе.

Первоначально мы пытались установить externipи localnetв [general]разделе нашего sip.confфайла, но это нарушило VoIP-трафик на нашем основном поставщике услуг VoIP A, поэтому мы попытались установить их в специальной записи в нашем sip.confфайле для нашего вторичного поставщика услуг VoIP, Bнапример так:

[A]
type=friend
disallow=all
allow=alaw
allow=g729
context=fromneotel
host=aaa.aaaa.aaa.aaa
insecure=port,invite
nat=no
directmedia=no

[B]
type=friend
disallow=all
allow=g711
allow=g729
allow=alaw
context=fromis1
host=bbb.bbb.bbb.bbb
insecure=port,invite
nat=yes
directmedia=no
externip=ccc.ccc.ccc.ccc
localnet=192.68.20.0/255.255.252.0

где aaa.aaa.aaa.aaa— IP-адрес A , а bbb.bbb.bbb.bbb— IP-адрес B , а ccc.ccc.ccc.ccc— внешний IP-адрес брандмауэра.

При таких настройках колл-центр может принимать телефонные звонки через IVR, но после соединения вызовов внешний абонент может слышать агента колл-центра, но агент колл-центра не может слышать звонящего.

Наш поставщик услуг VoIP сообщает нам, что в 200 OK SIPответе от ccc.ccc.ccc.cccSDP-части указан ddd.ddd.ddd.dddIP-адрес для отправки медиаданных.

ddd.ddd.ddd.dddэто IP-адрес нашего сервера Asterisk, Bк которому мы обычно подключаемся, когда не пытаемся пропустить трафик через брандмауэр. Вот какую информацию мы от них получаем:

Via: SIP/2.0/UDP bbb.bbb.bbb.bbb:5060;branch=z9hG4bKmm63qe00d8ogcio100k0.1;received=bbb.bbb.bbb.bbb     
From: "Anonymous"<sip:<originating number from IVR>@bbb.bbb.bbb.bbb:5060;user=phone>;tag=1641833502-1377756054727-
To: "<call centre number>"<sip:<call centre number>@ccc.ccc.ccc.ccc:5060>;tag=as43201e45
Call-ID: [email protected]
CSeq: 609518180 INVITE
Server: Asterisk PBX 1.8.23.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:<call centre number>@ccc.ccc.ccc.ccc>
Content-Type: application/sdp
Content-Length: 260

v=0
o=root 1148542603 1148542603 IN IP4 ddd.ddd.ddd.ddd
s=Asterisk PBX 1.8.23.0
c=IN IP4 ddd.ddd.ddd.ddd
t=0 0
m=audio 11064 RTP/AVP 18 101
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

По данным Bнашего вторичного поставщика услуг VoIP, проблема возникает на этой линии:o=root 1148542603 1148542603 IN IP4 ddd.ddd.ddd.ddd

eee.eee.eee.eee— это IP-адрес, который я не узнаю и о котором ничего не знаю.

Любая помощь будет высоко оценена.

решение1

Звонки без звука или с односторонним звуком являются распространенной проблемой при NATing VOIP. Очевидно, вы уже обнаружили источник проблемы: пакеты, несущие голос, отправляются на неправильный адрес.

Во-первых, я бы посоветовался с людьми, которые обслуживают ваш брандмауэр. Если брандмауэр стоит своих денег, они, несомненно, смогут что-то сделать, чтобы решить проблему или упростить дальнейшую диагностику.

Если это не удастся, спросите у своих провайдеров, поддерживают ли они каналы IAX2. IAX2 не страдает от проблем NAT, присущих SIP.

Удачи.

Связанный контент