Voip

如何正確掛斷 3CX 的 Freeswitch/Sofia SIP-Calls?

  • July 13, 2021

我們在主機 A 上執行一個 FreeSwitch 實例,它使用 SOFIA 模組向在主機 B 上執行的 3CX 實例發出出站呼叫。

一切正常,除了掛斷:主機 A 發送的 BYE 數據包未被 404 使用者未知的 3CX 主機接受。

在第一個(工作)呼叫之後,由於線路被佔用,直到我們重新啟動整個 freeswitch-service 後,才能發起更多呼叫。

網關配置如下:

<include>
       <gateway name="default">

               <param name="realm" value="<host B>:5059"/>
               <param name="username" value="59"/>
               <param name="password" value="<the password>"/>
               <param name="register-transport" value="udp"/>
               <param name="extension" value="59"/>

               <param name="from-user" value="59"/>
               <param name="expire-seconds" value="800"/>
               <param name="register" value="true"/>
               <param name="register-transport" value="udp"/>
               <param name="context" value="public"/>
               <param name="caller-id-in-from" value="false“/>
               <param name="extension-in-contact" value="true"/>
               <param name="cid-type" value="rpid"/>
       </gateway>
</include>

該授權適用於除 BYE 之外的所有其他軟體包。我們還打開了 SIP-tracing 並驗證了 Proxy-Athorization 標頭設置是否正確:

BYE sip:<destination number>@<host B>:5059 SIP/2.0
Via: SIP/2.0/UDP <host A>:5059;rport;branch=z9hG4bKpB6QZ9aU643pH
Max-Forwards: 70
From: "pi" <sip:59@<host B>:5059>;tag=jXU3S8avD9tQH
To: <sip:<dest number>@<host B>:5059>;tag=4442ed0d
Call-ID: fac6951d-4ab5-123a-0d9b-dca632517e68
CSeq: 37449519 BYE
User-Agent: FreeSWITCH-mod_sofia/1.10.6-release-7-1ff9d0a60e~32bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Supported: timer, path, replaces
Proxy-Authorization: Digest username="59", realm="3CXPhoneSystem", nonce="414d535960cc5fda38:061e13fce3696c0ade88da4c548cab3a", algorithm=MD5, uri="sip:<dest number>@<host B>:5059", response="9d75bd5d59cc7b2111e005259d04aa65"
Reason: Q.850;cause=16;text="NORMAL_CLEARING"
Content-Length: 0

檢查 3CX 端的 SIP 包,我們被告知根本不應該授權 BYE 包使其工作。

因此,我們將以下設置添加到正在使用的配置文件中:

<param name="auth-all-packets" value="false"/>

但 Sofia(或 Freeswitch?)仍然授權 BYE 包。

任何人都可以幫助我們嗎?這會很棒!

對於我們的場景,這個問題可以在 3CX 端解決:

我們的擴展點已配置為“傳真端點”。將其切換到“通用 voip 端點”後,一切都按預期工作。(不確定此處的 3CX 術語是否正確)

引用自:https://serverfault.com/questions/1067097