GNOME Bugzilla – Bug 578883
Cannot SIP register
Last modified: 2009-05-18 13:16:14 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:
Created attachment 132617 [details] output of ekiga -d 4 hopefullyy helpfull debug
Do you have networkDetection enabled or disabled in preferences/generalsettings?
(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 :)
What OS do you have?
(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).
Created attachment 132631 [details] [review] Print order of stun operations Could you apply this patch and tell what is shown?
(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
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.
Created attachment 132674 [details] sip registration output
(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)
It still tries to register through a private address, which is wrong. What does ekiga -d 4 2>&1 | grep STUN show?
(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.
Let's wait the proper fix for the initial issue, I hope t will fix also the 2nd issue.
Is it already available in svn or do I have to wait for the next release?
Not yet, you will be announced...
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 ?
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.
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!
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.
(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.
Created attachment 133381 [details] d4 output with debug
I understood the problem : it's now dead.
Thank you. For Win32 it is fixed now in EKIGA_3_2_0-106-gc7f3abd.
*** Bug 582713 has been marked as a duplicate of this bug. ***