SIP 伺服器的備援機制保障了 SIP 服務的可靠性和連續性;伺服器的主備份是其中的一種備援方式;主備份伺服器之間共享使用者帳號、Dialog(取決於伺服器主備份的實施方案)、Registration 等資訊;正常狀態下,所有的 SIP 請求與回應都由主伺服器承擔,主伺服器異常、維護或者無法連線時,SIP 終端會自動切換到備份伺服器請求服務,保障使用者使用連續性;當主伺服器恢復後,SIP 終端能夠自動切換到主伺服器請求服務。
圖 1 SIP Server 主備份
Failover:主伺服器不可用時,備份伺服器接替主伺服器承擔所有业務,且不影響客 戶使用的機制。
Failback:備份伺服器處于工作状態時,設備偵測主伺服器是否恢復,以便快速切換 到主伺服器的機制。
Server Unavailable: 客戶端請求註冊,Server 回應 500/503,或者 UDP 收到目標地址無法連線 ICMP,或者 TCP 連接逾時。
Register Failback:當主伺服器不可用的情况下,話機註冊到備份伺服器時,話機创建新的 Register Dialog 用於偵測主伺服器是否恢復的機制;此功能有独立的、可設定的偵測周期。
此文件是針對那些想了解 Dial plan 功能是如何改进的公司內部研發或者測試人員。
設定話機 SIP 線路两个 Server 資訊,SIP Server1 是主伺服器,SIP Server2 是備份伺服器。
話機支持 Failover 的訊令包括 Register、Invite、Bye,其他尚未支援;
2.2.1Register Failover
觸發條件:手動註冊/註冊逾時/Option、Cancel 請求逾時
1)話機傳送 Register 訊令到主伺服器;
2)話機嘗試傳送 Register 到主伺服器指定次數(V3 產品)/特定時間(V2 產品);
3)主伺服器 Unavailable,話機傳送 Register 訊令到備份伺服器;
4)備份伺服器回應 200 OK,話機註冊成功;
2.2.2Invite Failover
觸發條件:使用者撥打電話
1)話機 A 呼叫話機 B;
2)話機 A 傳送 Invite 請求到主伺服器;
3)話機 A 嘗試傳送 Invite 到主伺服器指定次數(V3 產品)/特定時間(V2 產品);
4)主伺服器 Unavailable,話機傳送 Register 到備份伺服器;
5)備份伺服器回應 200 OK 給話機,話機註冊備份伺服器成功;
6)話機傳送 Invite 請求到備份伺服器;
7)備份伺服器回應 200 OK,話機 A 和 B 建立通话。
2.2.3Bye Failover
觸發條件:話機通過主伺服器建立一路通话後,話機掛斷電話
1)話機 A 通過主伺服器和話機 B 建立一路通话;
2)話機 A 掛斷電話
3)話機 A 傳送 Bye 請求到主伺服器;
4)話機 A 嘗試傳送 Bye 到主伺服器指定次數(V3 產品)/特定時間(V2 產品);
5)主伺服器 Unavailable,話機傳送 Register 到備份伺服器;
6)備份伺服器回應 200 OK 給話機,話機註冊備份伺服器成功;
7)話機傳送 Bye 訊息給備份伺服器;
8)備份伺服器回應 200 OK,話機 B 通話結束。
2.2.4Failover 失敗
當所有伺服器都不可用時,話機會按照主備份伺服器優先順序依序嘗試每一个伺服器指 定次數(V3 產品)/特定時間(V2 產品),最後一个伺服器例外,根據 RFC3261 規範,SIP 會嘗試 64*T1(32s),目前 SIP 訊令請求失敗,並回饋給使用者。
話機支持獨立 Register Failback;話機註冊備份伺服器成功後會定時傳送獨立 Register 給主伺服器,用於偵測主伺服器是否恢復。
觸發條件:Register Failback 計時器逾時。
1)話機註冊備份伺服器成功;
2)Register Failback 逾時,話機傳送獨立 Register 給主伺服器;
3)主伺服器回應 200 OK,話機切換到主伺服器;
當主伺服器仍然不可用時,話機發送的 Register 會根據 RFC3261 重傳 Register,直到 64*T1(32s)逾時;逾時後會再次啟動計時器週期性偵測主伺服器。
| 設定項目名稱 | 描述 | 值 | |
| SIPN | Register Addr: | 主伺服器位址。 |
IP/網域名稱 預設值:空 |
| SIPN | Register Port: | 主伺服器服務埠。 |
數值型 預設值:5060 |
| SIPN | Register TTL: | 主伺服器註冊週期。 |
數值型 預設值:3600 單位:秒 |
| SIPN | Transport: | 主伺服器傳輸協定,UDP、TCP、TLS。 |
0:UDP 1:TCP 3:TLS 預設值:0 |
| SIPN | Backup Addr: | 備份伺服器位址。 |
IP/網域名稱 預設值:空 |
| SIPN | Backup Port: | 備份伺服器服務埠。 |
數值型 預設值:5060 |
| SIPN | Backup TTL: | 備份伺服器註冊週期。 |
數值型 預設值:3600 單位:秒 |
| SIPN | Backup Transport: | 備份伺服器傳輸協定,UDP、TCP、TLS。 |
0:UDP 1:TCP 3:TLS 預設值:0 |
| SIPN | Enable Failback: |
控制線路是否啟用 Register Failback 功能。 |
0/1 預設值:1 |
| SIPN Failback Interval: | 註冊到備份伺服器/Proxy 後,偵測主伺服器/Proxy 是否恢復的時間間隔。 |
數值型 預設值:1800 單位:秒 | |
| SIPN Signal Retry Counts: |
伺服器/Proxy 不可用時,SIP Request 重傳的次數;最後一个伺服器/Proxy 除 外(32s 逾時)。 |
數值型 預設值:3 | |
使用者可以登入話機的 Web 伺服器,對主備份伺服器進行設定。
1)點擊“線路”標籤,選擇 SIP 子標籤(預設即為此頁面);
2)通過頁面內部“線路”下拉式清單選擇要設定的線路;
3)設定線路註冊資訊;
4)設定 SIP Server1(主伺服器)和 SIP Server2(備份伺服器)伺服器資訊; 如圖 2 所示;
5)點擊目前頁面的“基本設定”,對主備份 Failback 相關設定項目进行設置;如圖 3 所示;
6)點擊頁面底部的“提交”按鈕使設定生效。
圖 2 SIP Server 主備份設定
圖 3 SIP 主備份 Failback 設定