GNOME Bugzilla – Bug 545295
"Bad NAT Type", confusing message shown in console
Last modified: 2008-08-12 07:30:58 UTC
I am running ekiga-snapshot (on Ubuntu 8.04, 64bit). My ekiga.net and other SIP accounts all register properly. When I try to make a call with ekiga-snapshot, I always get "Abnormal call termination". I have not been able to make a call with ekiga snapshot. When running Ekiga from the command line, I get the message Bad NAT Type and no other message. I have an ADSL connection, connecting through a router. There are no firewall blocking features running at the router or the broadband provider, to the best of my knowledge. When running Ekiga with -d 5, I get these messages around the Bad NAT Type error, ... 2008/07/29 11:40:59.481 0:02.998 StunDetector:0x4041c950 PWLib File handle low water mark set: 43 PUDPSocket 2008/07/29 11:40:59.607 0:03.125 StunDetector:0x4041c950 OPAL STUN server "stun.voxgratia.org" replies Symmetric NAT, external IP 82.xxx.xxx.xxx Bad NAT Type 2008/07/29 11:40:59.608 0:03.125 StunDetector:0x4041c950 Listen Stopping listening thread on udp$*:5060 2008/07/29 11:40:59.608 0:03.125 StunDetector:0x4041c950 MonSock Closed UDP socket 0x9c68b0 2008/07/29 11:40:59.608 0:03.125 Opal Liste...0x412f4950 Listen UDP read error. 2008/07/29 11:40:59.608 0:03.125 ThreadID:0x412f4950 PWLib Ended thread 0x9c6d20 Opal Listener:0x412f4950 2008/07/29 11:40:59.631 0:03.148 StunDetector:0x4041c950 MonSock Deleting UDP socket 0x9c68b0 2008/07/29 11:40:59.631 0:03.148 StunDetector:0x4041c950 PWLib Destroyed thread 0x9c6d20 Opal Listener:0x412f4950(id = 0) 2008/07/29 11:40:59.631 0:03.148 StunDetector:0x4041c950 PWLib File handle low water mark set: 34 PUDPSocket 2008/07/29 11:40:59.752 0:03.269 StunDetector:0x4041c950 MonSock Created bundled UDP socket via STUN internal=192.168.1.10:5060 external=82.xxx.xxx.xxx:5060 2008/07/29 11:40:59.752 0:03.269 StunDetector:0x4041c950 PWLib Created thread 0xe69180 Opal Listener 2008/07/29 11:40:59.752 0:03.269 Opal Liste...0x412f4950 PWLib Started thread 0xe69180 Opal Listener:0x412f4950 2008/07/29 11:40:59.752 0:03.269 Opal Liste...0x412f4950 Listen Started listening thread on udp$*:5060 2008/07/29 11:40:59.752 0:03.269 StunDetector:0x4041c950 Listen Stopping listening thread on tcp$*:1720 2008/07/29 11:40:59.752 0:03.269 ThreadID:0x4064f950 PWLib Ended thread 0x9ca590 Opal Listener:0x4064f950 2008/07/29 11:40:59.753 0:03.270 StunDetector:0x4041c950 PWLib Destroyed thread 0x9ca590 Opal Listener:0x4064f950(id = 0) 2008/07/29 11:40:59.753 0:03.270 StunDetector:0x4041c950 PWLib Created thread 0x9ca590 Opal Listener 2008/07/29 11:40:59.753 0:03.270 Opal Liste...0x4064f950 PWLib Started thread 0x9ca590 Opal Listener:0x4064f950 2008/07/29 11:40:59.753 0:03.270 Opal Liste...0x4064f950 Listen Started listening thread on tcp$*:1720 2008/07/29 11:40:59.753 0:03.270 Opal Liste...0x4064f950 Listen Waiting on socket accept on tcp$*:1720 2008/07/29 11:40:59.753 0:03.270 ThreadID:0x4041c950 PWLib Ended thread 0x935930 StunDetector:0x4041c950 2008/07/29 11:40:59.753 0:03.270 ThreadID:0x4041c950 PWLib Destroyed thread 0x935930 StunDetector:0x4041c950(id = 0) 2008/07/29 11:40:59.849 0:03.366 ekiga PWLib Created thread 0x9f2980 2008/07/29 11:40:59.849 0:03.366 subscriber:0x4041c950 PWLib Started thread 0x9f2980 subscriber:0x4041c950 2008/07/29 11:40:59.850 0:03.367 subscriber:0x4041c950 SIP Changing REGISTER handler from Unsubscribed to Subscribing, target=sip:simos@sip.somevoipaccount.com, id=70e08080-c85b-dd11-99cf-001b778f8320@desktop 2008/07/29 11:40:59.850 0:03.367 ekiga PWLib File handle high water mark set: 60 Thread unblock pipe 2008/07/29 11:40:59.850 0:03.367 ekiga PWLib Created thread 0x9927e0 2008/07/29 11:40:59.851 0:03.368 ekiga PWLib Thread high water mark set: 10 ... I do not know if the above messages are sufficient enough to pinpoint the problem.
We will put it in a dialog to make it more informative. You actually have a very bad type of NAT : Symmetric NAT. With that kind of NAT, you need to forward ports. Please see our wiki http://wiki.ekiga.org ...
There are two things to do here: - find an appropriate message - show it inside a dialog box - For the message, here is a proposition: Symmetric NAT found: You are behind a firewall which does not allow you by default to make conversations with ekiga. You must use an external proxy or try some tricks, as shown at http://wiki.ekiga.org/index.php/Ekiga_behind_a_NAT_router . - And for the dialog box, here is another proposition, but which needs to be corrected (1. replace NULL with the parent window, 2. replace "message above" with the message above, 3. I do not know in which file to put this gtk code): --- src/endpoints/manager.cpp.orig 2008-07-30 10:36:55.000000000 +0200 +++ src/endpoints/manager.cpp 2008-07-30 21:07:27.000000000 +0200 @@ -84,8 +84,15 @@ PSTUNClient::NatTypes type = manager.SetSTUNServer (server); if (type == PSTUNClient::SymmetricNat || type == PSTUNClient::BlockedNat - || type == PSTUNClient::PartialBlockedNat) - std::cout << "Bad NAT Type" << std::endl << std::flush; + || type == PSTUNClient::PartialBlockedNat) { + GtkWidget *dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + "message above"); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + } for (Ekiga::CallManager::iterator iter = manager.begin (); iter != manager.end (); Sorry to be so unfinished, HTH, Eugen
This is bug http://bugzilla.gnome.org/show_bug.cgi?id=338267
*** Bug 338267 has been marked as a duplicate of this bug. ***
I have added an error message in the engine (no GTK code in src/endpoints/manager.cpp). It redirects to the wiki, without further details because it is easier to update a wiki than Ekiga error messages itself.
I added a page at the wiki, http://wiki.ekiga.org/index.php/Enable_port_forwarding_manually Would it be useful to have that page instead as the landing page to the Wiki; The relevant diff is http://svn.gnome.org/viewvc/ekiga/trunk/src/endpoints/manager.cpp?r1=6557&r2=6569 Would it be better to rephrase the text to something like "Ekiga did not manage to configure your network settings automatically. You can still use Ekiga, but you need to configure your network settings manually. Please see http://wiki.ekiga.org/index.php/Enable_port_forwarding_manually for instructions"
I'll do it tonight, good suggestion...