クライアントサイドモジュール型
SIP-B2BUAミドルウェア「SIProp」について
今村謙之(noritsuna@siprop.org)
2006/07/15

アジェンダ 背景、問題点
 本プロジェクトについて 機能、アーキテクチャ
 普及シナリオ、体制 背景、問題点
 本プロジェクトについて 機能、アーキテクチャ
 普及シナリオ、体制

背景 SIPにおける相互接続の問題

JPNICのVoIP/SIP相互接続検証タスクフォース
 SIP ForumのSIPit（SIP Interoperability Test）
 より複雑度を増していくVoIPネットワーク

NGN(Next Generation Network)
 IMS(IP Multimedia Subsystem) FMC(Fixed Mobile Convergence)問題点：仕様の多態性
 SIPの仕様が汎用的に定義されているため、実装者による解釈の相違が大きい

VoIP用として実装する場合、VoIPとしては不整合を起こす箇所や不明確な箇所がある


例として、180 Ringing 応答(鳴動)におけるタイマーの定義
は、下記の3つの動作が提示されている
180 秒以上経過後に切断
 永久に接続状態を維持
 180 Ringing 応答が再送されるとタイマーをリセットする
問題点：仕様の多様性
 SIPの仕様が多岐にわたるため、フル実装されているケースが少ない

例として、ビジネスフォンに見られるパーク機能がある。


RFCにおいて、Standardとされている方式を実装するには、下記のRFCをすべて実装する必要がある
RFC 3261 SIP: Session Initiation Protocol
 RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification
 RFC 3420 Internet Media Type message/sipfrag
 RFC 3515 The Session Initiation Protocol (SIP) Refer Method
 RFC 3891 The Session Initiation Protocol (SIP) "Replaces" Header
 RFC 3892 The SIP Referred-By Mechanism問題点：制約条件
 開発予算や期間の都合により、下記のような制約を持ったSIP-UAを作成してしまう

接続対象の網を制約する


接続対象のUAを制約する


発注元のキャリア網のみ
自社のSIP-UAのみ
キャリア指定のSIP-UAのみ機能(サービス)を制約する



通話のみ
キャリア指定の機能のみ現状の解決案


仕様差を吸収するB2BUA


各キャリアから、それぞれの網に特化したSIP-UAとして動作する

各キャリアからは、それぞれの網に特化したSIP-UAとして、見えるように動作する。

Nキャリア網Location

Kキャリア網SIP Proxy

Location

SIP Proxy

B2BUA

B社製SIP-UA

A社製SIP-UA

D社製SIP-UA
Nキャリア対応SIPメッセージ

Kキャリア対応SIPメッセージ

C社製SIP-UA現状の解決案の問題点
 処理が集中する(特に、メディア処理)
 独自機能が付加できない 網間の相互接続のみしか解決できない

根本的な解決案ではない

 背景、問題点
 本プロジェクトについて 機能、アーキテクチャ
 普及シナリオ、体制

本プロジェクトのコンセプト


世界的に問題となっているVoIP(SIP-UA)相互接続問題を解決するミドルウェアである
SIPが本来目指していたセッション層の汎用プロトコル化する

クライアントサイドで動作
SIPメッセージを標準化する機能

動作をモジュールにて定義可能

本プロジェクトの解決案・優位点

本プロジェクトの名称の由来
 SIProp

読み：しっぷろっぷ 意味：SIP と Interop（Interoperability、相互接続性）との造語。
 ロゴマーク： 背景、問題点
 本プロジェクトについて 機能、アーキテクチャ
 普及シナリオ、体制機能

SIPメッセージ標準化変換機能

各キャリアやSIP-UAなどに特化されたSIPメッセージを標準化されたSIPメッセージに変換する


CALLのシーケンスを1つ決めるというわけではなく、状況に応じたメッセージセットを策定する

転送などの高度な機能やDTMF制御などを標準化されたSIPメッセージに変換する

動作定義モジュール機能
シーケンスやメッセージの変換ルールをモジュールで定義可能とする 各モジュールの動作をスクリプトでコントロール可能とする対象プラットフォーム


OS



Windows Moblile 5.0
組み込みLinux

言語

使用ライブラリ

シャープ社製

W-ZERO3
Linux搭載ザウルス






NIST製 SIP Stack

対象アプリ


その他スマートフォン※PC対応は、次期バージョン

Jain-SIP for MEハードウェアJava２MESIP COMMUNICATOR
OpenWengo
Etc…

対象網


国内NTT網
TTC準拠網アーキテクチャ：ブロック図


モジュール化されたレイヤー構造
 セッション層
 トランスポート層


制御モジュールAPI
Proxy Socket

シーケンス制御/吸収部
メッセージ変換部

コントロール部
これらのモジュールが、各部で交換/組合可能クライアントアプリケーション
SIP-UA層

他UA

B2BUA層(今回の開発対象)
スクリプタブル・コントロール部

Transport層

API

入力メッセージ
変換部

シーケンス
制御/吸収部

出力メッセージ
変換部

Transport層N社用モジュール
SIP StackSkype用モジュール通信

Proxy Socket(SIP,Skype,XMPP …)

メッセージ
フラット化

ダミーSocket
SIPラップモジュール

各プロトコ
ル変換

Proxy Socket(SIP,Skype,XMPP …)

Etc...

Etc...モジュール

メディア

メディア

通信

アーキテクチャ：テクノロジー
x社処理部分
制御モジュール
シーケンス制御/吸収部
制御モジュール
制御モジュール
シーケンス制御/吸収部
シーケンス制御/吸収部

メッセージ変換部
JBIControl部(モジュール制御)Trans/API層(メッセージ変換部)

テンプレート

Router/Resolver部(スクリプト部)

スクリプト


Trans or API



Velocity

モジュール制御

制御モジュール
メッセージ部

ServiceMix

Goovy,Rhino

シーケンス制御/吸収部
JMXGeronimoアーキテクチャ： トランスポート層


各種トランスポート

本ミドルウェアとアプリケーションの接続する
下記の2種類の接続形態を想定している

API




SIP-UAに組み込むためのAPI

Proxy Socket

LocalProxyのような動作で、Socket経由でメッセージ交換を行う

次期予定機能

メッセージ部XMPPなどの他プロトコル変換機能


トランスポート層

フック用Socket機能

OSのSocketをフックして、通信メッセージを制御する

メディア制御機能

他のコミュニケーションプロトコルを標準化SIPに変換する

メディアを制御し、DTMFによるコントロールを可能とする

全体


PCや他機器へのポーティング 背景、問題点
 本プロジェクトについて 機能、アーキテクチャ
 普及シナリオ、体制

普及シナリオ：フェーズ1目的

より広範囲の開発者の獲得と認知度のアップ




モデル
 オープンソース＆バザールモデル

いろいろな網に対応するため、より多くの経験者が必要であるユーザ(開発者)コミュニティーを形成する
さまざまなオープンソースソフトフォンなどで使用してもらう

アクション Webベースのユーザコミュニティースペースの形成Wikiベースのユーザコミュニティー


http://www.siprop.org/ の立ち上げ、運営

オープンソースソフトフォンコミュニティーへの働きかけ


各SIP-UAがいろいろな網へ発信するためのミドルウェアとして採用してもらう

普及シナリオ：フェーズ2
目的

SIP-UAやコミュニケーションアプリのセッション層として、デファクトスタンダードとなる

シーケンス・プロトコルの標準ライブラリ化
コードのリファレンス実装化※これらにより、すべてのノードとセッションを張ることが可能となりシームレスな通信が可能となる



アクション


SIPにおけるコミュニケーション用通信規格として、IETF（RFCとして）に提案を行う


各種のシーケンス・プロトコルの最大公約数的なものを定義する

プロジェクト:体制
 Wikiベースのユーザコミュニティー

国内初のSIPオープンソースプロジェクト
 http://www.siprop.org/

2006年4月1日、仮運用開始
2006年6月25日、本運用開始

現在のメンバー５名

 上記コミュニティーを支える組織の設立


有限責任事業組合制度
SIProp LLP

6月に登記完了

有志の参加をお待ちしております。

<(_ _)>
http://www.siprop.org/
Blog: http://noritsuna.siprop.org/