Agenda Bash - Floor Contrl Rqmts RFC4376 - 2 in queue - Hope to finish framework soon - Need to work on media manipulation - Need to work on conference state manipulation ---------------------------------------------------------------------- XCON Framework - Mary Barnes draft-ietf-xcon-framework-03 Updates: Added scenarios and diagram for sidebars Content for whisper/private message, Conf announcements Improvements to Format of data, terminology.... Issues Resolved DP4/4.1 Blueprint is common + single template. Template can be by value or by reference DP4/4.2 New elements or modified elements need new template DP4/4.3 Blueprint can only contain ONE templa DP5 Three protocols to choose one Roles: Defined in common conf + templates. Resolve by defining them in templates. BR: Can doc mandate minumim roles all templates must define More work: Choose protocol, More whisper work, more announce/record work Chairs: Should we make it an RFC before we finish the protocol? BR: WGLC, don't publish CJ: If publishing would make things work faster (not allowing you to revist), then do it. SO: Suggest Removal user interface abstraction definition MB: Okay, probably not crucial to framework. Sean, please send specific parts you want removed ---------------------------------------------------------------------- Common Conference Information Data Model, Oscar Novo Updates: Change time representation from W3C dateTime to iCal object (RFC2445) Will change to offset from DTSTART/DTEND SO: iCal if not constrained is waay to complex. Can we scope it down Chairs: Got AD guidance NOT To scope it down, take it as it is SO: wow, gotta see what happens Templates: by ref or by val, only one. By-ref has a urn and display text. SO: want urn to be more dynamic, Need ways to have partial compliance + extensions BR: template doc should be stable, need some other way to show compliance/extensions Chairs: take that discussion to list Adds PSTN and H.323 child elements to conf-uri, service uri, host-info BR: Why not use URI scheme? RE: Some protocols have different ways to specify entries besides URIs RM: It's a URI, thats all you can specify Chairs: take to list Chairs: Should this be a working group item? Hum *** Consensus to accept as WG item *** ---------------------------------------------------------------------- CSCP draft-jennings-xcon-cscp-00 Oscar Novo Basic trick is assign an integer to a child element and use to make transactions efficient BR: might differentiate in the integers between a short hand way of refering to an element and an index to a list ---------------------------------------------------------------------- Chairs: Getting to the protocol discussion. Will flip a coin if necessary "I have a coin and I'm not afraid to use it" Chairs: List discussion on merging towards multiple protocols, but then we have interop, which can be: 1. Focus implements all, endpoints can implement one 2. Endpoints implement all, focus can implement one 3. Both must implement a specific one, others optional 4. Everyone makes their own choices, interop problems happen BR: don't like multiple protocols, could deal with multiple bindings of same protocol RE: don't make things complex, pick one RM: option 3 DM: Option 3. Differences matter on how data modify is done SO: Not sure what the requirements are, especially on mobile, low power devices. Not sure we can meet all requirements with one protocol AR: Not sure all meet the latency requirements. Not even clear how the XML based protocols change an element in a tree, xcap/xpath? And like option 3 RE: 3 is attractive, but focus and endpoint are not symmetric. So, 1 is a better choice. HK: Don't think 3 is an option, it has to be "Choose one" HS: Lots of communities with different preferences: web style, for example. Use tools that exist can't change their style. Issues with Megaco MB: Like the 1 idea, trending towards the 3 idea, if its 3, then the mandatory is CSCP seems like SO: Don't have an objective criteria. Think sidebar creation will be hard with CSCP KD: keep in mind all of this is optional. Don't think we have enough traction to have 2 solutions Supports all 4 options as long as there is only one GC: not enought cycles to pursue more than one AN: Latency issues are bogus: Moores law fixes processing power, if its low bandwidth can't run VoIP AR: These things are deployed with low bandwidth. Processing power is a battery problem not a megahertz problem HS: If the latency problem is "sliders", then lets have something that is reasonably optimized for that JH: Choose one RM: Not worried about efficiency, protocol must be efficient. All proposals are not worked out EB: In lemonade, have same choices. Devices cycle faster than RFCs. Don't worry about it CJ: Agree with Sean, have a common part, and variable template part, need some way to edit it AN: Battery life is a not a big issue. Encoding is reasonable. SO: Not clear to me, do all devices subscribe to event package? MI: Not worried about encoding, worried about simplicity of operations. Pick one way Chairs: One protocol or multiple? Show of hands. Strong consensus for one Chairs: Do we have to support mobile devices? HS: Yes, but need to support Web connections KD: Yes, but its optional CJ: Yes, need to HS: Question is only relevant in the sense of how low end EN: Or stated another way, it what the low end is when the protocol comes out HS: don't change volume all the time MI: its not frequency of change, its latency Chair: do some of the protocols prevent you from doing something on the high end devices? HS: Its the human issue (programmer cycles) SO: Agree. Already have H.323. Need rapid innovation. That needs web-like thinking. ??: Henning makes sense. Programmere cycles matter JM: Getting swayed by that. Don't yet understand how modify is done BR: XPATH/XCAP is hard HS: Don't think you need XCAP. When you do an extension, define new operations RM: I did something based on xcap. Too hard. Need to know how this should work with protocols on the table. HS: Define operations and operands for common things. Use xcap for uncommon things. Chair: Do we agree that a template can define a new operation CJ: Is that a protocol extension? AR: Yes CJ: Does that mean a full IETF protocol change process AR: No MB: Worry about revisiting the decision that a template was an XML Object Chair: if that solves the problem, that's progress CJ: Don't understand what is being proposed. DM: If everything we are operating on is in the object BR: Does everyone agree that all data is in an object? Chairs: Converging on a semantic approach. There is some running code: CCCP has been prototyped. SOAP is understood. Anyone have CSCP experience? HS: Need a deadline to get people do that GC: Multiple BFCP, no CSCP implementations yet SO: would like to see reports of implementation experiences RM: Lots of operations in CCCP, need to understand how we get low latency. Doesn't use SOAP. SO: Semantically scoped operations are easy to implement Chairs: 2 week last call on consensus CJ: Several people said we need set/get, does everyone agree its "add" "user" and not "adduser" RM: Can we do a BOF? Chairs: yes ---------------------------------------------------------------------- [meeting ends] AN = Aki Niemi AR = Adam Roach BR = Brian Rosen CJ = Cullen Jennings DM = Dave Morgan EB = Eric Burger GC = Gonzalo Camarillo HK = Hisham Khartabil HS = Henning Schulzrinne KD = Keith Drage MB = Mary Barnes MI = Markus Isomaki RE = Ronnie Even RM = Rohan Mahy SO = Sean Olson ====================================================================== ====================================================================== XCON Adhoc meeting Wed 22nd March 2006: ======================================= Adam Roach(AR): Opened up with summary of what we want to achieve. Need to what we want, not how to do it. Alan Johnston(AJ): Distributed the blue sheet for attendance details. Scribe: (Peter Livesey) was selected by pseudo random means by Rohan. Henning Schulzrinne(HS) : Workout what parameters are offline. General model, what you want to change generates a handle so you can identify when you wish to modify them. Make handles short only unique within context (with conference no globally unique). Objects have lots of parameters. Change parameter only or specify set and modify set. Don't have a SNMP approach. Brian Rosen(BR):Just do nouns and verbs here and do syntax later. ** Well we should agree what the ground rules are. ** Need to reach consensus on what the protocol is. Semantic versus syntactic. AR: Do we spend all the time re-arguing this? HS: agree same framework as peoples models still diverge. AR: Volume primitive as apposed to set value where value is volume. Rohan Mahy(RM):Difference between an event and manipulating a value. Roni Even(RE):We are talking about from client to focus not notification from focus. HS: The operation should be semantically clear. ** If you added to dial out list that would have effects. BR: Is it better to have general small list or long list that's specific (of semantic operations). RM:Manipulating a list is passive. ** The dial out list is persistent. BR:There is the object that reprsents the state of the conference is this not want we want to change or do we need to HS: Difference between immediate response actions rather than further off (e.g. reserve conference). Probably want both. API will look different for both. : Is the conference object only about when the conference is active? Mary Barnes (MB): Reservations actions will be different to changes to an active conference. ** Want to talk about changes to active conference. ** Fine let's talk about changes to active conference. HS: If doing software design we would design objects OO etc. Wants a consistent design pattern to how to define API. BR: No? Wants to define a template where you just have base verbs and then you do the verb on what ever variable. Don't want to always redefine verb for each parameters. BR: Don't want to always have to say set the same method. So we agree then that will need some setting of atomic values. E.g. Volume Sean Olson (SO): The client has the schema both ends know the data definitions. Robert Sparks(RS):(Tried explain what HS said with an analogy) ** Want set value raise ** Let's get on with defining the semantics HS: Each value doesn't need a specific method. Have a level of abstraction. "Raise all participants audio by 10%". You can't deduce that by the schema. Simon Romano: Mentioned existing standard WSRF from OASIS . SOAP would be nice one to use. Should take a look. SO:There are 2 types of items; atomic (get/set) and semantic groups like addUser. HS: but don't want to fix to specific item in the XML. AR: Get/Set for volume. BR: WSDL will say min/max values. AR: How do you scope the generic get/set of values? Not in the WSDL. BR: Get concrete, e.g. control, name=volume, ... ??:Will need WSDL and schema. HS: Will need to do checking in 2 places, WSDL and schema. ** Can't generate ** We have just started to talk about syntax. AR: Not trying to be biased just explaining how WSDL would work. BR: Wants to limit on the UI not the schema HS: Want to have close corelation between protocol and API. HS: Thought we were talking about abstractions. AR: Do we have misunderstanding or just difference of opinion. BR: We still need set get of generic or .... AR: This happened in Boston. AR: Who's has been following?? Who has an opinion on generic set/get or semantic based set/get? RM: Let's have set Volume. BR: I want semantic so okay. AR: Can we make a decision. AR: THESE WILL BOTH WORK WHY ARE WE TALKING ABOUT THIS FOR SO LONG. Chris Boulton(CB): When adding new templates will we have to add new operations. HS: Well yes. BR: Yes agree. BR: wants xpath that points to value and change value. HS: don't want to have xpath visible. AR: Ask floor who wants setVolume?? ** Some hands raised. AR: Who wants set(volume) ** More hands raised. AR: Who don't care?? ** Fewer hands AR: Well set(volume) seems to be consensus. SO: Need to go through the example schema. BR: How do you set the screen name for user? Here is an example. How do you set that? Let's start there. RM: Let's go round for other examples: dial out, changing roles (participant to moderator). BR: That's the same as changing screen. HS: No it's not. AJ: Let's do the role. RM: CCCP there is a modify role. Has affects on conference. So requires semantic on operation as could be last moderator and terminate conf. RE: If you want to change the role. But you don't know what this means between systems. AR: 5 mins break. 10 minutes later........................... AR: Starting: AJ: Blue sheet?? AR: Pushing on. Max participants, is something that can be a value change, but you may have to kick participants to fit the value. RM: if you want to reduce number in conf delete them AR: so not a valid operation. RM: Two interpretations reserve enough for max number or don't accept more than this number of participants. Yeah okay. AR: If it won't change the state of the conference (side effects like kicking people off conf, then set/get). BR: (Refers back to difference in semantics of changing) RM: resolve the difference in semantics when conf in different state make them two different things. E.g. Set max participants and reserve space for n participants. SO: Isn't that in the blueprint. MB: May be this is to do with the framework. HS: Adding/deleting is not get set. Agreement??? RM: Can't create a user. You can dial out AR: Creating user takes 9 months?? MB: State in framework. . AR: Adding a user this is semantic. Agree. Cullen Jennings(CJ): Lets take add user. There are things you might want to do with other objects. There are other things you might want to do with sidebars (e.g. does RM: Is there a template for a sidebar. MB: yes. AR: So you mean if you have main conference that's audio/video and you create sidebar for audio is this different template than creating a sidebar that's audio/video?? RM: createSideBar(template, ). MB: Sidebar is a child object of conf. So restrictions to parent apply to sidebar. SO: So if have different template for types of sidebar then this is hard. RM: So could have sidebar of IM but not allowed in main conf. MB: Yes. RM: Say move endpoint to conf/sidebar. So John: What do you mean if you have one EP and IM and voice in conf but want to move IM to sidebar. Just move media stream to sidebar. RM: Okay. moveMediaStream(conf, [sidebar]). AJ: Sean, Do you have sidebar primitives SO: Yes, its useful but in practice people don't want. MB: So what's the typical sidebar?/ SO: breakout into isolated AR: So more useful would be sidebar of different media type. SO: so would you have IM,Audio/video in same room? BR: Low level sidebar (audio) but scream to get back into main conf. CJ: Analyst might want to sidebar off with moderator (still hear main conf) then put into main conf AR: sounds like different template. CJ: Someone's client might want to do this. AR: Should this be in the basic template. RM: Analyst calls in see main conf, when want to ask question. They move to sidebar with analyst. They hear When its there Well this is responsibility of the client using the template. RM: so same template? ** No can be different template. But build "Weird" operations (analyst scenarios) in client not template (i.e. make it a use of the template). AR: Sounds like that we have agreement on what we might want to do. Haven't got to decision of which proposal to do. They all can cope with what has been discussed. Want to use proposals as a base (not necessary as is). RM: Bulk of work is going to be working out the semantics. Then put syntactic framing into the resultant document. So semantics first then add protocol. AR: want deadline prior to Montreal to have MB: what have we agreed. AJ: another document? SO: define semantics first. HS: wants the document to have return values and parameters define (define full API). Get to point where could define pseudo code. AR: want to define semantics. Who wants to do that BR, MB(Auth), RM, HS, SO. Prior to Montreal. How long to review.? MB: Interim meeting?? AR: See in list. HS: Or tele conf. SO: Nuts and bolts are in the data model. AR: Find the common parts in documents and then define templates. AJ: People interested in templates send ideas to list. AR: Comments within 2 weeks 1 month after released before Montreal?? BR: 1 month. RM: 3 weeks before mid July so need stuff by May. RM: Interim must be 30 days before, so mid May. AR: Closed meeting, with if people want specifics in the template then go to list. Summary: ======== Outcome: for manipulation of simple atomic items e.g. volume we will use setItem(ItemId, Value) not have separate operations for each item e.g. setVolume(value). Complex operations will be defined via a semantic based API. Actions: Mary (Author), Brian, Rohan, Sean and HS to document the semantic API required for the Common Conference Items and the base template. Deadline: This is to be done by mid May to allow for review time and reviewed document to be ready for IETF meeting in Montreal.