[jitsi-dev] Bug: Missing 'id' attribute in ICE transport candidates. (Jingle interoperability, Pidgin)


#1

Hello,

I couldn't set up voice & video connections between Jitsi and Pidgin, which
seems to be a well-known issue.
(Error message from Jitsi: "Could not establish connection (ICE failed)".)

The transport candidates announced by Jitsi don't include an 'id' attribute.
According to XEP-0176 these are required for ice-udp transports.

Pidgin silently drops these candidates (the id is necessary to distinguish
the candidates).
I'm not familiar with the Jitsi code, but changing Pidgin to fill in the
missing ids seemed to resolve the connection issue.

Apart from that, I think there is a minor inconsistency in voice & video
establishment...

If Pidgin initiates the connection, the result is a unidirectional video
session, although a birectional session was desired:
Pidgin:
..<content creator='initiator' name='video-session' senders='both'>
[..]
Jitsi:
..<content creator='initiator' name='video-session' senders='initiator'>

...so the peer using Jitsi has to add video manually.

If Jitsi initiates the connection, the result is a bidirectional video session.

Tested setup:
Connection within LAN (192.168.y.x addresses and NAT to the outside).
Jitsi, build 3593 and 3644
Pidgin 2.10.0, libnice 0.0.10
(both running on Ubuntu Linux)

Regards,

Dustin


#2

Hi Dustin,

Hello,

I couldn't set up voice& video connections between Jitsi and Pidgin, which
seems to be a well-known issue.
(Error message from Jitsi: "Could not establish connection (ICE failed)".)

The transport candidates announced by Jitsi don't include an 'id' attribute.
According to XEP-0176 these are required for ice-udp transports.

Pidgin silently drops these candidates (the id is necessary to distinguish
the candidates).
I'm not familiar with the Jitsi code, but changing Pidgin to fill in the
missing ids seemed to resolve the connection issue.

Thank you for pointing that! We will address this issue very soon.

Apart from that, I think there is a minor inconsistency in voice& video
establishment...

If Pidgin initiates the connection, the result is a unidirectional video
session, although a birectional session was desired:
Pidgin:
..<content creator='initiator' name='video-session' senders='both'>
[..]
Jitsi:
..<content creator='initiator' name='video-session' senders='initiator'>

...so the peer using Jitsi has to add video manually.

If Jitsi initiates the connection, the result is a bidirectional video session.

We will look at it.

Regards,

···

Le 31/08/11 18:45, dustin a écrit :
--
Seb

Tested setup:
Connection within LAN (192.168.y.x addresses and NAT to the outside).
Jitsi, build 3593 and 3644
Pidgin 2.10.0, libnice 0.0.10
(both running on Ubuntu Linux)

Regards,

Dustin


#3

Hey folks,

На 01.09.11 09:53, Sebastien Vincent написа:

Hi Dustin,

Hello,

I couldn't set up voice& video connections between Jitsi and Pidgin, which
seems to be a well-known issue.
(Error message from Jitsi: "Could not establish connection (ICE failed)".)

The transport candidates announced by Jitsi don't include an 'id' attribute.
According to XEP-0176 these are required for ice-udp transports.

Pidgin silently drops these candidates (the id is necessary to distinguish
the candidates).
I'm not familiar with the Jitsi code, but changing Pidgin to fill in the
missing ids seemed to resolve the connection issue.

Thank you for pointing that! We will address this issue very soon.

OK, that seems to be the case for Gingle only and not for standard
Jingle ICE-UDP (XEP-0176) where we do ship the id.

I am not sure the candidate ID is mandatory in Gingle since I couldn't
find a schema but I do agree we'd better be including it.

Thanks indeed for the note!

Apart from that, I think there is a minor inconsistency in voice& video
establishment...

If Pidgin initiates the connection, the result is a unidirectional video
session, although a birectional session was desired:
Pidgin:
..<content creator='initiator' name='video-session' senders='both'>
[..]
Jitsi:
..<content creator='initiator' name='video-session' senders='initiator'>

...so the peer using Jitsi has to add video manually.

If Jitsi initiates the connection, the result is a bidirectional video session.

We will look at it.

Well ... that's actually quite intentional. If someone's calling me with
video that would absolutely not meant that I am willing to show myself
and I certainly don't want to hangup on someone just because they are
willing to be seen.

I believe quite a number of other video communicators adopt a similar
policy (even though if many others don't)

Cheers,
Emil

···

Le 31/08/11 18:45, dustin a écrit :

Regards,
--
Seb

Tested setup:
Connection within LAN (192.168.y.x addresses and NAT to the outside).
Jitsi, build 3593 and 3644
Pidgin 2.10.0, libnice 0.0.10
(both running on Ubuntu Linux)

Regards,

Dustin

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31


#4

На 01.09.11 10:17, Emil Ivov написа:

Hey folks,

На 01.09.11 09:53, Sebastien Vincent написа:

Hi Dustin,

Hello,

I couldn't set up voice& video connections between Jitsi and Pidgin, which
seems to be a well-known issue.
(Error message from Jitsi: "Could not establish connection (ICE failed)".)

The transport candidates announced by Jitsi don't include an 'id' attribute.
According to XEP-0176 these are required for ice-udp transports.

Pidgin silently drops these candidates (the id is necessary to distinguish
the candidates).
I'm not familiar with the Jitsi code, but changing Pidgin to fill in the
missing ids seemed to resolve the connection issue.

Thank you for pointing that! We will address this issue very soon.

OK, that seems to be the case for Gingle only and not for standard
Jingle ICE-UDP (XEP-0176) where we do ship the id.

Forget what I said. I was looking at the wrong packets. We'll be fixing
it today :slight_smile:

Cheers,
Emil

···

Le 31/08/11 18:45, dustin a écrit :

I am not sure the candidate ID is mandatory in Gingle since I couldn't
find a schema but I do agree we'd better be including it.

Thanks indeed for the note!

Apart from that, I think there is a minor inconsistency in voice& video
establishment...

If Pidgin initiates the connection, the result is a unidirectional video
session, although a birectional session was desired:
Pidgin:
..<content creator='initiator' name='video-session' senders='both'>
[..]
Jitsi:
..<content creator='initiator' name='video-session' senders='initiator'>

...so the peer using Jitsi has to add video manually.

If Jitsi initiates the connection, the result is a bidirectional video session.

We will look at it.

Well ... that's actually quite intentional. If someone's calling me with
video that would absolutely not meant that I am willing to show myself
and I certainly don't want to hangup on someone just because they are
willing to be seen.

I believe quite a number of other video communicators adopt a similar
policy (even though if many others don't)

Cheers,
Emil

Regards,
--
Seb

Tested setup:
Connection within LAN (192.168.y.x addresses and NAT to the outside).
Jitsi, build 3593 and 3644
Pidgin 2.10.0, libnice 0.0.10
(both running on Ubuntu Linux)

Regards,

Dustin

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
Jitsi
emcho@jitsi.org PHONE: +33.1.77.62.43.30
http://jitsi.org FAX: +33.1.77.62.47.31


#5

Hello,

На 01.09.11 10:17, Emil Ivov написа:

Hey folks,

На 01.09.11 09:53, Sebastien Vincent написа:

Hi Dustin,

Hello,

I couldn't set up voice& video connections between Jitsi and Pidgin, which
seems to be a well-known issue.
(Error message from Jitsi: "Could not establish connection (ICE failed)".)

The transport candidates announced by Jitsi don't include an 'id' attribute.
According to XEP-0176 these are required for ice-udp transports.

Pidgin silently drops these candidates (the id is necessary to distinguish
the candidates).
I'm not familiar with the Jitsi code, but changing Pidgin to fill in the
missing ids seemed to resolve the connection issue.

Thank you for pointing that! We will address this issue very soon.

OK, that seems to be the case for Gingle only and not for standard
Jingle ICE-UDP (XEP-0176) where we do ship the id.

Forget what I said. I was looking at the wrong packets. We'll be fixing
it today :slight_smile:

Cheers,
Emil

Connecting works now with build 3657, thanks! :slight_smile:

[..]

Apart from that, I think there is a minor inconsistency in voice& video
establishment...

If Pidgin initiates the connection, the result is a unidirectional video
session, although a birectional session was desired:
Pidgin:
..<content creator='initiator' name='video-session' senders='both'>
[..]
Jitsi:
..<content creator='initiator' name='video-session' senders='initiator'>

...so the peer using Jitsi has to add video manually.

If Jitsi initiates the connection, the result is a bidirectional video session.

We will look at it.

Well ... that's actually quite intentional. If someone's calling me with
video that would absolutely not meant that I am willing to show myself
and I certainly don't want to hangup on someone just because they are
willing to be seen.

Good point.

I believe quite a number of other video communicators adopt a similar
policy (even though if many others don't)

I somehow thought a Jitsi <--> Jitsi connection would also start a
bidirectional video session. Apparently that's not the case.

Regards,

Dustin

···

Am 01.09.2011 09:31, schrieb Emil Ivov:

Le 31/08/11 18:45, dustin a écrit :