分布式sip重定向服務(wù)器及其構(gòu)建方法
【專利摘要】本發(fā)明提供一種分布式SIP重定向服務(wù)器及其構(gòu)建方法,屬于網(wǎng)絡(luò)通信領(lǐng)域,適用于以SIP信令協(xié)議作為建立手機(jī)終端代理的VoIP語(yǔ)音通信的場(chǎng)景,采用GSM網(wǎng)絡(luò)中的SMS短信將SIP終端代理的網(wǎng)絡(luò)信息轉(zhuǎn)發(fā)給會(huì)話發(fā)起端,從而建立起基于SIP協(xié)議的VoIP語(yǔ)音會(huì)話。本發(fā)明所述的服務(wù)器功能主要包括:處理SIP終端代理REGISTER事務(wù);對(duì)SIP終端代理的INVITE事務(wù)請(qǐng)求進(jìn)行處理;監(jiān)聽(tīng)和攔截本機(jī)短信;對(duì)包含本方案中的約定格式短信進(jìn)行處理;成功獲取被呼叫方網(wǎng)絡(luò)IP信息后進(jìn)行重定向處理。與傳統(tǒng)的SIP系統(tǒng)結(jié)構(gòu)相比,本方案的優(yōu)勢(shì)在于不需要中央式的物理服務(wù)器,只需要利用GSM網(wǎng)絡(luò)服務(wù),就可以完成SIP重定向的功能。
【專利說(shuō)明】分布式SIP重定向服務(wù)器及其構(gòu)建方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式的SIP重定向服務(wù)器及其構(gòu)建方法。
【背景技術(shù)】
[0002]SIP (Session Initiation Protocol)即會(huì)話初始協(xié)議是一個(gè)應(yīng)用層的信令控制協(xié)議,是由IETF (國(guó)際互聯(lián)網(wǎng)標(biāo)準(zhǔn)制定組織)制定的面向Internet會(huì)議和電話的信令協(xié)議,可以建立、修改或者終止多媒體會(huì)話或者呼叫。為了描述消息內(nèi)容的負(fù)載情況和特點(diǎn),SIP使用Internet的會(huì)話描述協(xié)議(SDP)來(lái)描述終端設(shè)備的特點(diǎn)。SIP自身不提供服務(wù)質(zhì)量(QoS),它與負(fù)責(zé)語(yǔ)音質(zhì)量的資源預(yù)留協(xié)議(RSVP)互操作。它還與若干個(gè)其他協(xié)議進(jìn)行協(xié)作,包括:負(fù)責(zé)定位的輕型目錄訪問(wèn)協(xié)議(LDAP)、負(fù)責(zé)身份驗(yàn)證的遠(yuǎn)程身份驗(yàn)證撥入用戶服務(wù)(RADIUS)以及負(fù)責(zé)實(shí)時(shí)傳輸?shù)腞TP等多個(gè)協(xié)議。
[0003]SIP被描述為用來(lái)生成、修改和終結(jié)一個(gè)或多個(gè)參與者之間的會(huì)話。這些會(huì)話包括因特網(wǎng)多媒體會(huì)議,因特網(wǎng)(或任何IP網(wǎng)絡(luò))電話呼叫和多媒體發(fā)布。會(huì)話中的成員能夠通過(guò)多播或單播聯(lián)系的網(wǎng)絡(luò)來(lái)通信。SIP支持會(huì)話描述,它允許參與者在一組兼容媒體類型上達(dá)成一致。它同時(shí)通過(guò)代理和重定向請(qǐng)求到用戶當(dāng)前位置來(lái)支持用戶移動(dòng)性。SIP不與任何特定的會(huì)議控制協(xié)議捆綁。本質(zhì)上來(lái)說(shuō),SIP提供以下功能:
[0004](I)名字翻譯和用戶定位:無(wú)論被呼叫方在哪里都確保呼叫達(dá)到被叫方。執(zhí)行任何描述信息到定位信息的映射。確保呼叫(會(huì)話)的本質(zhì)細(xì)節(jié)被支持。
[0005](2)特征協(xié)商:它允許與呼叫有關(guān)的組(這可以是多方呼叫)在支持的特征上達(dá)成一致(注意:不是所有方都能夠支持相同級(jí)別的特征)。例如視頻可以或不可以被支持??傊嬖诤芏嘈枰獏f(xié)商的范圍。
[0006](3)呼叫參與者管理:呼叫中參與者能夠引入其它用戶加入呼叫或取消到其它用戶的連接。此外,用戶可以被轉(zhuǎn)移或置為呼叫保持。
[0007](4)呼叫特征改變:用戶應(yīng)該能夠改變呼叫過(guò)程中的呼叫特征。例如,一個(gè)呼叫可以被設(shè)置為“voice-only”,但是在呼叫過(guò)程中,用戶可以需要開(kāi)啟視頻功能。也就是說(shuō)一個(gè)加入呼叫的第三方為了加入該呼叫可以開(kāi)啟不同的特征。
[0008]SIP中有兩個(gè)要素:SIP用戶代理和SIP網(wǎng)絡(luò)服務(wù)器。用戶代理是呼叫的終端系統(tǒng)元素,而SIP服務(wù)器是處理與多個(gè)呼叫相關(guān)聯(lián)信令的網(wǎng)絡(luò)設(shè)備。SIP服務(wù)器元素提供多種類型的服務(wù)器,主要有SIP注冊(cè)服務(wù)器、SIP代理服務(wù)器和SIP重定向服務(wù)器。這些系統(tǒng)通過(guò)傳輸包括了 SDP協(xié)議(用于定義消息的內(nèi)容和特點(diǎn))的消息來(lái)完成SIP會(huì)話。
[0009]SIP注冊(cè)服務(wù)器是包含域中所有用戶代理的位置的數(shù)據(jù)庫(kù)。在SIP通信中,這些服務(wù)器會(huì)檢索參與方的IP地址和其他相關(guān)信息,并將其發(fā)送到SIP代理服務(wù)器,SIP注冊(cè)流程參閱圖1所示。
[0010]SIP代理服務(wù)器接受SIP用戶代理(UA)的會(huì)話請(qǐng)求并查詢SIP注冊(cè)服務(wù)器,獲取收件方UA的地址信息。然后,它將會(huì)話邀請(qǐng)信息直接轉(zhuǎn)發(fā)給收件方UA(如果它位于同一域中)或代理服務(wù)器(如果UA位于另一域中)。
[0011]重定向服務(wù)器接收呼叫者的請(qǐng)求,但不是將這些請(qǐng)求傳遞給下一服務(wù)器而是向呼叫者發(fā)送響應(yīng)以指示被呼叫用戶的地址。這使得呼叫者可以直接聯(lián)系被呼叫方的地址。SIP重定向服務(wù)器可以與SIP注冊(cè)服務(wù)器和SIP代理服務(wù)器同在一個(gè)硬件上。
[0012]SIP 共規(guī)定了六種信令:INVITE、ACK、CANCEL、OPTIONS、BYE、REGISTER。其中INVITE和ACK用于建立呼叫,完成三次握手,或者用于建立以后改變會(huì)話屬性;BYE用以結(jié)束會(huì)話;0PT10NS用于查詢服務(wù)器能力;CANCEL用于取消已經(jīng)發(fā)出但并未最終結(jié)束的請(qǐng)求;REGISTER用于終端代理向注冊(cè)服務(wù)器注冊(cè)用戶位置等消息。
[0013]圖2描述了 SIP基本呼叫的建立過(guò)程,包括如下步驟:
[0014](I)用戶摘機(jī)發(fā)起一路呼叫,終端代理A (或稱之為“用戶代理A”)向該區(qū)域的代理服務(wù)器發(fā)起INVITE請(qǐng)求;
[0015](2)代理服務(wù)器通過(guò)認(rèn)證/計(jì)費(fèi)中心確認(rèn)用戶認(rèn)證已通過(guò)后,檢查請(qǐng)求消息中的Via頭域中是否已包含其地址。若已包含,說(shuō)明發(fā)生環(huán)回,返回指示錯(cuò)誤的應(yīng)答;如果沒(méi)有包含,代理服務(wù)器在請(qǐng)求消息的Via頭域插入自身地址,并向INVITE消息的To域所指示的被叫終端代理B (或稱之為“用戶代理B”)轉(zhuǎn)送INVITE請(qǐng)求;
[0016](3)代理服務(wù)器向終端代理A發(fā)送呼叫處理中的應(yīng)答消息,IOOTrying ;
[0017](4)終端代理B向代理服務(wù)器發(fā)送呼叫處理中的應(yīng)答消息,IOOTrying;
[0018](5)終端代理B指示被叫用戶振鈴,用戶振鈴后,向代理服務(wù)器發(fā)送ISORinging振鈴信息;
[0019](6)代理服務(wù)器向終端代理A轉(zhuǎn)發(fā)被叫用戶振鈴信息;
[0020](7)被叫用戶摘機(jī),終端代理B向代理服務(wù)器返回表示連接成功的應(yīng)答(2000K);
[0021](8)代理服務(wù)器向終端代理A轉(zhuǎn)發(fā)上述成功指示(2000K);
[0022](9)終端代理A收到消息后,向代理服務(wù)器發(fā)ACK消息進(jìn)行確認(rèn);
[0023](10)代理服務(wù)器將ACK確認(rèn)消息轉(zhuǎn)發(fā)給終端代理B ;
[0024](11)主被叫用戶之間建立通信連接,開(kāi)始通話。
[0025]使用重定向服務(wù)器可以將用戶的呼叫重定向到另一個(gè)地址。在會(huì)話過(guò)程中,重定向服務(wù)器會(huì)發(fā)送3XX響應(yīng)(如302Moved Temporarily響應(yīng))給主叫方,其中會(huì)包含一個(gè)或多個(gè)Contact字段,用以說(shuō)明用戶的聯(lián)系方式。
[0026]SIP重定向會(huì)話信令流程如圖3所示。
[0027](I)首先終端代理A的INVITE請(qǐng)求被發(fā)送給重定向服務(wù)器,其中的REQUEST-URI為 sip:UBihome.com ;
[0028](2)重定向服務(wù)器通過(guò)位置服務(wù)器查詢用戶UBOhome.com當(dāng)前用戶的聯(lián)系方式;
[0029](3)位置服務(wù)器返回用戶聯(lián)系方式,假設(shè)該用戶的聯(lián)系方式包含Sip:UB@h0me2.com 和 mail to: UBOy aho0.com 兩種;
[0030](4)重定向服務(wù)器發(fā)送302Moved Temporarily響應(yīng),其中包含兩個(gè)Contact字段,分別給出來(lái)自位置服務(wù)器的兩個(gè)聯(lián)系方式;
[0031](5)終端代理A在收到302響應(yīng)后,決定使用sip:B@home2.com向終端代理B發(fā)送INVITE請(qǐng)求,在這個(gè)新的INVITE消息中,REQUEST-URI字段將會(huì)被修改為sip:UB@home2.com ;[0032](6)后續(xù)的SIP消息流程與正常SIP會(huì)話建立過(guò)程相同。
[0033]通過(guò)以上分析可知,無(wú)論是通常的呼叫過(guò)程還是重定向呼叫過(guò)程,均需要SIP服務(wù)器才能夠完成網(wǎng)絡(luò)通話。服務(wù)器是網(wǎng)絡(luò)上為客戶端計(jì)算機(jī)提供各種服務(wù)的高可用性計(jì)算機(jī),承擔(dān)這個(gè)服務(wù)的計(jì)算機(jī)硬件必須有能力保障服務(wù)質(zhì)量。這個(gè)服務(wù)首先要有一定的容量,能響應(yīng)單位時(shí)間內(nèi)合理數(shù)量的服務(wù)器請(qǐng)求,同時(shí)這個(gè)服務(wù)對(duì)單個(gè)服務(wù)請(qǐng)求的響應(yīng)時(shí)間要盡量快,還有這個(gè)服務(wù)要在要求的時(shí)間范圍內(nèi)一直存在。因此服務(wù)器硬件必須具備如下的特點(diǎn):性能,使服務(wù)器能夠在單位時(shí)間內(nèi)處理相當(dāng)數(shù)量的服務(wù)器請(qǐng)求并保證每個(gè)服務(wù)的響應(yīng)時(shí)間;可靠性,使得服務(wù)器能夠不停機(jī);可擴(kuò)展性,使服務(wù)器能夠隨著用戶數(shù)量的增加不斷提升性能。服務(wù)器必須具有承擔(dān)服務(wù)并保障服務(wù)質(zhì)量的能力。所以,提供基于SIP協(xié)議的網(wǎng)絡(luò)通話服務(wù)的服務(wù)器需要花費(fèi)大量的費(fèi)用。
【發(fā)明內(nèi)容】
[0034]本發(fā)明提出面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)器及其構(gòu)建方法,其目的是采用GSM網(wǎng)絡(luò)的SMS短信將SIP終端代理的網(wǎng)絡(luò)信息轉(zhuǎn)發(fā)給會(huì)話發(fā)起端,從而建立起基于SIP協(xié)議的VoIP語(yǔ)音會(huì)話。與傳統(tǒng)的SIP系統(tǒng)結(jié)構(gòu)相比,本方案的優(yōu)勢(shì)在于不需要中央式的物理服務(wù)器,只需要通過(guò)移動(dòng)運(yùn)營(yíng)商的SMS短信,就可以完成SIP重定向的功能,從而實(shí)現(xiàn)會(huì)話,節(jié)省了網(wǎng)絡(luò)通話的成本。
[0035]本發(fā)明的另一個(gè)目的是為網(wǎng)絡(luò)終端環(huán)境中SIP終端代理應(yīng)用對(duì)設(shè)備的訪問(wèn)提供一種可行的、具有通用性的設(shè)備重定向方法。
[0036]為達(dá)到上述目的,本發(fā)明提供面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)器,包括短信監(jiān)聽(tīng)模塊、短信發(fā)送模塊、服務(wù)代理模塊。其中:
[0037]短信監(jiān)聽(tīng)模塊,用于監(jiān)聽(tīng)手機(jī)短信,判斷是否有本發(fā)明中約定的用于實(shí)現(xiàn)重定向功能的消息,支持建立與短信信箱的連接、獲取并解析短消息、刪除短消息功能。
[0038]短信發(fā)送模塊,用于發(fā)送手機(jī)網(wǎng)絡(luò)狀況信息,包括手機(jī)的網(wǎng)絡(luò)IP、被呼叫方的手機(jī)號(hào)碼,支持建立短消息、發(fā)送短消息功能。
[0039]服務(wù)代理模塊,用于監(jiān)聽(tīng)端口,基于SIP協(xié)議,實(shí)現(xiàn)與SIP客戶端間的數(shù)據(jù)通信,支持REGISTER響應(yīng)、INVITE響應(yīng)、302重定向響應(yīng),另外還支持本發(fā)明中約定的用于接收被呼叫方網(wǎng)絡(luò)信息的響應(yīng)。
[0040]為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)構(gòu)建方法包括以下步驟:
[0041]當(dāng)?shù)谝恢囟ㄏ蚍?wù)器監(jiān)聽(tīng)到第一手機(jī)向第二手機(jī)發(fā)送的會(huì)話請(qǐng)求時(shí),第一重定向服務(wù)器向第二手機(jī)發(fā)送一條第一預(yù)定格式的信息;
[0042]當(dāng)位于第二手機(jī)的第二重定向服務(wù)器監(jiān)聽(tīng)到該第一預(yù)定格式的信息時(shí),第二重定向服務(wù)器向第一手機(jī)發(fā)送一條第二預(yù)定格式的信息;及
[0043]當(dāng)位于第一手機(jī)的第一重定向服務(wù)器監(jiān)聽(tīng)到該第二預(yù)定格式的信息時(shí),利用該第二預(yù)定格式的信息進(jìn)行重定向處理,引導(dǎo)第一手機(jī)呼叫至重定向的位置。
[0044]本發(fā)明可以配合目前流行的各種手機(jī)SIP終端代理,實(shí)現(xiàn)無(wú)線局域網(wǎng)下的手機(jī)網(wǎng)絡(luò)通話,具有較好的通用性;而且不需要中央式的物理服務(wù)器,節(jié)省了網(wǎng)絡(luò)會(huì)話的成本?!緦@綀D】
【附圖說(shuō)明】
[0045]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0046]圖1為SIP注冊(cè)流程示意圖;
[0047]圖2為SIP基本呼叫建立流程示意圖;
[0048]圖3為SIP采用重定向呼叫建立流程示意圖;
[0049]圖4為本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖;
[0050]圖5為本發(fā)明的面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)器構(gòu)建方法流程示意圖。
【具體實(shí)施方式】
[0051]下面將結(jié)合本發(fā)明實(shí)施例中的圖4及圖5,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域的技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0052]本發(fā)明的處理流程如圖5所示:
[0053]本發(fā)明所提供的重定向方法以軟件模塊的形式安裝于手機(jī)端。例如,參閱圖4所示,當(dāng)手機(jī)用戶A向用戶B發(fā)起VoIP語(yǔ)音會(huì)話時(shí),首先需要打開(kāi)SIP客戶終端,設(shè)定好服務(wù)器地址(本發(fā)明實(shí)施例以127.0.0.1:50060為例),然后進(jìn)行注冊(cè)或登錄操作。下一步,手機(jī)用戶A采用SIP終端代理輸入手機(jī)用戶B的手機(jī)號(hào)作為語(yǔ)音通話的被呼叫方,此時(shí)終端代理A生成INVITE事務(wù)請(qǐng)求向服務(wù)器發(fā)送;位于手機(jī)A的重定向服務(wù)器A處于監(jiān)聽(tīng)狀態(tài),監(jiān)聽(tīng)到含有INVITE消息頭則進(jìn)行判定,如果滿足條件(例如,滿足預(yù)設(shè)的消息頭來(lái)進(jìn)行判斷,該消息體內(nèi)的信息有本發(fā)明所需的用戶B網(wǎng)絡(luò)信息。比如可以雙方約定INVINV作為用戶B收到用戶A發(fā)送的invite短信后,所作出回應(yīng)的消息標(biāo)識(shí)),則將被呼叫方B的手機(jī)號(hào)進(jìn)行提取,并向B發(fā)送一條包含終端代理A的網(wǎng)絡(luò)信息消息的SMS短信;重定向服務(wù)器B處于監(jiān)聽(tīng)狀態(tài),當(dāng)監(jiān)聽(tīng)到預(yù)定格式的短信時(shí),解析出終端代理A的IP信息后,并通過(guò)互聯(lián)網(wǎng)網(wǎng)絡(luò)(如WIFI網(wǎng)絡(luò))向終端代理A發(fā)送終端代理B的網(wǎng)絡(luò)IP以及端口信息;重定向服務(wù)器A在監(jiān)聽(tīng)到重定向服務(wù)器B發(fā)送的信息后,用終端代理B的網(wǎng)絡(luò)信息構(gòu)造出302Moved Temporarily消息并發(fā)送給終端代理A ;終端代理A在收到302響應(yīng)后,向終端代理B發(fā)送INVITE請(qǐng)求,在這個(gè)新的INVITE消息中,REQUEST-URI字段將會(huì)被修改為終端代理B的網(wǎng)絡(luò)IP和端口 ;后續(xù)的SIP消息流程與正常SIP會(huì)話建立過(guò)程相同。在其它實(shí)施例中,重定向服務(wù)器A可以與重定向服務(wù)器B同在一個(gè)硬件上。
[0054]本發(fā)明是通過(guò)將SIP協(xié)議中本來(lái)是物理重定向服務(wù)器,使用本發(fā)明的方法來(lái)完成重定向的過(guò)程,這部分實(shí)際上是SMS短信+WIFI網(wǎng)絡(luò)部分的信息交互完成重定向服務(wù)器的功能。由于不需要中央式的物理服務(wù)器,所以節(jié)省了網(wǎng)絡(luò)會(huì)話的成本。
[0055]為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)構(gòu)建方法包括以下步驟:[0056]加載短信監(jiān)聽(tīng)模塊和服務(wù)代理模塊;
[0057]啟動(dòng)短信監(jiān)聽(tīng)功能和網(wǎng)絡(luò)套接字;
[0058]啟動(dòng)用戶SIP終端代理;
[0059]SIP終端代理發(fā)起REGISTER事務(wù)請(qǐng)求;
[0060]INVITE 事務(wù)請(qǐng)求;
[0061]服務(wù)代理模塊針對(duì)不同事務(wù)和階段產(chǎn)生相應(yīng)響應(yīng)。
[0062]下面結(jié)合上述處理流程,對(duì)本發(fā)明的具體實(shí)施例中的關(guān)鍵技術(shù)點(diǎn)進(jìn)行詳細(xì)的描述。
[0063]短信監(jiān)聽(tīng)模塊,用于監(jiān)聽(tīng)手機(jī)短信,判斷是否有本發(fā)明中約定的用于實(shí)現(xiàn)重定向功能的消息,支持建立與短信信箱的連接、獲取并解析短消息、刪除短消息功能。本功能模塊采用mapirule實(shí)現(xiàn)短信的攔截,在能夠使用MAPI(Messaging Application ProgrammingInterface)規(guī)則之前,需要將其注冊(cè)為COM對(duì)象,同時(shí)將它的類標(biāo)識(shí)符添加到注冊(cè)表項(xiàng)HKEY_CLASSES_R00T\CLSID\中;為了使手機(jī)收件箱意識(shí)到MAPI規(guī)則的存在,還必須將它的類標(biāo)識(shí)符寫入注冊(cè)表項(xiàng) HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Svc\SMS\Rules中。
[0064]注冊(cè)成功后系統(tǒng)會(huì)自動(dòng)調(diào)用函數(shù)ProcessMessage接收短信,當(dāng)接收到的短信內(nèi)容包含預(yù)定的關(guān)鍵詞(本實(shí)施例為VoIP_INI)時(shí)放入內(nèi)存映射文件中,然后刪除該短信。應(yīng)用程序調(diào)用信息監(jiān)聽(tīng)函數(shù)TerminateSMSMessagePassingO監(jiān)聽(tīng)內(nèi)存映射文件,然后通過(guò)調(diào)用信息內(nèi)容獲取函數(shù)SMSMessageAvailableO得到短信內(nèi)容和發(fā)送短信的手機(jī)號(hào)。
[0065]短信發(fā)送模塊,用于短信傳遞網(wǎng)絡(luò)消息。本模塊建立在mapirule正常啟動(dòng)的基礎(chǔ)上,對(duì)短信箱接收到的信息進(jìn)行處理,當(dāng)短信文本包含有預(yù)定的關(guān)鍵詞(本實(shí)施例為VoIP_INI)時(shí),將該短信內(nèi)容進(jìn)行解析,獲取短信中包含的IP地址和短信發(fā)送方手機(jī)號(hào)。本實(shí)施例攔截到預(yù)定短信后,通過(guò)套接字serverSocket.SendTo O將包括本機(jī)SIP終端代理IP、端口等信息的消息體發(fā)送到SMS短信中的IP地址端。本實(shí)施例中將該消息構(gòu)造為消息頭為MovedMoved 的 SIP 消息。
[0066]服務(wù)代理模塊,用于對(duì)SIP協(xié)議事務(wù)請(qǐng)求的響應(yīng)。本實(shí)施例中獲取手機(jī)中的SIP終端代理發(fā)出的SIP消息是通過(guò)套接字serverSocket.ReceiveFromO實(shí)現(xiàn)。然后對(duì)消息頭進(jìn)行解析判別。
[0067]如果消息頭是REGISTER,則本實(shí)施例構(gòu)造2000K響應(yīng)消息,以完成SIP終端代理的注冊(cè)請(qǐng)求;如果消息頭是INVITE,則本實(shí)施例從消息體中獲取被呼叫方的手機(jī)號(hào)碼,通過(guò)類 Microsoft.WindowsMobile.PocketOutlook.SmsMessage 構(gòu)造預(yù)定的短信內(nèi)容 VoIP_IN1:1P,發(fā)送給被呼叫方;如果消息頭是MovedMoved,即本消息為本實(shí)施例中被呼叫方發(fā)送過(guò)來(lái)用于重定向的信息,則解析出本消息中所包含的的被呼叫方的網(wǎng)絡(luò)信息,并將解析出的信息構(gòu)造重定向302Moved Temporarily響應(yīng)消息,然后通過(guò)套接字serverSocket.SendTo O將302重定向響應(yīng)發(fā)送給同一手機(jī)中的SIP終端代理。
[0068]本發(fā)明的面向GSM/WIFI網(wǎng)絡(luò)融合通信的分布式SIP重定向服務(wù)器構(gòu)建方法實(shí)現(xiàn)簡(jiǎn)單,通用性強(qiáng),且具有較強(qiáng)的擴(kuò)展性。需要說(shuō)明的是,本發(fā)明是以手機(jī)(如智能手機(jī))為例進(jìn)行說(shuō)明的,當(dāng)然,本發(fā)明所述的方法也可以應(yīng)用于其他類型的通訊裝置,如PDA(PerSonalDigital Assistant,個(gè)人數(shù)字助理)等。
【權(quán)利要求】
1.一種分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,該方法包括: 當(dāng)?shù)谝恢囟ㄏ蚍?wù)器監(jiān)聽(tīng)到第一通訊裝置向第二通訊裝置發(fā)送的會(huì)話請(qǐng)求時(shí),第一重定向服務(wù)器向第二通訊裝置發(fā)送一條第一預(yù)定格式的信息; 當(dāng)位于第二通訊裝置的第二重定向服務(wù)器監(jiān)聽(tīng)到該第一預(yù)定格式的信息時(shí),第二重定向服務(wù)器向第一通訊裝置發(fā)送一條第二預(yù)定格式的信息;及 當(dāng)位于第一通訊裝置的第一重定向服務(wù)器監(jiān)聽(tīng)到該第二預(yù)定格式的信息時(shí),利用該第二預(yù)定格式的信息進(jìn)行重定向處理,引導(dǎo)第一通訊裝置呼叫至重定向的位置。
2.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,所述第一預(yù)定格式的信息包含第一關(guān)鍵詞,所述第二預(yù)定格式的信息的消息頭包含第二關(guān)鍵詞。
3.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,所述第一預(yù)定格式的信息包括第一通訊裝置的號(hào)碼和第一通訊裝置中的終端代理的IP地址。
4.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,所述第二預(yù)定格式的信息包括第二通訊裝置的終端代理的IP地址及端口號(hào)。
5.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,該方法還包括步驟: 所述第二重定向服務(wù)器調(diào)用信息監(jiān)聽(tīng)函數(shù)監(jiān)聽(tīng)內(nèi)存映射文件中是否存在第一預(yù)定格式的信息,當(dāng)監(jiān)聽(tīng)到第一預(yù)定格式的信息后通過(guò)調(diào)用信息內(nèi)容獲取函數(shù)得到信息內(nèi)容和第一通訊裝置的號(hào)碼,該信息內(nèi)容包括第一通訊裝置中的終端代理的IP地址。
6.如權(quán)利要求5所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,該方法還包括步驟: 所述第二重定向服務(wù)器通過(guò)套接字將第二預(yù)定格式的信息發(fā)送到第一通訊裝置中的終端代理的IP地址。
7.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,該方法還包括步驟: 當(dāng)位于第一通訊裝置的第一重定向服務(wù)器監(jiān)聽(tīng)到第二預(yù)定格式的信息時(shí),解析該第二預(yù)定格式的信息中所包含的第二通訊裝置的網(wǎng)絡(luò)信息,并根據(jù)解析出的網(wǎng)絡(luò)信息構(gòu)造重定向響應(yīng)消息,然后通過(guò)套接字將該重定向響應(yīng)消息發(fā)送給第一通訊裝置的終端代理。
8.如權(quán)利要求1所述的分布式SIP重定向服務(wù)器構(gòu)建方法,其特征在于,所述第一預(yù)定格式的信息為SMS短信,所述第二預(yù)定格式的信息為WIFI網(wǎng)絡(luò)的消息體。
9.一種服務(wù)器,包括: 存儲(chǔ)器; 一個(gè)或多個(gè)處理器;以及 一個(gè)或多個(gè)模塊,所述一個(gè)或多個(gè)模塊被存儲(chǔ)在所述存儲(chǔ)器中并被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行,以完成以下指令: 當(dāng)監(jiān)聽(tīng)到第一通訊裝置向第二通訊裝置發(fā)送的會(huì)話請(qǐng)求時(shí),向第二通訊裝置發(fā)送一條第一預(yù)定格式的信息; 接收第二通訊裝置返回的一條第二預(yù)定格式的信息;及 利用該第二預(yù)定格式的信息進(jìn)行重定向處理,引導(dǎo)第一通訊裝置呼叫至重定向的位置。
10.一種服務(wù)器,包括: 存儲(chǔ)器; 一個(gè)或多個(gè)處理器;以及 一個(gè)或多個(gè)模塊,所述一個(gè)或多個(gè)模塊被存儲(chǔ)在所述存儲(chǔ)器中并被配置成由所述一個(gè)或多個(gè)處理器執(zhí)行,以完成以下指令: 當(dāng)?shù)谝煌ㄓ嵮b置向第二通訊裝置發(fā)起會(huì)話請(qǐng)求后,監(jiān)聽(tīng)是否收到第一預(yù)定格式的信息;及 當(dāng)接收到第一通訊裝置向第二通訊裝置發(fā)送的一條第一預(yù)定格式的信息時(shí),向第一通訊裝置發(fā)送一條第二預(yù)定格式的信息,以便利用該第二預(yù)定格式的信息進(jìn)行重定向處理,引導(dǎo)第一通訊裝置呼叫至重 定向的位置。
【文檔編號(hào)】H04L29/06GK103428208SQ201310332061
【公開(kāi)日】2013年12月4日 申請(qǐng)日期:2013年8月1日 優(yōu)先權(quán)日:2013年8月1日
【發(fā)明者】黃永峰, 周鵬, 袁鍵 申請(qǐng)人:清華大學(xué)