Bug 26096

Summary: gateway Call channels with correct MediaSignalling
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: fargoAssignee: David Laban <david.laban>
Status: RESOLVED FIXED QA Contact: Simon McVittie <smcv>
Severity: enhancement    
Priority: high    
Version: git master   
Hardware: Other   
OS: All   
Whiteboard: milestone4.4
i915 platform: i915 features:

Description Simon McVittie 2010-01-18 07:25:05 UTC
David is working on it.
Comment 1 Simon McVittie 2010-01-22 05:11:42 UTC
Status update: the code is apparently all there, but doesn't quite work. David is still working on it, and I've asked him to do regression tests too.
Comment 2 Simon McVittie 2010-01-25 04:10:02 UTC
Regarding alsuren/incoming-xmpp-sip:

connection.Connection.__init__:
> -        self._channels = []
> +        self._channels = {}

Please say what the keys are and what the values are. From context, an appropriate comment would be

# object path => StreamedMediaChannel

connection.py:
> +                elif isinstance(result, Deferred):
> +                    # FIXME: handle error condidion.
> +                    result.addCallback(self.send)

Please either fix this, or file a bug explaining its implications and change the comment to "# FIXME: fd.o #nnnnn: handle error condition".

connection.py:
> -        #FIXME: return an error here.
> +        # FIXME: return an error here.

Likewise.

connection.py:
> +        # FIXME: might need to queue up stanzas

Likewise.

channel.py:
>              media_type = 0 # audio

There's an app^W^Wa constant for that.

channel.py:
>         # _session_handlers is private in case some other
>         # structure helps bookkeeping.

No need to explain yourself here really, any competent developer hopefully understands the concept of private data :-) (and likewise in similar situations). A more useful comment would be "list of Badger objects" or whatever...

> +            # FIXME: hrrrm. This asymmetry is kinda bad.

Please elaborate? I don't really think having an asymmetry for incoming and outgoing calls is a big deal :-)

> +            self._content_name = "voice"

O rly?

> +        self.channel[STREAMED_MEDIA].RequestStreamDirection(self.stream_id, 3)

Constant, please.

> +        iq['from'] = self.foreign_jid+'/gateway'

Changing this now would cause more confusion than it'd fix, but we should eventually switch to using bare JIDs - I specifically fixed Gabble to work with bare JIDs, and the gatewaying XEP says we should.

> -        query['node'] = stanza.query['node']
> +        #query['node'] = stanza.query['node']

Commented-out code makes me sad. Also, this is totally irrelevant to the commit message "Add method to convert back from foreign jid to telepathy ID". Also, you haven't given a rationale. Also, I fixed this (semi-)properly in smcv/caps by separating the gateway's caps from users' caps :-P
Comment 3 Simon McVittie 2010-01-26 04:10:00 UTC
(In reply to comment #2)
> > +        iq['from'] = self.foreign_jid+'/gateway'
> 
> Changing this now would cause more confusion than it'd fix, but we should
> eventually switch to using bare JIDs - I specifically fixed Gabble to work with
> bare JIDs, and the gatewaying XEP says we should.

This is now Bug #26206.
Comment 4 Simon McVittie 2010-01-27 09:46:11 UTC
Code exists, testing/fixes are needed but are tracked separately.

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.