概要
このドキュメントでは、Session Initiation Protocol(SIP)の信頼性の高い暫定応答機能の仕組みと、この機能を Cisco Unified Border Element(CUBE)および Cisco Unified Communications Manager(CUCM)で設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Unified Border Element(CUBE)Enterprise
- Cisco Unified Communications Manager Express(CUCME)
- Cisco Unified Communications Manager(CUCM)
- Session Initiation Protocol(SIP)
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Integrated Services Router(ISR)上の Cisco IOS リリース 15.1(4)M4:シリーズ 2800、3800、2900、3900
- Cisco ASR 1000 シリーズ アグリゲーション サービス ルータ上の Cisco IOS リリース 15.1(3)S4
注:この設定例は、上記のソフトウェア バージョンおよびハードウェア プラットフォームに限定されません。Cisco AS5400XM ユニバーサル ゲートウェイ上の Cisco IOS リリース 12.4(24)T5 にも適用できます。
背景説明
SIP の信頼性の高い暫定応答は、PSTN(公衆電話交換網)との統合を改善するために導入されました。 最も一般的なシナリオは、呼び出しが成功する前に音声/オーディオ パスを確立することです。したがって、発信者には PSTN によって生成されたアナウンスまたは音楽が聞こえます。
たとえば以下のトポロジで、IP フォンが PSTN 会議ブリッジやフリーダイヤル番号を呼び出すと、呼び出し先がコールに応答する前に、音声ガイダンスが再生されます。CUCMが遅延オファー(SIP)を使用してコールを開始すると(INVITEにSession Description Protocol(SDP)が含まれていない)、発信者にはプロンプトが聞こえません。
その他の場合は、PSTN 側がリングバックトーンを生成します。メディアを通過せずにコールが接続された場合、発信者にはリングバックトーンが聞こえません。
SIPの信頼性の高い暫定応答は、追加のメディアリソース(Media Transfer Protocol(MTP)など)を必要とせずに、上記の問題を解決するために使用できます。この暫定応答とPRACKメッセージは、オファー/応答交換の追加の機会を提供します。
CUBE の設定
デフォルトで、CUBE はこの設定による信頼性の高い応答をサポートしています。
voice service voip
sip
rel1xx supported 100rel
つまり、ユーザ エージェント クライアント(UAC)として、ヘッダーが Require:100rel に設定された 180/183 メッセージを受信すると PRACK で応答します。ただし、ユーザ エージェント サーバ(UAS)としては、ヘッダーを Require:100rel に設定した 180/183 メッセージを送信しません。
CUBE に(UAC からの PRACK を待機させるために)Require:100rel を設定した 18X を送信させる場合の設定例は、次のとおりです。
グローバル レベル:
voice service voip
sip
rel1xx require 100rel
ダイヤルピア レベル:
dial-peer voice 1000 voip
voice-class sip rel1xx require 100rel
注:ダイヤルピアの設定が、グローバル設定より優先されます。
CUCM の設定
デフォルトでは、CUCM は信頼性の高い応答をサポートしません。ただし、SIP トランク プロファイルを変更することで、サポートするように設定できます。
- CUCM 管理インターフェイスで、[Device] > [Device Setting] > [SIP Profile] に移動します。
- 所定の SIP トランクが使用する SIP プロファイルを開きます。
- [SIP Rel1XX Options] ドロップダウンリストから、[Send PRACK for all 1xx Messages] を選択します。
- この SIP トランクの SIP トランク プロファイルをリセットします。
注:特定の SIP トランクがデフォルトの SIP トランク プロファイル(標準 SIP プロファイル)を使用している場合は、新しいプロファイルをコピーして SIP トランクに適用することをお勧めします。このようにしないと、デフォルトの SIP トランク プロファイルがすべての SIP トランクに影響することになります。
注:上記の変更を行っても、PRACK を UAC として送信しなければ、CUCM は信頼性の高い応答をサポートできません。ただし、現在のところ、Require:100rel ヘッダーを設定した 180/183 を UAS として送信することはできません。
標準的な SIP メッセージ
信頼性の高い応答が CUBE の着信ダイヤルピアに設定されている場合、標準的なコールは次のようになります。
// CUBE receives INVITE with delay offer from CUCM.
INVITE sip:2002@10.66.75.246:5060 SIP/2.0
Date: Thu, 04 Apr 2013 05:30:27 GMT
Call-Info: <sip:10.66.75.171:5060>;method="NOTIFY;Event=telephone-event;Duration=500"
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
From: <sip:4832@10.66.75.171>;tag=169850~fb41edd8-7bc7-4ced-b8b0-9b10a31db5c4-19845894
Allow-Events: presence, kpml
P-Asserted-Identity: <sip:4832@10.66.75.171>
Supported: 100rel,timer,resource-priority,replaces,X-cisco-srtp-fallback,Geolocation
Min-SE: 7200
Cisco-Guid: 3228672256-0000065536-0000000027-2873836042
Remote-Party-ID: <sip:4832@10.66.75.171>;party=calling;screen=yes;privacy=off
Content-Length: 0
User-Agent: Cisco-CUCM8.6
To: <sip:2002@10.66.75.246>
Contact: <sip:4832@10.66.75.171:5060;transport=tcp>
Expires: 180
Call-ID: c071a100-15d10ff3-24695-ab4b420a@10.66.75.171
Via: SIP/2.0/TCP 10.66.75.171:5060;branch=z9hG4bK246d9521aba1b
CSeq: 101 INVITE
Session-Expires: 7200
Max-Forwards: 70
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 10.66.75.171:5060;branch=z9hG4bK246d9521aba1b
From: <sip:4832@10.66.75.171>;tag=169850~fb41edd8-7bc7-4ced-b8b0-9b10a31db5c4-19845894
To: <sip:2002@10.66.75.246>
Date: Thu, 04 Apr 2013 05:50:29 GMT
Call-ID: c071a100-15d10ff3-24695-ab4b420a@10.66.75.171
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-15.2.4.M2.8
Content-Length: 0
// CUBE responds 183 with SDP which also contains Require: 100rel.
SIP/2.0 183 Session Progress
Via: SIP/2.0/TCP 10.66.75.171:5060;branch=z9hG4bK246d9521aba1b
From: <sip:4832@10.66.75.171>;tag=169850~fb41edd8-7bc7-4ced-b8b0-9b10a31db5c4-19845894
To: <sip:2002@10.66.75.246>;tag=42CF0134-1BC8
Date: Thu, 04 Apr 2013 05:50:29 GMT
Call-ID: c071a100-15d10ff3-24695-ab4b420a@10.66.75.171
CSeq: 101 INVITE
Require: 100rel
RSeq: 3344
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Contact: <sip:2002@10.66.75.246:5060;transport=tcp>
Supported: sdp-anat
Supported: X-cisco-srtp-fallback
Server: Cisco-SIPGateway/IOS-15.2.4.M2.8
Content-Type: application/sdp
Content-Disposition: session;handling=required
Content-Length: 330
v=0
o=CiscoSystemsSIP-GW-UserAgent 4874 2535 IN IP4 10.66.75.246
s=SIP Call
c=IN IP4 10.66.75.246
t=0 0
m=audio 16442 RTP/AVP 8 0 18 101 19
c=IN IP4 10.66.75.246
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtpmap:19 CN/8000
// CUBE receives PRACK from CUCM with SDP
PRACK sip:2002@10.66.75.246:5060;transport=tcp SIP/2.0
Via: SIP/2.0/TCP 10.66.75.171:5060;branch=z9hG4bK246da4c33fa3e
From: <sip:4832@10.66.75.171>;tag=169850~fb41edd8-7bc7-4ced-b8b0-9b10a31db5c4-19845894
To: <sip:2002@10.66.75.246>;tag=42CF0134-1BC8
Date: Thu, 04 Apr 2013 05:30:27 GMT
Call-ID: c071a100-15d10ff3-24695-ab4b420a@10.66.75.171
CSeq: 102 PRACK
RAck: 3344 101 INVITE
Allow-Events: presence, kpml
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 213
v=0
o=CiscoSystemsCCM-SIP 169850 1 IN IP4 10.66.75.171
s=SIP Call
c=IN IP4 10.66.75.89
t=0 0
m=audio 26662 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
// CUBE acknowledges the PRACK.
SIP/2.0 200 OK
Via: SIP/2.0/TCP 10.66.75.171:5060;branch=z9hG4bK246da4c33fa3e
From: <sip:4832@10.66.75.171>;tag=169850~fb41edd8-7bc7-4ced-b8b0-9b10a31db5c4-19845894
To: <sip:2002@10.66.75.246>;tag=42CF0134-1BC8
Date: Thu, 04 Apr 2013 05:50:29 GMT
Call-ID: c071a100-15d10ff3-24695-ab4b420a@10.66.75.171
Server: Cisco-SIPGateway/IOS-15.2.4.M2.8
CSeq: 102 PRACK
Content-Length: 0
// The call is not anwered until now; however, calling and called parties have exchanged SDP,
// and media path is established.
// Other messages omitted.
トラブルシューティング
CUBE での問題をトラブルシューティングするには、次のデバッグを有効にする必要があります。
debug voip ccapi inout
debug ccsip message
症状 1:CUBE が Require:100rel ヘッダーを設定した 180/183 を送信しない。
適切なダイヤルピアまたは音声サービス VOIP に rel1xx require 100rel が設定されていることを確認します。
症状 2:CUBE が Require:100rel ヘッダーを設定した 180/183 を CUCM に送信し続ける。
この問題は通常、CUCM が信頼性の高い応答をサポートしていない場合に発生します。この問題を解決するには、CUCM で Rel1xx を有効にします。
関連情報