この章では、マルチメディア メッセージング API を使用して第三者呼び出しを行う方法について説明し、サンプル アプリケーションを紹介します。 この節の内容は以下のとおりです。
Third Party Call Parlay X 2.1 通信サービスでは、ETSI ES 202 391-2 V1.2.1 (2006-12)「Open Service Access (OSA); Parlay X Web Services; Part 2: Third Party Call (Parlay X 2)」に準拠した Parlay X 2.1 Third Party Call インタフェースを実装しています。
Third Party Call Parlay X 2.1 通信サービスを使用して、アプリケーションで以下の機能を実装することができます。
2 者間の呼の設定。 たとえば、アプリケーションで、特定の株が事前に決められた価格に達した場合に投資家とブローカーとの間の呼を設定することができます。または、コンピュータ ユーザがマウスをクリックすることによってアドレス帳に自分と第三者との呼を設定することもできます。
以前に設定した呼のステータスの問い合わせ。
呼の設定手続きの取り消し。
発信呼の終了。
Parlay X 2.1 Third Party Call 通信サービス モデルでは、呼は 2 段階に分かれています。
Third Party Call の呼には A (発信者) と B (着信者) の 2 者が関与します。 Third Party Call 通信サービスで呼を設定すると、OWLCS が A へのコール レグの設定を試行します。 発信者がオフフック (「応答」) すると、OWLCS は B へのコール レグの設定を試行します。 着信者がオフフックすると、基盤ネットワークを使用して 2 つのコール レグが接続されます。これで呼の設定段階は終了です。
この段階でアプリケーションは呼を取り消すことができます。
呼の進行中には、発信者と着信者を接続するオーディオ チャネルは完全に基盤ネットワークによって管理されます。呼の継続中にアプリケーションが実行できるのは、呼のステータスの問い合わせのみです。呼を終了するには、アプリケーション インタフェースを使用するか、発信者または着信者が呼を切断するかの 2 つの方法があります。
Parlay X 2.1 Third Party Call 通信サービスを使用した要求は、アプリケーションからネットワークへの一方向の通信です。 そのため、この通信サービスでサポートされるのは、アプリケーションから始動する (またはモバイルで終了する) 機能のみです。
注意 : Third Party Call 通信サービスは呼のシグナリング (制御) の側面のみを管理します。メディアまたはオーディオのチャネルは基盤ネットワークによって管理されます。以下の場合を除き、制御対象は同一ネットワーク上の発信者および着信者に限られます。
|
ここでは、Parlay X 2.1 Third Party Call で使用可能なコンフィグレーションの属性と操作について説明します。
次の手順に従ってコンフィグレーションを行います。
管理コンソールまたは MBean ブラウザを使用して、「Parlay X 2.1 Third Party Call/SIP のプロパティ」に記載されている MBean を選択します。
ネットワーク プロトコルのプラグイン インスタンスの動作をコンフィグレーションします。
属性 : ThirdPartyCallControllerURI
属性 : ISCRouteURI
属性 : MaximumCallLength
属性 : StatusRetentionTime
属性 : PAssertedIdentityURI
注意 : 管理動作はありません。 |
表 10-1 に Parlay X 2.1 Third Party Call のプロパティを示します
表 10-1 Parlay X 2.1 Third Party Call のプロパティ
プロパティ | 説明 |
---|---|
MBean |
Domain=oracle.sdp Name=thirdpartycall InstanceName=ThirdPartyCall Type=oracle.sdp.thirdpartycall.management.TPCMBean |
Supported Address Scheme (サポートされるアドレス方式) |
sip |
Service type (サービス タイプ) |
ThirdPartyCall |
Exposes to the service communication layer a JAVA representation of: (サービスの通信層に公開する JAVA 表記) |
Parlay X2.1 Part 2: Third Party Call |
Interfaces with the network nodes using: (ネットワーク ノードとのインタフェースに使用するプロトコル) |
SIP: Session Initiation Protocol、RFC 3261 |
Deployment artifacts: (デプロイメント アーティファクト) |
thirdpartycallwswar-11.1.1.war thirdpartycallmanagerwar-11.1.1.war thirdpartycallutil-11.1.1.jar thirdpartycallmanager-11.1.1.jar parlayx-11.1.1.jar thirdpartycallear-11.1.1.ear にパッケージ化 |
表 10-2 にコンフィグレーションおよびメンテナンスの属性一覧を示します
表 10-2 コンフィグレーションおよびメンテナンスの属性
属性 | スコープ | 単位 | 形式 | 説明 |
---|---|---|---|---|
ThirdPartyCall ControllerURI |
クラスタ |
なし |
URI 形式の文字列 |
第三者呼び出しの確立に使用するコントローラの SIP の URI を指定します。 この値を設定すると、着信者はこの URI から呼が発信されたと認識します。 デフォルトの値は“None”です。呼の確立にコントローラの URI は使用されません。 この場合、着信者は発信者から呼が発信されたと認識します |
ISCRouteURI |
クラスタ |
なし |
URI 形式の文字列 |
IMS サービス制御の経路の URI を指定します。 |
MaximumCall Duration |
クラスタ |
分 |
int |
呼の発信準備が完了するまでにかかる時間。 この時間が経過すると、呼は終了します。 |
StatusRetentionTime |
クラスタ |
分 |
int |
呼の終了後にステータス情報を保持する時間を指定します。 |
PAssertedIdentity URI |
クラスタ |
なし |
URI 形式の文字列 |
Third Party Call サービスによって追加された P-Asserted-Identity ヘッダーで使用する SIP の URI を指定します。 未指定の場合、P-Asserted-Identity ヘッダーは追加されません。 |
ここでは、Parlay X 2.1 Third Party Call 通信サービスの標準準拠について説明します。
Parlay X 2.1 インタフェースは、ETSI ES 202 391-2 V1.2.1「Open Service Access (OSA); Parlay X Web Services; Part 2: Third Party Call (Parlay X 2)」に準拠しています。詳細については、該当の仕様 (http://parlay.org/en/specifications/pxws.asp) を参照してください。
表 10-3 準拠声明、Parlay X 2.1Third Party Call
メソッド | 準拠の有無 |
---|---|
インタフェース : ThirdPartyCall |
|
MakeCall |
有 |
GetCallInformation |
有 |
EndCall |
有 |
CancelCall |
有 |
Parlay X 2.1 Third Party Call 対応の SIP プラグインは、Oracle WebLogic SIP Server を使用して SIP/IMS ネットワークに接続する統合プラグインです。 このプラグインは、SIP WebLogic SIP Server で実行するサーブレットに接続します。 SIP サーブレットは、WebLogic SIP サーバに付属する SIP API を使用して API の呼び出しを SIP メッセージに変換します。
SIP サーブレットは、すべての呼び出しのバックツーバック ユーザ エージェント (Back-to-Back User Agent) として機能します。
SIP サーブレットは RFC 3261 (http://www.ietf.org/rfc/rfc3261.txt) に準拠する WebLogic SIP サーバを使用します。
SIP ベースの第三者呼び出しの実装は RFC 3725 - Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP) Flow I (http://www.ietf.org/rfc/rfc3725.txt) に準拠します。
表 10-4 準拠声明、Parlay X 2.1Third Party Call の SIP
メッセージ/応答 | 準拠の有無 | コメント |
---|---|---|
REGISTER |
- |
このコンテキストでは未使用 |
INVITE |
有 |
|
ACK |
有 |
|
CANCEL |
有 |
|
BYE |
有 |
|
OPTIONS |
- |
このコンテキストでは未使用 |
100 Trying (試行中) |
有 |
|
180 Ringing (呼び出し中) |
有 |
|
181 Call Is Being Forwarded (転送中) |
有 |
|
182 Queued (処理待ち中) |
有 |
|
183 Session Progress (処理中) |
有 |
|
200 OK (応答) |
有 |
|
300 Multiple Choices (複数選択) |
有 |
ユーザ エージェントは不達として扱います。 |
301 Moved Permanently (永久移転) |
有 |
ユーザ エージェントは不達として扱います。 |
302 Moved Temporarily (一時移転) |
有 |
ユーザ エージェントは不達として扱います。 |
305 Use Proxy (プロキシ リダイレクト) |
有 |
ユーザ エージェントは不達として扱います。 |
380 Alternate Service (代替サービス) |
有 |
ユーザ エージェントは不達として扱います。 |
400 Bad Request (不正な要求) |
有 |
ユーザ エージェントは不達として扱います。 |
401 Unauthorized (未承認) |
有 |
ユーザ エージェントは不達として扱います。 |
402 Payment Required (有料) |
有 |
ユーザ エージェントは不達として扱います。 |
403 Forbidden (アクセス禁止) |
有 |
ユーザ エージェントは不達として扱います。 |
404 Not Found (相手先不明) |
有 |
ユーザ エージェントは不達として扱います。 |
405 Method Not Allowed (許可されていないメソッド) |
有 |
ユーザ エージェントは不達として扱います。 |
406 Not Acceptable (受信不可) |
有 |
ユーザ エージェントは不達として扱います。 |
407 Proxy Authentication Required (プロキシ認証が必要) |
有 |
ユーザ エージェントは不達として扱います。 |
408 Request Timeout (リクエスト タイムアウト) |
有 |
ユーザ エージェントからは応答なしとして扱われます。 |
410 Gone (行方不明) |
有 |
ユーザ エージェントは不達として扱います。 |
413 Request Entity Too Large (リクエスト エンティティが大きすぎる) |
有 |
ユーザ エージェントは不達として扱います。 |
414 Request URI Too Long (リクエスト URI が長すぎる) |
有 |
ユーザ エージェントは不達として扱います。 |
415 Unsupported Media Type (サポートされないメディア タイプ) |
有 |
ユーザ エージェントは不達として扱います。 |
416 Unsupported URI Scheme (サポートされない URI 方式) |
有 |
ユーザ エージェントは不達として扱います。 |
420 Bad Extension (不正な拡張子) |
有 |
ユーザ エージェントは不達として扱います。 |
421 Extension Required (拡張子が必要) |
有 |
ユーザ エージェントは不達として扱います。 |
423 Interval Too Brief (期限切れ間隔が短すぎる) |
有 |
ユーザ エージェントは不達として扱います。 |
480 Temporarily Unavailable (一時利用不可) |
有 |
ユーザ エージェントは不達として扱います。 |
481 Call/Transaction Does Not Exist (呼またはトランザクションが存在しない) |
有 |
ユーザ エージェントは不達として扱います。 |
482 Loop Detected (ループ検出) |
有 |
ユーザ エージェントは不達として扱います。 |
483 Too Many Hops (ホップ数が多すぎる) |
有 |
ユーザ エージェントは不達として扱います。 |
484 Address Incomplete (要求 URI が不完全) |
有 |
ユーザ エージェントは不達として扱います。 |
485 Ambiguous (要求 URI があいまい) |
有 |
ユーザ エージェントは不達として扱います。 |
486 Busy Here (呼び出し先がビジー) |
有 |
ユーザ エージェントはビジーとして扱います。 |
487 Request Terminated (要求終了) |
有 |
ユーザ エージェントは不達として扱います。 |
488 Not Acceptable Here (受理不能) |
有/無 |
ユーザ エージェントは不達として扱います。 |
491 Request Pending (要求保留中) |
有 |
ユーザ エージェントは不達として扱います。 |
493 Undecipherable (処理不能な暗号) |
有 |
ユーザ エージェントは不達として扱います。 |
500 Server Internal Error (サーバ内部エラー) |
有 |
ユーザ エージェントは不達として扱います。 |
501 Not Implemented (実装されていない) |
有 |
ユーザ エージェントは不達として扱います。 |
502 Bad Gateway (不正なゲートウェイ) |
有 |
ユーザ エージェントは不達として扱います。 |
503 Service Unavailable (サービス利用不可) |
有 |
ユーザ エージェントは不達として扱います。 |
Server Time-out (サーバ タイムアウト) |
有 |
ユーザ エージェントは不達として扱います。 |
505 Version Not Supported (サポートされていないバージョン) |
有 |
ユーザ エージェントは不達として扱います。 |
513 Message Too Long (メッセージが長すぎる) |
有 |
ユーザ エージェントは不達として扱います。 |
600 Busy Everywhere (話中) |
有 |
ユーザ エージェントは不達として扱います。 |
603 Decline (ユーザの拒否要求) |
有 |
ユーザ エージェントは不達として扱います。 |
604 Does Not Exist Anywhere (どこにも存在しない) |
有 |
ユーザ エージェントは不達として扱います。 |
606 Not Acceptable (受信不可) |
有 |
ユーザ エージェントは不達として扱います。 |