Bug 28696 - DTMF and Call
Summary: DTMF and Call
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-spec (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard: Call
Keywords: patch
Depends on:
Blocks:
 
Reported: 2010-06-23 07:52 UTC by Sjoerd Simons
Modified: 2012-01-06 13:13 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
patch (14.56 KB, patch)
2011-12-30 23:51 UTC, Olivier Crête
Details | Splinter Review
Updated patch that keeps InitialTones on the channel interface (14.14 KB, patch)
2012-01-05 17:55 UTC, Olivier Crête
Details | Splinter Review

Description Sjoerd Simons 2010-06-23 07:52:51 UTC
From #24936

> > > Chan.I.DTMF has methods that are in terms of integer stream IDs. We could
> > > either reimplement it as a channel interface in terms of streams' object paths,
> > > or reimplement it as a stream (or even content) interface?
> 
> It should either be an interface on the Channel (with no stream identifier) or
> on the Content. The same "data" is sent on all streams of one Content. I'd
> personally be favorable to putting in on the Content. In any regular call there
> will be only one audio Content, so no loss there. And in the case of a fancy
> application, then the application can decide what it wants.
Comment 1 Jonny Lamb 2010-10-25 10:16:27 UTC
Mr Crêpe says:
> If the RemoteCredentialsSet signal is fired again, and the credentials
> have changed, then there has been an ICE restart.
> Also, in the same case, the CM should empty the remote candidate list

> If you the CM does an ICE restart, then it fires PleaseRestartICE
> and tp-fs should reply with SetCredentials...
Comment 2 Jonny Lamb 2010-10-26 04:10:21 UTC
(In reply to comment #1)
> Mr Crêpe says:

Ignore this please, wrong bug.
Comment 3 Jonny Lamb 2010-10-26 07:03:17 UTC
We decided to use the Channel interface. I've already implemented this in gabble.
Comment 4 Olivier Crête 2011-11-11 19:17:34 UTC
I'm unsure if this was the right decision.. picking one random audio channel seems strange.. I definitely this we should move DTMF onto the Content.
Comment 5 Olivier Crête 2011-12-14 13:30:29 UTC
Moving this interface onto the Content object would also be a good occasion to remove the Stream argument too..
Comment 6 Jonny Lamb 2011-12-23 02:16:43 UTC
(In reply to comment #4)
> I'm unsure if this was the right decision.. picking one random audio channel
> seems strange.. I definitely this we should move DTMF onto the Content.

Yeah I can get behind that. I don't understand my reasoning behind comment #3 over a year ago. Perhaps I'm wiser nowadays?
Comment 7 Olivier Crête 2011-12-30 23:51:13 UTC
Created attachment 54997 [details] [review]
patch

The patch just copies the interface over to the Content and removes the Stream_ID stuff
Comment 8 Jonny Lamb 2012-01-02 04:39:31 UTC
Comment on attachment 54997 [details] [review]
patch

Review of attachment 54997 [details] [review]:
-----------------------------------------------------------------

Looks good, gogogo.
Comment 9 Olivier Crête 2012-01-05 17:55:20 UTC
Created attachment 55195 [details] [review]
Updated patch that keeps InitialTones on the channel interface

Actually, while implementing it, I realised that the InitialTones had to stay on the channel as it is a requestable property.

So my suggestion is that when deprecating StreamedMedia, we deprecate everything in the Channel interface except for InitialTones. Attach patch reflects that.

Here is a tp-glib branch with the implementation:
http://cgit.collabora.com/git/user/tester/telepathy-glib.git/log/?h=call1-dtmf

The nice thing about the new code is that the implementation is 100% inside tp-glib for gabble and rakia, they don't even have to know that DTMF exists.
Comment 10 Jonny Lamb 2012-01-06 00:44:29 UTC
InitialTones should have tp:requestable="oui" too. Other than that, yes.
Comment 11 Olivier Crête 2012-01-06 13:13:51 UTC
Merged !


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.