QoS Requirements for Data Collaboration Using T.120 Liane Tarouco RNP2 Topics This presentation will shows results of an investigation on the T.120 protocol behavior aimed to diagnose common data conference failures causes. Specific quality of services requests, needed for this kind of applications will be reported as well as results of experiments using QoS approached for videoconference and T.120 data collaboration organized in RNP2 New alternatives on collaboration software will be discussed Data collaboration applications Data collaboration applications offer very useful services like application/desktop sharing to provide real remote collaboration specially for use in conjunction with videoconferencing. T.120 based systems are the most used approach for this kind of applications providing interoperability between different vendors T.120 & H.323 CONFERENCING APPLICATIONS & USER INTERFACE Pre-proc Post-proc H . 2 4 2 H . 2 4 3 H . 2 3 4 Ctrl H . 2 Multi- Key 3 point Exch 0 BAS ECS H.261 H.262 H.263 AEC AGC NoiseSuppress G.711 G.722 G.728 G.723.1 G.729 VIDEO AUDIO Time Critical Apps H.281 Far end camera control H.224 H.233 - Encryption H.221 Multiplex and Framing Transport Network (ISDN, Switched-56, ...) Application Protocols T.126 T.127 T.124 Generic Conference Control T.122/T.125 MCS T.123 H.323 components H.323 components Terminal GK - gatekeeper (control and ‘routing’ ) GW - gateway (access to other environments) MC - multipoint controller MP - multipoint processor ( mix ‘n match the media) MCU - multipoint control unit • contains MC and MP optionally a T.120 MCU 6 Multipoint Control Unit MCU Manages conference using H.245 and may use T.120 commands Establishes common conference mode • Common set of media streams • May provide audio transcoding 7 Basic Operation Endpoints register with gatekeeper to provide mapping between physical address and alias address Endpoint asks gatekeeper for permission to place call to another endpoint Endpoint signals call with other endpoint Endpoints exchange media Endpoints disconnect, notify gatekeeper Messages & procedures Admissions & Directory Service Creation of a connection Endpoint capabilities exchange Opening and closing logical channels Changing modes (point-to-point multipoint) Real-time transmission over packet networks 9 Standards H.323 for architecture, procedures H.225.0 more than just a document... • Q.931 ‘derived’ messages for call setup • RAS for endpoint-Gatekeeper signaling H.245 for capabilities/media control RTP/RTCP for media transport • Endpoint to endpoint after call setup • Open multiple logical channels (one per one way media) T.120 for data 10 RAS Functions (H.225) Discovery/Registration - find gatekeeper and provide mapping between physical and alias addresses Admission - ask permission to place call with bandwidth Bandwidth Changes - ask permission to use more bandwidth Status - report on call status Disengage - report disconnect and release bandwidth Registration, Admission, and Status Registration, admission, and status (RAS) is the protocol between endpoints (terminals and gateways) and gatekeepers. The RAS is used to perform registration, admission control, bandwidth changes, status, and disengage procedures between endpoints and gatekeepers. An RAS channel is used to exchange RAS messages. This signaling channel is opened between an endpoint and a gatekeeper prior to the establishment of any other channels. H.225/Q.931 Q.931-like Setup - initiate call from one entity to another Alerting - called endpoint is “ringing” Connect - called endpoint answered Release Complete - disconnect call others, including Facility, Information, Progress, Status H.245 Capability negotiation - determine compatible set of media capabilities Master/slave determination Logical channel control - indicate desire to start transmission of specified medium Multipoint conference control & indication conference rosters, chair control, media indications Miscellaneous H.245 Control Signaling H.245 control signaling is used to exchange end-to-end control messages governing the operation of the H.323 endpoint. These control messages carry information related to the following: – capabilities exchange – opening and closing of logical channels used to carry media streams – flow-control messages – general commands and indications Tools for collaboration Videoconference needs complement for supporting collaboration: Whiteboard Application sharing Remote control Chat File transfer Printed documents sharing (document camera) H.323 e T.120 ITU-T T.120 series TERMINAL Reservations App Sharing Switching T.130 A/V Control File Transfer Documents T.127 Photos Overhead Proj Whiteboard T.126 Application Protocols T.126 - Still Image, T.127 - File Transfer T.130 - A/V Control, T.SHARE, T.RES MCU T.124 - Generic Conference Control T.122 / T.125 - Multipoint Comm. Service ISDN T.123 - Transport Stacks Voice/ POTS LAN Data ATM ITU-T T.120 series Kinds of data and standards – – – – – Photos and Documents (T.126) Pointing and Annotating (T.126) File transfer (T.127) PC Application Sharing Virtually any multipoint flow of data ITU-T T.120 series Kinds of control & standadrds – – – – – – Conference setup, entry, modify, exit (T.124) Camera, mic, peripheral control (T.130) Who sees whom (T.130) Director control, browsing (T.130) Reservations Add site, extend conference time Protocols T.120 T.123 - OSI transport protocol T.122, T.125 - Multipoint Communication Service (MCS): T.124 -Generic Conference Control (GCC) MCS service primitives MCS domain management primitives MCS Channel Management primitives MCS data transfer primitives MCS token management primitives MCS service primitives MCS domain management primitives – MCS-CONNECT-PROVIDER request, indication, response, confirm – MCS-DISCONNECT-PROVIDER request, indication – MCS-ATTACH-USER request, confirm – MCS-DETACH-USER request, indication – MCS-DOMAIN-PARAMETERS request, indication, confirm MCS service primitives MCS Channel Management primitives – – – – – – MCS-CHANNEL-JOIN request, confirm MCS-CHANNEL-LEAVE request, indication MCS-CHANNEL-CONVENE request, confirm MCS-CHANNEL-DISBAND request, indication MCS-CHANNEL-ADMIT request, indication MCS-CHANNEL-EXPEL request, indication MCS service primitives MCS data transfer primitives – MCS-SEND-DATA request, indication – MCS-UNIFORM-SEND-DATA request, indication MCS token management primitives – – – – – – MCS-TOKEN-GRAB request, confirm MCS-TOKEN-INHIBIT request, confirm MCS-TOKEN-GIVE request, indication, response, confirm MCS-TOKEN-PLEASE request, indication MCS-TOKEN-RELEASE request, confirm MCS-TOKEN-TEST request, confirm T.124 - Generic Conference Control (GCC): T.124 - Generic Conference Control – Provides set of facilities to establish and manage multipoint . – Centralize an information base (state of serving conferences) GCC GCC GCC provides a set of services for establishment and termination of conferences GCC provides a means to create new conferences. GCC provides a means of identifying which Application Protocol Entities are available at each node and to provide necessary information for Peer Application Protocol Entities to communicate with each other GCC GCC provides a method for allowing a node to become a conductor for a conference. A token is used by GCC to determine whether a conference is conducted or nonconducted. The Application Registry is an active database residing at the Top GCC Provider that may be used to manage channels, tokens, and other shared resources used in a conference. GCC - Functional Units Conference establishment and termination Conference roster Application roster Application registry Conference conductorship Miscellaneous functions GCC - Conference establishment and termination GCC-Conference-Create request GCC-Conference-Create indication GCC-Conference-Create response GCC-Conference-Create confirm GCC-Conference-Query request GCC-Conference-Query indication GCC-Conference-Query response GCC-Conference-Query confirm GCC-Conference-Join request GCC-Conference-Join indication GCC-Conference-Join response GCC-Conference-Join confirm GCC - Conference establishment and termination GCC-Conference-Disconnect request GCC-Conference-Disconnect indication GCC-Conference-Disconnect confirm GCC-Conference-Terminate request GCC-Conference-Terminate indication GCC-Conference-Terminate confirm GCC-Conference-Eject-User request GCC-Conference-Eject-User indication GCC-Conference-Eject-User confirm GCC-Conference-Transfer request GCC-Conference-Transfer indication GCC-Conference-Transfer confirm GCC - Conference establishment and termination GCC-Conference-Invite request GCC-Conference-Invite indication GCC-Conference-Invite response GCC-Conference-Invite confirm GCC-Conference-Add GCC-Conference-Add GCC-Conference-Add GCC-Conference-Add request indication response confirm GCC-Conference-Lock request GCC-Conference-Lock indication GCC-Conference-Lock response GCC-Conference-Lock confirm GCC-Conference-Unlock request GCC-Conference-Unlock indication GCC-Conference-Unlock response GCC-Conference-Unlock confirm GCC-Conference-Lock-Report indication Conformance for T.120 service Transport protocol profile (T.123); MCS Multipoint Communication Service (T.125); Required components of Generic Conference Control (T.124); Why are standards important? Communication requires standards Standards stimulate market growth – – – – – Instant credibility for new products Customer confidence Multiple vendors Increased competition Volume pricing Standards are critical to interoperability, but still leave room for product variation – Many options in each standard – Audio and video quality depend on encoders, not decoders Additional standards T.130 series, High level audio/video control – Remote cameras & VCRs, video routing, continuos presence • How a student request the floor to ask a question – Automatic video switching • Social rules e.g. hand raising are used • Submit and cancel floor requests Required services in H.323 & T.120 Teaching and learning environment data, video audio Application Sharing Applications Broadcast application Lecture delivery performance T.120 protocols uses a lot of performance management and when the data channel or the end station do not perform according established thresholds unexpected decision may occur disconnecting one or more users from the conference or disabling some data collaboration function. Monitoring results T.120 communication between terminals (Netmeeting), start before logical channels open Centralized conference model (tightly coupled) use intensively MCU resources Event> Event> Event> Event> Event> Event> Event> Event> Event> Event> Event> Event> Mon Nov 26 17:15:54 2001 Pkts in 25655 Pkts client Leandro Bertholdo - T.120 session closed Mon Nov 26 17:16:54 2001 Pkts in 27438 Pkts Mon Nov 26 17:17:55 2001 Pkts in 1695 Pkts client Alexei Korb timeout -- holding down Mon Nov 26 17:18:55 2001 Pkts in 3324 Pkts client Alexei Korb - T.120 session closed due to insufficient bandwidth Mon Nov 26 17:19:56 2001 Pkts in 4708 Mon Nov 26 17:20:56 2001 Pkts in 5850 client Liane Tarouco - T.120 session closed due to insufficient bandwidth Mon Nov 26 17:21:57 2001 Pkts in 7114 Mon Nov 26 17:22:58 2001 Pkts in 8182 QoS Quality of Service - needed quality to attend specific application user request – – – – telephony videoconference file download TV QoS Usual specifications – Bandwidth – Delay – Jitter QoS from user point of view ? – ITU P800 Perceptual Speech Quality Measurement (PSQM) – Mean Opinion Scores (MOS) MOS - Mean Opinion Scores Bad: unintelligible, user do not understand decoded message. Interruptions due degradation Poor: signal present interruption due degradations; user needs considerable effort to understand some segments Moderate: voice quality is bad; user fell annoyed with degradations but there are no interruption and still can understand the message (requires moderated effort) Good: voice is good to listen, user perceive degradations but do not bother because are minimal (no big effort is needed) Excellent: user can not differentiate original message from corrupted, that means, do not perceive signal degradation (no effort is required) Providing QoS Rede TCHÊ – Videoconference QoS service UFRGS intranet – Ftp impact RNP TCHÊ - Videoconference TCHÊ - Videoconference Problems – Packet dropping high (> 30%) – Traffic burst impact video transmission even when normal bandwidth usage was not too high Tchê Used IBM router implementation of DiffServ together with RSVP LLQ used to keep compatibility with Cisco Defined a service called HVIDEO (Expedited Forwarding) for video originated in the MCU and in the streaming video server – Band reservation (19%) for HVIDEO Defined a service called CACHE (Assured Forwarding) for traffic using existing cache structure – Band reservation (15%) for CACHE Collaborative software development Add T.120 service to Open H.323 – Protocols and services study and monitoring Other collaborative work Collaboration with Open RCT project from UCDavis – Whiteboard – Java based – Open Software T-Lite A lightweight T.120 profile that can be implemented in products requiring minimal data services. They also can be implemented with less effort than traditional T.120 enhanced multimedia terminals Lite T.124 profile Only a subset of the GCC services needed – conference establishment and termination – support for the conference roster – support for a single application roster Neither the application registry or the conference conductorship services are needed. Also, no miscellaneous functions are required other than the sending of text messages. Conclusions QoS for collaborative services (H.323 & T.120) T.120 like protocols are needed but lightweight versions must be defined, implemented, tested and standardized