detection of external IP addres doesn't work

Bug #430927 reported by buzzdee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Coccinella
Fix Committed
Medium
sander

Bug Description

When in the Preferences/Network/NAT

activating the checkbox Use the following external address, and then clicking on the "Detect" button, doesn't work, meaning the IP address field stays empty.

It seems stun.fwdnet.net doesn't send a correct answer, or answers at all.
Here I found a list of public stun servers: http://www.voip-info.org/wiki/view/STUN
so I changed the stun server to use for detection in lib/Proxy.tcl to stun01.sipphone.com
restarted Coccinella, and it started to work.

appended patch fixes above problem for me, replacing the server used.
Tested on OpenBSD with Coccinella from SVN.

However, the server stun.fwdnet.net is also used in: components/Phone/IAX/JingleIax.tcl
which may or may not be related to my question #82437

Revision history for this message
buzzdee (sebastia) wrote :
Revision history for this message
sander (s-devrieze) wrote :

"However, the server stun.fwdnet.net is also used in: components/Phone/IAX/JingleIax.tcl
which may or may not be related to my question #82437"

Can you test this with the new server?

Also, it could be a good idea to look at XEP-0215 ( http://xmpp.org/extensions/xep-0215.html ) as ejabberd may support this since recently: http://www.process-one.net/en/blogs/article/stun_server_in_ejabberd/ It would be better to automatically detect available STUN servers :-)

Revision history for this message
sander (s-devrieze) wrote :
Revision history for this message
buzzdee (sebastia) wrote :

I will change the stun server in the omponents/Phone/IAX/JingleIax.tcl and will see whether this fixes my problem with the phone call in one of the next days. However, on the Windows box, which is not mine, I only have a large coccinella binary, so I can only change it on the OpenBSD box.

My ejabberd server is a ejabberd-2.0.1, which doesn't have STUN server yet. It seems the STUN server is available from ejabberd 2.1.X, so I'll need to update this one before my server can act as a STUN server. However, waiting to the end of the month for OpenBSD 4.6 doesn't makes sense, because there in the ports is ejabberd-2.0.3 only. I have to update manually anyways.

I'll take a look at XEP-0215, despite it is still only marked as Experimental, ;) Howevery, it makes much more sense, to automatically detect any stun server for usage, than hardcoding one in the source ;)

Sebastian

Revision history for this message
sander (s-devrieze) wrote :

"However, on the Windows box, which is not mine, I only have a large coccinella binary, so I can only change it on the OpenBSD box."

You can test it like this:
1) Put http://www.patthoyts.tk/tclkit/win32-ix86/tclkit857.exe on an USB stick.
2) Edit JingleIax.tcl and put the whole Coccinella source directory on the USB stick.
3) Open tclkit857.exe on Windows (no installation!)
4) There will open some kind of a terminal window with a "Source" menu option (or something with a similar name; I only seldomly test Windows support under Wine ;-) ).
5) Select "Coccinella.tcl" from the source directory on the USB stick.

Revision history for this message
buzzdee (sebastia) wrote :

hI,

i've changed the stun server in the JingleIax.tcl file, and also did as you said in the last comment on the windows box.
However, that still did not fix the problem of establishing a call between the two notebooks. But it made things better with regard to conform to the protocol as described in XEP-0179:
before I changed the stun server, I only had a local IP announced to the other party as candidate:

RECV: <iq <email address hidden>/Coccinella@susi' <email address hidden>/Coccinella@defiant' xml:lang='en' type='set' id='1027'><jingle xmlns='http://jabber.org/protocol/jingle' action='transport-accept' <email address hidden>/Coccinella@defiant' sid='34911a9a-e7db5c7'><transport xmlns='http://jabber.org/protocol/jingle/transport/iax' version='2'><candidate name='local' ip='10.23.5.193' port='4569'/></transport></jingle></iq>

After the change I also have additionaly a public IP announced as candidate, XEP-0179 says the transport MUST include two candidates.

So it did not fix my other problem, but made it look better. So I think the stun server should also be changed in the JingleIax.tcl file, until someone implements XEP-0215 ;)

Sebastian

sander (s-devrieze)
Changed in coccinella:
assignee: nobody → sander (s-devrieze)
importance: Undecided → Medium
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.