draft-ietf-mediactrl-sip-control-framework-07.txt   draft-ietf-mediactrl-sip-control-framework-08.txt 
Network Working Group C. Boulton Network Working Group C. Boulton
Internet-Draft Avaya Internet-Draft Avaya
Expires: May 28, 2009 T. Melanchuk Expires: June 6, 2009 T. Melanchuk
Rain Willow Communications Rain Willow Communications
S. McGlashan S. McGlashan
Hewlett-Packard Hewlett-Packard
November 24, 2008 December 3, 2008
Media Control Channel Framework Media Control Channel Framework
draft-ietf-mediactrl-sip-control-framework-07 draft-ietf-mediactrl-sip-control-framework-08
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 28, 2009. This Internet-Draft will expire on June 6, 2009.
Abstract Abstract
This document describes a Framework and protocol for application This document describes a Framework and protocol for application
deployment where the application programming logic and processing are deployment where the application programming logic and processing are
distributed. This implies that application programming logic can distributed. This implies that application programming logic can
seamlessly gain access to appropriate resources that are not co- seamlessly gain access to appropriate resources that are not co-
located on the same physical network entity. The framework uses the located on the same physical network entity. The framework uses the
Session Initiation Protocol (SIP) to establish an application-level Session Initiation Protocol (SIP) to establish an application-level
control mechanism between application servers and associated external control mechanism between application servers and associated external
skipping to change at page 3, line 25 skipping to change at page 3, line 25
12.4. Control Framework Header Fields . . . . . . . . . . . . . 40 12.4. Control Framework Header Fields . . . . . . . . . . . . . 40
12.5. Control Framework Port . . . . . . . . . . . . . . . . . 41 12.5. Control Framework Port . . . . . . . . . . . . . . . . . 41
12.6. SDP Transport Protocol . . . . . . . . . . . . . . . . . 41 12.6. SDP Transport Protocol . . . . . . . . . . . . . . . . . 41
12.7. 'cfw-id' SDP Attribute . . . . . . . . . . . . . . . . . 41 12.7. 'cfw-id' SDP Attribute . . . . . . . . . . . . . . . . . 41
12.8. URN Sub-Namespace for 12.8. URN Sub-Namespace for
urn:ietf:params:xml:ns:control:framework-attributes . . . 42 urn:ietf:params:xml:ns:control:framework-attributes . . . 42
12.9. XML Schema Registration . . . . . . . . . . . . . . . . . 42 12.9. XML Schema Registration . . . . . . . . . . . . . . . . . 42
12.10. MIME Media Type Registration for 12.10. MIME Media Type Registration for
'application/framework-attributes+xml' . . . . . . . . . 43 'application/framework-attributes+xml' . . . . . . . . . 43
13. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 13. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
13.1. Changes from 06 Version . . . . . . . . . . . . . . . . . 43 13.1. Changes from 07 Version . . . . . . . . . . . . . . . . . 43
13.2. Changes from 05 Version . . . . . . . . . . . . . . . . . 44 13.2. Changes from 06 Version . . . . . . . . . . . . . . . . . 44
13.3. Changes from 04 Version . . . . . . . . . . . . . . . . . 44 13.3. Changes from 05 Version . . . . . . . . . . . . . . . . . 44
13.4. Changes from 03 Version . . . . . . . . . . . . . . . . . 44 13.4. Changes from 04 Version . . . . . . . . . . . . . . . . . 44
13.5. Changes from 02 Version . . . . . . . . . . . . . . . . . 44 13.5. Changes from 03 Version . . . . . . . . . . . . . . . . . 44
13.6. Changes from 01 Version . . . . . . . . . . . . . . . . . 44 13.6. Changes from 02 Version . . . . . . . . . . . . . . . . . 44
13.7. Changes from 00 Version . . . . . . . . . . . . . . . . . 45 13.7. Changes from 01 Version . . . . . . . . . . . . . . . . . 45
13.8. Changes from 00 Version . . . . . . . . . . . . . . . . . 45
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 45 14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 45
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 45 15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 46
16. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . 46 16. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . 46
16.1. Common Dialog/Multiparty Reference Schema . . . . . . . . 46 16.1. Common Dialog/Multiparty Reference Schema . . . . . . . . 46
17. References . . . . . . . . . . . . . . . . . . . . . . . . . . 47 17. References . . . . . . . . . . . . . . . . . . . . . . . . . . 48
17.1. Normative References . . . . . . . . . . . . . . . . . . 47 17.1. Normative References . . . . . . . . . . . . . . . . . . 48
17.2. Informative References . . . . . . . . . . . . . . . . . 49 17.2. Informative References . . . . . . . . . . . . . . . . . 49
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 50 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 50
Intellectual Property and Copyright Statements . . . . . . . . . . 51 Intellectual Property and Copyright Statements . . . . . . . . . . 51
1. Introduction 1. Introduction
Real-time media applications are often developed using an Real-time media applications are often developed using an
architecture where the application logic and processing activities architecture where the application logic and processing activities
are distributed. Commonly, the application logic runs on are distributed. Commonly, the application logic runs on
"application servers" but the processing runs on external servers, "application servers" but the processing runs on external servers,
skipping to change at page 8, line 34 skipping to change at page 8, line 34
Call-ID: 7823987HJHG6 Call-ID: 7823987HJHG6
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:Client@clientmachine.example.com> Contact: <sip:Client@clientmachine.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: [..] Content-Length: [..]
v=0 v=0
o=originator 2890844526 2890842808 IN IP4 controller.example,com o=originator 2890844526 2890842808 IN IP4 controller.example,com
s=- s=-
c=IN IP4 controller.example.com c=IN IP4 controller.example.com
m=application 7575 TCP/CFW m=application 7575 TCP/CFW *
a=setup:active a=setup:active
a=connection:new a=connection:new
a=cfw-id:H839quwhjdhegvdga a=cfw-id:H839quwhjdhegvdga
On receiving the INVITE request, an external Server supporting this On receiving the INVITE request, an external Server supporting this
mechanism generates a 200 OK response containing appropriate SDP. mechanism generates a 200 OK response containing appropriate SDP.
The 'cfw-id' SDP attribute is copied from the original offer. The 'cfw-id' SDP attribute is copied from the original offer.
External Server Sends to Client: External Server Sends to Client:
skipping to change at page 9, line 19 skipping to change at page 9, line 19
Call-ID: 7823987HJHG6 Call-ID: 7823987HJHG6
CSeq: 1 INVITE CSeq: 1 INVITE
Contact: <sip:External-Server@servermachine.example.com> Contact: <sip:External-Server@servermachine.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: [..] Content-Length: [..]
v=0 v=0
o=originator 2890844526 2890842808 IN IP4 server.example.com o=originator 2890844526 2890842808 IN IP4 server.example.com
s=- s=-
c=IN IP4 mserver.example.com c=IN IP4 mserver.example.com
m=application 7563 TCP/CFW m=application 7563 TCP/CFW *
a=setup:passive a=setup:passive
a=connection:new a=connection:new
a=cfw-id:H839quwhjdhegvdga a=cfw-id:H839quwhjdhegvdga
The Control Client receives the SIP 200 OK response and extracts the The Control Client receives the SIP 200 OK response and extracts the
relevant information (also sending a SIP ACK). It creates an relevant information (also sending a SIP ACK). It creates an
outgoing (as specified by the SDP 'setup:' attribute of 'active') TCP outgoing (as specified by the SDP 'setup:' attribute of 'active') TCP
connection to the Control Server. The connection address (taken from connection to the Control Server. The connection address (taken from
'c=') and port (taken from 'm=')are used to identify the remote port 'c=') and port (taken from 'm=')are used to identify the remote port
in the new connection. in the new connection.
skipping to change at page 33, line 34 skipping to change at page 33, line 34
CSeq: 1 INVITE CSeq: 1 INVITE
Call-ID: 893jhoeihjr8392@example.com Call-ID: 893jhoeihjr8392@example.com
Contact: <sip:control-client@pc1.example.com> Contact: <sip:control-client@pc1.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Cotent-Length: [..] Cotent-Length: [..]
v=0 v=0
o=originator 2890844526 2890842808 IN IP4 controller.example,com o=originator 2890844526 2890842808 IN IP4 controller.example,com
s=- s=-
c=IN IP4 control-client.example.com c=IN IP4 control-client.example.com
m=application 7575 TCP/CFW m=application 7575 TCP/CFW *
a=setup:active a=setup:active
a=connection:new a=connection:new
a=cfw-id:fndskuhHKsd783hjdla a=cfw-id:fndskuhHKsd783hjdla
2. Control Server->Control Client (SIP): 200 OK 2. Control Server->Control Client (SIP): 200 OK
SIP/2.0 200 OK SIP/2.0 200 OK
To: <sip:control-server@example.com>;tag=023983774 To: <sip:control-server@example.com>;tag=023983774
From: <sip:control-client@example.com>;tag=8937498 From: <sip:control-client@example.com>;tag=8937498
Via: SIP/2.0/UDP control-client.example.com;branch=z9hG412345678 Via: SIP/2.0/UDP control-client.example.com;branch=z9hG412345678
CSeq: 1 INVITE CSeq: 1 INVITE
Call-ID: 893jhoeihjr8392@example.com Call-ID: 893jhoeihjr8392@example.com
Contact: <sip:control-client@pc2.example.com> Contact: <sip:control-client@pc2.example.com>
Content-Type: application/sdp Content-Type: application/sdp
Content-Length: [..] Content-Length: [..]
v=0 v=0
o=originator 2890844526 2890842808 IN IP4 controller.example,com o=originator 2890844526 2890842808 IN IP4 controller.example,com
s=- s=-
c=IN IP4 control-server.example.com c=IN IP4 control-server.example.com
m=application 7575 TCP/CFW m=application 7575 TCP/CFW *
a=setup:passive a=setup:passive
a=connection:new a=connection:new
a=cfw-id:fndskuhHKsd783hjdla a=cfw-id:fndskuhHKsd783hjdla
3. Control Client->Control Server (SIP): ACK 3. Control Client->Control Server (SIP): ACK
4. Control Client opens a TCP connection to the Control Server. 4. Control Client opens a TCP connection to the Control Server.
The connection can now be used to exchange control framework The connection can now be used to exchange control framework
messages. Control Client-->Control Server (Control Framework messages. Control Client-->Control Server (Control Framework
Message): SYNC. Message): SYNC.
skipping to change at page 43, line 43 skipping to change at page 43, line 43
Person & email address to contact for further information: Chris Person & email address to contact for further information: Chris
Boulton <cboulton@avaya.com> Boulton <cboulton@avaya.com>
Intended usage: LIMITED USE Intended usage: LIMITED USE
Author/Change controller: The IETF Author/Change controller: The IETF
Other information: None. Other information: None.
13. Changes 13. Changes
Note to RFC Editor: Please remove this whole section. Note to RFC Editor: Please remove this whole section.
13.1. Changes from 06 Version 13.1. Changes from 07 Version
o Added '*' to SDP 'm=' line in examples.
13.2. Changes from 06 Version
o Added 202 Timeout entry to table. o Added 202 Timeout entry to table.
o Fixed some general nits and language. o Fixed some general nits and language.
o Fixed ABNF to be 'control-content = *OCTET'. o Fixed ABNF to be 'control-content = *OCTET'.
o Added general qualifier to sections 6.3.3.1 and 6.3.3.2 so that o Added general qualifier to sections 6.3.3.1 and 6.3.3.2 so that
rules for either tearing down or reconnecting are applied. rules for either tearing down or reconnecting are applied.
13.2. Changes from 05 Version 13.3. Changes from 05 Version
o Reworded 'must' used in Introduction. o Reworded 'must' used in Introduction.
o Added urn namespace definition in IANA section. o Added urn namespace definition in IANA section.
o Added XML schema registration in IANA section. o Added XML schema registration in IANA section.
o Added MIME registration in IANA section. o Added MIME registration in IANA section.
13.3. Changes from 04 Version 13.4. Changes from 04 Version
o Fixed nits as reported by Brian Weis. o Fixed nits as reported by Brian Weis.
o Amended Security text as per secdir review. o Amended Security text as per secdir review.
o Removed optional 'label' part of dialog identifier as per interim o Removed optional 'label' part of dialog identifier as per interim
call. call.
o Added clarifying text at the beginning of section 4 to help o Added clarifying text at the beginning of section 4 to help
describe what the section is about. describe what the section is about.
o Added text at the beginning of section 8 clarifying that the o Added text at the beginning of section 8 clarifying that the
template is not the basis for packages BUT only needs to be template is not the basis for packages BUT only needs to be
included as part of a Control Package. included as part of a Control Package.
13.4. Changes from 03 Version 13.5. Changes from 03 Version
o Removed comment from XML schema in appendix. o Removed comment from XML schema in appendix.
o Changed dialog-id-string in section 9.1 to be dialog-id-string = o Changed dialog-id-string in section 9.1 to be dialog-id-string =
alpha-num-token. alpha-num-token.
o Changed status-code in section 9.1 to status-code = 3*DIGIT o Changed status-code in section 9.1 to status-code = 3*DIGIT
o Aligned use of Keep-Alive header terms in document. o Aligned use of Keep-Alive header terms in document.
o Added text to clarify connection and session relationship - as per o Added text to clarify connection and session relationship - as per
thread with Roni on use of 'new' and 'existing'. thread with Roni on use of 'new' and 'existing'.
o Use of K-Alive control message now aligned. o Use of K-Alive control message now aligned.
o Clarified that a CONTROL with no payload should be dealt with at o Clarified that a CONTROL with no payload should be dealt with at
the package level. the package level.
o Scrubbed ABNF + XML. o Scrubbed ABNF + XML.
13.5. Changes from 02 Version 13.6. Changes from 02 Version
o RAI review version. See comments. o RAI review version. See comments.
o Fixed broken IANA subsections ordering + naming. o Fixed broken IANA subsections ordering + naming.
13.6. Changes from 01 Version 13.7. Changes from 01 Version
o Restructured text for readability. o Restructured text for readability.
o Changed SYNCH method name to SYNC. o Changed SYNCH method name to SYNC.
o Removed 'pending' state to be replaced by 'update' with no o Removed 'pending' state to be replaced by 'update' with no
payload. payload.
o Replaced construction of dialog-id with new SDP parameter and o Replaced construction of dialog-id with new SDP parameter and
revised text. revised text.
o Removed problem with K-Alive mechanism. K-Alive timers are now o Removed problem with K-Alive mechanism. K-Alive timers are now
separate from any other Control messages as the delay in separate from any other Control messages as the delay in
processing allows for un-sync on both sides. processing allows for un-sync on both sides.
o Added transaction timeout of 5 seconds - as per meeting. o Added transaction timeout of 5 seconds - as per meeting.
o Added Upper Limit for transaction timeout on REPORT to 15 seconds. o Added Upper Limit for transaction timeout on REPORT to 15 seconds.
o Added Content-Type to table and missing examples etc. o Added Content-Type to table and missing examples etc.
o Simplified Security Section as per meeting feedback. o Simplified Security Section as per meeting feedback.
o Added proposed 'holdconn' text. o Added proposed 'holdconn' text.
skipping to change at page 45, line 18 skipping to change at page 45, line 24
separate from any other Control messages as the delay in separate from any other Control messages as the delay in
processing allows for un-sync on both sides. processing allows for un-sync on both sides.
o Added transaction timeout of 5 seconds - as per meeting. o Added transaction timeout of 5 seconds - as per meeting.
o Added Upper Limit for transaction timeout on REPORT to 15 seconds. o Added Upper Limit for transaction timeout on REPORT to 15 seconds.
o Added Content-Type to table and missing examples etc. o Added Content-Type to table and missing examples etc.
o Simplified Security Section as per meeting feedback. o Simplified Security Section as per meeting feedback.
o Added proposed 'holdconn' text. o Added proposed 'holdconn' text.
o Added Default port text - as per meeting. o Added Default port text - as per meeting.
o Added Audit text. o Added Audit text.
13.7. Changes from 00 Version 13.8. Changes from 00 Version
o Aligned tokens to be 'CFW' (removed ESCS). o Aligned tokens to be 'CFW' (removed ESCS).
o Content-Length not mandatory for messages with no payload. o Content-Length not mandatory for messages with no payload.
o Corrected changes to call flows from legacy versions. o Corrected changes to call flows from legacy versions.
o Use of term 'Active UA' in section 7 + others. o Use of term 'Active UA' in section 7 + others.
o Added 'notify' to status header of ABNF. o Added 'notify' to status header of ABNF.
o Changed 481 to be transaction specific. o Changed 481 to be transaction specific.
o Added '423' duplicate transaction ID response. o Added '423' duplicate transaction ID response.
o Added '405' method not allowed. o Added '405' method not allowed.
o Added IANA section. o Added IANA section.
 End of changes. 20 change blocks. 
27 lines changed or deleted 30 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/