專利名稱:基于VoIP技術的“一鍵通”業務實現系統及方法
技術領域:
本發明涉及即時通訊領域,具體涉及一種基于VoIP技術的一鍵通業務實現系統及方法。
背景技術:
在當今信息化時代,人們總希望一按某一個鍵就立即可以通話,而不像公眾移動電話那樣先撥11位數,還要等數ms或更長時間才能通話,若遇對方正在通話還不知何時可以通話,不論你有多么急的事都只有耐心等,而PTT(Push To T主叫端lk),即“一鍵通”業務,可以快速建立通話,為手機用戶提供類似集群系統的“一對一”或“一對多”半雙工通話的通訊業務。
PTT最早源于北美的CDMA網絡,基于CDMA 1x的PTT業務在很短的時間內就吸引了眾多的用戶。后來各大運營商和制造商相繼跟進,推出各類有關的PTT業務。目前,該項技術已被成功的應用到GSM和CDMA網絡之中。
公眾移動網中,不論是GSM還是CDMA,其PTT都是采用全數字VoIP技術,它根據會話發起協議(SIP)和多媒體子系統(IMS)而設計,該技術是基于分組數據網絡、存貯交換原理,而不同于集群專業網中的電路直接傳輸交換。
寬帶網絡技術的不斷發展以及寬帶網絡的普遍應用,為基于VoIP技術的“一鍵通”業務的實現和規模使用提供了可能。然而,眾所周知,IP地址的匱乏造成了網絡拓撲結構的復雜性,因而,在現有的基于VoIP技術的PTT實現方案中,都需要解決不同局域網內用戶之間的PTT呼叫問題。
為了解決私網用戶的網絡穿越問題,通常情況下,基于VoIP技術的PTT系統均需要增加一個系統設備來控制和處理媒體包。然而,如何有效地提高PTT呼叫的效率,減少系統設備的負荷,則是基于VoIP技術的PTT系統需要重點解決的問題之一。
發明內容
本發明所要解決的技術問題在于提供一種基于VoIP技術的一鍵通業務實現方法,在實現不同局域網用戶之間的PTT呼叫的同時,提高PTT呼叫的效率,縮短呼叫建立時間,減輕系統設備的負荷,提高媒體傳輸的實時性。
本發明提供一種基于VoIP技術的一鍵通業務實現系統,包括一鍵通客戶端,用于發起/接受一鍵通呼叫請求,并進行媒體流的編解碼,還包括用戶在線服務器,用于接受所述客戶端的登記注冊,記錄客戶端的連接屬性,并據此轉發一鍵通呼叫請求,在只有公網客戶端參與的一鍵通呼叫中,協助所述客戶端之間直接建立媒體通道,交換媒體包;寬帶網關設備,通過內部接口與所述用戶在線服務器相連,用于在具有網絡地址轉換設備的私網客戶端參與的一鍵通呼叫中,與所述在線服務器進行信令協商,并作為中介為所述客戶端建立媒體通道,交換媒體包。
本發明進而提供一種基于VoIP技術的一鍵通業務實現方法,包括如下步驟(1)一鍵通客戶端向用戶在線服務器登記注冊;(2)一鍵通主叫發起端向所述在線服務器發送呼叫請求;(3)所述在線服務器根據該呼叫請求判斷呼叫群組內用戶的網絡屬性屬于公網用戶還是有私網用戶;(4)所述在線服務器根據網絡屬性向被叫端轉發呼叫信令,協助用戶間建立媒體通道,交換媒體包,其中,對于只有公網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,用戶之間直接建立媒體通道,交換媒體包;
對于具有網絡地址轉換功能的私網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,并與寬帶網關進行信令協商,經由寬帶網關建立媒體通道,交換媒體包。
本發明在現有的網絡架構中,實現了一種基于VoIP技術的PTT業務,可以自適應地區分不同PTT用戶,根據用戶屬性采取不同的媒體處理方案,極大地提高了PTT呼叫的效率,進一步縮短了呼叫建立時間,而且還有效地減輕了系統設備的負荷,提高了媒體傳輸的實時性。
圖1是應用本發明的系統組網結構示意圖;圖2是本發明的實現方法流程圖;圖3是本發明中公網用戶“一對一”的PTT呼叫接口及流程說明;圖4是本發明中私網用戶參與的“一對一”PTT呼叫接口及流程說明;圖5是本發明中私網用戶參與的“一對多”PTT呼叫接口及流程說明。
具體實施例方式
本發明提供一種基于VoIP技術的“一鍵通”業務實現系統及方法,所使用的設備主要包括PTT客戶端,用戶在線服務器PS和寬帶網關設備BGW。PTT客戶端可以發起或接受PTT呼叫請求;用戶在線服務器負責PTT呼叫請求的處理,同時,在有私網用戶參與的PTT呼叫中,用戶在線服務器還負責向寬帶網關設備發送PTT呼叫信息,以便寬帶網關確定媒體轉發準則;寬帶網關設備不參與公網用戶之間的PTT呼叫,它在有私網用戶參與的PTT呼叫過程中發揮重要作用,媒體包的轉發將由寬帶網關設備來完成。本發明采用Client-Server(客戶端-服務器)的架構配置系統,PTT客戶端和在線服務器之間以SIP(Session Initiation Protocol)協議進行通訊,在線服務器與寬帶網關設備之間使用內部接口。客戶端的請求或響應被封裝到SIP消息的MESSAGE源語之中進行傳輸。
PTT呼叫雙方均按照會話描述協議(SDP,Session Description Protocol)描述自己的媒體,然后將該SDP封裝到SIP-MESSAGE之中并發送給在線服務器,由在線服務器轉發該消息。呼叫雙方接收到對方的消息之后,提取對方的SDP描述并進行解碼,進一步完成媒體的協商和媒體通道的建立。對于兩個公網用戶,雙方直接通過在線服務器交換各自的SDP描述,以便建立PTT呼叫的媒體通道;而對于具有網絡地址轉換功能的私網用戶,PTT呼叫信令同樣由在線服務器來轉發,但是,在線服務器與寬帶網關還必須進行建立媒體通道的信令協商,由寬帶網關建立媒體通道,制定媒體轉發機制,實現雙方之間的媒體包交換。
本發明可以自適應地區分不同PTT用戶,根據用戶屬性采取不同的媒體處理方案。PTT客戶端向在線服務器注冊時,需要將自己的連接屬性通過SIP協議的MESSAGE源語發送給在線服務器。連接屬性主要包括客戶端所在計算機的IP地址以及連接的端口號。在線服務器根據該信息以及PTT客戶端向在線服務器注冊所使用的地址和端口號,即可對該客戶端的網絡屬性進行判斷。在進行PTT呼叫時,即可判斷出該PTT呼叫群組內的用戶是否是公網用戶或者是否位于同一個局域網內。
本發明中PTT呼叫不僅包含音頻流,同時還包含視頻流。音頻和視頻的編解碼均在PTT客戶端來完成。其中,音頻處理支持G.711、G.729和G.723標準,視頻編解碼采用H.263標準。
本發明中所述的“公網用戶”,既指因特網上的公網用戶,也包含位于同一個局域網內的用戶;“私網用戶”是指不在同一個局域網內的用戶。
如圖1所示,為應用本發明的系統組網結構示意圖。本系統由PTT客戶端,用戶在線服務器和寬帶網關組成,其中,私網客戶端具有網絡地址轉換(NAT)設備。PTT客戶端和在線服務器之間可以采用SIP協議進行信令的交互;當PTT呼叫建立起來之后,客戶端之間以及客戶端與寬帶網關之間的媒體傳輸可以采用RTP/RTCP協議;在線服務器與寬帶網關之間可以采用內部自定義的接口。PTT客戶端可以發起或接受PTT呼叫請求,同時它還負責音頻和視頻媒體流的編解碼;用戶在線服務器負責PTT客戶端的登記與注冊,同時記錄PTT客戶端的連接屬性,并完成PTT呼叫請求的轉發;寬帶網關設備用于私網用戶參與的PTT呼叫,由它來完成媒體包的控制與分發。公網用戶之間的PTT呼叫與寬帶網關無關。
如圖2所示,為本發明的實現方法流程圖,首先一鍵通客戶端向用戶在線服務器登記注冊(步驟201);當一鍵通主叫發起端向所述在線服務器發送呼叫請求時(步驟202);所述在線服務器根據該呼叫請求判斷呼叫群組內用戶的網絡屬性屬于公網用戶還是有私網用戶(步驟203);然后所述在線服務器根據網絡屬性向被叫端轉發呼叫信令,并協助用戶間建立媒體通道,交換媒體包(步驟204),對于只有公網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,用戶之間直接建立媒體通道,交換媒體包,對于具有網絡地址轉換功能的私網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,并與寬帶網關進行信令協商,經由寬帶網關建立媒體通道,交換媒體包。
在本發明中,由于公網用戶之間的PTT呼叫與有私網用戶參與的PTT呼叫流程上存在較大差異,所以,必須對各個客戶端用戶的網絡屬性進行判斷和區分。該項工作可以在PTT客戶端向在線服務器注冊的過程中來完成。
PTT客戶端首先必須向在線服務器登記和注冊。登記和注冊采用SIP協議完成。當注冊成功之后,PTT客戶端還需要將自己的連接屬性通過SIP協議的MESSAGE源語發送給在線服務器。連接屬性主要包括客戶端所在計算機的IP地址以及連接的端口號。同時,在線服務器根據Socket API即可獲取PTT客戶端向在線服務器注冊所使用地址和端口號,二者比較,可對該客戶端的網絡屬性進行判斷,確定該用戶為私網用戶還是公網用戶。
如圖3所示,對于公網用戶,PTT客戶端A和B向在線服務器注冊完成之后,A向B發起一個PTT呼叫,過程如下1、A將自己的媒體信息以SDP描述,并將該SDP封裝到SIP-MESSAGE消息之中,發送給在線服務器;2、在線服務器檢查B的狀態,如果B處于非空閑狀態,則直接向A發送呼叫失敗消息;否則,在線服務器將該PTT呼叫請求轉發給B;同時記錄目前講話權的屬主(屬于A);3、B接收到PTT呼叫請求之后,打開媒體通道,準備接收來自于A的媒體包,并解碼播放;同時,將PTT呼叫響應封裝到SIP-MESSAGE消息之中,回送給在線服務器;4、在線服務器將B的呼叫響應消息發送給A;5、A接收到B的PTT呼叫響應之后,開始采集本地媒體,在壓縮編碼之后向B發送;6、A講話結束后,停止媒體包的發送,同時向在線服務器發送消息釋放講話權,在線服務器通知B;7、A和B向在線服務器發送講話權申請,由在線服務器根據先到“先得原則”分配講話權,并記錄目前講話權的屬主;8、重復步驟1~7;9、通話結束后,掛機方發送掛機消息給在線服務器,由在線服務器通知另一方掛機。
如圖4所示,有私網用戶參與的“一對一”PTT呼叫,PTT客戶端A和B向在線服務器注冊完成之后,A向B發起一個PTT呼叫,過程如下1、A將自己的媒體信息以SDP描述,并將該SDP封裝到SIP-MESSAGE消息之中,然后將該消息通過本局域網的NAT(網絡地址轉換)設備發送給在線服務器;2、在線服務器檢查B的狀態,如果B處于非空閑狀態,則向A發送呼叫失敗消息;否則,在線服務器將該PTT呼叫請求轉發給B所處局域網的NAT設備,并由該NAT設備發送給B;3、在線服務器向寬帶網關發送PTT呼叫信息;4、寬帶網關記錄PTT呼叫信息,并準備接收和轉發來自于A的媒體包;
5、B接收到PTT呼叫請求之后,打開媒體通道,準備接收來自于A的媒體包,并解碼播放;同時,將PTT呼叫響應封裝到SIP-MESSAGE消息之中,通過NAT設備回送給在線服務器;6、B發送UDP報文給寬帶網關,以便打通寬帶網關向B轉發媒體的路由通道;7、在線服務器將B的呼叫響應消息通過A的NAT設備發送給A;8、A接收到B的PTT呼叫響應之后,開始采集本地媒體,在壓縮編碼之后通過NAT設備向寬帶網關發送;9、寬帶網關向B轉發A的媒體包;10、A講話結束后,停止媒體包的發送,同時向在線服務器發送消息釋放講話權,在線服務器通知B;11、A和B向在線服務器發送講話權申請,由在線服務器根據先到“先得原則”分配講話權,并記錄目前講話權的屬主;12、重復步驟1~11;13、通話結束后,掛機方發送掛機消息給在線服務器,由在線服務器通知另一方掛機;同時,在線服務器發送呼叫結束消息給寬帶網關,寬帶網關刪除本次呼叫信息。
如圖5所示,私網用戶參與的“一對多”PTT呼叫流程,以三方為例,PTT客戶端A、B和C向在線服務器注冊完成之后,A在線服務器發送PTT呼叫請求,請求召開A到B和C的PTT呼叫,過程如下1、A將自己的媒體信息以SDP描述,并將該SDP封裝到SIP-MESSAGE消息之中,然后將該消息發送給在線服務器;2、在線服務器進行在線狀態檢查,檢查通過,將該PTT呼叫請求轉發給B和C,同時記錄目前講話權的屬主(屬于A);
3、在線服務器向寬帶網關發送PTT呼叫信息;4、寬帶網關記錄PTT呼叫信息,并準備接收A的媒體包并向B和C轉發;5、B和C接收到PTT呼叫請求之后,打開媒體通道,準備接收來自于寬帶網關的A的媒體,并解碼播放;6、B和C發送呼叫響應消息給在線服務器,由在線服務器轉發給A;7、B和C發送UDP報文給寬帶網管,以便打通寬帶網關向B和C轉發媒體的路由通道;8、A接收到B的PTT呼叫響應之后,打開媒體通道,開始采集本地媒體,在壓縮編碼之后向寬帶網關發送;9、寬帶網關分別向B和C轉發A的媒體包;101、A講話結束后,向在線服務器發送消息釋放講話權,在線服務器通知B和C;同時,在線服務器發送消息給寬帶網關,寬帶網關停止媒體包的轉發;11、A、B和C可以向在線服務器發送講話權申請,由在線服務器根據先到“先得原則”分配講話權,并記錄目前講話權的屬主;12、重復步驟1~11;13、一方退出時,發送消息給在線服務器,在線服務器通知寬帶網關,寬帶網關調整媒體包轉發機制;當只剩兩方通話時,一方掛機,發送消息給在線服務器,由在線服務器通知另一方掛機;同時,在線服務器發送呼叫結束消息給寬帶網關,寬帶網關刪除本次呼叫信息。
本發明系統結構簡單,系統具有良好的實用性和可擴展性。客戶端與服務器之間采用SIP-MESSAGE來進行呼叫信令的交互,媒體信息采用標準的SDP協議來描述。在PTT客戶端、在線服務器和寬帶網關的協作下即可實現不同網域內用戶之間“一對一”或“一對多”的PTT呼叫。本發明不僅適用于公網用戶之間的PTT呼叫,而且還支持具有網絡地址轉換功能的私網用戶。本發明中,公網用戶之間的媒體流彼此間直接發送;對于私網用戶,在寬帶網關的參與下即可實現媒體流的交互,特別地,當進行“一對多”PTT呼叫時,主叫方只需將媒體流發送到寬帶網關,由寬帶網關根據PTT呼叫信息向各個被叫轉發媒體。
與現有技術相比,本發明繼承了PTT呼叫的傳統優勢,呼叫建立簡便快捷。同時,由于本發明中的媒體包傳輸采用RTP/RTCP協議來實現,極大地提高了媒體傳輸的實時性,此外,由于寬帶網關較高的可靠性,使得PTT呼叫的可靠性得到了有效的保障。
權利要求
1.一種基于VoIP技術的一鍵通業務實現系統,包括一鍵通客戶端,用于發起/接受一鍵通呼叫請求,并進行媒體流的編解碼,其特征在于,還包括用戶在線服務器,用于接受所述客戶端的登記注冊,記錄客戶端的連接屬性,并據此轉發一鍵通呼叫請求,在只有公網客戶端參與的一鍵通呼叫中,協助所述客戶端之間直接建立媒體通道,交換媒體包;寬帶網關設備,通過內部接口與所述用戶在線服務器相連,用于在具有網絡地址轉換設備的私網客戶端參與的一鍵通呼叫中,與所述在線服務器進行信令協商,并作為中介為所述客戶端建立媒體通道,交換媒體包。
2.如權利要求1所述的基于VoIP技術的一鍵通業務實現系統,其特征在于所述公網客戶端,包括因特網上的公網用戶,以及位于同一個局域網內的用戶;所述私網客戶端,為不在同一個局域網內的用戶。
3.一種基于VoIP技術的一鍵通業務實現方法,其特征在于包括如下步驟(1)一鍵通客戶端向用戶在線服務器登記注冊;(2)一鍵通主叫發起端向所述在線服務器發送呼叫請求;(3)所述在線服務器根據該呼叫請求判斷呼叫群組內用戶的網絡屬性屬于公網用戶還是有私網用戶;(4)所述在線服務器根據網絡屬性向被叫端轉發呼叫信令,協助建立用戶間的媒體通道,交換媒體包,其中,對于只有公網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,用戶之間直接建立媒體通道,交換媒體包;對于具有網絡地址轉換功能的私網用戶參與的呼叫,由所述在線服務器轉發呼叫信令,并與寬帶網關進行信令協商,經由寬帶網關建立媒體通道,交換媒體包。
4.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述步驟(1),客戶端向用戶在線服務器登記注冊時,需要將自己的連接屬性發送給在線服務器,連接屬性包括客戶端所在計算機的IP地址以及連接的端口號。
5.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述步驟(3),在線服務器是根據客戶端的連接屬性以及客戶端向在線服務器注冊所使用的地址和端口號,來對呼叫群組內用戶端的網絡屬性進行判斷。
6.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述只有公網用戶參與的呼叫,其處理過程包括如下步驟(1)主叫端將自己的媒體信息以SDP協議描述,并將其封裝到SIP-MESSAGE消息之中,發送給在線服務器;(2)在線服務器根據該消息檢查被叫端的狀態,如果被叫端處于非空閑狀態,則直接向主叫端發送呼叫失敗消息,否則,在線服務器將該呼叫請求轉發給被叫端,同時記錄目前講話權的屬主;(3)被叫端接收到呼叫請求之后,打開媒體通道,準備接收來自于主叫端的媒體包,并解碼播放,同時將呼叫響應封裝到SIP-MESSAGE消息之中,回送給在線服務器;(4)在線服務器將被叫端的呼叫響應消息發送給主叫端;(5)主叫端接收到被叫端的呼叫響應之后,開始采集本地媒體,在壓縮編碼之后向被叫端發送;(6)主叫端講話結束后,停止媒體包的發送,同時向在線服務器發送消息釋放講話權,在線服務器通知被叫端;(7)主叫端和被叫端向在線服務器發送講話權申請,由在線服務器根據“先到先得”原則分配講話權,并記錄目前講話權的屬主;(8)重復步驟(1)~(7);(9)通話結束后,掛機方發送掛機消息給在線服務器,由在線服務器通知另一方掛機。
7.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述私網用戶參與的呼叫,其處理過程包括如下步驟(1)主叫端將自己的媒體信息以SDP描述,并將其封裝到SIP-MESSAGE消息之中,然后將該消息通過本局域網的網絡地址轉換設備發送給在線服務器,同時記錄目前講話權的屬主;(2)在線服務器檢查被叫端的狀態,如果被叫端處于非空閑狀態,則向主叫端發送呼叫失敗消息,否則,在線服務器將該呼叫請求轉發給被叫端所處局域網的網絡地址轉換設備,并由該網絡地址轉換設備發送給被叫端;(3)在線服務器向寬帶網關發送呼叫信息;(4)寬帶網關記錄呼叫信息,并準備接收和轉發來自于主叫端的媒體包;(5)被叫端接收到呼叫請求之后,打開媒體通道,準備接收來自于主叫端的媒體包,并解碼播放,同時將呼叫響應封裝到SIP-MESSAGE消息之中,通過網絡地址轉換設備回送給在線服務器;(6)被叫端發送UDP報文給寬帶網關,以便打通寬帶網關向被叫端轉發媒體的路由通道;(7)在線服務器將被叫端的呼叫響應消息通過主叫端的網絡地址轉換設備發送給主叫端;(8)主叫端接收到被叫端的呼叫響應之后,開始采集本地媒體,在壓縮編碼之后通過網絡地址轉換設備向寬帶網關發送;(9)寬帶網關向被叫端轉發主叫端的媒體包;(10)主叫端講話結束后,停止媒體包的發送,同時向在線服務器發送消息釋放講話權,在線服務器通知被叫端;(11)主叫端和被叫端向在線服務器發送講話權申請,由在線服務器根據先到“先得原則”分配講話權,并記錄目前講話權的屬主;(12)重復步驟(1)~(11);(13)通話結束后,掛機方發送掛機消息給在線服務器,由在線服務器通知另一方掛機,同時,在線服務器發送呼叫結束消息給寬帶網關,寬帶網關刪除本次呼叫信息。
8.如權利要求6或7所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述被叫端可以包括多個一鍵通客戶端。
9.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述媒體包,包括音頻流以及視頻流。
10.如權利要求3所述的基于VoIP技術的一鍵通業務實現方法,其特征在于所述交換媒體包步驟,使用RTP/RTCP協議來完成。
全文摘要
本發明提供一種基于VoIP技術的一鍵通業務實現系統及方法,包括一鍵通客戶端、用戶在線服務器,以及寬帶網關,首先由客戶端向用戶在線服務器登記注冊,當主叫端向所述在線服務器發送呼叫請求時,在線服務器根據該請求判斷呼叫群組內用戶的網絡屬性,根據該屬性向被叫端轉發呼叫信令,并在用戶間建立媒體通道,交換媒體包,對于公網用戶,由在線服務器轉發呼叫信令,用戶之間直接建立媒體通道,對于私網用戶,由在線服務器轉發呼叫信令,并與寬帶網關進行信令協商,經由寬帶網關建立媒體通道,本發明可以自適應地區分不同PTT用戶,根據用戶屬性采取不同的媒體處理方案,極大地提高了PTT呼叫的效率,減輕了系統設備的負荷。
文檔編號H04L29/06GK1838790SQ200510055668
公開日2006年9月27日 申請日期2005年3月22日 優先權日2005年3月22日
發明者楊勇, 曹義林, 楊春, 龔曉東, 李華 申請人:中興通訊股份有限公司