一種服務(wù)端自動配置信息的方法
【專利摘要】本申請記載了一種服務(wù)端自動配置信息的方法,涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,基于開源SIP服務(wù)器的基礎(chǔ)上,通過組播消息以使客戶端向該服務(wù)器發(fā)送請求服務(wù)信息,并繼續(xù)在后續(xù)的數(shù)據(jù)交互過程中,客戶端獲取并根據(jù)開源SIP服務(wù)器的設(shè)備描述信息和服務(wù)描述信息對該開源SIP服務(wù)器進(jìn)行控制操作,進(jìn)而自動完成諸如客戶端與服務(wù)器之間的自動注冊等操作,在提高客戶體驗(yàn)的同時,還有效的增大了產(chǎn)品的服務(wù)質(zhì)量。
【專利說明】一種服務(wù)端自動配置信息的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種基于開源SIP服務(wù)端自動配置信 息的方法。
【背景技術(shù)】
[0002] 會話發(fā)起協(xié)議(Session Initiation Protocol,簡稱SIP)是一個應(yīng)用層的信 令控制協(xié)議,用于創(chuàng)建、修改和釋放一個或多個參與者的會話,而這些會話可以是因特網(wǎng) (Internet)多媒體會議、網(wǎng)絡(luò)(Internet Protocol,簡稱IP)電話或多媒體分發(fā),且會話的 參與者可以通過組播(multicast)、網(wǎng)狀單播(unicast)或兩者混合的方式進(jìn)行通信。
[0003]目前,隨著網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)設(shè)備的發(fā)展,無論是設(shè)備還是網(wǎng)絡(luò)協(xié)議都需要支持更 加智能化的功能,尤其是在客戶端與服務(wù)端自動配置方面,但傳統(tǒng)的SIP客戶端在注冊至 SIP服務(wù)器上時,均需要用戶輸入訪問的服務(wù)器的IP地址、端口以及用戶名、密碼等數(shù)據(jù)信 息,才能獲取配置信息,以完成注冊至上述需要訪問的服務(wù)器的操作;由于進(jìn)行上述操作動 作是非自動的,甚至需要用戶手動進(jìn)行繁雜的設(shè)置,進(jìn)而使得客戶體驗(yàn)較差,大大降低了產(chǎn) 品的服務(wù)質(zhì)量。
【發(fā)明內(nèi)容】
[0004] 針對上述技術(shù)問題,本申請?zhí)峁┝艘环N服務(wù)端自動配置信息的方法,應(yīng)用于SIP 通信網(wǎng)絡(luò)中服務(wù)器與客戶端之間的數(shù)據(jù)交互,所述方法包括:
[0005] 所述服務(wù)器通過所述通信網(wǎng)絡(luò)向所述客戶端監(jiān)聽的組播地址發(fā)送組播消息,以使 所述客戶端獲取所述組播消息;
[0006] 所述客戶端根據(jù)獲取的所述組播消息發(fā)送查詢消息至所述服務(wù)器后,該服務(wù)器回 復(fù)設(shè)備描述消息至所述客戶端;
[0007] 所述客戶端根據(jù)獲取的所述設(shè)備描述消息發(fā)送具體描述請求至所述服務(wù)器,該服 務(wù)器回復(fù)服務(wù)描述消息至所述客戶端;
[0008] 所述客戶端利用所述服務(wù)描述消息對所述服務(wù)器進(jìn)行控制操作;
[0009] 其中,所述設(shè)備描述消息包括所述服務(wù)器提供服務(wù)的服務(wù)數(shù)據(jù)和設(shè)備的物理及邏 輯數(shù)據(jù);所述服務(wù)描述消息包括命令數(shù)據(jù)和/或動作數(shù)據(jù),以及設(shè)備對所述命令數(shù)據(jù)和/或 所述動作數(shù)據(jù)的回復(fù)數(shù)據(jù)。
[0010] 上述的服務(wù)端自動配置信息的方法,所述客戶端利用所述服務(wù)描述消息對所述服 務(wù)器進(jìn)行控制操作的步驟具體為:
[0011] 所述客戶端根據(jù)其獲取的所述服務(wù)描述消息發(fā)送控制消息至所述服務(wù)器,所述服 務(wù)器根據(jù)所述控制消息回復(fù)所述客戶端相應(yīng)服務(wù)的信息。
[0012] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器為開源SIP服務(wù)器。
[0013] 上述的服務(wù)端自動配置信息的方法,所述組播消息包括所述服務(wù)器的URL,且所述 客戶端根據(jù)所述服務(wù)器的URL向所述服務(wù)器發(fā)送所述查詢消息。
[0014] 上述的服務(wù)端自動配置信息的方法,所述組播消息包括所述服務(wù)器提供的當(dāng)前服 務(wù)的失效時間,所述方法還包括:
[0015] 當(dāng)所述客戶端在所述失效時間后需要繼續(xù)進(jìn)行所述當(dāng)前服務(wù)時,所述服務(wù)器重新 發(fā)送所述組播消息,以繼續(xù)向所述客戶端提供所述當(dāng)前服務(wù)。
[0016] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器根據(jù)預(yù)設(shè)的時間以階段性的方式 向所述組播地址發(fā)送所述組播消息;
[0017] 其中,所述預(yù)設(shè)的時間小于所述失效時間。
[0018] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器以連續(xù)的方式向所述組播地址發(fā) 送所述組播消息,且每次連續(xù)發(fā)送所述組播消息的次數(shù)小于或等于三次。
[0019] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器提供的服務(wù)數(shù)據(jù)包括服務(wù)的類 型、服務(wù)的名字和服務(wù)的URL;
[0020] 所述設(shè)備的物理及邏輯數(shù)據(jù)包括指定設(shè)備的設(shè)備名、指定設(shè)備的設(shè)備號、指定設(shè) 備的序列號和指定設(shè)備的網(wǎng)站。
[0021] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器基于XML生成所述設(shè)備描述消息 和所述服務(wù)描述消息。
[0022] 上述的服務(wù)端自動配置信息的方法,所述服務(wù)器回復(fù)的消息的格式均是基于TCP 的HTTP的格式,且所述服務(wù)器采用SOAP封裝回復(fù)動作的消息。
[0023] 綜上所述,由于采用了上述技術(shù)方案,本申請?zhí)岢龅囊环N服務(wù)端自動配置信息的 方法,基于開源SIP(opensips)服務(wù)器,通過組播消息以使得客戶端向該服務(wù)器發(fā)送請求 服務(wù)信息,并繼續(xù)在后續(xù)的數(shù)據(jù)交互過程中,客戶端獲取并根據(jù)開源SIP服務(wù)器的設(shè)備描 述信息和服務(wù)描述信息對該開源SIP服務(wù)器進(jìn)行控制操作,進(jìn)而自動完成諸如客戶端與服 務(wù)器之間的自動注冊等操作,在提高客戶體驗(yàn)的同時,還有效的增大了產(chǎn)品的服務(wù)質(zhì)量。
【專利附圖】
【附圖說明】
[0024] 圖1是本申請實(shí)施例中服務(wù)端自動配置信息中發(fā)現(xiàn)階段的數(shù)據(jù)交互示意圖;
[0025] 圖2是本申請實(shí)施例中服務(wù)端自動配置信息中描述階段的數(shù)據(jù)交互示意圖;
[0026] 圖3是本申請實(shí)施例中服務(wù)端自動配置信息中控制階段的數(shù)據(jù)交互示意圖。
【具體實(shí)施方式】
[0027] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其 他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0028] 本申請中提供了一種實(shí)現(xiàn)基于開源SIP(0penSip S)服務(wù)器的服務(wù)端側(cè)自動配置 模塊的實(shí)現(xiàn)方法,其主要包括有三個階段,即發(fā)現(xiàn)階段、描述階段和控制階段。
[0029] 在發(fā)現(xiàn)階段中,Opensips服務(wù)器向某個組播地址(客戶端監(jiān)聽該組播地址,以接 收服務(wù)端側(cè)的通知)發(fā)送組播消息,且該組播消息中攜帶有該Opensips服務(wù)器的統(tǒng)一資源 定位符(Uniform Resource Locator,簡稱URL),以用來讓客戶端(如移動通信終端等)向 服務(wù)器請求服務(wù)(service)信息。
[0030] 于上述發(fā)現(xiàn)階段后,繼續(xù)進(jìn)行Opensips服務(wù)端提供服務(wù)的描述階段,即客戶端 根據(jù)之前獲得的組播信息中Opensips的URL,向該opensips服務(wù)器發(fā)送查詢消息,以讓 Opensips服務(wù)器提供攜帶有其提供的各種服務(wù)的設(shè)備描述信息(該設(shè)備描述消息包括 Opensips服務(wù)器所提供服務(wù)的服務(wù)數(shù)據(jù)和設(shè)備的物理及邏輯數(shù)據(jù)) ;0penSipS服務(wù)器回復(fù) 上述的設(shè)備描述信息至客戶端后,該客戶端根據(jù)設(shè)備描述信息中各個服務(wù)所對應(yīng)的URL繼 續(xù)向Opensips服務(wù)器發(fā)送查詢服務(wù)的具體描述請求,相應(yīng)的Opensips服務(wù)器就會回復(fù)客 戶端所請求服務(wù)的服務(wù)描述信息,該服務(wù)描述消息包括命令數(shù)據(jù)和/或動作數(shù)據(jù),以及設(shè) 備對命令數(shù)據(jù)和/或動作數(shù)據(jù)的回復(fù)數(shù)據(jù),如該服務(wù)描述信息中包括Opensips服務(wù)器提供 的動作與參數(shù)等信息。
[0031] 繼續(xù)進(jìn)行控制階段,即客戶端根據(jù)之前Opensips服務(wù)器側(cè)提供的服務(wù)描述信息 里的動作與參數(shù)等信息,向Opensips發(fā)送控制消息,比如獲得客戶端注冊的相關(guān)信息、與 在線用戶進(jìn)行數(shù)據(jù)交互等消息;當(dāng)Opensips服務(wù)器收到上述的控制消息后,根據(jù)該控制消 息中對應(yīng)動作,回復(fù)給客戶端相應(yīng)的信息,進(jìn)而完成控制操作。
[0032] 下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明,但不作為本發(fā)明的限定。
[0033] 圖1是本申請實(shí)施例中服務(wù)端自動配置信息中發(fā)現(xiàn)階段的數(shù)據(jù)交互示意圖,圖2 是本申請實(shí)施例中服務(wù)端自動配置信息中描述階段的數(shù)據(jù)交互示意圖,圖3是本申請實(shí)施 例中服務(wù)端自動配置信息中控制階段的數(shù)據(jù)交互示意圖;如圖1?3所示,本申請一種服務(wù) 端自動配置信息的方法,具體包括以下步驟:
[0034] 首先,如圖1所示,于發(fā)現(xiàn)階段中,當(dāng)服務(wù)器(如Opensips服務(wù)器)獲得IP地址 加入通信網(wǎng)絡(luò)時,向該通信網(wǎng)絡(luò)中的客戶端(如移動通信終端(Phone client)等)發(fā)送組 播消息(Notify),即服務(wù)器向客戶端監(jiān)聽的組播地址(Multi cast)發(fā)送組播消息,如服務(wù) 器向組播地址為(239. 255. 255. 250:1900)發(fā)送組播消息,客戶端監(jiān)聽該端口以獲得通知 (Advertise);另外,上述的組播消息中包含有當(dāng)前服務(wù)的失效時間(expire time),以通 知獲取該組播消息的客戶端當(dāng)前服務(wù)維持的時間,而當(dāng)客戶端在上述的失效時間(expire time)后還要繼續(xù)進(jìn)行當(dāng)前的服務(wù),則服務(wù)器會重新發(fā)送組播消息以讓客戶端更新失效時 間(expire time)〇
[0035] 優(yōu)選的,服務(wù)器(Opensips)發(fā)送的組播消息的封包可為基于UDP的http格式,相 應(yīng)的由于UDP為不可靠傳輸,所以可設(shè)置服務(wù)器進(jìn)行連續(xù)發(fā)送組播消息。具體的,為了避免 網(wǎng)絡(luò)擁塞可將服務(wù)器連續(xù)發(fā)送組播消息的次數(shù)設(shè)置為小于或等于三次。
[0036] 具體的,服務(wù)器(Opensips)發(fā)送組播消息的數(shù)據(jù)包格式可設(shè)為:
[0037]N0TIFY*HTTP/1. 1
[0038] HOST:239. 255. 255. 250:1900
[0039] CACHE-CONTROL:max-age= secondsuntiladvertisementexpires
[0040]LOCATION:URLfordescriptionforopensips
[0041]NT:searchtarget
[0042]USN:advertisementUUID
[0043] 其中,數(shù)據(jù)包字段描述為:
[0044]N0TIFY*HTTP/1.1 :N0TIFY表示請求的方法
[0045]HOST :組播的信道和端口
[0046] CACHE-CONTROL:服務(wù)器(opensips)提供服務(wù)的時間
[0047] LOCATION :服務(wù)器(opensips)描述信息的 URL
[0048] NT :通知的類型
[0049] USN :唯一的服務(wù)名字,用來標(biāo)識服務(wù)器(opensips)設(shè)備
[0050]優(yōu)選的,服務(wù)器(Opensips)可階段性的發(fā)送組播消息(Notify),以更新緩存控制 (CACHE-CONTROL)字段;而為了使客戶端能夠在失去服務(wù)中恢復(fù)過來,可設(shè)置階段性發(fā)送 組播消息的時間為小于提供服務(wù)時間的一半(即小于上述失效時間的一半)的一個隨機(jī) 值。
[0051] 其次,于發(fā)現(xiàn)階段后繼續(xù)進(jìn)行描述階段,如圖2所示,在客戶端發(fā)現(xiàn)服務(wù)器 (opensips)后,客戶端從之前獲取的組播消息中獲取服務(wù)器(opensips)的URL,并根據(jù)該 URL來獲取設(shè)備的描述和服務(wù)的能力,具體的:
[0052] 步驟①,客戶端(client)根據(jù)上述的URL(客戶端從之前獲取的組播消息中獲取 服務(wù)器(opensips)的URL)發(fā)送查詢消息至服務(wù)器(http get device description);
[0053] 步驟②,服務(wù)器發(fā)送包括有提供各種服務(wù)相關(guān)參數(shù)(如每個服務(wù)對應(yīng)的URL)的設(shè) 備描述消息至客戶端(description for device);
[0054] 步驟③,客戶端根據(jù)其獲取的上述設(shè)備描述信息發(fā)送具體描述請求至服務(wù)器 (http get service description);
[0055] 步驟④,服務(wù)器將服務(wù)描述消息發(fā)送至客戶端(service description)。
[0056] 優(yōu)選的,上述的設(shè)備描述消息包括有提供服務(wù)數(shù)據(jù)和設(shè)備的物理及邏輯數(shù)據(jù);提 供服務(wù)數(shù)據(jù)主要用于描述設(shè)備提供服務(wù)的能力,其該提供服務(wù)數(shù)據(jù)包括一系列的命令和/ 或動作,以及設(shè)備對于每個命令和/或動作的回復(fù)數(shù)據(jù)(如回復(fù)參數(shù)和/或結(jié)論等);設(shè)備 的物理及邏輯數(shù)據(jù)則是用于描述設(shè)備的物理和邏輯的內(nèi)容,且該設(shè)備的物理及邏輯數(shù)據(jù)包 括有開發(fā)者的指定設(shè)備的參數(shù)(如設(shè)備名、設(shè)備號、設(shè)備的序列號及設(shè)備的網(wǎng)站等)和服務(wù) 器提供各種的服務(wù)的參數(shù)(如服務(wù)類型、服務(wù)名字、以及服務(wù)的URL等)。
[0057] 優(yōu)選的,客戶端需要獲取服務(wù)器的設(shè)備描述消息時,發(fā)送"http get device description"請求即可獲得服務(wù)器的設(shè)備描述消息,發(fā)送"http get service description"請求至服務(wù)器即可獲得該服務(wù)器的服務(wù)描述消息。
[0058] 優(yōu)選的,服務(wù)器(Opensips)是以基于tcp的http消息格式進(jìn)行回復(fù)消息;其中, 該服務(wù)器回復(fù)的http頭可以和標(biāo)準(zhǔn)的http的回復(fù)一樣,且body部分里攜帶xml格式的設(shè) 備描述消息或xml格式的服務(wù)描述消息,具體的:
[0059] HTTP/1. 1200 0K
[0060] CONTENT-LANGUAGE:language used in description
[0061] CONTENT-LENGTH:Bytes in body
[0062] CONTENT-TYPE:text/xml
[0063] DATE:when responded
[0064] Body:description
[0065]其中,xml格式的設(shè)備描述消息(即Body部分)可為:
[0066]
【權(quán)利要求】
1. 一種服務(wù)端自動配置信息的方法,其特征在于,應(yīng)用于SIP通信網(wǎng)絡(luò)中服務(wù)器與客 戶端之間的數(shù)據(jù)交互,所述方法包括: 所述服務(wù)器通過所述通信網(wǎng)絡(luò)向所述客戶端監(jiān)聽的組播地址發(fā)送組播消息,以使所述 客戶端獲取所述組播消息; 所述客戶端根據(jù)獲取的所述組播消息發(fā)送查詢消息至所述服務(wù)器后,該服務(wù)器回復(fù)設(shè) 備描述消息至所述客戶端; 所述客戶端根據(jù)獲取的所述設(shè)備描述消息發(fā)送具體描述請求至所述服務(wù)器,該服務(wù)器 回復(fù)服務(wù)描述消息至所述客戶端; 所述客戶端利用所述服務(wù)描述消息對所述服務(wù)器進(jìn)行控制操作; 其中,所述設(shè)備描述消息包括所述服務(wù)器提供服務(wù)的服務(wù)數(shù)據(jù)和設(shè)備的物理及邏輯數(shù) 據(jù);所述服務(wù)描述消息包括命令數(shù)據(jù)和/或動作數(shù)據(jù),以及設(shè)備對所述命令數(shù)據(jù)和/或所述 動作數(shù)據(jù)的回復(fù)數(shù)據(jù)。
2. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述客戶端利用所 述服務(wù)描述消息對所述服務(wù)器進(jìn)行控制操作的步驟具體為: 所述客戶端根據(jù)其獲取的所述服務(wù)描述消息發(fā)送控制消息至所述服務(wù)器,所述服務(wù)器 根據(jù)所述控制消息回復(fù)所述客戶端相應(yīng)服務(wù)的信息。
3. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述服務(wù)器為開源 SIP服務(wù)器。
4. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述組播消息包括 所述服務(wù)器的URL,且所述客戶端根據(jù)所述服務(wù)器的URL向所述服務(wù)器發(fā)送所述查詢消息。
5. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述組播消息包括 所述服務(wù)器提供的當(dāng)前服務(wù)的失效時間,所述方法還包括: 當(dāng)所述客戶端在所述失效時間后需要繼續(xù)進(jìn)行所述當(dāng)前服務(wù)時,所述服務(wù)器重新發(fā)送 所述組播消息,以繼續(xù)向所述客戶端提供所述當(dāng)前服務(wù)。
6. 如權(quán)利要求5所述的服務(wù)端自動配置信息的方法,其特征在于,所述服務(wù)器根據(jù)預(yù) 設(shè)的時間以階段性的方式向所述組播地址發(fā)送所述組播消息; 其中,所述預(yù)設(shè)的時間小于所述失效時間。
7. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述服務(wù)器以連續(xù) 的方式向所述組播地址發(fā)送所述組播消息,且每次連續(xù)發(fā)送所述組播消息的次數(shù)小于或等 于三次。
8. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述服務(wù)器提供的 服務(wù)數(shù)據(jù)包括服務(wù)的類型、服務(wù)的名字和服務(wù)的URL ; 所述設(shè)備的物理及邏輯數(shù)據(jù)包括指定設(shè)備的設(shè)備名、指定設(shè)備的設(shè)備號、指定設(shè)備的 序列號和指定設(shè)備的網(wǎng)站。
9. 如權(quán)利要求1所述的服務(wù)端自動配置信息的方法,其特征在于,所述服務(wù)器基于XML 生成所述設(shè)備描述消息和所述服務(wù)描述消息。
10. 如權(quán)利要求1?9中任意一項(xiàng)所述的服務(wù)端自動配置信息的方法,其特征在于,所 述服務(wù)器回復(fù)的消息的格式均是基于TCP的HTTP的格式,且所述服務(wù)器采用SOAP封裝回 復(fù)動作的消息。
【文檔編號】H04L29/06GK104320399SQ201410593977
【公開日】2015年1月28日 申請日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】龐駿 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司