1 CPCP Hisham Khartabil XCON WG IETF 59, Seoul
2 CPCP Requirements Changes since draft-ietf-xcon-cpcp-reqs-00 Removed the concept of hidden user. Anonymous is enough. Anonymous membership modified. It now requires that only authenticated users are allowed to join a conference Removed conference inactivity requirement. Added media type requirement (e.g. audio, video) Added floor control policy requirements
3 Start-time Stop-time Open Issue (1) What does start-time and stop-time mean for a conference created using CPCP? What are the requirements The CPCP Start Time is a choice made by creator: - A specified Earliest Mixing Time (which can be NOW or a time delta/GMT), and - The time the first participant arrives - OR - - The time a Key Participant arrives The CPCP End Time is a choice made by creator: - A specified End of Mixing Time (which can be NOW, NEVER, or a time delta/GMT), and - The time the last participant leaves - OR - - The time the last Key Participant leaves - OR - - Persistent (e.g., only the time (condition 1) matters)
4 Start-time Stop-time Open Issue (2) In the current solution proposal, we need the following: The CPCP Start Time is a choice made by creator: - A specified Earliest Mixing Time (which can be NOW or a time delta/GMT), and - The time the first participant arrives - OR - - The time a Key Participant arrives The CPCP End Time is a choice made by creator: - A specified End of Mixing Time (which can be NOW, NEVER, or a time delta/GMT), and - The time the last participant leaves - OR - - The time the last Key Participant leaves - OR - - Persistent (e.g., only the time (condition 1) matters) Need to further enhance the XML document to enable the full support
5 Key Participants New term and requirement that emerged from list discussion Need to add requirement Need to modify solution to enable assigning key participants to a conference
6 Conference ends when creator leaves Currently creator can not indicate that the conference ends when he leaves. Discussion on the list seems to want that feature. Current requirements and proposed solution does not require it. Should we add as a requirement?
7 XCAP Usage for CPCP
8 Create a Conference PUT HTTP/1.1 Content-Type:application/conference-policy+xml <Conference xmlns="urn:ietf:params:xml:ns:conference-policy“ xmlns:conference-settings="urn:ietf:params:xml:ns:conference-settings" xmlns:conference-time="urn:ietf:params:xml:ns:conference-time“> tel: T10:00:00Z T12:00:00Z
9 User suggested Conference URI PUT 200 XCAP Server Alice PUT 409 XCAP Server Alice Accepted Rejected. Server May suggest an alternative
10 Server assigned Conference URI PUT HTTP/1.1 Content-Type:application/conference-policy+xml <Conference xmlns="urn:ietf:params:xml:ns:conference-policy“ xmlns:conference-settings="urn:ietf:params:xml:ns:conference-settings" xmlns:conference-time="urn:ietf:params:xml:ns:conference-time“> T10:00:00Z T12:00:00Z
11 Server assigned Conference URI (1) PUT 200 SUBSCRIBE XCAP Server Alice NOTIFY 200 PUT 200 GET XCAP Server Alice 200
12 Adding an Access Control List PUT HTTP/1.1 Content-Type: text/plain
13 Adding a Dial-out List PUT HTTP/1.1 Content-Type: text/plain
14 What do we have so far? HTTP/ OK <Conference xmlns="urn:ietf:params:xml:ns:conference-policy“ xmlns:conference-settings="urn:ietf:params:xml:ns:conference-settings" xmlns:conference-time="urn:ietf:params:xml:ns:conference-time“> tel: T10:00:00Z T12:00:00Z GET erences/users/Alice/conference.xml HTTP/ looks like:
15 Conference Server Behaviour (1) PUT 200 XCAP server Conference Server Alice ??? Interface undefined
16 Conference Server Behaviour (2) PUT 200 XCAP server Conference Server Alice SUBSCRIBE NOTIFY 200 NOTIFY 200 Conf. Server needs to have r/w access
17 Adding a User (before or after conference start) PUT CL-target-URI[4] HTTP/1.1 Content-Type: text/plain
18 Adding Multiple Users (1) If XCAP does not allow more than 1 element to be inserted PUT HTTP/1.1 Content-Type: text/plain
19 Adding Multiple Users (2) If XCAP does allow more than 1 element to be inserted PUT CL-target-URI[4|5|6] HTTP/1.1 Content-Type: text/plain
20 Removing user from DL DELETE DL- target/DL-target-URI[1] HTTP/1.1
21 Blocking a User from Joining We added John, now we want to block him PUT CL-target-URI[4] HTTP/1.1 Content-Type: text/plain A GET on the ACL will show
22 Expelling a User from Joining Peter is being disruptive, we want to expel him PUT CL-target-URI[3] HTTP/1.1 Content-Type: text/plain A GET on the ACL will show
23 Why not just make Peter “blocked” Blocked means not allowed to join, but can still be dialled-out to in the next conference occurrence, if the user in on the DL. Expelled means that in the next conference occurrence, the user will not be dialled out to, even if s/he is on the DL.
24 Changing Conference Stop-time PUT Conference/Conference-time/Conference-occurrence/Stop-time HTTP/1.1 Content-Type: text/plain T14:00:00Z
25 Who can subscribe to Conference Event package? Using Privilege Control List PUT Conference/PCL HTTP/1.1 Content-Type: text/plain RIGHT_TO_SUBSCRIBE_TO_CONF_EVENT_PACKAGE
26 Conference Security Control Setting security levels and parameters to the conference PUT Conference/SC HTTP/1.1 Content-Type: text/plain visible Digest
27 Floor Control Policy Introduced into the latest version Contains: Does conference have floor or not Moderator controlled or not Who is the moderator Number of floors Media per floor What algorithm is used to moderate (FCFS, random, etc) Max floor users at one time 1
28 Media Policy Introduced into the latest version Contains Media types allowed in this conference Allows focus to know what media to INVITE users to.
29 XML Namespaces (1) Each feature is in its own XML namespace xmlns:conference-mp="urn:ietf:params:xml:ns:conference-mp" xmlns:conference-fp="urn:ietf:params:xml:ns:conference-fp" xmlns:conference-sc="urn:ietf:params:xml:ns:conference-sc" xmlns:conference-dl="urn:ietf:params:xml:ns:conference-dl" xmlns:conference-pcl="urn:ietf:params:xml:ns:conference-pcl" xmlns:conference-acl="urn:ietf:params:xml:ns:conference-acl" xmlns:conference-time="urn:ietf:params:xml:ns:conference-time" xmlns:conference-info="urn:ietf:params:xml:ns:conference-info" xmlns:conference-settings="urn:ietf:params:xml:ns:conference-settings Helps introduce new features into the conference policy by introducing a new namespace Eg: key participants
30 XML Namespaces (2) This will also help with assigning privileges (Authorization) Different users need to have different conference policy access rights All participants have read rights to conference-time Only creator has read/write rights to conference-time Introduce a new XCAP usage document that assigns users access (read/write) rights to certain parts of the conference policy based on namespaces and/or elements conference-pollicy urn:ietf:params:xml:ns:conference-time read
31 Missing Asserting identity: some conferences may require it, others may not Need to enable a conference creator to indicate if anonymous participants are allowed to join or not, with the condition that their identity is asserted
32 What Next? 3GPP waiting No other proposals OMA Push-To-Talk Over Cellular will make a protocol selection some time in the future They is great interest in harmonising the effort and minimise implementation and adoption of services Interoperability WG item?