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
Merge (o: Channel) → nothing
Parameters
- Channel — o
A channel with the same ChannelType as this one, but with TargetHandleType = CONTACT.
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
- Not Implemented
- Channel.Full
- Not Available