D-Bus and click-to-dial

Daniel Pocock daniel at pocock.pro
Mon Jul 13 03:43:45 PDT 2015

On 13/07/15 12:13, Simon McVittie wrote:
> On 13/07/15 07:24, Daniel Pocock wrote:
>> I'm just wondering if anyone can share any comments on the suitability
>> of D-Bus for click-to-dial and other computer-telephony-integration
>> (CTI), and whether such work is already under way?
> The fact that only one thing can own each well-known name (i.e. D-Bus
> activation cannot reliably choose between several implementations with
> the same "priority" in the search path) makes D-Bus less than ideally
> suited for this, IMO.
>> - somebody clicks a phone number in one application and it sends a D-Bus
>> message.  The message is received by a softphone or some daemon passes
>> the number to a desk phone
> There's a standard for tel: URIs, and there's a freedesktop.org protocol
> for dispatching URIs to URI-handlers (it's something like "look up the
> MIME-type handler for x-scheme-handler/tel"). That might be a better
> solution for this side of things than using D-Bus activation, because
> the MIME-handler spec understands concepts like "choose one of these
> three potential handlers" and "prefer this handler while running KDE".

When talking about the "tel:" URI, it becomes more ambiguous

The URI represents data (e.g. "Daniel's phone number is +442071.....").
 The URI does not represent an action.

When you click a URI in a web page (the Telify plugin is well worth a
look at, it makes all phone numbers on a page clickable), there are many
possible actions:
- dial the URI
- add the URI to an address book
- do an ENUM[1] lookup on the phone number and see if an email address
is associated with it

How should the URI handler, browser or whatever else interact with the
user to find out what they want to do with the URI?

When you click a phone number in an address book (e.g. GNOME Evolution
or Thunderbird), it is more likely that the action you desire is to dial it.

>> - an incoming call arrives on a softphone or a desk phone and a signal
>> is sent to all interested applications
> URI-handlers are not sufficient for this side, and D-Bus does seem a
> better fit.
> Telepathy was meant to be a standard API for this sort of thing,
> although development has stalled. telepathy-snom did this for a
> particular brand of hardware desk-phone, but if I remember correctly, it
> never made it past the proof-of-concept stage.
> (I used to work on Telepathy; I don't any more.)

Just how comprehensively is telepathy meant to cover this area?  Should
it just be involved when the call is made using Empathy, or it is
intended to be used with more generic solutions like the SNOM or Polycom

For example, I was not aware that it was working with standalone
hardware such as telepathy-snom.  Does this mean that somebody could
also create a telepathy-asterisk plugin and if somebody clicks a number
in the address book, the telepathy-asterisk plugin would send an
instruction to an Asterisk server to make an outgoing call?  Would this
be an intended use of the Telepathy API or would this be stretching it
too far?

1. http://rtcquickstart.org/guide/multi/enum.html

More information about the dbus mailing list