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