web-dev-qa-db-ja.com

アスタリスクSIP / 2.0 401無許可

私はAsterisk 10.3で面白い小さな問題に遭遇していますが、それは10.4にも適用できるようです。

Asteriskを実行しているサーバーがVPSから専用ハードウェアに再配置され、現在、いくつかのSIPピアの1つだけが正しく接続できます。

SIPピアは、ODBC接続からリアルタイムに読み込まれます。1は問題なく接続でき、期待どおりに機能し、クエリを実行することを考えると、すべてのデータベース接続を支配しました。 1つのクライアントがたまたまGrandsteam ATAです。

しかし、そこで停止します。アスタリスクが401 Unauthorizedに登録しようとすると、他の誰も接続できません。

この方程式で変更された唯一の変数は、ネットワークのセットアップ方法である可能性があります。古いホストはVPS(Xen)で、新しいハードウェアは専用です。この場合、サーバーはパブリックIP上にあります。専用ハードウェアでファンキーNATトリックが発生することはありませんが、ほとんどすべての接続ピアはNATの背後にあります。

これまでに試したこと:

  • 各ピアでnat = noを調整、同じ結果
  • 各ピアでnat = noを調整、insecure = invite、port、同じ結果

それをすべて上にするには、グランドストリームはうまく接続しています。しかし、CSipSimple、Cisco IP 79xx、Polycomsなどの他のクライアントは...

これらのピアが再び接続できるようにするには、何を変更する必要があるのでしょうか?

例:

    <--- SIP read from UDP:12.34.56.78:35286 --->
    REGISTER sip:sip.server.com SIP/2.0
    Via: SIP/2.0/UDP 10.0.0.163:35286;rport;branch=z9hG4bKPjZ8cqUxWzs6KnfN5kqG9lrD-V0hXQNppc
    Route: <sip:sip.server.com;lr>
    Max-Forwards: 70
    From: "Erik" <sip:[email protected]>;tag=uwgq3EEWaQ0DuPwWEzuLfVA3aajqyXL6
    To: "Erik" <sip:[email protected]>
    Call-ID: ohWlNbqWRdOme5TvFr3.r6mnPUbjoKqs
    CSeq: 1582 REGISTER
    User-Agent: CSipSimple r1108 / GT-S5830D-10
    Contact: "Erik" <sip:[email protected]:35286;ob>
    Expires: 900
    Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
    Content-Length: 0

    <------------->
    --- (13 headers 0 lines) ---
    Sending to 12.34.56.78:35286 (NAT)

    <--- Transmitting (NAT) to 12.34.56.78:35286 --->
    SIP/2.0 401 Unauthorized
    Via: SIP/2.0/UDP 10.0.0.163:35286;branch=z9hG4bKPjZ8cqUxWzs6KnfN5kqG9lrD-V0hXQNppc;received=12.34.56.78;rport=35286
    From: "Erik" <sip:[email protected]>;tag=uwgq3EEWaQ0DuPwWEzuLfVA3aajqyXL6
    To: "Erik" <sip:[email protected]>;tag=as2da10195
    Call-ID: ohWlNbqWRdOme5TvFr3.r6mnPUbjoKqs
    CSeq: 1582 REGISTER
    Server: Asterisk PBX 10.3.0
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
    Supported: replaces, timer
    WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="7837df5c"
    Content-Length: 0

    <------------>
3
user74078

これは誰かのために役立つかもしれないので:

insecure=invite

同様の再配置後に私を助けました。私にとってはそれはvmからvmでしたが、まったく同じネットワークにブリッジされたので、動作している構成が機能しなくなった理由がわかりません。片道通話効果を体験しました。外部からの呼び出しSIP PBXがアスタリスクに入り、その後voipソフトクライアントに送信されましたが、機能していましたが、voipソフトクライアントはまったく通信できませんでした。

1
defiler

問題は解決しました!アスタリスクは、0.0.0.0をリッスンアドレスとして指定することで複数のアドレスを処理する機能を提供していますが、アスタリスクが存在するボックスは、代わりにサーバー上の他のエイリアスIPから招待を送信していました意図したものの。アスタリスクを1つのIPにバインドし、その1つのIPに接続すると、この問題は完全に解決されます。

1
user74078

私はこの問題を抱えていましたが、TCPベースの接続に移動することで解決しました。すでにTCP=が有効になっていて、それを使用するために拡張機能を有効にしました。

NATおよび環境内のUDPに問題があるようです。詳細がわかった場合は、回答を更新しますが、この問題を見つけた他の人にも役立つことを願っています。

0
fileinster