两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng)的制作方法

文檔序號(hào):7999220閱讀:245來源:國(guó)知局
一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng),所述方法包括:第一、第二xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器;當(dāng)?shù)谝粁mpp客戶端請(qǐng)求與第二xmpp客戶端語(yǔ)音通信,第一xmpp客戶端向第二xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息;第二xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一xmpp客戶端;第一xmpp客戶端按擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音壓縮后編碼以形成字符,再通過第一、第二流通道將包含此字符的擴(kuò)展的語(yǔ)音消息發(fā)送到第二xmpp客戶端;第二xmpp客戶端對(duì)接收到的包含此字符的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓以形成語(yǔ)音。
【專利說明】—種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及的是一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]XMPP: The Extensible Messaging and Presence Protocol 中文全稱:可擴(kuò)展通訊和表示協(xié)議??蓴U(kuò)展通訊和表示協(xié)議(XMPP)可用于服務(wù)類實(shí)時(shí)通訊、表示和需求響應(yīng)服務(wù)中的XML數(shù)據(jù)元流式傳輸。
[0003]在語(yǔ)音實(shí)時(shí)通訊方面,現(xiàn)有的擴(kuò)展xmpp語(yǔ)音傳輸協(xié)議過于復(fù)雜,在雙方協(xié)商語(yǔ)音傳輸格式,使用第三方協(xié)議實(shí)現(xiàn)NAT穿越和新建立流通道時(shí)容易出錯(cuò),而且只要其中任何一個(gè)環(huán)節(jié)出現(xiàn)故障,就不能建立通話。同時(shí)NAT穿越和協(xié)商語(yǔ)音格式時(shí)存在大量的配置選項(xiàng),一旦某些配置出現(xiàn)故障亦不能進(jìn)行通話。尤其是當(dāng)客戶端在NAT之后,還需要第三方協(xié)議實(shí)現(xiàn)復(fù)雜的NAT穿越。配置復(fù)雜導(dǎo)致易用性和可靠性都不高,容易出錯(cuò),經(jīng)常出現(xiàn)兩個(gè)xmpp客戶端無法互通的情況。
[0004]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0005]本發(fā)明要解決的技術(shù)問題在于,解決現(xiàn)有的擴(kuò)展xmpp語(yǔ)音傳輸協(xié)議實(shí)現(xiàn)兩個(gè)xmpp客戶端進(jìn)行語(yǔ)音通信的過程過于復(fù)雜的問題,提供一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng)。
[0006]本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下:
一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其中,包括步驟:
A、第一、第二xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)
器;
B、當(dāng)所述第一xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息;
C、所述第二xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求;
D、當(dāng)所述第二xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),所述第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端;
E、第一xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端;
F、第二xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成解壓后的語(yǔ)音數(shù)據(jù)。
[0007]所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其中,所述步驟B中的擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。
[0008]所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其中,所述步驟D中的擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。
[0009]所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其中,所述步驟A具體為:
第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道,并分別通過用戶名和密碼登錄xmpp服務(wù)器;
xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過后保持第一、第二流通道。
[0010]所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其中,所述第一、第二流通道都為TCP連接。
[0011]一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸系統(tǒng),其中,包括:
流通道建立控制模塊,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器;
請(qǐng)求消息發(fā)送控制模塊,用于在所述第一 xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),控制所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息;
請(qǐng)求消息判斷控制模塊,用于控制所述第二 xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求;
應(yīng)答消息返回控制模塊,用于在所述第二 xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),控制第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端;
第一通話控制模塊,用于控制第一 xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端;
第二通話控制模塊,用于控制第二 xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成解壓后的語(yǔ)音數(shù)據(jù)。
[0012]所述的系統(tǒng),其中,所述擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。
[0013]所述的系統(tǒng),其中,所述擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。
[0014]所述的系統(tǒng),其中,所述流通道建立控制模塊還包括:
登錄控制單元,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道,并分別通過用戶名和密碼登錄xmpp服務(wù)器;
驗(yàn)證及流通道保持控制單元,用于控制xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過
后保持第一、第二流通道。
[0015]所述的系統(tǒng),其中,所述第一、第二流通道都為TCP連接。
[0016]本發(fā)明所提供的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng),由于第一、第二 xmpp客戶端在登錄時(shí)已經(jīng)與xmpp服務(wù)器建立了第一、第二流通道,因此可以使用此第一、第二流通道來傳輸語(yǔ)音。使用此第一、第二流通道進(jìn)行語(yǔ)音傳輸并使用中國(guó)固定電話語(yǔ)音格式G711 Alaw,省掉了現(xiàn)有語(yǔ)音通信需雙方協(xié)商語(yǔ)音格式,NAT穿越和新建流通道極其容易出錯(cuò)的3個(gè)過程,因此也無需相關(guān)配置。通常情況下,對(duì)方在接收請(qǐng)求后,即可使用此已經(jīng)存在的流通道進(jìn)行語(yǔ)音傳輸。易用性和可靠性大大提高,不需要專業(yè)的技術(shù)人員安裝和維護(hù)即可穩(wěn)定工作?!緦@綀D】

【附圖說明】
[0017]圖1是本發(fā)明基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法的較佳實(shí)施例的流程圖。
[0018]圖2是本發(fā)明基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸系統(tǒng)的實(shí)施例的功能框圖。
【具體實(shí)施方式】
[0019]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]請(qǐng)參見圖1,圖1是本發(fā)明基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法的較佳實(shí)施例的流程圖。如圖1所示,本較佳實(shí)施例所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法包括以下步驟: 步驟S10、第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器。
[0021]在本發(fā)明的較佳實(shí)施例中,第一 xmpp客戶端和第二 xmpp客戶端啟動(dòng)時(shí),分別與xmpp服務(wù)器建立第一流通道和第二流通道,并分別通過用戶輸入的用戶名和密碼來請(qǐng)求登錄服務(wù)器。xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過后保持第一流通道和第二流通道。若用戶輸入的用戶名和密碼有錯(cuò),xmpp服務(wù)器拒絕xmpp客戶端登錄,且釋放對(duì)應(yīng)的流通道。
[0022]其中,第一、第二 xmpp客戶端可以為安裝在PC或手機(jī)等智能設(shè)備上的通訊軟件。xmpp服務(wù)器可以為即時(shí)通訊服務(wù)器。
[0023]第一、第二流通道通常是一個(gè)TCP連接,xmpp客戶端通過此TCP連接和xmpp服務(wù)器進(jìn)行通信。這個(gè)TCP連接可以傳輸明文,也可以傳輸加密數(shù)據(jù)。
[0024]步驟S20、當(dāng)所述第一 xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息,以請(qǐng)求進(jìn)行語(yǔ)音通信。
[0025]在本發(fā)明的較佳實(shí)施例中,在第一 xmpp客戶端和第二 xmpp客戶端分別登錄xmpp服務(wù)器后,當(dāng)?shù)谝?xmpp客戶端欲請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),第一 xmpp客戶端經(jīng)由第一流通道和第二流通道發(fā)送擴(kuò)展的請(qǐng)求消息至第二 xmpp客戶端。其中,本實(shí)施例中擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。較佳的,其可在原有的message消息的基礎(chǔ)上增加表不傳輸語(yǔ)音請(qǐng)求的消息類型。
[0026]例如,以第一 xmpp客戶端A向第二 xmpp客戶端B發(fā)送擴(kuò)展的請(qǐng)求消息為例,則擴(kuò)展的請(qǐng)求消息可為:
〈message id=〃HE4Mp-l1〃 to=〃B@openfire-server〃 from=〃 AOopenfire-server〃type=〃voice request^Xbody) </body></message>
其中type表示消息類型,其值voice request表示傳輸語(yǔ)音請(qǐng)求。
[0027]步驟S30、所述第二 xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一xmpp客戶端的語(yǔ)音通信請(qǐng)求。
[0028]在第二 xmpp客戶端接收到所述擴(kuò)展的請(qǐng)求消息時(shí),解析所述擴(kuò)展的請(qǐng)求消息,并判斷其是否為擴(kuò)展的請(qǐng)求消息,在本發(fā)明的較佳實(shí)施例中,判斷其消息類型是否為表示傳輸語(yǔ)音請(qǐng)求的消息類型,即判斷消息類型type值是否為voice request。
[0029]當(dāng)?shù)诙?xmpp客戶端判斷出接收到的消息為擴(kuò)展的請(qǐng)求消息時(shí),即判斷出其消息類型為表示傳輸語(yǔ)音請(qǐng)求的消息類型,也就是說判斷出其消息類型type值為voicerequest時(shí),第二 xmpp客戶端可以根據(jù)用戶的指令選擇接收或不接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求。
[0030]當(dāng)?shù)诙?xmpp客戶端判斷出接收到的消息并非為擴(kuò)展的請(qǐng)求消息時(shí),按照具體的消息類型執(zhí)行其他相應(yīng)的動(dòng)作,在此不做贅述。
[0031]步驟S40、當(dāng)所述第二 xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),所述第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端。
[0032]其中,本實(shí)施例中,擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型,較佳的,其可在原有的m e s s a g e消息的基礎(chǔ)上增加表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。
[0033]在本發(fā)明的較佳實(shí)施例中,當(dāng)所述第二 xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),所述第二 xmpp客戶端返回給第一 xmpp客戶端的擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型,例如,第二 xmpp客戶端B返回給第一 xmpp客戶端A的擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型,即消息類型type值為voice accept。
[0034]例如:
〈message id=〃HE4Mp-12〃 to=〃A@openfire-server〃 from=〃 Biopenfire-server 〃type=〃voice accept〃Xbody> </body>〈/message>0
[0035]當(dāng)?shù)诙?xmpp客戶端不接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),所述第二 xmpp客戶端返回給第一 xmpp客戶端的擴(kuò)展的應(yīng)答消息包括表示拒絕語(yǔ)音請(qǐng)求的消息類型,例如,第二 xmpp客戶端B返回給第一 xmpp客戶端A的擴(kuò)展的應(yīng)答消息包括表示拒絕語(yǔ)音請(qǐng)求的消息類型,即消息類型type值為voice deny。
[0036]例如:
〈message id=〃HE4Mp-12〃 to=〃A@openfire-server〃 from=〃 Biopenfire-server 〃type=〃voice deny〃Xbody> </body></message>
步驟S50、第一 xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端。
[0037]在第一 xmpp客戶端接收到擴(kuò)展的應(yīng)答消息時(shí),解析所述擴(kuò)展的應(yīng)答消息,并判斷其是否為擴(kuò)展的應(yīng)答消息,在本發(fā)明的較佳實(shí)施例中,即判斷其消息類型是否為表示接收語(yǔ)音請(qǐng)求的消息類型,也就是說判斷其消息類型type值是否為voice accept。
[0038]當(dāng)?shù)谝?xmpp客戶端根據(jù)接收到的消息判斷出其為擴(kuò)展的請(qǐng)求消息時(shí),即判斷出其消息類型為表示接收語(yǔ)音請(qǐng)求的消息類型,也就是說判斷出其消息類型type值為voicerequest時(shí),第一 xmpp客戶端和第二 xmpp客戶端雙方經(jīng)由第一流通道和第二流通道建立通話連接。
[0039]當(dāng)?shù)谝?xmpp客戶端根據(jù)接收到的消息判斷出其并非為擴(kuò)展的請(qǐng)求消息時(shí),即判斷出其消息類型并非為表示接收語(yǔ)音請(qǐng)求的消息類型,也就是說判斷出其消息類型type值不為voice request時(shí),第一 xmpp客戶端和第二 xmpp客戶端雙方不建立通話連接。[0040]在第一 xmpp客戶端和第二 xmpp客戶端雙方建立通話連接的情況下,第一 xmpp客戶端對(duì)第二 xmpp客戶端進(jìn)行通話時(shí),第一 xmpp客戶端先采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),即先將語(yǔ)音數(shù)據(jù)經(jīng)過G711 Alaw壓縮和base64編碼,轉(zhuǎn)換為可顯示字符。然后,第一 xmpp客戶端復(fù)用已有的流通道(即所述第一、第二流通道)將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端。例如,第一 xmpp客戶端A經(jīng)由第一、第二流通道發(fā)送包含對(duì)應(yīng)語(yǔ)音數(shù)據(jù)的字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息給第二 xmpp客戶端B。其中,擴(kuò)展的語(yǔ)音消息的消息類型type值為voice表示message消息包含對(duì)應(yīng)語(yǔ)音數(shù)據(jù)的字符數(shù)據(jù)。例如:
〈message id=〃HE4Mp_13〃 to=〃A@openfire_server〃 from=〃 B@openfire_server〃typ
e=//voice//><body> ASOIYfdL......</body>〈/message>
語(yǔ)音數(shù)據(jù)經(jīng)過G711 Alaw壓縮和base64編碼,轉(zhuǎn)換為可顯示字符傳輸。在接收端則進(jìn)行base64解碼和G711 Alaw解壓縮即可。使用固定的廣泛使用的中國(guó)固定電話語(yǔ)音格式,保證了雙方通話音質(zhì)。避免雙方協(xié)商語(yǔ)音格式帶來的額外時(shí)間開銷和復(fù)雜性增加的問題。
[0041]步驟S60、第二 xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成語(yǔ)音數(shù)據(jù)。
[0042]第二 xmpp客戶端在接收到包含對(duì)應(yīng)語(yǔ)音數(shù)據(jù)的字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息時(shí),解析并判斷該消息是否為擴(kuò)展的語(yǔ)音消息,在本發(fā)明的較佳實(shí)施例中,通過判斷其消息類型是否為表示包含語(yǔ)音數(shù)據(jù)的消息類型,即判斷消息類型type值是否為voice。
[0043]若第二 xmpp客戶端判斷出接收到的消息為擴(kuò)展的語(yǔ)音消息時(shí),即判斷出其消息類型為表示包含語(yǔ)音數(shù)據(jù)的消息類型,也就是說判斷出其消息類型type值為voice時(shí),則先將擴(kuò)展的語(yǔ)音消息中的字符數(shù)據(jù)進(jìn)行解碼,然后采用固定電話語(yǔ)音格式將此解碼后的字符數(shù)據(jù)解壓縮以形成語(yǔ)音數(shù)據(jù)。
[0044]第二 xmpp客戶端也可以采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過第二、第一流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第一 xmpp客戶端,實(shí)現(xiàn)雙方通話。
[0045]由上可見,本發(fā)明方法實(shí)施例中,由于第一、第二 xmpp客戶端在登錄時(shí)已經(jīng)與xmpp服務(wù)器建立了第一、第二流通道,因此可以使用此第一、第二流通道來傳輸語(yǔ)音。使用此第一、第二流通道進(jìn)行語(yǔ)音傳輸并使用中國(guó)固定電話語(yǔ)音格式G711 Alaw,省掉了現(xiàn)有語(yǔ)音通信需雙方協(xié)商語(yǔ)音格式,NAT穿越和新建流通道極其容易出錯(cuò)的3個(gè)過程,因此也無需相關(guān)配置。通常情況下,對(duì)方在接收請(qǐng)求后,即可使用此已經(jīng)存在的流通道進(jìn)行語(yǔ)音傳輸。易用性和可靠性大大提高,不需要專業(yè)的技術(shù)人員安裝和維護(hù)即可穩(wěn)定工作。
[0046]基于上述實(shí)施例,本發(fā)明另一實(shí)施例還提供了一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸系統(tǒng),如圖2所示,所述系統(tǒng)包括:
流通道建立控制模塊210,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器。其中,所述第一、第二流通道都為TCP連接。具體如上述實(shí)施例所述。
[0047]在本發(fā)明的較佳實(shí)施例中,所述流通道建立控制模塊210還包括:
登錄控制單元,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道,并分別通過用戶名和密碼登錄xmpp服務(wù)器;
驗(yàn)證及流通道保持控制單元,用于控制xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過后保持第一、第二流通道。具體如上述實(shí)施例所述。
[0048]請(qǐng)求消息發(fā)送控制模塊220,用于在所述第一 xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),控制所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息。其中,所述擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。具體如上述實(shí)施例所述。
[0049]請(qǐng)求消息判斷控制模塊230,用于控制所述第二 xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求;
應(yīng)答消息返回控制模塊240,用于在所述第二 xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),控制第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端。其中,所述擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。具體如上述實(shí)施例所述。
[0050]第一通話控制模塊250、用于控制第一 xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端。具體如上述實(shí)施例所述。
[0051]第二通話控制模塊260、用于控制第二 xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成解壓后的語(yǔ)音數(shù)據(jù)。具體如上述實(shí)施例所述。
[0052]綜上所述,本發(fā)明所提供的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法及系統(tǒng),由于xmpp客戶端在登錄時(shí)已經(jīng)與xmpp服務(wù)器建立了一個(gè)流通道,因此可以使用此流通道來傳輸語(yǔ)音。使用此流通道進(jìn)行語(yǔ)音傳輸并使用中國(guó)固定電話語(yǔ)音格式G711 Alaw,省掉了雙方協(xié)商語(yǔ)音格式,NAT穿越和新建流通道極其容易出錯(cuò)的3個(gè)過程,因此也無需相關(guān)配置。通常情況下,對(duì)方在接收請(qǐng)求后,即可使用此已經(jīng)存在的流通道進(jìn)行語(yǔ)音傳輸。易用性和可靠性大大提高,不需要專業(yè)的技術(shù)人員安裝和維護(hù)即可穩(wěn)定工作。
[0053]應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其特征在于,包括步驟: A、第一、第二xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器; B、當(dāng)所述第一xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息; C、所述第二xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求; D、當(dāng)所述第二xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),所述第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端; E、第一xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端; F、第二xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成解壓后的語(yǔ)音數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其特征在于,所述步驟B中的擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。
3.根據(jù)權(quán)利要求1所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其特征在于,所述步驟D中的擴(kuò)展的應(yīng)答消息包括表示 接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。
4.根據(jù)權(quán)利要求1所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其特征在于,所述步驟A具體為: 第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道,并分別通過用戶名和密碼登錄xmpp服務(wù)器; xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過后保持第一、第二流通道。
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸方法,其特征在于,所述第一、第二流通道都為TCP連接。
6.一種基于擴(kuò)展xmpp協(xié)議的語(yǔ)音傳輸系統(tǒng),其特征在于,包括: 流通道建立控制模塊,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道以登錄xmpp服務(wù)器; 請(qǐng)求消息發(fā)送控制模塊,用于在所述第一 xmpp客戶端請(qǐng)求與第二 xmpp客戶端進(jìn)行語(yǔ)音通信時(shí),控制所述第一 xmpp客戶端向第二 xmpp客戶端發(fā)送擴(kuò)展的請(qǐng)求消息; 請(qǐng)求消息判斷控制模塊,用于控制所述第二 xmpp客戶端根據(jù)接收到的擴(kuò)展的請(qǐng)求消息判斷是否接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求; 應(yīng)答消息返回控制模塊,用于在所述第二 xmpp客戶端接收第一 xmpp客戶端的語(yǔ)音通信請(qǐng)求時(shí),控制第二 xmpp客戶端返回?cái)U(kuò)展的應(yīng)答消息給第一 xmpp客戶端; 第一通話控制模塊,用于控制第一 xmpp客戶端根據(jù)接收到的擴(kuò)展的應(yīng)答消息,采用固定電話語(yǔ)音格式將語(yǔ)音數(shù)據(jù)壓縮后編碼以形成字符數(shù)據(jù),再通過保持的所述第一、第二流通道將包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息發(fā)送到第二 xmpp客戶端; 第二通話控制模塊,用于控制第二 xmpp客戶端對(duì)接收到的包含此字符數(shù)據(jù)的擴(kuò)展的語(yǔ)音消息解碼后采用固定電話語(yǔ)音格式將此字符數(shù)據(jù)解壓縮以形成解壓后的語(yǔ)音數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述擴(kuò)展的請(qǐng)求消息包括表示傳輸語(yǔ)音請(qǐng)求的消息類型。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述擴(kuò)展的應(yīng)答消息包括表示接收語(yǔ)音請(qǐng)求的消息類型或者表示拒絕語(yǔ)音請(qǐng)求的消息類型。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述流通道建立控制模塊還包括: 登錄控制單元,用于控制第一、第二 xmpp客戶端分別與xmpp服務(wù)器建立第一、第二流通道,并分別通過用戶名和密碼登錄xmpp服務(wù)器; 驗(yàn)證及流通道保持控制單元,用于控制xmpp服務(wù)器驗(yàn)證用戶名和密碼,且在驗(yàn)證通過后保持第一、第二流通道。
10.根據(jù)權(quán)利要求6-9任一項(xiàng)所述的系統(tǒng),其特征在于,所述第一、第二流通道都為TCP連接。
【文檔編號(hào)】H04M7/00GK103533190SQ201310171217
【公開日】2014年1月22日 申請(qǐng)日期:2013年5月10日 優(yōu)先權(quán)日:2013年5月10日
【發(fā)明者】趙云華 申請(qǐng)人:Tcl集團(tuán)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新野县| 沁源县| 新干县| 三河市| 舒城县| 大同市| 全椒县| 垫江县| 分宜县| 唐山市| 怀柔区| 苗栗市| 敦煌市| 巴楚县| 沙湾县| 浪卡子县| 镇康县| 安宁市| 郁南县| 页游| 那曲县| 黔江区| 济南市| 右玉县| 临潭县| 苍溪县| 辉县市| 财经| 梅州市| 衡阳县| 鱼台县| 仙游县| 海安县| 五华县| 凯里市| 绥芬河市| 苏尼特右旗| 康乐县| 裕民县| 葵青区| 昌乐县|