專利名稱:通信系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例一般涉及實時通信,并且尤其涉及在不同的電話網(wǎng)絡(luò)內(nèi)或之間啟動或結(jié)束電話呼叫。
背景技術(shù):
一些通信系統(tǒng)允許用戶設(shè)備,如個人計算機(jī),在因特網(wǎng)等基于包的計算機(jī)網(wǎng)絡(luò)上通信。這種通信系統(tǒng)包括基于因特網(wǎng)協(xié)議的語音(voice over internet protocol, VoIP)通信系統(tǒng)。這些系統(tǒng)對用戶來說是有利的,因為它們通常比傳統(tǒng)的固定線路或移動網(wǎng)絡(luò)的費(fèi)用低得多。對于長途通信可能尤其如此。為了使用VoIP系統(tǒng),用戶在其設(shè)備上安裝并執(zhí)行客戶端軟件。該客戶端軟件提供VoIP連接以及其它功能,如注冊和認(rèn)證。除了語音通信以外,該客戶端還可以提供進(jìn)一步特征,如視頻呼叫、即時消息 (instant messaging, IM)、SMS消息、文件傳輸以及語音郵件?;诎耐ㄐ诺囊环N通信系統(tǒng)使用點(diǎn)對點(diǎn)(peer-to-peer, P2P)拓?fù)?。為了能夠訪問點(diǎn)對點(diǎn)系統(tǒng),用戶必須在他們的計算機(jī)(其包括任何支持的計算設(shè)備,包括智能電話)上執(zhí)行由P2P軟件提供商(或者第三方廠商)提供的P2P客戶端軟件,并且注冊到該P(yáng)2P系統(tǒng)。當(dāng)用戶注冊到該P(yáng)2P系統(tǒng)時,該客戶端軟件具有從服務(wù)器提供的數(shù)字證書。一旦該客戶端軟件具有了該證書,就可以隨后在該P(yáng)2P系統(tǒng)的用戶之間建立并路由呼叫或其它通信,而不在該建立中進(jìn)一步使用服務(wù)器。而是該客戶端從該P(yáng)2P系統(tǒng)內(nèi)的其它最終用戶的計算機(jī)上的P2P客戶端軟件當(dāng)中分布的信息查找所需的IP地址。一旦被呼叫者終端的IP地址已被由此確定,呼叫者的P2P客戶端軟件就與被呼叫者的P2P客戶端軟件交換證書。用戶之間數(shù)字證書(或者用戶身份證書(user identity certificates, UIC))的交換提供用戶身份以及他們在該P(yáng)2P系統(tǒng)中被適當(dāng)授權(quán)和認(rèn)證的證明。因此,數(shù)字證書的呈現(xiàn)提供對用戶身份的信任。因此,一旦注冊,用戶就可以基于分布的地址查找以及一個或多個數(shù)字證書的交換、以分散的方式通過該P(yáng)2P系統(tǒng)建立他們自己的通信路由,而不使用服務(wù)器用于這些目的,這是點(diǎn)對點(diǎn)通信的特征。在WO 2005/008524和WO 2005/009019中公開了這種P2P系統(tǒng)的進(jìn)一步細(xì)節(jié)。VoIP或其它基于包的通信還可以使用非P2P系統(tǒng)來實現(xiàn),非P2P系統(tǒng)使用集中式呼叫建立。該P(yáng)2P系統(tǒng)典型地允許從P2P客戶端軟件呼叫PSTN或移動電話號碼。然而,當(dāng)從呼叫者的P2P客戶端軟件呼叫PSTN或移動電話號碼時,該P(yáng)2P系統(tǒng)將該呼叫路由到PSTN或移動網(wǎng)絡(luò)。需要將呼叫從基于包的網(wǎng)絡(luò)路由到PSTN或移動網(wǎng)絡(luò)(反之亦然)的系統(tǒng)和方法以減小成本并提高服務(wù)質(zhì)量。
發(fā)明內(nèi)容
在一個實施例中,公開一種對目的地電話號碼設(shè)置出局通信事件(place anoutgoing communication event)的方法。因此,當(dāng)接收到該出局通信事件的通知時,確定該目的地電話號碼是否與第一網(wǎng)絡(luò)的用戶相關(guān)。第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò)。然后檢索與該目的地電話號碼相對應(yīng)的第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識。還檢索第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)的存在信息。該存在信息是該用戶可用性的表示。該通信節(jié)點(diǎn)被配置為接收語音通信事件?;跈z索到的存在信息對第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置該出局通 目事件。在另一個實施例中,公開一種通信系統(tǒng)。該通信系統(tǒng)包括連接到第一網(wǎng)絡(luò)的多個最終用戶終端;耦合到第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)以使第一網(wǎng)絡(luò)與第二網(wǎng)絡(luò)對接的網(wǎng)關(guān);以及通信服務(wù)器。所述通信服務(wù)器和所述多個最終用戶終端中的至少一個二者中的至少一個被配置為進(jìn)行對目的地電話號碼設(shè)置出局通信事件的操作。因此,該操作包括當(dāng)接收到該出局通信事件的通知時,判斷該目的地電話號碼是否與第一網(wǎng)絡(luò)的用戶相關(guān)。第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò)。然后檢索與該目的地電話號碼相對應(yīng)的第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識。還檢索與該用戶相關(guān)的第一網(wǎng)絡(luò)中通信節(jié)點(diǎn)的存在信息。該存在信息是該用戶可用性的表示。該通信節(jié)點(diǎn)被配置為接收語音通信事件?;跈z索到的存在信息對第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置該出局通信事件。在另一實施例中,公開一種包含程序的計算機(jī)可讀存儲介質(zhì),當(dāng)被執(zhí)行時,該程序進(jìn)行對目的地電話號碼設(shè)置出局通信事件的操作。因此,該操作包括當(dāng)接收到該出局通信事件的通知時,判斷該目的地電話號碼是否與第一網(wǎng)絡(luò)的用戶相關(guān)。第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò)。然后檢索與該目的地電話號碼相對應(yīng)的第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識。還檢索與該用戶相關(guān)的第一網(wǎng)絡(luò)中通信節(jié)點(diǎn)的存在信息。該存在信息是該用戶可用性的表示。該通信節(jié)點(diǎn)被配置為接收語音通信事件?;跈z索到的存在信息對第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置該出局通信事件。其它實施例包括但不限于包括使處理單元能夠?qū)崿F(xiàn)所公開的方法的一個或多個方面的指令的非暫時性計算機(jī)可讀存儲介質(zhì)以及被配置為實現(xiàn)所公開的方法的一個或多個方面的系統(tǒng)。
為了能夠詳細(xì)地 理解本發(fā)明的上述特征,可以關(guān)于實施例給出上文簡要總結(jié)的本發(fā)明的更具體的描述,附圖中示出一些實施例。然而,應(yīng)當(dāng)指出,附圖僅示出本發(fā)明的典型實施例,因此不被視為限制本發(fā)明的范圍,因為本發(fā)明可以允許其它等同有效的實施例。圖1示出根據(jù)本發(fā)明的一個實施例的基于因特網(wǎng)的通信系統(tǒng)的示意圖。圖2是根據(jù)本發(fā)明的一個實施例的最終用戶終端的邏輯圖。圖3示出根據(jù)本發(fā)明的一個實施例的啟動從一個網(wǎng)絡(luò)到另一個網(wǎng)絡(luò)的電話呼叫的示例性處理。
具體實施例在以下描述中,給出多個特定細(xì)節(jié),以提供對本發(fā)明更透徹的理解。然而,本發(fā)明可以在沒有這些特定細(xì)節(jié)中的一個或多個的情況下實施,這對于本領(lǐng)域的技術(shù)人員來說是顯而易見的。在其它情況下,為了避免使本發(fā)明不明顯,公知的特征沒有被描述。本公開提到“一個實施例”或者“一實施例”時,意味著關(guān)于該實施例描述的特定特征、結(jié)構(gòu)或特點(diǎn)包括在本發(fā)明的至少一個實施例中。因此,短語“在一個實施例中”或者“在一實施例中”在本說明書中不同地方的出現(xiàn)不一定都涉及同一實施例。此外,這些特定特征、結(jié)構(gòu)或特點(diǎn)可以用任何適當(dāng)?shù)姆绞浇Y(jié)合在一個或多個實施例中。圖1是通信系統(tǒng)100的示意圖。通信系統(tǒng)100至少包括基于包的網(wǎng)絡(luò),如因特網(wǎng)102,該網(wǎng)絡(luò)包括多個相互連接的元件中的一個或多個,如膝上計算機(jī)112a、112d、移動電話112b、桌上計算機(jī)112c、平板計算機(jī)112e和Web服務(wù)器104。還可以包括一個或多個電話網(wǎng)關(guān)108a、108b、108c,以將電話呼叫路由到PSTN或移動網(wǎng)絡(luò)110。在一個實施例中,如果通信系統(tǒng)100中包括多于一個網(wǎng)關(guān),那么這些網(wǎng)關(guān)中的至少一些可以根據(jù)電話呼叫區(qū)域位于不同的地理位置。一些網(wǎng)關(guān)還可以位于不同的國家。至少一些網(wǎng)絡(luò)元件與因特網(wǎng)102的其余部分互耦合,并且被配置為通過發(fā)送和接收因特網(wǎng)協(xié)議(IP)包形式的數(shù)據(jù)與因特網(wǎng)上的其它這種元件傳遞數(shù)據(jù)。耦合到因特網(wǎng)102的每個元件還具有在因特網(wǎng)中將其定位的相關(guān)IP地址。通信服務(wù)器106 (如P2P服務(wù)器)可以包括在通信系統(tǒng)100中。其它最終用戶終端(例如,膝上計算機(jī)、桌上計算機(jī)、智能電話、平板計算機(jī)等)、服務(wù)器和網(wǎng)關(guān)以及因特網(wǎng)服務(wù)提供商(ISP)的路由器和因特網(wǎng)骨干路由器等也可以包括在通信系統(tǒng)100中。VoIP陸線電話113也可以耦合到因特網(wǎng)102。該VoIP電話被配置為與通信服務(wù)器106通信。在一個實施例中,多個最終用戶終端中的每一個包括通信軟件,該通信軟件包括P2P客戶端應(yīng)用程序或者通信客戶端應(yīng)用程序,其還可以包括用于從最終用戶終端呼叫電話號碼的特征。當(dāng)被執(zhí)行時,該P(yáng)2P客戶端應(yīng)用程序允許最終用戶終端(例如,112a. . . e)使用P2P呼叫建立(或者更一般的連接建立)經(jīng)由因特網(wǎng)與其它這種最終用戶終端或PSTN電話建立雙向通信信道。在一個實施例中,該通信客戶端應(yīng)用程序還相互共享提供用戶可用性狀態(tài)的存在信息。優(yōu)選地,每個用戶的存在信息至少部分由用戶自己定義。為了補(bǔ)充該分散式呼叫建立,該通信客戶端應(yīng)用程序可以從通信服務(wù)器106檢索一些附加信息,如提供用戶聯(lián)系人名字的聯(lián) 系人列表、作為由用戶選擇以代表他們自己在通信服務(wù)器106內(nèi)的圖像的“化身”。通信應(yīng)用程序還可以安裝在耦合到因特網(wǎng)102和PSTN網(wǎng)絡(luò)二者以及/或者移動蜂窩網(wǎng)絡(luò)110的網(wǎng)關(guān)108a。這允許運(yùn)行在最終用戶終端112a-e上的通信客戶端應(yīng)用程序(例如,P2P客戶端應(yīng)用程序或者VoIP客戶端應(yīng)用程序)分別與普通陸線電話(即,PSTN電話)和/或移動電話通信,即使這些電話本身不運(yùn)行通信客戶端應(yīng)用程序并且不直接耦合到因特網(wǎng)102。在此情況下,最終用戶終端112a-e上的通信客戶端應(yīng)用程序使用P2P呼叫建立在因特網(wǎng)上與網(wǎng)關(guān)108a上的通信客戶端應(yīng)用程序建立連接并且向其提供電話號碼,網(wǎng)關(guān)108使用該電話號碼在PSTN或者/以及移動網(wǎng)絡(luò)110上與該電話建立連接。在一個實施例中,如果特定的最終用戶終端112a不具有相關(guān)電話號碼,那么網(wǎng)關(guān)108a (或者108b或者108c)或者通信服務(wù)器106可以在建立對PSTN或移動網(wǎng)絡(luò)110中的電話號碼的呼叫之前分配臨時的出局身份(例如,呼叫者標(biāo)識號碼)。在一個實施例中,該臨時電話號碼可以是隨機(jī)號碼或文字,或者由用戶或通信服務(wù)器106預(yù)先配置。在其它實施例中,可以使用最終用戶終端的用戶的用戶id或者基于該用戶id產(chǎn)生的號碼作為出局身份。在另一個實施例中,通信客戶端應(yīng)用程序214可以從網(wǎng)絡(luò)節(jié)點(diǎn)檢索并緩存通信客戶端應(yīng)用程序214的用戶的一個或多個聯(lián)系人的聯(lián)系人信息。該網(wǎng)絡(luò)節(jié)點(diǎn)可以是因特網(wǎng)102中的服務(wù)器,其存儲與通信客戶端應(yīng)用程序214相關(guān)的通信網(wǎng)絡(luò)的所有用戶或用戶子集的聯(lián)系人信息。當(dāng)用戶在通信客戶端應(yīng)用程序214中輸入電話號碼時,通信客戶端應(yīng)用程序214在聯(lián)系人列表中搜索與輸入的電話號碼相關(guān)的通信網(wǎng)絡(luò)用戶標(biāo)識。例如,如果用戶撥打電話號碼“6505551212”,則通信客戶端應(yīng)用程序214搜索本地存儲或緩存的聯(lián)系人列表,以確定該號碼是否與本地存儲的聯(lián)系人列表中的任何聯(lián)系人相關(guān)。如果找到匹配的聯(lián)系人,則通信客戶端應(yīng)用程序214進(jìn)一步確定所找到的聯(lián)系人是否還包括與連接到通信客戶端應(yīng)用程序214的通信網(wǎng)絡(luò)相關(guān)的用戶標(biāo)識。如果該用戶標(biāo)識被找到,則通信客戶端應(yīng)用程序214嘗試從通信網(wǎng)絡(luò)中與找到的用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)檢索存在信息。如果檢索到的存在信息表示與找到的用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)的用戶是可用的并且被配置為通過該通信節(jié)點(diǎn)接收呼叫,則通信客戶端應(yīng)用程序214使用通信網(wǎng)絡(luò)呼叫該通信節(jié)點(diǎn),而不是呼叫第二網(wǎng)絡(luò)中最初輸入的電話號碼。在另一個實施例中,如果沒有在本地存儲的聯(lián)系人列表中找到聯(lián)系人,則通信客戶端應(yīng)用程序214嘗試詢問通信服務(wù)器106。如果通信服務(wù)器106返回與輸入的電話號碼相對應(yīng)的用戶標(biāo)識,則如前段落描述的,通信客戶端應(yīng)用程序214基于存在信息,使用該用戶標(biāo)識呼叫(place a call)與該用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)。作為選擇,通信客戶端應(yīng)用程序214可以呼叫輸入的號碼。在網(wǎng)關(guān)IOSa-C或者通信服務(wù)器106上接收該呼叫,然后其嘗試找到與輸入的號碼相對應(yīng)的通信網(wǎng)絡(luò)用戶標(biāo)識。如果找到該用戶標(biāo)識,則基于檢索到的存在信息呼叫通信網(wǎng)絡(luò)中與該用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)。還可以從第二網(wǎng)絡(luò)中的設(shè)備呼叫目的地電話號碼。在此情況下,如果在網(wǎng)關(guān)108a-c或者通信服務(wù)器106上接收到該呼叫,則通信服務(wù)器106和網(wǎng)關(guān)108a_c中的至少一個確定與目的地電話號碼相關(guān)的 用戶標(biāo)識,并且可以進(jìn)行呼叫與該用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)的上述處理。注意,在一個或多個實施例中,檢索存在信息還可以包括從與用戶標(biāo)識相關(guān)的通信節(jié)點(diǎn)檢索用戶配置信息。圖2的示意性框圖200示出最終用戶終端112a,其被配置為充當(dāng)在因特網(wǎng)102上運(yùn)行的通信系統(tǒng)的終端。最終用戶終端112a包括可操作地耦合到網(wǎng)絡(luò)接口 210的CPU202,如調(diào)制解調(diào)器、無線適配器、LAN適配器等,用于連接到因特網(wǎng)102 ;非易失性存儲設(shè)備208,如硬驅(qū)動或閃存;以及易失性存儲設(shè)備,如隨機(jī)訪問存儲器(RAM) 204。最終用戶終端112a還包括例如鍵盤、鼠標(biāo)、麥克風(fēng)和網(wǎng)絡(luò)攝像頭形式的一個或多個用戶輸入設(shè)備,其每一個經(jīng)由I/O接口 212可操作地耦合到CPU 202。在一些實施例中,鍵盤和/或鼠標(biāo)可以用軟件來實現(xiàn),并且可以與操作系統(tǒng)206合作執(zhí)行而無須I/O接口 212。最終用戶終端112a進(jìn)一步包括例如顯示屏幕和揚(yáng)聲器形式的一個或多個用戶輸出設(shè)備,其每一個也可操作地耦合到CPU 202。存儲設(shè)備208存儲至少包括操作系統(tǒng)(OS)206和基于包的通信軟件的軟件,基于包的通信軟件包括通信客戶端應(yīng)用程序214,通信客戶端應(yīng)用程序214包括客戶端UI 218、客戶端引擎220和I/O層222。在最終用戶終端112a啟動時,操作系統(tǒng)軟件206被自動加載到RAM 204中,并且CPU 202從RAM 204執(zhí)行它。一旦運(yùn)行,操作系統(tǒng)206就可以通過將P2P客戶端應(yīng)用程序214等應(yīng)用程序加載到RAM 204中并且在CPU 202上執(zhí)行它們來運(yùn)行這些應(yīng)用程序。在一個實施例中,通信客戶端應(yīng)用程序214包括三個基本層輸入和輸出222、客戶端引擎層220和用戶接口(UI)層218。然而,在其它實施例中,可以增加其它層,或者可以省略上述三個層中的一些層,或者可以將兩個或更多個層融合在一起。通信客戶端應(yīng)用程序214和P2P工具條/附件/插件應(yīng)用程序216在操作系統(tǒng)206中執(zhí)行。這意味著在多任務(wù)環(huán)境中它們被安排以便由操作系統(tǒng)206執(zhí)行;并且可以通過操作系統(tǒng)206的適當(dāng)?shù)尿?qū)動器和/或API來調(diào)節(jié)輸入設(shè)備向通信客戶端應(yīng)用程序214的I/O層222的輸入以及從通信客戶端應(yīng)用程序214的I/O層222向輸出設(shè)備的輸出。在一個實施例中,通信客戶端應(yīng)用程序的I/O層222包括音頻和/或視頻編解碼器,它接收入局編碼流并且根據(jù)需要將它們解碼以輸出到揚(yáng)聲器(未示出)和/或顯示器(未示出),并且它還接收來自麥克風(fēng)(未示出)和/或網(wǎng)絡(luò)攝像頭(未示出)的未編碼的音頻和/或視頻數(shù)據(jù),并且將它們編碼以作為流發(fā)送到通信系統(tǒng)100的其它最終用戶終端112a-e。I/O層222還可以包括控制信令協(xié)議,其用于在因特網(wǎng)102的最終用戶終端112a-e之間發(fā)送控制信息。然后客戶端引擎220處理如上所述的通信系統(tǒng)100的連接管理功能,例如,通過P2P地址查找和認(rèn)證建立呼叫或其它連接。客戶端引擎220還可以負(fù)責(zé)通信系統(tǒng)的其它輔助功能,如向通信系統(tǒng)100內(nèi)的通信服務(wù)器106提供最新的聯(lián)系人列表和/或用戶的化身圖像,或者從P2P服務(wù)器106檢索用戶的最新的聯(lián)系人列表以及檢索其它用戶的最新的化身圖像。此外,客戶端引擎220通過公共API從聯(lián)系人列表中的用戶的其它客戶端檢索存在信息,并且反過來將它自己的存在信息提供給在線的那些其它客戶端。通過公共API在客戶端之間直接交換存在信息是優(yōu)選的選項,但是可選地,可以通過諸如通信服務(wù)器106等中間節(jié)點(diǎn)交換存在信息。存在信息包括所選擇的最終用戶終端的狀態(tài)。例如,存在信息可以包括最終用戶終端是否在線、忙碌、被配置為接受電話呼叫、處于勿打擾模式等。一些存在信息可以包括系統(tǒng)產(chǎn)生的信息和用戶產(chǎn)生的信息二者。UI層218負(fù)責(zé)·將解碼后的視頻通過顯示器呈現(xiàn)給用戶,負(fù)責(zé)如何將呈現(xiàn)的輸出與諸如按鈕和菜單等用戶控制一起布置在顯示器上,并且負(fù)責(zé)通過所呈現(xiàn)的控制接收來自用戶的輸入。圖3示出如果某些條件滿足時,結(jié)束在第一網(wǎng)絡(luò)(例如,因特網(wǎng)102)中發(fā)起的對另一網(wǎng)絡(luò)(例如,PSTN或移動網(wǎng)絡(luò)110)的呼叫的處理300。該處理可以在P2P服務(wù)器106上或者在一個或多個網(wǎng)關(guān)108a、108b、108c上進(jìn)行。在另一個實施例中,該網(wǎng)關(guān)和P2P服務(wù)器106可以合作進(jìn)行該處理步驟。在另一個實施例中,發(fā)起該呼叫的最終用戶站112a也可以協(xié)作參與進(jìn)行處理300的一些步驟。因此,在步驟302,接收來自最終用戶終端112a (或者與因特網(wǎng)102和通信服務(wù)器106可通信地耦合的第一網(wǎng)絡(luò)中的任何其它最終用戶終端)的出局呼叫。在另一個實施例中,只接收到特定的最終用戶站正在嘗試進(jìn)行呼叫的通知,而不是出局呼叫本身。在確定步驟304,確定目的地電話號碼是否在第一網(wǎng)絡(luò)中??梢酝ㄟ^查詢包括在第一網(wǎng)絡(luò)中注冊的所有最終用戶終端的相關(guān)電話號碼的數(shù)據(jù)庫來進(jìn)行該確定。應(yīng)當(dāng)指出,不是所有注冊的最終用戶站都可能具有相關(guān)電話號碼。在一個實施例中,通信服務(wù)器106將該數(shù)據(jù)庫保持在本地高速緩沖器中。在另一實施例中,該數(shù)據(jù)庫可以保持在可以從P2P服務(wù)器106訪問的獨(dú)立服務(wù)器上。還可以從網(wǎng)關(guān)IOSa-C訪問該數(shù)據(jù)庫。在另一個實施例中,源最終用戶站還可以直接在啟動電話呼叫之前查詢該數(shù)據(jù)庫。如果目的地號碼不在第一網(wǎng)絡(luò)中,則在步驟306中,在一個實施例中,如果存在多于一個網(wǎng)關(guān)108a-c,則選擇在地理上最靠近被呼叫的號碼的位置的網(wǎng)關(guān)。還可以基于每個網(wǎng)關(guān)和被呼叫的號碼之間的關(guān)稅率確定地理接近度。例如,如果被呼叫的號碼位于英國,則可以選擇英國本地的網(wǎng)關(guān)。在其它實施例中,可以基于負(fù)荷平衡、相對可用性等選擇網(wǎng)關(guān)。在步驟308,該呼叫被轉(zhuǎn)移到找到被呼叫號碼的第二網(wǎng)絡(luò)。可以根據(jù)步驟306,通過所選擇的網(wǎng)關(guān)將該呼叫轉(zhuǎn)移到第二網(wǎng)絡(luò)。如果在步驟304,在發(fā)現(xiàn)被呼叫的電話號碼在第一網(wǎng)絡(luò)中的情況下,則在確定步驟310,確定與被呼叫的電話號碼相關(guān)的最終用戶終端是否可以接受電話呼叫。可以基于目的地最終用戶終端的存在信息進(jìn)行該確定。例如,如果該存在信息提供該最終用戶終端處于“勿打擾”模式,或者狀態(tài)為“離開”,或者狀態(tài)為“忙碌”等,則可以認(rèn)為目的地最終用戶站不可用于接受呼叫。然而,在其它實施例中,用戶可以將最終用戶終端配置為在不同的用戶定義的條件下接受或拒絕呼叫。例如,用戶可以將最終用戶終端配置為在“忙碌”狀態(tài)下接受呼叫等。其它配置可以包括識別最終用戶終端的麥克風(fēng)和揚(yáng)聲器是否可用以及功能屬性。如果在確定步驟310發(fā)現(xiàn)最終用戶終端不可用于接受入局電話呼叫,則該控制被傳遞到步驟306。然而,如果發(fā)現(xiàn)最終用戶終端可用于接受呼叫,則在可選的確定步驟312,確定是否目的地最終用戶終端的任何特定用戶配置禁止目的地最終用戶終端接受入局呼口 L如果目的地最終用戶終端禁止入局呼叫,則該控制轉(zhuǎn)到步驟306。如果目的地最終用戶站不禁止入局呼叫,則在步驟314,目的地最終用戶終端振鈴,并且如果用戶接聽該呼叫,則在源最終用戶終端和目的地最終用戶終端之間建立語音通信信道。在其它實施例中,如果用戶不接聽該入局呼叫,則該入局呼叫可被轉(zhuǎn)移到與目的地電話號碼相關(guān)的語音信箱,或者該入局呼叫也可通過第二網(wǎng)絡(luò)轉(zhuǎn)移到目的地電話號碼。目的地最終用戶終端可提供必要的用戶接口,以使用戶能夠?qū)⒃摵艚惺謩愚D(zhuǎn)移到語音信箱或目的地電話號碼??商孢x地,可以通過默認(rèn)設(shè)置或用戶設(shè)置自動進(jìn)行入局呼叫的該轉(zhuǎn)移。例如,用戶可以將目的地最終用戶終端配置為將所有未被注意的呼叫自動轉(zhuǎn)移到語音信箱。在另一個實施例中,基于SIP 的PBX(例如,Microsoft Lync , Cisco UCM , AvayaPBX 等)通過SIP集群軟件(例如,Skype Connect )耦合到P2P服務(wù)器106。PBX通過SIP簡檔注冊到該通信服務(wù)器。該SIP集群軟件可以包括在通信服務(wù)器106中,或者可以存在于連接到因特網(wǎng)102并且可通信地耦合到最終用戶終端和通信服務(wù)器106的單獨(dú)服務(wù)器上。多個桌上電話可以連接到該P(yáng)B X。當(dāng)從任一個桌上電話啟動對PSTN或移動號碼的呼叫時,進(jìn)行流程圖300中描述的處理。類似地,當(dāng)最終用戶終端112a嘗試呼叫一電話號碼時,通信服務(wù)器106或者網(wǎng)關(guān)108a-c嘗試確定目的地電話號碼是否與連接到任一個注冊的基于SIP的PBX的桌上電話相關(guān)。如果是,則將該呼叫連接到目的地桌上電話而不使用第二網(wǎng)絡(luò)(例如,PSTN或移動網(wǎng)絡(luò)110)。SIP簡檔還可以包括用戶定義的呼叫終止配置。例如,從PBX桌上電話對特定目的地的呼叫可被配置為直接使用PSTN或移動網(wǎng)絡(luò)110。電話呼叫的這種選擇性的終止可以基于對不同目的地的呼叫費(fèi)率。在另一個實施例中,第一 PSTN電話用戶可以在撥打第二 PSTN電話號碼之前撥打所選擇的普通PSTN電話號碼(例如,電話卡號碼)或者所選擇的代碼(例如,前綴“1101”或者一些預(yù)選的特殊字符或數(shù)字與字符如或‘#,的組合)。所選擇的普通PSTN電話號碼或者代碼與第二網(wǎng)絡(luò)相關(guān),其中在本實施例中,第二網(wǎng)絡(luò)可以是基于包的通信網(wǎng)絡(luò)。典型地,當(dāng)PSTN電話用戶知道第二 PSTN電話號碼在第二網(wǎng)絡(luò)中(或者與第二網(wǎng)絡(luò)相關(guān))時,該用戶將撥打與第二網(wǎng)絡(luò)相關(guān)的所選擇的普通PSTN電話號碼或者所選擇的代碼。例如,第二PSTN電話號碼可以是與Skype 用戶相關(guān)的Skype 號碼。如上所述,當(dāng)通過所選擇的撥打代碼或號碼接收到來自第一 PSTN電話號碼的呼叫時,P2P服務(wù)器106或者網(wǎng)關(guān)108a-c嘗試定位與第二 PSTN電話號碼的用戶相關(guān)的最終用戶終端,并且進(jìn)行步驟310和可選的步驟312 (圖3)。如果最終用戶終端是可用的,并且被配置為接受呼叫,則對第二 PSTN電話號碼的呼叫被連接到該最終用戶終端。此外,該方法的一個優(yōu)點(diǎn)是,即使第二 PSTN號碼可能是本地號碼,該用戶(第二 PSTN電話號碼所屬的用戶)也可能在本地呼叫區(qū)域之外(例如,該用戶可能在外國)。然而,只要與該用戶相關(guān)的最終用戶終端連接到與通信服務(wù)器106耦合的基于包的通信網(wǎng)絡(luò),就可以完成該呼叫,而不發(fā)生通常的PSTN長途或國際費(fèi)用。在另一個實施例中,當(dāng)用戶使用“電話卡”從PSTN陸線電話撥打電話號碼時(例如,撥打所選擇的普通PSTN電話號碼或者與第二網(wǎng)絡(luò)相關(guān)的代碼),該呼叫隨PSTN —起保持,同時只向第二網(wǎng)絡(luò)發(fā)送定位請求。第二網(wǎng)絡(luò)中的P2P服務(wù)器106或者網(wǎng)關(guān)IOSa-C嘗試定位所撥打的呼叫的端點(diǎn)。如果確定該呼叫端點(diǎn)是PSTN網(wǎng)絡(luò)(也就是說,在該網(wǎng)絡(luò)中沒有發(fā)現(xiàn)與所撥打的電話號碼相關(guān)的最終用戶終端處于激活狀態(tài),或者沒有發(fā)現(xiàn)該最終用戶終端準(zhǔn)備好接受電話呼叫),則允許該呼叫繼續(xù)撥打,并且該呼叫保持在PSTN或移動網(wǎng)絡(luò)內(nèi)。在一個另外的實施例中,當(dāng)呼叫者使用所選擇的普通PSTN號碼(例如,電話卡)撥打電話號碼時,網(wǎng)關(guān)108a-c截取該呼叫。網(wǎng)關(guān)IOSa-C或者通信服務(wù)器106確定與目的地電話號碼相關(guān)的用戶的標(biāo)識。然后通信服務(wù)器106或者網(wǎng)關(guān)IOSa-C確定是否可以通過最終用戶終端到達(dá)該用戶。可替選地或者如果該用戶不能通過該最終用戶站接受該呼叫,則通信服務(wù)器106或者網(wǎng)關(guān)IOSa-C還可以確定該用戶是否已經(jīng)建立了臨時呼叫轉(zhuǎn)發(fā)。例如,如果該用戶正在本地呼叫區(qū)域以外旅行,并且可以將呼叫設(shè)置為轉(zhuǎn)發(fā)到本地號碼。在此情況下,找到離目的地號碼最近(就呼叫成本來說)的網(wǎng)關(guān),并且經(jīng)由該網(wǎng)關(guān)和PSTN或者移動網(wǎng)絡(luò)110將該呼叫轉(zhuǎn)移到該呼叫轉(zhuǎn)發(fā)號碼。
盡管前文涉及本發(fā)明的實施例,但是在不偏離本發(fā)明的基本范圍的情況下,可以設(shè)計出本發(fā)明的其它和進(jìn)一步實施例。例如,本發(fā)明的各方面可以用硬件或軟件或者硬件和軟件的組合來實現(xiàn)。本發(fā)明的一個實施例可以作為與計算機(jī)系統(tǒng)一起使用的程序產(chǎn)品來實現(xiàn)。該程序產(chǎn)品的程序定義所述實施例(包括本文描述的方法)的功能,并且可以包含在各種計算機(jī)可讀存儲介質(zhì)上。示例性的計算機(jī)可讀存儲介質(zhì)包括但不限于(i)信息被永久存儲在其上的不可寫存儲介質(zhì)(例如,計算機(jī)內(nèi)的只讀存儲設(shè)備,如可由CD-ROM驅(qū)動讀取的CD-ROM盤、閃存、ROM芯片或者任何類型的固態(tài)非易失性半導(dǎo)體存儲器);以及(ii)其上存儲可改變的信息的可寫存儲介質(zhì)(例如,磁盤驅(qū)動內(nèi)的軟盤或者硬盤驅(qū)動或者任何類型的固態(tài)隨機(jī)訪問半導(dǎo)體存儲器)。當(dāng)承載用于指示本發(fā)明的功能的計算機(jī)可讀指令時,這種計算機(jī)可讀存儲介質(zhì)是本發(fā)明的實施例。
權(quán)利要求
1.一種對目的地電話號碼設(shè)置出局通信事件的方法,該方法包括 當(dāng)接收到所述出局通信事件的通知時 確定所述目的地電話號碼與第一網(wǎng)絡(luò)的用戶相關(guān),其中所述第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò); 檢索與所述目的地電話號碼相對應(yīng)的所述第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識; 檢索所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)的存在信息,其中所述存在信息是所述用戶可用性的表示,其中所述通信節(jié)點(diǎn)被配置為接收通信事件;以及 基于檢索到的存在信息,使用檢索到的用戶標(biāo)識對所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置所述出局通信事件。
2.一種通信系統(tǒng),包括 連接到第一網(wǎng)絡(luò)的多個最終用戶終端; 耦合到所述第一網(wǎng)絡(luò)和第二網(wǎng)絡(luò)以使所述第一網(wǎng)絡(luò)與所述第二網(wǎng)絡(luò)對接的網(wǎng)關(guān); 通信服務(wù)器,其中所述通信服務(wù)器和所述多個最終用戶終端中的至少一個二者中的至少一個被配置為進(jìn)行對目的地電話號碼設(shè)置出局通信事件的操作,所述操作包括 當(dāng)接收到所述出局通信事件的通知時 確定所述目的地電話號碼與第一網(wǎng)絡(luò)的用戶相關(guān),其中所述第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò); 檢索與所述目的地電話號碼相對應(yīng)的所述第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識; 檢索所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)的存在信息,其中所述存在信息是所述用戶可用性的表示,其中所述通信節(jié)點(diǎn)被配置為接收通信事件;以及 基于檢索到的存在信息對所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置所述出局通彳目事件。
3.根據(jù)權(quán)利要求1所述的方法,其中如果所述目的地電話號碼不與所述第一網(wǎng)絡(luò)中的任何用戶相關(guān),則通過基于最低通信關(guān)稅率選擇的通信網(wǎng)關(guān)在第二網(wǎng)絡(luò)中對所述目的地電話號碼設(shè)置所述出局通信事件。
4.根據(jù)權(quán)利要求1的方法或者權(quán)利要求2的通信系統(tǒng),其中在所述設(shè)置之前,確定所述通信節(jié)點(diǎn)中的配置是否禁止在所述通信節(jié)點(diǎn)處終止意圖在所述第二網(wǎng)絡(luò)中的所述目的地電話號碼處終止的通信事件。
5.根據(jù)權(quán)利要求1的方法或者權(quán)利要求2的通信系統(tǒng),其中所述存在信息包括與接受最初意圖在第二網(wǎng)絡(luò)中的所述目的地電話號碼處終止的通信事件相關(guān)的用戶配置和默認(rèn)配置中的至少一個。
6.根據(jù)權(quán)利要求1的方法或者權(quán)利要求2的通信系統(tǒng),其中所述檢索所述用戶標(biāo)識包括在與呼叫用戶相關(guān)的呼叫最終用戶站本地存儲的所述呼叫用戶的聯(lián)系人列表中搜索,其中如果本地存儲的聯(lián)系人列表不包括與所述目的地電話號碼相對應(yīng)的用戶標(biāo)識,則檢索所述用戶標(biāo)識進(jìn)一步包括針對所述用戶標(biāo)識查詢與所述呼叫最終用戶站相關(guān)的通信服務(wù)器。
7.根據(jù)權(quán)利要求1的方法或者權(quán)利要求2的通信系統(tǒng),其中所述通信事件是語音呼叫或者文本消息之一。
8.根據(jù)權(quán)利要求2的通信系統(tǒng),其中如果所述目的地電話號碼不與所述第一網(wǎng)絡(luò)中的任何用戶相關(guān),則通過基于最低通信關(guān)稅率選擇的網(wǎng)關(guān)在第二網(wǎng)絡(luò)中對所述目的地電話號碼設(shè)置所述出局通信事件。
9.一種包含程序的計算機(jī)可讀存儲介質(zhì),當(dāng)被執(zhí)行時,所述程序進(jìn)行對目的地電話號碼設(shè)置出局通信事件的操作,所述操作包括 當(dāng)接收到所述出局通信事件的通知時 確定所述目的地電話號碼與第一網(wǎng)絡(luò)的用戶相關(guān),其中所述第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò); 檢索與所述目的地電話號碼相對應(yīng)的所述第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識; 檢索所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)的存在信息,其中所述存在信息是所述用戶可用性的表示,其中所述通信節(jié)點(diǎn)被配置為接收語音通信事件;以及 基于檢索到的存在信息對所述第一網(wǎng)絡(luò)中與所述用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置所述出局通彳目事件。
10.根據(jù)權(quán)利要求9所述的計算機(jī)可讀存儲介質(zhì)被進(jìn)一步配置為進(jìn)行權(quán)利要求3至7中任一項所述的方法。
全文摘要
公開一種對目的地電話號碼設(shè)置出局通信事件的方法。因此,當(dāng)接收到該出局通信事件的通知時,確定該目的地電話號碼是否與第一網(wǎng)絡(luò)的用戶相關(guān)。第一網(wǎng)絡(luò)是基于包的通信網(wǎng)絡(luò)。然后檢索與該目的地電話號碼相對應(yīng)的第一網(wǎng)絡(luò)的用戶的用戶標(biāo)識。還檢索第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)的存在信息。該存在信息是該用戶可用性的表示。該通信節(jié)點(diǎn)被配置為接收語音通信事件?;跈z索到的存在信息對第一網(wǎng)絡(luò)中與該用戶相關(guān)的通信節(jié)點(diǎn)設(shè)置該出局通信事件。
文檔編號H04M7/00GK103067626SQ20121058233
公開日2013年4月24日 申請日期2012年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者R.馬勒高恩卡, S.佩爾特拉克 申請人:斯凱普公司