SIP伺服器冗餘機制確保了SIP服務的可靠性和連續性。主/備用伺服器部署是這些冗餘方法之一。主用和備用伺服器共享用戶帳戶、對話資訊(取決於伺服器冗餘實現方式)、註冊資訊和其他相關資料。在正常條件下,所有SIP請求和回應都由主伺服器處理。當主伺服器發生故障、正在維護或無法訪問時,SIP終端會自動切換到備用伺服器進行服務請求,確保用戶連續訪問。一旦主伺服器恢復,SIP終端可以自動切換回主伺服器。
圖1 SIP伺服器主備
故障轉移:當主伺服器不可用時,備用伺服器接管所有服務而不影響用戶體驗的機制。
故障恢復:設備在備用伺服器提供服務時檢查主伺服器是否已恢復,從而能夠快速切換回主伺服器的機制。
伺服器不可用:當客戶端嘗試註冊時,伺服器回應500/503,或UDP收到ICMP目標不可達消息,或TCP連接超時。
註冊故障恢復:當主伺服器不可用且電話註冊到備用伺服器時,電話創建一個新的註冊對話來檢測主伺服器是否已恢復。此功能具有獨立且可配置的探測間隔。
本文檔適用於電話用戶和維護人員。
在電話上為SIP線路配置兩個伺服器條目。SIP伺服器1是主伺服器,SIP伺服器2是備用伺服器。
電話目前支援Register、Invite和Bye的信令故障轉移。其他信令方式暫不支援。
1. 註冊故障轉移
觸發條件:手動註冊 / 註冊超時 / OPTIONS超時 / CANCEL請求超時
(1) 電話向主伺服器發送Register請求;
(2) 電話嘗試向主伺服器發送Register請求指定次數(V3產品)或在指定時間內(V2產品);
(3) 如果主伺服器不可用,電話向備用伺服器發送Register請求;
(4) 備用伺服器回應200 OK,電話註冊成功。
2. Invite故障轉移
觸發條件:用戶撥打電話
(1) 電話A呼叫電話B;
(2) 電話A向主伺服器發送Invite請求;
(3) 電話A嘗試向主伺服器發送Invite請求指定次數(V3產品)或在指定時間內(V2產品);
(4) 如果主伺服器不可用,電話向備用伺服器發送Register請求;
(5) 備用伺服器回應200 OK,電話成功註冊到備用伺服器;
(6) 電話向備用伺服器發送Invite請求;
(7) 備用伺服器回應200 OK,電話A和B之間建立通話。
3. Bye故障轉移
觸發條件:通過主伺服器建立通話後,電話掛斷
(1) 電話A通過主伺服器與電話B建立通話;
(2) 電話A掛斷;
(3) 電話A向主伺服器發送Bye請求;
(4) 電話A嘗試向主伺服器發送Bye請求指定次數(V3產品)或在指定時間內(V2產品);
(5) 如果主伺服器不可用,電話向備用伺服器發送Register請求;
(6) 備用伺服器回應200 OK,電話成功註冊到備用伺服器;
(7) 電話向備用伺服器發送Bye消息;
(8) 備用伺服器回應200 OK,與電話B的通話終止。
4. 故障轉移失敗
當所有伺服器都不可用時,電話按照主/備優先級依次嘗試每個伺服器指定次數(V3產品)或在指定時間內(V2產品)。最後一個伺服器作為異常處理。根據RFC 3261,SIP將重試64*T1(32秒)。如果當前SIP信令請求仍然失敗,則向用戶報告失敗。
電話支援獨立的註冊故障恢復。電話成功註冊到備用伺服器後,會定期向主伺服器發送獨立的Register請求,以檢測主伺服器是否已恢復。
觸發條件:註冊故障恢復計時器超時。
(1) 電話成功註冊到備用伺服器;
(2) 當註冊故障恢復超時時,電話向主伺服器發送獨立的Register請求;
(3) 如果主伺服器回應200 OK,電話切換回主伺服器;
(4) 如果主伺服器仍然不可用,Register請求根據RFC 3261重傳,直到64*T1(32秒)超時。超時後,計時器重新啟動,並繼續定期探測主伺服器。
| 配置項 | 說明 | 值 |
| 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: | 控制是否為該線路啟用註冊故障恢復。 | 0 / 1 預設:1 |
| SIPN Failback Interval: | 電話註冊到備用伺服器/代理後,探測主伺服器/代理是否已恢復的間隔。 | 數字 預設:1800秒 |
| SIPN Signal Retry Counts: | 當伺服器/代理不可用時,除最後一個伺服器/代理外(32秒超時)的SIP請求重傳次數。 | 數字 預設:3 |
用戶可以登錄電話的Web伺服器配置主用和備用伺服器。
(1) 點擊「線路」選項卡,選擇SIP子選項卡(這是預設頁面);
(2) 從頁面內的「線路」下拉清單中選擇要配置的線路;
(3) 配置線路註冊資訊;
(4) 配置SIP Server1(主伺服器)和SIP Server2(備用伺服器)資訊,如圖2所示;
(5) 點擊當前頁面上的「基本設定」配置主備伺服器的故障恢復相關設定,如圖3所示;
(6) 點擊頁面底部的「提交」按鈕應用配置。
圖2 SIP伺服器主備配置