Interface Channel.Interface.MergeableConference

Interface Index (Compact) | Summary | Description | Methods

Methods

Merge (o: Channel) nothing
Added in 0.21.UNRELEASED. as stable API, with no changes
Objects implementing this interface must also implement:

Description

An interface for multi-user conference channels that can have additional one-to-one channels merged into them after they are created.

Rationale:

This interface addresses part of freedesktop.org bug #24906 (GSM-compatible conference calls). GSM is currently the only protocol known to implement this; PBXs might implement it too.

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

Once a one-to-one channels has been merged into a conference using this interface, it may be possible—depending on the protocol—to split the one-to-one channel back out into a stand-alone call using the Splittable interface on the one-to-one channel.

Methods

(Permalink)

Merge (o: Channel) → nothing

Parameters

Request that the given channel be incorporated into this channel.

The given channel SHOULD be added to Conference.Channels if and only if the underlying protocol signals the merge in some way. It MUST NOT be added to Conference.InitialChannels (to preserve immutability).

Rationale:

In GSM it is possible to merge additional calls into an ongoing conference.

In XMPP this method could be implemented to merge a 1-1 Text channel into a MUC Text channel by inviting the peer from the Text channel into the MUC, or to merge a 1-1 Jingle call into a Muji call by inviting the peer from the Jingle call into the Muji call. (MUC and Muji channels are both implemented by XMPP MUCs, with Handle_Type_Room.)


Possible Errors

  • Invalid Argument
  • The given channel isn't suitable for merging into this one: for instance, it might have the wrong channel type or handle type.
  • Not Implemented
  • It will never be possible to merge channels into this particular conference.
  • Channel.Full
  • The given channel is theoretically suitable for merging into this one, but that's not currently possible because the protocol does not allow any more participants on this channel.
  • Not Available
  • The given channel is theoretically suitable for merging into this one, but that's not currently possible for some reason.