Bug 44897

Summary: Gabble sometimes claim that Android contacts does not support A/V
Product: Telepathy Reporter: Guillaume Desmottes <guillaume.desmottes>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: bigon
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Guillaume Desmottes 2012-01-18 04:59:50 UTC
Sometimes, Gabble (master) claims that Android contacts does not support A/V while they actually have the right caps.

<presence from="l.bigonville@gmail.com/android_talke745182aa103" to="guillaume.desmottes@gmail.com/cb11d944"><status/><show>away</show><priority>24</priority><caps:c node="http://www.android.com/gtalk/client/caps" ext="pmuc-v1 voice-v1 video-v1 camera-v1" ver="1.1" xmlns:caps="http://jabber.org/protocol/caps"/><x xmlns="vcard-temp:x:update"><photo>3fa9e0d462810bf05513c2b701fddacd97e919a1</photo></x></presence>
Comment 1 Laurent Bigonville 2012-01-18 05:15:48 UTC
FTR this is android 4.0 (ICS) with the official "Talk" client
Comment 2 Guillaume Desmottes 2012-01-18 05:33:47 UTC
Full Gabble log is on http://people.collabora.com/~cassidy/gabble-44897.log

In my Wocky caps cache:


sqlite> select * from capabilities where node = 'http://www.android.com/gtalk/client/caps#voice-v1';
http://www.android.com/gtalk/client/caps#voice-v1|<?xml version="1.0" encoding="UTF-8"?>
<query xmlns="http://jabber.org/protocol/disco#info"><identity category="account" type="registered" name="Google Talk User Account"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/disco#items"/></query>
|1326892667


Looks like we're facing the Google server bug described in client_types_from_message():

     /* So, turns out if you disco a specific resource of a gtalk
      contact, the Google servers will reply with the identity node as
      if you disco'd the bare jid, so will get something like:

          <identity category='account' type='registered' name='Google Talk User Account'/>

      which is just great. So, let's special case android phones as
      their resources will start with "android" and let's just say
      they're phones. */


Shouldn't we special case A/V caps as well?
Comment 3 Marcus Lundblad 2012-05-14 13:58:08 UTC
Adding the lines:

gabble_presence_cache_add_bundle_caps (cache, \
      "http://www.android.com/gtalk/client/caps2#" cap, features); \

at src/presence-cache.c:508
makes gabble identify these contacts as a/v-callable.
However, calls are still not successful with this patch.

This is when the other end is an Asus Eeepad Transformer with Android 4.0 (ICS).
Comment 4 Marcus Lundblad 2012-05-15 14:36:39 UTC
I commited a fix in the following git repo:
git@github.com:mlundblad/telepathy-gabble.git

But I guess since the actual calls are still failing, this is probably not yet worth integrating in mainline.

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.