午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

基于xml腳本的電信業(yè)務(wù)增值服務(wù)器及實(shí)現(xiàn)方法

文檔序號(hào):6577965閱讀:232來源:國知局
專利名稱:基于xml腳本的電信業(yè)務(wù)增值服務(wù)器及實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及電信業(yè)務(wù)增值服務(wù)系統(tǒng),特別是涉及一種基于XML腳本的電 信業(yè)務(wù)增值服務(wù)器及實(shí)現(xiàn)方法。
背景技術(shù)
本發(fā)明中的名詞解釋如下
SCE, Service Creation Environment,業(yè)務(wù)生成和載入環(huán)境; SLEE, Service Logic Execution Environment, 業(yè)務(wù)執(zhí)行環(huán)境; XML, extensible Markup Language,可,廣展禾示i己i吾言; SDP, Session Description Protocol,會(huì)話描述協(xié)議; OSS, Operation Support System,營帳系統(tǒng); CA, Call Agent,呼叫代理; MS,媒體服務(wù)器。
XML (extensible Markup Language)是一種既表達(dá)內(nèi)容又含有結(jié)構(gòu)的、人 機(jī)都容易理解的語言,它的特點(diǎn)是有且只有一個(gè)根節(jié)點(diǎn)的樹形分支結(jié)構(gòu)。XML Schema用于描述XML文檔的結(jié)構(gòu),可以用一個(gè)指定的XML Schema (通常以 xsd擴(kuò)展名結(jié)尾)來驗(yàn)證某個(gè)XML文檔,以檢查該XML文檔是否符合其要求。 如果符合的話,那么該XML文檔被稱為是有效的(valid),否則它就是非有效 的(invalid)??梢酝ㄟ^XML Schema指定一個(gè)XML文檔所允許的結(jié)構(gòu)和內(nèi)容,并可據(jù)此檢査一個(gè)XML文檔是否是有效的。XML schema區(qū)別于采用DTD文 件對(duì)XML腳本進(jìn)行約束的方式,它與XML腳本使用相同的語法規(guī)范,定義 組成XML腳本的標(biāo)記集,符合XML schema的腳本適用于表達(dá)無循環(huán)、可嵌 套的處理過程。針對(duì)不同的特定領(lǐng)域,可通過XML schema對(duì)XML腳本進(jìn)行 更嚴(yán)格的約束。
很多電話業(yè)務(wù)的狀態(tài)轉(zhuǎn)移過程也是無循環(huán)過程,如來電轉(zhuǎn)移、呼叫篩選、 定制呼叫路由等。因此,可依據(jù)這類無循環(huán)處理需求的電信業(yè)務(wù)特征定義相應(yīng) 的問題領(lǐng)域XML schema。同時(shí)XML是一種中性語言,它不依賴于其他具體 的語言或協(xié)議。符合XML schema定義的業(yè)務(wù)腳本獨(dú)立于底層的網(wǎng)絡(luò),網(wǎng)絡(luò)信 令可以是H.323協(xié)議、SIP信令、Parlay API規(guī)范,或者是SS7信令等。在定 義XML schema時(shí),將業(yè)務(wù)的狀態(tài)作為標(biāo)記,遷移條件作為屬性,而對(duì)應(yīng)在某 個(gè)狀態(tài)下的輸入如何處理并產(chǎn)生怎樣的結(jié)果,作為該標(biāo)記的子節(jié)點(diǎn)。依此定義 的面向電信業(yè)務(wù)的XML schema定義了一組XML的有限標(biāo)記集,該有限標(biāo)記 集用來描述通話進(jìn)程中的有限狀態(tài),XML schema中定義的根元素描述通話過 程中的初始狀態(tài),葉子節(jié)點(diǎn)則用來描述通話進(jìn)程中的可接受狀態(tài),標(biāo)記間的嵌 套關(guān)系用來表示通話進(jìn)程中狀態(tài)的轉(zhuǎn)移規(guī)則,則可以證明該XML schema定義 的語言與有窮自動(dòng)機(jī)(Q , s, 5, q0 , F)是等價(jià)的。即符合該XML schema 的XML腳本所描述的業(yè)務(wù)控制過程就是會(huì)話中有限自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)移過程。 因此,可用基于XML的腳本來描述業(yè)務(wù)邏輯,控制業(yè)務(wù)的運(yùn)行。CPL就是 基于XML描述電信業(yè)務(wù)的腳本語言的例子。
在下一代網(wǎng)絡(luò)(Next Generation Network,簡稱NGN)的體系架構(gòu)中,軟 交換(SoftSwitch)則是一個(gè)融合話音、數(shù)據(jù)、傳真和視頻業(yè)務(wù)的決定性方案。電信增值業(yè)務(wù)服務(wù)器是軟交換中業(yè)務(wù)邏輯的執(zhí)行者,以往的電信增值業(yè) 務(wù)服務(wù)器業(yè)務(wù)配置能力不足,因?yàn)樵陂_發(fā)過程中,業(yè)務(wù)邏輯流程完全是由執(zhí)行 代碼實(shí)現(xiàn),業(yè)務(wù)流程的改動(dòng)都必須要更改相應(yīng)的C語言源碼,不具備配置性能。 當(dāng)業(yè)務(wù)投入運(yùn)行后,在運(yùn)營商的多樣化需求下,頻繁地更改業(yè)務(wù)流程可能導(dǎo)致 高昂的開發(fā)維護(hù)代價(jià),另外,多業(yè)務(wù)支持能力不足也是一個(gè)很大的弱點(diǎn),各個(gè) 無沖突的業(yè)務(wù)之間不能進(jìn)行業(yè)務(wù)融合。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是解決電信業(yè)務(wù)增值服務(wù)器更改業(yè)務(wù)流程開 發(fā)維護(hù)代價(jià)高、多業(yè)務(wù)支持能力不足以及各個(gè)無沖突的業(yè)務(wù)之間不能進(jìn)行業(yè)務(wù) 融合的問題。
為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是提供一種基于XML 腳本的電信業(yè)務(wù)增值服務(wù)器,包括業(yè)務(wù)生成和載入單元和業(yè)務(wù)執(zhí)行單元,所述 業(yè)務(wù)生成和載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入;所述業(yè)務(wù)執(zhí)行 單元向業(yè)務(wù)生成和載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)并下達(dá)呼叫控制命令 和媒體服務(wù)器控制命令對(duì)會(huì)話和底層事件進(jìn)行處理。
上述方案中,所述業(yè)務(wù)生成和載入單元包括腳本生成模塊、接口適配模塊 和控制管理模塊,所述腳本生成模塊根據(jù)數(shù)據(jù)庫中用戶的業(yè)務(wù)信息生成XML 腳本的業(yè)務(wù)邏輯腳本;所述接口適配模塊用于轉(zhuǎn)發(fā)業(yè)務(wù)邏輯的XML腳本給業(yè) 務(wù)執(zhí)行單元;所述控制管理模塊用于接受消息并通知腳本生成模塊生成XML 腳本。
所述業(yè)務(wù)執(zhí)行單元包括解釋執(zhí)行單元、關(guān)鍵數(shù)據(jù)保存單元和下層接口適配單元,所述解釋執(zhí)行單元包括消息接口處理模塊、控制管理模塊、腳本解析 執(zhí)行模塊、會(huì)話管理模塊和腳本/數(shù)據(jù)管理模塊,其中,消息接口處理模塊用
于獲取XML腳本的消息頭,確定消息來源,然后將消息發(fā)送至業(yè)務(wù)處理線程 的消息隊(duì)列;控制管理模塊用于讀取XML腳本的消息頭和消息數(shù)據(jù)段,并發(fā) 往腳本管理解析模塊;腳本解析執(zhí)行模塊用于將獲取到的XML腳本解析為 DOM樹狀結(jié)構(gòu)并按照遍歷DOM樹的順序執(zhí)行腳本;會(huì)話管理模塊用于維護(hù) 整個(gè)會(huì)話的狀態(tài)信息;腳本/數(shù)據(jù)管理模塊用于保存臨時(shí)腳本/數(shù)據(jù);所述關(guān)鍵 數(shù)據(jù)保存單元用于將腳本/數(shù)據(jù)管理模塊中的臨時(shí)數(shù)據(jù)保存;所述下層接口適 配單元用于將會(huì)話管理模塊中發(fā)生的業(yè)務(wù)與下層模塊通訊實(shí)現(xiàn)增值業(yè)務(wù)。
本發(fā)明還提供了一種基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方法, 包括業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入的步驟和業(yè)務(wù) 執(zhí)行單元向業(yè)務(wù)生成載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)的步驟。
上述方法中,
所述業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入的步驟包

SIO、預(yù)讀業(yè)務(wù)邏輯及相對(duì)應(yīng)的腳本片斷;
S20、接受申請(qǐng)終端腳本的業(yè)務(wù)請(qǐng)求,取出該請(qǐng)求中的業(yè)務(wù)信息,若相關(guān) 業(yè)務(wù)邏輯、腳本片斷、業(yè)務(wù)數(shù)據(jù)都已經(jīng)齊備,則通知腳本生成模塊直接生成腳 本;否則由腳本生成模塊從相應(yīng)的資源點(diǎn)獲取所需資源,若獲取中發(fā)生異常, 則進(jìn)入異常流程;
S30、根據(jù)業(yè)務(wù)邏輯生成腳本,若生成失敗進(jìn)入異常處理流程;
S40、經(jīng)過校驗(yàn)最終生成的腳本,通過接口適配模塊提供給SLEE模塊調(diào)用。
所述業(yè)務(wù)執(zhí)行單元向業(yè)務(wù)生成載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)的步 驟包括
SIOO、 SLEE準(zhǔn)備終端業(yè)務(wù)腳本,即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè) 務(wù)腳本;
SllO、 SLEE準(zhǔn)備終端業(yè)務(wù)數(shù)據(jù),即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè) 務(wù)數(shù)據(jù);
S120、腳本管理解析模塊將該XML腳本解析為DOM樹結(jié)構(gòu),并根據(jù)遍 歷DOM樹的順序開始執(zhí)行腳本;
S130、如果腳本管理解析模塊沒有定位到事件標(biāo)簽時(shí)執(zhí)行SLEE默認(rèn)邏輯;
S140、根據(jù)執(zhí)行的結(jié)果控制會(huì)話狀態(tài)并下達(dá)呼叫控制命令和媒體服務(wù)器控 制命令直到結(jié)束。
進(jìn)一步地,所述步驟S30包括以下步驟
5301、 將終端注冊(cè)業(yè)務(wù)信息進(jìn)行沖突過濾;
5302、 對(duì)過濾后的終端業(yè)務(wù)信息的進(jìn)行優(yōu)先級(jí)排序;
5303、 按照優(yōu)先級(jí)從高至低的順序?qū)⒔K端業(yè)務(wù)相關(guān)數(shù)據(jù)分別填入到腳本樣 例片段模板中;
5304、 將有數(shù)據(jù)的片段拼接到整體腳本當(dāng)中,遍歷過后,生成所需要的腳
本;
5305、 腳本校驗(yàn)。
本發(fā)明,克服以往的增值業(yè)務(wù)服務(wù)器業(yè)務(wù)配置能力和多業(yè)務(wù)支持能力不足 的問題,提供一種基于XML腳本的增值業(yè)務(wù)服務(wù)器的實(shí)現(xiàn)方法,即在不修改主體程序代碼的情況下通過修改外部XML業(yè)務(wù)執(zhí)行腳本來實(shí)現(xiàn)業(yè)務(wù)邏輯的改
變和業(yè)務(wù)融合。已經(jīng)實(shí)現(xiàn)的業(yè)務(wù)及業(yè)務(wù)融合包括語音/視頻/傳真、補(bǔ)充業(yè)務(wù)
以及增值業(yè)務(wù) 一號(hào)通、彩鈴、卡號(hào)、Web800等。


圖1為本發(fā)明中基于XML腳本的電信業(yè)務(wù)增值服務(wù)器結(jié)構(gòu)示意圖2為本發(fā)明中SCE主流程圖3為本發(fā)明中SCE腳本生成流程圖4為本發(fā)明中SLEE腳本解析執(zhí)行流程圖。
具體實(shí)施例方式
本發(fā)明提供了一種基于XML腳本的電信業(yè)務(wù)增值服務(wù)器及實(shí)現(xiàn)方法,在 不修改主體程序代碼的情況下,用基于XML面向電信領(lǐng)域的腳本描述電信業(yè) 務(wù),這樣,通過修改外部XML業(yè)務(wù)執(zhí)行腳本就可以實(shí)現(xiàn)業(yè)務(wù)邏輯的改變和業(yè) 務(wù)融合,從而有助于向用戶提供靈活的個(gè)性化業(yè)務(wù)組合。
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作出詳細(xì)的說明。
圖1為本發(fā)明中基于XML腳本的電信業(yè)務(wù)增值服務(wù)器結(jié)構(gòu)示意圖,如圖1 所示,本發(fā)明提供的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器包括業(yè)務(wù)生成和載 入(SCE)單元和業(yè)務(wù)執(zhí)行(SLEE)單元,所述SCE單元用XML腳本描述業(yè)務(wù) 邏輯的生成并載入,所述SLEE單元向該SCE單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù) 并下達(dá)呼叫控制命令和媒體服務(wù)器控制命令對(duì)會(huì)話和底層事件進(jìn)行處理。
所述SCE單元包括腳本生成模塊、接口適配模塊和控制管理模塊,其中所述腳本生成模塊根據(jù)業(yè)務(wù)信息生成XML腳本的業(yè)務(wù)邏輯腳本;所述接口適 配模塊用于轉(zhuǎn)發(fā)XML業(yè)務(wù)邏輯腳本給業(yè)務(wù)執(zhí)行單元;所述控制管理模塊用于 接受業(yè)務(wù)消息并通知腳本生成模塊生成XML腳本。
所述業(yè)務(wù)執(zhí)行單元包括解釋執(zhí)行單元、關(guān)鍵數(shù)據(jù)保存單元和接口適配單 元;所述解釋執(zhí)行單元包括消息接口處理模塊、控制管理模塊、腳本解析執(zhí)行 模塊、會(huì)話管理模塊和腳本/數(shù)據(jù)管理模塊,消息接口處理模塊用于獲取XML 腳本的消息頭,確定消息來源,然后將消息發(fā)送至業(yè)務(wù)處理線程的消息隊(duì)列; 控制管理模塊用于讀取XML腳本的消息頭和消息數(shù)據(jù)段,并發(fā)往腳本管理解 析模塊;腳本解析執(zhí)行模塊用于將該XML腳本解析為DOM樹結(jié)構(gòu),并根據(jù) 遍歷DOM樹的順序開始執(zhí)行腳本;會(huì)話管理模塊采用會(huì)話控制點(diǎn)和相關(guān)聯(lián)的 會(huì)話控制點(diǎn)對(duì)會(huì)話進(jìn)行控制管理,維護(hù)整個(gè)會(huì)話的狀態(tài)信息,包括會(huì)話的活動(dòng) /非活動(dòng)、通話對(duì)象、時(shí)長、業(yè)務(wù)碼以及終端的地址信息、狀態(tài)(活動(dòng)/非活動(dòng))、 腳本信息等;腳本/數(shù)據(jù)管理模塊用于保存臨時(shí)腳本/數(shù)據(jù);
所述關(guān)鍵數(shù)據(jù)保存單元用于將腳本/數(shù)據(jù)管理模塊中的臨時(shí)數(shù)據(jù)保存; 所述下層接口適配單元用于將會(huì)話管理模塊中發(fā)生的業(yè)務(wù)與下層模塊通 訊實(shí)現(xiàn)增值業(yè)務(wù)。
本發(fā)明,由業(yè)務(wù)生成載入環(huán)境(SCE)根據(jù)數(shù)據(jù)庫中用戶的業(yè)務(wù)信息生成 包含相關(guān)的完整業(yè)務(wù)的XML腳本,并載入提供給SLEE,腳本的邏輯是在呼 叫的過程中動(dòng)態(tài)生成的,腳本描述的一種或多種業(yè)務(wù)在動(dòng)態(tài)生成中形成統(tǒng)一的 整體。SLEE采用在內(nèi)存中建立腳本的DOM對(duì)象樹的方式來執(zhí)行腳本, 一旦 腳本解析為DOM對(duì)象樹,就開始腳本的執(zhí)行,以標(biāo)簽為單位,大體按照前序 遍歷的方式來順序執(zhí)行每個(gè)標(biāo)簽,執(zhí)行時(shí),調(diào)用標(biāo)記解釋函數(shù)進(jìn)行解析,根據(jù)解析的結(jié)果,控制會(huì)話狀態(tài)并下達(dá)呼叫控制命令和媒體服務(wù)器控制命令。增值 業(yè)務(wù)服務(wù)器控制一個(gè)完整的呼叫,從呼叫發(fā)起到中間的每個(gè)業(yè)務(wù)子邏輯,以及 到此呼叫的終結(jié),是一個(gè)完整的呼叫邏輯。增值業(yè)務(wù)服務(wù)器被動(dòng)的解釋執(zhí)行腳 本里的標(biāo)簽,即標(biāo)簽處理函數(shù)的調(diào)用,它本身不需要對(duì)操作邏輯有任何處理, 只是解釋執(zhí)行它而己。
本發(fā)明還提供了基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方法,在本 方法中,電信業(yè)務(wù)的腳本是基于XML語言進(jìn)行描述的,同時(shí)結(jié)合API的輔助 來實(shí)現(xiàn)業(yè)務(wù)邏輯,實(shí)現(xiàn)了軟交換領(lǐng)域內(nèi)的基本、補(bǔ)充、增值等多種業(yè)務(wù)的描述, 腳本的設(shè)計(jì)中吸取了 CPL (Call Processing Language)、 SCML (Service Creation Markup Language)、 XTML (Extensible Telephony Markup Language)、 CCXML
(Call-Control Extensible Markup Language)等腳本標(biāo)記語言的經(jīng)驗(yàn),分析并完 善了對(duì)業(yè)務(wù)邏輯的描述,其中關(guān)鍵是接通后業(yè)務(wù)邏輯的會(huì)話交互處理,以及第 三方觸發(fā)邏輯,同時(shí)兼顧了與當(dāng)下流行的MS/MOML(Media Sessions/ Media Objects Markup Language)、 VoiceXML (Voice Extensible Markup Language)標(biāo) 記語言的組合。腳本包含2種類型的信息呼叫處理行為(call processing actions)和腳本輔助信息(ancillary information)。呼叫處理行為在腳本中呈樹 形結(jié)構(gòu)出現(xiàn),用以描述信令服務(wù)器對(duì)一個(gè)呼叫建立事件的判斷和操作;腳本輔 助信息是服務(wù)器正確處理腳本時(shí)必須的輔助信息。呼叫處理行為(call processing actions)包括有頂級(jí)行為和次級(jí)行為,頂級(jí)行為目前定義的有 <outgoing>、 <incoming>、 〈connected〉分別對(duì)應(yīng)于會(huì)話呼叫的3個(gè)階段
* 〈outgoing〉描述一個(gè)會(huì)話的發(fā)起階段,此部分為會(huì)話的預(yù)處理,對(duì)應(yīng)于業(yè) 務(wù)會(huì)話邏輯中初始只有1個(gè)終端只與主叫信息相關(guān)。* 〈ncoming〉描述一個(gè)會(huì)話的呼叫階段,此部分為會(huì)話的接續(xù)處理,主要與 被叫側(cè)信息相關(guān)。對(duì)應(yīng)于業(yè)務(wù)會(huì)話邏輯中加入了被叫終端,并且會(huì)結(jié)合之 前的處理結(jié)果,在被叫側(cè)發(fā)生關(guān)系。
々onnecte&描述會(huì)話接通以后的事件,處理接通后的業(yè)務(wù)部分。對(duì)應(yīng)于此 部分會(huì)話雙方都可能有事件發(fā)生觸發(fā)諸如"呼叫后轉(zhuǎn)"、"呼叫等待"、"3方 通話"甚至Web或智能業(yè)務(wù),則兩側(cè)同時(shí)發(fā)生關(guān)系,而且相互作用。通過 各個(gè)階段的共同相互作用實(shí)現(xiàn)完整業(yè)務(wù)邏輯,其中々onnected〉階段是描述 會(huì)話接通以后的事件,處理接通后的業(yè)務(wù)部分,是特色的處理階段。 通過腳本描述業(yè)務(wù)邏輯具有很好的可擴(kuò)展性,主要通過〈apb的標(biāo)簽擴(kuò)展
特殊邏輯,當(dāng)復(fù)用程度較高時(shí)則可考慮將其增補(bǔ)為標(biāo)簽的方式來描述更多種類
的業(yè)務(wù)邏輯。
基于以上的分析,本發(fā)明基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方 法包括業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入的步驟和業(yè) 務(wù)執(zhí)行單元向業(yè)務(wù)生成載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)的步驟。
所述業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入的步驟如 下,參見圖2和圖3,
SIO、預(yù)讀業(yè)務(wù)邏輯及相對(duì)應(yīng)的腳本片斷;預(yù)讀后在后續(xù)工作中也可動(dòng)態(tài) 加載或卸載;
S20、接受申請(qǐng)終端腳本的業(yè)務(wù)請(qǐng)求,取出該請(qǐng)求中的業(yè)務(wù)信息,若相關(guān) 業(yè)務(wù)邏輯、腳本片斷、業(yè)務(wù)數(shù)據(jù)都已經(jīng)齊備,則通知腳本生成模塊直接生成腳 本;否則由腳本生成模塊從相應(yīng)的資源點(diǎn)獲取所需資源,若獲取中發(fā)生異常, 則進(jìn)入異常流程;S30、根據(jù)業(yè)務(wù)邏輯生成腳本,此過程將多種業(yè)務(wù)邏輯融合處理,其結(jié)果
從整體上看是一個(gè)完整有機(jī)的整體,而非片斷式的多個(gè)部分,若生成失敗進(jìn)入
異常處理。
S40、將經(jīng)過校驗(yàn)最終生成的腳本,通過接口適配模塊提供給SLEE模塊 調(diào)用。
上述步驟中S30還包括終端注冊(cè)業(yè)務(wù)信息沖突過濾、過濾完成業(yè)務(wù)信息的 優(yōu)先級(jí)排序以及數(shù)據(jù)與腳本模版的準(zhǔn)備,最后進(jìn)行生成,即,根據(jù)從數(shù)據(jù)庫中 獲取的業(yè)務(wù)數(shù)據(jù),從優(yōu)先級(jí)高的開始,如果請(qǐng)求的號(hào)碼有相應(yīng)的業(yè)務(wù),則將相 應(yīng)的數(shù)據(jù)填入腳本片段,然后將有數(shù)據(jù)的片段拼接到整體腳本當(dāng)中,遍歷過后, 生成所需要的腳本。詳細(xì)步驟為
5301、 將終端注冊(cè)業(yè)務(wù)信息進(jìn)行沖突過濾;
5302、 對(duì)過濾后的終端業(yè)務(wù)信息的進(jìn)行優(yōu)先級(jí)排序;
5303、 按照優(yōu)先級(jí)從高至低的順序?qū)⒔K端業(yè)務(wù)相關(guān)數(shù)據(jù)分別填入到腳本樣 例片段模板中;
5304、 將有數(shù)據(jù)的片段拼接到整體腳本當(dāng)中,遍歷過后,生成所需要的腳
本;
5305、 腳本校驗(yàn)。
所述業(yè)務(wù)執(zhí)行單元SLEE向業(yè)務(wù)生成和載入單元SCE索取當(dāng)次會(huì)話消息, 包括XML腳本和數(shù)據(jù),消息格式為消息頭+消息數(shù)據(jù)段+SCXML腳本段 十腳本數(shù)據(jù)段,并假設(shè)此時(shí)已建立會(huì)話和會(huì)話控制點(diǎn),并將主叫掛在會(huì)話控制 點(diǎn)下,具體步驟如下,參見圖4:
SIOO、 SLEE準(zhǔn)備終端業(yè)務(wù)腳本,即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè)務(wù)腳本;
SllO、 SLEE準(zhǔn)備終端業(yè)務(wù)數(shù)據(jù),即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè) 務(wù)數(shù)據(jù);
S120、腳本管理解析模塊將該XML腳本解析為DOM樹結(jié)構(gòu),并根據(jù)遍 歷DOM樹的順序開始執(zhí)行腳本;即依次定位事件標(biāo)簽,調(diào)用標(biāo)記解釋函數(shù)分 別解釋執(zhí)行信息完整的標(biāo)簽,其中執(zhí)行的最小單元是標(biāo)簽節(jié)點(diǎn)單元;如在執(zhí)行 某個(gè)標(biāo)簽過程中需要等待返回的結(jié)果時(shí),暫停當(dāng)次執(zhí)行并保護(hù)現(xiàn)場(chǎng),轉(zhuǎn)去處理 其它消息,直到等待的事件返回并從消息隊(duì)列中取出時(shí),再恢復(fù)現(xiàn)場(chǎng)繼續(xù)執(zhí)行; S130、如果腳本管理解析模塊沒有定位到事件標(biāo)簽時(shí)執(zhí)行SLEE默認(rèn)邏輯; S140、根據(jù)執(zhí)行的結(jié)果控制會(huì)話狀態(tài)并下達(dá)呼叫控制命令和媒體服務(wù)器控 制命令直到結(jié)束。
以下為本發(fā)明應(yīng)用的一個(gè)具體呼叫實(shí)例,其中域內(nèi)用戶A為主叫(主叫用 戶為預(yù)付費(fèi)用戶),域內(nèi)用戶B為被叫,用戶A注冊(cè)縮位撥號(hào)業(yè)務(wù),用戶B注 冊(cè)彩鈴和無應(yīng)答呼叫轉(zhuǎn)移業(yè)務(wù),將呼叫轉(zhuǎn)移到域外用戶C。 流程說明如下
1. 業(yè)務(wù)系統(tǒng)中的CA呼叫代理向SLEE上報(bào)主叫摘機(jī)origination事件包 括主被叫的號(hào)碼、區(qū)號(hào)、域內(nèi)/域外屬性、A的SDP信息,其中,CA中包含有 用于統(tǒng)一Sip、 H.248、 H.323、 MGCP、 V5等多種VOIP通信協(xié)議的模塊。
2. SLEE查詢A的會(huì)話狀態(tài),若A不在任何會(huì)話中,則新建一個(gè)會(huì)話和會(huì) 話控制點(diǎn),將A用戶加入到控制點(diǎn),并調(diào)用A的腳本;若A的腳本不存在, 則腳本管理模塊向SCE請(qǐng)求A的腳本,得到腳本后進(jìn)行解析(執(zhí)行outgoing 段)。
<outgoing><if address="destination.is == '**01@phone.example.com'"> 〈service type="AbbreviatedDialing" />
<location url="87691000@phone.example.com"> <transform /> </location> </i》
</outgoing>
3. 由于A用戶使用的是縮位撥號(hào),outgoing的執(zhí)行結(jié)果返回真實(shí)的被叫號(hào) 碼B, SLEE將號(hào)碼B發(fā)給CA進(jìn)行號(hào)碼分析,得到分析結(jié)果,區(qū)號(hào)、域內(nèi)/域 外屬性等。
4. SLEE將A和B的號(hào)碼信息發(fā)給OSS,獲取最大通話時(shí)長。
5. 若為合法的通話時(shí)長,則將B用戶加入到會(huì)話控制點(diǎn),并調(diào)用B的腳本。
6. 獲取B的腳本后,解析并執(zhí)行incoming段。 <subaction id="CallForwardingonNoAnswer">
<if time="now >= '08:00:00' & now <= ,16:00:00'"> <service type="CallForwardingonNoAnswer" /> <locationurl="sip:bob@example.com"> <setup /> </location> </i》</subaction>
<incoming>
<location url="sip:jane@example.com"> 〈service type="ColorRingBackTone" />
<setup timeout-" 15" RingBackTone="ring—02"> <noanswer〉
<sub ref="CallForwardingonNoAnswer" />
</noanswer> </setup> </location> </incoming>
7. 首先執(zhí)行々etup〉節(jié)點(diǎn),SLEE向CA發(fā)送setup命令,包括A和B的 號(hào)碼,A的SDP信息,CA將A和B建立連接。
8. CA上報(bào)被叫振鈴ringing事件,SLEE解析B腳本々inging〉節(jié)點(diǎn),根 據(jù)解析結(jié)果,得到彩鈴業(yè)務(wù)號(hào)(用于產(chǎn)生原始話單),腳本解析執(zhí)行模塊向MS 控制模塊發(fā)送消息,要求MS向A播放指定的彩鈴。
9. MS控制模塊通過擴(kuò)展的SIP模塊向MS發(fā)送INVITE消息,帶有A 的SDP和播放彩鈴的MSML/MOML腳本。
10.SLEE收到MS返回的200OK消息(帶有MS的SDP)后,向CA發(fā)送主叫回鈴ring命令向主叫放回鈴音。
11. CA上報(bào)回鈴音ringback事件,通知SLEE主叫已回鈴。
12. CA上報(bào)無應(yīng)答noanswer事件,通知SLEE被叫無應(yīng)答,SLEE解析B 腳本〈noanswer〉節(jié)點(diǎn),根據(jù)解析結(jié)果,得到無應(yīng)答前轉(zhuǎn)的業(yè)務(wù)號(hào)和域外號(hào)碼C。
13.SLEE將B從會(huì)話控制點(diǎn)刪除,記錄A和B的原始話單數(shù)據(jù),包括 主被叫號(hào)碼、業(yè)務(wù)號(hào)、通話時(shí)長等。
14.SLEE將A和C的號(hào)碼信息發(fā)給OSS (營帳系統(tǒng)),獲取最大通話時(shí)長。
15. 若通話時(shí)長大于1分鐘,將C用戶加入到會(huì)話控制點(diǎn),向CA發(fā)送連 接setup命令,包括A和C的號(hào)碼,A的SDP信息。
16. CA將A和C建立連接,其間,SLEE向MS發(fā)送修改SDP信息的 MODIFY消息,修改A的回鈴音。
17. CA上報(bào)被叫應(yīng)答answer事件,通知SLEE用戶C摘機(jī)。SLEE發(fā)送 BYE消息到MS,并發(fā)送connect命令給CA。
18. CA上報(bào)用戶A的接通connected事件,SLEE記錄通話開始時(shí)間。若 需要,調(diào)用A的connected腳本。
19. CA上報(bào)掛機(jī)termination事件,通知SLEE主叫A掛機(jī);若需要,SLEE 調(diào)用A的connected腳本。
20.SLEE向CA發(fā)送釋放release命令,記錄通話結(jié)束時(shí)間,生成A和C 的原始話單數(shù)據(jù),并結(jié)束A的腳本、刪除會(huì)話控制點(diǎn)、釋放資源。
本發(fā)明不局限于上述最佳實(shí)施方式,任何人應(yīng)該得知在本發(fā)明的啟示下作 出的結(jié)構(gòu)變化,凡是與本發(fā)明具有相同或相近的技術(shù)方案,均落入本發(fā)明的保 護(hù)范圍之內(nèi)。
權(quán)利要求
1、基于XML腳本的電信業(yè)務(wù)增值服務(wù)器,其特征在于包括業(yè)務(wù)生成和載入單元,用XML腳本描述業(yè)務(wù)邏輯的生成并載入;業(yè)務(wù)執(zhí)行單元,向業(yè)務(wù)生成和載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)并下達(dá)呼叫控制命令和媒體服務(wù)器控制命令對(duì)會(huì)話和底層事件進(jìn)行處理。
2、 如權(quán)利要求1所述的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器,其特征 在于所述業(yè)務(wù)生成和載入單元包括腳本生成模塊,根據(jù)數(shù)據(jù)庫中用戶的業(yè)務(wù)信息生成XML腳本的業(yè)務(wù)邏輯 腳本;接口適配模塊,用于轉(zhuǎn)發(fā)業(yè)務(wù)邏輯的XML腳本給業(yè)務(wù)執(zhí)行單元; 控制管理模塊,用于接受消息并通知腳本生成模塊生成XML腳本。
3、 如權(quán)利要求1所述的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器,其特征 在于所述業(yè)務(wù)執(zhí)行單元包括解釋執(zhí)行單元、關(guān)鍵數(shù)據(jù)保存單元和下層接口適 配單元,所述解釋執(zhí)行單元包括消息接口處理模塊,用于獲取XML腳本的消息頭,確定消息來源,然后 將消息發(fā)送至業(yè)務(wù)處理線程的消息隊(duì)列;控制管理模塊,用于讀取XML腳本的消息頭和消息數(shù)據(jù)段,并發(fā)往腳本 管理解析模塊;腳本解析執(zhí)行模塊,用于將獲取到的XML腳本解析為DOM樹狀結(jié)構(gòu)并 按照遍歷DOM樹的順序執(zhí)行腳本;會(huì)話管理模塊,用于維護(hù)整個(gè)會(huì)話的狀態(tài)信息; 腳本/數(shù)據(jù)管理模塊,用于保存臨時(shí)腳本/數(shù)據(jù);所述關(guān)鍵數(shù)據(jù)保存單元用于將腳本/數(shù)據(jù)管理模塊中的臨時(shí)數(shù)據(jù)保存; 所述下層接口適配單元用于將會(huì)話管理模塊中發(fā)生的業(yè)務(wù)與下層模塊通 訊實(shí)現(xiàn)增值業(yè)務(wù)。
4、 基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方法,其特征在于包括 以下步驟,業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入的步驟; 業(yè)務(wù)執(zhí)行單元向業(yè)務(wù)生成載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)的步驟。
5、 如權(quán)利要求4所述的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方 法,其特征在于所述業(yè)務(wù)生成載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載 入的步驟包括SIO、預(yù)讀業(yè)務(wù)邏輯及相對(duì)應(yīng)的腳本片斷;S20、接受申請(qǐng)終端腳本的業(yè)務(wù)請(qǐng)求,取出該請(qǐng)求中的業(yè)務(wù)信息,若相關(guān) 業(yè)務(wù)邏輯、腳本片斷、業(yè)務(wù)數(shù)據(jù)都已經(jīng)齊備,則通知腳本生成模塊直接生成腳 本;否則由腳本生成模塊從相應(yīng)的資源點(diǎn)獲取所需資源,若獲取中發(fā)生異常, 則進(jìn)入異常流程;S30、根據(jù)業(yè)務(wù)邏輯生成腳本,若生成失敗進(jìn)入異常處理流程;S40、經(jīng)過校驗(yàn)最終生成的腳本,通過接口適配模塊提供給SLEE模塊調(diào)用。
6、 如權(quán)利要求4所述的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方 法,其特征在于所述業(yè)務(wù)執(zhí)行單元向業(yè)務(wù)生成載入單元索取當(dāng)次會(huì)話的腳本和 數(shù)據(jù)的步驟包括SIOO、 SLEE準(zhǔn)備終端業(yè)務(wù)腳本,即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè)務(wù)腳本;SllO、 SLEE準(zhǔn)備終端業(yè)務(wù)數(shù)據(jù),即SLEE向SCE索取當(dāng)次會(huì)話的相應(yīng)業(yè) 務(wù)數(shù)據(jù);S120、腳本管理解析模塊將該XML腳本解析為DOM樹結(jié)構(gòu),并根據(jù)遍歷DOM樹的順序開始執(zhí)行腳本;S130、如果腳本管理解析模塊沒有定位到事件標(biāo)簽時(shí)執(zhí)行SLEE默認(rèn)邏輯; S140、根據(jù)執(zhí)行的結(jié)果控制會(huì)話狀態(tài)并下達(dá)呼叫控制命令和媒體服務(wù)器控制命令直到結(jié)束。
7、如權(quán)利要求5所述的基于XML腳本的電信業(yè)務(wù)增值服務(wù)器的實(shí)現(xiàn)方法, 其特征在于所述步驟S30包括以下步驟`5301、 將終端注冊(cè)業(yè)務(wù)信息進(jìn)行沖突過濾; `5302、 對(duì)過濾后的終端業(yè)務(wù)信息的進(jìn)行優(yōu)先級(jí)排序; `5303、 按照優(yōu)先級(jí)從高至低的順序?qū)⒔K端業(yè)務(wù)相關(guān)數(shù)據(jù)分別填入到腳本樣 例片段模板中;`5304、 將有數(shù)據(jù)的片段拼接到整體腳本當(dāng)中,遍歷過后,生成所需要的腳本;`5305、 腳本校驗(yàn)。
全文摘要
本發(fā)明公開了一種基于XML腳本的電信業(yè)務(wù)增值服務(wù)器,包括業(yè)務(wù)生成和載入單元和和業(yè)務(wù)執(zhí)行單元,業(yè)務(wù)生成和載入單元用XML腳本描述業(yè)務(wù)邏輯的生成并載入;業(yè)務(wù)執(zhí)行單元向業(yè)務(wù)生成和載入單元索取當(dāng)次會(huì)話的腳本和數(shù)據(jù)并下達(dá)呼叫控制命令和媒體服務(wù)器控制命令對(duì)會(huì)話和底層事件進(jìn)行處理。本發(fā)明還提供了上述電信增值業(yè)務(wù)的實(shí)現(xiàn)方法。本發(fā)明,在不修改主體程序代碼的情況下,用基于XML面向電信領(lǐng)域的腳本描述電信業(yè)務(wù),這樣,通過修改外部XML業(yè)務(wù)執(zhí)行腳本就可以實(shí)現(xiàn)業(yè)務(wù)邏輯的改變和業(yè)務(wù)融合,從而有助于向用戶提供靈活的個(gè)性化業(yè)務(wù)組合。
文檔編號(hào)G06F9/44GK101547263SQ20091013670
公開日2009年9月30日 申請(qǐng)日期2009年5月13日 優(yōu)先權(quán)日2009年5月13日
發(fā)明者劉會(huì)松, 海 畢, 頔 趙 申請(qǐng)人:烽火通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1