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