[jitsi-dev] SDes implementation on Talk (Android)


#1

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

jitsi_to_talk.pcap (8.2 KB)

talk_to_jitsi.pcap (7.36 KB)

···

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#2

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I meant to CC Jitsi's dev list for completeness but ended up adding it in "To" instead.

···

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#3

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

···

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I
meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>
.


#4

Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each exchange.

Best regards,
Vincent

jitsi_to_talk.txt (4.84 KB)

talk_to_jitsi.txt (4.31 KB)

···

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I
meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>
.

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#5

I think the issue is that you're missing the <usage/> element from the
<encryption/> element. In our old (pre-XEP-0166) protocol, you need to
specify a <usage xmlns="http://www.google.com/session/phone" /> to indicate
which media the encryption element is describing.

···

On Fri, Aug 31, 2012 at 1:57 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each
exchange.

Best regards,
Vincent

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I

meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--

Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to
xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<h**ttp://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>
>
.

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#6

Hey Vincent

This might be a shot in the dark, but:
As far as I understood RFC4568, the tag for an SDES line starts at number 1. However the implementations I encountered (Snom, Linksys, Blink) started counting at 0, as does Talk. Jitsi however begins at 1. So maybe this confuses Talk when Jitsi initiates the call.

In Jitsi, line 165 of SDesControlImpl.getInitiatorCryptoAttributes creates the tag numbers.

Regards,
Ingo

···

-----Original Message-----
From: Vincent Lucas [mailto:chenzo@jitsi.org]
Sent: Freitag, 31. August 2012 04:57
To: Justin Uberti
Cc: XMPP Jingle developers; Jitsi dev
Subject: [jitsi-dev] Re: [xmpp] Re: SDes implementation on Talk (Android)
Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each
exchange.

Best regards,
Vincent

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I
meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**

google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp
/?hl=en>

.


#7

Hi Jutsin,

Thank you for the suggestion. However, it does not work to include the <usage xmlns="http://www.google.com/session/phone" /> element in the answer, neither in the "encryption" element (Talk hangs up), nor in the "crypto" element (the problem remains the same).

Moreover, do you have any idea why, when Jitsi sends the offer with the same "encryption" element as Android Talk (as initiator), then Android Talk responds without any "encryption" element?

Best regards,
Vincent

···

On 9/1/12 1:24 AM, Justin Uberti wrote:

I think the issue is that you're missing the <usage/> element from the
<encryption/> element. In our old (pre-XEP-0166) protocol, you need to
specify a <usage xmlns="http://www.google.com/session/phone" /> to indicate
which media the encryption element is describing.

On Fri, Aug 31, 2012 at 1:57 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each
exchange.

Best regards,
Vincent

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

  Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I

meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

  Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

  --

Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to
xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<h**ttp://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>

.

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#8

Hello Ingo,

I have tried to initiate the tag number to "0" (for the offer and the answer), but the problem with Talk remains the same.

Anyway, thank you for submitting the idea.

Regards,
Vincent

···

On 9/5/12 8:07 PM, Ingo Bauersachs wrote:

Hey Vincent

This might be a shot in the dark, but:
As far as I understood RFC4568, the tag for an SDES line starts at number 1. However the implementations I encountered (Snom, Linksys, Blink) started counting at 0, as does Talk. Jitsi however begins at 1. So maybe this confuses Talk when Jitsi initiates the call.

In Jitsi, line 165 of SDesControlImpl.getInitiatorCryptoAttributes creates the tag numbers.

Regards,
Ingo

-----Original Message-----
From: Vincent Lucas [mailto:chenzo@jitsi.org]
Sent: Freitag, 31. August 2012 04:57
To: Justin Uberti
Cc: XMPP Jingle developers; Jitsi dev
Subject: [jitsi-dev] Re: [xmpp] Re: SDes implementation on Talk (Android)
Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each
exchange.

Best regards,
Vincent

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the
first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Just to avoid confusion, my mail was meant for xmpp+jingle@google.com. I
meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**

google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp
/?hl=en>

.

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org


#9

Hmm. Have you tried Jitsi against the call.exe sample included with
libjingle? That should behave identically to Android, although it's
possible that Android is making some assumptions in the signaling.

···

On Tue, Sep 4, 2012 at 2:05 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Hi Jutsin,

Thank you for the suggestion. However, it does not work to include the
<usage xmlns="http://www.google.com/**session/phone<http://www.google.com/session/phone>"
/> element in the answer, neither in the "encryption" element (Talk hangs
up), nor in the "crypto" element (the problem remains the same).

Moreover, do you have any idea why, when Jitsi sends the offer with the
same "encryption" element as Android Talk (as initiator), then Android Talk
responds without any "encryption" element?

Best regards,
Vincent

On 9/1/12 1:24 AM, Justin Uberti wrote:

I think the issue is that you're missing the <usage/> element from the
<encryption/> element. In our old (pre-XEP-0166) protocol, you need to
specify a <usage xmlns="http://www.google.com/**session/phone<http://www.google.com/session/phone>"
/> to indicate
which media the encryption element is describing.

On Fri, Aug 31, 2012 at 1:57 AM, Vincent Lucas <chenzo@jitsi.org> wrote:

Hi Justin,

Sure. Please find enclosed the extracted "Offer" and "Answer" of each
exchange.

Best regards,
Vincent

On 8/28/12 6:22 PM, Justin Uberti wrote:

Vincent, can you extract the XMPP signaling from the capture? That's the

first thing I'd want to look at.

On Tue, Aug 28, 2012 at 4:26 AM, Vincent Lucas <chenzo@jitsi.org> >>>> wrote:

  Just to avoid confusion, my mail was meant for xmpp+jingle@google.com.
I

meant to CC Jitsi's dev list for completeness but ended up adding it in
"To" instead.

On 8/28/12 1:12 PM, Vincent Lucas wrote:

  Hello XMPP Jingle developers,

We have recently added support for SDes over XMPP in Jitsi [0]. We
wanted to make sure that our implementation is compatible with
Google's
and it does work with the Gmail web application.

We are however having problems with the Talk application for Android.

We tested with version 4.0.4-338691 on Android (4.0.4) and here's what
happens:

- If Talk is the initiator of the call: the offer (Jingle
GTalk-session
initiate) is sent with the encryption element. Jitsi's answer (Jingle
GTalk-session accept) also contains the encryption element and
everything looks OK. However, when we start the actual streaming, Talk
plays audio without decrypting it (or at least that's what it sounds
like).

- If Jitsi is the initiator of the call: Jitsi sends an offer with the
encryption element, but Talk answers without the encryption element.
Thus, the audio does play, but it is not encrypted.

I am attaching pcap-s containing both tests.

Is that a bug on our part? Or maybe this feature is not yet
completely implemented in Talk?

Thanks!

Best regards,
Vincent

[0] http://jitsi.org

  --

Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google
Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to
xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<**h**ttp://groups.google.com/a/****<http://groups.google.com/a/**>
google.com/group/xmpp/?hl=en<h**ttp://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>
>

.

--

Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
Vincent Lucas, Ph.D. Jitsi developer
chenzo@jitsi.org http://jitsi.org

--
You received this message because you are subscribed to the Google Groups
"xmpp" group.
To post to this group, send email to xmpp@google.com.
To unsubscribe from this group, send email to xmpp+unsubscribe@google.com.
For more options, visit this group at http://groups.google.com/a/**
google.com/group/xmpp/?hl=en<http://groups.google.com/a/google.com/group/xmpp/?hl=en>
.