GNOME Bugzilla – Bug 669134
SIP widget: add local IP widgets
Last modified: 2012-04-02 11:49:06 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
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.
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
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
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
Sounds like a telepathy-rakia bug. Report to bugs.freedesktop as a rakia (or sofiasip, the component name hasn't been updated yet) bug.
Created attachment 211077 [details] [review] Added support for local IP address and port in SIP account settings widget. Fixes bug #669134
Created attachment 211078 [details] [review] Fixed indentation in previous fix of bug #669134
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'.
Created attachment 211125 [details] [review] Added support for local IP address and port in SIP account settings widget. Fixup
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.
Created attachment 211127 [details] [review] Added support for local IP address and port in SIP account settings widget.
Merged to master; thanks! Attachment 211127 [details] pushed as 4851668 - Added support for local IP address and port in SIP account settings widget.