專利名稱::在電路交換呼叫和視頻呼叫之間轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明的實(shí)施例涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別是在電路交換呼叫(circuitswitchedcall)和視頻呼叫之間的轉(zhuǎn)換。
背景技術(shù):
:許多提供在線通信會(huì)話(例如即時(shí)通信、視頻會(huì)議等)的實(shí)現(xiàn)方式需要計(jì)算設(shè)備的用戶安裝軟件和/或注冊(cè)該服務(wù)。因此,作為用戶與另一個(gè)用戶建立在線通信會(huì)話的前提,兩個(gè)用戶必須都注冊(cè)和/或安裝相同的軟件。許多實(shí)現(xiàn)方式還保持存在(presence)(例如好友列表),其允許用戶來(lái)確定其他用戶的狀態(tài)(例如在線、離線、離開(kāi)等)。大的公共網(wǎng)絡(luò),例如因特網(wǎng),頻繁地具有到較小私有網(wǎng)絡(luò)的連接,例如到由公司、因特網(wǎng)服務(wù)提供商、或甚至單獨(dú)的一戶維護(hù)的私有網(wǎng)絡(luò)。由于他們的特性,公共網(wǎng)絡(luò)必須具有普遍同意的網(wǎng)絡(luò)地址(即公共地址)的分配。由于多種原因,私有網(wǎng)絡(luò)的維護(hù)者通常選擇使用用于私有網(wǎng)絡(luò)的私有網(wǎng)絡(luò)地址,這些地址不是普遍同意的分配情況中的部分。因此,為了來(lái)自私有網(wǎng)絡(luò)的網(wǎng)絡(luò)業(yè)務(wù)能夠穿越公共網(wǎng)絡(luò),需要一些形式的私有/公共網(wǎng)絡(luò)地址轉(zhuǎn)換(“NAT,,)。執(zhí)行NAT操作的設(shè)備改變私有網(wǎng)絡(luò)發(fā)出的數(shù)據(jù)分組以符合公共網(wǎng)絡(luò)的尋址機(jī)制。特別地,網(wǎng)絡(luò)地址轉(zhuǎn)換器用它自己的公共地址和分配的端口號(hào)代替分組的源私有地址和端口號(hào)。網(wǎng)絡(luò)地址轉(zhuǎn)換器還改變?yōu)樗接芯W(wǎng)絡(luò)上的計(jì)算機(jī)接收的數(shù)據(jù)分組,用預(yù)期接收者的正確的私有地址和端口號(hào)代替目的公共地址和端口號(hào)。如同此處使用的,在上下文合適之處,術(shù)語(yǔ)“地址”應(yīng)當(dāng)被理解為包括地址和端口號(hào),正如本領(lǐng)域普通技術(shù)人員理解的那樣。在當(dāng)今網(wǎng)絡(luò)計(jì)算中,NAT已經(jīng)變得越來(lái)越普遍。NAT的一個(gè)優(yōu)點(diǎn)是它減緩了公共網(wǎng)絡(luò)地址空間的耗盡。例如,用在因特網(wǎng)上的TCP/IP地址包括四個(gè)字符串,每個(gè)有三個(gè)數(shù)字,從而提供了有限的地址空間。另外,該地址空間的某些部分為特定的用途或用戶保留,進(jìn)一步消耗了可用地址的實(shí)際數(shù)目。然而,如果使用NAT,私有網(wǎng)絡(luò)或子網(wǎng)可使用任意數(shù)目的地址,并且仍然向外界呈現(xiàn)僅僅單個(gè)的、標(biāo)準(zhǔn)化的公共地址。這使得可用地址的數(shù)目幾乎是無(wú)限的,因?yàn)槊總€(gè)私有網(wǎng)絡(luò)理論上可以使用完全相同的私有地址。NAT提供的另一個(gè)優(yōu)點(diǎn)是更高的安全性,其源于這樣的事實(shí)公共網(wǎng)絡(luò)上的那些計(jì)算機(jī)不能確定私有網(wǎng)絡(luò)上計(jì)算機(jī)實(shí)際的(即私有的)網(wǎng)絡(luò)地址。這是因?yàn)榫W(wǎng)絡(luò)地址轉(zhuǎn)換器只在公共網(wǎng)絡(luò)上提供公共地址。另外,這個(gè)公共地址可能對(duì)應(yīng)于私有網(wǎng)絡(luò)上任何數(shù)目的計(jì)算機(jī)。不同的NAT類型使用不同安全級(jí)別。例如,使用“完全錐形(cone)NAT”,一旦內(nèi)部地址(iAddr:iPort)被映射到外部地址(eAddrePort),則任何外部主機(jī)可以通過(guò)發(fā)送分組到eAddrePort來(lái)向iAddriPort發(fā)送分組。使用“受限制的錐形NAT”,只有當(dāng)iAddr:iPort之前已經(jīng)向hAddr發(fā)送了分組時(shí),具有地址hAddr的外部主機(jī)才可通過(guò)向eAddr:eP0rt發(fā)送分組來(lái)向iAddr:iP0rt發(fā)送分組。外部主機(jī)的端口是無(wú)關(guān)的。使用“端口受限制的錐形NAT”,只有當(dāng)iAddriPort之前向hAddr:hPort發(fā)送了分組時(shí),具有地址/端口hAddr:hPort的外部主機(jī)才可以通過(guò)向eAddr:ePort發(fā)送分組來(lái)向iAddr:iPort發(fā)送分組。最后,使用對(duì)稱NAT,從同一iAddriPort到特定目的IP地址和端口的每個(gè)請(qǐng)求被映射到唯一的eAddrePort。如果同一內(nèi)部主機(jī)向不同的目的地發(fā)送分組,將使用不同的外部地址和端口映射。只有從內(nèi)部主機(jī)接收分組的外部主機(jī)可以向該內(nèi)部主機(jī)返回分組。點(diǎn)對(duì)點(diǎn)(Peer-to-Peer,P2P)計(jì)算指由計(jì)算節(jié)點(diǎn)組成的分布式網(wǎng)絡(luò)構(gòu)架,這些計(jì)算節(jié)點(diǎn)使它們的一部分資源對(duì)于其他網(wǎng)絡(luò)參與者是直接可用的。P2P網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)(peer)建立彼此之間的直接通信信道,并且同時(shí)作為客戶端和服務(wù)器,不同于服務(wù)器提供資源而客戶端消耗資源的傳統(tǒng)客戶端-服務(wù)器模型。以上描述的NAT操作為P2P連接提出了許多問(wèn)題。例如,如果兩個(gè)對(duì)等節(jié)點(diǎn)中的一個(gè)或兩個(gè)位于上述的一個(gè)或多個(gè)NAT類型之后,則在這兩個(gè)對(duì)等節(jié)點(diǎn)之間建立直接連接變得越來(lái)越難。這個(gè)問(wèn)題被這樣的事實(shí)惡化客戶端設(shè)備,例如AppleiPodTouch,AppleiPhone,Appleipad以及各種其他設(shè)備(例如,RIMBlackberry設(shè)備,PaimPre設(shè)備等)通常會(huì)在具有不同NAT實(shí)現(xiàn)方式的網(wǎng)絡(luò)間頻繁移動(dòng)。例如,AppleiPhone能夠在Wi-Fi網(wǎng)絡(luò)(例如802.llb,g,n網(wǎng)絡(luò))、3G網(wǎng)絡(luò)(例如,通用移動(dòng)電信系統(tǒng)(UMTS)網(wǎng)絡(luò),高速上行分組接入(HSUPA)網(wǎng)絡(luò)等)和藍(lán)牙網(wǎng)絡(luò)(稱為個(gè)人區(qū)域網(wǎng)絡(luò)(PAN))上通信。未來(lái)的客戶端設(shè)備將能夠在另外的通信信道上通信,例如,列舉一些,WiMAX、高級(jí)國(guó)際移動(dòng)電信(IMTAdvanced),以及高級(jí)長(zhǎng)期演進(jìn)(LTEAdvanced)等。免提單元(例如頭戴式耳機(jī)、車載套件)通常用于為免提服務(wù)而與計(jì)算設(shè)備對(duì)等連接。例如,包括蜂窩電話功能的計(jì)算設(shè)備包括與免提單元對(duì)等連接的能力是很常見(jiàn)的,以作為該免提單元與該計(jì)算設(shè)備之間在聽(tīng)覺(jué)上的中繼。
發(fā)明內(nèi)容描述了一種用于在只有音頻的電路交換呼叫和視頻呼叫之間轉(zhuǎn)換的方法和裝置??蛻舳嗽O(shè)備當(dāng)前通過(guò)已建立的只有音頻的電路交換呼叫而連接到一個(gè)或多個(gè)其他客戶端設(shè)備,它從用戶接收輸入,以從只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫。視頻呼叫邀請(qǐng)消息被發(fā)送到所述其他客戶端設(shè)備。接收了視頻呼叫邀請(qǐng)消息的客戶端設(shè)備處的用戶可以選擇接受還是拒絕該消息。如果視頻呼叫邀請(qǐng)被接受,則視頻呼叫接受消息被發(fā)送到起始客戶端設(shè)備。在接受視頻呼叫邀請(qǐng)之后,參與電路交換呼叫的客戶端設(shè)備建立點(diǎn)對(duì)點(diǎn)(P2P)連接。在P2P連接建立后,客戶端設(shè)備開(kāi)始通過(guò)P2P連接來(lái)發(fā)送和接收視頻。在每個(gè)客戶端設(shè)備已經(jīng)接收到至少一幀之后,客戶端設(shè)備從只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫,包括顯示正在接收的視頻以及將音頻的路由(route)從電路交換呼叫改變到視頻呼叫。在轉(zhuǎn)換到視頻呼叫之后,上述只有音頻的電路交換呼叫被丟棄(drop)。本發(fā)明可通過(guò)參考下面的用于說(shuō)明本發(fā)明實(shí)施例的描述和附圖得以最好的理解。圖中圖1是說(shuō)明根據(jù)一個(gè)實(shí)施例為在線通信會(huì)話注冊(cè)客戶端設(shè)備的數(shù)據(jù)流程圖;圖2是更詳細(xì)地說(shuō)明根據(jù)一個(gè)實(shí)施例的圖1的客戶端設(shè)備的框圖;圖3是更詳細(xì)地說(shuō)明根據(jù)一個(gè)實(shí)施例的圖1的注冊(cè)服務(wù)器的框圖;圖4是說(shuō)明根據(jù)一個(gè)實(shí)施例為在線通信會(huì)話注冊(cè)客戶端設(shè)備的示例性操作的流程圖;圖5說(shuō)明根據(jù)一個(gè)實(shí)施例的示例性注冊(cè)數(shù)據(jù)存儲(chǔ)器;圖6說(shuō)明一個(gè)實(shí)施例的整體網(wǎng)絡(luò)拓?fù)?;圖7是說(shuō)明根據(jù)一個(gè)實(shí)施例的客戶端設(shè)備之間的在線通信會(huì)話建立的數(shù)據(jù)流程圖;圖8是說(shuō)明了根據(jù)一個(gè)實(shí)施例的示例性中繼服務(wù)的框圖;圖9說(shuō)明了根據(jù)一個(gè)實(shí)施例的API構(gòu)架的一個(gè)實(shí)施例。圖10說(shuō)明了根據(jù)一個(gè)實(shí)施例的示例性注冊(cè)數(shù)據(jù)存儲(chǔ)器;圖11說(shuō)明了根據(jù)一個(gè)實(shí)施例的示例性NAT兼容表;圖12說(shuō)明了根據(jù)一些實(shí)施例的示例性客戶端設(shè)備和用于在電路交換呼叫和視頻呼叫之間轉(zhuǎn)換的圖形用戶界面;圖13說(shuō)明了根據(jù)一個(gè)實(shí)施例圖12中的客戶端設(shè)備顯示視頻預(yù)覽;圖14說(shuō)明了根據(jù)一個(gè)實(shí)施例的示例性客戶端設(shè)備和用于接受或拒絕視頻呼叫邀請(qǐng)的圖形用戶界面;圖15和16說(shuō)明根據(jù)一個(gè)實(shí)施例轉(zhuǎn)換到視頻呼叫之后的客戶端設(shè)備;圖17和18是根據(jù)一個(gè)實(shí)施例說(shuō)明在只有音頻的電路交換呼叫和視頻呼叫之間轉(zhuǎn)換的示例性操作的流程圖;圖19是說(shuō)明根據(jù)一個(gè)實(shí)施例的在接收到視頻呼叫拒絕消息的客戶端設(shè)備上執(zhí)行的示例性操作的流程圖;圖20是根據(jù)一個(gè)實(shí)施例說(shuō)明從視頻呼叫轉(zhuǎn)換到電路交換呼叫的客戶端設(shè)備上執(zhí)行的示例性操作的流程圖;圖21說(shuō)明了根據(jù)一個(gè)實(shí)施例的整體網(wǎng)絡(luò)拓?fù)?,用于為使用電子郵件地址作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的在線通信會(huì)話而注冊(cè)客戶端設(shè)備;圖22A-B是說(shuō)明根據(jù)一個(gè)實(shí)施例用于注冊(cè)電子郵件地址作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的示例性操作的流程圖23是說(shuō)明根據(jù)一個(gè)實(shí)施例為用戶提供初始化信息以注冊(cè)電子郵件地址來(lái)作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的示例性操作的流程圖;圖M說(shuō)明根據(jù)一個(gè)實(shí)施例驗(yàn)證電子郵件地址的示例性操作;圖25是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)電子郵件地址已被驗(yàn)證時(shí)在注冊(cè)服務(wù)上執(zhí)行的示例性操作的流程圖;圖沈是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)用戶具有多個(gè)與同一在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的客戶端設(shè)備時(shí)管理邀請(qǐng)的示例性操作的數(shù)據(jù)流程圖;圖27是根據(jù)一個(gè)實(shí)施例說(shuō)明當(dāng)直接P2P連接是可行的時(shí)候被執(zhí)行的示例性操作的數(shù)據(jù)流程圖;圖觀是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)直接P2P連接是不可行的時(shí)候被執(zhí)行的示例性操作的數(shù)據(jù)流程圖;圖四是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)在線通信會(huì)話結(jié)束時(shí)被執(zhí)行的示例性操作的數(shù)據(jù)流程圖;圖30是說(shuō)明根據(jù)一個(gè)實(shí)施例將在線通信會(huì)話從一個(gè)客戶端設(shè)備轉(zhuǎn)移到另一個(gè)客戶端設(shè)備時(shí)執(zhí)行的示例性操作的流程圖;圖31是根據(jù)一個(gè)實(shí)施例說(shuō)明發(fā)起和建立與多個(gè)用戶的在線通信會(huì)話的示例性操作的流程圖;圖32是根據(jù)一個(gè)實(shí)施例說(shuō)明與免提單元連接的客戶端計(jì)算設(shè)備的框圖;圖33說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端計(jì)算設(shè)備接收視頻呼叫的邀請(qǐng)、促使免提設(shè)備響鈴、接收來(lái)自免提設(shè)備的應(yīng)答指示、建立視頻呼叫和將音頻路由到免提設(shè)備;圖34說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端計(jì)算設(shè)備發(fā)起視頻呼叫,并且通過(guò)免提設(shè)備路由已建立的視頻呼叫的音頻;圖35說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端計(jì)算設(shè)備響應(yīng)于從免提設(shè)備接收呼叫請(qǐng)求而發(fā)起視頻呼叫;圖36說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端設(shè)備將已建立的視頻呼叫的音頻路由到免提設(shè)備;圖37說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端計(jì)算設(shè)備響應(yīng)于從免提設(shè)備接收結(jié)束呼叫請(qǐng)求而終止視頻呼叫;圖38是說(shuō)明可用在一些實(shí)施例中的示例性計(jì)算機(jī)系統(tǒng)的框圖;圖39是說(shuō)明可用在一些實(shí)施例中的示例性的數(shù)據(jù)處理系統(tǒng)的框圖。具體實(shí)施例方式在下文中,提出了許多特定的細(xì)節(jié)。然而,可以理解的是,本發(fā)明的實(shí)施例可在不存在這些特定細(xì)節(jié)的情況下實(shí)施。在其他實(shí)例中,已知的電路、結(jié)構(gòu)和技術(shù)沒(méi)有做出詳細(xì)顯示,以免模糊對(duì)本文的理解。本領(lǐng)域的普通技術(shù)人員,根據(jù)包括的描述,將能夠?qū)嵤┖线m的功能性,而不需要過(guò)分的實(shí)驗(yàn)。說(shuō)明書(shū)中提及的“一個(gè)實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等表示所描述的實(shí)施例可包括特定的特征、結(jié)構(gòu)或特性,但是可能不一定每個(gè)實(shí)施例都包括該特定的特征、結(jié)構(gòu)或特性。而且,這樣的短語(yǔ)不一定要指同一實(shí)施例。另外,當(dāng)結(jié)合一個(gè)實(shí)施例描述了特定的特征、結(jié)構(gòu)或特性時(shí),應(yīng)當(dāng)認(rèn)為,不論是否明確地記載過(guò),在其他實(shí)施例中結(jié)合這樣的特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi)。在下面的說(shuō)明書(shū)和權(quán)利要求書(shū)中,術(shù)語(yǔ)“耦合”和“連接”以及它們的派生詞將被使用。應(yīng)當(dāng)理解,這些術(shù)語(yǔ)不是用作彼此的同義詞?!榜詈稀庇糜诒硎緝蓚€(gè)或更多個(gè)要素彼此之間協(xié)作或交互,它們彼此之間可能是也可能不是直接實(shí)體接觸或電接觸?!斑B接”用于指示互相耦合的兩個(gè)或更多要素之間建立了通信。在線通信會(huì)話的自動(dòng)灃冊(cè)描述了一種為在線通信會(huì)話(例如P2P視頻會(huì)議、P2P即時(shí)消息等)自動(dòng)注冊(cè)客戶端計(jì)算設(shè)備(“客戶端設(shè)備”)(例如工作站、膝上型電腦、掌上型電腦、移動(dòng)電話、智能電話、多媒體電話、書(shū)寫(xiě)板(tablet)、便攜式媒體播放器、GPS單元、游戲系統(tǒng)等)的方法和裝置。在一個(gè)實(shí)施例中,基于計(jì)算設(shè)備處的事件(例如計(jì)算設(shè)備上電),客戶端設(shè)備自動(dòng)開(kāi)始用于在線通信會(huì)話的注冊(cè)過(guò)程。該自動(dòng)注冊(cè)過(guò)程包括客戶端設(shè)備發(fā)送具有標(biāo)識(shí)令牌(例如它的推送令牌(pushtoken))和客戶端設(shè)備標(biāo)識(shí)符的SMS(短消息服務(wù))消息至SMS中轉(zhuǎn)設(shè)備(例如SMS網(wǎng)關(guān)或SMS聚合器)。該標(biāo)識(shí)令牌為在線通信會(huì)話消息(例如邀請(qǐng)請(qǐng)求和接受請(qǐng)求消息)唯一地標(biāo)識(shí)客戶端設(shè)備,并且,在一個(gè)實(shí)施例中,它是推送令牌,其可以包括下述信息該信息允許推送通知服務(wù),以定位該客戶端設(shè)備。推送通知服務(wù)實(shí)施例中的標(biāo)識(shí)令牌同樣還用作建立信任的一種方式,信任是指特定的通知是合法的。在其他實(shí)施例中,客戶端設(shè)備至唯一的令牌的任何注冊(cè)或映射可用于將標(biāo)識(shí)令牌與客戶端設(shè)備相關(guān)聯(lián),并提供將客戶端身份與唯一地標(biāo)識(shí)的令牌相關(guān)聯(lián)的可信方法。設(shè)備標(biāo)識(shí)符唯一地標(biāo)識(shí)客戶端設(shè)備,并且典型地基于一個(gè)或更多個(gè)硬件標(biāo)識(shí)符(例如設(shè)備的序列號(hào)、SIM(用戶身份模塊)卡的ICC-ID(集成電路卡ID)等)。SMS中轉(zhuǎn)設(shè)備確定客戶端設(shè)備的電話號(hào)碼(例如通過(guò)檢查SMS消息的頭部),并且向注冊(cè)服務(wù)器發(fā)送帶有標(biāo)識(shí)令牌、設(shè)備標(biāo)識(shí)符和電話號(hào)碼的IP(因特網(wǎng)協(xié)議)消息。注冊(cè)服務(wù)器根據(jù)標(biāo)識(shí)令牌、設(shè)備標(biāo)識(shí)符和電話號(hào)碼生成簽名,并將這些發(fā)送給SMS中轉(zhuǎn)設(shè)備以傳送到客戶端設(shè)備。SMS中轉(zhuǎn)設(shè)備向客戶端設(shè)備發(fā)送包括簽名和電話號(hào)碼的SMS消息??蛻舳嗽O(shè)備隨后發(fā)送帶有簽名、設(shè)備標(biāo)識(shí)符、標(biāo)識(shí)令牌和電話號(hào)碼的IP消息至注冊(cè)服務(wù)器。注冊(cè)服務(wù)器驗(yàn)證來(lái)自客戶端設(shè)備的信息,并在在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器中存儲(chǔ)標(biāo)識(shí)令牌和電話號(hào)碼之間的關(guān)聯(lián)。關(guān)聯(lián)成一對(duì)的標(biāo)識(shí)令牌和電話號(hào)碼一起唯一地標(biāo)識(shí)在線通信會(huì)話網(wǎng)絡(luò)中的設(shè)備。在客戶端設(shè)備注冊(cè)后,客戶端設(shè)備處的用戶可以發(fā)起和/或接受在線通信會(huì)話(例如視頻聊天/會(huì)議會(huì)話、即時(shí)消息會(huì)話等)的邀請(qǐng)。在一個(gè)實(shí)施例中,客戶端設(shè)備的電話號(hào)碼被用作在線通信會(huì)話的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符。例如,客戶端設(shè)備處的用戶可以邀請(qǐng)(一個(gè)或多個(gè))其他客戶端設(shè)備處的(一個(gè)或多個(gè))其他用戶使用他們的(一個(gè)或多個(gè))電話號(hào)碼參與在線通信會(huì)話。在一些實(shí)施例中,客戶端設(shè)備并非本來(lái)就知道它自己的電話號(hào)碼。圖1是說(shuō)明根據(jù)一個(gè)實(shí)施例為在線通信會(huì)話注冊(cè)客戶端設(shè)備的數(shù)據(jù)流程圖。圖1包括客戶端設(shè)備110、SMS網(wǎng)絡(luò)120、注冊(cè)服務(wù)器140和IP消息數(shù)據(jù)存儲(chǔ)器150??蛻舳嗽O(shè)備110(例如工作站、膝上型電腦、掌上型電腦、計(jì)算電話、智能電話、多媒體電話、書(shū)寫(xiě)板、便攜式媒體播放器、GPS單元、游戲系統(tǒng)等)包括標(biāo)識(shí)令牌115(在一個(gè)實(shí)施例中其可以是推送令牌)。標(biāo)識(shí)令牌115唯一地標(biāo)識(shí)客戶端設(shè)備110以接收邀請(qǐng)請(qǐng)求和邀請(qǐng)接受(或拒絕)消息,此后將會(huì)更加詳細(xì)地描述。設(shè)備標(biāo)識(shí)符117唯一地標(biāo)識(shí)客戶端設(shè)備,并且通?;谝粋€(gè)或多個(gè)硬件標(biāo)識(shí)符(例如設(shè)備的序列號(hào)、SIM(用戶身份模塊)卡的ICC_ID(集成電路卡ID)等)??蛻舳嗽O(shè)備110包括發(fā)送和接收SMS消息的能力以及連接和發(fā)送/接收IP消息的能力。在為在線通信會(huì)話注冊(cè)之后,客戶端設(shè)備110可以邀請(qǐng)和/或接受用于在線通信會(huì)話的邀請(qǐng)??蛻舳嗽O(shè)備110在在線通信會(huì)話中由在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符來(lái)標(biāo)識(shí)。雖然在一個(gè)實(shí)施例中在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符是客戶端設(shè)備110的電話號(hào)碼,但在其他實(shí)施例中在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符是其他的標(biāo)識(shí)符(例如用戶名(例如AppleID)、電子郵件地址、郵箱地址、MAC地址或其他標(biāo)識(shí)符)。SMS網(wǎng)絡(luò)120包括運(yùn)營(yíng)商SMSC(短消息服務(wù)中心)125和SMS中轉(zhuǎn)設(shè)備130(例如SMS網(wǎng)關(guān)或SMS聚合器)。運(yùn)營(yíng)商SMSC125針對(duì)不同的計(jì)算運(yùn)營(yíng)商而不同,并且接收和傳送SMS消息。例如,運(yùn)營(yíng)商SMSC125將客戶端設(shè)備110發(fā)來(lái)的SMS消息傳送給SMS中轉(zhuǎn)設(shè)備130,并且將SMS中轉(zhuǎn)設(shè)備130發(fā)來(lái)的SMS消息傳送給客戶端設(shè)備110。SMS中轉(zhuǎn)設(shè)備130將移動(dòng)網(wǎng)絡(luò)和IP網(wǎng)絡(luò)分離。注冊(cè)服務(wù)器140注冊(cè)用于在線通信會(huì)話的客戶端設(shè)備,例如客戶端設(shè)備110。注冊(cè)用于在線通信會(huì)話的客戶端設(shè)備包括將設(shè)備的標(biāo)識(shí)令牌與設(shè)備的電話號(hào)碼(或其他在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符)關(guān)聯(lián)。標(biāo)識(shí)令牌和在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符之間的這些關(guān)聯(lián)被存儲(chǔ)在在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器150中?;诳蛻舳嗽O(shè)備110處發(fā)生的事件(例如客戶端設(shè)備上電、在線通信會(huì)話應(yīng)用(例如P2P視頻會(huì)議應(yīng)用、P2P即時(shí)消息應(yīng)用等)啟動(dòng)等),客戶端設(shè)備110開(kāi)始用于在線通信會(huì)話的注冊(cè)過(guò)程。在一個(gè)實(shí)施例中,注冊(cè)過(guò)程自動(dòng)開(kāi)始(無(wú)需用戶交互);而在其他實(shí)施例中,在用戶選擇了為在線通信會(huì)話而注冊(cè)客戶端設(shè)備之后,注冊(cè)過(guò)程開(kāi)始。在客戶端設(shè)備110的電話號(hào)碼被用作在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符、因而在注冊(cè)數(shù)據(jù)存儲(chǔ)器150中與客戶端設(shè)備110的標(biāo)識(shí)令牌115關(guān)聯(lián)的實(shí)施例中,客戶端設(shè)備110的電話號(hào)碼必須被確定。因?yàn)榭蛻舳嗽O(shè)備110并不是本來(lái)就知道它自己的電話號(hào)碼,所以在一些實(shí)施例中,通過(guò)客戶端設(shè)備110發(fā)送SMS消息來(lái)確定客戶端設(shè)備110的電話號(hào)碼。例如,在操作1,客戶端設(shè)備110通過(guò)運(yùn)營(yíng)商SMSC125發(fā)送帶有它的標(biāo)識(shí)令牌115和設(shè)備標(biāo)識(shí)符117的SMS消息至SMS中轉(zhuǎn)設(shè)備130。在一些實(shí)施例中,SMS消息被發(fā)送到下述電話號(hào)碼該號(hào)碼可以是為在線通信會(huì)話注冊(cè)而專門(mén)建立的標(biāo)準(zhǔn)長(zhǎng)度號(hào)碼或者短號(hào)碼(一種通常比完整的電話號(hào)碼短很多的電話號(hào)碼)。SMS消息所發(fā)往的電話號(hào)碼被存儲(chǔ)在客戶端設(shè)備中(即運(yùn)營(yíng)商包(carrierbundle)中)。運(yùn)營(yíng)商SMSC125接收SMS消息,并將它傳送給SMS中轉(zhuǎn)設(shè)備130。在操作2,SMS中轉(zhuǎn)設(shè)備130確定客戶端設(shè)備的電話號(hào)碼。例如,SMS中轉(zhuǎn)設(shè)備130檢查SMS消息的頭部來(lái)確定客戶端設(shè)備110的電話號(hào)碼。在確定電話號(hào)碼后,SMS中轉(zhuǎn)設(shè)備130向注冊(cè)服務(wù)器140發(fā)送帶有客戶端設(shè)備110的電話號(hào)碼、標(biāo)識(shí)令牌115和設(shè)備標(biāo)識(shí)符117的IP消息。有時(shí),這被稱為注冊(cè)請(qǐng)求消息。注冊(cè)服務(wù)器140從SMS中轉(zhuǎn)設(shè)備接收包括客戶端設(shè)備110的電話號(hào)碼、標(biāo)識(shí)令牌115和設(shè)備標(biāo)識(shí)符117的IP消息,并創(chuàng)建一個(gè)簽名。該簽名可以基于客戶端設(shè)備110的電話號(hào)碼、標(biāo)識(shí)令牌115和/或設(shè)備標(biāo)識(shí)符117,且被用于驗(yàn)證目的(此后將詳細(xì)描述)。在一些實(shí)施例中,在生成簽名時(shí),隨機(jī)數(shù)同樣被使用,以處理多個(gè)客戶端設(shè)備具有相同的電話號(hào)碼的情況。在操作5,注冊(cè)服務(wù)器140向SMS中轉(zhuǎn)設(shè)備130發(fā)回簽名、電話號(hào)碼、設(shè)備標(biāo)識(shí)符和令牌(例如在IP消息中)。有時(shí),這被稱為注冊(cè)響應(yīng)消息。SMS中轉(zhuǎn)設(shè)備130從注冊(cè)服務(wù)器140接收簽名、電話號(hào)碼、設(shè)備標(biāo)識(shí)符和令牌,并生成具有用于客戶端設(shè)備110的簽名和電話號(hào)碼的SMS消息。在操作6,SMS中轉(zhuǎn)設(shè)備130向客戶端設(shè)備110發(fā)送帶有簽名和電話號(hào)碼的SMS消息(通過(guò)運(yùn)營(yíng)商SMSC125)。客戶端設(shè)備110接收和處理存儲(chǔ)有其電話號(hào)碼的SMS消息。在操作7,客戶端設(shè)備Iio向注冊(cè)服務(wù)器140發(fā)送IP消息,該消息帶有它的標(biāo)識(shí)令牌115、設(shè)備標(biāo)識(shí)符117、它的電話號(hào)碼和注冊(cè)服務(wù)器生成的簽名。有時(shí),這被稱為注冊(cè)驗(yàn)證請(qǐng)求消息。通過(guò)使用該簽名,注冊(cè)服務(wù)器140驗(yàn)證客戶端設(shè)備110發(fā)送的數(shù)據(jù)。例如,注冊(cè)服務(wù)器140比較客戶端設(shè)備110發(fā)送的簽名和在操作4過(guò)程中生成的簽名。如果它們匹配,則數(shù)據(jù)是有效的。假設(shè)數(shù)據(jù)是有效的,則注冊(cè)服務(wù)器140在在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器150中存儲(chǔ)標(biāo)識(shí)令牌115與客戶端設(shè)備110的電話號(hào)碼的關(guān)聯(lián)關(guān)系。在可選實(shí)施例中,不是通過(guò)SMS消息的傳輸確定客戶端設(shè)備110的電話號(hào)碼,而是設(shè)備的用戶被提示輸入客戶端設(shè)備110的電話號(hào)碼。在這些實(shí)施例中,客戶端設(shè)備110直接將客戶端設(shè)備110的電話號(hào)碼(用戶輸入的)和它的標(biāo)識(shí)令牌115發(fā)送給注冊(cè)服務(wù)器140,注冊(cè)服務(wù)器140會(huì)將它們?cè)谠诰€通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器150中關(guān)聯(lián)起來(lái)。圖5說(shuō)明了根據(jù)一個(gè)實(shí)施例的示例性注冊(cè)數(shù)據(jù)存儲(chǔ)器150。如圖5所示,每條在線通信會(huì)話標(biāo)識(shí)符記錄510包括標(biāo)識(shí)令牌字段520和電話號(hào)碼字段525。在一些情況下,單個(gè)電話號(hào)碼可能與多個(gè)標(biāo)識(shí)令牌相關(guān)聯(lián)。例如,不同的客戶端設(shè)備可能具有相同的電話號(hào)碼。在這些情況下,這些不同的客戶端設(shè)備將具有不同的標(biāo)識(shí)令牌。因此,當(dāng)在線通信會(huì)話邀請(qǐng)被發(fā)給一個(gè)與多個(gè)標(biāo)識(shí)令牌相關(guān)聯(lián)的電話號(hào)碼時(shí),邀請(qǐng)將被發(fā)往與標(biāo)識(shí)令牌關(guān)聯(lián)的每個(gè)設(shè)備。圖2是根據(jù)一個(gè)實(shí)施例更詳細(xì)說(shuō)明客戶端設(shè)備110的框圖。圖2將參考圖4的示例性實(shí)施例得以描述,圖4是說(shuō)明為在線通信會(huì)話注冊(cè)客戶端設(shè)備的示例性操作的流程圖。然而,應(yīng)當(dāng)理解,圖4的操作可以由其他實(shí)施例執(zhí)行,而不僅是參考圖2所討論的那些實(shí)施例,并且,參考圖2討論的實(shí)施例可以執(zhí)行不同于參考圖4所討論的實(shí)施例的操作。如圖2所示,客戶端設(shè)備110包括客戶端在線通信會(huì)話注冊(cè)模塊(“客戶端注冊(cè)模塊,,)210、(一個(gè)或多個(gè))運(yùn)營(yíng)商包215、推送令牌115、設(shè)備標(biāo)識(shí)符117、SMS模塊220和客戶端在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器(“客戶端注冊(cè)數(shù)據(jù)存儲(chǔ)器”)230??蛻舳俗?cè)模塊210控制客戶端設(shè)備110對(duì)在線通信會(huì)話的注冊(cè)。該(一個(gè)或多個(gè))運(yùn)營(yíng)商包215包括專用于運(yùn)營(yíng)商的設(shè)置參數(shù),該設(shè)置參數(shù)包括用于注冊(cè)的SMS中轉(zhuǎn)設(shè)備的電話號(hào)碼(例如SMS中轉(zhuǎn)設(shè)備130的號(hào)碼),還包括其他設(shè)置參數(shù)(例如接入點(diǎn)名稱(APN)設(shè)置參數(shù)、多媒體消息服務(wù)(MMQ設(shè)置參數(shù)等)。SMS模塊220發(fā)送和接收SMS消息??蛻舳俗?cè)數(shù)據(jù)存儲(chǔ)器230存儲(chǔ)與在線通信會(huì)話注冊(cè)有關(guān)的數(shù)據(jù)(例如曾確定的客戶端設(shè)備110的電話號(hào)碼)。參照?qǐng)D4,在塊410,客戶端注冊(cè)模塊210檢測(cè)或接收觸發(fā)在線通信會(huì)話注冊(cè)的事件。這種事件的例子包括客戶端設(shè)備Iio上電、用戶打開(kāi)在線通信應(yīng)用(例如P2P視頻會(huì)議應(yīng)用、P2P即時(shí)消息應(yīng)用等),等等。在一些實(shí)施例中,注冊(cè)過(guò)程在客戶端設(shè)備410每次上電時(shí)執(zhí)行;而在其他實(shí)施例中,注冊(cè)過(guò)程在客戶端設(shè)備110第一次上電時(shí)執(zhí)行。流程從塊410前進(jìn)到塊415。在塊415,客戶端注冊(cè)模塊210確定對(duì)于客戶端設(shè)備110是否存在有效的標(biāo)識(shí)令牌。如果不存在標(biāo)識(shí)令牌,或者標(biāo)識(shí)令牌已經(jīng)過(guò)期,那么流程移動(dòng)到執(zhí)行可選動(dòng)作的塊425。例如,在使用推送令牌的實(shí)施例中,客戶端設(shè)備110可以通過(guò)請(qǐng)求推送通知服務(wù)(通常在客戶端設(shè)備110的遠(yuǎn)程)生成的推送令牌來(lái)發(fā)起令牌生成程序。推送通知服務(wù)生成專用于客戶端設(shè)備110的推送令牌,并將它返回給客戶端設(shè)備110。如果存在有效標(biāo)識(shí)令牌,那么流程前進(jìn)到塊420,其中客戶端注冊(cè)模塊210訪問(wèn)標(biāo)識(shí)令牌115。流程從塊420移動(dòng)到塊428。在塊428,客戶端注冊(cè)模塊210訪問(wèn)設(shè)備標(biāo)識(shí)符117。流程隨后前進(jìn)到塊430,其中客戶端注冊(cè)模塊210確定注冊(cè)過(guò)程中使用的SMS中轉(zhuǎn)設(shè)備的電話號(hào)碼。例如,客戶端注冊(cè)模塊210訪問(wèn)(一個(gè)或多個(gè))運(yùn)營(yíng)商包215以確定SMS中轉(zhuǎn)設(shè)備的電話號(hào)碼。該電話號(hào)碼可以是短號(hào)碼或者可以是標(biāo)準(zhǔn)長(zhǎng)度的號(hào)碼。在這個(gè)例子中,用在注冊(cè)過(guò)程中的SMS中轉(zhuǎn)設(shè)備是SMS中轉(zhuǎn)設(shè)備130。流程從塊430前進(jìn)到塊435。在塊435,包含際識(shí)令牌115和設(shè)備標(biāo)識(shí)符117的SMS消息被發(fā)送到所確定的號(hào)碼(SMS中轉(zhuǎn)設(shè)備130)。例如,客戶端注冊(cè)模塊210請(qǐng)求SMS模塊220將帶有標(biāo)識(shí)令牌115和設(shè)備標(biāo)識(shí)符117的SMS消息發(fā)送給確定的號(hào)碼。SMS模塊220將帶有標(biāo)識(shí)令牌的SMS消息發(fā)送給所確定的號(hào)碼。流程從435前進(jìn)到塊440。SMS消息將由運(yùn)營(yíng)商SMSC125接收,運(yùn)營(yíng)商SMSC125將其傳送給SMS中轉(zhuǎn)設(shè)備130。在塊440,SMS中轉(zhuǎn)設(shè)備130基于所收到的SMS消息確定客戶端設(shè)備110的電話號(hào)碼。例如,SMS中轉(zhuǎn)設(shè)備檢查SMS消息的頭部,該頭部會(huì)包括發(fā)送者(在這個(gè)實(shí)例中發(fā)送端是客戶端設(shè)備110)的電話號(hào)碼。流程隨后前進(jìn)到塊445,其中SMS中轉(zhuǎn)設(shè)備130將客戶端設(shè)備110的電話號(hào)碼、標(biāo)識(shí)令牌115和設(shè)備標(biāo)識(shí)符117發(fā)送給注冊(cè)服務(wù)器140(例如在安全的IP消息中)。流程從塊445前進(jìn)到塊450。圖3是說(shuō)明根據(jù)一個(gè)實(shí)施例詳細(xì)描述的注冊(cè)服務(wù)器140的框圖。圖3將參考圖4的示例實(shí)施例而描述。然而,應(yīng)當(dāng)理解,圖4的操作可以由參考圖3所討論的實(shí)施例之外的其他實(shí)施例執(zhí)行,而參考圖3所討論的實(shí)施例可以執(zhí)行不同于參考圖4所討論的那些操作。如圖3所示,注冊(cè)服務(wù)器140包括服務(wù)器在線通信會(huì)話注冊(cè)模塊305,該模塊包括SMS中轉(zhuǎn)接口310、簽名生成器315、客戶端設(shè)備接口325、驗(yàn)證模塊330、驗(yàn)證數(shù)據(jù)存儲(chǔ)器335和關(guān)聯(lián)模塊340。SMS中轉(zhuǎn)接口310接收和發(fā)送消息至SMS中轉(zhuǎn)設(shè)備130。例如,SMS中轉(zhuǎn)接口310接收來(lái)自SMS中轉(zhuǎn)接口310的電話號(hào)碼、標(biāo)識(shí)令牌和設(shè)備標(biāo)識(shí)符元組(tuple),并且向SMS中轉(zhuǎn)接口310發(fā)送電話號(hào)碼、標(biāo)識(shí)令牌、設(shè)備標(biāo)識(shí)符和簽名元組(有時(shí)稱作“驗(yàn)證元組”)??蛻舳嗽O(shè)備接口325接收并可以發(fā)送消息至客戶端設(shè)備。例如,客戶端設(shè)備接口325接收來(lái)自客戶端設(shè)備的驗(yàn)證元組。返回圖4,在塊450,簽名生成器310生成用于從SMS中轉(zhuǎn)設(shè)備130接收到的電話號(hào)碼、標(biāo)識(shí)令牌和設(shè)備標(biāo)識(shí)符元組的簽名。該簽名將被用于在注冊(cè)數(shù)據(jù)存儲(chǔ)器150中存儲(chǔ)之前,對(duì)電話號(hào)碼與標(biāo)識(shí)令牌的配對(duì)進(jìn)行驗(yàn)證。在一些實(shí)施例中,該簽名基于電話號(hào)碼、標(biāo)識(shí)令牌和/或設(shè)備標(biāo)識(shí)符(例如密碼化的哈希被用于電話號(hào)碼、標(biāo)識(shí)令牌和/或設(shè)備標(biāo)識(shí)符,或其某些部分,以生成簽名)。在一些實(shí)施例中,該簽名還基于隨機(jī)數(shù),以處理多個(gè)客戶端設(shè)備具有相同的電話號(hào)碼的情況。簽名生成器310存儲(chǔ)該簽名并可選地將電話號(hào)碼、標(biāo)識(shí)令牌和/或設(shè)備標(biāo)識(shí)符存儲(chǔ)在驗(yàn)證數(shù)據(jù)存儲(chǔ)器325中。流程隨后進(jìn)行到塊455,SMS中轉(zhuǎn)接口310向SMS中轉(zhuǎn)設(shè)備130發(fā)送簽名、電話號(hào)碼、設(shè)備標(biāo)識(shí)符和標(biāo)識(shí)令牌。流程隨后從塊455前進(jìn)到塊460。SMS中轉(zhuǎn)設(shè)備130接收來(lái)自注冊(cè)服務(wù)器140的簽名、電話號(hào)碼和標(biāo)識(shí)令牌。在塊460,SMS中轉(zhuǎn)設(shè)備向客戶端設(shè)備110發(fā)送帶有簽名和電話號(hào)碼的SMS消息(通過(guò)運(yùn)營(yíng)商SMSC125)。流程下一步前進(jìn)到塊465。在塊465,SMS模塊220接收帶有簽名和電話號(hào)碼的SMS消息,并且將簽名和電話號(hào)碼存儲(chǔ)在客戶端注冊(cè)數(shù)據(jù)存儲(chǔ)器230中。流程隨后前進(jìn)到塊470,其中客戶端注冊(cè)模塊210將帶有電話號(hào)碼、標(biāo)識(shí)令牌115、設(shè)備標(biāo)識(shí)符117和簽名的IP消息發(fā)送至注冊(cè)服務(wù)器。流程隨后前進(jìn)到塊475??蛻舳嗽O(shè)備接口325接收來(lái)自客戶端設(shè)備的電話號(hào)碼、標(biāo)識(shí)令牌、設(shè)備標(biāo)識(shí)符和簽名。該信息被傳送到驗(yàn)證模塊330,在塊475該模塊確定數(shù)據(jù)是否有效。例如,與生成簽名時(shí)應(yīng)用的哈希函數(shù)相同的哈希函數(shù)被用在從客戶端設(shè)備接收的電話號(hào)碼、標(biāo)識(shí)令牌、和/或設(shè)備標(biāo)識(shí)符上,并且驗(yàn)證模塊330將結(jié)果與先前生成的簽名(存儲(chǔ)在驗(yàn)證數(shù)據(jù)存儲(chǔ)器335中)比較。如果簽名匹配,那么數(shù)據(jù)是有效的,并且流程前進(jìn)到塊480。在塊480,注冊(cè)服務(wù)器140的關(guān)聯(lián)模塊330在注冊(cè)數(shù)據(jù)存儲(chǔ)器150中存儲(chǔ)客戶端設(shè)備的電話號(hào)碼與客戶端設(shè)備的標(biāo)識(shí)令牌的關(guān)聯(lián)關(guān)系。在一些實(shí)施例中,注冊(cè)服務(wù)器140可將注冊(cè)狀態(tài)消息發(fā)送給客戶端設(shè)備110,提醒客戶端設(shè)備110注冊(cè)是否成功。在客戶端設(shè)備注冊(cè)之后,客戶端設(shè)備處的用戶可以發(fā)起和/或接受在線通信會(huì)話(例如視頻聊天/會(huì)議會(huì)話、即時(shí)消息會(huì)話等)的邀請(qǐng)。例如,客戶端設(shè)備處的用戶可以邀請(qǐng)其他(一個(gè)或多個(gè))客戶端設(shè)備處的(一個(gè)或多個(gè))其他用戶使用他們的(一個(gè)或多個(gè))電話號(hào)碼參與在線通信會(huì)話。在一些實(shí)施例中,客戶端設(shè)備并非本來(lái)就知道它自己的電話號(hào)碼。盡管實(shí)施例已經(jīng)描述了注冊(cè)期間SMS消息的使用,但在其他實(shí)施例中,其他類型的文本消息也可以被使用(例如MMS(多媒體消息服務(wù)))。為在線通信會(huì)話注冊(cè)電子郵件地址盡管圖1的描述涉及注冊(cè)電話號(hào)碼來(lái)作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符,然而在其他實(shí)施例中,電子郵件地址可以用作在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符。圖21說(shuō)明了使用電子郵件地址作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的在線通信會(huì)話注冊(cè)客戶端設(shè)備的整體網(wǎng)絡(luò)拓?fù)?。客戶端設(shè)備2110A-N使用注冊(cè)服務(wù)2130來(lái)為在線通信會(huì)話注冊(cè)。例如,在一個(gè)實(shí)施例中,客戶端設(shè)備2110A的用戶使用在線通信會(huì)話客戶端2115來(lái)注冊(cè)電子郵件地址,以用作網(wǎng)絡(luò)2180(例如因特網(wǎng))上的在線通信的在線通信會(huì)話標(biāo)識(shí)符。圖22A-B是根據(jù)一個(gè)實(shí)施例說(shuō)明注冊(cè)電子郵件地址作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的示例性操作的流程圖。圖22A-B將參考圖21所示的示例性實(shí)施例進(jìn)行描述。然而,應(yīng)當(dāng)理解,圖22A-B的操作可以由除了參考圖21討論的實(shí)施例外的其他實(shí)施例來(lái)執(zhí)行,而且參考圖21討論的實(shí)施例可以執(zhí)行不同于參考圖22A-B討論的實(shí)施例的操作。在操作2210,注冊(cè)服務(wù)2130接收來(lái)自客戶端設(shè)備2110A的認(rèn)證請(qǐng)求。例如,參考圖23,該圖描述了用戶提供初始化信息的示例性操作,在操作2310,在線通信會(huì)話應(yīng)用2115在客戶端設(shè)備2110A上啟動(dòng)。流程隨后前進(jìn)到操作2315,客戶端設(shè)備2110A接收用戶輸入的用戶ID和密碼,以及注冊(cè)作為(一個(gè)或多個(gè))在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的一個(gè)或多個(gè)電子郵件地址。流程隨后移動(dòng)到操作2320,客戶端設(shè)備2110A將用戶ID和密碼發(fā)送至注冊(cè)服務(wù)2130。盡管客戶端設(shè)備2110A注冊(cè)電子郵件地址來(lái)作為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符,并且可能不包括電話功能,但是它可以使用電話號(hào)碼,而不是電子郵件地址來(lái)發(fā)送在線通信會(huì)話邀請(qǐng)。除了接收用戶ID、密碼和一個(gè)或更多個(gè)電子郵件地址來(lái)注冊(cè),在一些實(shí)施例中,用戶還可以提供關(guān)于他們當(dāng)前處于哪個(gè)國(guó)家和/或地區(qū)的信息,以便如果用戶向不包括國(guó)家代碼和/或區(qū)域代碼的電話號(hào)碼發(fā)起在線通信會(huì)話時(shí),可以使用對(duì)應(yīng)的國(guó)家代碼和/或區(qū)域代碼。例如,在美國(guó),本地電話呼叫可以通過(guò)使用7個(gè)數(shù)字來(lái)進(jìn)行(因此不需要國(guó)家代碼和區(qū)域代碼)?;A(chǔ)的電話系統(tǒng)自動(dòng)地確定國(guó)家和區(qū)域代碼,并完成該呼叫。然而,在客戶端設(shè)備2110A不包括電話功能的情況下,當(dāng)使用不包括國(guó)家代碼和/或區(qū)域代碼的電話號(hào)碼邀請(qǐng)用戶參與在線通信會(huì)話時(shí),客戶端設(shè)備2110A不能依賴于基礎(chǔ)的電話系統(tǒng)來(lái)自動(dòng)地包括國(guó)家代碼和/或區(qū)域代碼。在操作2320,客戶端設(shè)備2110A接收來(lái)自用戶有關(guān)他們位于哪個(gè)國(guó)家和/或地區(qū)的輸入(例如區(qū)域代碼、州、省、城市等)。流程隨后前進(jìn)到操作2320,其中如果用戶向不包括國(guó)家代碼和/或區(qū)域代碼的電話號(hào)碼發(fā)起在線通信會(huì)話,客戶端設(shè)備2320將對(duì)應(yīng)的國(guó)家和/或地區(qū)電話代碼與使用的在線通信會(huì)話應(yīng)用2115關(guān)聯(lián)起來(lái)。例如,如果用戶指示他們位于美國(guó),并且該用戶使用不包括國(guó)家代碼的10位電話號(hào)碼邀請(qǐng)一個(gè)用戶進(jìn)行在線通信會(huì)話,客戶端設(shè)備2110A自動(dòng)地將美國(guó)的國(guó)家代碼加入到電話號(hào)碼中。返回到圖22A,在收到來(lái)自客戶端設(shè)備2110A的認(rèn)證請(qǐng)求之后,使用所提供的用戶名和密碼執(zhí)行認(rèn)證過(guò)程。在一個(gè)實(shí)施例中,注冊(cè)服務(wù)2130執(zhí)行認(rèn)證過(guò)程,而在另一實(shí)施例中,用戶目錄服務(wù)2160執(zhí)行認(rèn)證過(guò)程。用戶目錄服務(wù)2160是提供用戶計(jì)費(fèi)、認(rèn)證和其他服務(wù)的集中服務(wù)。用戶目錄服務(wù)2160管理用戶記錄2165。在一個(gè)實(shí)施例中,每個(gè)認(rèn)證的用戶與包括多種信息(例如,一個(gè)或多個(gè)用戶ID、密碼、郵件地址、電話號(hào)碼、姓名、生日、國(guó)家、與用戶相關(guān)聯(lián)的電子郵件列表(其還可以顯示郵件地址是否是有效的)等)的用戶記錄關(guān)聯(lián)。如果認(rèn)證成功,隨后流程前進(jìn)到操作2216。如果認(rèn)證失敗,那么流程前進(jìn)到操作2214,并且執(zhí)行可選動(dòng)作(例如注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送指示用戶名和/或密碼不正確的錯(cuò)誤消息)。在操作2216,注冊(cè)服務(wù)2130生成和/或訪問(wèn)與用戶ID相關(guān)聯(lián)的在線通信會(huì)話簡(jiǎn)檔。例如,注冊(cè)服務(wù)2130可包括管理在線通信會(huì)話簡(jiǎn)檔記錄2150的在線通信會(huì)話帳戶服務(wù)器2140。在一個(gè)實(shí)施例中,每個(gè)正在注冊(cè)或已經(jīng)注冊(cè)在線通信會(huì)話的用戶具有一個(gè)對(duì)應(yīng)的在線通信會(huì)話簡(jiǎn)檔記錄。每個(gè)在線通信會(huì)話簡(jiǎn)檔記錄可包括一個(gè)或更多個(gè)包括有效狀態(tài)的電子郵件地址組成的組,該有效狀態(tài)是與簡(jiǎn)檔關(guān)聯(lián)的。每個(gè)在線通信會(huì)話簡(jiǎn)檔記錄還可包括一個(gè)或多個(gè)推送令牌,這些推送令牌分別對(duì)應(yīng)于一個(gè)或更多個(gè)注冊(cè)在線通信會(huì)話的客戶端設(shè)備。每個(gè)簡(jiǎn)檔記錄還可包括用于驗(yàn)證來(lái)自客戶端設(shè)備的某些通信的簡(jiǎn)檔憑證。每個(gè)簡(jiǎn)檔記錄還可以指示哪些客戶端設(shè)備(由推送令牌指示)已經(jīng)注冊(cè)或正試圖使用電子郵件地址注冊(cè)。流程從操作2216前進(jìn)到操作2218,注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送認(rèn)證答復(fù),該答復(fù)包括簡(jiǎn)檔ID(例如標(biāo)識(shí)了與所提供的用戶ID相關(guān)聯(lián)的簡(jiǎn)檔的字符串)和簡(jiǎn)檔憑證(credential)。認(rèn)證答復(fù)還可以指示認(rèn)證是成功的。流程隨后前進(jìn)到操作2220,注冊(cè)服務(wù)2130從客戶端設(shè)備2110A接收電子郵件驗(yàn)證請(qǐng)求,該電子郵件驗(yàn)證請(qǐng)求包括一個(gè)或多個(gè)要驗(yàn)證的電子郵件地址、簡(jiǎn)檔ID、簡(jiǎn)檔憑證和客戶端設(shè)備2110A的推送令牌。電子郵件驗(yàn)證請(qǐng)求消息還可以包括客戶端設(shè)備2110A的設(shè)備ID。然后,在操作2222,注冊(cè)服務(wù)2130確定簡(jiǎn)檔ID的簡(jiǎn)檔憑證是否是有效的。如果不是,流程隨后前進(jìn)到操作22M,并且采取可選的動(dòng)作(例如注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送錯(cuò)誤消息)。如果簡(jiǎn)檔憑證是有效的,那么流程前進(jìn)到操作2223。在操作2223,注冊(cè)服務(wù)2130將推送令牌和簡(jiǎn)檔關(guān)聯(lián)起來(lái)。例如,在線通信會(huì)話帳戶服務(wù)器2140將推送令牌存儲(chǔ)在用戶的簡(jiǎn)檔記錄中。流程隨后前進(jìn)到操作2226,注冊(cè)服務(wù)2130確定電子郵件地址是否有效。有效的電子郵件地址是這樣的電子郵件地址該地址已被驗(yàn)證為屬于下述用戶請(qǐng)求該用戶請(qǐng)求正在請(qǐng)求將其注冊(cè)為在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符。在線通信會(huì)話帳戶服務(wù)器2140訪問(wèn)用戶的簡(jiǎn)檔記錄2150以確定電子郵件地址是否有效。如果簡(jiǎn)檔記錄顯示電子郵件地址不是有效的,在一些實(shí)施例中,注冊(cè)服務(wù)2130向用戶目錄服務(wù)2160發(fā)送電子郵件驗(yàn)證請(qǐng)求以確定用戶的用戶記錄2165是否顯示電子郵件地址是有效的。如果電子郵件地址不是有效的,那么流程前進(jìn)到操作2227,并且注冊(cè)服務(wù)2130促使驗(yàn)證電子郵件消息發(fā)送給包括鏈接的電子郵件地址,,當(dāng)其被選擇時(shí)(或當(dāng)其被輸入到因特網(wǎng)瀏覽器時(shí))該鏈接使得該電子郵件地址被驗(yàn)證。例如,選擇鏈接引起電子郵件地址驗(yàn)證消息被發(fā)送,該電子郵件地址驗(yàn)證消息包括用于驗(yàn)證電子郵件地址的電子郵件地址和驗(yàn)證令牌。注冊(cè)服務(wù)2130還可以向客戶端設(shè)備發(fā)送電子郵件需要驗(yàn)證消息,指示電子郵件不是有效的(因此需要被驗(yàn)證),還可以指示驗(yàn)證電子郵件消息被發(fā)送到有關(guān)的電子郵件地址。流程隨后前進(jìn)到操作M10,將參考圖M來(lái)描述。然而,如果電子郵件地址是有效的,那么流程前進(jìn)到操作22觀。在操作22,注冊(cè)服務(wù)2130向客戶端設(shè)備22發(fā)送指示電子郵件地址是有效的電子郵件驗(yàn)證成功消息。流程隨后前進(jìn)到操作2230,注冊(cè)服務(wù)2130從客戶端設(shè)備22接收包括電子郵件地址、簡(jiǎn)檔ID和簡(jiǎn)檔憑證的激活電子郵件請(qǐng)求。在操作2232,注冊(cè)服務(wù)2130隨后確定對(duì)于簡(jiǎn)檔ID,簡(jiǎn)檔憑證是否是有效的。如果不是,則流程前進(jìn)到操作22M,執(zhí)行可選動(dòng)作(例如,注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送錯(cuò)誤消息)。如果它們的簡(jiǎn)檔憑證是有效的,那么流程前進(jìn)到操作2240。在操作2240,注冊(cè)服務(wù)2130生成或訪問(wèn)電子郵件地址的電子郵件憑證。例如,在一個(gè)實(shí)施例中,在線通信會(huì)話帳戶服務(wù)器2140將用戶的各有效的電子郵件地址的電子郵件憑證存儲(chǔ)在那個(gè)用戶的簡(jiǎn)檔記錄2150中。流程隨后前進(jìn)到操作2242,注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送包括電子郵件地址和電子郵件憑證的激活成功消息。流程從操作2242前進(jìn)到操作2244,注冊(cè)服務(wù)2130接收注冊(cè)請(qǐng)求消息,其包括電子郵件地址、電子郵件憑證、簡(jiǎn)檔ID、簡(jiǎn)檔憑證、客戶端設(shè)備2110A的推送令牌,以及客戶端設(shè)備21IOA的設(shè)備ID。在一個(gè)實(shí)施例中,在在線通信會(huì)話注冊(cè)服務(wù)器2145處接收該請(qǐng)求消息。在線通信會(huì)話注冊(cè)服務(wù)器管理在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器2155。在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器2155將推送令牌(可選地,還將設(shè)備ID)與下述簡(jiǎn)檔關(guān)聯(lián)該簡(jiǎn)檔具有作為(一個(gè)或多個(gè))在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的、由一個(gè)或更多個(gè)電子郵件地址構(gòu)成的組。從而,在線通信會(huì)話注冊(cè)數(shù)據(jù)存儲(chǔ)器2155中的每項(xiàng)記錄表示具有特定推送令牌的特定設(shè)備正在使用在線通信會(huì)話簡(jiǎn)檔,該簡(jiǎn)檔具有可用于邀請(qǐng)?jiān)O(shè)備處的用戶參與在線通信會(huì)話的一個(gè)或更多個(gè)電子郵件地址。流程從操作2244前進(jìn)到操作2246。在操作2246,注冊(cè)服務(wù)2130(例如在線通信會(huì)話注冊(cè)服務(wù)器2145)確定簡(jiǎn)檔憑證是否有效。如果它們不是有效的,那么流程前進(jìn)到操作2250,并且執(zhí)行可選動(dòng)作(例如,注冊(cè)服務(wù)2130向客戶端設(shè)備2110A發(fā)送錯(cuò)誤消息)。如果它們是有效的,則流程前進(jìn)到操作2248,注冊(cè)服務(wù)2130(例如在線通信會(huì)話注冊(cè)服務(wù)器214確定電子郵件地址憑證是否有效。如果不是,則流程前進(jìn)到操作2250。如果是有效的,那么流程前進(jìn)到操作2252。在操作2252,注冊(cè)服務(wù)2130(例如在線通信會(huì)話注冊(cè)服務(wù)器214將客戶端設(shè)備2110A與它的具有電子郵件地址的簡(jiǎn)檔的推送令牌關(guān)聯(lián),并且在注冊(cè)數(shù)據(jù)存儲(chǔ)器2155中存儲(chǔ)該關(guān)聯(lián)。流程隨后前進(jìn)到操作22M,注冊(cè)服務(wù)2130生成在線通信會(huì)話帳戶標(biāo)識(shí)符和在線通信會(huì)話憑證,并在操作2256將它們發(fā)送至客戶端設(shè)備2110A。在不同的實(shí)施例中,有不同的方法來(lái)驗(yàn)證電子郵件地址。參考圖M,該圖是說(shuō)明驗(yàn)證電子郵件地址的示例性操作的流程圖,在操作M10,客戶端設(shè)備2110A確定它是否包括一個(gè)電子郵件客戶端,該電子郵件客戶端包括試圖注冊(cè)、但還未收到肯定的驗(yàn)證電子郵件消息的電子郵件帳戶。如果它不包括這樣的電子郵件客戶端,那么流程前進(jìn)到操作對(duì)40。否則,流程前進(jìn)到操作對(duì)15。在操作2415,對(duì)電子郵件帳戶自動(dòng)地周期性地檢查驗(yàn)證電子郵件消息(例如在操作2227發(fā)送的驗(yàn)證電子郵件消息)。在一個(gè)實(shí)施例中,在線通信會(huì)話應(yīng)用2115周期性地請(qǐng)求電子郵件客戶端2120去檢查驗(yàn)證電子郵件消息(電子郵件客戶端2120可輪詢(poll)電子郵件服務(wù)器2170以檢查該驗(yàn)證電子郵件消息)。該驗(yàn)證電子郵件消息由一個(gè)或更多個(gè)標(biāo)準(zhǔn)組成的組標(biāo)識(shí),該標(biāo)準(zhǔn)包括“From:”字段、“To:”字段以及用于驗(yàn)證電子郵件地址的驗(yàn)證令牌(驗(yàn)證令牌對(duì)于每個(gè)要驗(yàn)證的電子郵件地址可以是唯一的)。驗(yàn)證令牌可位于驗(yàn)證電子郵件消息的頭部或體部。如果驗(yàn)證電子郵件消息被接收,那么流程從操作M20前進(jìn)到操作M25,否則,前進(jìn)到操作M35。在操作M25,驗(yàn)證電子郵件消息被返回給在線通信會(huì)話申請(qǐng)2115,它解析該消息以定位驗(yàn)證令牌。在定位驗(yàn)證令牌后,在線通信會(huì)話應(yīng)用2115向注冊(cè)服務(wù)2130發(fā)送包括驗(yàn)證令牌、電子郵件地址、簡(jiǎn)檔ID和簡(jiǎn)檔憑證的電子郵件地址驗(yàn)證消息。因此在這個(gè)實(shí)施例中,電子郵件地址被自動(dòng)驗(yàn)證,不需要用戶點(diǎn)擊鏈接或以其他方式驗(yàn)證該郵件地址。在一個(gè)實(shí)施例中,在收到消息并確定簡(jiǎn)檔憑證有效之后,注冊(cè)服務(wù)2130向設(shè)備發(fā)生一個(gè)電子郵件有效推送消息(通過(guò)推送通知服務(wù)640),來(lái)指示電子郵件地址已被成功驗(yàn)證。從而,流程從操作M25前進(jìn)到操作M30,客戶端設(shè)備2110A等待接收電子郵件地址有效推送消息。如果驗(yàn)證電子郵件消息未被接收到,那么流程前進(jìn)到操作對(duì)35,客戶端設(shè)備確定用于指示正被注冊(cè)的電子郵件地址已經(jīng)被驗(yàn)證的電子郵件有效推送消息是否已被收到。如果收到這樣的消息,那么流程前進(jìn)到操作對(duì)45,否則,流程返回到操作M15。在操作M40(客戶端設(shè)備2110A不包括包含正被注冊(cè)的電子郵件地址帳戶的電子郵件客戶端),客戶端設(shè)備2110A等待接收指示正要注冊(cè)的電子郵件地址已得到驗(yàn)證的電子郵件有效推送消息。如果收到這樣的消息,那么流程前進(jìn)到操作M45,否則,流程保持在操作M40。在操作M45,客戶端設(shè)備2110A顯示電子郵件地址已被驗(yàn)證并且詢問(wèn)用戶用那個(gè)電子郵件地址來(lái)繼續(xù)注冊(cè)過(guò)程。如果客戶端設(shè)備2110A接收到指示繼續(xù)注冊(cè)過(guò)程的輸入,那么流程前進(jìn)到操作M55,客戶端設(shè)備2110A向注冊(cè)服務(wù)器發(fā)送包括電子郵件地址、簡(jiǎn)檔ID和簡(jiǎn)檔憑證的主動(dòng)電子郵件請(qǐng)求。隨后執(zhí)行在圖22的操作2230開(kāi)始描述的操作。如果客戶端設(shè)備2110A接收到指示用戶不想繼續(xù)注冊(cè)過(guò)程的輸入,那么流程從操作M50前進(jìn)到操作M60,退出該過(guò)程。圖25是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)電子郵件地址已被驗(yàn)證時(shí)在注冊(cè)服務(wù)上執(zhí)行的示例性操作的流程圖。在操作2510,注冊(cè)服務(wù)2130接收電子郵件地址有效狀態(tài)消息,其指示與在線通信會(huì)話簡(jiǎn)檔關(guān)聯(lián)的電子郵件地址已被驗(yàn)證。該電子郵件地址有效狀態(tài)消息可作為操作M25的結(jié)果被接收到,或者可以是以其他方式驗(yàn)證電子郵件地址的結(jié)果(例如,用戶點(diǎn)擊驗(yàn)證電子郵件消息中的驗(yàn)證鏈接導(dǎo)致電子郵件地址得到驗(yàn)證,該消息在不同于在試圖注冊(cè)電子郵件地址以用于在線通信會(huì)話的設(shè)備的設(shè)備上發(fā)出)被接收到。流程隨后前進(jìn)到操作2515,注冊(cè)服務(wù)2130更新簡(jiǎn)檔記錄2150中電子郵件地址的驗(yàn)證狀態(tài)。流程隨后前進(jìn)到操作2515,注冊(cè)服務(wù)2130確定是否存在與在線通信會(huì)話簡(jiǎn)檔關(guān)聯(lián)的客戶端設(shè)備,其中這些客戶端設(shè)備已經(jīng)請(qǐng)求驗(yàn)證還未收到電子郵件地址有效消息的電子郵件地址。例如,注冊(cè)服務(wù)2130訪問(wèn)簡(jiǎn)檔記錄2150中的在線通信會(huì)話簡(jiǎn)檔以確定哪些客戶端設(shè)備(例如由唯一推送令牌標(biāo)識(shí))已經(jīng)請(qǐng)求驗(yàn)證電子郵件地址以及哪些還沒(méi)有收到那個(gè)電子郵件地址的電子郵件地址驗(yàn)證消息。對(duì)于每個(gè)這樣的客戶端設(shè)備,注冊(cè)服務(wù)向那個(gè)客戶端設(shè)備發(fā)送包括簡(jiǎn)檔ID、簡(jiǎn)檔憑證和已經(jīng)在操作2525驗(yàn)證的電子郵件地址的電子郵件有效推送消息。該電子郵件有效推送消息還可以包括狀態(tài)更新以指示電子郵件地址已被驗(yàn)證。如果沒(méi)有設(shè)備請(qǐng)求驗(yàn)證未收到電子郵件地址有效消息的電子郵件地址,那么流程前進(jìn)到操作2530,并且退出該過(guò)程。津立在線通信會(huì)話如圖6所示,一個(gè)實(shí)施例中實(shí)現(xiàn)的整體網(wǎng)絡(luò)拓?fù)淇梢园ǘ鄠€(gè)客戶端設(shè)備A-N,分別是670A-N,它們彼此互相通信,并且通過(guò)網(wǎng)絡(luò)660與一個(gè)或多個(gè)服務(wù)610、620、630、640和650通信。盡管圖示的是單個(gè)網(wǎng)絡(luò)云,但網(wǎng)絡(luò)660也可以包括多種不同的組件,包括公共網(wǎng)絡(luò)(例如因特網(wǎng))和私有網(wǎng)絡(luò),所述私有網(wǎng)絡(luò)例如局域Wi-Fi網(wǎng)絡(luò)(例如802.Iln家庭無(wú)線網(wǎng)絡(luò)或無(wú)線熱點(diǎn))、局域以太網(wǎng)、蜂窩數(shù)據(jù)網(wǎng)(例如3G、4G、Edge等),以及WiMAX網(wǎng)絡(luò)等??蛻舳嗽O(shè)備670A-N可通過(guò)不同的網(wǎng)絡(luò)鏈路連接到網(wǎng)絡(luò)660。例如,客戶端設(shè)備670A可以連接到由網(wǎng)絡(luò)鏈路675A表示的家庭Wi-Fi網(wǎng)絡(luò),而客戶端設(shè)備670N可以通過(guò)網(wǎng)絡(luò)鏈路675N連接到3G網(wǎng)絡(luò)(例如,通用移動(dòng)電信系統(tǒng)(UMTS)、高速上行分組接入(“HSUPA”等)。與客戶端設(shè)備670A-N連接的網(wǎng)絡(luò)鏈路675A-N中的每個(gè)可以通過(guò)網(wǎng)關(guān)和/或NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)設(shè)備(圖6中未示出)耦合到公共網(wǎng)絡(luò)(例如因特網(wǎng)),從而實(shí)現(xiàn)各個(gè)客戶端設(shè)備670A-N通過(guò)公共網(wǎng)絡(luò)的通信。然而,如果兩個(gè)客戶端設(shè)備是在同一個(gè)局域或私有網(wǎng)絡(luò)(例如同一個(gè)Wi-Fi網(wǎng)絡(luò)),那么,這兩個(gè)設(shè)備可以直接通過(guò)那個(gè)局域/私有網(wǎng)絡(luò)通信,繞開(kāi)公共網(wǎng)絡(luò)。需要注意,當(dāng)然,本發(fā)明的基本原理不限于網(wǎng)絡(luò)類型或網(wǎng)絡(luò)拓?fù)涞娜魏翁囟ńM合。客戶端設(shè)備670A-N中每個(gè)可以與連接數(shù)據(jù)交換(connectiondataexchange,⑶X)服務(wù)610、邀請(qǐng)服務(wù)620、注冊(cè)服務(wù)630、推送通知服務(wù)640和中繼服務(wù)650通信。在一個(gè)實(shí)施例中,服務(wù)610-650可以作為在例如服務(wù)器的一個(gè)或更多個(gè)物理計(jì)算設(shè)備上執(zhí)行的軟件來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例中,CDX服務(wù)610用作在兩個(gè)或更多客戶端設(shè)備之間建立在線通信會(huì)話所需要的連接數(shù)據(jù)的中央交換點(diǎn)。特別地,響應(yīng)于客戶端設(shè)備請(qǐng)求實(shí)現(xiàn)外部服務(wù)和客戶端通過(guò)每個(gè)客戶端設(shè)備的NAT通信(即通過(guò)NAT“穿孔”(punchahole)以到達(dá)該設(shè)備),⑶X服務(wù)610的一個(gè)實(shí)施例生成NAT穿越數(shù)據(jù)(有時(shí)被稱作“打孔機(jī)(HolePunch),,數(shù)據(jù))。例如,在一個(gè)實(shí)施例中,CDX服務(wù)檢測(cè)與客戶端設(shè)備通信所需要的外部IP地址和端口,并將該信息提供給客戶端設(shè)備。在一個(gè)實(shí)施例中,CDX服務(wù)還接收和處理邀請(qǐng)服務(wù)620生成的客戶端設(shè)備列表,并且有效地和安全地將連接數(shù)據(jù)分配給列表中包括的各個(gè)客戶端設(shè)備(如下文詳細(xì)描述的)??蛻舳嗽O(shè)備670A-N的用戶使用邀請(qǐng)服務(wù)620來(lái)邀請(qǐng)用戶參加到合作的在線通信會(huì)話(例如P2P視頻會(huì)議、P2P即時(shí)消息聊天/會(huì)議等)。例如,客戶端設(shè)備670A的用戶,通過(guò)向包含其他各個(gè)用戶的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的邀請(qǐng)服務(wù)620發(fā)送邀請(qǐng)請(qǐng)求,來(lái)請(qǐng)求與具有一個(gè)或更多個(gè)不同客戶端設(shè)備的一個(gè)或更多個(gè)用戶的在線通信會(huì)話。該在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符在不同實(shí)施例中可以是不同的(例如電話號(hào)碼、用戶名(例如AppleID)、電子郵件地址、郵件地址、MAC地址或其他標(biāo)識(shí)符)。邀請(qǐng)服務(wù)620讀取邀請(qǐng)請(qǐng)求中的(一個(gè)或多個(gè))在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符,并且執(zhí)行在注冊(cè)數(shù)據(jù)存儲(chǔ)器655中的查找以定位與在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的(一個(gè)或多個(gè))客戶端設(shè)備??蛻舳嗽O(shè)備670A-N使用注冊(cè)服務(wù)630來(lái)為在線通信會(huì)話注冊(cè)。例如,在一個(gè)實(shí)施例中,當(dāng)各個(gè)客戶端設(shè)備670A-N均被上電并且在網(wǎng)絡(luò)上激活時(shí),它促使它的標(biāo)識(shí)令牌(例如它的推送令牌)與在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符相關(guān)聯(lián)。該關(guān)聯(lián)被保存在注冊(cè)數(shù)據(jù)存儲(chǔ)器655中。在一個(gè)實(shí)施例中,客戶端設(shè)備670A-N使用圖4描述的注冊(cè)服務(wù)630,為參加在線通信會(huì)話服務(wù)而注冊(cè),而在其他實(shí)施例中,注冊(cè)過(guò)程不同地發(fā)生(例如,通過(guò)提供它們的推送令牌和它們的通信會(huì)話端點(diǎn)標(biāo)識(shí)符兩者)。推送通知服務(wù)640使用客戶端設(shè)備670A-N的推送令牌來(lái)向客戶端設(shè)備670A-N發(fā)送推送通知。在一個(gè)實(shí)施例中,推送通知用于發(fā)送在線通信會(huì)話的邀請(qǐng)。當(dāng)客戶端設(shè)備的NAT類型不兼容或者客戶端設(shè)備之間的P2P連接建立失敗時(shí),中繼服務(wù)650建立客戶端設(shè)備之間的在線通信會(huì)話連接。在一個(gè)實(shí)施例中,通過(guò)使用相對(duì)輕量級(jí)網(wǎng)絡(luò)協(xié)議,例如用戶數(shù)據(jù)報(bào)協(xié)議(“UDP”)套接字,建立客戶端設(shè)備和CDX服務(wù)610之間的通信。本領(lǐng)域技術(shù)人員已知的是,UDP套接字連接不需要握手對(duì)話來(lái)保證分組可靠性、排序或數(shù)據(jù)完整性,而且,因此不需要消耗像TCP套接字連接那么多的分組處理開(kāi)銷。結(jié)果,UDP的輕量級(jí)、無(wú)狀態(tài)的性質(zhì)對(duì)于答復(fù)來(lái)自大量客戶端的小查詢的服務(wù)器是很有用的。另外,不像TCP,UDP與分組廣播(其中分組被發(fā)送到局域網(wǎng)上的所有設(shè)備)和多播(其中分組被發(fā)送到局域網(wǎng)上的設(shè)備的子集)兼容。如下文描述的,盡管UDP可以使用,可以通過(guò)使用會(huì)話密鑰加密NAT穿越數(shù)據(jù)來(lái)維持CDX服務(wù)610上的安全。與CDX服務(wù)610使用的低開(kāi)銷、輕量級(jí)網(wǎng)絡(luò)協(xié)議相反,在一個(gè)實(shí)施例中,客戶端設(shè)備670A-N和邀請(qǐng)服務(wù)620、注冊(cè)服務(wù)630、推送通知服務(wù)640、和/或中繼服務(wù)650之間的通信使用固有的安全的網(wǎng)絡(luò)協(xié)議來(lái)建立,例如超文本傳輸協(xié)議安全(HTTPS),其依賴于安全套接層(SSL)或傳輸層安全(TLQ連接。有關(guān)這些協(xié)議的細(xì)節(jié)已被本領(lǐng)域技術(shù)人員所熟知。圖7是說(shuō)明根據(jù)一個(gè)實(shí)施例在客戶端設(shè)備之間建立在線通信會(huì)話的數(shù)據(jù)流程圖。在圖7的例子中,客戶端設(shè)備A710處的用戶邀請(qǐng)客戶端設(shè)備B720處的用戶進(jìn)行在線通信會(huì)話(例如P2P視頻會(huì)議、P2P即時(shí)消息系統(tǒng)等)。在這個(gè)例子中,客戶端設(shè)備A710有時(shí)被稱作發(fā)起端客戶端設(shè)備,客戶端設(shè)備B720的用戶有時(shí)被稱作預(yù)期接收者,而客戶端設(shè)備B720有時(shí)被稱作預(yù)期接收客戶端設(shè)備。在一些實(shí)施例中,在線通信會(huì)話邀請(qǐng)是盲目的邀請(qǐng),并不需要在線。例如,客戶端設(shè)備A710處的用戶并不知道客戶端設(shè)備B720處的用戶當(dāng)前是否在線或者可以參與在線通信會(huì)話。雖然涉及圖6和7所表述的實(shí)施例是特定于使用推送令牌和推送通知的,其他實(shí)施例并未被限制。例如,在其他實(shí)施例中,任何客戶端到唯一令牌的注冊(cè)或映射都可以用于關(guān)聯(lián)標(biāo)識(shí)令牌和客戶端設(shè)備以及提供關(guān)聯(lián)客戶端設(shè)備身份和唯一標(biāo)識(shí)的令牌的可信任的方法。在操作1,客戶端設(shè)備A710向連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù)。該連接數(shù)據(jù)包括客戶端設(shè)備間互相交換以建立在線通信會(huì)話(例如P2P會(huì)話)的信息。連接數(shù)據(jù)包括客戶端設(shè)備的IP地址(例如公共IP地址)、請(qǐng)求的端口號(hào)、以及其他信息(例如優(yōu)先權(quán)信息等)。連接數(shù)據(jù)交換610確定客戶端設(shè)備A710的連接數(shù)據(jù)(例如公共/私有IP地址和端口、客戶端設(shè)備A的NAT設(shè)備的NAT類型)。在操作2,連接數(shù)據(jù)交換610將連接數(shù)據(jù)返回給客戶端設(shè)備A710。在操作3,客戶端設(shè)備A710向邀請(qǐng)服務(wù)620發(fā)送在線通信會(huì)話邀請(qǐng)請(qǐng)求以邀請(qǐng)客戶端設(shè)備B720進(jìn)行在線通信會(huì)話(例如P2P視頻會(huì)議、P2P即時(shí)消息會(huì)話等)。在一個(gè)實(shí)施例中,該邀請(qǐng)包括客戶端設(shè)備A710的連接數(shù)據(jù),其可包括用于客戶端設(shè)備A710的公共/私有IP地址和端口和客戶端設(shè)備A的NAT設(shè)備的NAT類型,以及與客戶端設(shè)備B720處的用戶關(guān)聯(lián)的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符(例如客戶端設(shè)備B720的電話號(hào)碼、用戶的用戶名(例如AppleID)、電子郵件地址、郵件地址、MAC地址等)。在線通信會(huì)話邀請(qǐng)請(qǐng)求可以采用HTTPS請(qǐng)求的形式,并且可以包括預(yù)先指定的證書(shū)授權(quán)機(jī)構(gòu)簽發(fā)的客戶端證書(shū)。在操作4,邀請(qǐng)服務(wù)620確定操作3的請(qǐng)求中包括的與在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的推送令牌。例如,邀請(qǐng)服務(wù)620訪問(wèn)注冊(cè)數(shù)據(jù)存儲(chǔ)器655以確定與在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的(一個(gè)或多個(gè))推送令牌。如圖7所示,推送令牌725被分配給客戶端設(shè)備B720,并且從而與它的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)。圖10示出了根據(jù)一個(gè)實(shí)施例的示例性注冊(cè)數(shù)據(jù)存儲(chǔ)器655。如圖10所示,每項(xiàng)在線通信會(huì)話標(biāo)識(shí)符記錄1010包括推送令牌字段1015和在線通信會(huì)話標(biāo)識(shí)符字段1020。如圖10所示,同一個(gè)在線通信會(huì)話標(biāo)識(shí)符可與多個(gè)推送令牌關(guān)聯(lián)。在這樣的情況下,多個(gè)邀請(qǐng)將被發(fā)送(例如每個(gè)推送令牌一個(gè))。邀請(qǐng)服務(wù)620向推送通知服務(wù)640發(fā)送推送請(qǐng)求消息。在操作5,推送通知服務(wù)640以推送通知消息的形式向客戶端設(shè)備B720發(fā)送在線通信會(huì)話邀請(qǐng)請(qǐng)求。該請(qǐng)求包括連接數(shù)據(jù)、在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符以及客戶端設(shè)備A710的推送令牌(推送令牌71。邀請(qǐng)請(qǐng)求還可包括專用于在線通信會(huì)話的信息,以向客戶端設(shè)備B720的用戶提供關(guān)于邀請(qǐng)的信息(例如,發(fā)送邀請(qǐng)的人的名稱(例如用戶名、真名、電話號(hào)碼或它們的一些組合),邀請(qǐng)的目的(例如P2P視頻會(huì)議、P2P即時(shí)消息會(huì)話等)等)。在線通信會(huì)話邀請(qǐng)請(qǐng)求如果被打開(kāi)并正常的運(yùn)行,它將被接收和顯示在客戶端設(shè)備B720上。邀請(qǐng)請(qǐng)求包括用戶用于接受或拒絕邀請(qǐng)的機(jī)制(例如接受按鈕和拒絕按鈕)。如果邀請(qǐng)請(qǐng)求被拒絕,客戶端設(shè)備A710處的用戶可接收到一個(gè)通知。假設(shè)在客戶端B720處的用戶接受了邀請(qǐng)請(qǐng)求,在操作6客戶端設(shè)備B720從連接數(shù)據(jù)交換610處請(qǐng)求它的連接數(shù)據(jù)。連接數(shù)據(jù)交換610確定客戶端設(shè)備B720的連接數(shù)據(jù)(例如公共/私用IP地址和端口,客戶端設(shè)備B的NAT設(shè)備的NAT類型),并且在操作7,將連接數(shù)據(jù)返回給客戶端設(shè)備B720。在操作8,客戶端設(shè)備B720隨后向邀請(qǐng)服務(wù)620發(fā)送接受消息。該接受消息包括客戶端設(shè)備B720的連接數(shù)據(jù),并且包括客戶端設(shè)備A710的推送令牌。該接受消息還可以包括關(guān)于下述內(nèi)容的指示即,關(guān)于該消息是否是來(lái)自客戶端設(shè)備A710和客戶端設(shè)備B720之間的先前失敗的直接P2P連接嘗試的答復(fù)。該接受消息可以采用HTTPS消息的形式。在一些實(shí)施例中,邀請(qǐng)服務(wù)620確定客戶端設(shè)備A710和客戶端設(shè)備B720之間的P2P連接是否是可行的。在操作9,邀請(qǐng)服務(wù)620確定客戶端設(shè)備A和B之間的直接P2P連接是否是可行的。例如,在一個(gè)實(shí)施例中,如果從客戶端設(shè)備B620接收的接受消息指示它是來(lái)自先前失敗的直接連接嘗試(或者特定數(shù)目的先前失敗的直接連接嘗試)的答復(fù),那么邀請(qǐng)服務(wù)620可以推斷出直接P2P連接是不可行的。為了確定可行性,邀請(qǐng)服務(wù)620可以比較客戶端設(shè)備A和B的NAT類型數(shù)據(jù)以確定客戶端設(shè)備A和B的NAT設(shè)備是否支持直接P2P連接。在一個(gè)實(shí)施例中,上面描述的接受消息不包括先前失敗嘗試的指示。然而,在失敗的直接連接嘗試之后,客戶端設(shè)備710-720中的任何一個(gè)都可以發(fā)送特殊的“中繼邀請(qǐng)”請(qǐng)求(例如取代圖7操作3的邀請(qǐng)請(qǐng)求),其指示需要中繼連接。作為響應(yīng),邀請(qǐng)服務(wù)可以自動(dòng)地調(diào)用此處描述的中繼操作(下文描述)。已知NAT類型的某些組合對(duì)于建立P2P連接是不兼容的。例如,完全錐形NAT可以和除了關(guān)閉的/裝有防火墻的NAT之外的任何其他NAT類型一起使用來(lái)建立直接P2P連接。相反,對(duì)稱NAT只能與完全錐形NAT—起使用來(lái)建立直接P2P連接。聯(lián)合各種NAT類型的可行性在一個(gè)實(shí)施例中在圖11所示的NAT兼容性表格1110中提出,其中列代表一個(gè)客戶端設(shè)備(例如客戶端設(shè)備A710)的NAT類型,而行代表其他客戶端設(shè)備(例如客戶端設(shè)備B720)的NAT類型。單元中的“1.0”表示在相關(guān)聯(lián)的列和行中的NAT類型是兼容的,而“0.0”表示NAT類型是不兼容的。如果邀請(qǐng)服務(wù)620確定直接P2P連接是可行的,那么邀請(qǐng)服務(wù)620將推送請(qǐng)求發(fā)送到推送通知服務(wù)640以發(fā)送邀請(qǐng)請(qǐng)求的接受。因此,在操作10B,推送通知服務(wù)640以推送通知的形式發(fā)送在線通信會(huì)話接受消息至客戶端設(shè)備A710。該接受消息包括連接數(shù)據(jù)、在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和客戶端設(shè)備B720的推送令牌。該接受消息將被顯示在客戶端設(shè)備A710上。由于客戶端設(shè)備A和B具有彼此的連接數(shù)據(jù),客戶端設(shè)備A和B具有足夠的信息來(lái)建立直接P2P連接。因此,在操作11A,客戶端設(shè)備A和B使用交換的連接數(shù)據(jù)建立直接的P2P連接。直接P2P連接可以通過(guò)已知的機(jī)制建立(例如使用因特網(wǎng)連接建立(ICE)或者其他已知的P2P連接機(jī)制)。然而,如果邀請(qǐng)服務(wù)620確定直接P2P連接是不可行的,那么它將在操作IOB發(fā)送中繼查詢請(qǐng)求至中繼服務(wù)650來(lái)確定客戶端設(shè)備A和B的一個(gè)或更多個(gè)中繼主機(jī)以用于連接。中繼查找請(qǐng)求可包括客戶端設(shè)備A和B的網(wǎng)絡(luò)信息(例如NAT穿越/連接數(shù)據(jù)和/或NAT類型數(shù)據(jù)),其被中繼服務(wù)650使用來(lái)為兩個(gè)客戶端設(shè)備選擇合適的中繼主機(jī)。如圖8所示,在一個(gè)實(shí)施例中,中繼服務(wù)650包括中繼查找模塊805、多個(gè)中繼主機(jī)815A-B、以及包含有關(guān)各個(gè)中繼主機(jī)815A-B的網(wǎng)絡(luò)信息的中繼主機(jī)數(shù)據(jù)庫(kù)810。雖然圖8示出了兩個(gè)中繼主機(jī),但應(yīng)當(dāng)理解,在一些實(shí)施例中可以有更多或更少的中繼主機(jī)。邀請(qǐng)服務(wù)620向中繼查找模塊805發(fā)送中繼查找請(qǐng)求,中繼查找模塊805使用客戶端設(shè)備A和B的網(wǎng)絡(luò)信息查詢中繼主機(jī)數(shù)據(jù)庫(kù)810。一旦接收到數(shù)據(jù)庫(kù)結(jié)果,中繼查找模塊805在操作IlB向邀請(qǐng)服務(wù)620提供標(biāo)識(shí)所選擇的中繼主機(jī)815A-B的響應(yīng)。在一個(gè)實(shí)施例中,中繼查找響應(yīng)包括中繼服務(wù)650生成的中繼令牌,以及已選擇的客戶端設(shè)備A和B用于中繼連接時(shí)所使用的中繼主機(jī)815A-B的網(wǎng)絡(luò)地址(IP地址/端口)。在一個(gè)實(shí)施例中,中繼令牌與中繼會(huì)話關(guān)聯(lián),并且被中繼主機(jī)815A-B使用以在連接到中繼服務(wù)650時(shí)認(rèn)證客戶端設(shè)備A和B。該令牌可以采用多種形式,包括,例如,唯一的ID中繼會(huì)話ID代碼、數(shù)字證書(shū)和/或與中繼會(huì)話關(guān)聯(lián)的唯一的加密密鑰。邀請(qǐng)服務(wù)620向客戶端設(shè)備A和B發(fā)送中繼響應(yīng)來(lái)指示中繼連接將被創(chuàng)建。在一個(gè)實(shí)施例中,至客戶端設(shè)備B的中繼響應(yīng)可包括中繼令牌和中繼主機(jī)815B的網(wǎng)絡(luò)信息。在一個(gè)實(shí)施例中,至客戶端設(shè)備B的響應(yīng)可以直接發(fā)送(繞過(guò)推送通知服務(wù)640),因?yàn)樗琼憫?yīng)于客戶端設(shè)備B的邀請(qǐng)接受消息而被發(fā)送的。邀請(qǐng)服務(wù)620還向客戶端設(shè)備A發(fā)送中繼響應(yīng),其可包括中繼令牌和中繼主機(jī)A815A的網(wǎng)絡(luò)信息。在這個(gè)實(shí)例中,該響應(yīng)是通過(guò)推送通知服務(wù)640推送到客戶端設(shè)備A的。在操作12B,客戶端設(shè)備A710使用中繼主機(jī)815A的網(wǎng)絡(luò)信息來(lái)建立與中繼服務(wù)650的連接。類似的,在操作13B,客戶端設(shè)備B720使用中繼主機(jī)815B的網(wǎng)絡(luò)信息來(lái)建立與中繼服務(wù)650的連接。在每個(gè)這樣的處理中,客戶端設(shè)備A和B的任何NAT防火墻上被打開(kāi)了新的孔,用于客戶端設(shè)備A和B的NAT穿越/連接數(shù)據(jù)可由中繼服務(wù)650確定,并分別返回給客戶端設(shè)備A和B(例如通過(guò)檢查設(shè)備的公共IP/端口)。在一個(gè)實(shí)施例中,中繼服務(wù)650和客戶端設(shè)備A和B實(shí)施通過(guò)Relay方式穿越NATCTraversalUsingRelayNAT,TURN)協(xié)議,正如本領(lǐng)域技術(shù)人員理解的,該協(xié)議允許NAT或防火墻后的元件接收來(lái)自TCP或UDP連接的數(shù)據(jù)。在操作14B,客戶端設(shè)備A710向邀請(qǐng)服務(wù)620發(fā)送中繼更新,中繼更新被轉(zhuǎn)發(fā)到推送通知服務(wù),又在操作17B被推送到客戶端設(shè)備B720。類似的,在操作15B,客戶端設(shè)備B720向邀請(qǐng)服務(wù)620發(fā)送中繼更新,其被轉(zhuǎn)發(fā)到推送通知服務(wù)620,并在操作16B被推送到客戶端設(shè)備A610。由客戶端設(shè)備A710發(fā)送的中繼更新可以包括會(huì)話令牌、每個(gè)設(shè)備的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和由中繼服務(wù)650確定的NAT穿越/連接數(shù)據(jù)。在操作18B和19B,客戶端設(shè)備A和B分別通過(guò)中繼服務(wù)650建立在線通信會(huì)話連接。在一個(gè)實(shí)施例中,中繼連接可在客戶端設(shè)備A710將客戶端設(shè)備B720的NAT穿越/連接數(shù)據(jù)發(fā)送給中繼服務(wù)650時(shí)建立,反之亦然,從而允許中繼服務(wù)確定到每個(gè)對(duì)等節(jié)點(diǎn)的中繼主機(jī)815A-B的正確路徑。使用上面描述的技術(shù),邀請(qǐng)服務(wù)620可以被實(shí)現(xiàn)為無(wú)狀態(tài)服務(wù),其內(nèi)在是可升級(jí)的和能復(fù)原的,即使在具有大量客戶端設(shè)備的大型系統(tǒng)中。例如,因?yàn)橥扑屯ㄖ?wù)640本來(lái)能夠定位和推送內(nèi)容至注冊(cè)的客戶端設(shè)備,所以邀請(qǐng)服務(wù)620不需要跟蹤每個(gè)設(shè)備的當(dāng)前位置。另外,因?yàn)樵O(shè)備可以發(fā)送帶有請(qǐng)求和響應(yīng)的NAT穿越/連接數(shù)據(jù),所以邀請(qǐng)服務(wù)620從來(lái)不需要維護(hù)任何預(yù)連接狀態(tài)信息,從而減少了存儲(chǔ)空間和邀請(qǐng)服務(wù)的處理需求。這樣的實(shí)現(xiàn)在大型系統(tǒng)中尤其有用。盡管圖7描述了客戶端設(shè)備處的用戶邀請(qǐng)單個(gè)用戶進(jìn)行在線通信會(huì)話,實(shí)施例并不限于此。例如,在一些實(shí)施例中,客戶端設(shè)備處的用戶可以邀請(qǐng)多個(gè)用戶參與一個(gè)在線通信會(huì)話。例如,用戶可以向邀請(qǐng)服務(wù)發(fā)送帶有多個(gè)在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的單一邀請(qǐng)請(qǐng)求消息,來(lái)邀請(qǐng)不同客戶端設(shè)備處的多個(gè)用戶來(lái)參與到一個(gè)在線通信會(huì)話中。在一些情況下,用戶可以擁有與同一在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的多個(gè)客戶端設(shè)備。圖沈是一個(gè)數(shù)據(jù)流程圖,說(shuō)明當(dāng)用戶具有與同一在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的多個(gè)客戶端設(shè)備時(shí)管理邀請(qǐng)的示例性操作。在操作沈32,客戶端設(shè)備A(由用戶A操作0610發(fā)送一個(gè)請(qǐng)求,向連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù)。在操作沈34,連接數(shù)據(jù)交換610返回客戶端設(shè)備A的連接數(shù)據(jù)??蛻舳嗽O(shè)備隨后向邀請(qǐng)服務(wù)620發(fā)送攜帶用戶IDB的在線通信會(huì)話邀請(qǐng)請(qǐng)求,以邀請(qǐng)用戶B進(jìn)行在線通信會(huì)話(例如P2P視頻會(huì)議、P2P即時(shí)消息會(huì)話、視頻呼叫等)。邀請(qǐng)請(qǐng)求包括A的連接數(shù)據(jù)。在操作沈38,邀請(qǐng)服務(wù)基于邀請(qǐng)請(qǐng)求消息中包含的B的ID執(zhí)行目錄查找。在這個(gè)例子中,目錄查找操作返回客戶端設(shè)備Bl的推送令牌和客戶端設(shè)備B2的推送令牌。因此,客戶端設(shè)備Bl與B2和B的ID關(guān)聯(lián)。隨后在操作沈40,邀請(qǐng)服務(wù)620將推送請(qǐng)求消息發(fā)送給推送通知服務(wù)640,以將邀請(qǐng)請(qǐng)求消息推送給客戶端設(shè)備Bl2615和客戶端設(shè)備B22620。在操作沈42,推送通知服務(wù)640采用推送通知消息的形式,發(fā)送在線通信會(huì)話邀請(qǐng)請(qǐng)求至客戶端設(shè)備BU615以及在操作沈44發(fā)送至客戶端設(shè)備B2沈20。每個(gè)邀請(qǐng)請(qǐng)求消息包括客戶端設(shè)備A2610的連接數(shù)據(jù)、用戶A使用的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符以及客戶端設(shè)備A2610的推送令牌。邀請(qǐng)請(qǐng)求還可以包括專用于在線通信會(huì)話的信息(例如發(fā)送邀請(qǐng)的人的名稱(例如用戶名、真名、電話號(hào)碼或它們的一些組合)、邀請(qǐng)的目的(例如P2P視頻會(huì)議、P2P即時(shí)消息會(huì)話等)等)。從而,在線通信會(huì)話邀請(qǐng)請(qǐng)求被發(fā)送到與原始邀請(qǐng)請(qǐng)求中包含的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的各個(gè)設(shè)備。在一個(gè)實(shí)施例中,邀請(qǐng)服務(wù)620向邀請(qǐng)客戶端設(shè)備發(fā)送狀態(tài)信息以指示邀請(qǐng)發(fā)往哪個(gè)/哪些客戶端設(shè)備。從而,在操作沈46,邀請(qǐng)服務(wù)620向客戶端設(shè)備A沈10發(fā)送邀請(qǐng)狀態(tài)更新,其指示在線通信會(huì)話邀請(qǐng)請(qǐng)求已發(fā)給客戶端設(shè)備BU615和客戶端設(shè)備B22620。在一個(gè)實(shí)施例中,客戶端設(shè)備A2610跟蹤接受邀請(qǐng)的客戶端設(shè)備,并且保持向其他客戶端設(shè)備通知在線通信會(huì)話的狀態(tài)。在一個(gè)實(shí)施例中,客戶端設(shè)備Bl沈15和客戶端設(shè)備B2沈20將顯示邀請(qǐng)請(qǐng)求,如果它們上電并且能夠接收邀請(qǐng)請(qǐng)求的話。在圖沈所示的例子中,客戶端設(shè)備Bl沈15處的用戶將正在接受邀請(qǐng)。因此,在操作沈48,客戶端設(shè)備Bl沈15向連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù)。連接數(shù)據(jù)交換610確定客戶端設(shè)備BU615的連接數(shù)據(jù),并在操作沈50將其返回給客戶端設(shè)備Bl2615。在操作沈52,客戶端設(shè)備Bl2615隨后向邀請(qǐng)服務(wù)620發(fā)送接受消息。該接受消息包括客戶端設(shè)備Bl沈15的連接數(shù)據(jù)和客戶端設(shè)備A2610的推送令牌。該接受消息還可以包含指示,該指示有關(guān)它是不是來(lái)自客戶端設(shè)備A^UO和客戶端設(shè)備Bl2615之間先前失敗的直接P2P連接嘗試的答復(fù)。另外,接受消息還可以包括A和B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和客戶端設(shè)備B2615的推送令牌。在一些實(shí)施例中,在接收到在線通信會(huì)話的接受消息之后,邀請(qǐng)服務(wù)620確定直接P2P連接是否可行。因此,在操作沈討,邀請(qǐng)服務(wù)620執(zhí)行直接P2P兼容性險(xiǎn)查來(lái)確定客戶端設(shè)備A^lO和客戶端設(shè)備BU615之間的直接P2P連接是否可行,按照先前描述過(guò)的方式。如果客戶端設(shè)備兼容直接P2P連接,那么執(zhí)行參考圖27描述的操作(從操作2710開(kāi)始)。如果客戶端設(shè)備不兼容直接P2P連接,那么執(zhí)行參考圖觀描述的操作(從操作觀10開(kāi)始)。參考圖27,其說(shuō)明了直接P2P連接可行時(shí)執(zhí)行的操作,在操作2710,邀請(qǐng)服務(wù)620向推送通知服務(wù)640發(fā)送推送請(qǐng)求以發(fā)送客戶端設(shè)備Bl沈15對(duì)邀請(qǐng)的接受。在操作2712,推送通知服務(wù)640以推送通知的形式向客戶端設(shè)備A2610發(fā)送在線通信會(huì)話接受消息。這個(gè)接受消息包括客戶端設(shè)備Bl2615的連接數(shù)據(jù)和推送令牌,以及用戶B所使用的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符。在一個(gè)實(shí)施例中,有時(shí),在接收到指示客戶端設(shè)備Bl2615已經(jīng)接受邀請(qǐng)的接受消息之后,客戶端設(shè)備A2610將通知客戶端設(shè)備B2沈20客戶端設(shè)備A2620已經(jīng)接受了邀請(qǐng)。因此,在操作2714,客戶端設(shè)備A2610向邀請(qǐng)服務(wù)發(fā)送邀請(qǐng)更新請(qǐng)求,其包括用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符,并且指示客戶端設(shè)備Bl沈15已經(jīng)接受了邀請(qǐng)。邀請(qǐng)更新請(qǐng)求還可以向邀請(qǐng)服務(wù)620指示或指出哪個(gè)與用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的客戶端設(shè)備應(yīng)該接收邀請(qǐng)更新消息(在這個(gè)例子中,客戶端設(shè)備B2沈20應(yīng)當(dāng)接收邀請(qǐng)更新消邀請(qǐng)服務(wù)620根據(jù)用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符執(zhí)行目錄查找2716來(lái)確定客戶端設(shè)備B2沈20的推送令牌。在確定推送令牌之后,邀請(qǐng)服務(wù)在操作2718向推送通知服務(wù)640發(fā)送推送請(qǐng)求以將邀請(qǐng)更新消息推送到客戶端設(shè)備B2^20。在操作2720,推送通知服務(wù)640以推送通知消息的形式將邀請(qǐng)更新消息發(fā)送給客戶端設(shè)備B2沈20。該邀請(qǐng)更新消息顯示客戶端設(shè)備Bl沈15已經(jīng)接受了在線通信會(huì)話邀請(qǐng)??蛻舳嗽O(shè)備B2沈20可以顯示該邀請(qǐng)更新消息,并且可以維護(hù)客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15之間的在線通信會(huì)話的狀態(tài)(例如,在線通信會(huì)話的持續(xù)時(shí)間等)。如同將參考圖30更加詳細(xì)描述的,在一個(gè)實(shí)施例中,客戶端設(shè)備B2沈20可以發(fā)送一個(gè)轉(zhuǎn)移請(qǐng)求,促使在線通信會(huì)話從客戶端設(shè)備Bl沈15轉(zhuǎn)移到客戶端設(shè)備B2沈20。有時(shí),在操作2712收到邀請(qǐng)接受消息之后,在操作2722客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15使用交換的連接數(shù)據(jù)建立直接P2P連接。該直接P2P連接可以通過(guò)已知的機(jī)制(例如,使用因特網(wǎng)連接建立(ICE)或其他已知的P2P連接機(jī)制)建立。應(yīng)當(dāng)理解,操作2722可以在操作2714-2720之前或期間執(zhí)行。盡管圖沈描述了僅有單個(gè)客戶端設(shè)備接受邀請(qǐng)消息的例子,在一些情況下,多個(gè)客戶端設(shè)備可以接受直接給單個(gè)用戶的在線通信會(huì)話的邀請(qǐng)。例如,在一些情況下,客戶端設(shè)備Bl沈15和客戶端設(shè)備B2沈20可以接受邀請(qǐng)。在一個(gè)實(shí)施例中,客戶端設(shè)備A2610與第一個(gè)從其接收到接受消息的客戶端設(shè)備建立在線通信會(huì)話。客戶端設(shè)備A2610可以使取消消息被發(fā)送到(一個(gè)或多個(gè))其他客戶端設(shè)備(例如,取消消息可以發(fā)送給邀請(qǐng)服務(wù),隨后通過(guò)推送通知服務(wù)推送給所述(一個(gè)或多個(gè))其他客戶端設(shè)備)。返回去參考圖沈的操作,如果在客戶端設(shè)備A2610和客戶端設(shè)備BU615之間的直接P2P連接是不可行的,那么將執(zhí)行圖28描述的操作。圖28是說(shuō)明當(dāng)直接P2P連接不可行時(shí)所執(zhí)行的示例性操作的數(shù)據(jù)流程圖。在操作觀10,邀請(qǐng)服務(wù)620向中繼服務(wù)650發(fā)送中繼查找請(qǐng)求觀10以確定由客戶端設(shè)備A2610和客戶端設(shè)備B2615使用的中繼主機(jī)。該中繼查找請(qǐng)求可以包括中繼服務(wù)650用來(lái)為客戶端設(shè)備選擇合適的中繼主機(jī)的客戶端設(shè)備的網(wǎng)絡(luò)信息(例如NAT穿越/連接數(shù)據(jù)和/或NAT類型數(shù)據(jù))。如圖8所示,中繼服務(wù)650的一個(gè)實(shí)施例包括多個(gè)中繼主機(jī)815A-B和包含有關(guān)各個(gè)中繼主機(jī)的網(wǎng)絡(luò)信息的中繼主機(jī)數(shù)據(jù)庫(kù)810。例如,邀請(qǐng)服務(wù)620向中繼服務(wù)650發(fā)送中繼查找請(qǐng)求,中繼服務(wù)650使用客戶端設(shè)備的網(wǎng)絡(luò)信息查詢中繼主機(jī)數(shù)據(jù)庫(kù)810。一旦接收到數(shù)據(jù)庫(kù)查找結(jié)果,中繼服務(wù)650在操作1201提供標(biāo)識(shí)所選的中繼主機(jī)815A-B的中繼查找響應(yīng)。在一個(gè)實(shí)施例中,中繼查找響應(yīng)包含中繼服務(wù)650生成的中繼令牌和將由客戶端設(shè)備用于中繼連接的中繼主機(jī)815A-B的網(wǎng)絡(luò)地址(IP地址/端口)。在一個(gè)實(shí)施例中,中繼令牌與中繼會(huì)話關(guān)聯(lián),并且由中繼主機(jī)815A-B使用以在連接到中繼服務(wù)650時(shí)認(rèn)證客戶端設(shè)備A2610和客戶端設(shè)備Bl2615。該令牌可以使用各種形式,這些形式包括(例如)唯一的ID中繼會(huì)話ID代碼、數(shù)字證書(shū)和/或唯一的與中繼會(huì)話關(guān)聯(lián)的加密密鑰。邀請(qǐng)服務(wù)620隨后在操作觀14向客戶端設(shè)備Bl2615發(fā)送中繼響應(yīng),其中包含中繼連接將被建立的指示。在一個(gè)實(shí)施例中,中繼響應(yīng)可以包括中繼令牌和為客戶端設(shè)備Bl2615所選的中繼主機(jī)的網(wǎng)絡(luò)信息。在一個(gè)實(shí)施例中,中繼響應(yīng)可以直接發(fā)送給客戶端設(shè)備Bl2615(繞過(guò)推送通知服務(wù)640)。邀請(qǐng)服務(wù)620還可以在操作觀16向客戶端設(shè)備A2610發(fā)送中繼響應(yīng),其中包括中繼令牌以及為客戶端設(shè)備A2610選擇的中繼主機(jī)的網(wǎng)絡(luò)信息。在一些實(shí)施例中,中繼響應(yīng)通過(guò)推送通知服務(wù)640被推送到移動(dòng)設(shè)備A。在操作觀18,客戶端設(shè)備A2610隨后將邀請(qǐng)更新請(qǐng)求發(fā)送給邀請(qǐng)服務(wù)620,該邀請(qǐng)更新請(qǐng)求包括用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符并且指出客戶端設(shè)備BU615已經(jīng)接受了邀請(qǐng)。該邀請(qǐng)更新請(qǐng)求還可以向邀請(qǐng)服務(wù)620指示或指出與用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的哪個(gè)客戶端設(shè)備應(yīng)當(dāng)接收邀請(qǐng)更新消息(在這個(gè)例子中,客戶端設(shè)備B22620應(yīng)當(dāng)接收邀請(qǐng)更新消息)。邀請(qǐng)服務(wù)620根據(jù)用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符執(zhí)行目錄查找觀20來(lái)確定客戶端設(shè)備B2沈20的推送令牌。在確定推送令牌之后,邀請(qǐng)服務(wù)在操作觀22向推送通知服務(wù)640發(fā)送推送請(qǐng)求以將邀請(qǐng)更新消息推送到客戶端設(shè)備B2^20。在操作觀對(duì),推送通知服務(wù)640以推送通知消息的形式將邀請(qǐng)更新消息發(fā)送給客戶端設(shè)備B2沈20。該邀請(qǐng)更新消息顯示客戶端設(shè)備Bl沈15已經(jīng)接受了在線通信會(huì)話邀請(qǐng)??蛻舳嗽O(shè)備B2沈20可以顯示該邀請(qǐng)更新消息,并且可以維護(hù)客戶端設(shè)備A^lO和客戶端設(shè)備Bl2615之間的在線通信會(huì)話的狀態(tài)(例如,在線通信會(huì)話的持續(xù)時(shí)間等)。在一個(gè)實(shí)施例中,客戶端設(shè)備B22620可以發(fā)送一個(gè)轉(zhuǎn)移請(qǐng)求,促使在線通信會(huì)話從客戶端設(shè)備Bl2615轉(zhuǎn)移到客戶端設(shè)備B22620。在操作觀沈,客戶端設(shè)備A2610使用為它選擇的中繼主機(jī)的網(wǎng)絡(luò)信息來(lái)建立與中繼服務(wù)650的連接。類似的,在操作觀觀,客戶端設(shè)備Bl沈20使用為它選擇的中繼主機(jī)的網(wǎng)絡(luò)信息來(lái)建立與中繼服務(wù)650的連接。在每個(gè)這樣的操作中,在客戶端設(shè)備的任何NAT防火墻上打開(kāi)了新的孔,而用于客戶端設(shè)備的NAT穿越/連接數(shù)據(jù)可由中繼服務(wù)650確定,并分別返回給它們(例如通過(guò)檢查客戶端設(shè)備的公共IP/端口)。在一個(gè)實(shí)施例中,中繼服務(wù)650和客戶端設(shè)備A^lO和客戶端設(shè)備Bl2615實(shí)施通過(guò)Relay方式穿越NAT(TraversalUsingRelayNAT,TURN)協(xié)議,正如本領(lǐng)域技術(shù)人員理解的,該協(xié)議允許NAT或防火墻后的元件接收來(lái)自TCP或UDP連接的數(shù)據(jù)。在操作觀30,客戶端設(shè)備A2610向邀請(qǐng)服務(wù)620發(fā)送中繼更新,中繼更新在操作2832被轉(zhuǎn)發(fā)到推送通知服務(wù),又在操作觀34被推送到客戶端設(shè)備BU615。類似的,在操作2836,客戶端設(shè)備Bl2615向邀請(qǐng)服務(wù)620發(fā)送中繼更新,中繼更新在操作觀38被轉(zhuǎn)發(fā)到推送通知服務(wù)640,并在操作觀40被推送到客戶端設(shè)備A2610。由客戶端設(shè)備A^lO發(fā)送的中繼更新消息可以包括中繼令牌、每個(gè)在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和由中繼服務(wù)650在操作觀沈和觀觀確定的NAT穿越/連接數(shù)據(jù)。在一個(gè)實(shí)施例中,在客戶端設(shè)備的NAT信息中一個(gè)或更多個(gè)改變時(shí),執(zhí)行中繼更新操作。最后,在操作觀42和觀44,客戶端設(shè)備A2610和客戶端設(shè)備Bl沈20分別通過(guò)中繼服務(wù)650建立一個(gè)P2P連接。在一個(gè)實(shí)施例中,中繼連接可以響應(yīng)于客戶端設(shè)備A^lO將客戶端設(shè)備Bl2615的NAT穿越/連接數(shù)據(jù)發(fā)送給中繼服務(wù)650而建立,反之亦然,從而允許中繼服務(wù)650能夠確定到每個(gè)對(duì)等節(jié)點(diǎn)的中繼主機(jī)的正確路徑。圖四是說(shuō)明根據(jù)一個(gè)實(shí)施例當(dāng)在線通信會(huì)話結(jié)束時(shí)執(zhí)行的示例性操作的數(shù)據(jù)流程圖。在操作四10,客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15之間的在線通信會(huì)話已經(jīng)結(jié)束。例如,客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15中的任何一個(gè)終止了在線通信會(huì)話(或者在線通信會(huì)話以別的方式終止了)。在線通信會(huì)話可能是通過(guò)直接P2P連接或通過(guò)中繼。有時(shí),在在線通信會(huì)話結(jié)束之后,在操作四12,客戶端設(shè)備A2610向邀請(qǐng)服務(wù)620發(fā)送在線通信會(huì)話更新請(qǐng)求。在線通信會(huì)話更新被發(fā)送以通知不再是在線通信會(huì)話一部分的客戶端設(shè)備B2沈20在線通信會(huì)話的結(jié)束。在線通信會(huì)話更新請(qǐng)求可以包括用戶B的在線通信會(huì)話標(biāo)識(shí)符,并且可以向邀請(qǐng)服務(wù)620指示或指出與用戶B關(guān)聯(lián)的哪個(gè)客戶端設(shè)備(例如客戶端設(shè)備B22620)將接收更新。邀請(qǐng)服務(wù)620根據(jù)用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符執(zhí)行目錄查找操作四14來(lái)確定客戶端設(shè)備B2沈20的推送令牌。在確定推送令牌之后,邀請(qǐng)服務(wù)在操作四16向推送通知服務(wù)640發(fā)送推送請(qǐng)求以將更新消息推送到客戶端設(shè)備B22620。在操作2720,推送通知服務(wù)640以推送通知消息的形式將在線通信會(huì)話更新消息發(fā)送給客戶端設(shè)備B22620。該在線通信會(huì)話更新消息顯示客戶端設(shè)備A2910和客戶端設(shè)備Bl沈15之間的在線通信會(huì)話已經(jīng)結(jié)束。圖30是說(shuō)明根據(jù)一個(gè)實(shí)施例將在線通信會(huì)話從一個(gè)客戶端設(shè)備轉(zhuǎn)移到另一個(gè)客戶端設(shè)備所執(zhí)行的示例性操作的流程圖。在圖30所示的例子中,假設(shè)客戶端設(shè)備Bl2615和B2沈20中的每個(gè)均已收到加入客戶端設(shè)備A2610發(fā)起的在線通信會(huì)話的邀請(qǐng)(他們共享邀請(qǐng)中使用的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符),并且客戶端設(shè)備Bl2615已經(jīng)接受并且建立了與客戶端設(shè)備A2610的在線通信會(huì)話(如圖沈和27或觀所述)。另外,客戶端設(shè)備B22620已經(jīng)接收到邀請(qǐng)更新,其指出客戶端設(shè)備Bl2615已經(jīng)接受了邀請(qǐng)。在圖30示出的例子中,在線通信會(huì)話將從客戶端設(shè)備Bl沈15轉(zhuǎn)移到客戶端設(shè)備B22620。例如,客戶端設(shè)備B2^520處的用戶已經(jīng)指出它想接替客戶端設(shè)備A2610和客戶端設(shè)備Bl2620之間的在線通信會(huì)話。在一個(gè)實(shí)施例中,在線通信會(huì)話申請(qǐng)2115顯示了客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15之間的在線通信會(huì)話的狀態(tài),其允許客戶端設(shè)備B2沈20處的用戶發(fā)出轉(zhuǎn)移在線通信會(huì)話請(qǐng)求(例如,通過(guò)點(diǎn)擊或按壓客戶端設(shè)備Bl沈15的在線通信會(huì)話應(yīng)用2115上可用的鏈接或虛擬按鈕)。在操作3010,客戶端設(shè)備B2沈20從連接數(shù)據(jù)交換610處請(qǐng)求它的連接數(shù)據(jù),并且在操作3012接收所請(qǐng)求的連接數(shù)據(jù)(如果它還不知道它的連接數(shù)據(jù))??蛻舳嗽O(shè)備B2沈20隨后在操作3014向邀請(qǐng)服務(wù)620發(fā)送轉(zhuǎn)移請(qǐng)求消息,該轉(zhuǎn)移請(qǐng)求消息包括客戶端設(shè)備A2610的推送令牌和客戶端設(shè)備B2沈20的連接數(shù)據(jù)。轉(zhuǎn)移請(qǐng)求消息還可以包括A和/或B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和/或客戶端設(shè)備A2610的推送令牌。邀請(qǐng)服務(wù)620隨后在操作3016向推送通知服務(wù)640發(fā)送推送請(qǐng)求,以促使推送通知服務(wù)640以推送通知的形式向客戶端設(shè)備A2610發(fā)送轉(zhuǎn)移消息。邀請(qǐng)服務(wù)620還在操作3018執(zhí)行直接P2P兼容檢查以確定客戶端設(shè)備A2610和客戶端設(shè)備B22620之間的直接P2P連接是否可行。對(duì)于該例子,直接通信是可行的,然而,應(yīng)當(dāng)理解,在線通信會(huì)話轉(zhuǎn)移也可以發(fā)生在中繼的情況下。在操作3020,推送通知服務(wù)將轉(zhuǎn)移請(qǐng)求消息發(fā)送給客戶端設(shè)備A2610。該轉(zhuǎn)移請(qǐng)求消息可包括B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和客戶端設(shè)備B2沈20的連接數(shù)據(jù)。該轉(zhuǎn)移請(qǐng)求消息還指出哪個(gè)設(shè)備(即客戶端設(shè)備B22620)在請(qǐng)求在線通信會(huì)話轉(zhuǎn)移(例如通過(guò)設(shè)備ID和/或客戶端設(shè)備B2沈20的推送令牌)。該轉(zhuǎn)移請(qǐng)求消息可促使客戶端設(shè)備A2610的在線通信會(huì)話應(yīng)用2115顯示轉(zhuǎn)移請(qǐng)求,并且可允許用戶接受或拒絕轉(zhuǎn)移請(qǐng)求。假設(shè)轉(zhuǎn)移請(qǐng)求被接受,客戶端設(shè)備A2610在操作3022使用交換的連接數(shù)據(jù)建立與客戶端設(shè)備B2620的直接P2P連接。應(yīng)當(dāng)理解,在這個(gè)點(diǎn)客戶端設(shè)備A2610和客戶端設(shè)備Bl沈15之間的在線通信會(huì)話是激活的??蛻舳嗽O(shè)備A2610隨后向客戶端設(shè)備Bl2615發(fā)送在線通信會(huì)話更新,指示在線通信會(huì)話將轉(zhuǎn)移到客戶端設(shè)備B22620。在一個(gè)實(shí)施例中,這個(gè)更新消息在客戶端設(shè)備之間的現(xiàn)有的在線通信會(huì)話上傳送??蛻舳嗽O(shè)備A2610隨后在操作30切換到與客戶端設(shè)備B22620的在線通信會(huì)話,并且在操作30拆掉與客戶端設(shè)備Bl2615的在線通信會(huì)話。盡管已經(jīng)描述了有關(guān)邀請(qǐng)單個(gè)用戶參與在線通信會(huì)話(可能與也可能不與多個(gè)客戶端設(shè)備關(guān)聯(lián))的實(shí)施例,在一些實(shí)施例中多個(gè)用戶可被邀請(qǐng)到在線通信會(huì)話。圖31是說(shuō)明發(fā)起和建立與多個(gè)用戶的在線通信會(huì)話的示例性操作的流程圖。在操作3132,客戶端設(shè)備3110向連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù);在操作3134,返回請(qǐng)求的連接數(shù)據(jù)。在操作3136,客戶端設(shè)備A3110向邀請(qǐng)服務(wù)620發(fā)送邀請(qǐng)請(qǐng)求,該邀請(qǐng)請(qǐng)求包括客戶端設(shè)備A3110的連接數(shù)據(jù)、與用戶B關(guān)聯(lián)的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符、以及與用戶C關(guān)聯(lián)的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符。因此,客戶端設(shè)備A3110處的用戶要邀請(qǐng)多個(gè)用戶參與在線通信會(huì)話。邀請(qǐng)服務(wù)620執(zhí)行目錄查找操作3138以確定與用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和用戶C的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的推送令牌。在這個(gè)例子中以及為了簡(jiǎn)單起見(jiàn),目錄查找返回與用戶B的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符關(guān)聯(lián)的客戶端設(shè)備B3115和與用戶C的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符管理的客戶設(shè)備C3120的結(jié)果。邀請(qǐng)服務(wù)620隨后向推送通知服務(wù)640發(fā)送推送請(qǐng)求3140來(lái)請(qǐng)求推送通知服務(wù)640以推送消息的形式向客戶端設(shè)備B和C發(fā)送邀請(qǐng)。推送通知服務(wù)640隨后在操作3142向客戶端設(shè)備B3115發(fā)送邀請(qǐng)請(qǐng)求,并且在操作3144向客戶端設(shè)備C3120發(fā)送邀請(qǐng)請(qǐng)求。每個(gè)邀請(qǐng)請(qǐng)求消息包括客戶端設(shè)備A3110的連接數(shù)據(jù)、用戶A使用的在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符以及客戶端設(shè)備A3110的推送令牌。在一個(gè)實(shí)施例中,邀請(qǐng)服務(wù)620向邀請(qǐng)客戶端設(shè)備發(fā)送狀態(tài)消息以指示邀請(qǐng)是發(fā)往哪個(gè)/哪些客戶端設(shè)備的。因此,在操作3146,邀請(qǐng)服務(wù)620向客戶端設(shè)備A3110發(fā)送邀請(qǐng)狀態(tài)更新,指示在線通信會(huì)話邀請(qǐng)請(qǐng)求已發(fā)送給客戶端設(shè)備B3115和客戶端設(shè)備C3120。在一個(gè)實(shí)施例中,客戶端設(shè)備B3115和客戶端設(shè)備C3120將顯示邀請(qǐng)請(qǐng)求,如果它們上電并且能夠接收邀請(qǐng)請(qǐng)求的話。在圖31示出的例子中,各個(gè)邀請(qǐng)將被接受。因此在操作3148客戶端設(shè)備B3115從連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù)。連接數(shù)據(jù)交換610確定客戶端設(shè)備B3115的連接數(shù)據(jù),并且在操作3150將它返回給客戶端設(shè)備B3115。類似的,在操作3152客戶端設(shè)備C3120從連接數(shù)據(jù)交換610請(qǐng)求它的連接數(shù)據(jù)。連接數(shù)據(jù)交換610確定客戶端設(shè)備C3120的連接數(shù)據(jù),并且在操作31M將它返回給客戶端設(shè)備C3120。在操作3156,客戶端設(shè)備B3115隨后將接受消息發(fā)送給邀請(qǐng)服務(wù)620,在操作3158,客戶端設(shè)備C3120向邀請(qǐng)服務(wù)620發(fā)送接受消息。邀請(qǐng)服務(wù)620隨后執(zhí)行直接P2P兼容性檢查3160以確定在客戶端設(shè)備A3110和客戶端設(shè)備B3115之間,以及在客戶端設(shè)備A3110和客戶端設(shè)備C3120之間的直接P2P連接是否可行。對(duì)于這個(gè)例子,客戶端設(shè)備之間的直接P2P連接是可行的。因此,使用交換的連接數(shù)據(jù),在操作3162,客戶端設(shè)備A3110和客戶端設(shè)備B3115建立用于在線通信會(huì)話的直接P2P連接,以及在操作3164客戶端設(shè)備A3110和客戶端設(shè)備B3120建立用于在線通信會(huì)話的直接P2P連接。在這個(gè)例子中,客戶端設(shè)備A3110本質(zhì)上作為在線通信會(huì)話的主機(jī)。因此,客戶端設(shè)備B3115和客戶端設(shè)備C3120之間要發(fā)送的數(shù)據(jù)被客戶端設(shè)備A3110中繼。在其他實(shí)施例中,各方之間的整網(wǎng)連接都被建立。在這樣一個(gè)實(shí)施例中,另一個(gè)P2P連接將建立在客戶端設(shè)備B3115和客戶端設(shè)備C3120之間。盡管此處描述的實(shí)施例描述了為在線通信會(huì)話注冊(cè)客戶端設(shè)備的機(jī)制,在一些實(shí)施例中,注冊(cè)140可以實(shí)現(xiàn)一個(gè)API來(lái)允許不同的應(yīng)用來(lái)注冊(cè)在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符和推送令牌。一個(gè)實(shí)施例中實(shí)現(xiàn)的API是由軟件組件實(shí)現(xiàn)的接口(下文中的“API實(shí)現(xiàn)軟件組件”),允許不同的軟件組件(下文中的“API調(diào)用軟件組件”)來(lái)訪問(wèn)和使用一個(gè)或更多個(gè)函數(shù)、方法、程序、數(shù)據(jù)結(jié)構(gòu)和/或其他由API調(diào)用軟件組件提供的服務(wù)。例如,API允許API調(diào)用軟件組件的開(kāi)發(fā)者(可能是第三方開(kāi)發(fā)者)通過(guò)杠桿作用影響API實(shí)現(xiàn)軟件組件提供的特定的特征??赡艽嬖谝粋€(gè)API調(diào)用軟件組件或者可能存在多于一個(gè)這樣的軟件組件。API可以是計(jì)算機(jī)系統(tǒng)或者程序庫(kù)提供的源程序代碼接口,以為了支持對(duì)來(lái)自軟件應(yīng)用的服務(wù)的請(qǐng)求。API可以根據(jù)編程語(yǔ)言規(guī)定,在應(yīng)用構(gòu)建時(shí),它是可解釋的或可編譯的,而不是數(shù)據(jù)如何存儲(chǔ)在存儲(chǔ)器中的外在低水平描述。API定義了當(dāng)訪問(wèn)和使用API實(shí)現(xiàn)軟件組件的特定特征時(shí),API調(diào)用軟件組件所使用的語(yǔ)言和參數(shù)。例如,API調(diào)用軟件組件通過(guò)API揭露的一個(gè)或更多個(gè)API調(diào)用(有時(shí)被稱作函數(shù)或方法調(diào)用)訪問(wèn)API實(shí)現(xiàn)軟件組件的特定特征。響應(yīng)于來(lái)自API調(diào)用軟件組件的API調(diào)用,API實(shí)現(xiàn)軟件組件可以通過(guò)API返回一個(gè)值。雖然API定義了API調(diào)用的語(yǔ)法和結(jié)果(例如如何激活A(yù)PI調(diào)用和API調(diào)用做什么),API通常并不揭示API調(diào)用是如何完成API調(diào)用指定的函數(shù)的。各種函數(shù)調(diào)用或消息被通過(guò)調(diào)用軟件(API調(diào)用軟件組件)和API實(shí)現(xiàn)軟件組件之間的一個(gè)或更多個(gè)應(yīng)用程序接口轉(zhuǎn)移。轉(zhuǎn)移函數(shù)調(diào)用或消息可以包括發(fā)布、發(fā)起、激活、調(diào)用、接收、返回或響應(yīng)函數(shù)調(diào)用或消息。因此,API調(diào)用軟件組件可以轉(zhuǎn)移呼叫,而且API實(shí)現(xiàn)軟件組件可以轉(zhuǎn)移呼叫。例如,API實(shí)現(xiàn)軟件組件和API調(diào)用軟件組件可以是操作系統(tǒng)、庫(kù)、設(shè)備驅(qū)動(dòng)器、API、應(yīng)用程序或其他軟件模塊(應(yīng)當(dāng)理解,API實(shí)現(xiàn)軟件組件和API調(diào)用軟件組件可以是彼此相同或者不同類型的軟件模塊)。API調(diào)用軟件組件可以是本地軟件組件(即和API實(shí)現(xiàn)軟件組件在同一個(gè)數(shù)據(jù)處理系統(tǒng)上)或者是遠(yuǎn)程軟件組件(在和API實(shí)現(xiàn)軟件組件不同的數(shù)據(jù)處理系統(tǒng)上),它在網(wǎng)絡(luò)上通過(guò)API與API實(shí)現(xiàn)軟件組件通信。應(yīng)當(dāng)理解,API實(shí)現(xiàn)軟件組件還可以作為一個(gè)API調(diào)用軟件組件(即它可以對(duì)不同的API實(shí)現(xiàn)軟件組件揭示的API執(zhí)行API調(diào)用),以及通過(guò)實(shí)現(xiàn)暴露于不同的API調(diào)用軟件組件的API,API調(diào)用軟件組件還可以作為一個(gè)API實(shí)現(xiàn)軟件組件。API可以允許多個(gè)API調(diào)用軟件組件以不同的編程語(yǔ)言撰寫(xiě)以與API實(shí)現(xiàn)軟件組件通信(因此API可以包括用于翻譯API實(shí)現(xiàn)軟件組件和API調(diào)用軟件組件之間的調(diào)用和返回的特征);然而,API可以以特定的編程語(yǔ)言實(shí)現(xiàn)。圖9說(shuō)明了API構(gòu)架的一個(gè)實(shí)施例,其包括實(shí)現(xiàn)API920的API實(shí)現(xiàn)軟件組件910(例如操作系統(tǒng)、庫(kù)、設(shè)備驅(qū)動(dòng)器、API、應(yīng)用程序或其他軟件模塊)。API920指定一個(gè)或更多個(gè)的函數(shù)、方法、類、對(duì)象、協(xié)議、數(shù)據(jù)結(jié)構(gòu)、格式和/或API調(diào)用軟件組件930可以使用的API實(shí)現(xiàn)軟件組件的特征。API920可以指定至少一個(gè)調(diào)用協(xié)定,其指定API實(shí)現(xiàn)軟件組件中的函數(shù)如何接收來(lái)自API調(diào)用軟件組件的參數(shù)以及函數(shù)如何向API調(diào)用軟件組件返回結(jié)果。API調(diào)用軟件組件930(例如操作系統(tǒng)、庫(kù)、設(shè)備驅(qū)動(dòng)器、API、應(yīng)用程序或其他軟件模塊)通過(guò)API920執(zhí)行API調(diào)用以訪問(wèn)和使用由API920指定的、API實(shí)現(xiàn)軟件組件910的特征。API實(shí)現(xiàn)軟件組件910響應(yīng)于API調(diào)用,可以通過(guò)API920向API調(diào)用軟件組件930返回一個(gè)值。應(yīng)當(dāng)意識(shí)到,API實(shí)現(xiàn)軟件組件910還可以包括其他的函數(shù)、方法、類、數(shù)據(jù)結(jié)構(gòu)和/或通過(guò)API920指定的并且不能用于API調(diào)用軟件組件930的特征。應(yīng)當(dāng)理解,API調(diào)用軟件組件930可以和API實(shí)現(xiàn)軟件組件910在同一系統(tǒng)上或者也可能位于遠(yuǎn)程并且通過(guò)網(wǎng)絡(luò)使用API920訪問(wèn)API實(shí)現(xiàn)軟件組件910。盡管圖9說(shuō)明了與API920交互的單個(gè)API調(diào)用軟件組件930,應(yīng)當(dāng)理解,其他的API調(diào)用軟件組件也可以使用API920,這些組件可以是用與API調(diào)用軟件組件930不同的語(yǔ)言(或相同的語(yǔ)言)寫(xiě)的。API實(shí)現(xiàn)軟件組件910、API920以及API調(diào)用軟件組件930可以存儲(chǔ)在機(jī)器可讀介質(zhì)中,該介質(zhì)包括了任何用于以機(jī)器(例如計(jì)算機(jī)或其他數(shù)據(jù)處理系統(tǒng))可讀的形式存儲(chǔ)的機(jī)制。例如,機(jī)器可讀介質(zhì)包括磁盤(pán)、光盤(pán)、隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器、閃存設(shè)備等。在電路交換呼叫和視頻呼叫之間轉(zhuǎn)換在一些實(shí)施例中,客戶端設(shè)備可以從已建立的只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫,而不顯著地中斷各方之間的通信。例如,已建立的只有音頻的電路交換呼叫的一方選擇轉(zhuǎn)換到視頻呼叫(其包括視頻幀和音頻),這將引起視頻呼叫邀請(qǐng)消息(一種形式的在線通信會(huì)話邀請(qǐng)消息)被發(fā)送到該呼叫的其他(一個(gè)或多個(gè))參與者。如果所述其他(一個(gè)或多個(gè))參與者接受視頻呼叫邀請(qǐng),則將在參與者的客戶端設(shè)備之間建立P2P連接。當(dāng)P2P連接正在協(xié)商時(shí),參與者能夠通過(guò)只有音頻的電路交換呼叫來(lái)通信。在P2P連接已經(jīng)建立并且各方之間進(jìn)行視頻通信后,客戶端設(shè)備轉(zhuǎn)換到視頻呼叫。只有音頻的電路交換呼叫隨后被丟棄,參與者能夠通過(guò)視頻呼叫通信。圖12說(shuō)明了根據(jù)一些實(shí)施例的示例性客戶端設(shè)備1210和用于在電路交換呼叫與視頻呼叫之間轉(zhuǎn)換的圖形用戶界面??蛻舳嗽O(shè)備1210包括揚(yáng)聲器1255(在喇叭揚(yáng)聲器模式期間使用)、前向照相機(jī)1260(捕捉用于視頻呼叫的視頻)、麥克風(fēng)1沈5(捕捉聲音)、受話器/揚(yáng)聲器1270(通常在呼叫期間用戶將客戶端設(shè)備1210拿到耳邊時(shí)使用)、以及顯示屏1275(在一些實(shí)施例中是觸摸屏)??蛻舳嗽O(shè)備1210還可以包括雙耳式耳機(jī)/頭戴式耳機(jī)插孔、接近傳感器、周圍光線傳感器、(一個(gè)或多個(gè))加速計(jì)和其他組件。應(yīng)當(dāng)理解,客戶端設(shè)備1210的構(gòu)架是示例性的,包括更多或更少的不同構(gòu)架的也可以用在實(shí)施例中。如圖12所示,圖形用戶界面1205當(dāng)前正顯示在顯示屏1275上??蛻舳嗽O(shè)備1210的用戶當(dāng)前正參與只有音頻的電話呼叫(與電話號(hào)碼008)555-1234)。圖形用戶界面1205在呼叫期間包括幾個(gè)不同的選項(xiàng)提供給用戶。例如,客戶端設(shè)備1210響應(yīng)于接收用戶輸入(例如在合適的圖標(biāo)上敲擊或其他預(yù)定義的手勢(shì))執(zhí)行以下操作當(dāng)輸入被施加到結(jié)束呼叫圖標(biāo)1250時(shí)結(jié)束呼叫;響應(yīng)于輸入被施加到靜音圖標(biāo)1220,將音頻呼叫靜音;響應(yīng)于輸入被施加到鍵盤(pán)圖標(biāo)1225,顯示數(shù)字鍵盤(pán)(例如,給呼叫增加額外的電話號(hào)碼);響應(yīng)于輸入被施加到揚(yáng)聲器圖標(biāo)1230(將音頻輸出切換到揚(yáng)聲器125而將呼叫放置于喇叭揚(yáng)聲器;響應(yīng)于輸入被施加到增加呼叫圖標(biāo)1235,增加呼叫;響應(yīng)于輸入被施加到保持圖標(biāo)1M0,將呼叫置于保持(hold);響應(yīng)于輸入被施加到聯(lián)系人圖標(biāo)1245,顯示用戶的聯(lián)系人列表;以及響應(yīng)于輸入被應(yīng)用到視頻呼叫圖標(biāo)1215,轉(zhuǎn)換到視頻呼叫。圖17-18是說(shuō)明根據(jù)一個(gè)實(shí)施例將只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫的示例性操作的流程圖。圖17-18將參考圖12、13和14的示例性實(shí)施例而得以描述。然而,應(yīng)當(dāng)理解,圖17-18的操作可以由本發(fā)明除了參考圖12、13和14討論的實(shí)施例外的實(shí)施例來(lái)執(zhí)行,而參考圖12、13和14討論的實(shí)施例可以執(zhí)行不同于參考圖17-18所討論的操作。如圖17所示,客戶端設(shè)備1210和1410通過(guò)只有音頻的電路交換呼叫1710連接(客戶端設(shè)備1210的用戶或者是客戶端設(shè)備1410的用戶發(fā)起了呼叫)。因此,客戶端設(shè)備1210和1410的用戶可以通過(guò)已建立的電路交換音頻呼叫通信。在塊1712,客戶端設(shè)備1210接收轉(zhuǎn)換到視頻呼叫的輸入。例如,用戶通過(guò)在視頻呼叫圖標(biāo)1215上敲擊或執(zhí)行其他定義的姿勢(shì)選擇了轉(zhuǎn)換到視頻呼叫。流程隨后前進(jìn)到塊1714,其中客戶端設(shè)備1210使視頻呼叫邀請(qǐng)消息(一種形式的在線通信會(huì)話邀請(qǐng)請(qǐng)求消息)被發(fā)送到客戶端設(shè)備1410(由客戶端設(shè)備1410的電話號(hào)碼標(biāo)識(shí))。在一些實(shí)施例中,使用圖6和7中描述的構(gòu)架發(fā)送在線通信會(huì)話邀請(qǐng)請(qǐng)求消息。流程隨后前進(jìn)到塊1716。在塊1716,客戶端設(shè)備1210確定音頻是否當(dāng)前正通過(guò)喇叭揚(yáng)聲器(即揚(yáng)聲器1255)或通過(guò)雙耳式耳機(jī)/頭戴式耳機(jī)插孔而被路由。如果是,那么流程前進(jìn)到塊1720。如果不是,則流程前進(jìn)到塊1718,客戶端設(shè)備1210通過(guò)客戶端設(shè)備1210的喇叭揚(yáng)聲器(例如揚(yáng)聲器125對(duì)音頻進(jìn)行路由,并且流程前進(jìn)到塊1720。在塊1720,客戶端設(shè)備1210顯示前向照相機(jī)1260當(dāng)前捕捉的視頻預(yù)覽,以允許客戶端設(shè)備1210的用戶為視頻電話做準(zhǔn)備(例如為視頻電話合適地放置客戶端設(shè)備1210)。圖13說(shuō)明了顯示視頻預(yù)覽1310的客戶端設(shè)備1210,該視頻預(yù)覽顯示了前向照相機(jī)1260當(dāng)前捕捉的視頻。盡管未顯示在圖13中,但在一些實(shí)施例中,取消按鈕也顯示在⑶I1305上,以允許用戶取消視頻呼叫邀請(qǐng)。流程從塊1720前進(jìn)到塊1722。在塊1726,客戶端設(shè)備1410接收到視頻呼叫邀請(qǐng)消息,該消息邀請(qǐng)客戶端設(shè)備1410的用戶進(jìn)行視頻呼叫。流程隨后從塊17前進(jìn)到塊17觀。在一些實(shí)施例中,客戶端設(shè)備1410具有類似于客戶端設(shè)備1210的構(gòu)架。例如,如圖14所示,客戶端設(shè)備1410包括揚(yáng)聲器1455(在喇叭揚(yáng)聲器模式使用)、前向照相機(jī)1460(為視頻呼叫捕捉視頻)、麥克風(fēng)1465(捕捉聲音)、受話器/揚(yáng)聲器1470(通常在呼叫期間用戶將客戶端設(shè)備1210拿到耳邊時(shí)使用)、以及顯示屏1475(在一些實(shí)施例中是觸摸屏)??蛻舳嗽O(shè)備1410還可以包括雙耳式耳機(jī)/頭戴式耳機(jī)插孔、接近傳感器、周圍光線傳感器、(一個(gè)或多個(gè))加速計(jì)和其他組件。應(yīng)當(dāng)理解,客戶端設(shè)備1410的構(gòu)架是示例性的,包括更多或更少的不同構(gòu)架也可以用在實(shí)施例中。在塊1728,客戶端設(shè)備1410播放一個(gè)或更多個(gè)指示消息接收的音頻音調(diào),以向用戶提醒該消息。音頻音調(diào)在不同實(shí)施例中可以是不同的(例如音頻音調(diào)可以和客戶端設(shè)備1410上使用的呼叫等待音類似(盡管它們不是來(lái)自與客戶端設(shè)備1410關(guān)聯(lián)的運(yùn)營(yíng)商),音頻音調(diào)可以是唯一的和專用于視頻呼叫的,等)。在一些實(shí)施例中,如果客戶端設(shè)備1410不在用戶耳朵附近(例如由客戶端設(shè)備1410的接近傳感器指示)和/或如果該呼叫目前在喇叭揚(yáng)聲器模式,則客戶端設(shè)備1410不播放表明收到視頻呼叫邀請(qǐng)消息的音頻音調(diào)。流程從塊1728前進(jìn)到塊1730。在塊1730,客戶端設(shè)備1410顯示視頻呼叫邀請(qǐng)消息,并且可選地顯示前向照相機(jī)1460當(dāng)前正在捕捉的視頻預(yù)覽,以允許客戶端設(shè)備1410的用戶為視頻呼叫做準(zhǔn)備,流程前進(jìn)到塊1732。圖14說(shuō)明了顯示視頻呼叫邀請(qǐng)1440的GUI1405。如圖14所示,視頻呼叫邀請(qǐng)1440包括接受按鈕1432、拒絕按鈕1434和視頻預(yù)覽1430(其顯示了前向照相機(jī)1460當(dāng)前捕捉的內(nèi)容)。盡管圖1410顯示了視頻呼叫邀請(qǐng)1440包括視頻預(yù)覽1430(也就是說(shuō),視頻預(yù)覽1430包含在視頻呼叫邀請(qǐng)1440內(nèi)),但在其他實(shí)施例中,視頻預(yù)覽1430位于視頻呼叫邀請(qǐng)1440之外和/或與視頻呼叫邀請(qǐng)1440重疊??蛻舳嗽O(shè)備1410的用戶可以選擇接受按鈕1432來(lái)接受視頻呼叫邀請(qǐng)(例如,通過(guò)敲擊或執(zhí)行其他預(yù)定義的手勢(shì)以在接受按鈕1432上輸入),并且可以選擇拒絕按鈕1434來(lái)拒絕視頻呼叫邀請(qǐng)(例如,通過(guò)敲擊或執(zhí)行其他預(yù)定義的手勢(shì)在拒絕按鈕1434上輸入)。在塊1732,客戶端設(shè)備1410確定是否已收到接受視頻呼叫的輸入(例如用戶是否已經(jīng)通過(guò)選擇接受按鈕1432接受了視頻呼叫邀請(qǐng))。如果客戶端設(shè)備1410接收到接受視頻呼叫的輸入,那么流程前進(jìn)到塊1734,否則,流程前進(jìn)到塊1736。在塊1734,客戶端設(shè)備1410使視頻呼叫接受消息被發(fā)送到客戶端設(shè)備1210。在一些實(shí)施例中,接受消息使用圖6和7的構(gòu)架發(fā)送到客戶端設(shè)備1210。流程隨后前進(jìn)到塊1810。在塊1736,確定是否收到拒絕視頻呼叫請(qǐng)求的輸入(例如,用戶是否通過(guò)選擇拒絕按鈕1434拒絕了視頻呼叫邀請(qǐng))。如果客戶端設(shè)備1410接收到拒絕視頻呼叫邀請(qǐng)的輸入,那么流程前進(jìn)到塊1738,否則,流程前進(jìn)到塊1732。在塊1738,客戶端設(shè)備1410使視頻呼叫拒絕消息被發(fā)送到客戶端設(shè)備1210??蛻舳嗽O(shè)備1410還可以清除視頻呼叫邀請(qǐng)1440并且停止顯示視頻預(yù)覽1430。在一些實(shí)施例中,使用圖6和7描述的構(gòu)架將視頻呼叫拒絕消息發(fā)送到客戶端設(shè)備1210。在塊1722,客戶端設(shè)備1210確定它是否已經(jīng)從客戶端設(shè)備1410收到了視頻呼叫接受消息。如果是,那么流程前進(jìn)到塊1816,否則,流程前進(jìn)到塊1724,客戶端設(shè)備1210確定它是否已經(jīng)收到了來(lái)自客戶端設(shè)備1410的視頻呼叫拒絕消息。如果是,那么流程前進(jìn)到塊1910,否則流程返回到塊1722。參考圖18,在塊1810(客戶端設(shè)備1410處的用戶已經(jīng)接受了視頻呼叫邀請(qǐng)),客戶端設(shè)備1410確定目前音頻是否正在通過(guò)客戶端設(shè)備1410的喇叭揚(yáng)聲器(例如揚(yáng)聲器1470)或者頭戴式耳機(jī)而路由。如果不是,流程前進(jìn)到塊1812,音頻的路由從揚(yáng)聲器1455切換到喇叭揚(yáng)聲器(例如揚(yáng)聲器1470),并且流程前進(jìn)到塊1814。如果音頻已被通過(guò)喇叭揚(yáng)聲器或頭戴式耳機(jī)而路由,那么流程前進(jìn)到塊1814。在塊1814,客戶端設(shè)備1410顯示前向照相機(jī)1460當(dāng)前正在捕捉的視頻預(yù)覽。只有在由于塊1730中操作而導(dǎo)致視頻預(yù)覽當(dāng)前沒(méi)有被顯示時(shí),塊1814的操作才執(zhí)行。流程隨后從塊1814前進(jìn)到塊1820。在塊1818和1820,客戶端設(shè)備1210和1410建立互相之間的P2P連接。該P(yáng)2P連接可通過(guò)已知的機(jī)制(例如使用因特網(wǎng)連接建立(ICE)或其他已知的P2P連接機(jī)制)建立。假設(shè)P2P連接已成功建立,流程從塊1818和1820分別前進(jìn)到塊1822和1824,客戶端設(shè)備1210和1410開(kāi)始通過(guò)P2P連接互相發(fā)送視頻(來(lái)自前向視頻照相機(jī)1260和1460的視頻)。在一些實(shí)施例中,視頻包括視頻幀和對(duì)應(yīng)的音頻(由客戶端設(shè)備1210和1410各自的麥克風(fēng)1265和1465捕捉)兩者,而在其他實(shí)施例中,視頻和音頻是通過(guò)P2P連接來(lái)進(jìn)行通信的分離的流。流程從塊1822和1824分別前進(jìn)到塊1826和18280在塊1826和1828,客戶端設(shè)備1210和1410分別確定它們是否已經(jīng)從它們的對(duì)等節(jié)點(diǎn)收到了一個(gè)或更多個(gè)視頻幀。如果已經(jīng)收到,那么流程從塊1擬6和1擬8分別前進(jìn)到塊1830和1832。如果沒(méi)有收到,那么流程保留在塊1擬6和18,直到收到一個(gè)或更多個(gè)視頻幀。在一些實(shí)施例中,客戶端設(shè)備1210和1410等待一定時(shí)間以接收來(lái)自對(duì)方的視頻幀,而如果它們?cè)谀嵌螘r(shí)間內(nèi)沒(méi)有交換視頻幀,將采取替代性的動(dòng)作。例如,在一些實(shí)施例中,視頻呼叫被取消,并且視頻呼叫無(wú)法建立的消息顯示在客戶端設(shè)備1210和1410的屏幕上。視頻呼叫建立失敗可能由于多種原因,包括帶寬對(duì)于視頻呼叫是不足的、視頻幀無(wú)法發(fā)送或接收等。盡管在一些實(shí)施例中,客戶端設(shè)備在繼續(xù)之前等待一個(gè)視頻幀,但在其他實(shí)施例中,客戶端設(shè)備在繼續(xù)之前等待給定時(shí)間間隔內(nèi)接收若干幀(例如視頻幀的流)。在塊1830和1832,客戶端設(shè)備1210和1410分別轉(zhuǎn)換到視頻呼叫。轉(zhuǎn)換到視頻呼叫包括顯示正在接收的視頻,以及將音頻的路由從電路交換音頻呼叫改變到視頻呼叫。在一些實(shí)施例中,視頻預(yù)覽(例如視頻預(yù)覽1310)移動(dòng)到屏幕的角部(并且尺寸收縮),而正在從對(duì)等節(jié)點(diǎn)接收的視頻被展現(xiàn)。因此,應(yīng)當(dāng)理解,直到音頻的路由已經(jīng)從電路交換音頻呼叫改變到視頻呼叫之前,參與者仍在通過(guò)電路交換音頻呼叫通信(即,電路交換音頻呼叫在視頻呼叫協(xié)商時(shí)保持建立)。在轉(zhuǎn)換到視頻呼叫之后,電路交換音頻呼叫可以丟棄。從而,流程從塊1830和1832分別移動(dòng)到塊1834和1836,在那里電路交換音頻呼叫被丟棄。圖15和16分別說(shuō)明了已經(jīng)轉(zhuǎn)換到視頻呼叫的客戶端設(shè)備1210和1410。如圖15所示,客戶端設(shè)備1210顯示視頻1510,它是客戶端設(shè)備1410的前向照相機(jī)1460正在捕捉的視頻。客戶端設(shè)備1210還顯示視頻1515,是由前向照相機(jī)1260正捕捉的視頻。⑶I1505還包括結(jié)束視頻按鈕1520、以及結(jié)束視頻和呼叫按鈕1625。結(jié)束視頻按鈕1520允許用戶僅僅結(jié)束視頻呼叫并返回到音頻呼叫。結(jié)束視頻和呼叫按鈕15允許用戶完全結(jié)束視頻呼叫(例如,結(jié)束與客戶端設(shè)備1410處的用戶的通話)。如圖16所示,客戶端設(shè)備1410顯示視頻1610,是客戶端設(shè)備1210的前向照相機(jī)1260正在捕捉的視頻??蛻舳嗽O(shè)備1410還顯示視頻1615,是前向照相機(jī)1460捕捉的視頻。⑶I1605還包括結(jié)束視頻按鈕1620和結(jié)束視頻和呼叫按鈕1625。圖19是說(shuō)明根據(jù)一個(gè)實(shí)施例在收到視頻呼叫拒絕消息的客戶端設(shè)備上執(zhí)行的示例性操作的流程圖。在塊1910,客戶端設(shè)備1210收到視頻呼叫拒絕消息(客戶端設(shè)備1410處的用戶已經(jīng)拒絕了視頻呼叫邀請(qǐng))。流程從塊1910前進(jìn)到塊1912,客戶端設(shè)備1210顯示視頻呼叫拒絕消息,并且可選地播放一個(gè)或更多個(gè)指示視頻呼叫拒絕消息的接收的音頻音調(diào)。流程隨后前進(jìn)到塊1914,其中客戶端設(shè)備1210停止顯示它自己的視頻預(yù)覽。如果在操作1718音頻輸出在之前被改變到喇叭揚(yáng)聲器,客戶端設(shè)備1210還可以提示用戶返回到原始音頻輸出(例如通過(guò)揚(yáng)聲器1270)。圖20是說(shuō)明根據(jù)一個(gè)實(shí)施例客戶端設(shè)備從視頻呼叫轉(zhuǎn)換到電路交換呼叫時(shí)執(zhí)行的示例性操作的流程圖。視頻呼叫2010建立在客戶端設(shè)備1210和1410之間(視頻呼叫可以根據(jù)參考圖17和18描述的機(jī)制建立,或者可以在無(wú)需從電路交換音頻呼叫轉(zhuǎn)換的情況下建立)。在塊1712,客戶端設(shè)備1210接收轉(zhuǎn)換到只有音頻的電路交換呼叫的輸入。例如,參考圖15,客戶端設(shè)備1210的用戶已經(jīng)選擇了結(jié)束視頻按鈕1520(例如在結(jié)束視頻按鈕1520上通過(guò)敲擊或執(zhí)行其他預(yù)定義的手勢(shì))??蛻舳嗽O(shè)備1210隨后向客戶端設(shè)備1410發(fā)送一個(gè)消息,指示轉(zhuǎn)換到只有音頻的電路交換呼叫2014??蛻舳嗽O(shè)備1210隨后向客戶端設(shè)備1410發(fā)起電路交換音頻呼叫請(qǐng)求(例如客戶端設(shè)備1210自動(dòng)地呼叫客戶端設(shè)備1410的號(hào)碼)。在一些實(shí)施例中,這是在后臺(tái)執(zhí)行的,并且無(wú)需用戶交互。該呼叫通過(guò)多個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)基礎(chǔ)設(shè)施的網(wǎng)元(例如基站、移動(dòng)交換中心等)而被路由。客戶端設(shè)備1410接收和應(yīng)答電路交換呼叫2020。在一個(gè)實(shí)施例中,客戶端設(shè)備1410顯示來(lái)電呼叫請(qǐng)求,并且可以播放指示來(lái)電呼叫請(qǐng)求的音頻音調(diào)(例如呼叫等待音調(diào)或其他音調(diào)),并且要求用戶的干涉來(lái)應(yīng)答呼叫。在另一個(gè)實(shí)施例中,客戶端設(shè)備1410自動(dòng)應(yīng)答呼叫,無(wú)需用戶干涉(并且可以播放或者也可以不播放指示來(lái)電呼叫請(qǐng)求的音頻音調(diào))。在呼叫被應(yīng)答后,在客戶端設(shè)備1210和1410之間建立Q030)只有音頻的電路交換呼叫。在只有音頻的電路交換呼叫成功建立后,客戶端設(shè)備1210和1410分別轉(zhuǎn)換到只有音頻的呼叫2032和2034。例如,轉(zhuǎn)換到只有音頻的呼叫將音頻的路由從視頻呼叫改變?yōu)殡娐方粨Q呼叫,停止顯示收到的視頻,以及停止發(fā)送視頻。客戶端設(shè)備還可以停止顯示視頻預(yù)覽。從而,應(yīng)當(dāng)理解,當(dāng)只有音頻的電路交換呼叫在協(xié)商時(shí),客戶端設(shè)備1210和1410處的用戶可以通過(guò)視頻呼叫通信(也就是,在只有音頻的電路交換呼叫正在協(xié)商時(shí),保持視頻呼叫建立)。在成功轉(zhuǎn)換到只有音頻的電路交換呼叫之后,客戶端設(shè)備1210和1410結(jié)束P2P連接0040)。客戶端設(shè)備1210和1410處的用戶隨后可以通過(guò)只有音頻的電路交換呼叫通信。盡管本發(fā)明的實(shí)施例是關(guān)于具有兩個(gè)參與者的視頻呼叫而描述的,實(shí)施例并不限于此,因?yàn)橐曨l呼叫中可能存在更多參與者。在這樣的實(shí)施例中,客戶端設(shè)備可以顯示視頻聊天中來(lái)自各個(gè)不同參與者的多個(gè)視頻流。盡管本發(fā)明的實(shí)施例是關(guān)于具有兩個(gè)參與者,每個(gè)參與者發(fā)送視頻的實(shí)施例而得以描述的,但是實(shí)施例并不限于此。例如,在一些實(shí)施例中,僅僅只有單方發(fā)送視頻至其他(一個(gè)或多個(gè))參與者,并且所述其他(一個(gè)或多個(gè))參與者可以僅僅發(fā)送音頻。在一些實(shí)施例中,每個(gè)參與者可以在視頻呼叫期間的任何點(diǎn)確定是否中止發(fā)送視頻。在一些實(shí)施例中,在呼叫期間發(fā)送的視頻的質(zhì)量根據(jù)網(wǎng)絡(luò)情況而動(dòng)態(tài)調(diào)整。例如,在網(wǎng)絡(luò)擁塞期間,可以降低視頻的比特率。類似的,在網(wǎng)絡(luò)相對(duì)不太擁塞期間,可以增加視頻的比特率。在一些實(shí)施例中,如果網(wǎng)絡(luò)情況阻止視頻發(fā)送,則參與方客戶端設(shè)備自動(dòng)地轉(zhuǎn)換到只有音頻的電路交換呼叫。因此,如果帶寬降落到低于一定水平,參與方客戶端設(shè)備可以自動(dòng)地轉(zhuǎn)換到只有音頻的電路交換呼叫(或者可以提示用戶轉(zhuǎn)換到只有音頻的電路交換呼叫)。IP視頒寸·在一些實(shí)施例中,客戶端設(shè)備包括支持與免提設(shè)備(例如頭戴式耳機(jī)、車載設(shè)備)通過(guò)WPAN(無(wú)線個(gè)人局域網(wǎng))(例如藍(lán)牙、ZigBee等)交互的功能性,包括支持管理與免提單元的IP視頻呼叫。圖32的框示了根據(jù)一個(gè)實(shí)施例,客戶端設(shè)備與免提單元進(jìn)行接口以管理IP視頻呼叫。客戶端設(shè)備3210包括發(fā)起視頻呼叫的能力(例如邀請(qǐng)一個(gè)或更多個(gè)接收者到在線通信會(huì)話中,該會(huì)話是視頻呼叫)以及接受視頻呼叫的能力。在一些實(shí)施例中,客戶端設(shè)備3210還包括蜂窩電話組件以作出和接收蜂窩電話呼叫和/或通過(guò)蜂窩連接訪問(wèn)因特網(wǎng)或其他網(wǎng)絡(luò)。如圖32所述,客戶端設(shè)備3210包括IP視頻呼叫管理器3250、電話管理器3沈0、音頻管理器3275、免提管理器3270。在一些實(shí)施例中,客戶端設(shè)備3210還包括蜂窩呼叫管理器3255。IP視頻呼叫管理器3250管理P2P視頻呼叫應(yīng)用,包括通過(guò)如前所述的IP視頻呼叫服務(wù)3230建立IP網(wǎng)絡(luò)3235上的IPP2P視頻呼叫。在一個(gè)實(shí)施例中,IP視頻呼叫服務(wù)3230包括一個(gè)或更多個(gè)邀請(qǐng)服務(wù)620、推送通知服務(wù)640、注冊(cè)服務(wù)630和/或注冊(cè)服務(wù)2130、以及中繼服務(wù)650。蜂窩呼叫管理器3255管理蜂窩組件以使用蜂窩音頻呼叫服務(wù)3240在蜂窩網(wǎng)絡(luò)3245中進(jìn)行和接收只有音頻的蜂窩電話呼叫。IP視頻呼叫管理器3250和蜂窩呼叫管理器3255與電話管理器3260耦合。電話管理器3260管理IP視頻呼叫管理器3250和蜂窩呼叫管理器3255的電話操作,包括跟蹤呼叫歷史(視頻呼叫的和只有音頻的蜂窩呼叫的)和其他與呼叫相關(guān)的信息。電話管理器3260還與免提管理器3270連接,以通過(guò)外部免提設(shè)備代表IP視頻呼叫管理器3250和蜂窩呼叫管理器3255為IP視頻呼叫和蜂窩呼叫提供免提服務(wù)。在一個(gè)實(shí)施例中,在IP視頻呼叫管理器3250、蜂窩呼叫管理器3255和電話管理器3260之間使用共同的消息格式,以為完全不同的協(xié)議和呼叫類型(IP視頻呼叫和只有音頻的蜂窩呼叫)提供免提服務(wù)支持。因此,電話管理器3260為免提服務(wù)提供了類似的支持,而不管免提服務(wù)是用于IP視頻呼叫的還是用于只有音頻的蜂窩呼叫的。這還避免了免提管理器3270需要理解免提服務(wù)是用于IP視頻呼叫還是用于只有音頻的蜂窩呼叫,以使得可被免提設(shè)備理解的標(biāo)準(zhǔn)命令可用于為IP視頻呼叫以及只有音頻的蜂窩呼叫提供免提服務(wù)。在一個(gè)實(shí)施例中,電話管理器3260還在IP視頻呼叫管理器3250和蜂窩呼叫管理器3255之間作出裁決。例如,電話管理器3260可以促使IP視頻呼叫置于保持,以切換到已經(jīng)建立的只有音頻的蜂窩呼叫,和/或促使只有音頻的蜂窩呼叫置于保持,以切換到IP視頻呼叫。免提管理器3270為免提處理提供支持。在一個(gè)實(shí)施例中,免提管理器3270為連接到例如藍(lán)牙頭戴式耳機(jī)或藍(lán)牙車載設(shè)備的藍(lán)牙兼容免提設(shè)備實(shí)施藍(lán)牙協(xié)議堆棧。在一個(gè)特定實(shí)施例中,免提管理器3270實(shí)施藍(lán)牙頭戴式耳機(jī)簡(jiǎn)檔(例如2008年12月18日的頭戴式耳機(jī)簡(jiǎn)檔(HeadsetProfile,HSP)1.2規(guī)范中定義的)和/或藍(lán)牙免提簡(jiǎn)檔(例如在2005年11月25日的免提簡(jiǎn)檔1.5(Hands-FreeProfiIe,HFP1.5)規(guī)范中定義的)。免提管理器3270允許免提單元3220作為WPAN3225中IP視頻呼叫和只有音頻的蜂窩呼叫的聽(tīng)覺(jué)中繼,而且允許其執(zhí)行其他免提服務(wù)。例如,在IP視頻呼叫的情況下,呼叫的音頻部分可以通過(guò)免提單元3220路由,而不是客戶端設(shè)備3210的揚(yáng)聲器路由,而呼叫的視頻部分保持由客戶端設(shè)備3210顯示(或者由附帶的顯示器顯示)。免提設(shè)備3220還包括麥克風(fēng)以捕捉音頻信息,其隨后被發(fā)送到客戶端計(jì)算設(shè)備3210。因此,用戶可以使用免提設(shè)備3220在IP視頻呼叫和/或只有音頻的蜂窩呼叫期間講話或收聽(tīng)音頻。免提管理器3270還響應(yīng)于從免提設(shè)備3220接受輸入,支持其他的免提服務(wù),包括執(zhí)行以下用于IP視頻呼叫和/或只有音頻的蜂窩呼叫的一個(gè)或更多個(gè)允許用戶應(yīng)答呼叫、結(jié)束呼叫、將呼叫置于保持、靜音呼叫、增加或降低呼叫的音量、將音頻傳送到客戶端設(shè)備、將音頻傳送到免提單元、進(jìn)行呼叫、以及重?fù)苌洗魏艚?。從而,用戶可以使用免提單?220來(lái)應(yīng)答IP視頻呼叫、結(jié)束IP視頻呼叫,將IP視頻呼叫置于保持和/或靜音、增加或降低IP視頻呼叫的音量、傳送IP視頻呼叫的音頻以輸出到客戶端設(shè)備3210的揚(yáng)聲器、將來(lái)自客戶端設(shè)備3210的音頻傳送到免提單元3220、進(jìn)行IP視頻呼叫、以及重?fù)苌弦淮蜪P視頻呼叫。IP視頻呼叫管理器3250、蜂窩呼叫管理器3255以及免提管理器3270還耦合到音頻管理器3275。音頻管理器3275通過(guò)不同的源來(lái)路由IP視頻呼叫和只有音頻的蜂窩呼叫的音頻。例如,音頻管理器3275可促使音頻通過(guò)適合喇叭揚(yáng)聲器模式的客戶端設(shè)備3210的揚(yáng)聲器輸出、通過(guò)用戶在呼叫期間將客戶端設(shè)備3210拿近耳朵時(shí)使用的客戶端設(shè)備3210的揚(yáng)聲器輸出、通過(guò)插入到客戶端設(shè)備3210的頭戴式耳機(jī)或雙耳式耳機(jī)的頭戴式耳機(jī)/雙耳式耳機(jī)插孔輸出、以及通過(guò)對(duì)等的免提單元(例如免提單元3220)輸出。圖33示出了根據(jù)一個(gè)實(shí)施例客戶端設(shè)備3210接收視頻呼叫的邀請(qǐng),促使免提設(shè)備響鈴、接收來(lái)自免提設(shè)備的應(yīng)答指示、建立視頻呼叫以及將音頻路由到免提設(shè)備。圖33將參考圖32的示例性實(shí)施例而描述。然而,應(yīng)當(dāng)理解,圖33的操作可以由不同于參考圖32討論的實(shí)施例來(lái)執(zhí)行,而且參考圖32討論的實(shí)施例可以執(zhí)行不同于參考圖33討論的操作。在操作3310,IP視頻呼叫管理器3250從另一個(gè)客戶端設(shè)備接收邀請(qǐng)客戶端設(shè)備3210的用戶參加IP視頻呼叫的IP視頻呼叫邀請(qǐng)。該IP視頻呼叫邀請(qǐng)可以采用之前描述的邀請(qǐng)的形式。IP視頻呼叫管理器3250處理邀請(qǐng)請(qǐng)求,包括在操作3315促使邀請(qǐng)被顯示。例如,邀請(qǐng)請(qǐng)求可以以圖14顯示的示例性視頻呼叫邀請(qǐng)1410相似的方式顯示。另外,IP視頻呼叫管理器3250生成并發(fā)送呼叫對(duì)象3320至電話管理器3260。呼叫對(duì)象3320包括有關(guān)呼叫的一組參數(shù)。例如,呼叫對(duì)象參數(shù)包括一個(gè)或更多個(gè)呼叫狀態(tài)(例如連接)、和呼叫參與者標(biāo)識(shí)符(例如電話號(hào)碼、電子郵件地址、或其他在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符)、開(kāi)始時(shí)間、是呼出還是來(lái)電呼叫的指示、以及內(nèi)部用來(lái)標(biāo)識(shí)呼叫的呼叫標(biāo)識(shí)符。在一個(gè)實(shí)施例中,呼叫對(duì)象3320是通用的呼叫對(duì)象,當(dāng)參數(shù)是基于來(lái)自IP視頻呼叫邀請(qǐng)的信息時(shí),它是以IP視頻呼叫邀請(qǐng)請(qǐng)求和呼入的只有音頻的蜂窩呼叫共用的格式。因此,當(dāng)接收到呼入的只有音頻的蜂窩呼叫時(shí),蜂窩呼叫管理器3255生成具有相同格式的呼入呼叫對(duì)象。從而,從電話管理器3260的角度看,IP視頻呼叫邀請(qǐng)消息和呼入只有音頻的蜂窩呼叫看起來(lái)是一樣的。電話管理器3260將信息存儲(chǔ)在呼叫對(duì)象3320中,作為呼叫歷史結(jié)構(gòu)的一部分。電話管理器3260還生成并發(fā)送呼入呼叫消息3322至免提管理器3270。在一個(gè)實(shí)施例中,電話管理器3260僅僅發(fā)送來(lái)電呼叫消息3322,如果存在與客戶端設(shè)備3210對(duì)等的免提設(shè)備,比如免提設(shè)備3220的話(比如,電話管理器3260首先檢查是否存在與客戶端設(shè)備3210對(duì)等的免提設(shè)備)。在其他實(shí)施例中,電話管理器3260將來(lái)電呼叫消息33220發(fā)送給免提管理器3270,而不管是否存在對(duì)等的免提設(shè)備,而且免提設(shè)備3270根據(jù)是否存在對(duì)等的免提設(shè)備確定是否是否丟棄/忽視該消息或處理它。對(duì)于圖33和后續(xù)的附圖,假設(shè)免提設(shè)備3220與客戶端計(jì)算設(shè)備3210對(duì)等。在一個(gè)實(shí)施例中,呼入呼叫管理器3322包括呼叫標(biāo)識(shí)符。響應(yīng)于接收到呼入呼叫管理器3320,免提管理器3270促使一系列消息發(fā)送到免提設(shè)備3220,提醒它和用戶有來(lái)電呼叫。如圖33所示,在通過(guò)建立的音頻連接3325發(fā)送響鈴音調(diào)消息3330之前,免提管理器先建立和免提設(shè)備3220之間的音頻連接3325(例如同步面向連接(SCO)鏈路)。該響鈴音調(diào)消息由客戶端設(shè)備3210選擇,并且可以由客戶端設(shè)備3210的用戶定制。在一個(gè)實(shí)施例中,IP視頻呼叫的響鈴音調(diào)消息不同于只有音頻的蜂窩呼叫的響鈴音調(diào)。在另一個(gè)實(shí)施例中,直到呼叫被應(yīng)答才建立音頻連接。在這樣的實(shí)施例中,響鈴提醒消息被發(fā)送到免提設(shè)備3220,免提設(shè)備3220隨后在本地確定是否播放響鈴音調(diào)以向用戶提醒來(lái)電呼叫(響鈴提醒消息還可以在發(fā)送響鈴音調(diào)消息3330之前發(fā)送)。在這樣的實(shí)施例中,響鈴提醒消息可以多次發(fā)送給免提設(shè)備3220,直到呼叫被應(yīng)答或終止。有時(shí)在收到響鈴提醒消息和/或響鈴消息3330后,免提設(shè)備3220發(fā)送指示用戶已經(jīng)應(yīng)答呼叫的應(yīng)答消息3335。例如,用戶已經(jīng)按下他們的免提設(shè)備3220上的應(yīng)答按鈕,或者已經(jīng)在免提設(shè)備3220上采取行動(dòng)以應(yīng)答該呼叫。免提管理器3270接收應(yīng)答消息3335,并且發(fā)送應(yīng)答消息3340至電話管理器3260。在一個(gè)實(shí)施例中,應(yīng)答消息3340包括呼叫標(biāo)識(shí)符。盡管未在圖33中示出,免提管理器3270還可以向免提設(shè)備3220發(fā)送確認(rèn)消息,來(lái)響應(yīng)于接收到應(yīng)答消息3335。電話管理器3260確定已應(yīng)答的呼叫消息3340屬于呼叫對(duì)象3320中顯示的呼叫(例如,通過(guò)比較消息3340中包括的呼叫標(biāo)識(shí)符和呼叫對(duì)象3320中存儲(chǔ)的信息),并且發(fā)送消息3345至IP視頻管理器3250,指示呼叫已被應(yīng)答。響應(yīng)于接收到這個(gè)消息,IP視頻呼叫管理器3250在操作3350建立IP視頻呼叫。例如,IP視頻呼叫管理器3250促使IP視頻呼叫接受消息發(fā)送到如前所述的邀請(qǐng)服務(wù),并且建立與發(fā)送邀請(qǐng)的計(jì)算設(shè)備之間的P2P連接(直接的或者是通過(guò)中繼)。有時(shí),在建立IP視頻呼叫之后,IP視頻呼叫管理器3250向電話管理器3260發(fā)送呼叫對(duì)象3355。該呼叫對(duì)象3355包括和呼叫對(duì)象3320類似的一組參數(shù),除了狀態(tài)已經(jīng)從正連接改變到已連接。在一個(gè)實(shí)施例中,呼叫對(duì)象3355是通用的呼叫對(duì)象,具有已建立的IP視頻呼叫和已連接的只有音頻的蜂窩呼叫共用的格式。另外,有時(shí)在建立IP視頻呼叫之后,音頻管理器3275通過(guò)免提設(shè)備3220路由已建立的IP視頻呼叫的音頻部分。在一個(gè)實(shí)施例中,IP視頻呼叫管理器3250或電話管理器3260請(qǐng)求音頻管理器3275通過(guò)免提設(shè)備路由音頻。音頻管理器3275還可以向免提管理器3270發(fā)送消息3360,來(lái)指示音頻路由已經(jīng)改變?yōu)橥ㄟ^(guò)免提設(shè)備3220。如果音頻連接還未建立,免提管理器3270將建立和免提設(shè)備3220的音頻連接。假設(shè)存在已建立的音頻連接,視頻呼叫的音頻部分3365被路由至免提設(shè)備3220。因此,視頻呼叫的音頻部分通過(guò)免提設(shè)備3220處理,而視頻呼叫的視頻部分顯示在客戶端設(shè)備3210上。圖34顯示了根據(jù)一個(gè)實(shí)施例客戶端設(shè)備3210發(fā)起視頻呼叫,并且通過(guò)免提設(shè)備路由已建立視頻呼叫的音頻。圖34將參考圖32的示例性實(shí)施例而得以描述。然而,應(yīng)當(dāng)理解,圖34的操作可以由不同于參考圖32討論的實(shí)施例執(zhí)行,而參考圖32討論的實(shí)施例可以執(zhí)行不同于參考圖34討論的操作。在操作3410,IP視頻呼叫管理器3250使一個(gè)或更多個(gè)IP視頻呼叫邀請(qǐng)消息被發(fā)送到其他(一個(gè)或多個(gè))客戶端設(shè)備以邀請(qǐng)(一個(gè)或多個(gè))用戶進(jìn)行IP視頻呼叫。所述(一個(gè)或多個(gè))IP視頻呼叫邀請(qǐng)消息可以采用前面描述的邀請(qǐng)的形式。IP視頻呼叫管理器3250生成并發(fā)生呼叫對(duì)象3415至電話管理器3260。類似于呼叫對(duì)象3320,呼叫對(duì)象3415包括一組有關(guān)呼叫的參數(shù),并且是通用的格式。電話管理器3260在呼叫對(duì)象3415中存儲(chǔ)信息作為呼叫歷史結(jié)構(gòu)的一部分。在一個(gè)實(shí)施例中,電話管理器3260還生成和發(fā)送呼出呼叫消息3420至免提服務(wù)器3270,指示存在一個(gè)呼出呼叫。響應(yīng)于這個(gè)消息,免提管理器3270建立和免提設(shè)備3220的音頻連接3425(如果定制的帶內(nèi)響鈴音調(diào)被發(fā)送),并且然后向免提設(shè)備3220發(fā)送響鈴音調(diào)消息3430。在其他實(shí)施例中,免提管理器3270只向免提設(shè)備3220發(fā)送響鈴音調(diào)提醒消息,來(lái)取代建立音頻連接和發(fā)送帶內(nèi)響鈴音調(diào)。有時(shí)在發(fā)送IP視頻呼叫邀請(qǐng)之后,IP視頻呼叫管理器3250接收IP視頻呼叫接受消息3435,其可以采用之前描述的視頻呼叫接受消息的形式。在收到這個(gè)消息之后,在操作3440建立和接受客戶端設(shè)備的P2PIP視頻呼叫(例如,建立與接受邀請(qǐng)的計(jì)算設(shè)備的P2P連接(直接的或通過(guò)中繼的))。有時(shí)在建立IP視頻呼叫之后,IP視頻呼叫管理器3250向電話管理器3260發(fā)送呼叫對(duì)象3445。呼叫對(duì)象3445包括和呼叫對(duì)象3415類似的一組參數(shù),除了狀態(tài)已經(jīng)從正連接變化到已連接。呼叫對(duì)象3445也是通用的格式。另外,有時(shí)在建立IP視頻呼叫之后,音頻管理器3275通過(guò)免提設(shè)備3220路由已建立的IP視頻呼叫的音頻部分。在一個(gè)實(shí)施例中,IP視頻呼叫管理器3250或電話管理器3260請(qǐng)求音頻管理器3275通過(guò)免提設(shè)備路由音頻。音頻管理器3275還可以向免提管理器3270發(fā)送消息3455,指示音頻路由將改變?yōu)橥ㄟ^(guò)免提設(shè)備3220。如果音頻連接還未建立,免提管理器3270將建立和免提設(shè)備3220的音頻連接。假設(shè)存在已建立的音頻連接,視頻呼叫的音頻部分3460被路由到免提設(shè)備3220。因此,視頻呼叫的音頻設(shè)備通過(guò)免提設(shè)備3220得以處理,而視頻呼叫的視頻部分顯示在客戶端設(shè)備3210上。圖35顯示了根據(jù)一個(gè)實(shí)施例,客戶端設(shè)備3210響應(yīng)于從免提設(shè)備3220接收呼叫請(qǐng)求而發(fā)起視頻呼叫。圖35將參考圖32的示例性實(shí)施例描述。然而,應(yīng)當(dāng)理解,圖35的存在可以由不同于參考圖32討論的實(shí)施例來(lái)執(zhí)行,而參考圖32討論的實(shí)施例可以執(zhí)行不同于參考圖35所討論的操作。免提管理器3270從免提設(shè)備3220接收呼叫請(qǐng)求3510。呼叫請(qǐng)求3510可以響應(yīng)于用戶選擇被呼的電話號(hào)碼或其他在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符而生成。例如,用戶可以選擇免提設(shè)備3220上的重?fù)馨粹o,請(qǐng)求重?fù)苌弦粋€(gè)呼叫。免提管理器3270向電話管理器3260發(fā)送呼叫請(qǐng)求消息3520。電話管理器3260確定呼叫請(qǐng)求消息3520在請(qǐng)求與視頻呼叫關(guān)聯(lián)的標(biāo)識(shí)符的呼叫(因此呼叫請(qǐng)求消息應(yīng)當(dāng)發(fā)送到IP視頻呼叫管理器3250)還是和用于只有音頻的蜂窩呼叫的電話號(hào)碼關(guān)聯(lián)的標(biāo)識(shí)符的呼叫(因此應(yīng)當(dāng)發(fā)送到蜂窩呼叫管理器3255)。例如,如果呼叫請(qǐng)求3520是重?fù)苷?qǐng)求,電話管理器3260訪問(wèn)上一個(gè)撥出的呼叫以確定將呼叫請(qǐng)求發(fā)送到哪里,該呼叫可能是IP視頻呼叫或者是只有音頻的蜂窩呼叫。如圖35所示,電話管理器將呼叫請(qǐng)求消息3525發(fā)送到IP視頻呼叫管理器3250。呼叫請(qǐng)求消息3525包括請(qǐng)求的視頻呼叫的參與者的標(biāo)識(shí)符(例如電話號(hào)碼、電子郵件地址、或其他在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符)。在圖34描述的操作3410,響應(yīng)于接收到呼叫請(qǐng)求消息3525,IP視頻呼叫管理器3250促使IP視頻呼叫邀請(qǐng)消息發(fā)送到指示的參與者。圖35剩下的操作參考圖34描述的操作執(zhí)行。因此,由于用戶在對(duì)等免提設(shè)備的動(dòng)作,客戶端設(shè)備3210支持建立IP視頻呼叫。圖36說(shuō)明了根據(jù)一個(gè)實(shí)施例客戶端設(shè)備3210將已建立的視頻呼叫的音頻路由到免提設(shè)備3220。在客戶端設(shè)備3210和一個(gè)或更多個(gè)其他客戶端設(shè)備之間存在已建立的IP視頻呼叫3610。該呼叫的音頻部分當(dāng)前由客戶端設(shè)備3210的揚(yáng)聲器輸出,或者通過(guò)插在客戶端設(shè)備3210中的雙耳式耳機(jī)輸出。在操作3615,IP視頻呼叫管理器3250接收輸入以將音頻轉(zhuǎn)移到免提設(shè)備3220。例如,客戶端設(shè)備3210的用戶已經(jīng)向IP視頻呼叫應(yīng)用程序提供輸入,以將音頻轉(zhuǎn)移到對(duì)等的免提設(shè)備。響應(yīng)于接收到這樣的輸入,IP視頻呼叫管理器3250向音頻管理器3275發(fā)送音頻路由請(qǐng)求3620以通過(guò)免提設(shè)備3220路由視頻呼叫的音頻部分。音頻管理器3275可以向免提管理器3270發(fā)送消息3625,指示音頻路由將改變?yōu)橥ㄟ^(guò)免提設(shè)備3220。如果音頻連接還未建立,免提管理器3270將建立與免提設(shè)備3220的音頻連接3630。假設(shè)存在已建立的音頻連接,視頻呼叫的音頻部分3635被路由到免提設(shè)備3220。因此,在IP視頻呼叫建立后,客戶端設(shè)備3210允許用戶將音頻轉(zhuǎn)移到免提設(shè)備。盡管圖36說(shuō)明了響應(yīng)于在客戶端設(shè)備接收到直接輸入,將音頻轉(zhuǎn)移到免提設(shè)備,在其他實(shí)施例中,用戶還可以促使音頻通過(guò)在免提設(shè)備3220的輸入而轉(zhuǎn)移到免提設(shè)備3220。在這樣的實(shí)施例中,免提管理器3270接收來(lái)自免提設(shè)備3220的命令以轉(zhuǎn)移音頻。免提管理器3270隨后將請(qǐng)求發(fā)送到音頻管理器3275,音頻管理器3275將隨后重新路由音頻。另外,盡管圖36描述了將音頻轉(zhuǎn)移到免提設(shè)備,在一些實(shí)施例中,音頻可以從免提設(shè)備轉(zhuǎn)移到客戶端設(shè)備3210的揚(yáng)聲器(或雙耳式耳機(jī))。這可以在客戶端設(shè)備3210處和/或免提設(shè)備3220處發(fā)起。在這樣的實(shí)施例中,音頻管理器3275接收路由音頻請(qǐng)求(從IP視頻呼叫管理器3250接收或從免提管理器3270接收)以將音頻路由到客戶端設(shè)備3210,并且相應(yīng)地操作。圖37說(shuō)明了根據(jù)一個(gè)實(shí)施例,客戶端設(shè)備3210響應(yīng)于從免提設(shè)備3220接收結(jié)束呼叫請(qǐng)求而終止視頻呼叫。響應(yīng)于用戶在免提設(shè)備3220處選擇結(jié)束呼叫(例如選擇免提設(shè)備3220上的結(jié)束按鈕),免提管理器3270從免提設(shè)備3220處接收結(jié)束呼叫消息3710。免提管理器3270將結(jié)束呼叫請(qǐng)求3715發(fā)送到電話管理器3260。在一個(gè)實(shí)施例中,結(jié)束呼叫請(qǐng)求3715包括呼叫標(biāo)識(shí)符來(lái)指示結(jié)束哪個(gè)呼叫(假如有多個(gè)呼叫)。電話管理器3260確定要結(jié)束的呼叫與IP視頻呼叫管理器3250關(guān)聯(lián),并且將結(jié)束呼叫消息3720發(fā)送給IP視頻呼叫管理器3250。響應(yīng)于接收到結(jié)束呼叫消息3720,IP視頻呼叫管理器3250促使IP視頻呼叫終止并且促使客戶端設(shè)備3210斷開(kāi)P2P連接。因此,客戶端設(shè)備3210支持允許用戶使用對(duì)等免提設(shè)備結(jié)束IP視頻呼叫。圖38是說(shuō)明可用在一些實(shí)施例中的示例性計(jì)算機(jī)系統(tǒng)的框圖。例如,計(jì)算機(jī)系統(tǒng)3800的示例性構(gòu)架可以包括在客戶端設(shè)備110、1210、1410、2110、2610、3210等中或者此處描述的其他計(jì)算設(shè)備中。應(yīng)當(dāng)理解,盡管圖38說(shuō)明了計(jì)算機(jī)系統(tǒng)的各種組件,并未意圖代表任何特定的構(gòu)架或互連組件的方式,因?yàn)檫@些細(xì)節(jié)與本發(fā)明并不是密切相關(guān)的。應(yīng)當(dāng)明白,具有更少組件或更多組件的其他計(jì)算機(jī)系統(tǒng)也可以被使用。如圖38所示,采用數(shù)據(jù)處理系統(tǒng)形式的計(jì)算機(jī)系統(tǒng)3800包括和處理系統(tǒng)3820耦合的(一個(gè)或多個(gè))總線3850、電源3825、存儲(chǔ)器3830和非易失性存儲(chǔ)器3840(例如硬盤(pán)、閃存、相變存儲(chǔ)器(PCM)等)。(一個(gè)或多個(gè))總線3850可以通過(guò)本領(lǐng)域公知的各種橋、控制器、和或適配器互相連接。處理系統(tǒng)3820可以從存儲(chǔ)器30和/或非易失性存儲(chǔ)器3840中提取(一個(gè)或多個(gè))指令,并且執(zhí)行指令以完成上述的操作??偩€3850將上面的組件互連在一起,并且還將那些組件互連到可選的dock3860、顯示器控制器&顯示設(shè)備3870、輸入/輸出設(shè)備3880(例如NIC(網(wǎng)絡(luò)接口卡)、光標(biāo)控制(例如鼠標(biāo)、觸摸屏、觸摸板等)、鍵盤(pán)等),以及可選的(一個(gè)或多個(gè))無(wú)線收發(fā)器3890(例如藍(lán)牙、WiFi、紅外等)。圖39是說(shuō)明可用在一些實(shí)施例中的示例性數(shù)據(jù)處理系統(tǒng)的框圖。例如,數(shù)據(jù)處理系統(tǒng)3900可以是手持式計(jì)算機(jī),個(gè)人數(shù)字助理(PDA),移動(dòng)電話,便攜式游戲系統(tǒng),便攜式媒體播放器,書(shū)寫(xiě)板,可包括移動(dòng)電話、媒體播放器和/或游戲系統(tǒng)的手持式計(jì)算設(shè)備。作為另一個(gè)例子,數(shù)據(jù)處理系統(tǒng)3900可以是網(wǎng)絡(luò)計(jì)算機(jī)或在另一個(gè)設(shè)備內(nèi)的嵌入式處理設(shè)備。根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)處理系統(tǒng)3900的示例性構(gòu)架可以包含在客戶端設(shè)備110、1210、1410、2110、2610、3210等中或者此處描述的其他計(jì)算設(shè)備中。數(shù)據(jù)處理系統(tǒng)3900包括處理系統(tǒng)3920,其可以包括一個(gè)或更多個(gè)微處理器和/或集成電路上的系統(tǒng)。處理系統(tǒng)3920與存儲(chǔ)器3910、電源3925(其包括一個(gè)或更多個(gè)電池)、音頻輸入/輸出3940、顯示控制器和顯示裝置3960、可選的輸入/輸出端3950、(一個(gè)或多個(gè))輸入裝置3970、以及(一個(gè)或多個(gè))無(wú)線收發(fā)器3930耦合。應(yīng)當(dāng)理解,圖39未示出的另外的組件,在特定實(shí)施例中也可以成為數(shù)據(jù)處理系統(tǒng)3900的一部分,而且在特定實(shí)施例中,可以使用少于圖39示出的組件。另外,應(yīng)當(dāng)理解,如本領(lǐng)域公知的,圖39中未示出的一個(gè)或更多個(gè)總線可以用于互連各種組件。存儲(chǔ)器3910還存儲(chǔ)數(shù)據(jù)和/或由數(shù)據(jù)處理系統(tǒng)3900執(zhí)行的程序。音頻輸入/輸出3940還可以包括麥克風(fēng)和/或揚(yáng)聲器,以例如播放音樂(lè)和/或通過(guò)揚(yáng)聲器和麥克風(fēng)提供電話功能。顯示控制器和顯示設(shè)備3960還包括圖形用戶界面(⑶I)。無(wú)線(例如RF)收發(fā)器3930(例如WiFi收發(fā)器、紅外收發(fā)器、藍(lán)牙收發(fā)器、無(wú)線服務(wù)電話收發(fā)器等)可用于和其他的數(shù)據(jù)處理系統(tǒng)通信。一個(gè)或更多個(gè)輸入設(shè)備3970允許用戶向系統(tǒng)提供輸入。這些輸入設(shè)備可以是鍵區(qū)、鍵盤(pán)、觸摸板、多點(diǎn)觸摸板等??蛇x的其他輸入/輸出3950可以是用于對(duì)接(dock)的連接器。圖中示出的技術(shù)可以由通過(guò)使用存儲(chǔ)和執(zhí)行在一個(gè)或更多個(gè)計(jì)算設(shè)備(例如客戶端設(shè)備、服務(wù)器等)的代碼和數(shù)據(jù)來(lái)實(shí)現(xiàn)。這樣的計(jì)算設(shè)備使用機(jī)器可讀媒體,例如永久有形的機(jī)器可讀媒體(例如機(jī)器可讀存儲(chǔ)媒體,比如磁盤(pán)、光盤(pán)、只讀存儲(chǔ)器、閃存設(shè)備)和暫時(shí)傳播的信號(hào)(例如電、光、聲或其他形式的傳播信號(hào)——比如載波、紅外信號(hào)、數(shù)字信號(hào)等))來(lái)存儲(chǔ)和發(fā)送(內(nèi)在地和/或通過(guò)網(wǎng)絡(luò)和其他計(jì)算設(shè)備一起)代碼(由軟件指令組成)和數(shù)據(jù)。另外,這樣的計(jì)算設(shè)備通常包括一個(gè)或更多個(gè)處理器組,其耦合到一個(gè)或更多個(gè)其他組件,例如一個(gè)或更多個(gè)永久有形的機(jī)器可讀媒體(以存儲(chǔ)代碼和/或數(shù)據(jù))、用戶輸入/輸出設(shè)備(例如鍵盤(pán)、觸摸屏和/或顯示器)以及網(wǎng)絡(luò)連接(以使用暫時(shí)傳播的信號(hào)發(fā)送代碼和/或數(shù)據(jù))。處理器組和其他組件的耦合典型地是通過(guò)一個(gè)或更多個(gè)總線和橋(也稱作總線控制器)。因此,給定計(jì)算設(shè)備的永久性機(jī)器可讀介質(zhì)通常存儲(chǔ)在那個(gè)計(jì)算設(shè)備的一個(gè)或更多個(gè)處理器組上執(zhí)行的指令。實(shí)施例的一個(gè)或更多個(gè)部分可以使用軟件、固件和/或硬件的不同組合實(shí)現(xiàn)。盡管這里描述的操作涉及到對(duì)于對(duì)用作在線通信會(huì)話端點(diǎn)標(biāo)識(shí)符的電子郵件地址進(jìn)行驗(yàn)證,自動(dòng)地驗(yàn)證電子郵件地址而無(wú)需用戶對(duì)包括在驗(yàn)證電子郵件消息里的鏈接進(jìn)行點(diǎn)擊,然而,實(shí)施例并不限于此。例如,在一些實(shí)施例中,當(dāng)由于其他原因需要驗(yàn)證電子郵件地址時(shí),執(zhí)行關(guān)于自動(dòng)驗(yàn)證電子郵件地址所描述的操作。例如,用戶可能注冊(cè)服務(wù),作為注冊(cè)過(guò)程的一部分,該服務(wù)需要對(duì)電子郵件地址屬于該用戶進(jìn)行驗(yàn)證。用戶向該服務(wù)提供電子郵件地址,并且收到消息(例如通過(guò)服務(wù)的網(wǎng)頁(yè)顯示),該消息指示電子郵件地址需要驗(yàn)證而且驗(yàn)證電子郵件消息已經(jīng)發(fā)往或者將發(fā)往所提供的電子郵件地址(驗(yàn)證電子郵件消息可以包括、也可以不包括驗(yàn)證鏈接)??蛻舳嗽O(shè)備上的應(yīng)用程序可以對(duì)與用于該驗(yàn)證消息的電子郵件地址對(duì)應(yīng)的電子郵件帳戶進(jìn)行自動(dòng)檢查,并在其被定位時(shí),自動(dòng)地解析該消息以定位驗(yàn)證令牌,并且發(fā)送包括電子郵件地址和驗(yàn)證令牌的電子郵件地址驗(yàn)證消息至與服務(wù)相關(guān)聯(lián)的電子郵件驗(yàn)證服務(wù)器以驗(yàn)證該電子郵件地址。盡管圖中的流程圖顯示了由特定實(shí)施例執(zhí)行的操作的特定順序,應(yīng)當(dāng)理解,這樣的順序是示例性的(例如可選的實(shí)施例可以不同的順序執(zhí)行操作、組合某些操作、重疊某些操作等)。盡管本發(fā)明是結(jié)合一些實(shí)施例描述的,本領(lǐng)域技術(shù)人員將意識(shí)到本發(fā)明不限于所描述的實(shí)施例,可以在所附權(quán)利要求的精神和范圍內(nèi)通過(guò)修改和變更來(lái)實(shí)施。說(shuō)明書(shū)因而被看作是示例性的,而非限制性的。權(quán)利要求1.一種在客戶端設(shè)備上執(zhí)行的方法,用于在電路交換音頻呼叫和視頻呼叫之間轉(zhuǎn)換,所述客戶端設(shè)備包括前向照相機(jī)來(lái)捕捉用于所述視頻呼叫的視頻,該方法包括從所述客戶端設(shè)備的用戶接收輸入,以從已建立的電路交換音頻呼叫轉(zhuǎn)換到視頻呼叫,其中,已建立的電路交換音頻呼叫具有多個(gè)參與者,這些參與者包括該客戶端設(shè)備的用戶以及在一個(gè)或更多個(gè)其他客戶端設(shè)備構(gòu)成的組處的由一個(gè)或更多個(gè)遠(yuǎn)程參與者構(gòu)成的組;使視頻呼叫邀請(qǐng)消息被發(fā)送到所述遠(yuǎn)程參與者的該組其他客戶端設(shè)備;從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備接收視頻呼叫接受消息;向該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備發(fā)送由該客戶端設(shè)備的前向照相機(jī)捕捉的視頻;以及響應(yīng)于從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備中的每一個(gè)客戶端設(shè)備接收到至少一個(gè)視頻幀,從所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫。2.權(quán)利要求1的方法,進(jìn)一步包括響應(yīng)于成功轉(zhuǎn)換到視頻呼叫,丟棄電路交換音頻呼叫。3.權(quán)利要求1的方法,進(jìn)一步包括響應(yīng)于確定音頻目前正通過(guò)所述客戶端設(shè)備的受話揚(yáng)聲器路由,將音頻通過(guò)所述客戶端設(shè)備的喇叭揚(yáng)聲器路由;以及顯示由所述客戶端設(shè)備的前向照相機(jī)捕捉的視頻的預(yù)覽。4.權(quán)利要求1的方法,其中,從電路交換音頻呼叫轉(zhuǎn)換到視頻呼叫的步驟包括執(zhí)行以下步驟顯示正在從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備接收的視頻;以及將音頻路由從所述電路交換音頻呼叫改變到所述視頻呼叫。5.權(quán)利要求1的方法,進(jìn)一步包括建立和該組其他客戶端設(shè)備之間的直接點(diǎn)對(duì)點(diǎn)(P2P)連接,其中,所述視頻通過(guò)所述P2P連接發(fā)送。6.一種在客戶端設(shè)備上執(zhí)行的方法,用于在電路交換音頻呼叫和視頻呼叫之間轉(zhuǎn)換,所述客戶端設(shè)備包括前向照相機(jī)來(lái)捕捉用于所述視頻呼叫的視頻,該方法包括接收視頻呼叫邀請(qǐng)消息,該消息源于所述電路交換音頻呼叫的遠(yuǎn)程參與者的客戶端設(shè)備;接收來(lái)自用戶的輸入,以接受所述視頻呼叫邀請(qǐng);使視頻呼叫邀請(qǐng)接受消息被發(fā)送到所述遠(yuǎn)程參與者的客戶端設(shè)備;將所述前向照相機(jī)捕捉的視頻發(fā)送到所述遠(yuǎn)程參與者的客戶端設(shè)備;以及響應(yīng)于從所述遠(yuǎn)程參與者的客戶端設(shè)備接收到至少一個(gè)視頻幀,將所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫。7.權(quán)利要求6的方法,進(jìn)一步包括響應(yīng)于成功轉(zhuǎn)換到所述視頻呼叫,丟棄所述電路交換音頻呼叫。8.權(quán)利要求6的方法,進(jìn)一步包括響應(yīng)于確定音頻目前正在通過(guò)所述客戶端設(shè)備的受話揚(yáng)聲器路由,將音頻通過(guò)所述客戶端設(shè)備的喇叭揚(yáng)聲器路由,并顯示由所述客戶端設(shè)備的前向照相機(jī)捕捉的視頻的預(yù)覽。9.權(quán)利要求6的方法,其中,從所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫的步驟包括執(zhí)行以下步驟顯示正在從所述遠(yuǎn)程參與者的客戶端設(shè)備接收的視頻;以及將音頻路由從所述電路交換音頻呼叫改變到所述視頻呼叫。10.權(quán)利要求6的方法,進(jìn)一步包括建立和所述參與者的客戶端設(shè)備之間的直接點(diǎn)對(duì)點(diǎn)(P2P)連接,其中,所述視頻通過(guò)所述P2P連接發(fā)送。11.一種在電路交換音頻呼叫和視頻呼叫之間轉(zhuǎn)換的客戶端設(shè)備,該客戶端設(shè)備包括前向照相機(jī),捕捉用于所述視頻呼叫的視頻;無(wú)線收發(fā)器,與其他客戶端設(shè)備通信;存儲(chǔ)器,存儲(chǔ)程序代碼;處理器,與所述存儲(chǔ)器耦合以處理程序代碼,從而從所述客戶端設(shè)備的用戶接收輸入,以將已建立的電路交換音頻呼叫轉(zhuǎn)換到視頻呼叫,其中,所述已建立的電路交換音頻呼叫具有多個(gè)參與者,這些參與者包括該客戶端設(shè)備的用戶以及由一個(gè)或更多個(gè)其他客戶端設(shè)備構(gòu)成的組處的由一個(gè)或更多個(gè)遠(yuǎn)程參與者構(gòu)成的組;使視頻呼叫邀請(qǐng)消息被發(fā)送到所述遠(yuǎn)程參與者的該組其他客戶端設(shè)備;從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備接收視頻呼叫接受消息;向該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備發(fā)送由所述前向照相機(jī)捕捉的視頻;以及響應(yīng)于從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備中的每一個(gè)客戶端設(shè)備接收到至少一個(gè)視頻幀,將所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫。12.權(quán)利要求11的客戶端設(shè)備,其中,所述處理器還響應(yīng)于成功轉(zhuǎn)換到所述視頻呼叫而丟棄所述電路交換音頻呼叫,其中,所述客戶端設(shè)備還包括受話揚(yáng)聲器,提供輸出音頻信號(hào);喇叭揚(yáng)聲器,提供輸出音頻信號(hào);其中,所述處理器還響應(yīng)于確定音頻目前正在通過(guò)所述受話揚(yáng)聲器路由,而將音頻通過(guò)所述喇叭揚(yáng)聲器路由。13.權(quán)利要求11的客戶端設(shè)備,其中,所述處理器還顯示由所述客戶端設(shè)備的前向照相機(jī)捕捉的視頻的預(yù)覽。14.權(quán)利要求11的客戶端設(shè)備,其中,所述處理器將電路交換音頻呼叫轉(zhuǎn)換到視頻呼叫包括由所述處理器顯示正在從該組遠(yuǎn)程參與者的該組其他客戶端設(shè)備接收的視頻;以及將音頻路由從所述電路交換音頻呼叫改變到所述視頻呼叫。15.權(quán)利要求11的客戶端設(shè)備,其中,所述處理器還建立和該組其他客戶端設(shè)備之間的直接點(diǎn)對(duì)點(diǎn)(P2P)連接,其中,所述視頻通過(guò)所述P2P連接發(fā)送。16.一種在電路交換音頻呼叫和視頻呼叫之間轉(zhuǎn)換的客戶端設(shè)備,該客戶端設(shè)備包括前向照相機(jī),捕捉用于視頻呼叫的視頻;無(wú)線收發(fā)器,與其他客戶端設(shè)備通信;存儲(chǔ)器,存儲(chǔ)程序代碼;處理器,與所述存儲(chǔ)器耦合以處理程序代碼,從而接收視頻呼叫邀請(qǐng)消息,該消息源于所述電路交換音頻呼叫的遠(yuǎn)程參與者的客戶端設(shè)備;從用戶接收輸入以接受所述視頻呼叫邀請(qǐng);使視頻呼叫邀請(qǐng)接受消息被發(fā)送到所述遠(yuǎn)程參與者的客戶端設(shè)備;將所述前向照相機(jī)捕捉的視頻發(fā)送到所述遠(yuǎn)程參與者的客戶端設(shè)備;以及響應(yīng)于從所述遠(yuǎn)程參與者的客戶端設(shè)備接收到至少一個(gè)視頻幀,將所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫。17.權(quán)利要求16的客戶端設(shè)備,其中,所述處理器還響應(yīng)于成功轉(zhuǎn)換到所述視頻呼叫,丟棄所述電路交換音頻呼叫。18.權(quán)利要求16的客戶端設(shè)備,還包括受話揚(yáng)聲器,提供輸出音頻信號(hào);喇叭揚(yáng)聲器,提供輸出音頻信號(hào);其中所述處理器還響應(yīng)于確定音頻目前正在通過(guò)所述受話揚(yáng)聲器路由,而將音頻通過(guò)所述喇叭揚(yáng)聲器路由。19.權(quán)利要求16的客戶端設(shè)備,其中,所述處理器將所述電路交換音頻呼叫轉(zhuǎn)換到所述視頻呼叫包括由所述處理器顯示正在從所述遠(yuǎn)程參與者的客戶端設(shè)備接收的視頻;以及將音頻路由從所述電路交換音頻呼叫改變到所述視頻呼叫。20.權(quán)利要求16的客戶端設(shè)備,其中,所述處理器進(jìn)一步建立和所述參與者的客戶端設(shè)備之間的直接點(diǎn)對(duì)點(diǎn)(P2P)連接,其中,所述視頻通過(guò)所述P2P連接發(fā)送。全文摘要本申請(qǐng)涉及在電路交換呼叫和視頻呼叫之間轉(zhuǎn)換??蛻舳嗽O(shè)備當(dāng)前通過(guò)已建立的只有音頻的電路呼叫交換連接到一個(gè)或更多個(gè)其他客戶端設(shè)備,其接收來(lái)自用戶的輸入,以將只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫。視頻呼叫邀請(qǐng)消息被發(fā)送到其他客戶端設(shè)備。客戶端設(shè)備接收來(lái)自其他客戶端設(shè)備的視頻呼叫接受消息,并且開(kāi)始向其他客戶端設(shè)備發(fā)送由它的前向照相機(jī)捕捉的視頻。響應(yīng)于接收來(lái)自一個(gè)或多個(gè)其他客戶端設(shè)備中每一個(gè)的至少一個(gè)視頻幀,客戶端設(shè)備從只有音頻的電路交換呼叫轉(zhuǎn)換到視頻呼叫。在轉(zhuǎn)換到視頻呼叫之后,電路交換呼叫被丟棄。文檔編號(hào)H04W80/10GK102215216SQ20101057027公開(kāi)日2011年10月12日申請(qǐng)日期2010年9月25日優(yōu)先權(quán)日2010年4月7日發(fā)明者大衛(wèi)·馬克勞德,杰里米·布朗,賈斯廷·桑塔馬利亞申請(qǐng)人:蘋(píng)果公司