SIP サービスは、SIP アプリケーションの配備機能を提供する Communications Server のコンポーネントで、配備された SIP アプリケーションに SIP クライアントがアクセスできるようにします。
HTTP サービスと異なり、SIP サービスは仮想サーバーを使用しません。
次の SIP サービスの属性を、管理コンソールを使用するか、asadmin get および set コマンドを使用して変更できます。SIP サービスの属性は、SIP サービスのすべてのリスナーに適用されます。
SIP サービスには、アクセスログ、要求処理、キープアライブ、SIP プロトコル、SIP リスナー、および接続プールのサブ要素があります。
SIP サービスのサブ要素および属性を管理コンソールを使用して編集するには、「設定」> config-name >「SIP サービス」の順にクリックします。
SIP サービスのすべてのサブ要素を表示するには、次のコマンドを使用できます。
list server-config.sip-service.*
SIP サービスでアクセスログのローテーションを有効化および設定できます。これらのログは as-install/domains/domain_dir/logs/sipaccess ディレクトリに保存され、ファイル名は sip_access_log.yyyy-mm-dd のようになります。この場所は、sip-service 要素以下の accesslog プロパティーを編集することで変更できます。
sip-service 以下の accessLoggingEnabled プロパティーは、SIP アクセスログの有効化に使用します。アクセスログを有効または無効にしたら、サーバーを再起動します。次のコマンドを使用します。
asadmin set config.sip-service.property.accessLoggingEnabled=true
sip-service 以下の accesslogsize プロパティーは、ファイルサイズに基づくログのローテーションに使用できます。このプロパティーのデフォルト値は 2000000 です。
SIP サービスのアクセスログ属性を次に示します (括弧内は domain.xml ファイルで定義される実際の属性名)。
ローテーション (rotation-enabled): 「ローテーション」ボックスにチェックマークを付けると、ファイルローテーションが有効になります。
ローテーションポリシー (rotation-policy): 「ローテーションポリシー」ドロップダウンリストからポリシーを選択します (利用できるポリシーは time のみです)。
ローテーション時間間隔 (rotation-interval-in-minutes): アクセスログのローテーションを実行する間隔 (分単位) を指定する数値を入力します。このフィールドは、「ローテーションポリシー」が「time」の場合にのみ有効です。デフォルトは 1440 分です。
rotation-interval を指定した場合、ローテーション間隔が経過したときに、新しいアクセスログファイルに付加されるローテーションサフィックスが、既存のアクセスログファイルのローテーションサフィックスと異なる場合のみ、アクセスログがローテーションされます。したがって、アクセスログファイルが予定した間隔でローテーションされたことを確認するには、ローテーション間隔とローテーションサフィックスを同時に指定する必要があります。
ローテーションサフィックス (rotation-suffix): ローテーションのあとログファイルの名前に付加されるサフィックスを表す文字列を入力します。デフォルトは YYYY-MM-DD です。
書式 (format): アクセスログの書式を指定する文字列値を入力します。次の表に示す書式を使用します。デフォルトの書式は、%client.name% %auth-user-name% %datetime% %request% %status% %response.length% です。
SIP ヘッダーの client.name、auth-user-name、datetime、request、status、response.length、max.forwards、from、cseq、contact、to、content.type、via、call.id もサポートされます。
すべてのヘッダーを有効にするには、次のコマンドを実行します。
asadmin set server-config.sip-service.access-log.format="\"%client.name% %auth-user-name% %datetime% %request% %status% %response.length% %max.forwards% %from% %cseq% %contact% %to% %content.type% %via% %call.id%\""
書式の文字列をエスケープする必要があります。
これらのプロパティーは、管理コンソールか、次の get および set コマンドを使用して編集できます。
SIP サービスのアクセスログのプロパティー値をすべて取得するには、asadmin get server-config.sip-service.access-log.* コマンドを使用します。
SIP サービスのアクセスログの属性を設定するには、set コマンドを asadmin set server-config.sip-service.access-log.rotation-enabled=false のように実行します。
これらの属性は、管理コンソールか、次の get および set コマンドを使用して編集できます。
SIP サービスのキープアライブ属性およびプロパティーをすべて取得するには、asadmin get server-config.sip-service.keep-alive.* コマンドを使用します。
SIP サービスのキープアライブの timeout-in-seconds プロパティーを設定できます。デフォルトでは、このプロパティーは -1 に設定されています。0 以下を設定すると、キープアライブ接続は開いたままになります。
SIP サービスのキープアライブの属性を設定するには、set コマンドを asadmin set server-config.sip-service.keep-alive.timeout-in-seconds=0 のように使用します。
これらの属性は、管理コンソールか、次の get および set コマンドを使用して編集できます。
SIP サービスの接続プールの属性値をすべて取得するには、asadmin get server-config.sip-service.connection-pool.* コマンドを使用します。
キューサイズ (queue-size-in-bytes): SIP リスナーでスレッドを処理できるようになるまでに、キューに入れることができるメッセージの最大数を指定します。デフォルトは -1 です。この場合、メッセージの数は制限されません。
受信バッファーサイズ (receive-buffer-size-in-bytes): ソケットチャネルからの読み取りに使用するバイトバッファーのサイズを指定します。デフォルトでは、このプロパティーはソケットチャネルの受信バッファーサイズに合わせて調整されます。
送信バッファーサイズ (send-buffer-size-in-bytes): 書き出し可能な SIP メッセージの最大サイズを指定します。デフォルトでは、このプロパティーは 8192 に設定されます。
SIP サービスの接続プールの属性を設定するには、set コマンドを asadmin set server-config.sip-service.connection-pool.receive-buffer-size-in-bytes=10 のように使用しします。
これらの属性は、管理コンソールか、次の get および set コマンドを使用して編集できます。
SIP サービスプロトコルのすべての属性とプロパティーの値を取得するには、asadmin get server-config.sip-service.sip-protocol.* コマンドを使用します。
エラー応答の有効化 (error-response-enabled): エラー応答を送信するかどうかを指定します。デフォルトでは false に設定されます。
デフォルトトランスポート (default-tcp-transport): true に設定すると、contact および record-route ヘッダーの URI に、transport=tcp が挿入されます。
SIP サービスプロトコルの属性を設定するには、set コマンドを asadmin set server-config.sip-service.sip-protocol.default-tcp-transport=false のように使用します。
SIP サービスプロトコルには、SIP タイマーというサブ要素があります。SIP サービスプロトコルのサブ要素は、asadmin list server-config.sip-service.access-log.* コマンドを使用して一覧表示できます。
SIP サービスタイマーのすべての属性とプロパティーの値を取得するには、asadmin get server-config.sip-service.protocol.sip-timers.* コマンドを使用します。
管理コンソールまたは get および set コマンドを使用して、SIP リスナーを設定できます。SIP コンテナが待機するサーバーポートは、SIP リスナーを使用して設定できます。
デフォルトでは、ドメインに sip-listener-1 と sip-listener-2 の 2 つのリスナーが作成され、それぞれ SIP ポートと SIPS ポートに対応します。デフォルトでは、sip-listener-2 は TLS トランスポートを使用するように設定されます。
SIP リスナーを作成するには、管理コンソールで「設定」ノードを展開し、設定する設定を選択します。次に、SIP サービスを選択し、「SIP リスナー」ノードを選択して、「新規」をクリックします。SIP リスナーの設定を定義して、「保存」をクリックします。
または、asadmin create-sip-listener コマンドを使用することもできます。サンプルコマンドを次に示します。
asadmin create-sip-listener --siplisteneraddress=127.0.0.1 --siplistenerport=5066 --transport=udp_tcp mysiplistener
次に、SIP リスナーの属性を示します。
名前 (id): 新しいリスナーの一意の ID を指定します。
ネットワークアドレス (address): 一意のポート値を使用して、リスナーでサーバーのすべての IP アドレスを待機する場合は、0.0.0.0 を入力します。それ以外の場合は、サーバーの有効な IP アドレスを入力します。
リスナーポート (address): 「ネットワークアドレス」フィールドが 0.0.0.0 の場合は、一意のポート値を入力します。別の IP アドレスを使用する場合は、目的のポート値を入力します。
有効 (enabled: リスナーを有効にするかどうかを決定します。false に設定した場合は、リスナーに接続しようとすると、ソケット例外 (java.net.ConnectException) が発生します。
トランスポート (transport: トランスポートレイヤープロトコルの種類を指定します。設定できる値は udp_tcp と tls です。
SIP リスナーの属性を変更するには、asadmin set コマンドを使用するか、管理コンソールを使用します。SIP リスナーを編集するには、管理コンソールで「設定」ノードを展開し、設定を選択します。次に、SIP サービスを選択し、「SIP リスナー」ノードを選択して、編集する SIP リスナーを選択します。SIP リスナーの設定を編集して、「保存」をクリックします。
たとえば、SIP リスナーの SIP ポートを変更する場合は、asadmin set server.sip-service.sip-listener.sip-listener-1.port=5065 のコマンドを使用します。
開発者プロファイルで、「設定」、SIP サービス、「SIP リスナー」ノードの順に展開します。
クラスタプロファイルおよびエンタープライズプロファイルでは、「設定」ノードを展開し、変更する設定を選択します。次に、SIP サービスを選択し、「SIP リスナー」ノードを選択します。
設定する SIP リスナーを選択します。
「SSL」タブを選択して、次のように SSL を使用するリスナーを設定します。
「クライアント認証」: このフィールドをチェックすると、クライアントはこのリスナーを使用するときにサーバーに対して自身を認証します。
「証明書のニックネーム」: 既存のサーバーキーペアの名前と証明書を入力します。詳細は、セキュリティーに関する章を参照してください。
「SSL3」、「SSL2」、「TLS」: 「有効」チェックボックスにチェックマークを付けると、リスナーでセキュリティープロトコルが有効になります。SSL3、SSL2、TLS のいずれか、または 3 つすべてにチェックマークを付けます。
「暗号化方式群」: プロトコルで使用される利用可能な暗号化方式群を選択し、「追加」ボタンをクリックします。すべての暗号化方式群を有効にするには、「すべてを追加」ボタンを選択します。
「保存」をクリックします。
create-ssl