[Bug 24936] Channel.Type.Call (StreamedMedia 2.0)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jun 24 15:23:51 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=24936

--- Comment #62 from Sjoerd Simons <sjoerd at luon.net> 2010-06-24 06:23:51 PDT ---
(In reply to comment #3)
> Myself and Simon had a small spec meet last week about the spec, the following
> are the notes from them.
> 
> * Hangup (ss) or (uss) => Close implies unexpected channel closure.
>   -  might be deprecated by TP 1.0
> 
> The hangup method on the Call channel should be able to take an error. We need
> to make up our minds if this should be (uss) (Error enum, Dbus error string,
> Debug message) or just (ss) (Dbus error string, Debug message)..
> 
> The former has the advantage that we use the enum for categories that rarely
> gets extended, such that applications can fallback to using the enum value if
> they don't recognize the (more detailed) dbus error string.

Gone with the former, done

> * AddContents:
>   * flesh out the rationale for content name.
>   * E_INVAL is only for content types ? E_INVAL maybe be NotCapable instead.
> 
> What error should be reported when a content is added with a media type that
> the CM doesn't support. Also what error should be reported if a media type is
> added which isn't possible in this call (can't add a second video stream, can't
> add a content when the content set isn't mutable etc)

#28724

> * InitialTransport: s => Needs to be given a type, we might have one in the old
> api already

#28725

> * Make it very clear that we mandate that either InitialAudio or InitialVideo
> is mandatory. 

#28717

> * Need a way to expose rtp profiles (AVP/AVPF)

#28687 and probably #28686

> * Capability tokens need to be nicely namespaced. and also add a capability
>   token for shared memory transport (as implemented by farsight)

Add capability token for shared memory transport

> * HardwareStreaming needs to be specced as an immutable property
#28728

> * Add rationale hardware streaming (no need to start S-E,  open a webcam etc
> etc
>   if it's streamed by hardware)
Done

> * Rumor has it that some stuff are partially hardware streamed (e.g. GSM for
> audio, SIP for video),  
>    would be good if we could verify it, although the wording already such that
> this is allowed. 

#28729 

> * unnamespaced asv keys should be in the same style as GObject properties

assuming spec linting solved this

> * Ponder poking the possible handler before approvers are ongoing (so we can
> send  candidates while the call isn't approvered yet).
> 
> With ice you want to start exchanging candidates as soon as the call comes in
> (iotw, when the phone is ringing, which is when the call is at the approver
> stage). This means that ideally the handler would already have the channel. If
> another handler is decided it could restart the negotiation by doing an ice
> restart (although hopefully this will be uncommon...). So what we might need is
> an AddRequest like thing from mission-control, to warn handlers that they might
> get a channel.
> 
> * Document and ponder when to actually start the outgoing calling.
> 
> For voip calls this is not a problem, you can usually only start calling once
> you've given all the contents a set of codecs. But for calls with hardware
> streaming this might be a bit more tricky, as in, 
> it might be undesirable to start dailing before the handler has popped up.
> Maybe the handler should also Accept() outgoing calls (and starts of in the
> pending call state)?

> * Work out division of responsibility between approver and handler.
> 
> iotw, should the Handler or the Approver call Accept. Imho the handler should,
> so you can make sure that you have a Call UI once you accept the call.

Solved by always requiring the handler to call Accept before startin the call. 

> * Mention that CallState is exhaustive ?
> * CallState add 0 for unknown.

Done

> The enum in the CallState should be complete, as in, it should encompass the
> complete state machine. Where extra information is part of the asv. Also, we
> should change the call state to (uua{sv}) aka (State, Flags, Info). Where
> minimal voip UI's should be able to get the basic information from the State +
> Flags and more complete handlers can get extra information from the info dict.

Done

> * For 1-1 calls have a error state for the self-handle if they missed the call

#28731 

> * Explicitely mention that the target handle is the person you initially called
> 
> This is important for conference calls, where the person that initially called
> you or invited you might not be in the channel anymore, so handlers shouldn't
> rely on this

#28732

> * Invent a channelstate for the health of the channel
> 
> To make it easier the understand the overall state of the channel we should
> have ChannelState property with an actor. So you only have to look at this
> property to decide for example that the call ended because the other side
> rejected it, without needing to dig in the CallState property

#28733

> * Have an InitialContent boolean instead of Disposition
> 
> The Disposition enum has <none>, <early media>, <initial> but on protocols like
> SIP you can't actually know what stream is early media, so just <none>,
> <initial> might be better. In which case it can be replaced by a simple boolen.

#28720


> * StreamAdded might become plural
#28736

> * Stream: Document what the PendingSend sending state means for the self
> handle.
> The PendingSend state for the self handle indicates that the other side
> requested our side to start sending media, which can be done by calling
> SetSending. When a call is accepted, all _initial_ contents with streams in the
> PendingSend state for the self-handle are automatically set to sending.
> 
> e.g. on an incoming call it means you need to Accept to start the actual call,
> on an outgoing call it might mean, you need to accept before actually starting
> the call.. 

#28735

> * Stream: Rename Senders to Members
> 
> On the Stream interface the Senders property should be renamed to Members for a
> bit more clarity

#28700

> * Need to ponder on calls from anonymous number.

#28730

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the telepathy-bugs mailing list