Bug 28124 - Placing calls works, Receiving gets stuck on "connecting" after answering
Summary: Placing calls works, Receiving gets stuck on "connecting" after answering
Status: RESOLVED NOTOURBUG
Alias: None
Product: Telepathy
Classification: Unclassified
Component: rakia (show other bugs)
Version: 0.10
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Mikhail Zabaluev
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
: 29805 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-05-15 13:04 UTC by Thomas Wolfe
Modified: 2010-09-03 07:59 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Attached is the debug log for when I receive a call and it just says "connecting". (22.00 KB, text/plain)
2010-05-15 13:04 UTC, Thomas Wolfe
Details
Attached is the debug log for when I place a call and it works perfectly (both logs include answering and hanging up the call). (24.10 KB, text/plain)
2010-05-15 13:05 UTC, Thomas Wolfe
Details
screenshot showing what happens when I receive a call (all it says is "connecting") (36.18 KB, image/png)
2010-05-15 13:06 UTC, Thomas Wolfe
Details
screenshot showing what happens when I place a call (it works perfectly, both ends can hear and you can see the timer for the call "0:02" rather than "connecting") (36.86 KB, image/png)
2010-05-15 13:07 UTC, Thomas Wolfe
Details
The same scenario does work on a different network (does not have to pass through 2 NAT's) (14.23 KB, text/plain)
2010-05-19 18:20 UTC, Thomas Wolfe
Details
SIP Log of the caller (local) (23.72 KB, text/plain)
2010-08-30 06:47 UTC, Sebastien Cayetanot
Details
SIP log of the called part (distant) (11.13 KB, text/plain)
2010-08-30 06:48 UTC, Sebastien Cayetanot
Details
Empathy lodgs (14.91 KB, application/octet-stream)
2010-08-31 04:32 UTC, Sebastien Cayetanot
Details

Description Thomas Wolfe 2010-05-15 13:04:12 UTC
Created attachment 35679 [details]
Attached is the debug log for when I receive a call and it just says "connecting".

When I place a call to sip:18004664411@tf.voipmich.com (google voice) via my either of my SIP accounts (sipgate.com or iptel.org) the call works perfectly.

However, if I try to call myself from another phone empathy rings for me, and I answer, and it just says "connecting" but the call does not work (neither end can hear anything).
Comment 1 Thomas Wolfe 2010-05-15 13:05:20 UTC
Created attachment 35680 [details]
Attached is the debug log for when I place a call and it works perfectly (both logs include answering and hanging up the call).
Comment 2 Thomas Wolfe 2010-05-15 13:06:23 UTC
Created attachment 35681 [details]
screenshot showing what happens when I receive a call (all it says is "connecting")
Comment 3 Thomas Wolfe 2010-05-15 13:07:18 UTC
Created attachment 35682 [details]
screenshot showing what happens when I place a call (it works perfectly, both ends can hear and you can see the timer for the call "0:02" rather than "connecting")
Comment 4 Mikhail Zabaluev 2010-05-17 03:23:30 UTC
Please export TPSIP_DEBUG=all and TPORT_LOG=1 in telepathy-sofiasip's environment.
I thought Empathy will collect the logs anyway, though.
Comment 5 Thomas Wolfe 2010-05-19 18:19:43 UTC
I'm on a different network now and it's working. The other network I was on had two NAT's that all connections have to pass through.

So I'm thinking it's a network issue, however receiving a call worked with ekiga but not empathy/sofiasip with the same settings. When I get back to the other location where I can test the call on the network where there are issues I will post the results (in the next few weeks probably).
Comment 6 Thomas Wolfe 2010-05-19 18:20:42 UTC
Created attachment 35765 [details]
The same scenario does work on a different network (does not have to pass through 2 NAT's)
Comment 7 Mikhail Zabaluev 2010-05-20 03:59:36 UTC
The logs are not very informative again.
With Empathy, can you switch to "sofiasip" in the debug window and save the resulting log?

Also, either logs with TPORT_LOG=1 or packet dumps would bring necessary information.
Comment 8 Christoph Böhme 2010-07-01 13:19:22 UTC
I came across exactly the same problem: outbound calls work fine but on inbound calls empathy gets stuck during "Connecting..." when I am behind my NAT-enabled router.

Sniffing the communication between empathy and my sip provider revealed the cause of the problem: On outbound calls empathy starts sending RTP packets as soon as the connection is established; on inbound calls, however, it waits for the first incoming RTP packet before sending any RTP packets itself. But since I am behind a NAT no packet will ever be received unless something is sent first.

This is not a problem with the STUN configuration which is working fine. Empathy also uses the correct IP addresses and port numbers. The only problem is that it does not always send an RTP packet and thus fails to traverse restricted cone NATs.
Comment 9 Mikhail Zabaluev 2010-07-02 06:59:03 UTC
Can you reproduce it with telepathy-sofiasip 0.6.3?
Comment 10 Christoph Böhme 2010-07-03 09:06:11 UTC
(In reply to comment #9)
> Can you reproduce it with telepathy-sofiasip 0.6.3?

No, it's working fine with telepathy-sofiasip 0.6.3 in both directions. I'm sorry for not having tested the latest version in the first place.
Comment 11 Simon McVittie 2010-07-12 05:04:20 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > Can you reproduce it with telepathy-sofiasip 0.6.3?
> 
> No, it's working fine with telepathy-sofiasip 0.6.3 in both directions. I'm
> sorry for not having tested the latest version in the first place.

We can consider this fixed in or before 0.6.3, then. Thanks for re-testing.
Comment 12 Mikhail Zabaluev 2010-08-26 01:46:46 UTC
*** Bug 29805 has been marked as a duplicate of this bug. ***
Comment 13 Sebastien Cayetanot 2010-08-26 05:22:42 UTC
I re-open the bug as on my point it still failing. I'm using a telepathy-sofiasip 0.6.3 on MeeGo and Ubuntu.

- Telepathy-sofiasip-0.6.3 rpm package coming from MeeGo repository
- telepathy-sofiasip-0.6.3 src files built for my Ubuntu
Comment 14 Mikhail Zabaluev 2010-08-30 03:18:18 UTC
(In reply to comment #13)
> I re-open the bug as on my point it still failing.

Please submit detailed logs as described in comment #7.
Comment 15 Sebastien Cayetanot 2010-08-30 06:46:11 UTC
I have attached 2 logs. localsip and distantsip.

The test is:

- local call distant.
- distant accept the call
- both stay in "connecting..."
Comment 16 Sebastien Cayetanot 2010-08-30 06:47:24 UTC
Created attachment 38298 [details]
SIP Log of the caller (local)
Comment 17 Sebastien Cayetanot 2010-08-30 06:48:09 UTC
Created attachment 38299 [details]
SIP log of the called part (distant)
Comment 18 Mikhail Zabaluev 2010-08-30 07:20:05 UTC
(In reply to comment #16)
> Created an attachment (id=38298) [details]
> SIP Log of the caller (local)

Thanks. The logs look like a normal session is negotiated, but there seem to be no media received.

Is IP address 10.255.13.233 reachable from the caller? That's what the callee knows for its address, while the caller's address is set to a public one.

I'd like to see traffic dumps, collectable either with tcpdump or by adding TPORT_LOG=1 to telepathy-sofiasip environment. Make sure no SIP connection is on and telepathy-sofiasip is not running, then run in desktop user's shell:

export TPORT_LOG=1
TPSIP_PERSIST=1 /usr/lib/telepathy/telepathy-sofiasip

Then reproduce the failing call and collect logs from the Empathy window.
Comment 19 Sebastien Cayetanot 2010-08-30 07:27:14 UTC
Did you still need the telepathy SIP log ? or another one from the "Empathy" debug capability list ?
Comment 20 Mikhail Zabaluev 2010-08-30 08:25:00 UTC
(In reply to comment #19)
> Did you still need the telepathy SIP log ? or another one from the "Empathy"
> debug capability list ?

Yes, the "sofiasip" log, but with message dumping enabled.
Comment 21 Sebastien Cayetanot 2010-08-31 04:32:59 UTC
Created attachment 38331 [details]
Empathy lodgs

New logs
Comment 22 Mikhail Zabaluev 2010-08-31 07:02:33 UTC
(In reply to comment #21)
> Created an attachment (id=38331) [details]
> Empathy lodgs
> 
> New logs

Perfect, thanks. I see flip-flopping between TCP and UDP in the messages we send.
Please set the transport to TCP in your SIP account settings and see if it helps.
Comment 23 Mikhail Zabaluev 2010-08-31 07:07:19 UTC
This look a odd to me, too:

(empathy:1393): tp-fs-DEBUG: stream 0 0x8792630 (audio) cb_fs_local_candidates_prepared: candidate->ip = '0.0.0.0'
(empathy:1393): tp-fs-DEBUG: stream 0 0x8792630 (audio) cb_fs_local_candidates_prepared: candidate->ip = '192.168.10.161'
cb_fs_new_active_candidate_pair: called: c:1 local: L1 0.0.0.0:7078  remote: L1 192.168.10.187:53288
(empathy:1393): tp-fs-DEBUG: stream 0 0x8792630 (audio) cb_fs_new_active_candidate_pair: called: c:2 local: L1 192.168.10.161:7079  remote: L1 192.168.10.187:53289
Comment 24 Olivier Crête 2010-08-31 07:21:33 UTC
the candidate=0.0.0.0 was a bug in an old version of gupnp-igd I think.. Maybe there is a similar bug somewhere else ...
Comment 25 Mikhail Zabaluev 2010-08-31 08:20:06 UTC
(In reply to comment #24)
> the candidate=0.0.0.0 was a bug in an old version of gupnp-igd I think.. Maybe
> there is a similar bug somewhere else ...

Should we have an option to disable IGD after all? It's insecure by design, it breaks VoIP for unwitting SIP users in a local network, and it introduces this kind of hard-to-triage bugs whenever there is a box that doesn't quite do it right. Even if we implement ICE where it mostly works, this will not help the case when the proxy does not understand ICE, which is still overwhelmingly common.
Comment 26 Sebastien Cayetanot 2010-08-31 12:46:14 UTC
Could it be possible to get more details on gupnp-igd ?
Thx
Comment 27 Olivier Crête 2010-08-31 13:08:09 UTC
GUPnP-igd is a gupnp based library to tell UPnP routers to open up ports. Versions before 0.1.7 didn't check for invalid addresses returned by some UPnP routers and so returned 0.0.0.0 was an address. Now it explicits checks for 0.0.0.0 and rejects it.

Which distribution are you using ?
Comment 28 Sebastien Cayetanot 2010-08-31 13:32:22 UTC
I use on MeeGo the version 0.1.7 and on Ubuntu 0.1.3
Comment 29 Sebastien Cayetanot 2010-08-31 13:33:16 UTC
I have tried by forcing TCP or UDP as transport protocol but it still remain on "disconnecting" status.
Comment 30 Mikhail Zabaluev 2010-09-01 01:20:38 UTC
(In reply to comment #28)
> I use on MeeGo the version 0.1.7 and on Ubuntu 0.1.3

I'm a Telepathy maintainer-in-the-making for MeeGo and I don't yet know how to test VoIP calls there. How do you do it? :)

Anyway, this looks like the bug cause is in farsight. I can't just repurpose this bug because it was originally filed with other underlying cause. If you can't solve your problem by disabling UPnP on your network gateway, I suggest you file a bug on Farsight to investigate the bogus transport address problem.
Comment 31 Sebastien Cayetanot 2010-09-01 13:33:48 UTC
I will try to downgrade the uPnP on my MeeGo release first.

For VoIP, I'm only connected on my home network using the set-up box provided by my ISP.

Feel free to contact me on my email @intel.com for additional information on how I set-up a VoIP on MeeGo
Comment 32 Sebastien Cayetanot 2010-09-01 13:34:38 UTC
By farsight, you mean telepathy-farsigth ?
Comment 33 Mikhail Zabaluev 2010-09-03 07:59:24 UTC
(In reply to comment #32)
> By farsight, you mean telepathy-farsigth ?

It's rather libfarsight2 (category Farsight in this Bugzilla) that has the code in question, and might offer an option to disable UPnP.


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.