防火墙后面的 Asterisk

防火墙后面的 Asterisk

我们的 Asterisk 服务器上出现了一些棘手的问题,我们正在努力解决,我希望有比我更有知识的人可以提供帮助。

我们在 Centos 6.4 上运行 Asterisk 1.8.23.0,我们的电话和 Asterisk 服务器位于防火墙内部,而我们的 voip 服务提供商位于外部。防火墙由外部公司设置和管理。

我们目前有两家 voip 服务提供商,A他们负责处理我们大部分的入站流量和所有的出站流量,B他们还负责处理我们的部分入站流量,这些流量通过外部 IVR 路由到我们的呼叫中心。

在最近的一次安全审计中,我们被告知应该让所有的 voip 流量都通过防火墙,而且我们决定分两个阶段进行。

第一阶段是将我们收到的入站流量通过B防火墙,然后在第二阶段将入站和出站流量A也通过防火墙发送。我们目前处于第一阶段。

最初,我们尝试在文件的部分中设置externip和,但是这会破坏我们的主要 voip 服务提供商上的 voip 流量,因此我们尝试在文件中为我们的辅助 voip 服务提供商的特定条目中设置它们,如下所示:localnet[general]sip.confAsip.confB

[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 Abbb.bbb.bbb.bbb是 的 IP Bccc.ccc.ccc.ccc是防火墙的外部 IP。

通过这些设置,呼叫中心可以通过 IVR 接听电话,但是一旦电话接通,外部呼叫者可以听到呼叫中心代理的声音,而呼叫中心代理却听不到呼叫者的声音。

我们的 voip 服务提供商告诉我们,SDP 部分200 OK SIP的响应为他们提供了发送媒体的 IP 地址。ccc.ccc.ccc.cccddd.ddd.ddd.ddd

ddd.ddd.ddd.ddd是我们的星号服务器的 IP,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 不会受到 SIP 的 NATing 问题的影响。

祝你好运。

相关内容