[Telepathy] MissionControl's spec

Xavier Claessens xclaesse at gmail.com
Tue Jan 8 11:15:31 PST 2008

On mar, 2008-01-08 at 11:42 +0200, Alberto Mardegan wrote:
> Other few things:
> 1) It seems that channel handlers cannot prevent a channel from being 
> dispatched, other than not emitting the Dispatch signal; I think we need 
> to add a boolean parameter to this signal, that tells MC whether it has 
> to continue invoking other channel handlers or if should close the channel.
> I didn't notice this, because I assumed that channel handlers where 
> allowed to close the channels; but in the specs I read this "Chandlers 
> should never close channels, instead they should simply emit Dispatch 
> signal and MissionControl will close the channel if there is no lower 
> priority chandlers.", so something must be changed.

Right, spec should be changed to tell than the chandler should call
Close() if the channel is rejected.

> 2) I guess that the client that calls RequestChannel() would like to 
> know if some errors occur; errors could be that the channel is not 
> created, or that some high priority channel handler closes blocks the 
> channel. In the former case, MissionControl has all the information it 
> needs; in the latter, we also need to add some error code to the CH 
> Dispatch signal (and here I miss a CloseWithReason() channel method in 
> Telepathy...).
> Then MC must emit a signal (ChannelRequestFailed?) which carries the 
> information needed for the requestor of the channel to know that his 
> channel request failed, and the reason for it. I think the easies way 
> would be to have RequestChannel return an integer request_id, that would 
> then be used to identify the channel request in the ChannelRequestFailed 
> signal.

I was thinking about changing RequestChannel(type,handle,handle_type) by
DispatchChannel(bus_name,object_path) and let the client call
RequestChannel from Connection iface and handle errors itself. The
motivation of that is for Media channels: Client making the call needs
to first create the channel and add the contact to the group interface
then dispatching the channel. With current NMC it's not possible because
if I RequestChannel (from Connection iface) NMC thinks it's a outgoing

Xavier Claessens.

More information about the Telepathy mailing list