130 likes | 271 Views
draft-miniero-mediactrl-escs-00.txt. Alessandro Amirante Tobia Castaldi Lorenzo Miniero Simon Pietro Romano (University of Napoli Federico II). Session Control Protocol (SIP) Control Framework (ESCS/SCFW) Call Flow Examples.
E N D
draft-miniero-mediactrl-escs-00.txt Alessandro Amirante Tobia Castaldi Lorenzo Miniero Simon Pietro Romano (University of Napoli Federico II)
Session Control Protocol (SIP) Control Framework (ESCS/SCFW) Call Flow Examples • This document provides a number of Media Server Control Framework call flows • It is meant as a BCP document conceived to help the development of the framework specification with a practical approach • All the flow scenarios come from direct implementation experience, which can help fix potential drawbacks and/or issues emerging in the protocol University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
A Practical Approach • The document embraces a practical approach by providing: • State Diagrams of the framework protocol (both AS and MS perspectives); • Some implementation-oriented considerations that come out of the specification analysis. • Many real-life scenarios are considered in the call flows, and diagrams with different perspectives are included University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
Showed at the demo! Call Flows and Diagrams • Control Channel Establishment • COMEDIA-based negotiation • SYNCH framework transaction • Use Case Scenarios and Examples • Echo Test • Direct Echo Test • Echo Test based on Recording • Phone Call • Direct Connection • Conference-based Approach • Conferencing • Simple Bridging • Rich Conference Scenario • Coaching Scenario • Sidebars • Others? University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
CONTROL / - CONTROL RECEIVED API 202 / 202 CONTROL PENDING IDLE / TERMINATE API 200 / 200 API Error / Error API PENDING / REPORT PENDING 200 / - Media Server perspective PENDING SENT WAITING FOR LAST 200 API TERMINATE / REPORT TERMINATE 200 / - API TERMINATE / REPORT TERMINATE PENDING CONFIRMED API UPDATE / REPORT UPDATE UPDATE CONFIRMED UPDATE SENT API UPDATE / REPORT UPDATE 200 / -
Application Server perspective 202 / - CONTROL SENT 202 RECEIVED API CONTROL / send CONTROL REPORT PENDING / send 200 200 / - IDLE / TERMINATE PENDING Error / Error REPORT TERMINATE / send 200 UPDATE REPORT UPDATE / send 200 REPORT TERMINATE / send 200 REPORT UPDATE / send 200
Steady-state operation SIP signalling Control Framework signalling RTP data University of Napoli ApplicationServer (Wesip) OpenSER SIP messages SIP messages (High speed binary connector) SIP messages Control Channel User RTP communication University of Napoli Media Server University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
(6) 200 OK with COMEDIA • SIP INVITE • with COMEDIA (7) ACK (4) SIP 100 TRYING (10) SYNCH (Dialog-ID, etc.) (9) TCP connect (Control Channel) (11) 200 OK Control channel (2) SIP INVITE with COMEDIA (5) 200 OK with COMEDIA (3) SIP 100 TRYING (8) ACK SIP signalling Control Framework signalling TCP University of Napoli ApplicationServer (Wesip) Control channel setup OpenSER User University of Napoli Media Server University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
(4) 180 Ringing (14) ACK (1) SIP INVITE (13) 200 OK (2) SIP INVITE (11) 200 OK (8) 100 Trying (15) ACK (3) 180 Ringing (12) 200 OK (5) INVITE (3PCC) (16) ACK (6) INVITE (3PCC) (7) 100 Trying (10) 200 OK (17) ACK (9) SDP negotiation with UAC + tags and labels mapping SIP signalling Third Party Call Control (3PCC) Control Framework signalling RTP data University of Napoli ApplicationServer (Wesip) OpenSER User RTP media streams flowing University of Napoli Media Server University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
(2) 202 (5) 200 OK (3) REPORT/PENDING (6) REPORT/TERMINATE (7) 200 OK • CONTROL • (join UAC to itself) Control channel (4) “self-join” UAC SIP signalling Direct Echo example: self connection Control Framework signalling RTP data University of Napoli ApplicationServer (Wesip) OpenSER User RTP media streams flowing The UAC is echoed back everything University of Napoli Media Server University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
Considerations • Is the 202 message really necessary? • Always followed by a REPORT(pending) • Ambiguity between notify/update possible states in REPORT messages • Should notify/update events be possible *after* a terminate? • Since error messages cannot carry any payload, how are package-specific errors notified? • Should we ‘improperly’ use either the 200 message or the Report/terminate message for this? • …and others, mostly related to each specific control package • WIP… University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
Discussion • Is the document of interest to the WG? • Are the provided scenarios enough? Are they well described and analyzed? • Should security considerations be in the scope of this document, or should they just be referenced from the specification documents? • What else is needed and/or needs to be fixed? University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007
Prototype web site • The prototype implementation and documentation will be soon available at: • http://mediactrl.sourceforge.net Come and visit us ;-) Contacts: spromano@unina.it lorenzo.miniero@unina.it tobia.castaldi@unina.it alessandro.amirante@unina.it University of Napoli - mediactrl WG, 70th IETF meeting, Vancouver, Dec. 3rd 2007