270 likes | 486 Views
SIP-SIP Video Delayed Offer-Delayed Offer (Pina Martini Phase 1). Topology. SIP-SIP Video. Support for SIP-SIP Delay Offer to Delay Offer SIP Endpoints supported: Cisco TelePresence (CTS), CUVA Video Codecs supported: H264, H263
E N D
SIP-SIP VideoDelayed Offer-Delayed Offer (Pina Martini Phase 1)
SIP-SIP Video • Support for SIP-SIP Delay Offer to Delay Offer • SIP Endpoints supported: Cisco TelePresence (CTS), CUVA • Video Codecs supported: H264, H263 • “codec transparent” configuration required for incoming/outgoing dialpeers for video calls
SIP-SIP Video Call with CTS/CUCM CTS/CUCM CUBE CUCM/CTS INVITE (w/o SDP) 100 Trying INVITE (w/o SDP) 100 Trying 180 Ringing 180 Ringing 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 200 OK (SDP: m-line audio, m-line video, a=sendrecv) 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK (SDP: m-line audio, m-line video, a=sendrecv) ACK (SDP: m-line audio, m-line video, a=sendrecv) Audio/Video Media Path
SIP-SIP Video Call with CUVA/CUCM CUVA/CUCM CUBE CUCM/CUVA INVITE (w/o SDP) 100 Trying INVITE (w/o SDP) 100 Trying 180 Ringing 180 Ringing 183 Progress (SDP: m-line audio, m-line video, a=sendonly) 183 Progress (SDP: m-line audio, m-line video, a=sendonly) 200 OK (SDP: m-line audio, m-line video, a=sendonly) 200 OK (SDP: m-line audio, m-line video, a=sendonly) ACK (SDP: m-line audio, m-line video, a=recvonly) ACK (SDP: m-line audio, m-line video, a=recvonly) INVITE (SDP: m-line audio, m-line video, a=sendrecv) 100 Trying INVITE (SDP: m-line audio, m-line video, a=sendrecv) 100 Trying 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK Audio/Video Media Path
SIP - SIP Video Delayed Offer – Early Offer (Pina Martini Phase 2)
DO-EO SIP-SIP Video • CUBE generates an outgoing Early Offer INVITE with the configured codec list, for a incoming Delayed Offer INVITE • The CLI developed for DO-EO Audio is re-used to enable DO-EO Video. • DO-EO Audio call if only audio codecs are configured under dial-peer. DO-EO Video call if both audio and video codecs are configured under dial-peer. • A New CLI “codec-profile” added to define codec attributes for Video (H263, H264) and Audio (AACLD) codecs. • The codec attributes configured under codec-profile is used to generate the a=fmtp attribute line in the Early Offer SDP
SIP-SIP DO-EO Video Call with CTS/CUCM CTS/CUCM CUBE SDP generated from codec list configured under dial-peer. CUCM/CTS INVITE (w/o SDP) 100 Trying INVITE (SDP: m-line audio, m-line video, a=sendrecv) 100 Trying 180 Ringing 180 Ringing 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 200 OK (SDP: m-line audio, m-line video, a=sendrecv) 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK does not contain SDP, as Offer – Answer is already completed. ACK (SDP: m-line audio, m-line video, a=sendrecv) ACK Audio/Video Media Path
SIP-SIP DO-EO Video Call with CUVA/CUCM CUVA/CUCM CUBE CUCM/CUVA INVITE (w/o SDP) 100 Trying INVITE (SDP: m-line audo, m-line video, a=sendrecv) 100 Trying 180 Ringing 180 Ringing 183 Progress (SDP: m-line audio, m-line video, a=sendonly) 183 Progress (SDP: m-line audio, m-line video, a=sendonly) 200 OK (SDP: m-line audio, m-line video, a=sendonly) 200 OK (SDP: m-line audio, m-line video, a=sendonly) ACK (SDP: m-line audio, m-line video, a=recvonly) ACK (w/o SDP) INVITE (SDP: m-line audio, m-line video, a=sendrecv) 100 Trying INVITE (SDP: m-line audio, m-line video, a=sendrecv) 100 Trying 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK 200 OK (SDP: m-line audio, m-line video, a=sendrecv) ACK Audio/Video Media Path
SIP - SIP Video Early Offer – Early Offer (Pina Martini Phase 2)
SIP-SIP EO-EO Video • CUBE supports receiving an Early Offer INVITE with both audio and video m lines. • CUBE will always generate an outgoing Early Offer INVITE when in response to an incoming Early Offer INVITE. • EO-DO is not supported. • No CLI configuration required to support EO-EO.
SIP-SIP EO-EO Video Call with CTS/CUCM CTS/CUCM O-CUBE T-CUBE CUCM/CTS DO – EO configured at Originating CUBE . INVITE (w/o SDP) EO – EO call for Terminating CUBE . 100 Trying INVITE (SDP: m-line audio, video) 100 Trying INVITE (SDP: m-line audio, video) 100 Trying 180 Ringing 180 Ringing 180 Ringing 183 Progress (SDP: m-line audio, video) 183 Progress (SDP: m-line audio, video) 183 (SDP: m-line audio, video) 200 OK (SDP: m-line audio, video) 200 OK (SDP: m-line audio, video) 200 (SDP: m-line audio, video) ACK (SDP: m-line audio, video) ACK (w/o SDP) ACK Audio/Video Media Path
SIP - SIP Video Flow Around Pina Martini (Phase 2)
SIP-SIP Video Flowaround • Flow Around Supported for DO-DO, EO-EO Calls. • DO-EO not supported. • Feature enabled by existing CLI used for Audio Flowaround. • Only SIP Signaling done via CUBE, while media flows end to end. No media termination in CUBE for both Audio and Video Streams. • CUBE will pass through the endpoint media address and port in received in SDP between the in and out legs.
SIP-SIP Video Flowaround • Flow Around Supported for DO-DO, EO-EO Calls. • DO-EO not supported. • Feature enabled by existing CLI used for Audio Flowaround. • Only SIP Signaling done via CUBE, while media flows end to end. No media termination in CUBE for both Audio and Video Streams. • CUBE will pass through the endpoint media address and port in received in SDP between the in and out legs.
SIP-SIP Video Flow Around CTS/CUCM CUBE CUCM/CTS INVITE (w/o SDP) 100 Trying INVITE (w/o SDP) 100 Trying 180 Ringing 180 Ringing SDP carries port and address of terminating CUCM/CTS 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 183 Progress (SDP: m-line audio, m-line video, a=sendrecv) 200 OK (SDP: m-line audio, m-line video, a=sendrecv) SDP carries port and address of terminating CUCM/CTS 200 OK (SDP: m-line audio, m-line video, a=sendrecv) SDP carries port and address of originating CUCM/CTS ACK (SDP: m-line audio, m-line video, a=sendrecv) ACK (SDP: m-line audio, m-line video, a=sendrecv) Audio/Video Media Path directly between CUCM/CTS
Configuration • The CLI for DO-EO can configured either under global or at the outgoing dial-peer In the global level, the CLI has to be configured under voice service voip sip as follows • voice service voip • sip • early-offer forced In the dial-peer level, the CLI has to be configured on the outgoing dial-peer as follows • dial-peer voice 1 voip • voice-class sip early-offer forced • The system keyword can be used in the dial-peer level to enable the global setting • dial-peer voice 1 voip • voice-class sip early-offer forced system • The early-offer forced CLI is disabled by default
Configuration - cont • Codecs should be configured on the CUBE outleg so that it can send them out in Early-Offer, codec T on the outleg will not send all the media parameters that are configured • Since CTS uses 96 as default payload-type for AAC-LD and 112 for H.264 codecs, it is necessary to change the default IOS fax payload-type from 96 to another value and assign 96 as the payload-type for AAC-LD and 112 for H.264 codecs. • dial-peer voice 1 voip • rtp payload-type cisco-codec-fax-ind 120 • rtp payload-type cisco-codec-aacld 96 • rtp payload-type cisco-codec-video-h264 112 • session protocol sipv2 • incoming called-number 7005
Configuration - cont • The fmtp parameters can be configured on the codec profile and applied to the outgoing dial-peer as follows: • fmtp config: • codec profile 1 aacld • fmtp "fmtp:96 profile-level-id=16;streamtype=5;config=11B0;mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;constantDuration=500“ • codec profile 2 h264 • fmtp "fmtp:112 profile-level-id=DEFGHI;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1“ • Dial-peer config: • dial-peer voice 1 voip • codec aacld profile 1 • video codec h264 profile 2
Sample Configuration Global Configuration voice service voip media flow-around Dialpeer Configuration voice class media 1 media flow-around dial-peer voice 10 voip voice-class media 1 rtp payload-type cisco-codec-fax-ind 120 rtp payload-type cisco-codec-aacld 96 session protocol sipv2 codec transparent dial-peer voice 11 voip destination-pattern 7005 voice-class media 1 rtp payload-type cisco-codec-fax-ind 120 rtp payload-type cisco-codec-aacld 96 session protocol sipv2 session target ipv4:9.13.2.90 codec transparent dial-peer voice 10 voip media flow-around rtp payload-type cisco-codec-fax-ind 120 rtp payload-type cisco-codec-aacld 96 session protocol sipv2 codec transparent dial-peer voice 11 voip destination-pattern 7005 media flow-around rtp payload-type cisco-codec-fax-ind 120 rtp payload-type cisco-codec-aacld 96 session protocol sipv2 session target ipv4:9.13.2.90 codec transparent OR
Debugs & Show commands • Show voip rtp connections • shows no RTP stream for FA session • Show call active video • shows if the call is flow-around or flow-thru in “Media Setting” field • Debug ccsip all
Debugs for SIP-SIP DO-DO Video Received: INVITE sip:7005@9.13.29.23:5060 SIP/2.0 Via: SIP/2.0/TCP 9.13.25.50;branch=z9hG1d57 Remote-Party-ID: <sip:7000@9.13.25.50>;party=calling;screen=yes;privacy=off From: <sip:7000@9.13.25.50>;tag=873d105b-74ee-43aa-a354-fb6b50eddeba-269572 To: <sip:7005@9.13.29.23> CSeq: 101 INVITE Expires: 60 Contact: <sip:7000@9.13.25.50:5060;transport=tcp>;video;audio Max-Forwards: 69 Content-Length: 0 Sent: INVITE sip:7005@9.13.2.90:5060 SIP/2.0 Via: SIP/2.0/UDP 9.13.29.23:5060;branch=z9hG4bK Remote-Party-ID: <sip:7000@9.13.29.23>;party=calling;screen=yes;privacy=off From: <sip:7000@9.13.29.23>;tag=38398BF4-F07 To: <sip:7005@9.13.2.90> CSeq: 101 INVITE Expires: 180 Contact: <sip:7000@9.13.29.23:5060> Max-Forwards: 68 Content-Length: 0
Debugs for SIP-SIP Video Contd … Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 9.13.29.23:5060;branch=z9h From: <sip:7000@9.13.29.23>;tag=38398BF4-F07 To: <sip:7005@9.13.2.90>;tag=0a98a44b-1efa-4b64-90b6-58e24675e1d8-30105493 v=0 o=CiscoSystemsCCM-SIP 2000 1 IN IP4 9.13.2.90 s=SIP Call c=IN IP4 9.13.29.80 t=0 0 m=audio 16384 RTP/AVP 96 0 101 b=TIAS:64000 a=rtpmap:96 mpeg4-generic/48000 a=fmtp:96 profile-level-id=16;streamtype=5;config=11B0;mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;constantDuration=480 a=rtpmap:0 PCMU/8000 a=ptime:20 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 m=video 16388 RTP/AVP 112 b=TIAS:4000000 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=ABCDEF;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1 Sent: SIP/2.0 200 OK Via: SIP/2.0/TCP 9.13.25.50;branch=z9hG4bK13 From: <sip:7000@9.13.25.50>;tag=873d105b-74ee-43aa-a354-fb6b50eddeba-26957231 To: <sip:7005@9.13.29.23>;tag=38398C70-310 CSeq: 101INVITE v=0 o=CiscoSystemsSIP-GW-UserAgent 8120 1880 IN IP4 9.13.29.23 s=SIP Call c=IN IP4 9.13.29.23 t=0 0 m=audio 19092 RTP/AVP 0 c=IN IP4 9.13.29.23 a=rtpmap:0 PCMU/8000 a=ptime:20 m=video 17512 RTP/AVP 112 b=TIAS:4000000 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=ABCDEF;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1
Debugs for SIP-SIP Video Contd … Received: ACK sip:7005@9.13.29.23:5060;transport=tcp SIP/2.0 \ Via: SIP/2.0/TCP 9.13.25.50;branch=z9hG4bK1384b1 From: <sip:7000@9.13.25.50>;tag=873d105b-74ee-4 To: <sip:7005@9.13.29.23>;tag=38398C70-310 Date: Tue, 17 Jul 2007 05:12:57 GMT CSeq: 101 ACK v=0 o=CiscoSystemsCCM-SIP 2000 1 IN IP4 9.13.25.50 s=SIP Call c=IN IP4 9.13.29.37 t=0 0 m=audio 16384 RTP/AVP 0 b=TIAS:64000 a=rtpmap:0 PCMU/8000 a=ptime:20 m=video 16388 RTP/AVP 112 b=TIAS:4000000 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=ABCDEF;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1 Sent: ACK sip:7005@9.13.2.90:5060 SIP/2.0 Via: SIP/2.0/UDP 9.13.29.23:5060;branch=z9hG4bK48CB1 From: <sip:7000@9.13.29.23>;tag=38398BF4-F07 To: <sip:7005@9.13.2.90>;tag=0a98a44b-1efa-4b64-90b6-58e24675e1d8-30105493 CSeq: 101 ACK v=0 o=CiscoSystemsSIP-GW-UserAgent 6986 3015 IN IP4 9.13.29.23 s=SIP Call c=IN IP4 9.13.29.23 t=0 0 m=audio 19528 RTP/AVP 0 c=IN IP4 9.13.29.23 a=rtpmap:0 PCMU/8000 a=ptime:20 m=video 16730 RTP/AVP 112 c=IN IP4 9.13.29.23 b=TIAS:4000000 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=ABCDEF;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1
Debugs for a basic DO-EO video call Sent: INVITE sip:7005@9.13.2.90:5060 SIP/2.0 Via: SIP/2.0/UDP 9.13.29.23:5060;branch=z9hG4bK18D28 From: <sip:7000@9.13.29.23>;tag=439D94-DCF To: <sip:7005@9.13.2.90> Call-ID: 90E3747-ABC111DC-8040E-416623EF@9.13.29.23 CSeq: 101 INVITE Contact: <sip:7000@9.13.29.23:5060> Content-Length: 551 v=0 o=CiscoSystemsSIP-GW-UserAgent 5305 1760 IN IP4 9.13.24.100 s=SIP Call c=IN IP4 9.13.24.100 t=0 0 m=audio 17270 RTP/AVP 96 0 19 c=IN IP4 9.13.24.100 a=rtpmap:96 mpeg4-generic/48000 a=fmtp:96 profile-level-id=16;streamtype=5;config=11B0;mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;constantDuration=480 a=rtpmap:0 PCMU/8000 a=rtpmap:19 CN/8000 m=video 18800 RTP/AVP 112 c=IN IP4 9.13.24.100 a=rtpmap:112 H264/90000 a=fmtp:112 profile-level-id=ABCDEF;sprop-parameter-sets=Z00AKAoWVAPAEPI=,aGFLjyA=;packetization-mode=1 • Received: • INVITE sip:7005@9.13.29.23:5060 SIP/2.0 • Via: SIP/2.0/TCP 9.13.25.50;branch=z9hG4bK • From: <sip:7000@9.13.25.50>;tag=ef8f6d7d-4990-46d3-9ee9-fc3f982088f5-17247359 • To: <sip:7005@9.13.29.23> • Call-ID: f30b500-76614fbb-48a385-32190d09@9.13.25.50 • Supported: timer,replaces • Min-SE: 1800 • CSeq: 101 INVITE • Expires: 180 • Allow-Events: presence, kpml • Call-Info: <sip:9.13.25.50:5060>;method="NOTIFY;Event=telephone-event;Duration=500" • Session-Expires: 1800 • Contact: <sip:7000@9.13.25.50:5060;transport=tcp>;video;audio • Max-Forwards: 69 • Content-Length: 0
Debugs SDP info. in outgoing 183/200OK v=0 o=CiscoSystemsCCM-GW-UserAgent 2003 2524 IN IP4 9.13.8.90s=SIP Callc=IN IP4 9.13.29.80t=0 0m=audio 16384 RTP/AVP 96 0 18 19 c=IN IP4 9.13.29.80a=rtpmap::96 mpeg4-generic/48000 a=rtpmap:0 PCMU/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:19 CN/8000 m=video 16388 RTP/AVP 112 c=IN IP4 9.13.29.80 b=TIAS:4000000 a=rtpmap:112 H264/90000 • SDP info. in incoming 183/200OK v=0 o=CiscoSystemsCCM-GW-UserAgent 2071 6347 IN IP4 9.13.2.90s=SIP Callc=IN IP4 9.13.29.80t=0 0m=audio 16384 RTP/AVP 96 0 18 19 c=IN IP4 9.13.29.80a=rtpmap::96 mpeg4-generic/48000 a=rtpmap:0 PCMU/8000 • a=rtpmap:18 G729/8000 • a=fmtp:18 annexb=no • a=rtpmap:19 CN/8000 • m=video 16388 RTP/AVP 112 • c=IN IP4 9.13.29.80 • b=TIAS:4000000 • a=rtpmap:112 H264/90000 video-ipipgw1#sh voip rtp connections • No active connections found
Additional Information • AAC_LD Codec from CTS using Payload type 96 (which is reserved for FAX). So need to change the payload type foe FAX to some other value. • 'Sh call active video compact' shows audio codec for a Video call (CSCsj68008). However ‘Sh call active video’ shows correct value in ‘VideoCap_Codec’ field • Video codecs supported are H263 and H264. • All audio codecs supported including AAC_LD • Only Hold/Resume of Video calls supported. • When CTS does RTP/RTCP multiplexing, Media Inactivity based on RTCP will not work