After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 669134 - SIP widget: add local IP widgets
SIP widget: add local IP widgets
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: Accounts
3.2.x
Other Linux
: Normal normal
: ---
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2012-01-31 20:17 UTC by Greg Oliver
Modified: 2012-04-02 11:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Added support for local IP address and port in SIP account settings widget. Fixes bug #669134 (5.64 KB, patch)
2012-04-01 13:47 UTC, Laurent Contzen
reviewed Details | Review
Fixed indentation in previous fix of bug #669134 (5.43 KB, patch)
2012-04-01 13:47 UTC, Laurent Contzen
reviewed Details | Review
Added support for local IP address and port in SIP account settings widget. Fixup (6.46 KB, patch)
2012-04-02 11:15 UTC, Laurent Contzen
reviewed Details | Review
Added support for local IP address and port in SIP account settings widget. (5.55 KB, patch)
2012-04-02 11:41 UTC, Laurent Contzen
committed Details | Review

Description Greg Oliver 2012-01-31 20:17:49 UTC
The dialog to configure a SIP account with the rakia.manager does not allow the "local-ip-address" or "local-ip-port" values to be assigned.

I dug a bit into the source, but unsuccessfully enabled these 2 dialogs with:

diff -uNr empathy-3.2.2/libempathy-gtk/empathy-account-widget-sip.ui empathy-3.2.2.new/libempathy-gtk/empathy-account-widget-sip.ui
--- empathy-3.2.2/libempathy-gtk/empathy-account-widget-sip.ui	2011-11-14 08:41:42.000000000 -0600
+++ empathy-3.2.2.new/libempathy-gtk/empathy-account-widget-sip.ui	2012-01-31 13:18:00.086722961 -0600
@@ -292,6 +292,15 @@
                                 <property name="mnemonic_widget">entry_stun-server</property>
                               </object>
                             </child>
+                            <child>
+                              <object class="GtkLabel" id="label_local-ip-address">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Local IP:</property>
+                                <property name="mnemonic_widget">entry_lcoal-ip-address</property>
+                              </object>
+                            </child>
                           </object>
                           <packing>
                             <property name="top_attach">2</property>


I have several VLAN interfaces, and my office's vpn is directly connected to a VLAN not on my main interface (default route).  From the code, I can see those 2 options for rakia/sofiasip are to overcome this, but I do not know how to set it (via the empathy-accounts prog or via cmd line).

If someone can point me in the right direction I will fix it, but I am more wondering why it is not there by default.

Thanks!

Greg
Comment 1 Guillaume Desmottes 2012-02-01 15:25:23 UTC
Yeah these 2 params have not been added when creating the new SIP widget, see https://bugzilla.gnome.org/show_bug.cgi?id=601697#c5

You can set it manually using 'mc-too'l but I agree that the UI should be extended.
Comment 2 Greg Oliver 2012-02-01 23:51:31 UTC
Excellent! (I neevr knew of mc-tool).  It does what I needed:

Presences:
   Automatic: available (2) ""
     Current:  (0) ""
   Requested: available (2) ""
    Changing: yes

        (uint) keepalive-interval = 3600
      (string) proxy-host = 192.168.5.60
      (string) auth-user = goliver
        (bool) ignore-tls-errors = true
      (string) keepalive-mechanism = register
      (string) transport = udp
        (bool) discover-binding = false
      (string) account = 4678@192.168.5.60
      (string) local-ip-address = 172.17.0.100

I can successfully register and "place" calls now.

Upon receiving calls though, the SDP is not being bound to the proper IP address ~~


** (telepathy-rakia:3297): DEBUG:    To: <sip:4678@172.17.0.100>;tag=45KrmBQFZmvQK
** (telepathy-rakia:3297): DEBUG:    Call-ID: 125a1800-f291cd59-1bb97-3c05a8c0@192.168.5.60
** (telepathy-rakia:3297): DEBUG:    CSeq: 101 INVITE
** (telepathy-rakia:3297): DEBUG:    Contact: <sip:4678@172.17.0.100:35989;transport=udp>
** (telepathy-rakia:3297): DEBUG:    User-Agent: Telepathy-Rakia/0.7.3 sofia-sip/1.12.11
** (telepathy-rakia:3297): DEBUG:    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, UPDATE
** (telepathy-rakia:3297): DEBUG:    Supported: timer, 100rel
** (telepathy-rakia:3297): DEBUG:    Min-SE: 1800
** (telepathy-rakia:3297): DEBUG:    Content-Type: application/sdp
** (telepathy-rakia:3297): DEBUG:    Content-Disposition: session
** (telepathy-rakia:3297): DEBUG:    Content-Length: 85
** (telepathy-rakia:3297): DEBUG:    
** (telepathy-rakia:3297): DEBUG:    v=0
** (telepathy-rakia:3297): DEBUG:    o=- 3111964432194605928 6729912798366592370 IN IP4 192.168.100.100
** (telepathy-rakia:3297): DEBUG:    s=-
** (telepathy-rakia:3297): DEBUG:    t=0 0
** (telepathy-rakia:3297): DEBUG:    ------------------------------------------------------------------------

192.168.100.100 is my eth0 main IP - the 172.17.0.100 is the vlan I need this to work on eth0.2, so it seems that rakia/sofia is not behaving properly with that property in every scenario.  Am I even in the right place to report this?

This leads to answering calls, and obviously no streams.  

Thanks again!

-Greg
Comment 3 Greg Oliver 2012-02-02 00:01:20 UTC
Oh - and just to be complete:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.100.1   0.0.0.0         UG        0 0          0 p5p1
10.0.0.0        172.17.0.1      255.0.0.0       UG        0 0          0 p5p1.2
172.16.0.0      172.17.0.1      255.240.0.0     UG        0 0          0 p5p1.2
172.17.0.0      0.0.0.0         255.255.255.0   U         0 0          0 p5p1.2
172.17.1.0      0.0.0.0         255.255.255.0   U         0 0          0 p5p1.3
172.17.2.0      0.0.0.0         255.255.255.0   U         0 0          0 p5p1.4
172.17.3.0      0.0.0.0         255.255.255.0   U         0 0          0 p5p1.5
192.168.0.0     172.17.0.1      255.255.0.0     UG        0 0          0 p5p1.2
192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 p5p1
192.168.101.0   192.168.100.1   255.255.255.0   UG        0 0          0 p5p1
192.168.102.0   192.168.100.1   255.255.255.0   UG        0 0          0 p5p1
192.168.103.0   192.168.100.1   255.255.255.0   UG        0 0          0 p5p1
192.168.104.0   192.168.100.1   255.255.255.0   UG        0 0          0 p5p1
192.168.105.0   192.168.100.1   255.255.255.0   UG        0 0          0 p5p1
209.33.163.0    172.17.0.1      255.255.255.128 UG        0 0          0 p5p1.2

I think it would be best to use the routing tables for the communication and binding - then tbhis issue would be non-existent.  I seem to have read the Sofiasip developers views that the linux hacks to bind interfaces were non portable, so they were going to use the default route.  Clearly that does not work in this case (and any case with remote workers behind VPNs ) as far as I can tell..  Well, anytime the default route is not replaced I guess.

Thanks
Comment 4 Greg Oliver 2012-02-02 00:03:54 UTC
Sorry to SPAM, but just doing some more testing, and it is just picking interfaces for SDP at random.  Last time it used:

** (telepathy-rakia:3559): DEBUG:    o=- 9161504204806242429 8391818758047209996 IN IP4 172.17.3.100

?!?!??!

:)

Thanks
Comment 5 Guillaume Desmottes 2012-02-02 09:38:46 UTC
Sounds like a telepathy-rakia bug.  Report to bugs.freedesktop as a rakia (or sofiasip, the component name hasn't been updated yet) bug.
Comment 6 Laurent Contzen 2012-04-01 13:47:29 UTC
Created attachment 211077 [details] [review]
Added support for local IP address and port in SIP account settings widget. Fixes bug #669134
Comment 7 Laurent Contzen 2012-04-01 13:47:34 UTC
Created attachment 211078 [details] [review]
Fixed indentation in previous fix of bug #669134
Comment 8 Guillaume Desmottes 2012-04-02 08:13:05 UTC
Looks pretty good to me. Small niptick: you introduced tabs in the UI file while it is space aligned (git diff should show them in red). Please use spaces everywhere.

You can easily squash your patches together by doing "git rebase -i master" and mark the fixing patches as 'fixup'.
Comment 9 Laurent Contzen 2012-04-02 11:15:00 UTC
Created attachment 211125 [details] [review]
Added support for local IP address and port in SIP account settings widget. Fixup
Comment 10 Guillaume Desmottes 2012-04-02 11:22:05 UTC
Review of attachment 211125 [details] [review]:

You can remove the 'Fixup' from the commit message.

::: libempathy-gtk/empathy-account-widget-sip.c
@@ +52,3 @@
+  GtkWidget *entry_local_ip_address;
+  GtkWidget *label_local_port;
+  GtkWidget *spinbutton_local_port;

Actually you don't need all these new references. empathy_account_widget_handle_params() does everything for you.
Comment 11 Laurent Contzen 2012-04-02 11:41:24 UTC
Created attachment 211127 [details] [review]
Added support for local IP address and port in SIP account settings widget.
Comment 12 Guillaume Desmottes 2012-04-02 11:49:03 UTC
Merged to master; thanks!

Attachment 211127 [details] pushed as 4851668 - Added support for local IP address and port in SIP account settings widget.