Empathy (telepathy-sofiasip) cannot connect to SIP server via VPN

Bug #1058365 reported by alexus
56
This bug affects 9 people
Affects Status Importance Assigned to Milestone
empathy (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Hi, All!

I am on Ubuntu 12.04 amd64 and I connect to my office network using Cisco VPN (network-manager-vpnc). The problem is that Empathy (with telepathy-sofiasip installed) cannot connect to a SIP-server inside VPN (while e.g., Ekiga can).
Some traces taken with Wireshark show up that Empathy sends packages into the VPN tunnel with properly resolved destination IP-address but with wrong source IP-address (eth0 instead of tun0).

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in empathy (Ubuntu):
status: New → Confirmed
Revision history for this message
alexus (alexus-m) wrote :
Revision history for this message
Bilal Shahid (s9iper1) wrote :

assigning to kenvadine

Changed in empathy (Ubuntu):
assignee: nobody → Ken VanDine (ken-vandine)
Revision history for this message
Walter Garcia-Fontes (walter-garcia) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. We are sorry that we do not always have the capacity to look at all reported bugs in a timely manner. There have been many changes in Ubuntu since that time you reported the bug and your problem may have been fixed with some of the updates. It would help us a lot if you could test it on a currently supported Ubuntu version. When you test it and it is still an issue, kindly upload the updated logs by running apport-collect <bug #> and any other logs that are relevant for this particular issue.

Changed in empathy (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Leonid Evdokimov (darkk) wrote :

It's hard to tell if it's bug in Empathy, telepathy-rakia, sofia-sip or
network-manager-openvpn. Here is my case.

I have three SIP accounts: one for my company and two for personal usage, all
three accounts work in "simple" case with single global IP address without
NAT.

I have following network setup that kills SIP connection:
- my Wi-Fi is in 192.168.1.0/24 network and gives me default gateway and NAT
- my VPN gives me _global_ IPv4 and IPv6 addresses, I __don't__ use VPN as
  default gateway and route only "enterprise" networks via VPN tunnel
- my virual 10.0.1.0/24 network connects me with virtualboxes I use for
  development

When VPN is disconnected telepathy selects 192.168... address for outgoing
packets and all three SIP accounts work like charm.

When VPN is __connected__ telepathy selects VPN IP address as source address.
So, kernel routes packets via Wi-Fi network (!), not via VPN for two accounts
of three. "company" account still works as it's reachable both via VPN and
without it.

Packets routed like that may be dropped due to various reasons - NAT,
reverse-path filter, etc. The reason does not matter much.

Bottomline - there are several ways to fix the issue.

1. add proper source-based routing setup to network-manager.
   In my case all SIP calls will be routed via VPN with this configuration as
   sofia-sip library prefers VPN address over everything else.
   It's not good in terms of latency, but it works.

2. update local-ip-address in SIP settings on network connectiviy change
   I implemented NetworkManager dispatcher script that sets local-ip-address
   using IP routing table. It does not look like generic solution, but it
   works for me: https://github.com/darkk/home/blob/master/bin/nm-sofia-reroute

3. add option to sofia-sip library to disable complex source address selection
   I've not actually tried it, but the script does alike job.

Revision history for this message
Leonid Evdokimov (darkk) wrote :

Here is relevant discussion on sofia-sip mailing list: http://sourceforge.net/p/sofia-sip/mailman/message/26158361/

Revision history for this message
Tom Haddon (mthaddon) wrote :

Still a problem for me on Utopic

Changed in empathy (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Tom Haddon (mthaddon) wrote : apport information

ApportVersion: 2.14.7-0ubuntu8
Architecture: i386
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.10
EcryptfsInUse: Yes
InstallationDate: Installed on 2011-10-04 (1133 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta i386 (20110921.2)
Package: empathy 3.8.6-0ubuntu13
PackageArchitecture: i386
ProcVersionSignature: Ubuntu 3.16.0-24.32-generic 3.16.4
Tags: utopic
Uname: Linux 3.16.0-24-generic i686
UpgradeStatus: Upgraded to utopic on 2014-09-26 (45 days ago)
UserGroups: adm admin cdrom dialout libvirtd lpadmin plugdev sambashare
_MarkForUpload: True

tags: added: apport-collected utopic
Revision history for this message
Tom Haddon (mthaddon) wrote : Dependencies.txt

apport information

Revision history for this message
Tom Haddon (mthaddon) wrote : ProcEnviron.txt

apport information

Changed in empathy (Ubuntu):
importance: Undecided → High
importance: High → Medium
Changed in empathy (Ubuntu):
assignee: Ken VanDine (ken-vandine) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.