本公開內(nèi)容總體上涉及網(wǎng)絡(luò)通信領(lǐng)域,并且更具體地涉及因特網(wǎng)協(xié)議語音(voip)通信領(lǐng)域。
背景技術(shù):
因特網(wǎng)協(xié)議通信(voip)是一種使用數(shù)字信號傳輸技術(shù)實時地并且至少部分地通過因特網(wǎng)傳輸語音通信的技術(shù)。voip通過遠(yuǎn)距離交換載波使得通過因特網(wǎng)協(xié)議(ip)的音頻或視頻呼叫成為專門使用傳統(tǒng)公共交換電話網(wǎng)絡(luò)(pstn)的語音傳輸?shù)某杀居行У奶孢x。由于傳輸?shù)臄?shù)字屬性,voip提供增加的信號處理、加密和呼叫建立及操作能力。
通常,使用實時傳輸協(xié)議(rtp)、rtp控制協(xié)議(rtcp)和會話發(fā)起協(xié)議(sip)傳輸voip消息。因此,voip系統(tǒng)包括rtp服務(wù)器和sip服務(wù)器。rtp定義標(biāo)準(zhǔn)化的分組格式并且攜帶媒體流(例如音頻數(shù)據(jù)和視頻數(shù)據(jù)),而rtcp用于監(jiān)測傳輸統(tǒng)計和服務(wù)質(zhì)量(qos)并且?guī)椭鄠€流的同步。sip幫助建立和結(jié)束通過網(wǎng)絡(luò)實現(xiàn)的各個系統(tǒng)部件的連接。
在現(xiàn)有的voip系統(tǒng)中,每個用戶與獨立于電話號碼(諸如固定電話號碼或移動電話號碼)的用戶賬戶相關(guān)聯(lián)。通常,用戶id可以是由用戶選擇的任何字符串。呼叫者用戶和被呼叫者用戶二者必須同時用其voip賬戶登錄以發(fā)起voip呼叫。使用voip時的挫折的主要原因是用戶賬戶(特別是被呼叫者)通常保持登出或離線,因此呼叫者不能聯(lián)系到被呼叫者,例如當(dāng)voip應(yīng)用程序在被呼叫者的ip電話上被關(guān)閉時,被呼叫者的ip電話被關(guān)閉或者不能訪問wifi或任何其他網(wǎng)絡(luò)服務(wù)等。相比而言,用戶的固定電話或蜂窩電話通常保持待機或常開。
技術(shù)實現(xiàn)要素:
因此,會有利的是,提供一種voip系統(tǒng),該voip系統(tǒng)能夠增加一個voip用戶與另一voip用戶語音通信的機會并且從而改善對voip系統(tǒng)的用戶體驗。
本公開內(nèi)容的實施例提供一種voip系統(tǒng),該voip系統(tǒng)被配置成基于voip呼叫請求來訪問電話號碼,并且如果被呼叫者離線,則向與電話號碼相關(guān)聯(lián)的電話設(shè)備轉(zhuǎn)發(fā)呼叫請求。電話設(shè)備被voip系統(tǒng)外部的電話網(wǎng)絡(luò)(諸如固定電話、移動電話、專用電話網(wǎng)絡(luò)中的電話、或者被呼叫者的另一voip系統(tǒng)中的電話(本文中統(tǒng)稱為“普通電話”))控制。在接收到voip呼叫請求時,voip系統(tǒng)的會話發(fā)起協(xié)議(sip)服務(wù)器搜索被呼叫者賬戶已登錄至其的任何端點設(shè)備。如果確定被呼叫者賬戶離線,則sip服務(wù)器向與電話號碼相關(guān)聯(lián)的電話網(wǎng)絡(luò)自動傳送呼叫請求。以這一方式,可以有利地通過普通電話聯(lián)系被呼叫者,盡管他/她的voip賬戶離線。在一些實施例中,voip系統(tǒng)使用普通電話的電話號碼作為用戶的voip賬戶id。因此,在呼叫轉(zhuǎn)發(fā)期間,sip服務(wù)器可以自動且直接使用被呼叫者的voip賬戶id聯(lián)系被呼叫者的普通電話。向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)voip呼叫請求的過程對于呼叫者端點設(shè)備是透明的,并且因此對于呼叫者是透明的。因此,呼叫者僅需要撥打被呼叫者一次并且被提供通過voip呼叫或電話呼叫聯(lián)系被呼叫者的可能性。另外,由于根據(jù)本公開內(nèi)容的voip系統(tǒng)向使用voip通信比電話網(wǎng)絡(luò)給予優(yōu)先權(quán),其有利地減小用于語音通信的用戶的平均成本。
本公開內(nèi)容的實施例還提供使用voip系統(tǒng)處理與普通電話相關(guān)的呼叫請求的機制,尤其是當(dāng)普通電話在國內(nèi)網(wǎng)絡(luò)覆蓋范圍外部并且會產(chǎn)生漫游費用的時候。被呼叫者的普通電話被配置成將呼叫請求自動變換成voip呼叫請求,voip呼叫請求被自動轉(zhuǎn)發(fā)給與本地接入號碼相關(guān)聯(lián)的sip平臺。接入號碼被選擇以使得普通電話與sip平臺之間的通信免漫游費。如果被呼叫者的voip賬戶id被設(shè)置為與普通電 話號碼相同,則sip平臺可以基于撥打的號碼直接向被呼叫者的voip賬戶發(fā)送呼叫請求。這一機制可以有利地節(jié)約在被呼叫者相對于普通電話的國內(nèi)網(wǎng)絡(luò)處于外國時會被強加的被呼叫者漫游費用。從普通電話呼叫切換到voip呼叫對于呼叫者的設(shè)備并且因此對于呼叫者是透明的。
如果用戶的voip賬戶和普通電話都被配置用于向彼此轉(zhuǎn)發(fā)呼叫,則在被呼叫者的voip賬戶離線的情況下可以出現(xiàn)呼叫死循環(huán)。為了解決這一問題,根據(jù)本公開內(nèi)容的實施例的sip服務(wù)器確定呼叫請求從外部電話網(wǎng)絡(luò)(例如共用交換電話網(wǎng)絡(luò)(pstn))傳輸還是在voip系統(tǒng)內(nèi)(例如通過因特網(wǎng))傳輸。如果呼叫來自pstn并且被呼叫者的voip賬戶離線,則sip服務(wù)器將呼叫標(biāo)記為源自voip系統(tǒng)并且自動結(jié)束呼叫會話而將其再次轉(zhuǎn)發(fā)給pstn系統(tǒng)。
在本公開內(nèi)容的一個實施例中,一種促進實時呼叫會話的計算機實現(xiàn)的方法,包括:(1)在因特網(wǎng)協(xié)議語音(voip)系統(tǒng)中的會話發(fā)起協(xié)議(sip)平臺處,接收源自與由所述voip系統(tǒng)外部的電話網(wǎng)絡(luò)控制的電話號碼相關(guān)的初始呼叫請求的轉(zhuǎn)發(fā)的呼叫請求,其中所述轉(zhuǎn)發(fā)的呼叫請求與所述sip平臺的接入號碼相關(guān),并且其中進一步地,所述初始呼叫請求提交自呼叫者設(shè)備;(2)基于所述轉(zhuǎn)發(fā)的呼叫請求來標(biāo)識與所述電話號碼相關(guān)聯(lián)的voip用戶賬戶;(3)檢測所述voip用戶賬戶已登錄的所述voip系統(tǒng)中的端點設(shè)備;以及(4)在所述呼叫者設(shè)備與所述端點設(shè)備之間發(fā)起通過所述voip系統(tǒng)的呼叫會話。
以上是概述并且因此根據(jù)需要包含對細(xì)節(jié)的簡化、概括和省略;因此,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,該概述僅是說明性的而非意在以任何方式進行限制。如僅由權(quán)利要求限定的本發(fā)明的其他方面、發(fā)明特征和優(yōu)點在下面給出的非限制性的詳細(xì)描述中將變得很清楚。
附圖說明
結(jié)合附圖閱讀以下詳細(xì)描述將更好地理解本發(fā)明的實施例,在附 圖中,相似的附圖標(biāo)記表示相似的元素,并且在附圖中:
圖1是描繪根據(jù)本公開內(nèi)容的一種實施例的管理包括到外部電話網(wǎng)絡(luò)中的電話的呼叫轉(zhuǎn)發(fā)的voip呼叫的示例性計算機實現(xiàn)的過程的流程圖;
圖2圖示根據(jù)本公開內(nèi)容的一種實施例的在處理voip呼叫請求和呼叫轉(zhuǎn)發(fā)期間的示例性通信流程;
圖3是描繪根據(jù)本公開內(nèi)容的一種實施例的向voip系統(tǒng)轉(zhuǎn)發(fā)漫游呼叫以用于處理的示例性計算機實現(xiàn)的方法的流程圖;
圖4圖示根據(jù)本公開內(nèi)容的一種實施例的被配置成使用voip系統(tǒng)促進初始與普通電話相關(guān)的國際呼叫的示例性通信網(wǎng)絡(luò);
圖5是描繪根據(jù)本公開內(nèi)容的一種實施例的在voip系統(tǒng)與pstn之間的呼叫轉(zhuǎn)發(fā)而沒有引起呼叫死循環(huán)的示例性過程的流程圖;
圖6圖示根據(jù)本公開內(nèi)容的一種實施例的在被呼叫者的voip賬戶和普通電話都被配置用于呼叫轉(zhuǎn)發(fā)時、在處理voip呼叫請求期間的示例性通信流程;
圖7是圖示根據(jù)本公開內(nèi)容的一種實施例的被配置成向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫請求的voip系統(tǒng)中的示例性sip服務(wù)器設(shè)備的配置的框圖;以及
圖8圖示根據(jù)本公開內(nèi)容的一種實施例的包括能夠向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫的voip系統(tǒng)的網(wǎng)絡(luò)系統(tǒng)。
具體實施方式
現(xiàn)在將詳細(xì)參考本發(fā)明的優(yōu)選實施例,其示例在附圖中說明。雖然結(jié)合優(yōu)選實施例描述本發(fā)明,然而應(yīng)當(dāng)理解,其并非意在將本發(fā)明限制為這些實施例。相反,本發(fā)明意在覆蓋能夠被包括在由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的替選、修改和等同方案。另外,在對本發(fā)明的實施例的以下詳細(xì)描述中,給出大量具體細(xì)節(jié)以便提高對本發(fā)明的透徹理解。然而,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,可以在沒有這些具體細(xì)節(jié)的情況下實踐本發(fā)明。在其他情況下,沒有詳細(xì)描 述眾所周知的方法、過程、部件和電路以免模糊本發(fā)明的各實施例的各方面。雖然一種方法出于清楚的考慮可以被描繪為一系列編號的步驟,然而編號不一定指示各步驟的順序。應(yīng)當(dāng)理解,其中一些步驟可以被跳過、被并行執(zhí)行或者在不要求保持嚴(yán)格順序的情況下被執(zhí)行。示出本發(fā)明實施例的附圖是半圖示性的并且沒有按比例,特別地,其中一些尺寸是為了清楚的呈現(xiàn)并且在附圖中被放大示出。類似地,雖然附圖中的視圖為了描述的方便通常示出相似的方位,然而附圖中的這一描繪對于大多數(shù)部分是任意的。通常,可以在任何方位上操作本發(fā)明。
符號和術(shù)語
然而,應(yīng)當(dāng)銘記,所有這些和類似的術(shù)語要與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅是適用于這些量的方便的標(biāo)記。除非另外具體指出,否則根據(jù)下面的討論很清楚的是,應(yīng)當(dāng)理解,貫穿本發(fā)明,使用諸如“處理”或“訪問”或“執(zhí)行”或“存儲”或“渲染”等術(shù)語的討論是指將被表示為計算機系統(tǒng)的寄存器和存儲器以及其他計算機可讀介質(zhì)內(nèi)的物理(電子)量的數(shù)據(jù)操縱和變換成類似地表示為計算機系統(tǒng)存儲器或寄存器或其他這樣的信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其他數(shù)據(jù)的計算機系統(tǒng)或類似的電子計算設(shè)備的動作和過程。當(dāng)部件出現(xiàn)在若干實施例中時,相同附圖標(biāo)記的使用表示該部件是與初始實施例中所說明的相同的部件。
向voip系統(tǒng)轉(zhuǎn)發(fā)漫游呼叫
總之,本公開內(nèi)容的實施例采用以下計算機實現(xiàn)的過程:在被呼叫者的voip賬戶離線的情況下,使用被呼叫者的電話號碼向另一電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫者的對于ip語音(voip)呼叫的請求。在voip系統(tǒng)確定被呼叫者voip賬戶當(dāng)前離線后轉(zhuǎn)發(fā)呼叫請求。以這一方式,仍然能夠通過電話網(wǎng)絡(luò)建立語音通信,盡管被呼叫者對于voip呼叫不可用。被呼叫者的電話號碼可以明確地包含在voip用戶id中,或者 存儲在voip數(shù)據(jù)庫中并且與用戶id相關(guān)聯(lián)。轉(zhuǎn)發(fā)過程對于呼叫者是透明的。
本公開內(nèi)容的實施例還提供從普通電話網(wǎng)絡(luò)到voip系統(tǒng)的呼叫轉(zhuǎn)發(fā)過程。與普通電話相關(guān)的國際呼叫請求被切換到本地sip平臺以建立voip呼叫會話。從而被呼叫者能夠節(jié)省普通電話網(wǎng)絡(luò)可能強加的昂貴的漫游費用。如果用戶的voip賬戶和普通電話都被配置用于到彼此的呼叫轉(zhuǎn)發(fā)并且一旦voip賬戶被確定為離線,則sip服務(wù)器將來自pstn的來電標(biāo)記為源自voip系統(tǒng)并且自動結(jié)束呼叫會話以防止呼叫死循環(huán)。
圖1是描繪根據(jù)本公開內(nèi)容的一種實施例的管理voip呼叫的示例性計算機實現(xiàn)的過程100的流程圖。過程100可以在下面更詳細(xì)地描述的voip系統(tǒng)的會話發(fā)起協(xié)議(sip)服務(wù)上被實現(xiàn)。在101,通過呼叫者與voip系統(tǒng)中的端點設(shè)備交互來向sip服務(wù)器提交呼叫請求。比如,呼叫者通過安裝在智能電話中的voip應(yīng)用程序的圖形用戶界面(gui)輸入被呼叫者的voip賬戶id(或者本文中的“voipid”)。在102,在sip服務(wù)器處處理呼叫請求?;诤艚姓埱?,訪問包括被呼叫者的電話號碼的被呼叫者的voip賬戶信息。根據(jù)本公開內(nèi)容,voip用戶賬戶與屬于voip系統(tǒng)外部的電話網(wǎng)絡(luò)(諸如無線電話網(wǎng)絡(luò)或公用交換電話網(wǎng)絡(luò)(pstn))的電話號碼相關(guān)聯(lián)。
在103,sip服務(wù)器搜索被呼叫者的賬戶在其上已登錄或“在線”的voip端點設(shè)備。如果sip服務(wù)器檢測到這樣的端點設(shè)備,則在104,sip服務(wù)器在呼叫者和被呼叫者的端點設(shè)備之間發(fā)起voip通信會話。
呼叫者和被呼叫者的端點設(shè)備是voip訂閱用戶設(shè)備??梢宰鳛槎它c設(shè)備操作的設(shè)備包括個人計算機、臺式計算機、智能電話、個人數(shù)字助理(pda)、手持式計算機、可編程消費電子產(chǎn)品、配置有模擬電話適配器(ata)的標(biāo)準(zhǔn)電話、ip電話、或者其他移動設(shè)備等。應(yīng)當(dāng)理解,訂閱用戶設(shè)備可以安裝有voip應(yīng)用程序(例如在智能電話中)或者可以耦合到被配置成將電話呼叫轉(zhuǎn)換成voip呼叫的適配器(例如voip路由器或voip網(wǎng)關(guān))。
另一方面,如果sip服務(wù)器在103確定被呼叫者的voip賬戶當(dāng)前登出或“離線”,則sip服務(wù)器向外部電話網(wǎng)絡(luò)自動轉(zhuǎn)發(fā)呼叫請求。更具體地,sip服務(wù)器在105向外部電話網(wǎng)絡(luò)發(fā)送被呼叫者的電話號碼并且請求呼叫者的電話上的呼叫會話。作為響應(yīng),電話網(wǎng)絡(luò)處理轉(zhuǎn)發(fā)的請求并且在呼叫者的端點設(shè)備與被呼叫者的普通電話之間建立撥號連接。
在一些實施例中,呼叫轉(zhuǎn)發(fā)選項由被呼叫者事先選擇,例如在voip賬戶注冊中或者在通過voip應(yīng)用的gui的設(shè)置配置過程中。在一些實施例中,電話號碼與被呼叫者的voipid相同或者被明確地包含在被呼叫者的voipid中。在這種情況下,呼叫者可以在提交呼叫請求時直接輸入被呼叫者的電話號碼并且這一號碼由sip服務(wù)器直接使用以聯(lián)系外部電話網(wǎng)絡(luò)。在這一配置中,呼叫者僅需要使一個聯(lián)系號碼與被呼叫者相關(guān)聯(lián),而非單獨的voipid和電話號碼。在一些其他實施例中,被呼叫者的電話號碼存儲在voip系統(tǒng)的數(shù)據(jù)庫中作為用戶簡檔的一部分。sip服務(wù)器在呼叫請求中一旦接收到被呼叫者的用戶id就從數(shù)據(jù)庫訪問電話號碼。
本公開內(nèi)容不限于能夠從voip系統(tǒng)接收轉(zhuǎn)發(fā)的呼叫請求的任何具體類型的電話網(wǎng)絡(luò)。與這樣的電話網(wǎng)絡(luò)相關(guān)聯(lián)的電話在本文中可以稱為“普通電話(regularphone)”。外部電話網(wǎng)絡(luò)可以是pstn、專用交換機(pbx)網(wǎng)絡(luò)、移動電話網(wǎng)絡(luò)或者另一voip系統(tǒng)等。這樣的移動電話網(wǎng)絡(luò)可以是全球移動通信系統(tǒng)(gsmc)網(wǎng)絡(luò)、碼分多址(cdma)網(wǎng)絡(luò)等。
因此,根據(jù)本公開內(nèi)容,響應(yīng)于呼叫者提交呼叫請求,voip系統(tǒng)首先搜索被呼叫者的voip賬戶在其中已登錄的端點設(shè)備并且從而確定是否能夠建立voip呼叫會話。如果被呼叫者的賬戶當(dāng)前離線,則voip系統(tǒng)向電話網(wǎng)絡(luò)發(fā)送被呼叫者電話號碼以使得能夠建立呼叫者設(shè)備與被呼叫者的電話之間的通信會話。因此,voip系統(tǒng)有利地確保voip呼叫會話比通過電話網(wǎng)絡(luò)的呼叫會話優(yōu)先以減小用戶進行呼叫的平均成本。另外,根據(jù)本公開內(nèi)容,當(dāng)被呼叫者的voip賬戶離 線時,voip系統(tǒng)自動切換到替選通信系統(tǒng)。這有利地增加呼叫者接通被呼叫者的可能性。另外,由于轉(zhuǎn)發(fā)過程對于呼叫者的端點設(shè)備以及呼叫者是透明的,所以呼叫者未察覺無法連接voip呼叫而僅察覺與呼叫者的成功連接。因此,voip系統(tǒng)提供更好的用戶體驗。
圖2圖示根據(jù)本公開內(nèi)容的一種實施例的在處理voip呼叫請求期間的示例性通信流程。如以簡化形式所圖示的,voip系統(tǒng)200包括sip服務(wù)器210以及呼叫者和被呼叫者的相應(yīng)的端點設(shè)備220和230。
響應(yīng)于呼叫者的與端點設(shè)備220上的用戶接口的交互,從端點設(shè)備220生成呼叫請求并且該呼叫請求被發(fā)送到voip系統(tǒng)的sip服務(wù)器210(如箭頭“1”所標(biāo)記的)。例如,呼叫請求包括呼叫者和被呼叫者的用戶id,sip服務(wù)器能夠從其獲取向外部電話網(wǎng)絡(luò)注冊的被呼叫者的電話號碼。
在接收到呼叫請求時,sip服務(wù)器210搜索呼叫者的賬戶已登錄的端點設(shè)備(如箭頭“2”所標(biāo)記的)。假定被呼叫者的端點設(shè)備230在線并且被呼叫者接受呼叫,則設(shè)備230向sip服務(wù)器210反饋指示其可用性的信號(如箭頭“3”所標(biāo)記的)。作為響應(yīng),sip服務(wù)器210告知呼叫者的端點設(shè)備220被呼叫者已經(jīng)接受呼叫(如箭頭“4”所標(biāo)記的)。sip服務(wù)器然后在設(shè)備220與230之間建立呼叫連接和語音數(shù)據(jù)傳輸。
另一方面,在沒有檢測到被呼叫者的voip賬戶已登錄的端點設(shè)備的場景中,sip服務(wù)器通過外部電話網(wǎng)絡(luò)呼叫被呼叫者的電話號碼,該電話號碼與被呼叫者的普通電話240相關(guān)(如箭頭“5”所標(biāo)記的)。例如,普通電話240是由pstn系統(tǒng)控制的固定電話或者由gsm系統(tǒng)控制的蜂窩電話。如果被呼叫者在普通電話240上應(yīng)答呼叫請求,則其向sip服務(wù)器210發(fā)送反饋信號(如箭頭“6”所標(biāo)記的)。因此,在呼叫者的voip端點設(shè)備220與被呼叫者的普通電話240之間建立呼叫會話。
通常,當(dāng)用戶在國內(nèi)電話網(wǎng)絡(luò)的地理覆蓋區(qū)域外部旅行時,用戶 必須支付非常昂貴的漫游費用以使用移動電話進行呼叫(尤其是接收呼叫),諸如國際漫游費用。根據(jù)本公開內(nèi)容的另一方面,移動電話設(shè)備可以被配置成引起任何網(wǎng)絡(luò)外呼叫請求(例如國際呼叫)被轉(zhuǎn)發(fā)給對應(yīng)于sip平臺的接入號碼的本地號碼。作為響應(yīng),sip平臺作為voip呼叫請求來處理呼叫請求,從而將普通電話呼叫變換成voip呼叫而沒有產(chǎn)生漫游費用。圖3是描繪根據(jù)本公開內(nèi)容的一種實施例的向voip系統(tǒng)轉(zhuǎn)發(fā)國際漫游呼叫以用于處理的示例性計算機實現(xiàn)的方法300的流程圖。
在301,通過將其電話號碼與本地sip平臺接入號碼鏈接來將用戶的(本示例中為“被呼叫者”)電話(例如移動電話)配置用于呼叫轉(zhuǎn)發(fā)??梢皂憫?yīng)于用戶輸入或者在檢測到電話已經(jīng)行進到國內(nèi)網(wǎng)絡(luò)外部時自動啟用呼叫轉(zhuǎn)發(fā)功能。比如,當(dāng)在海外旅行時,用戶通過安裝在電話中的電話程序選擇呼叫轉(zhuǎn)發(fā)功能。本地sip平臺接入號碼可以被自動選擇或者是用戶特定的,使得電話與sip平臺之間的通信免漫游費。
一旦被配置,則向與本地sip平臺接入號碼相關(guān)聯(lián)的sip服務(wù)器自動轉(zhuǎn)發(fā)(例如通過電話國內(nèi)網(wǎng)絡(luò))與電話號碼相關(guān)的或者從電話撥打的任何呼叫請求。這一轉(zhuǎn)發(fā)過程對于呼叫者的設(shè)備和呼叫者可以是透明的。因此,在302,響應(yīng)于呼叫者撥打被呼叫者的電話號碼,在電話網(wǎng)絡(luò)處并且在電話處接收與電話號碼相關(guān)的呼叫請求。呼叫請求可以由呼叫者從任何類型的電話(例如呼叫者的voip電話或者普通電話)來提交。在303,將初始呼叫請求自動變換成用于呼叫被呼叫者的voip賬戶的voip呼叫請求。在304,向與本地sip平臺接入號碼相關(guān)聯(lián)的本地sip服務(wù)器發(fā)送voip呼叫請求。被呼叫者的電話與voip平臺之間通過其國內(nèi)網(wǎng)絡(luò)的通信是本地的,并且因此免漫游費。因此,sip服務(wù)器搜索呼叫者的賬戶已登錄的端點設(shè)備。
如果在305處sip服務(wù)器檢測到被呼叫者的賬戶在線,則sip服務(wù)器在306處在呼叫者與被呼叫者的端點設(shè)備之間發(fā)起voip通信會話。被呼叫者的端點設(shè)備可以是與和電話號碼相關(guān)聯(lián)的被呼叫者的普 通電話相同的設(shè)備,或者是單獨的計算設(shè)備。因此,被呼叫者可以有利地進行國際呼叫而不產(chǎn)生任何漫游費用。如果被呼叫者在305處被確定為離線,則sip服務(wù)器可以在307發(fā)送指示呼叫者不可用的消息并且結(jié)束呼叫。替選地,如果被呼叫者如參考圖1-圖2所描述地那樣配置voip賬戶中的呼叫轉(zhuǎn)發(fā)特征,則可以將voip呼叫恢復(fù)到電話上的常規(guī)呼叫,這強加漫游費用。針對與被呼叫者的普通電話號碼相關(guān)的每個呼叫請求重復(fù)302-307中的以上過程。
圖4圖示根據(jù)本公開內(nèi)容的一種實施例的被配置成使用voip系統(tǒng)促進初始與普通電話號碼相關(guān)的國際呼叫的示例性通信系統(tǒng)和網(wǎng)絡(luò)400。該系統(tǒng)包括呼叫者的端點設(shè)備401、被呼叫者的電話402、voip平臺403(例如sip服務(wù)器)以及被呼叫者的voip賬戶已登錄的voip端點設(shè)備405。voip平臺403和端點設(shè)備405耦合到因特網(wǎng)404。例如,被呼叫者的電話402是具有向pstn注冊并且安裝有voip客戶端應(yīng)用程序的電話號碼的移動電話。
在本實施例中,被呼叫者的電話402被配置用于到voip平臺403的呼叫轉(zhuǎn)發(fā)。更具體地,電話402的電話號碼與voip平臺403的平臺接入號碼鏈接。比如,被呼叫者在電話402的國內(nèi)網(wǎng)絡(luò)的地理覆蓋區(qū)域外部,例如在usa外部旅行。假定國內(nèi)網(wǎng)絡(luò)可以在被呼叫者在usa外部時對于在電話402上進行的任何呼叫強加漫游費用。在呼叫轉(zhuǎn)發(fā)配置期間,選擇本地平臺接入號碼以確保電話402與voip平臺403之間的通信免漫游費。被呼叫者的voipid與電話402的電話號碼相同。
當(dāng)在被呼叫者的電話402處接收到從呼叫者的設(shè)備401提交的呼叫請求(如箭頭“1”所示)時,基于本地voip平臺號碼向voip平臺403自動轉(zhuǎn)發(fā)呼叫請求(如箭頭“2”所示)。因此,將與電話402的電話號碼相關(guān)的初始呼叫請求變換成包括被呼叫者的電話號碼的voip請求??梢酝ㄟ^呼叫者的voip賬戶提交初始呼叫請求。
基于電話號碼,voip平臺直接獲取被呼叫者的voipid,因為其在一些實施例中與電話號碼相同。voip平臺搜索被呼叫者的voipid 已登錄的端點設(shè)備。例如,如果被呼叫者的賬戶在端點設(shè)備處已登錄,則可以在呼叫者設(shè)備401與被呼叫者的設(shè)備405之間建立voip呼叫會話。
在本公開內(nèi)容的一些實施例中,用戶的voip賬戶和普通電話都可以被配置用于到彼此的呼叫轉(zhuǎn)發(fā),例如如關(guān)于圖1和圖3所描述的。該配置可以提供更好的用戶體驗,并且通過有效地增加接通被呼叫者的概率以及減小用戶的漫游費用來減小用戶的成本。然而,本配置在voip賬戶被確定為離線的場景中可能是有問題的,其中從sip服務(wù)器向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫請求。因此,提出向sip服務(wù)器自動轉(zhuǎn)發(fā)回呼叫請求的電話網(wǎng)絡(luò),其使sip服務(wù)器向電話網(wǎng)絡(luò)再次轉(zhuǎn)發(fā)回呼叫請求等,以引起所謂的呼叫死循環(huán)。
圖5是描繪根據(jù)本公開內(nèi)容的一種實施例的voip系統(tǒng)與pstn之間的雙向呼叫轉(zhuǎn)發(fā)而沒有引起死循環(huán)的示例性過程500的流程圖。在501,將被呼叫者的voip賬戶配置成實現(xiàn)從voip賬戶到耦合到pstn的被呼叫者的普通電話的呼叫轉(zhuǎn)發(fā)功能,如參考圖1-圖2更詳細(xì)地描述的。voipid可以與普通電話的電話號碼相同。在502,將被呼叫者的普通電話配置成例如通過將電話號碼鏈接到sip平臺接入號碼來實現(xiàn)從普通電話到voip賬戶的呼叫轉(zhuǎn)發(fā)的功能,如參考圖3-圖4更詳細(xì)地描述的。在503,接收來自呼叫者的voip端點設(shè)備的voip呼叫請求。如果被呼叫者的voip賬戶在線,則在505建立voip呼叫會話。
如果確定被呼叫者的voip賬戶離線,則在506,基于在501執(zhí)行的配置通過pstn向被呼叫者的普通電話轉(zhuǎn)發(fā)呼叫請求。因為普通電話也被配置用于呼叫轉(zhuǎn)發(fā),所以pstn向voip系統(tǒng)自動轉(zhuǎn)發(fā)回呼叫請求。因此,在507,與所規(guī)定的sip平臺接入號碼相關(guān)聯(lián)的sip平臺從pstn接收呼叫請求。如虛線箭頭線所圖示的,過程504、506和507可能不期望地重復(fù)并且變?yōu)檠h(huán)或者呼叫死循環(huán)。
為了解決呼叫死循環(huán)問題,sip平臺區(qū)分并且標(biāo)記呼叫請求的狀態(tài)是來自外部電話網(wǎng)絡(luò)(例如pstn)還是來自因特網(wǎng)。如果sip平 臺確定呼叫請求發(fā)自pstn,則sip平臺在508通過將狀態(tài)標(biāo)識符與電話號碼或呼叫日志中的voip賬戶號碼附接來將呼叫請求的狀態(tài)標(biāo)記為源自voip請求。因此,sip平臺在509結(jié)束呼叫并且告知呼叫者被呼叫者不可用。如果sip平臺確定呼叫請求發(fā)自因特網(wǎng),則sip平臺繼續(xù)進行以處理呼叫。應(yīng)當(dāng)理解,本公開內(nèi)容不受確定呼叫請求從pstn路由還是從voip系統(tǒng)(例如因特網(wǎng))路由的機制和過程的限制。
在一些其他實施例中,當(dāng)在503接收到呼叫請求時,sip平臺確定呼叫從外部電話網(wǎng)絡(luò)(例如pstn)路由還是從因特網(wǎng)路由。如果其來自pstn,則sip平臺使用電話號碼或者voip賬戶號碼標(biāo)記這樣的狀態(tài),比如使?fàn)顟B(tài)標(biāo)識符與呼叫日志中的電話號碼相關(guān)聯(lián)??梢跃S持標(biāo)記直到呼叫會話結(jié)束。sip平臺然后確定被呼叫者的voip賬戶是否在線。如果在線,則如關(guān)于塊504和505所描述地那樣發(fā)起呼叫會話。然而,如果離線,則sip平臺基于狀態(tài)標(biāo)識符結(jié)束呼叫會話,而非向pstn轉(zhuǎn)發(fā)呼叫請求,如關(guān)于塊504和509所描述的。
圖6圖示根據(jù)本公開內(nèi)容的一種實施例的在被呼叫者的voip賬戶和普通電話都被配置用戶呼叫轉(zhuǎn)發(fā)時在處理voip呼叫請求期間的示例性通信流程。如以簡化形式所圖示的,voip系統(tǒng)600包括sip服務(wù)器610(或平臺)以及呼叫者和被呼叫者的相應(yīng)的端點設(shè)備620和630。
從voip端點設(shè)備620,呼叫者首先向sip服務(wù)器610提交呼叫被呼叫者的呼叫請求(如箭頭“1”所示)。作為響應(yīng),sip服務(wù)器610嘗試檢測被呼叫者的賬戶已登錄的端點設(shè)備。在本示例中,sip服務(wù)器610確定被呼叫者的voip賬戶當(dāng)前離線(如箭頭“2”所示)。
基于用于voip賬戶的呼叫轉(zhuǎn)發(fā)配置,sip服務(wù)器610聯(lián)系被呼叫者的普通電話640,以試圖在呼叫者的設(shè)備620與被呼叫者的普通電話640之間建立呼叫會話(如箭頭“3”所示)。轉(zhuǎn)而,基于用于普通電話的呼叫轉(zhuǎn)發(fā)配置,普通電話640向sip服務(wù)器610轉(zhuǎn)發(fā)回呼叫,以試圖將呼叫變換成voip會話。
根據(jù)本公開內(nèi)容,sip服務(wù)器用狀態(tài)標(biāo)識符標(biāo)記與sip接入號碼相關(guān)并且來自pstn的所有呼叫。例如,使前綴“*”或任何其他合適的注釋與呼叫日志中的普通電話號碼(如箭頭“5”所示)相關(guān)聯(lián)。因此,如果sip服務(wù)器檢測到被呼叫者的voip賬戶離線(如箭頭“6”所示),并且電話號碼與狀態(tài)標(biāo)識符相關(guān)聯(lián),則sip服務(wù)器丟棄呼叫而非向普通電話640轉(zhuǎn)發(fā)呼叫(如箭頭“7”所示)。
圖7是圖示根據(jù)本公開內(nèi)容的一種實施例的被配置成向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫請求的voip系統(tǒng)中的示例性sip服務(wù)器設(shè)備700的配置的框圖。sip服務(wù)器設(shè)備700包括主處理器701、系統(tǒng)存儲器702、圖形處理單元(gpu)703、i/o接口704和網(wǎng)絡(luò)電路705、操作系統(tǒng)706以及應(yīng)用軟件710。應(yīng)用軟件710包括存儲在存儲器702中的sip服務(wù)器程序720。當(dāng)由主處理器701執(zhí)行時,sip服務(wù)器程序720可以在被呼叫者在線的情況下響應(yīng)于用戶請求來發(fā)起voip呼叫會話。而如果被呼叫者離線,則sip服務(wù)器程序720可以向與被呼叫者相關(guān)聯(lián)的被呼叫者的普通電話自動轉(zhuǎn)發(fā)呼叫請求,其中被呼叫者的普通電話被voip系統(tǒng)外部的電話網(wǎng)絡(luò)控制。
更具體地,sip服務(wù)器程序720包括網(wǎng)絡(luò)拓?fù)?路由數(shù)據(jù)庫721、rtp選擇模塊722、會話拆除模塊723、會話建立模塊724和端點設(shè)備檢測模塊725。網(wǎng)絡(luò)拓?fù)?路由數(shù)據(jù)庫721存儲與用于提供voip服務(wù)的網(wǎng)絡(luò)的各種部件的布置和狀態(tài)以及物理和邏輯結(jié)構(gòu)相關(guān)的信息。根據(jù)多個用戶端點設(shè)備的地址并且基于數(shù)據(jù)庫721中所包含的信息,rtp選擇模塊722標(biāo)識分別用于端點設(shè)備的合適的rtp服務(wù)器。選擇可以基于一組qos量度以實現(xiàn)每個特定的端點設(shè)備與其分配的rtp服務(wù)器之間的增強的傳輸性能。一組量度可以與延遲、可用性、抖動和帶寬等有關(guān)。會話建立模塊724用于信令所選擇的rtp服務(wù)器以建立端口鏡像并且發(fā)起voip呼叫會話。會話拆除模塊723用于信令rtp服務(wù)器以一旦電話呼叫結(jié)束就結(jié)束端口鏡像關(guān)系。端點設(shè)備檢測模塊725基于呼叫請求來標(biāo)識參與呼叫的在線端點設(shè)備。
sip服務(wù)器700還包括用戶賬戶數(shù)據(jù)庫726和外部電話網(wǎng)絡(luò)通信 模塊727。除了在傳統(tǒng)的voip系統(tǒng)中使用的用戶信息,用戶賬戶數(shù)據(jù)庫726還可以在用戶簡檔下存儲用戶的電話號碼。如果被呼叫者已經(jīng)使能呼叫轉(zhuǎn)發(fā)功能并且當(dāng)端點設(shè)備檢測模塊725確定被呼叫者離線時,外部電話網(wǎng)絡(luò)通信模塊727使用電話號碼向被電話網(wǎng)絡(luò)控制的被呼叫者的普通電話發(fā)送呼叫請求。
sip服務(wù)器700也可以被配置成標(biāo)識從外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)的呼叫請求是否源自本voip系統(tǒng)并且因此記錄呼叫請求的這樣的狀態(tài)。如果呼叫請求從外部電話網(wǎng)絡(luò)路由,則sip服務(wù)器700將呼叫請求視為應(yīng)當(dāng)向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)回的所轉(zhuǎn)發(fā)的呼叫請求。sip服務(wù)器700可以生成狀態(tài)標(biāo)識符以標(biāo)記呼叫請求的這樣的狀態(tài)。因此,如果sip服務(wù)器檢測到被呼叫者的voip賬戶離線,則其基于標(biāo)記丟棄呼叫以避免呼叫死循環(huán)。
sip服務(wù)器程序720可以執(zhí)行如關(guān)于圖1-圖6所討論的其他各種功能和過程。應(yīng)當(dāng)理解,sip服務(wù)器700可以包括本領(lǐng)域眾所周知的大量其他模塊和功能。用于實現(xiàn)這些編程的模塊的技術(shù)是本領(lǐng)域眾所周知的。另外,根據(jù)本公開內(nèi)容的voip系統(tǒng)可以包括可以分別被配置為sip寄存器服務(wù)器、sip代理服務(wù)器或sip重定向服務(wù)器的一個或多個sip服務(wù)器設(shè)備。根據(jù)本公開內(nèi)容的呼叫轉(zhuǎn)發(fā)功能可以在這些sip服務(wù)器或任何其他合適的服務(wù)器中的任何一個或多個服務(wù)器中被實現(xiàn)。如本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解的,sip服務(wù)器程序720可以用本領(lǐng)域技術(shù)人員已知的任何一個或多個合適的編程語言來實現(xiàn),諸如c、c++、java、python、perl、c#、sql等。
圖8圖示根據(jù)本公開內(nèi)容的一種實施例的包括能夠向外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)呼叫的voip系統(tǒng)810的網(wǎng)絡(luò)系統(tǒng)800。voip系統(tǒng)800包括sip服務(wù)器811、rtp服務(wù)器812和813以及端點設(shè)備814和815,這些全部通過通信網(wǎng)絡(luò)(例如因特網(wǎng))彼此耦合。應(yīng)當(dāng)理解,根據(jù)本公開內(nèi)容的voip系統(tǒng)還包括本領(lǐng)域眾所周知的各種其他部件。例如,應(yīng)當(dāng)理解,voip端點設(shè)備(例如814或815)可以經(jīng)由一個或多個中間設(shè)備(諸如voip網(wǎng)關(guān)、支持voip的路由器、網(wǎng)絡(luò)交換機、集線器、 專用自動交換機(pabx)、防火墻、和/或網(wǎng)絡(luò)地址翻譯設(shè)備等)耦合到因特網(wǎng)和rtp服務(wù)器。另外,voip數(shù)據(jù)傳輸可以采用通過傳輸控制協(xié)議(tcp)的rtp和sip。
根據(jù)本公開內(nèi)容的實施例,voip系統(tǒng)810的用戶向voip系統(tǒng)注冊外部電話網(wǎng)絡(luò)的電話號碼。外部電話網(wǎng)絡(luò)可以是pstn820、gsm系統(tǒng)830或pbx840等。因此,電話號碼可以與固定電話821或822、移動電話831或832、或者分機電話841或842等相關(guān)聯(lián)。響應(yīng)于呼叫請求,如果sip服務(wù)器811不能定位其中被呼叫者的voip賬戶已登錄的端點設(shè)備,則sip服務(wù)器811轉(zhuǎn)變?yōu)橥ㄟ^外部網(wǎng)絡(luò)(例如820、830或840)呼叫電話號碼。仍然根據(jù)本公開內(nèi)容的實施例,voip系統(tǒng)810還可以接管和處理從外部電話網(wǎng)絡(luò)轉(zhuǎn)發(fā)的電話呼叫,如參考圖3-圖6更詳細(xì)地描述的。
本公開內(nèi)容不受用于傳輸voip數(shù)據(jù)的網(wǎng)絡(luò)的類型或規(guī)模的限制。voip系統(tǒng)可以部署在公共網(wǎng)絡(luò)(或因特網(wǎng))或被設(shè)計用于提供voip服務(wù)的專用網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、軟件定義的網(wǎng)絡(luò)(sdn)、虛擬網(wǎng)絡(luò)、物理網(wǎng)絡(luò)或其組合上。因此,端點設(shè)備可以與相應(yīng)的公共ip地址或?qū)S镁W(wǎng)絡(luò)地址等相關(guān)聯(lián)。
rtp服務(wù)器812和813能夠以鏡像方式向單個rtp服務(wù)器路由voip數(shù)據(jù)。在rtp服務(wù)器(例如812)被選擇以參與voip呼叫會話時,其可以執(zhí)行路由優(yōu)化過程以確定用于與所選擇的另一rtp服務(wù)器(例如813)交換voip數(shù)據(jù)的網(wǎng)絡(luò)路由。
雖然本文已經(jīng)公開了某些優(yōu)選實施例和方法,然而本領(lǐng)域技術(shù)人員根據(jù)以上公開內(nèi)容應(yīng)當(dāng)清楚,可以在不偏離本發(fā)明的精神和范圍的情況下對這樣的實施例和方法進行改變和修改。意在本發(fā)明應(yīng)當(dāng)僅限于所附權(quán)利要求所要求的范圍以及適用法律的條款和原則。