李利樂
【摘要】? ? 近年來因特網工程任務組提出的SIP協議具有擴展性和靈活性特點,能夠為人們提供一種將簡單應用結合在復雜服務中的功能,越來越多IP電話服務提供商開始支持SIP協議服務。基于此,本文以IP電話服務器作為研究對象,通過對服務器的組建分析,從系統結構、系統實現和插件功能實現闡述系統設計方案。
【關鍵詞】? ? SIP協議? ? IP電話服務器? ? 系統設計
引言:SIP協議具體指應用層控制和信令協議,它能夠創建、結束、修改多個參與者的會話,,其中包含普通電話呼叫、網絡電話呼叫和多人會話等內容。SIP協議可以合理控制多媒體會話,同時對會話帶寬要求、媒體類型、解碼格式等會話屬性進行調整,以SIP協議為基礎的IP電話服務器將會更加先進,給人們的生活帶來便利。
一、SIP協議的服務器組件
(1)代理服務器。該組件功能類似于HTTP代理,能夠接收用戶與其他服務器的請求,決定目的服務器位置,提交請求。傳遞請求前,代理服務器能夠解釋請求包頭,并按照原路返回的原則,建立代理呼叫模式。(2)重定向服務器。這是在接收SIP協議請求之后,并不將SIP請求轉發,而是將擁有下一條服務器地址響應重新返還給提出請求的客戶,并在客戶的直接請求下進行服務器跳轉。重定向服務器建立起了的呼叫模式也被稱為重定向呼叫模式。(3)注冊服務器。注冊服務器能夠彰顯SIP協議支持下終端客戶的可移動性。如果用戶想與其他用戶創建會話,SIP協議需要查詢到該用戶使用的主機,并建立在SIP協議基礎上,通過REGISTER請求,在注冊服務器內進行自己位置的注冊,從而方便他人查詢。(4)定向服務器。這并不屬于SIP協議實體,但是也是協議中的重要組成部分,能夠存儲用戶位置信息,并向其返回信息內容。定向服務器可以是輕型目錄訪問協議服務器和企業網絡數據庫通過網絡目錄查詢命令得到的結果。該服務器與本地配置密切相關,代理服務器進行服務器跳轉時需要向定向服務器發出有關查詢的請求[1]。
二、基于SIP協議的IP電話服務器的設計與實現
1、系統結構分析。本文研究中,設計的IP電話服務器按照實際需求,將SIP服務器與計費服務器相分離。其中計費服務器可以作為Radius Srever進行呼叫信息的接收與記錄,隨后處理信息,并根據相應的收費標準對用戶實時計費,同時將呼叫記錄保存完整。SIP服務器能夠實現系統配置、用戶注冊功能,其中包含了系統配置模塊、代理模塊、注冊模塊、語法分析模塊和定位模塊。其中代理模塊與系統配置模塊是IP電話服務器系統的核心,也是各項模塊功能實現的基礎。其他模塊則是IP電話服務器的功能插件,語法分析是必備的,其他插件可以按照用戶實際需求進行科學配置[2]。
2、系統實現。本文以SIP協議為基礎,在設定IP電話服務器內的消息時,相對應的插件HOOK級別進行功能插件消息的處理。IP電話服務器系統內一共有五種HOOK級別,從高到低級別排列分別如下:HOOK_REALLY_FIRST,HOOK-FIRST,HOOK_MIDDLE,HOOK_LAST,HOOK_REALLY_LAST。這五個級別內每條消息都會有相對應的插件級別,如果級別對應為HOOK_REALLU_FIRST,說明消息最先被這個插件接收并處理,隨后按照相應的級別被其他插件逐一處理,如果消息對應的插件級別相同,那么應按照IP電話服務器系統啟動時插件裝載的實際順序,先裝載的插件應先處理消息。按照進出IP電話服務器系統的消息,主要有四種類型:(1)進來請求,接收到的請求消息。(2)轉發請求,IP電話服務器產生的請求與轉發請求。(3)進來響應,接收的響應消息。(4)轉發響應,轉發響應與IP電話服務器發生的響應消息。其中,進來與轉發請求內包含六種請求消息,進來和轉發響應中有六種響應消息。本次以SIP協議為基礎研究的IP電話服務器系統內,五個功能插件對消息的處理情況如下:插件對消息沒有最終處理結果,將由下一個插件繼續處理;插件對消息最初了最終響應,則轉由代理服務器進行消息處理;插件獲取了定位信息,消息將轉由代理服務器處理。
3、插件功能實現。該IP電話服務器系統研究中,代理模塊能夠實現SIP服務器的保存呼叫狀態功能。這項功能也是其他模塊功能實現的基礎。本文研究中,設定出一項數據結構,即Sfp_t,該數據結構內包含了IP電話服務器功能插件的數據結構,具體為Plugin_t。經過分析得知,兩種數據結構綜合應用后,其中包含了IP電話服務器配置的各項功能插件信息,結構體變量內擁有各功能插件相對應的INVITE消息處理信息。本IP電話服務器系統內,從網絡中接收到的SIP協議消息,系統將會采用回調函數的方式,為應用程序提供接口。用戶按照實際需求在函數中進行邏輯應用,功能插件初始化中,安裝了回調函數指針,能夠對相應回調函數進行調用。
總結:總之,本文以基于SIP協議探究了其在VOIP中的運用,分析SIP在IP電話服務器中的合理應用,并實現了系統的設計與研究。本文提出了以功能插件實現IP電話服務器的方法,也闡述了實現系統插件功能的細節,突出IP電話服務器的簡單與靈活優勢,以便為用戶提供優質化服務。
參? 考? 文? 獻
[1]云寶音.SIP協議的IP電話實現技術[J].信息通信,2017(05):197.
[2]章勇. SIP協議網絡電話中轉服務器的設計與實現[D].北京交通大學,2018.