私たちの Asterisk サーバーには少々厄介な問題があり、解決に苦労しています。私よりも知識のある誰かが助けてくれることを願っています。
当社では Centos 6.4 上で Asterisk 1.8.23.0 を実行しており、電話と Asterisk サーバーはファイアウォールの内側にあり、VoIP サービス プロバイダーは外側にあります。ファイアウォールは外部の会社によって設定および管理されています。
現在、当社には 2 つの VoIP サービス プロバイダーがありA
、受信トラフィックの大部分とすべての送信トラフィックを処理しています。また、B
外部 IVR 経由でコール センターにルーティングされる受信トラフィックの一部を処理しています。
最近のセキュリティ監査では、すべての VoIP トラフィックをファイアウォール経由で実行する必要があると通知され、これを 2 段階で実行することが決定されました。
最初のフェーズでは、受信した受信トラフィックをB
ファイアウォールに通し、次にフェーズ 2 で受信トラフィックと送信トラフィックもA
ファイアウォールに通します。現在、フェーズ 1 で行き詰まっています。
当初、ファイルの セクションで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
B
ファイアウォールを通過させようとしていないときに通常接続するasterisk サーバーの IP です。以下は、そこから受け取る情報です。
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
弊社の二次 VoIP サービス プロバイダーによるとB
、問題の原因となっている回線は次のとおりです。o=root 1148542603 1148542603 IN IP4 ddd.ddd.ddd.ddd
eee.eee.eee.eee
認識できず、何も知らない IP アドレスです。
どのような助けでも大歓迎です。
答え1
音声なしまたは片方向の通話は、VOIP を NAT するときによく発生する問題です。明らかに、問題の原因はすでに特定されています。つまり、音声を伝送するパケットが間違ったアドレスに送信されているということです。
まず、ファイアウォールを保守している担当者に確認します。ファイアウォールが信頼できるものであれば、問題を解決したり、さらに診断を容易にしたりするために、担当者が何かできるはずです。
それができない場合は、プロバイダーに IAX2 トランクがサポートされているかどうかを問い合わせてください。IAX2 は SIP の NAT 問題の影響を受けません。
幸運を。