本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種呼叫請(qǐng)求發(fā)送方法及裝置。
背景技術(shù):
vpbx(virtualprivatebranchexchange,虛擬用戶(hù)級(jí)交換機(jī))是運(yùn)營(yíng)商專(zhuān)門(mén)為企業(yè)托管的內(nèi)部通信網(wǎng)絡(luò)服務(wù),設(shè)備部署和業(yè)務(wù)實(shí)現(xiàn)完全在運(yùn)營(yíng)商側(cè),既滿(mǎn)足企業(yè)完善的通信服務(wù)同時(shí)降低管理成本。呼叫駐留及接續(xù)業(yè)務(wù),是vpbx業(yè)務(wù)中一個(gè)應(yīng)用比較廣泛的業(yè)務(wù)特征,表現(xiàn)為:當(dāng)企業(yè)某一分機(jī)與企業(yè)外的終端通話(huà)時(shí),該分機(jī)可以將當(dāng)前來(lái)話(huà)?cǎi)v留,由企業(yè)內(nèi)的其它分機(jī)繼續(xù)與該終端接續(xù)通話(huà)。
現(xiàn)有技術(shù)中,呼叫駐留及接續(xù)業(yè)務(wù)是基于業(yè)務(wù)服務(wù)器上使用單cp(controlpoint,業(yè)務(wù)控制節(jié)點(diǎn))模式實(shí)現(xiàn)的。而一個(gè)cp所能承載的用戶(hù)數(shù)量是有限的,隨著用戶(hù)量的增加,到達(dá)一定規(guī)模時(shí)必然要使用多個(gè)cp來(lái)進(jìn)行負(fù)載均衡,進(jìn)而提升業(yè)務(wù)的處理性能。但是在多cp模式下,可能會(huì)有以下問(wèn)題:
例如企業(yè)外的用戶(hù)a呼叫企業(yè)內(nèi)的用戶(hù)b,該通話(huà)?cǎi)v留在cp1上,之后,用戶(hù)b掛斷,用戶(hù)a的通話(huà)?cǎi)v留,后續(xù)用戶(hù)c呼叫用戶(hù)a,想繼續(xù)通話(huà),而此時(shí)的通話(huà)很可能被分配到其他的cp上,由于前后的cp不一致,可能會(huì)導(dǎo)致通話(huà)失敗。
即,在多cp模式下,由于每次通話(huà)在分配cp時(shí)的不確定性,可能會(huì)導(dǎo)致通話(huà)失敗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種呼叫請(qǐng)求發(fā)送方法及裝置,用于解決由于每次通話(huà)在分配cp時(shí)的不確定性可能會(huì)導(dǎo)致通話(huà)失敗的技術(shù)問(wèn)題。
第一方面,提供第一種呼叫請(qǐng)求發(fā)送方法,包括:
接收第一呼叫請(qǐng)求;
通過(guò)查詢(xún)確定所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp為第二cp;
將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp。
第二方面,提供第二種呼叫請(qǐng)求發(fā)送方法,包括:
第一cp接收第一呼叫請(qǐng)求,所述第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);
所述第一cp判斷所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在所述第一cp上;
若所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在所述第一cp上,所述第一cp為所述第一呼叫請(qǐng)求添加第二cp的接入碼;所述第二cp為所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;所述第二cp的接入碼用于指示將所述第一呼叫請(qǐng)求分發(fā)到所述第二cp;
所述第一cp將添加了所述第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元。
可選的,在所述第一cp為所述第一呼叫請(qǐng)求添加第二cp的接入碼之前,還包括:
所述第一cp通過(guò)查詢(xún)確定所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在所述第二cp上;
所述第一cp通過(guò)查詢(xún)獲得所述第二cp的接入碼。
可選的,在所述第一cp判斷所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在所述第一cp上之后,還包括:
若所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在所述第一cp上, 則所述第一cp將所述第一呼叫請(qǐng)求發(fā)送給第二終端,以接通所述第一終端與所述第二終端之間的通話(huà)。
可選的,所述方法還包括:
所述第一cp接收第二呼叫請(qǐng)求,所述第二呼叫請(qǐng)求用于所述第二終端請(qǐng)求與第三終端進(jìn)行通話(huà);
若未存儲(chǔ)與所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則所述第一cp存儲(chǔ)與所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息;及,
所述第一cp將所述第二呼叫請(qǐng)求發(fā)送給所述第三終端,以接通所述第二終端與所述第三終端之間的通話(huà);
其中,所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息,包括所述第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息以及所述第一cp的接入碼。
可選的,在所述第一cp將所述第一呼叫請(qǐng)求發(fā)送給所述第三終端之后,還包括:
所述第一cp接收所述第三終端發(fā)送的停止通話(huà)請(qǐng)求;
所述第一cp釋放所述第三終端的資源,以結(jié)束所述第二終端與所述第三終端之間的通話(huà),且,所述第一cp根據(jù)所述第三終端發(fā)送的駐留業(yè)務(wù)碼控制所述第二終端處于通話(huà)?cǎi)v留狀態(tài)。
第三方面,提供第三種呼叫請(qǐng)求發(fā)送方法,包括:
接收攜帶cp的接入碼的第一呼叫請(qǐng)求;
確定所述第一呼叫請(qǐng)求攜帶的cp的接入碼為第二cp的接入碼;
將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp。
第四方面,提供第一種呼叫請(qǐng)求發(fā)送裝置,包括:
接收模塊,用于接收第一呼叫請(qǐng)求;
確定模塊,用于通過(guò)查詢(xún)確定所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp為第二cp;
發(fā)送模塊,用于將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp。
第五方面,提供一種cp,包括:
接收模塊,用于接收第一呼叫請(qǐng)求,所述第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);
判斷模塊,用于判斷所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在所述cp上;
添加模塊,用于若所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在所述cp上,為所述第一呼叫請(qǐng)求添加第二cp的接入碼;所述第二cp為所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;所述第二cp的接入碼用于指示將所述第一呼叫請(qǐng)求分發(fā)到所述第二cp;
發(fā)送模塊,用于將添加了所述第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元。
可選的,所述cp還包括查詢(xún)模塊和獲取模塊;
所述查詢(xún)模塊用于:在所述添加模塊為所述第一呼叫請(qǐng)求添加第二cp的接入碼之前,通過(guò)查詢(xún)確定所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在所述第二cp上;
所述獲取模塊用于:通過(guò)查詢(xún)獲得所述第二cp的接入碼。
可選的,所述發(fā)送模塊還用于:
在所述判斷模塊判斷所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在所述cp上之后,若所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在所述cp上,則將所述第一呼叫請(qǐng)求發(fā)送給第二終端,以接通所述第一終端與所述第二終端之間的通話(huà)。
可選的,所述cp還包括存儲(chǔ)模塊;
所述接收模塊還用于:接收第二呼叫請(qǐng)求,所述第二呼叫請(qǐng)求用于所述第二終端請(qǐng)求與第三終端進(jìn)行通話(huà);
所述存儲(chǔ)模塊用于:若未存儲(chǔ)與所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則存儲(chǔ)與所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息;及,
所述發(fā)送模塊還用于:將所述第二呼叫請(qǐng)求發(fā)送給所述第三終端,以接通所述第二終端與所述第三終端之間的通話(huà);
其中,所述第二呼叫請(qǐng)求對(duì)應(yīng)的信息,包括所述第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息以及所述cp的接入碼。
可選的,所述cp還包括釋放模塊;
所述接收模塊還用于:在所述發(fā)送模塊將所述第一呼叫請(qǐng)求發(fā)送給所述第三終端之后,接收所述第三終端發(fā)送的停止通話(huà)請(qǐng)求;
所述釋放模塊用于:釋放所述第三終端的資源,以結(jié)束所述第二終端與所述第三終端之間的通話(huà),且,所述cp根據(jù)所述第三終端發(fā)送的駐留業(yè)務(wù)碼控制所述第二終端處于通話(huà)?cǎi)v留狀態(tài)。
第六方面,提供第二種呼叫請(qǐng)求發(fā)送裝置,包括:
接收模塊,用于接收攜帶cp的接入碼的第一呼叫請(qǐng)求;
確定模塊,用于確定所述第一呼叫請(qǐng)求攜帶的cp的接入碼為第二cp的接入碼;
發(fā)送模塊,用于將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp。
第七方面,提供第一種通信系統(tǒng),包括至少兩個(gè)cp及呼叫請(qǐng)求發(fā)送裝置;
所述至少兩個(gè)cp中的第一cp用于將第一呼叫請(qǐng)求發(fā)送給所述呼叫請(qǐng)求分發(fā)裝置;
所述呼叫請(qǐng)求分發(fā)裝置用于通過(guò)查詢(xún)確定接收的所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的業(yè)務(wù)控制點(diǎn)cp為所述至少兩個(gè)cp中的第二cp,將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp;
所述第二cp用于接收所述第一呼叫請(qǐng)求。
第八方面,提供第二種通信系統(tǒng),包括至少兩個(gè)cp及呼叫請(qǐng)求發(fā)送裝置;
所述至少兩個(gè)cp中的第一cp用于:
接收第一呼叫請(qǐng)求,所述第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);判斷所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在所述第 一cp上;
若所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在所述第一cp上,為所述第一呼叫請(qǐng)求添加所述至少兩個(gè)cp中的第二cp的接入碼;所述第二cp為所述第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;所述第二cp的接入碼用于指示將所述第一呼叫請(qǐng)求分發(fā)到所述第二cp;
發(fā)送添加了所述第二cp的接入碼的第一呼叫請(qǐng)求;
所述呼叫請(qǐng)求分發(fā)裝置用于:
接收攜帶所述第二cp的接入碼的第一呼叫請(qǐng)求;
將所述第一呼叫請(qǐng)求分發(fā)給所述第二cp;
所述第二cp用于:接收所述第一呼叫請(qǐng)求。
本發(fā)明實(shí)施例中,如果接收第一呼叫請(qǐng)求,則可以通過(guò)查詢(xún)確定第一呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息所在的呼叫究竟駐留在哪個(gè)cp上,例如駐留在第二cp,則可以將第一呼叫請(qǐng)求分發(fā)給第二cp,即,可以將第一呼叫請(qǐng)求分發(fā)給呼叫駐留的cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所介紹的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為vpbx中多cp模式示意圖;
圖2為本發(fā)明實(shí)施例中第一種呼叫請(qǐng)求發(fā)送方法的流程圖;
圖3本發(fā)明實(shí)施例中第二種呼叫請(qǐng)求發(fā)送方法的流程圖;
圖4本發(fā)明實(shí)施例中第三種呼叫請(qǐng)求發(fā)送方法的流程圖;
圖5a為本發(fā)明實(shí)施例中實(shí)現(xiàn)通話(huà)接續(xù)的方法流程圖;
圖5b為本發(fā)明實(shí)施例中結(jié)合裝置介紹實(shí)現(xiàn)通話(huà)接續(xù)的示意圖;
圖6為本發(fā)明實(shí)施例中呼叫請(qǐng)求發(fā)送裝置的第一種結(jié)構(gòu)框圖。
圖7為本發(fā)明實(shí)施例中第一cp的結(jié)構(gòu)框圖;
圖8為本發(fā)明實(shí)施例中呼叫請(qǐng)求發(fā)送裝置的第二種結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
以下,對(duì)本發(fā)明中的部分用語(yǔ)進(jìn)行解釋說(shuō)明,以便于本領(lǐng)域技術(shù)人員理解。
1)終端,是指向用戶(hù)提供語(yǔ)音和/或數(shù)據(jù)連通性的設(shè)備,例如可以包括具有無(wú)線(xiàn)連接功能的手持式設(shè)備、或連接到無(wú)線(xiàn)調(diào)制解調(diào)器的處理設(shè)備。該終端可以經(jīng)ran與核心網(wǎng)進(jìn)行通信,與ran交換語(yǔ)音和/或數(shù)據(jù)。該終端可以稱(chēng)為ue(userequipment,用戶(hù)設(shè)備)、無(wú)線(xiàn)終端、移動(dòng)終端、訂戶(hù)單元(subscriberunit)、訂戶(hù)站(subscriberstation),移動(dòng)站(mobilestation)、移動(dòng)臺(tái)(mobile)、遠(yuǎn)程站(remotestation)、ap(accesspoint,接入點(diǎn))、遠(yuǎn)程終端(remoteterminal)、接入終端(accessterminal)、用戶(hù)終端(userterminal)、用戶(hù)代理(useragent)、或用戶(hù)裝備(userdevice)等。例如,可以是移動(dòng)電話(huà)(或稱(chēng)為“蜂窩”電話(huà)),具有移動(dòng)終端的計(jì)算機(jī),便攜式、袖珍式、手持式、計(jì)算機(jī)內(nèi)置的或者車(chē)載的移動(dòng)裝置。例如,pcs(personalcommunicationservice,個(gè)人通信業(yè)務(wù))電話(huà)、無(wú)繩電話(huà)、sip(會(huì)話(huà)發(fā)起協(xié)議)話(huà)機(jī)、wll(wirelesslocalloop,無(wú)線(xiàn)本地環(huán)路)站、pda(personaldigitalassistant,個(gè)人數(shù)字助理)等設(shè)備。
2)as(applicationserver,應(yīng)用服務(wù)器),可用于提供底層業(yè)務(wù)能力,如: 呼叫控制,狀態(tài)上報(bào),話(huà)單生成等功能。
3)mrs(mediaresourceserver,媒體資源服務(wù)器),一般為ms(mediaserver,媒體服務(wù)器),可用于提供語(yǔ)音媒體能力,如在呼叫過(guò)程中給用戶(hù)播放提示音收號(hào)等。
4)cp(controlpoint,業(yè)務(wù)控制點(diǎn)),是電信智能網(wǎng)中一個(gè)網(wǎng)元,智能業(yè)務(wù)的集中地,如vpbx業(yè)務(wù)可以在該網(wǎng)元上加載運(yùn)行,供應(yīng)商只需升級(jí)cp就能夠提供新的服務(wù)。
各網(wǎng)元中使用的協(xié)議如下:
1)as同mrs或終端之間為呼叫通話(huà)的媒體協(xié)商,as與終端通過(guò)核心網(wǎng)使用sip(sessioninitiationprotocol,會(huì)話(huà)初始協(xié)議)協(xié)議互通,as同mrs之間通常使用sip協(xié)議或mgcp(mediagatewaycontrolprotocol,媒體網(wǎng)關(guān)控制協(xié)議)協(xié)議,具體決定于mrs所支持的協(xié)議類(lèi)型。
2)終端同mrs之間為媒體流的傳送,終端與mrs具體媒體包的編解碼格式,收發(fā)端口,帶寬傳輸速率等,根據(jù)呼叫時(shí)終端同mrs之間的媒體協(xié)商進(jìn)行。
下面介紹本發(fā)明實(shí)施例的網(wǎng)絡(luò)架構(gòu)。
本發(fā)明實(shí)施例為多cp模式下的解決方案,本發(fā)明實(shí)施例中涉及的網(wǎng)元結(jié)構(gòu)圖請(qǐng)參見(jiàn)圖1。在多cp模式下,as包括一個(gè)sipproxy(sip代理服務(wù)器)及多個(gè)cp(圖1中為cp1-cp3)。sipproxy根據(jù)分發(fā)策略將呼叫送到cp,以及轉(zhuǎn)發(fā)呼叫(轉(zhuǎn)發(fā)來(lái)自cp的呼叫到核心網(wǎng))。這種多cp模式可以均衡大容量的用戶(hù)呼叫負(fù)載,提升業(yè)務(wù)處理性能。
需要注意的是,圖1只是一個(gè)概要的圖示,隱藏了ims(internetprotocolmultimediasubsystem,網(wǎng)際協(xié)議多媒體子系統(tǒng))網(wǎng)絡(luò)或ngn(nextgenerationnetwork,下一代網(wǎng)絡(luò))網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),在實(shí)際實(shí)現(xiàn)中,as,mrs及終端是接入或錨定到ims網(wǎng)絡(luò)或ngn網(wǎng)絡(luò)中的。
在多cp模式下,可能會(huì)有以下問(wèn)題:
例如企業(yè)外的用戶(hù)a呼叫企業(yè)內(nèi)的用戶(hù)b,該通話(huà)?cǎi)v留在cp1上,之后,用戶(hù)b掛斷,用戶(hù)a的通話(huà)?cǎi)v留,后續(xù)用戶(hù)c呼叫用戶(hù)a,想繼續(xù)通話(huà),而此時(shí)的通話(huà)很可能被分配到其他的cp上,由于前后的cp不一致,可能會(huì)導(dǎo)致通話(huà)失敗。
即,在多cp模式下,由于每次通話(huà)在分配cp時(shí)的不確定性,可能會(huì)導(dǎo)致通話(huà)失敗。
本發(fā)明實(shí)施例充分考慮到以上問(wèn)題,如果接收第一呼叫請(qǐng)求,則可以通過(guò)查詢(xún)確定第一呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息所在的呼叫究竟駐留在哪個(gè)cp上,例如駐留在第二cp,則可以將第一呼叫請(qǐng)求分發(fā)給第二cp,即,可以將第一呼叫請(qǐng)求分發(fā)給呼叫駐留的cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
下面結(jié)合附圖介紹本發(fā)明中優(yōu)選的實(shí)施例。
請(qǐng)參見(jiàn)圖2,本發(fā)明實(shí)施例提供第一種呼叫請(qǐng)求發(fā)送方法,例如該方法可以由sipproxy執(zhí)行。該方法的流程描述如下。
步驟201:接收第一呼叫請(qǐng)求;
步驟202:通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp為第二cp;
步驟203:將第一呼叫請(qǐng)求分發(fā)給第二cp。
下面介紹比較完整的過(guò)程。
例如,第二cp先接收來(lái)自第二終端的呼叫請(qǐng)求,例如稱(chēng)為第二呼叫請(qǐng)求,例如第二呼叫請(qǐng)求用于請(qǐng)求與系統(tǒng)內(nèi)的第三終端進(jìn)行通話(huà),第三終端為系統(tǒng)內(nèi)與第一終端不同的終端。如果第二呼叫請(qǐng)求是第二終端首次向系統(tǒng)內(nèi)的終端發(fā)起呼叫,那么第二cp之前未存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則第二cp可以存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,比如可以包括第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息、第二cp的接入碼、及第二cp的cp號(hào)中的至少一種,當(dāng)然還可能包括 其他的信息。且,第二cp可以將存儲(chǔ)的與第二呼叫請(qǐng)求對(duì)應(yīng)的信息發(fā)送給sipproxy。
本發(fā)明實(shí)施例中,線(xiàn)路信息例如可以包括線(xiàn)路號(hào),當(dāng)然還可以包括其他信息。
然后,第二cp將第二呼叫請(qǐng)求發(fā)送給第三終端,以接通第二終端與第三終端之間的通話(huà)。
在第二終端與第三終端之間的通話(huà)接通后,第二cp可能會(huì)接收第三終端發(fā)送的停止通話(huà)請(qǐng)求,那么第二cp可以釋放第三終端的資源,以結(jié)束第二終端與第三終端之間的通話(huà),且,第二cp可以根據(jù)第三終端發(fā)送的駐留業(yè)務(wù)碼控制第二終端處于通話(huà)?cǎi)v留狀態(tài),那么,系統(tǒng)內(nèi)的其他終端還可以與第二終端進(jìn)行通話(huà)。
在控制第二終端處于通話(huà)?cǎi)v留狀態(tài)后,系統(tǒng)內(nèi)可能有其他終端想要繼續(xù)與第二終端進(jìn)行通話(huà),比如為第一終端,則第一終端就發(fā)送第一呼叫請(qǐng)求。而第一終端發(fā)送的第一呼叫請(qǐng)求經(jīng)核心網(wǎng)等網(wǎng)元路由到sipproxy后,sipproxy可以通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp,例如查詢(xún)確定為第二cp,則sipproxy可以將第一呼叫請(qǐng)求直接分發(fā)給第二cp。
本發(fā)明實(shí)施例里的系統(tǒng),可以是指部署在一個(gè)as中的cp所服務(wù)的終端構(gòu)成的系統(tǒng)。
即,sipproxy可以將第一呼叫請(qǐng)求分發(fā)給呼叫駐留的cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
請(qǐng)參見(jiàn)圖3,本發(fā)明實(shí)施例提供第二種呼叫請(qǐng)求發(fā)送方法,該方法的流程描述如下。
步驟301:第一cp接收第一呼叫請(qǐng)求,第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);
步驟302:第一cp判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否 駐留在第一cp上;
步驟303:若第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在第一cp上,第一cp為第一呼叫請(qǐng)求添加第二cp的接入碼;第二cp為第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;第二cp的接入碼用于指示將第一呼叫請(qǐng)求分發(fā)到第二cp;
步驟304:第一cp將添加了第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元。
其中,若應(yīng)用場(chǎng)景為呼叫駐留業(yè)務(wù)場(chǎng)景或呼叫代答業(yè)務(wù)場(chǎng)景等,那么第二終端為系統(tǒng)外的終端,第一終端為系統(tǒng)內(nèi)的終端,且第二終端可以處于通話(huà)?cǎi)v留狀態(tài)。若應(yīng)用場(chǎng)景為會(huì)議接入業(yè)務(wù)場(chǎng)景,那么第二終端可以未處于通話(huà)?cǎi)v留狀態(tài)。
若第二終端處于通話(huà)?cǎi)v留狀態(tài),則第二終端之前曾與系統(tǒng)內(nèi)的其他終端通話(huà)。
這里的系統(tǒng),可以是指部署在一個(gè)as中的cp所服務(wù)的終端構(gòu)成的系統(tǒng)。
可選的,若第二終端處于通話(huà)?cǎi)v留狀態(tài),則在第一cp接收第一呼叫請(qǐng)求之前,還包括:
第一cp接收第二呼叫請(qǐng)求,第二呼叫請(qǐng)求用于第二終端請(qǐng)求與第三終端進(jìn)行通話(huà);
若未存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則第一cp存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息;及,
第一cp將所述第二呼叫請(qǐng)求發(fā)送給第三終端,以接通第二終端與第三終端之間的通話(huà);
其中,第二呼叫請(qǐng)求對(duì)應(yīng)的信息,包括第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息以及第一cp的接入碼。
其中,第三終端為系統(tǒng)內(nèi)的終端。即,在接收來(lái)自第一終端的第一呼叫請(qǐng)求之前,第一cp先接收了來(lái)自第二終端的呼叫請(qǐng)求,例如稱(chēng)為第二呼叫請(qǐng)求, 例如第二呼叫請(qǐng)求用于請(qǐng)求與系統(tǒng)內(nèi)的第三終端進(jìn)行通話(huà),第三終端為系統(tǒng)內(nèi)與第一終端不同的終端。如果第二呼叫請(qǐng)求是第二終端首次向系統(tǒng)內(nèi)的終端發(fā)起呼叫,那么第一cp之前未存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則第一cp可以存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,比如可以包括第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息、第二cp的接入碼、及第二cp的cp號(hào)中的至少一種,當(dāng)然還可能包括其他的信息。
然后,第一cp將第二呼叫請(qǐng)求發(fā)送給第三終端,以接通第二終端與第三終端之間的通話(huà)。
可選的,在第一cp將第一呼叫請(qǐng)求發(fā)送給第三終端之后,還包括:
第一cp接收第三終端發(fā)送的停止通話(huà)請(qǐng)求;
第一cp釋放第三終端的資源,以結(jié)束第二終端與第三終端之間的通話(huà),且,第一cp根據(jù)第三終端發(fā)送的駐留業(yè)務(wù)碼控制第二終端處于通話(huà)?cǎi)v留狀態(tài)。
即,在第二終端與第三終端之間的通話(huà)接通后,第一cp可能會(huì)接收第三終端發(fā)送的停止通話(huà)請(qǐng)求,那么第一cp可以釋放第三終端的資源,以結(jié)束第二終端與第三終端之間的通話(huà),且,第一cp可以根據(jù)第三終端發(fā)送的駐留業(yè)務(wù)碼控制第二終端處于通話(huà)?cǎi)v留狀態(tài),那么,系統(tǒng)內(nèi)的其他終端還可以與第二終端進(jìn)行通話(huà)。
在控制第二終端處于通話(huà)?cǎi)v留狀態(tài)后,系統(tǒng)內(nèi)可能有其他終端想要繼續(xù)與第二終端進(jìn)行通話(huà),比如為第一終端,而第一終端發(fā)送的第一呼叫請(qǐng)求經(jīng)核心網(wǎng)等網(wǎng)元路由到sipproxy后,由于sipproxy控制了多個(gè)cp,則可能第一呼叫請(qǐng)求會(huì)被不確定地分配到其中的任意一個(gè)cp上,這個(gè)分配的cp可能是第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫所駐留的cp,或者也可能不是第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫所駐留的cp。
按照如前的描述,若第二終端首次呼叫時(shí)對(duì)應(yīng)的cp為第一cp,是第一cp控制第二終端處于通話(huà)?cǎi)v留狀態(tài),那么,第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫所駐留的cp就是第一cp。但在如下的描述中,為闡述本發(fā)明實(shí) 施例的重點(diǎn),還是以第一cp不是第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫所駐留的cp為例。
例如,第一呼叫請(qǐng)求被分配到了第一cp,那么第一cp接收第一呼叫請(qǐng)求。之后,第一cp可以通過(guò)查詢(xún)判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp,如果不是,則第一cp可以為第一呼叫請(qǐng)求添加第二cp的接入碼,并將添加了第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元。
可選的,在第一cp為第一呼叫請(qǐng)求添加第二cp的接入碼之前,還包括:
第一cp通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在第二cp上;
第一cp通過(guò)查詢(xún)獲得第二cp的接入碼。
即,如果第一cp可以通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在第一cp,則第一cp可以繼續(xù)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫請(qǐng)求所駐留的cp,例如查詢(xún)確定為第二cp,且通過(guò)查詢(xún)也可以獲知第二cp的接入碼,則第一cp為第一呼叫請(qǐng)求添加第二cp的接入碼,例如可以將第二cp的接入碼增加為第一呼叫請(qǐng)求的前綴。
在第一cp將添加了第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元(例如第一網(wǎng)元可以是核心網(wǎng)中的網(wǎng)元)后,第一網(wǎng)元發(fā)現(xiàn)第一呼叫請(qǐng)求的前綴為第二cp的接入碼,則第一網(wǎng)元會(huì)將添加了第二cp的接入碼的第一呼叫請(qǐng)求原樣發(fā)回給as繼續(xù)處理。as中的sipproxy收到后,發(fā)現(xiàn)第一呼叫請(qǐng)求的前綴為cp的接入碼,且通過(guò)查詢(xún)確定該cp的接入碼為第二cp的接入碼,則sipproxy會(huì)將添加了第二cp的接入碼的第一呼叫請(qǐng)求重新分發(fā)給第二cp。第二cp收到添加了第二cp的接入碼的第一呼叫請(qǐng)求后,去掉第一呼叫請(qǐng)求的前綴,即去掉第二cp的接入碼,之后通過(guò)第一呼叫請(qǐng)求的線(xiàn)路信息查詢(xún)數(shù)據(jù)庫(kù),發(fā)現(xiàn)該線(xiàn)路信息所在的cp正是第二cp,于是第二cp將第一呼叫請(qǐng)求發(fā)送給第二終端,以接通第二終端與第一終端之間的通話(huà)。
即,如果駐留后的cp與之前的cp不一致,則之后的cp可以觸發(fā)重新為第一呼叫請(qǐng)求分配cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
可選的,在第一cp判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上之后,還包括:
若第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在第一cp上,則第一cp將第一呼叫請(qǐng)求發(fā)送給第二終端,以接通第一終端與第二終端之間的通話(huà)。
即,如果第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在第一cp上,那么第一cp可以直接接通第一終端與第二終端之間的通話(huà)。
請(qǐng)參見(jiàn)圖4,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供第三種呼叫請(qǐng)求發(fā)送方法,例如該方法可以由sipproxy執(zhí)行。該方法的流程描述如下。
步驟401:接收攜帶cp的接入碼的第一呼叫請(qǐng)求;
步驟402:確定第一呼叫請(qǐng)求攜帶的cp的接入碼為第二cp的接入碼;
步驟403:將第一呼叫請(qǐng)求分發(fā)給第二cp。
sipproxy接收到一個(gè)呼叫請(qǐng)求時(shí),可以先確定該呼叫請(qǐng)求是否攜帶了cp的接入碼,例如可以確定該呼叫請(qǐng)求的前綴是否為cp的接入碼。如果該呼叫請(qǐng)求未攜帶cp的接入碼,那么sipproxy可以在sipproxy所管理的cp中任意為該呼叫請(qǐng)求分配一個(gè)cp,例如可能是隨機(jī)分配。
而如果該呼叫請(qǐng)求攜帶了cp的接入碼,則sipproxy可以通過(guò)查詢(xún)確定該呼叫請(qǐng)求所攜帶的是哪個(gè)cp的接入碼,其中,本發(fā)明實(shí)施例中,可以在sipproxy中預(yù)先存儲(chǔ)該sipproxy所管理的各個(gè)cp的接入碼與cp之間的一一對(duì)應(yīng)的關(guān)系。那么sipproxy通過(guò)查詢(xún)就可以確定該呼叫請(qǐng)求所攜帶的是哪個(gè)cp的接入碼,例如為第二cp的接入碼,那么sipproxy就可以將該呼叫請(qǐng)求分發(fā)給第二cp。
其中,圖4所示的流程為與圖3所示的流程為相應(yīng)的流程,內(nèi)容可相互參考。
本發(fā)明實(shí)施例中,如果第一呼叫請(qǐng)求被分配到第一cp,那么第一cp可以判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上,即判斷在本次駐留通話(huà)之前的第二終端的通話(huà)是否駐留在第一cp上,如果不是的話(huà),則第一cp可以為第一呼叫請(qǐng)求添加第二cp的接入碼,并將第一呼叫請(qǐng)求發(fā)送給核心網(wǎng)網(wǎng)元,而不將第一呼叫請(qǐng)求發(fā)送給第二終端,這樣,核心網(wǎng)網(wǎng)元接收到添加了第二cp的接入碼的第一呼叫請(qǐng)求后會(huì)重新分配第一呼叫請(qǐng)求,而第一呼叫請(qǐng)求中添加了第二cp的接入碼,第二cp是第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp,則第一呼叫請(qǐng)求可以被重新分配到第二cp,則第二cp就可以將第一呼叫請(qǐng)求發(fā)送給第二終端,從而實(shí)現(xiàn)第二終端與第一終端之間的通話(huà)。
即,如果駐留后的cp與之前的cp不一致,則之后的cp可以觸發(fā)重新為第一呼叫請(qǐng)求分配cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
下面舉例介紹本發(fā)明實(shí)施例中圖3-圖4提供的技術(shù)方案。
例如a是系統(tǒng)外的任一終端,b是系統(tǒng)內(nèi)的任一終端,c是系統(tǒng)內(nèi)的除b之外的任一終端。
針對(duì)多cp模式,假設(shè)vpbx業(yè)務(wù)部署在4個(gè)cp上,分別為cp1~cp4。且在as上的sipproxy中增加這4個(gè)cp的接入碼配置,對(duì)應(yīng)于cp1~cp4的接入碼分別為a1001、a1002、a1003、和a1004,即,sipproxy收到呼叫前綴為上述其中的一個(gè)接入碼的呼叫請(qǐng)求時(shí),會(huì)將該呼叫請(qǐng)求分發(fā)到該接入碼對(duì)應(yīng)的cp上。同時(shí)在核心網(wǎng)網(wǎng)元(例如為第一網(wǎng)元)上配置:當(dāng)收到來(lái)自as的號(hào)碼前綴為公共接入碼的呼叫請(qǐng)求時(shí)直接返回給as繼續(xù)處理。公共接入碼,例如是cp的接入碼本身,或者也可以是其他預(yù)先設(shè)定的接入碼。例如在該實(shí)施例中,公共接入碼為a10。下面介紹呼叫過(guò)程。
首先,a呼叫系統(tǒng)內(nèi)的b,sipproxy根據(jù)b的終端號(hào)碼所簽約的信息以及分發(fā)策略等,將該呼叫請(qǐng)求(例如為呼叫請(qǐng)求1)分發(fā)到vpbx業(yè)務(wù)所在的 cp(這里假設(shè)為cp1),進(jìn)而cp1轉(zhuǎn)發(fā)該呼叫請(qǐng)求1至b。
b響鈴應(yīng)答,a與b開(kāi)始通話(huà),此時(shí)cp1上的vpbx業(yè)務(wù)向數(shù)據(jù)庫(kù)中的呼叫控制表中寫(xiě)入a與b的相關(guān)信息記錄,包括線(xiàn)路號(hào)(在同一系統(tǒng)內(nèi)該值唯一,標(biāo)識(shí)該系統(tǒng)在當(dāng)前時(shí)刻正在服務(wù)中的分機(jī)個(gè)數(shù),為大于0的整數(shù)值)、所在的cp號(hào)、cp接入碼(與cp號(hào)一一對(duì)應(yīng),這里觸發(fā)的是cp1,即該值為a1001)、及會(huì)話(huà)號(hào)(唯一的即標(biāo)識(shí)此次會(huì)話(huà))中的至少一種。
在a與b的通話(huà)過(guò)程中,b按下特定鍵(例如為**)鍵后,cp1上的vpbx業(yè)務(wù)收到該按鍵信息后通過(guò)mrs給a放保持音,即令a保持通話(huà)?cǎi)v留狀態(tài),同時(shí)給b放提示音。
b再輸入駐留業(yè)務(wù)碼,例如為88#,cp1上的vpbx業(yè)務(wù)通過(guò)mrs再次給b放提示音,該提示音內(nèi)容例如為“您目前會(huì)話(huà)所在的線(xiàn)路號(hào)是x”(這里假設(shè)線(xiàn)路號(hào)為1),比如可以重復(fù)3次,之后b的資源被釋放,或者說(shuō)b的信息被釋放,b掛斷。
請(qǐng)參見(jiàn)圖5a,以下的過(guò)程結(jié)合附圖進(jìn)行介紹。
步驟1、a的電話(huà)處于通話(huà)?cǎi)v留狀態(tài)。
步驟2、系統(tǒng)內(nèi)的c想要與a接續(xù)通話(huà),例如c可以撥打*99(呼叫接續(xù)碼)+(線(xiàn)路號(hào))即*991。
步驟3、c的呼叫請(qǐng)求(例如為呼叫請(qǐng)求2)經(jīng)過(guò)核心網(wǎng)等網(wǎng)元路由到了as上的sipproxy后,會(huì)被不確定的分到cp1~cp4中的其中一個(gè)cp(因?yàn)閎與c屬于同一系統(tǒng)的vpbx用戶(hù),所以會(huì)觸發(fā)部署有vpbx業(yè)務(wù)的cp上),例如分配到cp5。cp5可能是cp1~cp4中的任意一個(gè)cp。
步驟4、cp5的vpbx業(yè)務(wù)通過(guò)線(xiàn)路號(hào)查詢(xún)數(shù)據(jù)庫(kù)確定該線(xiàn)路號(hào)所在的cp與當(dāng)前觸發(fā)的cp是否相同,若相同,執(zhí)行步驟5,若不相同,執(zhí)行步驟7。
步驟5、若cp5為cp1,則cp1確定該線(xiàn)路號(hào)所在的cp與當(dāng)前觸發(fā)的cp相同,此時(shí),于是發(fā)送實(shí)例間通信方式完成與a的業(yè)務(wù)接續(xù)功能。執(zhí)行步驟6。
步驟6、a與c開(kāi)始通話(huà)。結(jié)束流程。
步驟7、若cp5不是cp1,例如是cp2,則cp5確定該線(xiàn)路號(hào)所在的呼叫并沒(méi)有駐留在本cp上,cp5的vpbx業(yè)務(wù)通過(guò)使用線(xiàn)路號(hào)查詢(xún)數(shù)據(jù)庫(kù)得到呼叫請(qǐng)求2駐留的cp的接入碼為a1001(前面駐留a時(shí)該信息已在數(shù)據(jù)庫(kù)保存),則cp5的vpbx業(yè)務(wù)可以撥打a1001+*99+1(線(xiàn)路號(hào)),繼續(xù)將呼叫請(qǐng)求2路由下呼給核心網(wǎng)網(wǎng)元。
步驟8、當(dāng)核心網(wǎng)網(wǎng)元收到來(lái)自as的路由請(qǐng)求發(fā)現(xiàn)號(hào)碼前綴為a10,則原樣返回該呼叫請(qǐng)求2給as繼續(xù)處理。
步驟9、as上的呼叫分發(fā)模塊收到a1001*991的呼叫請(qǐng)求2時(shí),發(fā)現(xiàn)前綴a1001即為cp1接入碼,則根據(jù)配置將呼叫請(qǐng)求2重新分發(fā)給cp1(即為駐留呼叫所在的cp)。
步驟10、cp1收到呼叫請(qǐng)求2后,cp1的vpbx業(yè)務(wù)處理去掉呼叫請(qǐng)求2的前綴,即去掉cp1的接入碼,之后通過(guò)線(xiàn)路號(hào)查詢(xún)數(shù)據(jù)庫(kù),發(fā)現(xiàn)該線(xiàn)路號(hào)所在的cp正是當(dāng)前觸發(fā)的cp,于是發(fā)送實(shí)例間通信方式完成與a的業(yè)務(wù)接續(xù)功能,a與c開(kāi)始通話(huà)。
步驟11、a或c某一方掛機(jī),流程結(jié)束。
請(qǐng)參見(jiàn)圖5b,結(jié)合裝置介紹本發(fā)明實(shí)施例中提供的通話(huà)接續(xù)方法。
呼叫分發(fā)模塊與呼叫轉(zhuǎn)發(fā)模塊:多cp模式時(shí),負(fù)責(zé)sip消息的分發(fā)和轉(zhuǎn)發(fā),由sipproxy實(shí)現(xiàn),這兩個(gè)模塊可以是同一模塊,或者也可以是兩個(gè)不同的模塊。sipproxy收到核心網(wǎng)的sip消息,由呼叫分發(fā)模塊按一定分發(fā)策略分發(fā)給某cp,呼叫轉(zhuǎn)發(fā)模塊轉(zhuǎn)發(fā)來(lái)自cp的sip消息給核心網(wǎng)。
業(yè)務(wù)處理模塊:實(shí)現(xiàn)業(yè)務(wù)的邏輯執(zhí)行,運(yùn)行在當(dāng)前呼叫所觸發(fā)的cp上。
數(shù)據(jù)庫(kù)模塊:由業(yè)務(wù)調(diào)用使用,保存呼叫中的相關(guān)信息,例如包括接入碼、線(xiàn)路信息等等。
放音收號(hào)模塊:在業(yè)務(wù)處理過(guò)程中給通話(huà)中的用戶(hù)放音或者收號(hào)時(shí)調(diào)用。
步驟1、用戶(hù)c撥打接續(xù)接入碼+線(xiàn)路號(hào),經(jīng)呼叫分發(fā)模塊分發(fā)到cp(這 里標(biāo)示為接續(xù)方cp)。
步驟2、cp上的業(yè)務(wù)處理模塊收到呼叫請(qǐng)求后,根據(jù)接續(xù)的接入碼判斷c想要接續(xù)某個(gè)已經(jīng)駐留的電話(huà),通過(guò)調(diào)用數(shù)據(jù)庫(kù)模塊,以線(xiàn)路號(hào)為查詢(xún)條件查詢(xún)出之前駐留呼叫時(shí)所保存的cp的接入碼、cp號(hào)等信息。當(dāng)業(yè)務(wù)執(zhí)行時(shí)發(fā)現(xiàn),當(dāng)前所在的cp與查詢(xún)的駐留方所在的cp不是同一個(gè)時(shí),則在號(hào)碼前面加上在數(shù)據(jù)庫(kù)中查詢(xún)到的cp的接入碼,繼續(xù)將該呼叫請(qǐng)求路由下呼(即為cp接入碼+接續(xù)碼+線(xiàn)路號(hào)格式)。
步驟3、呼叫轉(zhuǎn)發(fā)模塊將來(lái)自cp的路由請(qǐng)求直接轉(zhuǎn)發(fā)給核心網(wǎng)網(wǎng)元。
步驟4、核心網(wǎng)網(wǎng)元根據(jù)之前的配置,對(duì)于這種帶特定接入碼的來(lái)自as的呼叫請(qǐng)求,直接原樣返回給as。
步驟5、sipproxy收到來(lái)自核心網(wǎng)的呼叫請(qǐng)求,呼叫轉(zhuǎn)發(fā)模塊發(fā)現(xiàn)該呼叫請(qǐng)求的前綴為cp的接入碼的格式,于是呼叫轉(zhuǎn)發(fā)模塊根據(jù)配置將該呼叫請(qǐng)求分發(fā)給與該cp的接入碼對(duì)應(yīng)的cp。
根據(jù)前面的處理之后,此時(shí)觸發(fā)的業(yè)務(wù)處理模塊所在的cp即為之前駐留呼叫所在的cp。即接續(xù)方呼叫與駐留方呼叫目前集中在同一個(gè)cp上,進(jìn)而通過(guò)業(yè)務(wù)處理模塊實(shí)現(xiàn)呼叫接續(xù)的橋接,接通主叫用戶(hù)終端與接續(xù)用戶(hù)終端的通話(huà),完成接續(xù)功能。
圖5b所示的核心網(wǎng)即為核心網(wǎng)網(wǎng)元,其實(shí)圖5b中示出的兩個(gè)核心網(wǎng)可以表示同一核心網(wǎng)網(wǎng)元,只是為了解釋的更為清楚所以這樣畫(huà)。
以下結(jié)合附圖介紹本發(fā)明實(shí)施例中的裝置。
請(qǐng)參見(jiàn)圖6,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種呼叫請(qǐng)求發(fā)送裝置,該裝置例如可以由sipproxy實(shí)現(xiàn),例如該裝置可以是sipproxy本身,或者例如該裝置可以是位于sipproxy中的功能模塊,或者例如該裝置可以是sipproxy中的如圖5b所示的呼叫分發(fā)模塊。該裝置可以包括接收模塊601、確定模塊602和發(fā)送模塊603。
接收模塊601,用于接收第一呼叫請(qǐng)求;
確定模塊602,用于通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp為第二cp;
發(fā)送模塊603,用于將第一呼叫請(qǐng)求分發(fā)給第二cp。
圖6所示的呼叫請(qǐng)求發(fā)送裝置為與圖1的方法流程對(duì)應(yīng)的裝置,各模塊執(zhí)行步驟時(shí)的詳細(xì)介紹可參考圖1流程。
請(qǐng)參見(jiàn)圖7,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種cp,該cp可以是如前所述的第一cp,該cp可以包括接收模塊701、判斷模塊702、添加模塊703和發(fā)送模塊704。
接收模塊701,用于接收第一呼叫請(qǐng)求,第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);
判斷模塊702,用于判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上;
添加模塊703,用于若第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在第一cp上,為第一呼叫請(qǐng)求添加第二cp的接入碼;第二cp為第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;第二cp的接入碼用于指示將第一呼叫請(qǐng)求分發(fā)到第二cp;
發(fā)送模塊704,用于將添加了第二cp的接入碼的第一呼叫請(qǐng)求發(fā)送給第一網(wǎng)元。
可選的,第一cp還包括查詢(xún)模塊和獲取模塊;
查詢(xún)模塊用于:在添加模塊703為第一呼叫請(qǐng)求添加第二cp的接入碼之前,通過(guò)查詢(xún)確定第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在第二cp上;
獲取模塊用于:通過(guò)查詢(xún)獲得第二cp的接入碼。
可選的,發(fā)送模塊704還用于:
在判斷模塊602判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上之后,若第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留在第 一cp上,則將第一呼叫請(qǐng)求發(fā)送給第二終端,以接通第一終端與第二終端之間的通話(huà)。
可選的,第一cp還包括存儲(chǔ)模塊;
接收模塊701還用于:接收第二呼叫請(qǐng)求,第二呼叫請(qǐng)求用于第二終端請(qǐng)求與第三終端進(jìn)行通話(huà);
存儲(chǔ)模塊用于:若未存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息,則存儲(chǔ)與第二呼叫請(qǐng)求對(duì)應(yīng)的信息;及,
發(fā)送模塊704還用于:將第二呼叫請(qǐng)求發(fā)送給第三終端,以接通第二終端與第三終端之間的通話(huà);
其中,第二呼叫請(qǐng)求對(duì)應(yīng)的信息,包括第二呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息以及第一cp的接入碼。
可選的,第一cp還包括釋放模塊;
接收模塊701還用于:在發(fā)送模塊704將第一呼叫請(qǐng)求發(fā)送給第三終端之后,接收第三終端發(fā)送的停止通話(huà)請(qǐng)求;
釋放模塊用于:釋放第三終端的資源,以結(jié)束第二終端與第三終端之間的通話(huà),且,第一cp根據(jù)第三終端發(fā)送的駐留業(yè)務(wù)碼控制第二終端處于通話(huà)?cǎi)v留狀態(tài)。
圖7所示的cp為與圖3流程中的第一cp所對(duì)應(yīng)的cp,各模塊執(zhí)行步驟時(shí)的詳細(xì)介紹可參考圖3流程。圖7所示的cp可以是圖5b所示的接續(xù)方cp,也可以是圖5b所示的駐留方所在cp。
請(qǐng)參見(jiàn)圖8,基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供一種呼叫請(qǐng)求發(fā)送裝置,該裝置例如可以由sipproxy實(shí)現(xiàn),例如該裝置可以是sipproxy本身,或者例如該裝置可以是位于sipproxy中的功能模塊,或者例如該裝置可以是sipproxy中的如圖5b所示的呼叫分發(fā)模塊。該裝置可以包括接收模塊801、確定模塊802和發(fā)送模塊803。
接收模塊801,用于接收攜帶cp的接入碼的第一呼叫請(qǐng)求;
確定模塊802,用于確定第一呼叫請(qǐng)求攜帶的cp的接入碼為第二cp的接入碼;
發(fā)送模塊803,用于將第一呼叫請(qǐng)求分發(fā)給第二cp。
圖8所示的呼叫請(qǐng)求發(fā)送裝置為與圖4的方法流程對(duì)應(yīng)的裝置,各模塊執(zhí)行步驟時(shí)的詳細(xì)介紹可參考圖4流程。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供第一種通信系統(tǒng),該通信系統(tǒng)例如可以包括至少兩個(gè)cp及呼叫請(qǐng)求發(fā)送裝置;
至少兩個(gè)cp中的第一cp用于將第一呼叫請(qǐng)求發(fā)送給呼叫請(qǐng)求分發(fā)裝置;
呼叫請(qǐng)求分發(fā)裝置用于通過(guò)查詢(xún)確定接收的第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp為所述至少兩個(gè)cp中的第二cp,將第一呼叫請(qǐng)求分發(fā)給第二cp;
第二cp用于接收第一呼叫請(qǐng)求。
該呼叫請(qǐng)求分發(fā)裝置例如可以是如圖6中所示的呼叫請(qǐng)求分發(fā)裝置,該至少兩個(gè)cp中的任意一個(gè)cp,可以是如圖7中所示的cp,或者也可以是現(xiàn)有技術(shù)中的cp。該第一種通信系統(tǒng)例如可以是as中的組成部分。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供第二種通信系統(tǒng),該通信系統(tǒng)例如可以包括至少兩個(gè)cp及呼叫請(qǐng)求發(fā)送裝置;
至少兩個(gè)cp中的第一cp用于:
接收第一呼叫請(qǐng)求,第一呼叫請(qǐng)求用于第一終端請(qǐng)求與第二終端進(jìn)行通話(huà);判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上;
若第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫未駐留在第一cp上,為第一呼叫請(qǐng)求添加至少兩個(gè)cp中的第二cp的接入碼;第二cp為第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp;第二cp的接入碼用于指示將第一呼叫請(qǐng)求分發(fā)到第二cp;
發(fā)送添加了第二cp的接入碼的第一呼叫請(qǐng)求;
呼叫請(qǐng)求分發(fā)裝置用于:
接收攜帶第二cp的接入碼的第一呼叫請(qǐng)求;
將第一呼叫請(qǐng)求分發(fā)給第二cp;
第二cp用于:接收第一呼叫請(qǐng)求。
該呼叫請(qǐng)求分發(fā)裝置例如可以是如圖8中所示的呼叫請(qǐng)求分發(fā)裝置,該至少兩個(gè)cp中的任意一個(gè)cp(例如第一cp),可以是如圖7中所示的cp。該第二種通信系統(tǒng)例如可以是as中的組成部分。
本發(fā)明實(shí)施例中,如果接收第一呼叫請(qǐng)求,則可以通過(guò)查詢(xún)確定第一呼叫請(qǐng)求對(duì)應(yīng)的線(xiàn)路信息所在的呼叫究竟駐留在哪個(gè)cp上,例如駐留在第二cp,則可以將第一呼叫請(qǐng)求分發(fā)給第二cp,即,可以將第一呼叫請(qǐng)求分發(fā)給呼叫駐留的cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
本發(fā)明實(shí)施例中,如果第一呼叫請(qǐng)求被分配到第一cp,那么第一cp可以判斷第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫是否駐留在第一cp上,即判斷在本次駐留通話(huà)之前的第二終端的通話(huà)是否駐留在第一cp上,如果不是的話(huà),則第一cp可以為第一呼叫請(qǐng)求添加第二cp的接入碼,并將第一呼叫請(qǐng)求發(fā)送給核心網(wǎng)網(wǎng)元,而不將第一呼叫請(qǐng)求發(fā)送給第二終端,這樣,核心網(wǎng)網(wǎng)元接收到添加了第二cp的接入碼的第一呼叫請(qǐng)求后會(huì)重新分配第一呼叫請(qǐng)求,而第一呼叫請(qǐng)求中添加了第二cp的接入碼,第二cp是第一呼叫請(qǐng)求所對(duì)應(yīng)的線(xiàn)路信息所在的呼叫駐留的cp,則第一呼叫請(qǐng)求可以被重新分配到第二cp,則第二cp就可以將第一呼叫請(qǐng)求發(fā)送給第二終端,從而實(shí)現(xiàn)第二終端與第一終端之間的通話(huà)。
即,如果駐留后的cp與之前的cp不一致,則之后的cp可以觸發(fā)重新為第一呼叫請(qǐng)求分配cp,以保證兩個(gè)終端之間的通話(huà)正常進(jìn)行,避免通話(huà)失敗的情況發(fā)生,提高通話(huà)過(guò)程的可靠性,也提高用戶(hù)體驗(yàn)。
另外,本發(fā)明實(shí)施例的方案同樣適用于多cp模式下的呼叫代答以及會(huì)議接入業(yè)務(wù)。這里簡(jiǎn)單闡述一下:
1、呼叫代答業(yè)務(wù)場(chǎng)景是指:用戶(hù)a撥打系統(tǒng)內(nèi)用戶(hù)b的電話(huà),在用戶(hù)b振鈴時(shí)(用戶(hù)b可能此時(shí)不在座位并未接起電話(huà)),系統(tǒng)內(nèi)的另一用戶(hù)c可以通過(guò)撥打代答碼+b號(hào)碼的方式,完成與a的通話(huà),即完成代答b的功能特征。
2、會(huì)議接入業(yè)務(wù)場(chǎng)景是指:電話(huà)會(huì)議場(chǎng)景下,會(huì)議成員收到會(huì)議提醒及相關(guān)信息(比如會(huì)議接入碼和會(huì)議密碼等)后,用戶(hù)可以通過(guò)撥打會(huì)議接入碼以及根據(jù)提示輸入密碼之后即可成功加入電話(huà)會(huì)議。
上述兩個(gè)場(chǎng)景,在單cp模式下比較容易實(shí)現(xiàn),但當(dāng)as采用多cp時(shí):
呼叫代答場(chǎng)景下,代答方c撥打代答碼+b號(hào)碼之后,業(yè)務(wù)邏輯準(zhǔn)確找到a撥打b時(shí)所觸發(fā)的cp才可完成代答功能;會(huì)議接入場(chǎng)景下,接入會(huì)議用戶(hù)撥打會(huì)議接入碼之后,業(yè)務(wù)邏輯需要準(zhǔn)確找到會(huì)議召所在的cp才可順利加入會(huì)議。這里尋找正確的cp時(shí),可使用本發(fā)明實(shí)施例所提出的增加前綴接入碼的方法,進(jìn)而找到對(duì)應(yīng)的cp實(shí)現(xiàn)多cp模式下呼叫代答及會(huì)議接入業(yè)務(wù)場(chǎng)景。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能單元的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者 也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或processor(處理器)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、rom、ram、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明實(shí)施例的方法,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明實(shí)施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。