文章

顯示包含「企業通信」標籤的文章

Chrome/Firefox 以 WebRTC 向 SIP 發起呼叫

圖片
新發布的 miniSIPServer (V70 build 20250402)支援一個很有趣的特性:我們可以用瀏覽器(必須支援 WebRTC 技術,例如 Chrome、Firefox 等)向 miniSIPServer 發起呼叫,呼叫 SIP 網域的裝置(電話、網關等)。 網路拓撲如下圖所示: 語音媒體串流採用端對端加密方式透過 DTLS-SRTP 傳遞,與 miniSIPServer 連結。 目前僅支援語音通話,不支援視訊通話。 瀏覽器 Web 側採用簡化版的訊號(MCCP,miniSIPServer Call Control Protocol,即 miniSIPServer 呼叫控制協定)控制呼叫,並透過加密的 Websocket 連線( WSS,Websocket security)與 miniSIPServer 對接。 目前僅支援 Web 域向 SIP 域發起呼叫,不支援反向由 SIP 域向 Web 域發起呼叫。 我們在瀏覽器中輸入下列 URL 即可從瀏覽器向 SIP 網域發起通話(示範分機使用者100 呼叫分機使用者 101): https://www.myvoipapp.com/miniwebphone2/lite.html?server=192.168.3.70&clr=100&pwd=100&cld=101 URL 類似命令列方式,其中各項參數說明如下: (1)「https://www.myvoipapp.com/miniwebphone2/lite.html」是一個簡單的頁面,加載到瀏覽器後即可與指定的 miniSIPServer 伺服器建立 WSS 連接,並發起呼叫。 我們可以將這個頁面及相關的資源都下載到本地或本地的 Web 伺服器,瀏覽器開啟本機檔案同樣也可以發起通話。   (2)「server」指定 miniSIPServer 的位址。 該 miniSIPServer 必須已經成功載入憑證和金鑰、並啟動了 WSS 服務。 miniSIPServer 預設總是採用 TCP 5062 連接埠啟動 WSS 。 (3)「clr」發起呼叫的主叫用戶號碼。 該號碼必須是 miniSIPServer 的分機用戶號碼。 (4)「pwd」主叫用戶用於鑑權的密碼,即 miniSIPServer 分機用戶的密碼。 miniSI...

安全的企業 SIP 通信

圖片
企業內部的通訊系統一般部署在私網內部,在網路邊緣部署 SBC 或語音閘道與外部進行通信,因此大部分場景下企業通訊都很安全。 然而越來越多的企業在雲端部署 SIP 伺服器,而企業內部的 SIP 終端也越來越多地從外部網路連接到企業 SIP 伺服器,這使得部分(或全部)企業通訊系統暴露在公共網路中,安全問題日益嚴重。 企業 SIP 通訊安全涉及網路系統的許多方面,例如防火牆等。 僅就 SIP 通訊本身而言必須加密,避免將通訊資訊暴露給其他網路使用者。 加密的 SIP 通訊包含兩個部分:(1)SIP 訊息(訊號)加密,以及(2)語音流(RTP)加密,如下圖所示: 當然,企業可以部署 VPN 將整個網路系統(不僅是通訊系統,也包括辦公系統等)進行加密,加密的 SIP 通訊也可以建立在 VPN 之上。 建立企業 VPN 成本比較高、系統較複雜,本文僅討論加密的 SIP 通信,不涉及VPN 等其他網路安全技術。 SIP 訊息的加密透過「SIP over TLS」實現,雲端 miniSIPServer、本地 miniSIPServer 以及 miniSIPPhone 都支援 SIP over TLSv1.2 / TLSv1.3。 請參考 線上文檔 ,本文不再贅述。         語音流透過 SRTP  (或 DTLS-SRTP) 傳輸實現加密,SRTP 的 master key 和 master salt 透過 SIP 訊息的 SDP ( RFC4568 )傳輸、協商,因此 SIP 訊息加密才能確保 SRTP 的關鍵資訊不會洩露,僅僅 SRTP 傳輸加密語音流、但是明文傳遞 SIP 訊息,不能確保整個 SIP 傳輸的安全性。   RFC4568 中定義了幾種加密套件,目前我們選擇支援預設的 AES_CM_128_HMAC_SHA1_80 ,暫不支援其他加密套件。   SRTP 協定族包含諸多擴展,目前 miniSIPServer 和 miniSIPPhone 支援最基礎的 RFC3711 協定,這也是絕大多數 SIP 設備(包括伺服器、PBX、SBC 以及終端)都支援的基礎 SRTP 協定。 同時也支援 RFC5763 , 也就是支援 DTLS-SRTP——目前市面上有許多 SIP 終端設備並不支援 DT...