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 578883 - Cannot SIP register
Cannot SIP register
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: OPAL
3.2.x
Other All
: Normal major
: 3.40
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-13 21:32 UTC by alxgomz
Modified: 2009-05-18 13:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
output of ekiga -d 4 (5.66 KB, application/gzip)
2009-04-13 21:34 UTC, alxgomz
  Details
Print order of stun operations (493 bytes, patch)
2009-04-14 08:48 UTC, Eugen Dedu
none Details | Review
sip registration output (7.19 KB, application/octet-stream)
2009-04-15 04:44 UTC, alxgomz
  Details
Patch making stun to start when launching ekiga (564 bytes, patch)
2009-04-18 17:47 UTC, Mounir Lamouri
none Details | Review
gdb logging and d4 output under WinXP (6.52 KB, application/x-gzip)
2009-04-26 17:40 UTC, Michael Rickmann
  Details
d4 output with debug (5.36 KB, application/gzip)
2009-04-27 00:45 UTC, alxgomz
  Details

Description alxgomz 2009-04-13 21:32:06 UTC
Please describe the problem:
When launching Ekiga 3.2.0 my ekiga.net account cannot be registered on the server.

Steps to reproduce:
1. build tplib-2.6.1
./configure --enable-stun && make && sudo make install

2. build opal-3.6.1:
./configure && make && sudo make install

3. build ekiga-3.2.0:
./configure --disable-gnome --disable-gconf --disable-gdu --disable-eds --enable-gstreamer && make && sudo make install

4. Run ekiga:
ekiga

5. Get mad being still unable to register


Actual results:
Ekiga appears but account is not registered

Expected results:
Account to be registered so I can call.

Does this happen every time?
yes

Other information:
Comment 1 alxgomz 2009-04-13 21:34:05 UTC
Created attachment 132617 [details]
output of ekiga -d 4

hopefullyy helpfull debug
Comment 2 Eugen Dedu 2009-04-13 21:47:40 UTC
Do you have networkDetection enabled or disabled in preferences/generalsettings?
Comment 3 alxgomz 2009-04-13 21:54:11 UTC
(In reply to comment #2)
> Do you have networkDetection enabled or disabled in
> preferences/generalsettings?
> 

the "Disable network detection" box is not checked, which i guess means that the detection is ON :)
Comment 4 Eugen Dedu 2009-04-13 22:06:01 UTC
What OS do you have?
Comment 5 alxgomz 2009-04-13 22:08:28 UTC
(In reply to comment #4)
> What OS do you have?
> 

Sorry yes, I'm running a Debian Lenny but quite a lot of libs that goes around ekiga are hand-compiled so do the kernel (2.6.29).
Comment 6 Eugen Dedu 2009-04-14 08:48:30 UTC
Created attachment 132631 [details] [review]
Print order of stun operations

Could you apply this patch and tell what is shown?
Comment 7 alxgomz 2009-04-14 16:50:44 UTC
(In reply to comment #6)
> Created an attachment (id=132631) [edit]
> Print order of stun operations
> 
> Could you apply this patch and tell what is shown?
> 

after patch applied, launching ekiga returns this on the stdout:
stun_enabled = 0
stun_enabled2 = 1
Comment 8 Eugen Dedu 2009-04-14 19:28:15 UTC
Ok, this proves that stun is first used, and only afterwards is set from the preferences, which is wrong.

This will be fixed soon.

In the mean time, you can use the following workaround: replace
  stun_enabled = false;
with
  stun_enabled = true;
in lib/engine/components/opal/opal-call-manager.cpp, thus ekiga will work for you.
Comment 9 alxgomz 2009-04-15 04:44:26 UTC
Created attachment 132674 [details]
sip registration output
Comment 10 alxgomz 2009-04-15 04:45:09 UTC
(In reply to comment #8)
> Ok, this proves that stun is first used, and only afterwards is set from the
> preferences, which is wrong.
> 
> This will be fixed soon.
> 
> In the mean time, you can use the following workaround: replace
>   stun_enabled = false;
> with
>   stun_enabled = true;
> in lib/engine/components/opal/opal-call-manager.cpp, thus ekiga will work for
> you.
> 


Made the changes, now ekiga printf this when launching:

stun_enabled = 1
stun_enabled2 = 1

Unfortunately i'm still unable to register my SIP account, and get 489 and then 606 answer from the server (I attach the relevant part of the output for SIP registration)
Comment 11 Eugen Dedu 2009-04-15 08:23:28 UTC
It still tries to register through a private address, which is wrong.  What does
ekiga -d 4 2>&1 | grep STUN
show?
Comment 12 alxgomz 2009-04-15 08:36:13 UTC
(In reply to comment #11)
> It still tries to register through a private address, which is wrong.  What
> does
> ekiga -d 4 2>&1 | grep STUN
> show?
> 

'ekiga -d 4 2>&1 | grep STUN'

returns nothing, and i check with non-sensitive case , I get nothing more but the debug the previous patch added:

stun_enabled = 1
stun_enabled2 = 1
Let me know if you want more infos.
Comment 13 Eugen Dedu 2009-04-15 08:41:52 UTC
Let's wait the proper fix for the initial issue, I hope t will fix also the 2nd issue.
Comment 14 alxgomz 2009-04-16 05:13:17 UTC
Is it already available in svn or do I have to wait for the next release? 
Comment 15 Eugen Dedu 2009-04-16 15:28:47 UTC
Not yet, you will be announced...
Comment 16 Mounir Lamouri 2009-04-18 17:47:00 UTC
Created attachment 132871 [details] [review]
Patch making stun to start when launching ekiga

I tried stun_enabled = true; and it doesn't change anything for me too.
So I tried to also add start() in set_stun_server() like it was before and it makes it working.

Can you test the patch (for ekiga-3.2.0 release) and let me know if it's working for you ?
Comment 17 alxgomz 2009-04-19 02:05:33 UTC
IT only works if the account is disabled at start  time and I enable it after.
If the account it enabled at start time (if no SIP unsubcribe has been done prior to close ekiga) I get a timeout.
Comment 18 Snark 2009-04-21 11:43:13 UTC
Ok, I finally catch up on that thing ; it would be nice if some of the many people watching this bug could reproduce it with some debug printing.

1) in lib/engine/components/opal/opal-gmconf-bridge.cpp, there is a on_property_changed function ; could you add debug output to the test about "disable_stun"? I'd like to know when it is called and what gm_conf_entry_get_bool (entry) returns.
2) in lib/engine/components/opal/opal-call-manager.cpp, there is a 'start' method: I would like to know when it is called, and what the value of stun_enabled is when it gets called.

Thanks!
Comment 19 Michael Rickmann 2009-04-26 17:40:52 UTC
Created attachment 133351 [details]
gdb logging and d4 output under WinXP

Clearly the start method is called before stun is enabled. At 1381 gmconf-glib.c I did a print entry->value.boolean. For Win32 it is sufficient to remove the g_idle stuff from gmconf-glib.c to get stun working.
Comment 20 alxgomz 2009-04-27 00:45:01 UTC
(In reply to comment #18)

Sorry I've been quite slow to answer.
My C skill being what it is... please be tolerant.
I have tryied adding debug to gather the informations you requested... here is what I have done:

--- ekiga-3.2.0/lib/engine/components/opal/opal-call-manager.cpp	2009-01-25 23:10:51.000000000 -1000
+++ ekiga3/lib/engine/components/opal/opal-call-manager.cpp	2009-04-26 13:44:51.000000000 -1000
@@ -169,6 +169,7 @@
 
 void CallManager::start ()
 {
+  printf("START METHOD CALLED HERE. STUN_ENABLED value is: %d\n", stun_enabled);
   if (stun_enabled) {
     
     // Ready
--- ekiga-3.2.0/lib/engine/components/opal/opal-gmconf-bridge.cpp	2009-01-07 00:02:11.000000000 -1000
+++ ekiga3/lib/engine/components/opal/opal-gmconf-bridge.cpp	2009-04-26 14:07:16.000000000 -1000
@@ -174,6 +174,7 @@
   else if (key == NAT_KEY "disable_stun") {
 
     manager.set_stun_enabled (!gm_conf_entry_get_bool (entry));
+    printf("STUN_DISABLED value is: %s\n", (entry)?"true":"false");
   }

Here follows attachement with -d 4 output when starting ekiga.
the string "STUN_" shows debug added.
I hope this is revelant.
Comment 21 alxgomz 2009-04-27 00:45:54 UTC
Created attachment 133381 [details]
d4 output with debug
Comment 22 Snark 2009-04-27 08:53:25 UTC
I understood the problem : it's now dead.
Comment 23 Michael Rickmann 2009-04-28 06:22:40 UTC
Thank you. For Win32 it is fixed now in EKIGA_3_2_0-106-gc7f3abd.
Comment 24 Eugen Dedu 2009-05-18 13:16:14 UTC
*** Bug 582713 has been marked as a duplicate of this bug. ***