Here is a branch which works around these three issues with GMail's brand new Jingle implementation:
• it omits creator='' on contents
• it names the video components video_rtp and video_rtcp
• it can't upgrade/downgrade
While writing this I decided my approach to the second is not ideal: it really should only do this if we're using the gtalk p2p transport. But this works for now at least.
Looks good. You don't address the issue where non-google clients that may implement the google transport (as the barrier to entry for a client that already does jingle is quite low now) will probably pick the google component names instead of ours though.
But let's get this in first :)
I think for the video_rtp/video_rtcp, we're going at it the wrong way. We should standardize on what Google defined (it's their transport after all) and add a quirk for old Gabble. I expect everyone else will be Google compatible, not Telepathy compatible. We must have some way of recognizing older gabbles ?
I forgot to set ImmutableStreams for GMail contacts in ContactCaps. Whoops.
I'm releasing gabble 0.12.2 and 0.13.whatever it will be with this branch as it stands; I'll leave the bug open for flipping the quirks around, the other ImmutableStreams thing and a bit more clean-up.
I did a bit more testing the other day. Currently we use Gingle when calling Google Mail, because our hardcoded feature lists for their bundles don't include xep-0166/-0177.
Using Jingle for outgoing calls failed because their implementation always assumes the audio component is called "audio", and we use "Audio" (case-sensitive), so reject their candidates. I let Google know; it's fixed, and they'll roll out the fix in the next few weeks.
(I worked around this in my checkout, and audio calls otherwise basically work; video is untested because Empathy kept exploding.)
Does GMail exclusively mean the GMail web UI, for the purposes of this bug?
(In reply to comment #5)
> I did a bit more testing the other day. Currently we use Gingle when calling
> Google Mail, because our hardcoded feature lists for their bundles don't
> include xep-0166/-0177.
I have a branch for this, because I thought it might help with interop (Bug #65131). (It didn't.) In fact, even if we actually disco the web UI, it doesn't report these caps.
I made them conditional on the "is Google webmail" quirk && voice-v1 (or video-v1, as appropriate), in order to avoid also trying to call the old desktop UI, Android apps or whatever using Jingle-1, and avoid making browsers that lack the plugin callable.
(In reply to comment #4)
> I'll leave the bug open for flipping the quirks around, the other
> ImmutableStreams thing and a bit more clean-up.
What remains to be done? Is it basically two things, this:
(In reply to comment #2)
> I think for the video_rtp/video_rtcp, we're going at it the wrong way. We
> should standardize on what Google defined (it's their transport after all)
> and add a quirk for old Gabble.
(In reply to comment #3)
> I forgot to set ImmutableStreams for GMail contacts in ContactCaps. Whoops.