專利名稱:基于sip協(xié)議的終端設(shè)備狀態(tài)通知及控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,屬于通訊技術(shù)領(lǐng)域。
背景技術(shù):
SIP協(xié)議(Session Initiation Protocol)是一個(gè)會(huì)話層的信令控制協(xié)議,用于創(chuàng)建、修改和釋放一個(gè)或多個(gè)參與者的會(huì)話。在實(shí)際應(yīng)用中,電話控制端,比如基于SIP協(xié)議的IP呼叫中心往往需要對(duì)各個(gè)終端設(shè)備(如IP電話)進(jìn)行監(jiān)督及控制管理,此時(shí)需要了解各終端設(shè)備的相關(guān)狀態(tài)信息,比如摘掛機(jī)狀態(tài)、接通狀態(tài)、通話對(duì)端號(hào)碼等等,并根據(jù)這些狀態(tài)信息對(duì)終端設(shè)備進(jìn)行控制。由于SIP協(xié)議僅用于管理上述終端設(shè)備上所進(jìn)行的會(huì)話,而對(duì)終端設(shè)備的管理無任何規(guī)定,所以對(duì)于基于SIP協(xié)議的終端設(shè)備,該協(xié)議已經(jīng)無法滿足實(shí)際的需要,有必要對(duì)其進(jìn)行一定的擴(kuò)展,以增加如下的功能:1、終端設(shè)備物理狀態(tài)的通知即控制端可以從終端設(shè)備上獲取其物理狀態(tài)的相關(guān)信息,比如設(shè)備標(biāo)識(shí)、摘機(jī)狀態(tài)、掛機(jī)狀態(tài)等。2、終端設(shè)備通話狀態(tài)的通知即控制端可以從終端設(shè)備上獲取其通話狀態(tài)的相關(guān)信息,比如來電、撥號(hào)、接通、回叫、轉(zhuǎn)移狀態(tài)等。3、控制端對(duì)終端設(shè)備的控制即控制端能夠向終端設(shè)備發(fā)送控制命令,以改變終端設(shè)備的通話狀態(tài)。
發(fā)明內(nèi)容
有鑒于上述原因,本發(fā)明的目的在于提供一種基于SIP協(xié)議,并將SIP協(xié)議擴(kuò)展至可實(shí)現(xiàn)控制端監(jiān)督控制各個(gè)終端設(shè)備狀態(tài)的終端設(shè)備狀態(tài)通知及控制方法。為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,包括以下步驟:10)控制端向終端設(shè)備發(fā)送訂閱消息;20)該終端設(shè)備向該控制端發(fā)送訂閱成功消息;30)判斷該終端設(shè)備的狀態(tài)是否發(fā)生變化,若是則執(zhí)行步驟31),若否則執(zhí)行步驟
40);31)該終端設(shè)備向該控制端發(fā)送上報(bào)狀態(tài)消息;40)該控制端是否欲改變?cè)摻K端設(shè)備的狀態(tài),若是則執(zhí)行步驟41),若否則返回步驟 30);41)該控制端向該終端設(shè)備發(fā)送控制命令消息;42)該終端設(shè)備根據(jù)收到的控制命令改變狀態(tài)。
進(jìn)一步地:所述步驟20)之后還可包括以下步驟:A)所述控制端向所述終端設(shè)備發(fā)送狀態(tài)查詢消息;B)所述終端設(shè)備向所述控制端返回所述上報(bào)狀態(tài)消息。所述步驟10)之后還包括以下步驟:11)所述終端設(shè)備向所述控制端發(fā)送認(rèn)證請(qǐng)求消息;12)所述控制端向所述終端設(shè)備發(fā)送攜帶認(rèn)證信息的訂閱消息。所述控制端和所述終端設(shè)備之間的通訊使用基于SIP協(xié)議的SUBSCRIBE/NOTIFY機(jī)制。所述訂閱消息、所述上報(bào)狀態(tài)消息、所述控制命令消息、所述狀態(tài)查詢消息、所述認(rèn)證請(qǐng)求消息及所述攜帶認(rèn)證信息的訂閱消息,該些消息的內(nèi)容均記錄在SIP消息的消息體中進(jìn)行傳輸,且消息內(nèi)容均采用純文本模式。本發(fā)明的優(yōu)點(diǎn)在于:1、在SIP協(xié)議的基礎(chǔ)上對(duì)其進(jìn)行擴(kuò)展,無需重新開發(fā)一套基礎(chǔ)通訊機(jī)制,同時(shí)純文本消息也有利于控制端進(jìn)行分析;2、無需開啟新的TCP或UDP通道,之前打通的NAT通道也可以繼續(xù)使用;3、兼容性好,即使SIP終端設(shè)備沒有實(shí)現(xiàn)此功能或?qū)崿F(xiàn)了部分功能,也可以正常使用;如若不支持,就按普通的SIP終端使用;如若部分支持就使用其部分功能;4、利用SIP消息的消息體來承載相關(guān)通訊消息,有利于后續(xù)功能擴(kuò)展。
圖1為本發(fā)明中控制端與終端設(shè)備的拓?fù)鋱D;圖2為本發(fā)明的處理流程圖;圖3為本發(fā)明的一實(shí)施例的信號(hào)流向圖。
具體實(shí)施例方式以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。圖1為本發(fā)明中控制端與終端設(shè)備的拓?fù)鋱D。如圖所示,終端設(shè)備A和終端設(shè)備B在進(jìn)行基于SIP協(xié)議的會(huì)話,控制端希望隨時(shí)可以獲取到終端設(shè)備A的各種狀態(tài)信息,并根據(jù)這些狀態(tài)信息對(duì)其進(jìn)行控制,以實(shí)現(xiàn)對(duì)終端設(shè)備A的監(jiān)督和控制管理。本發(fā)明通過控制端先向終端設(shè)備A訂閱,之后一旦終端設(shè)備A的狀態(tài)發(fā)生變化就向控制端發(fā)送上報(bào)狀態(tài)消息,同時(shí)控制端可以向終端設(shè)備A發(fā)送控制命令消息的方法實(shí)現(xiàn)對(duì)終端設(shè)備A的監(jiān)督和控制。圖2為本發(fā)明的處理流程圖。如圖所示,本發(fā)明的具體步驟為:10:控制端向終端設(shè)備發(fā)送訂閱消息;20:該終端設(shè)備向控制端發(fā)送訂閱成功消息;若終端設(shè)備無響應(yīng),或響應(yīng)不支持此功能,則認(rèn)為該終端設(shè)備為一般SIP終端設(shè)備,不再執(zhí)行以下流程;30:該終端設(shè)備的狀態(tài)是否發(fā)生變化,若是則執(zhí)行步驟31,若否則執(zhí)行步驟40 ;
31:該終端設(shè)備向該控制端發(fā)送上報(bào)狀態(tài)消息;40:該控制端是否欲改變?cè)摻K端設(shè)備的狀態(tài),若是則執(zhí)行步驟41,若否則返回步驟30 ;41:控制端向該終端設(shè)備發(fā)送控制命令消息;42:終端設(shè)備根據(jù)收到的控制命令改變狀態(tài)。其中,控制端向終端設(shè)備訂閱成功后,即使終端設(shè)備的狀態(tài)未改變,控制端也可通過向終端設(shè)備發(fā)送狀態(tài)查詢消息獲取終端設(shè)備的當(dāng)前狀態(tài);終端設(shè)備收到該狀態(tài)查詢消息后先返回確認(rèn)消息,然后向控制端以所述上報(bào)狀態(tài)消息返回其當(dāng)前的狀態(tài)。本發(fā)明對(duì)終端設(shè)備的監(jiān)督和控制過程也可近似比擬成計(jì)算機(jī)網(wǎng)絡(luò)中的服務(wù)器和客戶端之間的通信,其中服務(wù)器相當(dāng)于終端設(shè)備,客戶端相當(dāng)于控制端,服務(wù)器和客戶端進(jìn)行通信之前需要先建立連接,之后客戶端即可根據(jù)需要向服務(wù)器請(qǐng)求資源。圖3為本發(fā)明的一實(shí)施例的信號(hào)流向圖。本實(shí)施例中,控制端可為控制中心的電腦上運(yùn)行的一個(gè)管理辦公I(xiàn)P電話的應(yīng)用程序,終端設(shè)備可為一臺(tái)作為辦公用分機(jī)的IP話機(jī),二者之間的信令通訊使用基于SIP協(xié)議的SUBSCRIBE/NOTIFY機(jī)制,其消息規(guī)范遵循RFC3265的定義。使用時(shí),將Event頭域定義為line-status,具體的消息類型、消息描述以及設(shè)備標(biāo)識(shí)等都記錄在SIP消息的消息體中,消息內(nèi)容采用純文本模式,即Content-Type字段值為text/plain。如圖3所示,當(dāng)控制端需要連接終端設(shè)備時(shí),先向終端設(shè)備發(fā)送訂閱消息,SPSUBSCRIBE消息,終端設(shè)備向控制端返回確認(rèn)消息2000K。其中,控制端向終端設(shè)備發(fā)送的
訂閱消息的消息體格式為:
Type: subscribeSubscribe: all其中,Type字段表示消息類型,其值為subscribe表示該消息為訂閱消息;Subscribe字段表示訂閱的類型,比如請(qǐng)求終端設(shè)備上報(bào)狀態(tài)等。終端設(shè)備收到該訂閱消息后,還需進(jìn)一步向控制端進(jìn)行認(rèn)證,步驟為:I)終端設(shè)備向控制端發(fā)送認(rèn)證請(qǐng)求消息401要求進(jìn)行認(rèn)證,該認(rèn)證請(qǐng)求消息中攜帶著Wffff-Authenticate頭域,要求MD5認(rèn)證;2)控制端向終端設(shè)備發(fā)送攜帶認(rèn)證信息的訂閱消息,該認(rèn)證信息包含在Authorization頭域中,內(nèi)容是根據(jù)預(yù)先設(shè)置好的用戶名和密碼(如用戶名和密碼均為1001)而計(jì)算出的MD5值。該攜帶認(rèn)證信息的訂閱消息的消息體與未攜帶認(rèn)證信息的訂閱消息的消息體相同。終端設(shè)備收到該攜帶認(rèn)證信息的訂閱消息后進(jìn)行認(rèn)證,認(rèn)證成功后返回訂閱成功消息2000K。訂閱成功后,當(dāng)終端設(shè)備的狀態(tài)發(fā)生變化時(shí),該終端設(shè)備即可主動(dòng)的向控制端發(fā)送上報(bào)狀態(tài)消息,該上報(bào)狀態(tài)消息為攜帶著變化后狀態(tài)的NOTIFY消息,上報(bào)的狀態(tài)包括終端設(shè)備的物理狀態(tài)和通話狀態(tài),其中,物理狀態(tài)可包括摘機(jī)、掛機(jī)、設(shè)備標(biāo)識(shí)等,通話狀態(tài)可包括來電、振鈴、撥號(hào)、回叫、接通、保持、靜音、掛斷、轉(zhuǎn)移等等。如圖,控制端向終端設(shè)備訂閱成功后,即使終端設(shè)備的狀態(tài)因未發(fā)生變化而沒有上報(bào)給控制端,控制端也可通過發(fā)送狀態(tài)查詢消息來獲取終端設(shè)備的當(dāng)前狀態(tài),該狀態(tài)查詢消息為攜帶著查詢命令信息的NOTIFY消息;終端設(shè)備收到該狀態(tài)查詢消息后先返回確認(rèn)消息2000K,然后將終端設(shè)備當(dāng)前的狀態(tài)以所述上報(bào)狀態(tài)消息的形式發(fā)送給控制端。比如,控制端欲查詢終端設(shè)備上第一路線路的線路狀態(tài),就向終端設(shè)備發(fā)送狀態(tài)查詢消息,該狀態(tài)查詢消息的消息體格式為:
權(quán)利要求
1.一種基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,其特征在于,該方法包括以下步驟: 10)控制端向終端設(shè)備發(fā)送訂閱消息; 20)該終端設(shè)備向該控制端發(fā)送訂閱成功消息; 30)判斷該終端設(shè)備的狀態(tài)是否發(fā)生變化,若是則執(zhí)行步驟31),若否則執(zhí)行步驟40); 31)該終端設(shè)備向該控制端發(fā)送上報(bào)狀態(tài)消息; 40)該控制端是否欲改變?cè)摻K端設(shè)備的狀態(tài),若是則執(zhí)行步驟41),若否則返回步驟30); 41)該控制端向該終端設(shè)備發(fā)送控制命令消息; 42)該終端設(shè)備根據(jù)收到的控制命令改變狀態(tài)。
2.如權(quán)利要求1所述的基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,其特征在于,所述步驟20)之后還可包括以下步驟: A)所述控制端向所述終端設(shè)備發(fā)送狀態(tài)查詢消息; B)所述終端設(shè)備向所述控制端返回所述上報(bào)狀態(tài)消息。
3.如權(quán)利要求2所述的基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,其特征在于,所述步驟10)之后還包括以下步驟: 11)所述終端設(shè)備向所述控制端發(fā)送認(rèn)證請(qǐng)求消息; 12)所述控制端向所述終端設(shè)備發(fā)送攜帶認(rèn)證信息的訂閱消息。
4.如權(quán)利要求3所述的基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,其特征在于,所述控制端和所述終端設(shè)備之間的通訊使用基于SIP協(xié)議的SUBSCRIBE/NOTIFY機(jī)制。
5.如權(quán)利要求4所述的基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,其特征在于,所述訂閱消息、所述上報(bào)狀態(tài)消息、所述控制命令消息、所述狀態(tài)查詢消息、所述認(rèn)證請(qǐng)求消息及所述攜帶認(rèn)證信息的訂閱消息,該些消息的內(nèi)容均記錄在SIP消息的消息體中進(jìn)行傳輸,且消息內(nèi)容均采用純文本模式。
全文摘要
本發(fā)明公開了一種基于SIP協(xié)議的終端設(shè)備狀態(tài)通知及控制方法,包括以下步驟控制端向終端設(shè)備發(fā)送訂閱消息;該終端設(shè)備向控制端發(fā)送訂閱成功消息;若該終端設(shè)備的狀態(tài)發(fā)生變化,則向該控制端發(fā)送上報(bào)狀態(tài)消息;若沒有變化則判斷控制端是否欲改變?cè)摻K端設(shè)備的狀態(tài),若是則該控制端向該終端設(shè)備發(fā)送控制命令消息,該終端設(shè)備收到該控制命令消息后根據(jù)控制命令改變狀態(tài);若否則返回到判斷終端設(shè)備的狀態(tài)是否發(fā)生變化步驟。本發(fā)明在SIP協(xié)議的基礎(chǔ)上對(duì)該協(xié)議進(jìn)行了擴(kuò)展,因而無需開發(fā)新的通信協(xié)議就可實(shí)現(xiàn)對(duì)終端設(shè)備的監(jiān)督和控制管理,且兼容性好,易于后續(xù)功能擴(kuò)展。
文檔編號(hào)H04L29/06GK103188250SQ20111046064
公開日2013年7月3日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者張徽 申請(qǐng)人:北京大唐高鴻軟件技術(shù)有限公司