Protocols for Multiparty Multimedia Sessions. By: Chunyan Fu, PhD, Ericsson Canada Fatna Belqasmi, PhD, Ericsson Canada

Similar documents
TSIN02 - Internetworking

Telecommunication Services Engineering Lab. Roch H. Glitho

VoIP Basics. 2005, NETSETRA Corporation Ltd. All rights reserved.

Voice over IP (VoIP)

Overview of the Session Initiation Protocol

Overview of SIP. Information About SIP. SIP Capabilities. This chapter provides an overview of the Session Initiation Protocol (SIP).

Department of Computer Science. Burapha University 6 SIP (I)

Chapter 3: IP Multimedia Subsystems and Application-Level Signaling

Information About SIP Compliance with RFC 3261

Session Initiation Protocol (SIP) Overview

Compliance with RFC 3261

Session Initiation Protocol (SIP) Overview

Multimedia Communication

Outline Overview Multimedia Applications Signaling Protocols (SIP/SDP, SAP, H.323, MGCP) Streaming Protocols (RTP, RTSP, HTTP, etc.) QoS (RSVP, Diff-S

SIP Compliance APPENDIX

Z24: Signalling Protocols

Session Initiation Protocol (SIP)

The Session Initiation Protocol

ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE. Implement Session Initiation Protocol (SIP) User Agent Prototype

Media Communications Internet Telephony and Teleconference

Packetizer. Overview of H.323. Paul E. Jones. Rapporteur, ITU-T Q2/SG16 April 2007

Telecommunication Services Engineering Lab. Roch H. Glitho

Application Scenario 1: Direct Call UA UA

H.323. Definition. Overview. Topics

Overview. Slide. Special Module on Media Processing and Communication

Basic Architecture of H.323 C. Schlatter,

Real-time Services BUPT/QMUL

Extensions to Session Initiation Protocol (SIP) and Peer-to-Peer SIP

Voice over IP Consortium

VoIP. ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts

TODAY AGENDA. VOIP Mobile IP

Tech-invite. RFC 3261's SIP Examples. biloxi.com Registrar. Bob's SIP phone

IP Possibilities Conference & Expo. Minneapolis, MN April 11, 2007

VoIP Core Technologies. Aarti Iyengar Apricot 2004

Protocols supporting VoIP

All-IP Core Network Multimedia Domain


Multimedia Applications. Classification of Applications. Transport and Network Layer

Cisco ATA 191 Analog Telephone Adapter Overview

Request for Comments: Category: Standards Track Columbia U. G. Camarillo Ericsson A. Johnston WorldCom J. Peterson Neustar R.

Session Initiation Protocol (SIP) Basic Description Guide

P2PSIP, ICE, and RTCWeb

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

INTERFACE SPECIFICATION SIP Trunking. 8x8 SIP Trunking. Interface Specification. Version 2.0

SIPPING Working Group A. Johnston, Ed. Internet-Draft Avaya Intended status: BCP R. Sparks Expires: January 12, 2009 Estacado Systems C. Cunningham S.

SIP Trunk design and deployment in Enterprise UC networks

Introduction. We have learned

IMS signalling for multiparty services based on network level multicast

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

SIP Reliable Provisional Response on CUBE and CUCM Configuration Example

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

13. Internet Applications 최양희서울대학교컴퓨터공학부

Multimedia Networking Communication Protocols

Non. Interworking between SIP and H.323, MGCP, Megaco/H.248 LS'LDORJ,QF 7HFKQRORJ\ 'ULYH 6XLWH 3KRQH )D[

Introduction. We have learned

Name of Course : E1-E2 CFA. Chapter 7A. Topic : SIP. Date of Creation :

Introduction. H.323 Basics CHAPTER

Session Initiation Protocol (SIP) Ragnar Langseth University of Oslo April 26th 2013

Seminar report IP Telephony

Real-time Services BUPT/QMUL

The search being performed may take a significant time so a forking proxy must send a 100 Trying response.

Extensions to SIP and P2PSIP

Mohammad Hossein Manshaei 1393

Request for Comments: 3959 Category: Standards Track December 2004

Understanding SIP exchanges by experimentation

Master Kurs Rechnernetze Computer Networks IN2097

Inspection for Voice and Video Protocols

B.Eng. (Hons.) Telecommunications. Examinations for / Semester 1

Kommunikationssysteme [KS]

Outline. Multimedia is different Real Time Protocol (RTP) Session Description Protocol (SDP) Session Initiation Protocol (SIP)

A NOVEL MECHANISM FOR MEDIA RESOURCE CONTROL IN SIP MOBILE NETWORKS

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

SIP (Session Initiation Protocol)

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

Real-Time Control Protocol (RTCP)

N-Squared Software SIP Specialized Resource Platform SIP-SDP-RTP Protocol Conformance Statement. Version 2.3

IP Multimedia Subsystem Part 3 Marek Średniawa

The H.323 protocol suite. How works one of the protocol architectures for VoIP

SIP SIP Stack Portability

Adding Telephony to Java Technology-Based Enterprise Applications

SIP Trunk design and deployment in Enterprise UC networks

Request for Comments: 4083 Category: Informational May 2005

ETSI TS V1.1.1 ( )

H.323 Tutorial Realsoft Corporation January 12, 2000

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Internet Streaming Media

Internet Telephony: Advanced Services. Overview

Internet Engineering Task Force (IETF) S. McGlashan Hewlett-Packard May Media Control Channel Framework. Abstract

This sequence diagram was generated with EventStudio System Designer (

FortiOS Handbook - VoIP Solutions: SIP VERSION 6.0.1

SIP: Status and Directions

Secure Telephony Enabled Middle-box (STEM)

SIP Network Overview

The Interworking of IP Telephony with Legacy Networks

SDP Capability Negotiation

Category: Informational Ericsson T. Hallin Motorola September 2007

Application Notes for Configuring Avaya IP Office 8.1 with Etisalat SIP Trunk service Issue 1.0

a. Draw a network diagram, showing how a telephone in the US would make calls to a telephone on Deception Island. (15 points).

Ubiquitous Programmable Internet Telephony End System Services

SIP Session Initiation Protocol

Transcription:

Protocols for Multiparty Multimedia Sessions By: Chunyan Fu, PhD, Ericsson Canada Fatna Belqasmi, PhD, Ericsson Canada

Part I: introduction, signaling and media control protocols (Nov. 16, by Chunyan) Part II: floor control protocols, putting together and case study (Nov. 23, by Fatna)

Part I: Introduction, signaling and media control protocols Introduction What is multiparty multimedia session Technical components Signaling protocols H.323 SIP Media control protocols Megaco (H.248) SIP based protocols

Introduction What is multiparty multimedia session How to implement Protocols involved Classifications

Multiparty multimedia session The conversational exchange of multimedia content between several parties About multimedia Audio, video, data, messaging About participants Any one who wants to participates the conference

How thinking from a real life case When organizing a conference or a meeting, what to do? Deciding topics, participants, time, agenda and booking a conf room Inviting participants and getting their confirmation to attend Starting the conference: let people seat down in the room and prepare the projector, microphone, player During a conference: -- talking, discussing; presenting, playing a video to everybody, translating -- being a chair and deciding who can talk next Policy control Signaling Media control Media handling Floor control

How technical components Signaling Session establishment, modification and termination Capability negotiation Media Media handling: media transmission, mixing, trans-coding Media control: stands when there is a separation of signaling and media mixing entities Conference control Conference policy: conference arrangement, admission control, participant management, voting Floor control: allows users of share resources such as video and audio without access conflicts. Media Control Conference Application Signaling Policy Floor control Media Handling an application that implements the conferencing service

Protocols involved Signaling H.323, SIP (Session Initiation Protocol) Media Media control: Megaco (Media Gateway Control protocol), SIP based media control NetAnn/SIP MSCML (Media Server Control Markup Language), SIP media control channel framework Media transport: RTP/RTCP, SRTP Conference control Policy control: CPCP (conference policy control protocol), XCAP Floor control: BFCP (Binary Floor Control Protocol), TBCP (Talk Burst Control Protocol) Floor server control: FSCML (Floor Server Control Markup Language)

Classifications Open/close Pre-arranged/ad hoc With/without sub-conferencing (i.e. sidebar) With/without floor control Topology: centralized, distributed, hybrid

Signaling protocols ITU-T: H.323 Basic Conferencing models Scenarios IETF: SIP Basic Conferencing models Scenarios H.323 vs. SIP

What is H.323? ITU-T standard for the transmission of real-time audio, video, and data communications over packet-based networks. Defines components, protocols and procedures Can be applied for multiparty multimedia session

H.323 Network Components (1) H.323 Terminal Terminal can either be a personal computer (PC) or a stand-alone device Running an H.323 stack Running the multimedia applications H.323 Gatekeeper Gatekeeper (optional) is the brain of H.323 Addressing Authorization and authentication of terminals and gateways Bandwidth management; accounting Billing and charging Call-routing

H.323 Network Component (2) H.323 Gateway Gateway (optional) provides connectivity between an H.323 network and a non H.323 network (e.g. PSTN) Translating protocols Converting media format H.323 MCU Multipoint control unit (optional) provides conferences of three or more H.323 terminals MC: multipoint controller handles control signaling MP: multipoint processor handles media mixing (optional)

H.323 Zone Terminals, gateways, MCUs managed by one gatekeeper

H.323 protocols H.225 call signaling Call setup, termination H.225 RAS: registration, admission, and status gatekeeper discovery (GRQ) endpoint registration endpoint location admission control H.245 control signaling capability negotiation open logical channel Media transmission: RTP/RTCP

H.323 protocols Gatekeeper H.225/H.245 Gatekeeper RAS H.225/ H.245 H.225/ H.245 RAS Signaling (H.225) Endpoint H.245 RTP/RTCP Endpoint Gatekeeper Routed Signaling Direct Routed Signaling

H.323 basic procedure H.225 Admission Request Call setup TCP connection H.225 Connect H.245 Capability Negotiation H.245 Open Logic link RTP Media Transmission Call termination H.225 Deregistration Request H.225 Disconnect

H.323 conferencing models Centralized Conference B MCU is required A MCU All terminals send media and control signals to MCU in point to point fashion. Centralized Conference C Decentralized Conference MC B MP Terminals multicast media to others Control signaling is still in MCU A MP Distributed Conference C MP Hybrid Conference B Control signaling and audio processing is done by MCU A MCU Video using multicast C Hybrid: Centralized audio, distributed video

H.323 conference initiation example Terminal: A GK MCU B NOTE: Terminal Capability and Logical Channel can be set each time one direction, From B to A should have the same procedure H.225 RAS : H.225 call : H.245 : ARQ ACF SETUP CALL PROCESSING ALERTING CONNECT Terminal Capability Set Terminal Capability Set ACK Open Logical Channel Open Logical Channel ACK Media Flow over RTP using the UDP ports of MCU ARQ ACF SETUP ALERTING CONNTECT Terminal Capability Set Terminal Capability Set ACK Open Logical Channel Open Logical Channel ACK Media Flow over RTP using the UDP ports of MCU

H.323 participant join example Terminal: A B C Media SETUP FACILITY RELEASE COMPLETE SETUP CONNECT SETUP CONNECT GK/ MCU Alternative Capability Set Terminal Capability Set Terminal Capability Set Terminal Capability Set ACK Terminal Capability Set ACK Alternative Capability Set ACK Open Logical Channel / ACK media Flow over RTP using the UDP ports of MCU

What is SIP IETF standard to set up, modify and terminate media sessions over IP, operating in a request/response model Reuse Internet addressing (URLs, DNS, proxies), reuse HTTP coding, text based application-layer protocol A basic line protocol and extensions It can be applied for multiparty multimedia session control

SIP entities User Agents UAC: originates request UAS: processes requests and sends response SIP Servers Registrar: registration of user's contact addresses Proxy: decides next hop and forwards request Redirect: sends address of next hop back to client Location server: provides user location details

SIP requests From baseline (RFC 3261) INVITE initiate a session ACK confirm final response BYE terminate a session CANCEL cancel an ongoing session OPTIONS features support by other side REGISTER register with location service Most relevant extensions INFO mid-call information (RFC 2976) SUBSCRIBE subscribe to event (RFC 3265) NOTIFY notify subscribers REFER ask recipient to issue SIP request (RFC 3515) PUBLISH publish event and presence state (RFC3903) PRACK provisional acknowledgement (RFC 3262)

SIP responses SIP Responses defined as HTTP-style 1xx 2xx 3xx 4xx 5xx 6xx Description Informational Request received, continuing to process request. Success Action was successfully received, understood and accepted. Redirection Further action needs to be taken in order to complete the request. Client Error Request contains bad syntax or cannot be fulfilled at this server. Server Error Server failed to fulfill an apparently valid request. Global Failure Request is invalid at any server. Examples 180 Ringing 181 Call is Being Forwarded 200 OK 202 Accepted 300 Multiple Choices 302 Moved Temporarily 401 Unauthorized 408 Request Timeout 503 Service Unavailable 505 Version Not Suported 600 Busy Everywhere 603 Decline

SIP headers - partial list From To Call-ID Contact Header Description Examples Content-Length Content-Type Required field containing the originating SIP URI, may also has display name Required field containing the recipient SIP URL. May contain a display name. Used to uniquely identify a particular session or registration messages. Should have randomness to ensure overall global uniqueness. Alternative SIP URL for more direct message routing. Octet count in message body. Content type of message body CSeq Command Sequence number used to distinguish different requests during the same session. Via Max-Forwards Used to show the path taken by a request Count by decrease when pass a hop, if reach 0, return 483 too many hops error From: SIP: Alice@example.com From: SIP: +1-514-2345678@gateway.com f: SIP: Bob@192.168.1.100 To: SIP: Alice@example.com To: SIP: +1-514-2345678@gateway.com t: SIP: Bob@192.168.1.100 Call-ID: 1@mars.brooks.net Call-ID: Jan-01-1999-1510-1@server.mci.com i: 31415926535@uunet.com Contact: W. Riker, Acting Captain <riker@starfleet.gov> Contact: room203@hotel.com; expires=3600 m: admin@mci.com Content-Length: 285 Content-Type: application/sdp c: application/h.323 CSeq: 1 INVITE CSeq: 1000 INVITE CSeq: 4325 BYE CSeq: 1 REGISTER Via: SIP/2.0/UDP sip.mfs.com Via: SIP/2.0/TCP uunet.com v: SIP/2.0/UDP 192.168.1.1 Max-Forwards: 70

SIP dialog Dialog (call leg): to facilitate the session management From To Call-ID For a response: Via, From, To, Call-ID, and CSeq are copied exactly from Request. To and From are NOT swapped Sequence number (Cseq) increases when a new request sent within a dialog

SIP message body Message body can be any Most implementations: SDP - Session Description Protocol XML Used to specify info about a multi-media session. SDP fields have a required order Offer/Answer mode Used for different purposes, e.g. messaging, presence information The formats are defined by other standards, e.g. PIDF (RFC 3863)

SDP examples SDP Example 1 v=0 o=alice +1-514-555-1212 IN IP4 example.com s=let's Talk t=0 0 Field c=in IP4 101.64.4.1 m=audio 49170 RTP/AVP 0 3 Version v=0 Origin Descripton o=<username> <session id> <version> <network type> <address type> <address> SDP Example 2 v=0 o=bob 124333 67895 IN IP4 example1.com s=yes! t=0 0 c=in IP4 101.234.2.1 m=audio 3456 RTP/AVP 0 Session Name Times Connection Data Media s=<session name> t=<start time> <stop time> c=<network type> <address type> <connection address> m=<media> <port> <transport> <media format list>

An XML example PUBLISH sip:example.com SIP/2.0 Event: presence CSeq: 1 PUBLISH From: "Alice"<sip:alice@example.com>;tag=1138 To: "Alice"<sip:alice@example.com> <?xml version="1.0" encoding="utf-8" standalone="yes"?> <presence entity="pres:alice@example.com" xmlns="urn:ietf:params:xml:ns:pidf"> <tuple id="1"> <status> <basic>open</basic> </status> <contact priority="0.800000000000000044408920985006261616945266723 6328125">sip:alice@example.com</contact> <timestamp>2009-06-03t09:31:18.689-00:05</timestamp> <timed-status until="2009-06-03t10:31:18.677-00:05" from="2009-06-03t09:31:18.677-00:05"/> </tuple> </presence>

SIP example SIP UAC 200 OK ACK INVITE SIP UAS INVITE sip:bob@example.com SIP/2.0 Via: SIP/2.0/UDP example.com:5060 From: Alice<sip:alice@example.com> To: Bob<sip:bob@example.com> Call-ID: 314159@example.com CSeq: 1 INVITE Contact: sip:alice@example.com Content-Type: application/sdp Content-Length: 124 v=0 o=alice 5462346 332134 IN IP4 s=let's Talk t=0 0 c=in IP4 10.64.1.1 m=audio 49170 RTP/AVP 0 3 BYE 200 OK Media Stream SIP/2.0 200 OK Via: SIP/2.0/UDP example.com From: Alice<sip:alice@example.com> To: Bob<sip:bob@example.com> Call-ID: 314159@example.com CSeq: 1 INVITE Contact: sip:bob@example.com Content-Type: application/sdp Content-Length: 107 v=0 o=bob 124333 67895 IN IP4 s=yes! t=0 0 c=in IP4 11.234.2.1 m=audio 3456 RTP/AVP 0

SIP proxy server example SIP UAC SIP Proxy Server SIP UAS INVITE sip:bob@example.com INVITE sip:bob@example.com 200 OK 200 OK ACK Media Stream BYE 200 OK Sip: alice@example.com proxy.example.com Sip:bob@example.com

SIP redirect server example SIP UAC SIP Redirect Server SIP UAS REGISTER bob@example1.com INVITE sip:bob@example.com 200 OK 302 Moved sip:bob@example1.com ACK INVITE sip:bob@example1.com 180 Ringing 200 OK ACK Media Stream Sip:alice@example.com Redirect.example.com Sip:bob@example1.com

SIP conferencing models P4 Tightly coupled conference Dial-In Conference Focus End point invite conference server which handle the media mixing Dial-Out Conference Server invite all the parties into a conference Ad-hoc Centralized Conference Two party setup conference directly, other party added through a conference server Loosely coupled P1 central signaling with multicast media P4 Fully distributed P1 P2 P3 P2 P3

SIP conference example dial out Conf with A,B,C Conference Focus INVITE (offer, conference_uri) UA A UA B UA C 180 ringing 200 OK (answer) ACK RTP Media Flow INVITE (offer) 180 ringing 200 OK (answer) ACK RTP Media Flow INVITE (offer) 180 ringing 200 OK (answer) ACK RTP Media Flow

SIP conference example dial in Conference Focus UA A UA B UA C INVITE (offer conference_uri) 200 OK (answer) ACK RTP Media Flow RTP Media Flow Conf with B,C REFER (refer-to focus, conference uri) 202 Accepted INVITE (offer conference_uri) 200 OK (answer) ACK NOTIFY INVITE (offer converence_uri) 200 OK (answer) ACK REFER (refer-to focus, conference uri) RTP Media Flow 202 Accepted NOTIFY

H.323 vs. SIP Different people has different views, but what s in common H.323 is matured and better for video conferencing, with less interoperability issues and lots of deployment With concept of call, linked tightly to telephony services, call, conferencing SIP is a keep growing standard, being chosen as the core signaling protocol of 3GPP IP Multimedia Subsystem, being today s developers choice With concept of session, linked tightly to internet services, presence, messaging, the standard for conferencing is still ongoing and will reach there

Media control protocols H.248/Megaco Basic concept Conference control SIP Based Media Control NetAnn (RFC 4240) MSCML SIP media control channel framework Megaco vs. SIP based media control

What is Megaco/H.248 Megaco/H.248 is an implementation of the Media Gateway Control architecture (defined by RFC 2805 requirements) for controlling Media Gateways on IP networks and PSTN. The result of collaboration IETF (RFC 3015) and ITU-T (H.248) groups A separation of call control and media conversion A master/slave protocol

Megaco components and signaling protocols MGC SIP, H.323 MGC Call signaling SIP SIP User Agent Media control Media flows Megaco/H.248 H.323 call signalling Megaco/H.248 MG H.323 Endpoint MG Media mapping, transcoding between different networks, media mixing as of conferencing

Megaco concepts Connection model terminations, streams, and the context Termination properties descriptors Context properties Message structure transactions, actions, and commands Events and signals

Megaco functions Media connection, mixing Media Transcoding Context Terminations Events and Signals Media connections achieved by placing two or more terminations into a common context Context viewed as mixing bridge Termination = source or sink of media flows Transport, medium, encoding/decoding specified per stream at each termination Flows specified by stream Context support multiple media streams

Megaco context examples Basic call Medium=audio, T1 Medium=audio, T2 Mode=sendReceive Mode=sendReceive Stream=1, medium=audio T1 T2 Multimedia T3 Stream=1, medium=audio Stream=2, medium=video Stream=2, medium=video

Megaco termination property Properties of terminations are organized syntactically into descriptors basic ones are Termination State, Media, Events, and Signals descriptors Media descriptor actually composed of other descriptors: Stream descriptors, which in turn contain LocalControl, Local, and Remote descriptors Default property values can be configured in the MG

Megaco context properties Three properties so far specified for a context topology descriptor allows detailed specification of connectivity between individual pairs of terminations priority flag can guide MG's allocation of scarce resources emergency flag can indicate contexts which must be maintained and restored in the event of failures Null context introduced as a convention where persistent terminations are held when they are not in a real context When terminations are returned to the null context, they take on their configured default property values. ROOT termination represents the MG itself

Megaco message structure Megaco/H.248 message Header Transaction Transaction... Transaction Req or Reply Req or Reply Req or Reply Trans Hdr Action... Action Ctx Hdr Ctx Properties Command... Command Cmd Hdr Descriptor... Descriptor

Megaco commands Megaco/H.248 provides the following commands For termination manipulation Add, Subtract, Move, Modify For event reporting Notify For management AuditCapability, AuditValue, ServiceChange

Events and signals Events are detected at the MG and reported to the MGC MGC controls what events it wants to learn about at any given time sets the termination Events descriptor Signals cause things to happen on terminations play a tone, display text,... Specified in the Signals descriptor for a termination MGC can specify duration of signal ahead of time or signal can play until explicitly stopped Signals stop playing when any event is detected unless MGC says otherwise.

Megaco message flow example source INVITE MGC ADD (for source termination) Reply MG (act as mixer) 180 Ringing 200 OK ACK MODIFY (for source termination) Reply ADD (for destination termination) Reply INVITE (local SDP) 180 Ringing 200 OK (remote SDP) ACK destination

SIP based media control protocols NetAnn (RFC 4240) MSCML (RFC 5022)

What is NetAnn Defined by IETF RFC 4240, provide basic media control service for applications in SIP based network The control is between media server (MS) and application server (AS) Predecessor to MSCML. Basic announcements, simpler conference model, doesn t provide for mid-call requests and responses

Basic concept Use SIP request URI as service indicator Can pass SIP servers without being treated as a bad request Use SIP INVITE message Examples INVITE sip:annc@ms2.example.net; play=http://audio.example.net/allcircuitsbusy.g711 INVITE sip:conf=123@ms.example.net

NetAnn sequence example - conferencing UA1 UA2 Application server Media server INVITE: sip: app_conf@example.com INVITE sip:conf=123@ms.example.net 200 OK ACK RTP UA1 200 OK ACK INVITE: sip: app_conf@example.com INVITE sip:conf=123@ms.example.net 200 OK 200 OK ACK ACK RTP UA1+UA2-UA1 RTP UA1+UA2-UA2

What is MSCML Defined initially by RFC 4722, replaced by RFC 5022 Same as NetAnn, provides services to users at an application level, services specified in user part of SIP Request URI, control between AS and MS Provide IVR and advanced (compared to NetAnn) conference service, as well as fax Command oriented, request/response protocol

Basic concept There are three type of MSCML message, request, response, notification <?xml version="1.0" encoding="utf-8"?> <MediaServerControl version="1.0"> <request>... request body... </request> </MediaServerControl> <?xml version="1.0" encoding="utf-8"?> <MediaServerControl version="1.0"> <response>... response body... </response> </MediaServerControl> MSCML messages are located in the body of SIP Request messages. Each SIP request can only embed on MSCML message SIP request messages: INVITE, INFO conf and ivr in SIP request URI specify the message type

MSCML main commands Main requests Conference related <configure_conf> <configure_leg> <configure_team> IVR related <play> <playcollect> <prompt> <playrecord> <stop> Event/signal (within a dialog) <subscribe> <notification> <signal> Response ID: optional Request Type: e.g. <play> Code: 2XX, 4XX, 5XX Text: human readable

MSCML conference management Configure_conference is mandatory: creating a control leg for conference <?xml version="1.0" encoding="utf-8"?> <MediaServerControl version="1.0"> <request> <configure_conference reservedtalkers="120" reserveconfmedia="yes"/> </request> </MediaServerControl> Configure_leg is a control leg for a dialog. It can configure the dialog s media mode Can play a prompt to a conference or to a specific leg Conference terminates by sending a BYE to conference control leg BYE to a leg will just remove a participant <?xml version="1.0" encoding="utf-8"?> <MediaServerControl version="1.0"> <request> <configure_leg mixmode="mute"/> </request> </MediaServerControl> <?xml version="1.0" encoding="utf-8"?> <MediaServerControl version="1.0"> <request> <play> <prompt> <audio url="http://prompts.example.net/en_us/welcome.au"/> </prompt> </play> </request> </MediaServerControl>

MSCML conference example Create

MSCML conference example play a prompt

Megaco vs. SIP based media control Megaco SIP based media control protocols Protocols/ standards MGCP, H.248 RFC 4240 (NetAnn) RFC 4722 (MSCML) mode organization Master/slave: A MG controlled by one MGC a time ITU-T (applied by 3GPP) Peer-to-peer: MS controlled by many application at the same time IETF (applied by 3GPP IMS conferencing architecture) focus Any media service Simple conference, announcement, prompt Conference, IVR Develop and Deployment Complex and Need time Easy and can be fast, but may have more interoperability issues code Binary/text Text Text (XML) Interested by Telecom Internet and Telecom Status comprehensive Under development

References SIP: Henning Schulzrinne and Jonathan Rosenberg, The Session Initiation Protocol: Internet-Centric Signaling IEEE Communications Magazine, Oct 2000 RFC 3261 SIP Conference model: RFC 4353 H.323: Hong Liu and Mouchtaris, P., Voice over IP signaling: H.323 and beyond, IEEE Communications Magazine, Oct 2000 Markku Korpi and Vineet Kumar, Supplementary Services in the H.323 IP Telephony Network, IEEE Communications Magazine, July 1999 Megaco: Tom Taylor, Megaco/H.248: A New Standard for Media Gateway Control,, IEEE Communications Magazine, Oct 2000 NetAnn: RFC 4240 MSCML: RFC 5022

Questions