Parlay Xは通信サービス向けAPI(application programming interface)の共通仕様。複雑な処理を実現するParlay/OSA APIから機能を絞り,多くの開発者に通信技術を利用してもらうことを目指す。アプリケーションに向け,ネットワークの標準的な利用方法を標準仕様として提供している。

 世界の通信事業者とITベンダーが策定した“オープン・スタンダード”であるParlay/OSA APIは,通信事業者のネットワーク技術とインターネットの接点となるキー技術として期待されてきた。Parlay/OSA APIが目指す,IT開発技術者の通信サービス領域への取り込みが進むと,現在のIT技術のトレンドであるWebサービスへの対応も進んでいく。Parlay Xはよく利用されるAPIをより簡単な仕様にして,実装言語を限定しないWebサービスのAPIとして規定された。これがさらに多くのIT開発技術者の裾野を広げる役割を果たすだろう。

Parlay/OSAよりも簡単なAPI

 パーレイ・グループは,電話網のAPIの仕様を決めるために1998年に設立された。APIの目的は,通信事業者内の技術者だけでなく外部の開発者も,新しいサービスを作成できるようにすることだった。

 重要なParlay/OSA APIには,コール制御,会議通話,ユーザー会話(オーディオ,テキスト・メッセージング),課金などがある。これらAPIの主要なゴールは,CDMAやGSMなどの電話網テクノロジを共通インタフェースで隠蔽することであった。

 2003年に,パーレイ・グループは,Parlay Xと呼ぶ新しいAPIのセットをリリースした(図1)。これらは,Parlay/OSA APIよりも簡単なAPIであり,多くの開発者コミュニティに受け入れられることを目指していた。Parlay/OSA APIは,いわばかゆいところにも手が届く十分な機能を提供するAPIである。Parlay Xは限定した機能だが複雑ではなく分かりやすい特徴を持ち,互いがうまく補完し合う関係にある。

図1●Parlay Xの全体像
図1●Parlay Xの全体像
Parlay XはSDP(service delivery platform)上のAPIとして動作し,NGN内のIMSとサードパーティのアプリケーションを結ぶ役割を担う。
[画像のクリックで拡大表示]

 パーレイ・グループは,ETSI3GPPと密接に連携しており,Parlay/OSAとParlay Xの仕様は,この3団体から共同で発行されている。

 Parlay Xは,標準のオープン・インタフェースを定義しているだけで,その実装方法は提供ベンダーに委ねられている。標準仕様は,クライアント・アプリケーションにネットワーク機能の標準的な利用方法を提供していると考えればよい。

Third Party Callで2者通話を制御

 以下では主要なAPIの利用方法を眺めてみよう。

 「Third Party Call」は,2者間通話を制御するためのAPIである。典型的な利用例は,パソコン上のWebブラウザに表示されている電話番号をクリックすると,あらかじめ決められた電話番号とクリックした先の電話番号の間で2者間通話を始めるものだ。一般に,「クリック・ツー・ダイヤル」あるいは「クリック・ツー・コール」と呼ばれている(図2)。

図2●Parlay XのWebサービス「Third Party Call」の概要
図2●Parlay XのWebサービス「Third Party Call」の概要
ユーザーがブラウザ上の電話番号をクリックしたことをきっかけに,Agent1と同2の2者間の呼を確立する。
[画像のクリックで拡大表示]

 このシナリオで利用されるWebサービスは,makeCallで電話をかけ,endCallで電話を切る,という非常にシンプルなものだ。makeCallは電話をかける側と受ける側のアドレスを指定する。APIは呼を特定するためのID(Call Identifierと呼ぶ)を返す。電話を切るときにそのIDを使ってendCallを呼び出すと,電話が切れるという仕組みだ。

 間違えてクリックした場合にはすぐに,makeCallをキャンセルしたいこともあるだろう。その場合は,cancelCallというオペレーションを利用する。ブラウザに現在の電話の通話状況を表示したいかもしれない。そのようなアプリケーションの要求には,getCallinformationと呼ぶモニターAPIが用意されている。このAPIはIDを利用して,呼の状況や開始時刻,経過時間,呼の終了理由などを取得できる。

 これだけのオペレーションがそろっていれば,大方の電話機能の制御は事足りるだろう。なお,呼のセッションの確立や終了がAPIの役割であり,実際の通話機能は端末間のRTPで実現される。

2用途に分かれるCall Notification

 「Call Notification」は,特定の発呼に対する特定のイベントに反応して,アプリケーションを呼び出すように設定するAPIで,大きくCallDirectionとCallNotificationという2種類の用途に分かれる。前者はCallDirectionManager,後者はCallNotificationManager呼ぶインタフェースで,それぞれ通知の開始・終了を指定する。

 どちらも,4種類のイベントに反応するように設計されている。具体的にはBusy(着信側がBusy),NoReachable(呼び出しアドレスにつながらない),NoAnswer(反応なし),CalledNumber(特定の呼の試行)である。

 CallDirectionでは,アプリケーションはその後の呼制御の3種類のアクション(継続,終了,転送)のうち一つを後続処理として指定できる。CallNotificationは,Parlay X Web Serviceからアプリケーションへの通知を実行するだけで,アプリケーションからParlay X Web Serviceに後続処理は依頼できない。

 Call Notificationは機能はシンプルだが,いくつかの利用方法を期待される重要なAPIの一つだ。電話が話中の場合に別の電話やボイス・サーバーに転送するアプリケーションのほか,自分にかかってきたのに通話できなかった呼について,相手と時間をメールで転送するアプリケーションなど,コミュニケーションが成立しなかった場合の対応機能をユーザーに提供する。

 電話をかけるとサービスを享受できるサービス番号を提供することも可能だ。例えば,プロ野球の速報を提供しているサードパーティが携帯電話網を利用して,ユーザーが特定のサービス番号にかけると最新の速報を得られる有料サービスを作ると仮定してみよう(図3)。ここでCallNotificationを実装して有料で提供する通信事業者と,プロ野球速報サービスを開発するサードパーティで使用契約が結ばれているとする。その番号にユーザーが電話をかけると,CallNotificationは特定のサービス番号に電話がかかっているというイベントを通知する。

図3●Parlay XのWebサービス「Call Notification」の概要
図3●Parlay XのWebサービス「Call Notification」の概要
サービス番号に電話をかけたことを契機に二つのWebサービスが連動。ユーザーにメールを送るというサービスを提供する。
[画像のクリックで拡大表示]

 これを受けたWebサービスはプロ野球速報サービスのhandleCalledNumberを呼び出す。プロ野球速報サービスは,MMSで速報情報をユーザーにメールし,Webサービスに制御を戻す。Webサービスは呼を終了させ,課金のためのログを書き出す。

安達 久俊(あだち・ひさとし)
日本IBM 大和ソフトウェア開発研究所 SOA Solution担当部長
1992年,日本IBM入社。金融,通信,製造業界を対象としたIBM WebSphereブランドのミドルウエア製品開発においてアーキテクトとして参画し,現在TWSSとWeb2.0のソリューションを担当している。