Bug 31660

Summary: Undraft MergeableConference and Splittable
Product: Telepathy Reporter: Will Thompson <will>
Component: tp-specAssignee: Will Thompson <will>
Status: RESOLVED MOVED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: kai.vehmanen, mikhail.zabaluev, pekka.pessi
Version: git masterKeywords: patch
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/wjt/telepathy-spec-wjt.git;a=shortlog;h=refs/heads/undraft-splittable-and-mergeable
Whiteboard: review-, minor changes
i915 platform: i915 features:

Description Will Thompson 2010-11-16 06:43:00 UTC
Hello,

These interfaces are implemented in telepathy-ring and seem to work. So here's a branch which cleans them up a bit and then undrafts them!
Comment 2 Simon McVittie 2010-11-16 07:11:35 UTC
I'm mainly saying r- to confirm what your opinion is on the points below, tbh; this looks fine to undraft soon.

> +      <p>Once a one-to-one channels has been merged into a conference using

'one-to-one channel has'

> [MergeableConference] might be made into a mandatory-to-implement part
> of Conference, or kept as a separate interface, when stabilized.

This sentence should be deleted. Are we happy to make this not be m-t-i?

If we've resolved that non-telephonic protocols aren't expected to implement MergeableConference, then the Merge() rationale shouldn't talk about XMPP.
Comment 3 Will Thompson 2010-11-21 05:23:35 UTC
(In reply to comment #2)
> If we've resolved that non-telephonic protocols aren't expected to implement
> MergeableConference, then the Merge() rationale shouldn't talk about XMPP.

So relatedly, the documentation for Merge() says:

    “The given channel SHOULD be added to Conference.Channels if and only if the underlying protocol signals the merge in some way.”

I wonder whether it's less confusing to just say Merge is only supported if the underlying protocol signals the merge in some way.
Comment 4 Simon McVittie 2010-11-22 03:28:06 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > If we've resolved that non-telephonic protocols aren't expected to implement
> > MergeableConference, then the Merge() rationale shouldn't talk about XMPP.
[...]
> I wonder whether it's less confusing to just say Merge is only supported if the
> underlying protocol signals the merge in some way.

With my ex-mathematician hat on, this is mixing two orthogonal things: MergeableConference is (intended) for protocols where you can only merge, not invite, whereas addition to Channels in Merge() is for protocols where merging is signalled.

However, with my software engineer hat on, I suspect that those two orthogonal things will always coincide in practice - protocols which "look like telephony" will require merging *and* signal merges, and protocols which don't "look like telephony" will do neither. So, yeah, I'd be fine with conflating those.

Mikhail, any thoughts on comment #2 and subsequent comments? (In particular, how would SIP behave?)
Comment 5 Will Thompson 2010-11-23 03:31:52 UTC
(In reply to comment #4)
> protocols which "look like telephony"
> will require merging *and* signal merges, and protocols which don't "look like
> telephony" will do neither. So, yeah, I'd be fine with conflating those.

That's pretty much my position.
Comment 6 Pekka Pessi 2010-12-01 09:34:28 UTC
>A channel with the same ChannelType as this one, but with TargetHandleType = CONTACT.

Is there a particular reason to restrict merges to one-to-one channels? Not that I'd like to handle conferences consisting of conferences..
Comment 7 Simon McVittie 2010-12-01 10:13:51 UTC
(In reply to comment #6)> Is there a particular reason to restrict merges to one-to-one channels? Not
> that I'd like to handle conferences consisting of conferences..

Sanity? :-)

My understanding is that this is enough to represent every protocol we know about (including GSM, with suitable definitions of a conference); we can always add a flag for "this weird thing *also* works" later, if we need one.

My understanding is that we represent GSM conferences like this:

If Alice calls me, then calls Bob and merges the two calls, my GSM provider tells me "this call with Alice has gained one or more conference participants" (if anything), so I see this as a 1-1 call with the Conference_Host CallState flag.

If I then call Chris and merge my call with Chris into my call with Alice, *that* is where we start using a Telepathy Conference.

Am I right? Diagram:

            Telepathy Conference
      //================||=================\\
      ||                ||                 ||
      ||                ||                 ||
      ||                ||                 ||
    Chris ------------- me ---------------- Alice - - - - - - Bob
               ^        ||  ^ 1-1 Telepathy  || ^ not visible  ||
         1-1 Telepathy        Channel            in Telepathy
           Channel      ||                   ||                ||

                        \\ = = = = = = = = = ||= = = = = = = = //
                             ^ only visible as the Conference_Host flag

       ==== GSM conference
       ---- GSM call
       solid lines are Telepathy channels
       broken lines are not
Comment 8 Pekka Pessi 2010-12-01 11:11:48 UTC
(In reply to comment #7)
> Am I right? Diagram:

Yep, you are correct.

I'm just waiting for IMS and 24.147. ;-)
Comment 9 Mikhail Zabaluev 2010-12-07 04:52:20 UTC
(In reply to comment #4)
> Mikhail, any thoughts on comment #2 and subsequent comments?

I think MergeableConference should be kept specific to cases where it is needed, that is, GSM-style conference calls.

> (In particular,
> how would SIP behave?)

What does SIP have to do with conferences? :)
I don't know any widely accepted ways to support conferences in SIP, apart from calling some special URI to participate in a conference, or being called from a conference service. Neither of which communicates anything about other conference participants, or carries other discernible differences with a one-to-one call.
Comment 10 Mikhail Zabaluev 2010-12-07 05:19:02 UTC
(In reply to comment #9)
> I don't know any widely accepted ways to support conferences in SIP, apart from
> calling some special URI to participate in a conference, or being called from a
> conference service.

Now, IMS may provide a way to set up a conference "room" (sadly I didn't read the spec for details yet) and invite other participants to it with REFER. If this REFER can be received inside an established call session thus instructing to merge the call into a conference, this is probably a case that should be covered by MergeableConference.
Comment 11 Pekka Pessi 2010-12-07 05:24:53 UTC
On IMS there should be full-blown conference implementation with floor control and participant identification using conference event. (I have just browsed the specs, and I should probably read also the VoLTE profile...)
Comment 12 GitLab Migration User 2019-12-03 20:23:08 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-spec/issues/94.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.