Liberty での Session Initiation Protocol (SIP) の管理
server.xml ファイルにエレメントを追加し構成することにより、Liberty で SIP を構成することができます。
始める前に
sipServlet-1.1 フィーチャーを Liberty サーバーにインストールします。詳細については、『Liberty フィーチャーの追加および削除』を参照してください。
このタスクについて
このタスクでは、server.xml ファイル内に、SIP を Liberty 用に手動で構成する方法について説明します。あるいは、server.xml ファイル内のすべての構成を自動的に使用可能にする開発者ツールを使用して SIP を構成することもできます。詳細情報については、WebSphere® Developer Tools >「開発」>「SIP アプリケーションの開発」を参照してください。
Liberty での SIP の構成に使用できるエレメントおよび属性について詳しくは、SipServlet-1.1 の資料を参照してください。
手順
- server.xml ファイル内で、sipContainer エレメントを追加して SIP コンテナーを構成します。
属性およびそれらの説明の完全リストについては、『sipContainer エレメント』を参照してください。
<sipContainer invalidateSessionOnShutdown="true" msgArrivalTimeAttr="true" markInternalResponse="true"></sipContainer>
- sipStack エレメントを追加して SIP スタックを構成します。 自動応答、メッセージ情報、および接続の再使用などの動作を構成することができます。
属性およびそれらの説明の完全リストについては、『sipStack エレメント』を参照してください。
SIP タイマーは、セッション有効期限のメカニズムを提供します。sipStack エレメントにタイマー属性を指定することにより、RFC 3261 に指定されているデフォルト値とは異なる SIP タイマーの値を設定できます。<sipStack hideMessageBody="true" hideMessageReqUri="true" auto100OnInvite="false" auto482OnMergedRequests="true" forceConnectionReuse="false" acceptNonUtf8Bytes="true" pathMtu="1600" compactHeaders="API"> <commaSeparatedHeaders>Comma separated headers</commaSeparatedHeaders> <hideMessageHeaders>iup</hideMessageHeaders> <sipQuotedParameters>Require</sipQuotedParameters> </sipStack>
<sipStack timerT1="500" timerT2="4000" timerT4="5000" timerA="500" timerB="32000" timerD="32000" timerE="500" timerF="32000" timerG="500" timerH="32000" timerI="5000" timerJ="32000" timerK="5000"></sipStack>
- sipApplicationRouter エレメントを追加して、SIP アプリケーション・ルーターを構成します。 SIP アプリケーション・ルーターを構成する場合、デフォルト・アプリケーション・ルーター (DAR) を使用するか、カスタム・アプリケーション・ルーターを作成できます。DAR コンポーネントは、Java™ プロパティー・ファイルとしてモデル化されている構成テキスト・ファイルを使用して、アプリケーション・ルーターが SIP 要求をアプリケーションに送信する順序を定義します。
アプリケーション・ルーターを構成せず、手動でアプリケーションをデプロイしている場合、アプリケーションは、それらのアプリケーションがデプロイされた順序でトリガーされます。server.xml ファイルを使用して複数のアプリケーションをデプロイする場合、アプリケーションの順序は定義できません。
- DAR コンポーネントを DAR 構成ファイルと共に使用する場合、sipApplicationRouter エレメントの sipDarConfiguration 属性に DAR .properties ファイルのロケーションを指定します。
<sipApplicationRouter sipDarConfiguration="pathToDar.properties"></sipApplicationRouter>
- カスタム・アプリケーション・ルーターを使用するには、以下のように server.xml ファイルにルーターを構成します。
- bells-1.0 フィーチャーを server.xml ファイルに追加します。
詳細情報については、bells-1.0 の資料を参照してください。<featureManager> <feature>bells-1.0</feature> </featureManager>
- server.xml ファイルに、共有ライブラリーとしてカスタム・アプリケーション・ルーターの JAR ファイルを追加し、javax.servlet.sip.ar.spi.SipApplicationRouterProvider サービスの bell 構成を追加します。
共有ライブラリーについて詳しくは、Liberty: 共有ライブラリーを参照してください<library id="carLib" name="carLib" description="Custom App Router Library"> <file name="pathToJar.jar"></file> </library> <bell libraryRef="carLib"> <service>javax.servlet.sip.ar.spi.SipApplicationRouterProvider</service> </bell>
- sipApplicationRouter エレメントで carProvider 属性を、カスタム・アプリケーション・ルーターのプロバイダー・クラスのフルネームに設定します。
<sipApplicationRouter carProvider="example.example"></sipApplicationRouter>
- bells-1.0 フィーチャーを server.xml ファイルに追加します。
<sipApplicationRouter carProvider="example.example" sipNoRouteErrorCode="403"></sipApplicationRouter>
属性およびそれらの説明の完全リストについては、『sipApplicationRouter エレメント』を参照してください。
- DAR コンポーネントを DAR 構成ファイルと共に使用する場合、sipApplicationRouter エレメントの sipDarConfiguration 属性に DAR .properties ファイルのロケーションを指定します。
- sipEndpoint エレメントを追加して SIP エンドポイントを構成します。 カスタムのポート、ホスト、およびバインディング動作を構成できます。構成した SIP エンドポイントは、デフォルト・エンドポイントをオーバーライドします。
属性およびそれらの説明の完全リストについては、『sipEndpoint エレメント
』を参照してください。<sipEndpoint host="localhost" sipTCPPort="5060" bindRetries="60" bindRetriesDelay="5000"></sipEndpoint>
注: Transport Layer Security (TLS) はデフォルトで使用不可になっています。SIP コンテナーで TLS を使用可能にするには、Liberty サーバーの SSL 通信を使用可能にし構成します。詳細については、『Liberty での SSL 通信の使用可能化』を参照してください。 - sipTasksDispatcher エレメントを追加して SIP パフォーマンスを構成します。 同時に実行できる SIP タスクの数を構成できます。SIP アプリケーション・タスクは、単一スレッドで、SIP コンテナーで順次実行される一連のアプリケーション・コードです。例えば、SipServlet.doInvite() メソッドまたは SipTimerListener.timeout() メソッドのアプリケーション実装は、これらのメソッドから呼び出されるアプリケーション・コードが、コンテナーによって提供される管理対象 Liberty スレッドで順次実行される場合、それぞれ単一タスクと見なされます。同時 SIP タスクの実際の最大数は、管理対象 Liberty スレッドの最大数によって制限されます。
属性およびそれらの説明の完全リストについては、『sipTasksDispatcher エレメント』を参照してください。
<sipContainer> <sipTasksDispatcher concurrentContainerTasks="15"/> </sipContainer>
- ドメイン・ネーム・システム (DNS) の Naming Authority Pointer (NAPTR) レコードを使用して SIP URI を解決したい場合は、ドメイン・リゾルバーを構成します。
- domainResolver エレメントを追加し構成します。 このエレメントを構成すると、SIP URI は、DNS を使用して、接続するネクスト・ホップの IP アドレス、ポート、およびトランスポート・プロトコルに解決されます。
注: SIP は、1 次クライアントで障害が発生した場合にサーバーが応答をバックアップ・クライアントに送信する際の DNS プロシージャーの使用をサポートしていません。
属性およびそれらの説明の完全リストについては、『domainResolver エレメント』を参照してください。
<domainResolver dnsAutoResolve="true"> <dnsServers>dns.server.com</dnsServers> </domainResolver>
- SIP コンテナーで機能するように DNS サーバーを構成します。 以下の例は、DNS サーバーに RFC 3263 サポートを構成するための BIND db ファイルです。
; Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC") ; Copyright (C) 2001 Internet Software Consortium. ; ; Permission to use, copy, modify, and distribute this software for any ; purpose with or without fee is hereby granted, provided that the above ; copyright notice and this permission notice appear in all copies. ; ; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH ; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, ; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM ; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE ; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ; PERFORMANCE OF THIS SOFTWARE. ; $Id: include.db,v 1.2.206.1 2004/03/06 10:22:13 marka Exp $ ; Test $INCLUDE current domain name and origin semantics example.com. 43200 IN SOA ns.example.com. email.example.com. ( 2003032001 10800 3600 604800 86400 ) ; example.com. 43200 IN NS ns.example.com. ; ns.example.com. 43200 IN A 10.0.0.20 sipserver1.example.com. 43200 IN A 10.0.0.21 sipserver2.example.com. 43200 IN A 10.0.0.22 sipserver3.example.com. 43200 IN A 10.0.0.23 ; router.example.com. 43200 IN CNAME sipserver3 ; sipserver1.example.com. 43200 IN AAAA fec0:0:0:0:0:0:0:abcd sipserver2.example.com. 43200 IN AAAA fec0:0:0:0:0:0:0:abba ; _sip._udp.example.com. 43200 IN SRV 2 0 5060 sipserver1.example.com. _sip._udp.example.com. 43200 IN SRV 2 0 5060 sipserver2.example.com. _sip._tcp.example.com. 43200 IN SRV 1 4 5060 sipserver1.example.com. _sip._tcp.example.com. 43200 IN SRV 1 2 5060 sipserver2.example.com. _sips._tcp.example.com. 43200 IN SRV 0 1 5061 sipserver1.example.com. _sips._tcp.example.com. 43200 IN SRV 0 0 5061 sipserver2.example.com. ; example.com. 43200 IN NAPTR 0 0 "s" "SIPS+D2T" "" _sips._tcp.example.com. example.com. 43200 IN NAPTR 1 0 "s" "SIP+D2T" "" _sip._tcp.example.com. example.com. 43200 IN NAPTR 2 0 "s" "SIP+D2U" "" _sip._udp.example.com.
- domainResolver エレメントを追加し構成します。 このエレメントを構成すると、SIP URI は、DNS を使用して、接続するネクスト・ホップの IP アドレス、ポート、およびトランスポート・プロトコルに解決されます。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_sip_adm
ファイル名: twlp_sip_adm.html