我们的 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.conf
A
sip.conf
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 服务提供商告诉我们,SDP 部分200 OK SIP
的响应为他们提供了发送媒体的 IP 地址。ccc.ccc.ccc.ccc
ddd.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 问题的影响。
祝你好运。