|
2007 年 1 月 11 日
IP 多媒體子系統(tǒng) (IMS) 是電信行業(yè)的“下一個(gè)亮點(diǎn)”。此第三代合作伙伴計(jì)劃 (3GPP) 是經(jīng)過標(biāo)準(zhǔn)化的下一代網(wǎng)絡(luò) (NGN) 體系結(jié)構(gòu),可將長期存在的 IP 網(wǎng)絡(luò)提供的服務(wù)與便攜式數(shù)字設(shè)備(如 3G 移動(dòng)電話)的移動(dòng)性集成。在本文中,您將了解如何使用 IMS SOA ParlayX Web 服務(wù)創(chuàng)建有用的電信服務(wù)。
關(guān)于本文
為了讓您恰當(dāng)?shù)乩斫?IMS 以及其使用情況,我們將對 IMS 網(wǎng)絡(luò)總體體系結(jié)構(gòu)進(jìn)行介紹。我們將考慮以下問題:什么是 IMS?為何要使用它?誰在使用 IMS?然后,我們將深入 IMS 的核心:ParlayX SOA Web 服務(wù)。我們將討論服務(wù)提供的函數(shù)調(diào)用以及這些服務(wù)如何適應(yīng) IMS。最后,我們將提供一個(gè)實(shí)際示例,以說明如何使用 IMS SOA ParlayX Web 服務(wù)創(chuàng)建有用的電信服務(wù)。
1. IMS 簡介
1.1 什么是 IMS?
IP 多媒體子系統(tǒng) (IMS) 是一組規(guī)范,描述用于實(shí)現(xiàn)基于 IP 的電話和多媒體服務(wù)的下一代網(wǎng)絡(luò) (NGN) 體系結(jié)構(gòu)。IMS 定義了一個(gè)完整的體系結(jié)構(gòu)和框架,允許在基于 IP 的基礎(chǔ)設(shè)施上對聲音、視頻、數(shù)據(jù)和移動(dòng)網(wǎng)絡(luò)技術(shù)進(jìn)行聚合。它填補(bǔ)了兩個(gè)最成功的通信范式(移動(dòng)電話和 Internet 技術(shù))之間的空白。您是否想像過某天可以這樣,無論您在何處使用 3G 手持設(shè)備,都能夠在網(wǎng)上沖浪、玩網(wǎng)絡(luò)游戲或參加視頻會(huì)議?這正是 IMS 的遠(yuǎn)景:提供對 Internet 提供的所有服務(wù)的移動(dòng)接入。
1.2 IMS 的歷史
IMS 最初是由第三代合作伙伴計(jì)劃 (3GPP) 定義的,3GPP 是多個(gè)電信標(biāo)準(zhǔn)組織間達(dá)成的協(xié)作協(xié)議,是其支持 GSM 網(wǎng)絡(luò)和無線電技術(shù)發(fā)展的標(biāo)準(zhǔn)化工作的一部分。IMS 最初是在 3GPP 第 5 版中推出的,其中將互聯(lián)網(wǎng)工程工作小組(Internet Engineering Task Force ,IETF)定義的“會(huì)話發(fā)起協(xié)議”(Session Initiated Protocol,SIP)作為了 IMS 的主要協(xié)議。3 GPP 的第 6 版和第 7 版對此進(jìn)行了進(jìn)一步的增強(qiáng),以包括其他功能,如在線狀態(tài)和組管理、與 WLAN 和基于 CS 的系統(tǒng)協(xié)作以及固定帶寬接入等。
另一個(gè)標(biāo)準(zhǔn)組織,第三代合作伙伴計(jì)劃 2(3rd Generation Partnership Project 2,3GPP2)也對自己的 IMS 進(jìn)行了標(biāo)準(zhǔn)化。成立 3GPP2 是為了將北美和亞洲移動(dòng)無線電通信跨系統(tǒng)操作過渡到第三代系統(tǒng)。3GPP2 規(guī)范有關(guān) IMS 的最初版本主要源自 3GPP 第 5 版。兩個(gè)組織定義的 IMS 網(wǎng)絡(luò)相當(dāng)類似,但并非完全相同。3GPP2 根據(jù)其特定的問題進(jìn)行了相應(yīng)的調(diào)整。不過,這兩個(gè)組織的目的都是為了確保 IMS 應(yīng)用程序?qū)⒖绮煌木W(wǎng)絡(luò)基礎(chǔ)設(shè)施一致地工作。
除了 3GPP 和 3GPP2 外,開放移動(dòng)聯(lián)盟(Open Mobile Alliance,OMA)在制訂和開發(fā) IMS 移動(dòng)標(biāo)準(zhǔn)化方面也扮演著重要的角色。OMA 定義的服務(wù)構(gòu)建于 IMS 基礎(chǔ)設(shè)施之上,如即時(shí)消息傳遞(Instant Messaging,IM)、在線狀態(tài)服務(wù)和組管理服務(wù)等。
1.3 IMS 的好處
我們已經(jīng)討論過了,IMS 是一種使用移動(dòng)技術(shù)在任何地方提供 Internet 服務(wù)的方法。您可能已經(jīng)非常熟悉通過 2.5G 和 3G 移動(dòng)電話訪問 Internet 服務(wù)(如網(wǎng)絡(luò)接入、電子郵件或即時(shí)消息傳遞等)。因此,您可能會(huì)覺得奇怪,為什么我們還需要 IMS 呢?
IMS 優(yōu)于現(xiàn)有移動(dòng)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的好處可通過以下四個(gè)方面體現(xiàn)。
- IMS 提供了公共平臺來減少推出新多媒體服務(wù)的上市時(shí)間:目前的通信網(wǎng)絡(luò)面臨的最大挑戰(zhàn)之一是對用于創(chuàng)建新服務(wù)的冗長而開銷很大的流程進(jìn)行改進(jìn)。服務(wù)提供商都在尋找減少推出新多媒體服務(wù)的上市時(shí)間的方法。IMS 基礎(chǔ)設(shè)施通過提供標(biāo)準(zhǔn)平臺和可重用組件解決了此問題。IMS 基礎(chǔ)設(shè)施提供的標(biāo)準(zhǔn)接口和常用功能使得服務(wù)提供商能夠方便地采用第三方創(chuàng)建的服務(wù)和創(chuàng)建與很多服務(wù)有效集成的服務(wù)。此外,通過 IMS 提供的標(biāo)準(zhǔn)化接口,服務(wù)將不再僅由單個(gè)提供商提供;任何實(shí)現(xiàn)標(biāo)準(zhǔn)化接口的提供商都可以提供服務(wù)。多供應(yīng)商服務(wù)創(chuàng)建行業(yè)可帶來一個(gè)開放的市場,允許服務(wù)提供商選擇最有效的方式推出新服務(wù)。
- IMS 通過服務(wù)質(zhì)量(Quality of Service,QoS)增強(qiáng)功能提供多媒體服務(wù):盡管 3G 移動(dòng)網(wǎng)絡(luò)中大幅度增加的帶寬提供了比 2.5G 移動(dòng)網(wǎng)絡(luò)更快更可靠的 Internet 接入,但并不能保證服務(wù)的質(zhì)量。3G 移動(dòng)網(wǎng)絡(luò)提供了“盡力服務(wù)” (best effort),這意味著網(wǎng)絡(luò)將盡力確保所需的代碼,但并不能保證將保持在相同的水平。因此,特定連接的帶寬可能會(huì)因時(shí)間不同而發(fā)生重大變化。為了解決此問題,開發(fā)了服務(wù)質(zhì)量 (QoS) 機(jī)制來在傳輸期間提供保證的網(wǎng)絡(luò)帶寬水平,而不是采用“盡力服務(wù)”。IMS 指定了 IP 網(wǎng)絡(luò)內(nèi)的服務(wù)質(zhì)量增強(qiáng)功能,并利用 QoS 機(jī)制來提高和保證傳輸質(zhì)量。
- IMS 允許運(yùn)營商對多媒體會(huì)話進(jìn)行適當(dāng)收費(fèi):如果用戶通過 3G 移動(dòng)網(wǎng)絡(luò)使用了視頻會(huì)議,則通常會(huì)產(chǎn)生包含音頻和視頻的大量數(shù)據(jù)傳輸。這通常開銷非常大,因?yàn)檫\(yùn)營商通常是按照傳輸?shù)淖止?jié)數(shù)進(jìn)行收費(fèi)的。另一方面,如果運(yùn)營商愿意根據(jù)實(shí)際移動(dòng)類型提供不同的收費(fèi)方案,則對用戶的好處將更大。IMS 的優(yōu)勢在于,它提供有關(guān)用戶調(diào)用的移動(dòng)類型的信息,從而允許運(yùn)營商確定如何基于移動(dòng)類型對用戶進(jìn)行收費(fèi),即,他們可以選擇按照所傳輸?shù)淖止?jié)數(shù)、會(huì)話持續(xù)時(shí)間(基于時(shí)間)對用戶進(jìn)行收費(fèi)或執(zhí)行任何新類型的收費(fèi)方式。
- IMS 允許以不受用戶的位置影響的方式提供所有服務(wù):使用移動(dòng)技術(shù)時(shí)一個(gè)典型的令人懊惱的問題就是,當(dāng)用戶在其他國家(地區(qū))漫游時(shí),某些服務(wù)將不可用。為了解決此問題,IMS 將使用 Internet 技術(shù)和協(xié)議來允許用戶在國家(地區(qū))之間自由漫游,且仍然能夠像在國內(nèi)網(wǎng)絡(luò)中一樣執(zhí)行所有的服務(wù)。
1.4 IMS 體系結(jié)構(gòu)
IMS 體系結(jié)構(gòu)支持各種基于 SIP 協(xié)議啟用的大量服務(wù)。正如您在下面的圖 1-1 中所看到的,IMS 體系結(jié)構(gòu)提供的多媒體服務(wù)可由服務(wù)通過 IP 網(wǎng)絡(luò)或傳統(tǒng)電話系統(tǒng)從各種設(shè)備進(jìn)行訪問?;A(chǔ)網(wǎng)絡(luò)體系結(jié)構(gòu)可分為三個(gè)層次(設(shè)備層、傳輸層和控制層),其上還有服務(wù)層,我們將按照從下向上的順序分別進(jìn)行介紹。
- 設(shè)備層:IMS 體系結(jié)構(gòu)提供了各種選擇,供用戶選擇端點(diǎn)設(shè)備。計(jì)算機(jī)、手機(jī)、PDA 和數(shù)字電話等 IMS 設(shè)備可以通過網(wǎng)絡(luò)連接到 IMS 基礎(chǔ)設(shè)施。其他類型的設(shè)備(如傳統(tǒng)模擬電話)盡管不能直接連接到 IP 網(wǎng)絡(luò),但能夠通過 PSTN 網(wǎng)關(guān)與這些設(shè)備建立連接。
- 傳輸層:傳輸層負(fù)責(zé)發(fā)起和終止 SIP 會(huì)話,并提供所傳輸?shù)臄?shù)據(jù)在模擬/數(shù)字格式和 IP 數(shù)據(jù)包格式之間的轉(zhuǎn)換。IMS 設(shè)備通過各種傳輸媒體連接到傳輸層中的 IP 網(wǎng)絡(luò),此類傳輸媒體包括 WiFi(一種無線局域網(wǎng)技術(shù))、DSL、光纖、SIP、GPRS(通用分組無線業(yè)務(wù)——General Packet Radio Service,一種移動(dòng)數(shù)據(jù)服務(wù))和 WCDMA(寬帶碼分多址——Wideband Code Division Multiple Access,一種 3G 移動(dòng)網(wǎng)絡(luò))。此外,傳輸層允許 IMS 設(shè)備通過 PSTN 網(wǎng)關(guān)呼叫 PSTN 網(wǎng)絡(luò)或其他電路交換網(wǎng)絡(luò)和接收來自這些網(wǎng)絡(luò)的呼叫。
- 控制層:呼叫會(huì)話控制功能(Call Session Control Function,CSCF)是指代 SIP 服務(wù)器或代理的統(tǒng)稱,是控制層中的核心組成部分之一。CSCF 負(fù)責(zé)端點(diǎn)的 SIP 注冊,并處理服務(wù)層中恰當(dāng)應(yīng)用服務(wù)器的 SIP 信號消息傳遞??刂茖又械牧硪粋€(gè)組成部分是存儲(chǔ)每個(gè)用戶的唯一服務(wù)配置文件的歸屬訂戶服務(wù)器(Home Subscriber Server,HSS)數(shù)據(jù)庫。服務(wù)配置文件可以包含用戶的 IP 地址、電話記錄、聯(lián)系人列表、語音郵件問候語等等。通過將用戶的信息集中在 HSS 中,服務(wù)提供商可以跨 IMS 中提供的所有服務(wù)創(chuàng)建統(tǒng)一的個(gè)人目錄和進(jìn)行集中用戶數(shù)據(jù)管理。
- 服務(wù)層:在 IMS 網(wǎng)絡(luò)體系結(jié)構(gòu)之上是服務(wù)層。上面描述的三個(gè)層提供了一個(gè)集成的標(biāo)準(zhǔn)網(wǎng)絡(luò)平臺,以允許服務(wù)提供商在服務(wù)層中提供各種多媒體服務(wù)。服務(wù)全部由應(yīng)用服務(wù)器運(yùn)行。應(yīng)用服務(wù)器不僅負(fù)責(zé)承載和執(zhí)行服務(wù),而且還要使用 SIP 協(xié)議提供針對控制層的接口。單個(gè)應(yīng)用服務(wù)器可以承載多個(gè)服務(wù),例如電話和消息傳遞服務(wù)可以在同一個(gè)應(yīng)用服務(wù)器上運(yùn)行;這種靈活性的優(yōu)勢在于,可以減少控制層的工作負(fù)載。有很多提供不同服務(wù)的應(yīng)用服務(wù)器,以下將專門討論三種 IMS 核心應(yīng)用服務(wù)器。
- 在線狀態(tài)服務(wù)器:“在線狀態(tài)服務(wù)器”提供用于收集、管理和分發(fā)實(shí)時(shí)可用性和用戶間的通信方法的服務(wù)。它允許用戶發(fā)布其在線狀態(tài)信息,還允許訂閱服務(wù),以接收其他用戶變化的通知。
- 組列表管理服務(wù)器:“組列表管理服務(wù)器”提供特定的服務(wù),以允許用戶或管理員管理、創(chuàng)建、修改、刪除和搜索基于網(wǎng)絡(luò)的組定義和關(guān)聯(lián)成員列表。它還維護(hù)訪問權(quán)限和其他與組及成員關(guān)聯(lián)的特定屬性。另外,還用于為即時(shí)消息傳遞或其他服務(wù)提供聯(lián)系人列表。
- 即時(shí)消息傳遞服務(wù)器:“即時(shí)消息傳遞服務(wù)器”提供允許用戶發(fā)送和接收即時(shí)消息的通信服務(wù)。用戶能夠通過 IP 網(wǎng)絡(luò)交付包含富文本、圖像、音頻、視頻或這些內(nèi)容的組合的消息。它在目前的 Internet 社區(qū)得到了廣泛的應(yīng)用,IMS 將為移動(dòng)世界提供相同的服務(wù)體驗(yàn)。
圖 1-1. IMS 體系結(jié)構(gòu)關(guān)系圖
服務(wù)提供商急切地想為其客戶提供利用上面描述的現(xiàn)有服務(wù)資源開發(fā)和實(shí)現(xiàn)服務(wù)的能力。不過,很多企業(yè)應(yīng)用程序開發(fā)人員可能具有 IT 背景,但并不熟悉這些復(fù)雜的電話協(xié)議(如 SIP、ISDN、SS7 等等);他們需要用于進(jìn)行服務(wù)創(chuàng)建和開發(fā)的簡單 API。這就歸結(jié)到了 Parlay X SOA (Service-Oriented Architecture) Web 服務(wù);這些服務(wù)是由 Parlay Group 于 2003 年定義,目的是為了提供一組與電信相關(guān)的簡單易用的高級 Web 服務(wù)。Parlay X 的基本思路是為了在已經(jīng)為大量開發(fā)人員和程序員廣為接受和了解的上下文中提供 Web 服務(wù),在提供了各種開發(fā)工具的環(huán)境中進(jìn)行相關(guān)工作。通過使用 Parlay X SOA Web 服務(wù)接口,應(yīng)用程序開發(fā)人員可以更方便地通過 Web 服務(wù)訪問和利用現(xiàn)有 IMS 服務(wù)。Parlay X SOA Web 服務(wù)通過 Open Services Access - Gateway (OSA-GW) 或直接通過 IP 協(xié)議上的數(shù)據(jù)服務(wù)組件連接到電信網(wǎng)絡(luò)。
將在下一部分對 Parlay X SOA Web 服務(wù)的細(xì)節(jié)進(jìn)行說明。
2. IMS SOA Parlay X Web 服務(wù)
現(xiàn)在,您應(yīng)該已經(jīng)具備了 IMS 的基本知識??梢詫⑵浔茸麟娦判袠I(yè)的一個(gè)包含各種工具的百寶箱,而 SOA Parlay X Web 服務(wù)則是百寶箱中最有用的資源。在這一部分,您將了解可以使用哪些 SOA Web 服務(wù)。
圖 2-1 給出了 IMS 體系結(jié)構(gòu)內(nèi) Parlay X SOA Web 服務(wù)概略視圖:
圖 2-1. Parlay X SOA Web 服務(wù)如何適應(yīng) IMS
在深入了解細(xì)節(jié)前,我們需要了解有關(guān) Parlay 的一些其他信息。Parlay 是非營利標(biāo)準(zhǔn)組織,于 1998 年成立,其會(huì)員由很多公司組成。它的主要目標(biāo)是整理出供電信行業(yè)專門用于創(chuàng)建創(chuàng)新服務(wù)的公共 API (Application Programming Interface) 集。由于 Web 服務(wù)大受歡迎,于 2000 年將 Parlay 4.0 API 更新為了 Web 服務(wù),以便支持創(chuàng)建面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA)。我們將此遷移所得到的產(chǎn)品稱為 SOA Parlay X Web 服務(wù)。SOA Parlay X Web 服務(wù)出現(xiàn)后,不具有電信知識的 IT 開發(fā)人員現(xiàn)在就可以像調(diào)用任何普通 Web 服務(wù)一樣操作電信服務(wù)了:從 Java 進(jìn)行一個(gè)簡單的函數(shù)調(diào)用,就能以簡單而直接的方式進(jìn)入復(fù)雜的電信世界了。
Parlay 4.0 包含 17 個(gè) Parlay X Web 服務(wù);它提供的豐富功能允許開發(fā)人員創(chuàng)建大量創(chuàng)新的電信服務(wù),其可能性僅受到開發(fā)人員的想象力的限制:
- 公共基礎(chǔ)
- 第三方呼叫
- 呼叫通知
- 短信(Short Messaging,SMS)
- 彩信(Multimedia Messaging,MMS)
- 支付
- 帳戶管理
- 終端狀態(tài)
- 終端位置
- 呼叫處理
- 語音呼叫
- 多媒體會(huì)議
- 地址列表管理
- 在線狀態(tài)
- 消息廣播
- 地理編碼和映射
- 應(yīng)用程序驅(qū)動(dòng)的服務(wù)質(zhì)量(Quality of Service,QoS)
我們將深入介紹一些最重要的服務(wù),而其他的服務(wù)將僅點(diǎn)到為止。好,讓我們開始吧!
2.1 Parlay X Web 服務(wù)——第三方呼叫
簡單說來,Parlay X 第三方呼叫 Web 服務(wù)允許您發(fā)起兩個(gè)電話之間的呼叫連接。通過公開的高級 Web 服務(wù)接口,開發(fā)人員可以從 Java 程序建立任意兩個(gè)呼叫者之間的電話呼叫;此程序可以為應(yīng)用程序、Servlet 甚至 EJB (Enterprise Java Bean)。makeCall(Agent1, Agent2, ...) 可在 Agent1 和 Agent2 之間建立呼叫連接,如圖 2-2 中所示:
圖 2-2. 第三方呼叫函數(shù):makeCall(Agent1, Agent2, ...)
如果您成功建立了雙方間的 SIP 呼叫,將會(huì)返回表示此特定呼叫會(huì)話的 CallIdentifier。通過將 CallIdentifier 傳遞到 getCallInformation(CallIdentifier) 函數(shù)中,可以檢索有關(guān)此呼叫會(huì)話的信息,如呼叫狀態(tài)、會(huì)話持續(xù)時(shí)間、呼叫開始時(shí)間和終止原因(如果會(huì)話已終止)。具體如圖 2-3 中所示:
圖 2-3. 第三方呼叫函數(shù):getCallInformation(CallIdentifier)
假定您希望結(jié)束 Agent1 和 Agent2 間的 SIP 呼叫會(huì)話,則可以對第三方呼叫 Web 服務(wù)發(fā)出 endCall(CallIdentifier) 函數(shù)調(diào)用。類似地,您傳遞的 CallIdentifier 參數(shù)將唯一地表示特定呼叫會(huì)話。具體如圖 2-4 中所示:
圖 2-4. 第三方呼叫函數(shù):endCall(CallIdentifier)
第三方呼叫為開發(fā)人員提供的最后一個(gè)操作是取消呼叫的能力,通過 cancelCall(CallIdentifier) 函數(shù)進(jìn)行。取消呼叫和停止呼叫之間的區(qū)別在于,前者在使用 makeCall() 請求尚未完全建立會(huì)話期間使用,而后者則在使用 makeCall () 請求已成功建立了會(huì)話之后使用。
2.2 Parlay X Web 服務(wù)——在線狀態(tài)
Parlay X 在線狀態(tài) Web 服務(wù)允許應(yīng)用程序訂閱在線狀態(tài)實(shí)體,還能夠同步查詢在線狀態(tài)實(shí)體的當(dāng)前在線狀態(tài)信息。隨后當(dāng)在線狀態(tài)實(shí)體更改其狀態(tài)時(shí)它將以異步方式接收通知,還能夠向在線狀態(tài)實(shí)體取消訂閱。在線狀態(tài)實(shí)體是其在線狀態(tài)信息被關(guān)注的實(shí)體。例如,您可以通過 Web 服務(wù)函數(shù) subscribePresence(Presentity, Attributes,...) 使用在線狀態(tài) Web 服務(wù)來向自己的車輛的車載單元(On-Board Unit,OBU)進(jìn)行訂閱,其中 Presentity 參數(shù)應(yīng)為指向您的 OBU 的位置的 URI,如 SIP URI。成功訂閱后,可以隨后發(fā)出 getUserPresence(Presentity, attributes) 來以同步方式檢索您的車輛的 OBU 的在線情況信息。具體如圖 2-5 中所示:
圖 2-5. 使用 getUserPresence(Presentity, Attribute) 以同步方式檢索在線狀態(tài)信息
此時(shí),您可能會(huì)覺得奇怪,在線狀態(tài) Web 服務(wù)如何知道您的車輛的最新在線狀態(tài)實(shí)體信息呢?這是通過您車輛的 OBU 對在線狀態(tài) Web 服務(wù)進(jìn)行的另一個(gè)服務(wù)調(diào)用實(shí)現(xiàn)的,即 publish(Presence) 方法。publish(Presence) 函數(shù)允許您的 OBU 定期將其在線狀態(tài)信息發(fā)布到在線狀態(tài) Web 服務(wù),如其位置、狀態(tài)、當(dāng)前活動(dòng)、首選通信類型或保密級別,這些信息將隨后通過后端在線狀態(tài)服務(wù)器保存到數(shù)據(jù)庫中。此數(shù)據(jù)流如下面的圖 2-6 中所示:
圖 2-6. 使用 publish(Presence) 定期發(fā)布您的在線狀態(tài)實(shí)體信息,以供檢索
既然已經(jīng)了解了如何發(fā)布在線狀態(tài)實(shí)體信息以及如何以同步方式檢索信息,也應(yīng)該知道可以采用異步方式檢索此信息。例如,如果您希望在車輛更改其狀態(tài)時(shí)以異步方式獲得通知,則可以進(jìn)行此操作。首先,您將調(diào)用 Web 服務(wù)函數(shù) startPresenceNotification(Presentity, Attrributes ...),如果您的車輛的位置狀態(tài)發(fā)生變化,您將接收到有關(guān)最近發(fā)生的更改的通知。請參見圖 2-7:
圖 2-7. 以異步方式檢索有關(guān)在線狀態(tài)實(shí)體狀態(tài)更改的通知
調(diào)用 startPresenceNotification() 時(shí),您還將傳入一個(gè) Correlator 作為參數(shù)。此 Correlator 用于一個(gè)重要的用途:稍后終止此通知請求。通過 endPresenceNotification(Correlator) Web 服務(wù)調(diào)用,您的程序可以終止 correlator 指定的通知請求,從而停止接收以后的通知。
2.3 Parlay X Web 服務(wù)——終端狀態(tài)
Parlay X 終端狀態(tài) Web 服務(wù)提供與在線狀態(tài) Web 服務(wù)類似的功能,但更為簡單,僅允許查詢 IMS 終端設(shè)備的狀態(tài)。另一方面,在線狀態(tài) Web 服務(wù)提供了豐富而完整的在線狀態(tài)實(shí)體信息,對僅關(guān)心某個(gè)特定移動(dòng)電話當(dāng)前是否在線的簡單應(yīng)用程序而言,有時(shí)候太過豐富,資源使用量太大了。
通過調(diào)用終端狀態(tài) Web 服務(wù)的 getStatus(TerminalAddr) 函數(shù),能以同步方式檢索 IMS 終端的當(dāng)前狀態(tài)。IMS 終端可以為很多種形式,如 3G 電話。所返回的狀態(tài)只有三種類型:Reachable、Unreachable 和 Busy。圖 2-8 顯示了有關(guān)這如何工作的序列關(guān)系圖:
圖 2-8. 使用 getStatus(TerminalAddr) 檢索 IMS 終端(如 3G 電話)的當(dāng)前狀態(tài)
您還可以使用一個(gè) Web 服務(wù)方法調(diào)用來獲取整組 IMS 終端的狀態(tài),即 getStatusForGroup(TerminalAddr[]) 函數(shù)。通過傳入終端服務(wù)地址數(shù)組,可以通過單個(gè)調(diào)用來查詢、處理和返回這些設(shè)備的狀態(tài)。例如,我們的數(shù)組 A 中包含以下 SIP URI:sip:phone1@parlay.com、sip:phone2@parlay.com 和 sip:phone3@parlay.com,現(xiàn)在我們將數(shù)組 A 傳入到此方法調(diào)用中,如 getStatusForGroup(A),然后返回值將為另一個(gè)數(shù)組 B,其中包含 [Busy, Busy, Reachable] 之類的類似內(nèi)容,指示電話 1 和 2 目前忙,而電話 3 可以接通。此場景如圖 2-9 中所示:
圖 2-9. 使用 getStatusForGroup(TerminalAddr[]) 檢索多個(gè) IMS 終端的狀態(tài)
最后,與在線狀態(tài) Web 服務(wù)一樣,您還可以在特定 IMS 終端的狀態(tài)更改時(shí)以異步方式接收通知,可以通過對終端狀態(tài) Web 服務(wù)進(jìn)行 startNotification(..., TerminalAddrs, Correlator, ...) 函數(shù)調(diào)用來達(dá)到此目的。與此類似,可以使用另一個(gè) endNotification(Correlator) 來終止將來的任何通知。
2.4 Parlay X Web 服務(wù)——支付
正如此部分開始提到的,可以將 IMS 視為包含大量用于電信行業(yè)的工具的百寶箱,在采用 IMS 的過程中,您將需要使用支付機(jī)制來提供集成的計(jì)費(fèi)功能。Parlay X 支付 Web 服務(wù)支持以開放的基于 Web 服務(wù)的方式對內(nèi)容進(jìn)行支付和計(jì)費(fèi)。
存在兩種使用支付 Web 服務(wù)進(jìn)行收費(fèi)的模式:按流量 收費(fèi)和按批量 收費(fèi)。顧名思義,前者允許按數(shù)量收費(fèi),而后者允許按其他標(biāo)準(zhǔn)(如按時(shí)間)收費(fèi)。通過對 Web 操作 chargeAmount(endUserID, ChargeInfo, ...) 的請求,可以對 endUserID 進(jìn)行收費(fèi),后者通常是一個(gè) SIP URI,如 sip:user@parlay.com。調(diào)用 refundAmount(endUserID, ChargeInfo, ...) 可以從之前收取的費(fèi)用中退還一定金額。
類似地,如果希望按時(shí)間對某個(gè)用戶收費(fèi),如用戶使用移動(dòng)電話通過 3G 觀看視頻的時(shí)間,則可以發(fā)出 chargeVolume(endUserID, Volume, ...) 請求。稍后可以使用 refundVolume(endUserID, Volume, ...) 進(jìn)行退費(fèi)。
使用支付服務(wù)的一個(gè)常見情況是客戶機(jī)使用基于 Web 的短信服務(wù)(Short Messaging Service,SMS)或彩信服務(wù)(Multimedia Messaging Service,MMS)。用戶成功發(fā)出 SMS 或 MMS 后,將調(diào)用支付 Web 服務(wù)進(jìn)行計(jì)費(fèi)和收費(fèi)。
2.5 Parlay X Web 服務(wù)——MMS 和 SMS
根據(jù) Forrester Research Inc. 的研究,到 2006 年底,電信市場文本和多媒體消息傳遞收益將超過 4.3 億美元;有雄心的服務(wù)提供商不應(yīng)忽略在短信服務(wù) (SMS) 和彩信服務(wù) (MMS) 方面的創(chuàng)新。IMS Parlay X MMS 和 SMS Web 服務(wù)提供了基于 Web 服務(wù)的接口,以供您的應(yīng)用程序調(diào)用、發(fā)送和接收 SMS 或 MMS 消息。
讓我們首先討論較為簡單的一個(gè):SMS。其函數(shù)調(diào)用相對較為直觀。如果您希望發(fā)送 SMS,可以調(diào)用 Web 服務(wù)方法 sendSms(Addresses, SenderName, ..., Message)。Addresses 表示此消息的接收者的列表,而 Message 參數(shù)包含消息主體本身。對 sendSms() 的調(diào)用將返回一個(gè) SmsID,表示此特定的 SMS 請求。具體如圖 2-10 中所示:
圖 2-10. 發(fā)送 SMS 消息
調(diào)用了 sendSms() 后,可以調(diào)用 getSmsDeliveryStatus(SmsID) 來對交付請求進(jìn)行確認(rèn),交付狀態(tài)將為以下之一:
- DeliveredToNetwork
- DeliveryUncertain
- DeliveryImpossible
- MessageWaiting
- DeliveredToTerminal
除了傳統(tǒng)的 sendSms() 之外,還可以通過分別使用 sendSmsRingtone(Addrs, Ringtone, ...) 和 sendSmsLogo(Addrs, Image, ...) 發(fā)送鈴聲和圖像。請注意,鈴聲應(yīng)為 RTX 格式(一種包含鈴聲名稱和鈴聲定義的 XML 文件),而圖像應(yīng)為 JPEG、GIF 或 PNG 格式。
MMS 的工作方式與此類似,sendMessage() 用于發(fā)送 MMS 消息,而 getMessageDeliveryStatus() 用于確認(rèn)交付情況。MMS 消息是作為帶附件的 SOAP 消息附加的,具體內(nèi)容本文將不予討論。MMS 消息包含多媒體內(nèi)容,如視頻、圖像或音頻,是大部分 3G 運(yùn)營商提供的基本服務(wù)。
2.6 其他 Parlay X Web 服務(wù)
我們已經(jīng)了解了如何使用 Parlay X SOA Web 服務(wù)中的 6 個(gè)服務(wù),其余的 Web 服務(wù)都以相同的方式工作,允許您的程序調(diào)用 Web 服務(wù)調(diào)用,且各個(gè) Web 服務(wù)調(diào)用都具有不同的功能。
此處我們給出了一個(gè)表格,針對您的應(yīng)用程序?qū)ζ渌?Parlay X Web 服務(wù)的功能進(jìn)行了說明:
表 2-1. Parlay X SOA Web 服務(wù)及其功能的完整列表
| IMS Parlay X SOA Web 服務(wù) |
描述 |
| 1. 公共基礎(chǔ) |
所有其他服務(wù)使用的公共基礎(chǔ)設(shè)施和 XML 定義 |
| 2. 第三方呼叫 |
請參見 2.1 部分。使用您的應(yīng)用程序連接兩個(gè) IMS 終端間的呼叫。 |
| 3. 呼叫通知 |
當(dāng)主叫方進(jìn)行呼叫和結(jié)束呼叫時(shí)向應(yīng)用程序發(fā)送狀態(tài)通知。 |
| 4. 短信 (SMS) |
請參見 2.5 部分。允許應(yīng)用程序發(fā)送 SMS 和接收 SMS。 |
| 5. 彩信 (MMS) |
請參見 2.5 部分。允許應(yīng)用程序發(fā)送 MMS 和接收 MMS。 |
| 6. 支付 |
請參見 2.4 部分。聯(lián)機(jī)收費(fèi)機(jī)制。 |
| 7. 帳戶管理 |
支持帳戶查詢、管理、使用憑單對帳戶進(jìn)行直接充值或收費(fèi)。 |
| 8. 終端狀態(tài) |
請參見 2.3 部分。提供 IMS 終端的狀態(tài)。 |
| 9. 終端位置 |
提供 IMS 終端的位置。 |
| 10. 呼叫處理 |
允許應(yīng)用程序決定如何處理呼叫。阻止呼叫、轉(zhuǎn)發(fā)呼叫、接受所有呼叫、播放針對來電的音頻……等等。 |
| 11. 語音呼叫 |
提供靈活的方式交付音頻內(nèi)容,如 VoiceXML、WAV、Text。 |
| 12. 多媒體會(huì)議 |
允許應(yīng)用程序創(chuàng)建多媒體會(huì)議、動(dòng)態(tài)管理參與者和管理所使用的媒體。 |
| 13. 地址列表管理 |
管理組和成員。創(chuàng)建、刪除、管理訪問權(quán)限等。 |
| 14. 在線狀態(tài) |
請參見 2.2 部分。提供 IMS 終端的詳細(xì)位置和在線狀態(tài)。 |
| 15. 消息廣播 |
允許應(yīng)用程序?qū)⑾⑾蛑付ㄎ恢玫乃?IMS 終端廣播。 |
| 16. 地理編碼和映射 |
將 IMS 終端的坐標(biāo)轉(zhuǎn)換為地理位置,如可讀的地址。 |
| 17. 應(yīng)用程序驅(qū)動(dòng)的服務(wù)質(zhì)量 (QoS) |
受應(yīng)用程序控制的服務(wù)質(zhì)量 |
現(xiàn)在,您應(yīng)該已經(jīng)知道了每個(gè) Parlay X SOA Web 服務(wù)的功能以及 Parlay X Web 服務(wù)在 IMS 世界中扮演的角色。在下一部分,我們將實(shí)際使用上面介紹的一些 Parlay X Web 服務(wù)來創(chuàng)建有用的實(shí)際創(chuàng)新應(yīng)用程序。
3. 使用 IMS Parlay X Web 服務(wù)的實(shí)際應(yīng)用程序
讓我們假設(shè)某個(gè)汽車公司希望通過使用 IMS parlayX Web 服務(wù)來實(shí)現(xiàn)自己的客戶服務(wù)基礎(chǔ)設(shè)施,并在每臺汽車上安裝具有 Parlay X Web 服務(wù)功能的設(shè)備。他們使用的 Parlay X Web 服務(wù)之一是“第三方呼叫”功能。例如,該汽車公司可以在客戶注冊自己的車輛時(shí)輸入其手機(jī)號碼。那么,在任何時(shí)候,只要客戶遇到問題,就可以直接單擊“客戶服務(wù)”按鈕,“makeCall”操作將會(huì)發(fā)起客戶和客戶服務(wù)中心之間的呼叫。在呼叫過程中,客戶可以隨時(shí)單擊“取消”按鈕來調(diào)用“cancelCall”或“endCall”操作來分別取消或終止呼叫標(biāo)識符。
圖 3-1. 通過使用第三方呼叫 Web 服務(wù)自動(dòng)聯(lián)系客戶中心
而另一方面,維修人員在完成了車輛維修工作后可以方便地?fù)艽蚩蛻舻氖謾C(jī)??蛻粼谑状螌④囕v送修時(shí)留下其手機(jī)號碼。當(dāng)維修人員完成了維修工作后,他或她將使用“makeCall”發(fā)起對客戶的呼叫,并播放預(yù)先錄制的消息來告知客戶可以提車了。維修人員并不需要花時(shí)間查找客戶的電話號碼、打電話或與客戶交談。如果不能完成呼叫,“getCallInformation”操作可允許自動(dòng)系統(tǒng)重新嘗試未能接通的號碼,或指示需要采用其他方法聯(lián)系的客戶。
對于啟用了遙感功能的車輛,可將用于發(fā)送和接收 SMS 消息的 Parlay X Web 服務(wù)用于在客戶和服務(wù)中心之間傳遞數(shù)據(jù)。例如,每月檢查車輛的引擎、剎車防抱死制動(dòng)和剩余油量等主要系統(tǒng),并通過使用“sendSms”操作將這些數(shù)據(jù)發(fā)送回客戶服務(wù)中心。客戶可以接收到有關(guān)其車輛狀態(tài)的自動(dòng)電子郵件報(bào)告。如果通過查看和比較月報(bào)告發(fā)現(xiàn)汽車工作不正常,客戶可以按下“診斷檢查”按鈕來強(qiáng)制系統(tǒng)調(diào)用“sendSms”操作向服務(wù)中心發(fā)送數(shù)據(jù)。根據(jù)所接收到的數(shù)據(jù),技術(shù)人員可以快速地評估問題,并通過“makeCall”通知客戶?!?strong>sendSms”操作還可以用于向客戶發(fā)送短信,以就任何不正常的車輛狀態(tài)向他或她發(fā)出警告,或者提醒其已到了應(yīng)該進(jìn)行計(jì)劃維護(hù)的時(shí)間。
除了客戶服務(wù)支持外,Parlay X Web 服務(wù)還可以給車輛帶來各種革命性的功能。例如,服務(wù)提供商可以使用 IMS Parlay X Web 服務(wù)技術(shù)來實(shí)現(xiàn)服務(wù)基礎(chǔ)設(shè)施平臺,以提供很多服務(wù),如交通狀況、名勝古跡、打折信息、酒店位置和其他服務(wù)。車輛引擎發(fā)動(dòng)時(shí),Palay X Web 服務(wù)設(shè)備可以通過 Presence Parlay X Web 的在線狀態(tài)提供者接口將其活動(dòng)狀態(tài)“發(fā)布”到服務(wù)基礎(chǔ)設(shè)施平臺。每輛汽車都可以使用“sendSms”將汽車的當(dāng)前行駛速度發(fā)送到服務(wù)提供商。駕駛員可以進(jìn)行“subscribePresence”操作,以訂閱其感興趣的內(nèi)容。
圖 3-2. 使用在線狀態(tài) Web 服務(wù)獲取 POI
這并不是想像;通過使用 IMS SOA Parlay X Web 服務(wù),可以將這些東西在您自己的汽車內(nèi)實(shí)現(xiàn)!
4. 總結(jié)
IMS 是用于電信行業(yè)的先進(jìn)技術(shù)工具集,類似于一個(gè)包含各種工具的百寶箱,通過它可以讓您的應(yīng)用程序輕松地進(jìn)入電信世界。簡單說來,IMS 使用 Internet 技術(shù)提供大量服務(wù)和移動(dòng)技術(shù),真正實(shí)現(xiàn)無處不在。在本文的第一部分,我們了解了 IMS 的大致情況——什么是 IMS、其為何重要以及可以如何使用它。在第二部分,我們介紹了這個(gè)百寶箱中最有用的工具,SOA Parlay X Web 服務(wù)。我們了解了一些最有意義的 Parlay X Web 服務(wù),并了解了它們?nèi)绾喂ぷ饕约案髯缘墓δ堋T谧詈笠徊糠?,我們使用在第二部分介紹的一些 Parlay X Web 服務(wù)組成了一個(gè)創(chuàng)新的實(shí)際電信應(yīng)用程序。
IMS 是(今后也仍然是)電信行業(yè)的一個(gè)重要部分。它的涉及面非常廣泛,在一篇文章中并不足以對其進(jìn)行全面詮釋。在下一部分中,我們將介紹 IMS 的另一個(gè)重要組件。
參考資料
學(xué)習(xí)
|