You are here

Linphone not connecting call when node has internet access

12 posts / 0 new
Last post
KD2EVR
KD2EVR's picture
Linphone not connecting call when node has internet access

I have an Airrouter HP node at my QTH. 
Mesh gateway is turned off but I can connected to my home network through the WAN port to give locally connected devices internet access.  
I have a Grandstream GXP1630 phone connected to an airrouter LAN port, configured for direct IP dialing.  
I also have a part 15 wireless access point connected to an airrouter LAN port to which I can connect my android phone.  
My android has the Linphone app installed.  I've unchecked "use random port" and set the port to 5060.  

I can direct IP dial one phone from the other and vice versa and everything works as expected.  However, if I then connect the airrouter WAN to my home network (and the internet) I am then unable to complete a call connection.  I can get the Grandstream to ring from the android but everything hangs when you try to answer and eventually times out.  Dialing the Android from the Grandstream doesn't even cause a ring.  If I disconnect WAN, the problem persists until I reboot the Airrouter.  

My working theory is that packets are getting routed out to wrong network.  

Planned tests:
Trial with the WAN connected but unplug the home network from internet access.  
Trial with one and/or both phones connected to remote nodes.  
Trial two Grandstream phones
Trial two Androids w/ Linphone

Also, I tried checking "disable default route" (and saving and rebooting) but there was no effect noted.  The connected android still had internet access through the node - I don't think that's correct...

N2MH
N2MH's picture
Access Point

Do you have your wireless access point set to pass through the node's 10 network over its RF interface? Or, is the WAN port of the AP connected to the LAN port of the node? If it is the latter, most likely your Android phones are not getting a 10 network address but instead, getting an address from the AP. Thus, the AP is doing a NAT function, which is not too healthy for the sip protocol.

You should look into making your AP transparent from WAN port to its RF port. Short of that, a usable hack is to turn off the DHCP server in the AP and then connect one of the LAN ports of the AP to the LAN port of the Mesh node. Leave the WAN port of the AP disconnected. This will ensure that all devices are indeed on the same network.

Mark



 

ke6bxt
ke6bxt's picture
Is you WAN address on your
Is you WAN address on your AirRouter in the 192.168.0.x or 192.168.1.x range or is it in the 10.x.x.x range? Is you Gateway on yourAirRouter another mesh node or the address of your home router?
KD2EVR
KD2EVR's picture
See attached for the
See attached for the airrouter IP info.  The AP is passing through to the Airrouter node LAN port without NATing.  Both the phones are always getting a 10. address from the node, not the AP or the home network.  

The Airrouter node WAN port is plugged directly into the home network, there are no other internet-connected nodes.  As I said, it works fine when I have WAN unplugged from the home network.  Next test to see if isolating the home network from the internet has any effect.  
 
Image Attachments: 
N2MH
N2MH's picture
CSipSimple

Tom,

In addition to your planned tests, you might also try CSipSimple on your Android phones and see if that makes a difference. Using a different app could tell you if you have app problems or network problems.

https://play.google.com/store/apps/details?id=com.csipsimple&hl=en_US

Mark

 

kc8rgo
I have been using Linphone. 
I have been using Linphone.  Is it still the recommended app for android VOIP?
N2MH
N2MH's picture
It Depends ....

Just like life, it depends on what you are trying to accomplish.

The thread started out as a discussion of a SIP app called Linphone. VoIP, is a general purpose name, a family of several different protocols, SIP being one of them. Another protocol is IAX2. SIP is generally used for endpoint telephones, such as a smartphone, or a deskset. IAX2 is generally used to connect two PBX's together. Having said that, there is a small amount of crossover where SIP is used for trunking and IAX2 is used for extensions. In addition, SIP is built into the Android operating system. Thus, an Android app for telephony only needs to build a GUI into that native support.

https://developer.android.com/guide/topics/connectivity/sip

Also, if you are talking about dialing from phone to phone using direct-ip dialing, that is only done via SIP. And, this really is a feature that a software author may or may not implement in his app. The general use case for a SIP extension is to be an extension on a PBX. When people think of making a telephone call, they think of dialing an extension number, not an ip address. Thus, the ability to dial by ip address is a feature that may or may not be included in an app. And, if it is, it up to the developer to determine how it is presented and used.

As KD2EVR was using LinPhone, he is talking about SIP. Linphone is an app that supports direct ip dialling. So does CSipSimple . Zoiper is another SIP app but it does not support direct ip dialing. It does support being an extension on a PBX. However, Zoiper does support being an extension using IAX2 protocol. Linphone and CSipSimple have no IAX2 support at all.

So, for these 3 apps, the best one for SIP is any of the 3 if you want to be a PBX extension, and only 2 of the 3 if you want direct-ip dialing. If you want IAX2 functionality, only 1 of the 3 is suitable. So, depending on what you want to do in VoIP, the first step is to determine which app will do it in the first place. The second step is then to see which one is better for you (ease of use, appearance, lack of hidden quirks, et. al).

I think the jury is still out regarding the "best" app for direct-ip dialing due to the hidden quirks such as what KD2EVR may have found in Linphone. One other quirk is how you get the ip address into the app for dialing.
 

KE6UPI
Hello Tom, You might try and
Hello Tom, You might try and plug in a workstation on the same network as your IP Phones. Use tracert command and trace the packets to each phone. Then plug in the WAN from your AirRouter and run the test again.

tracert = Windows
traceroute = Linux

David
 
KE6UPI
One more thing. SIP Software
One more thing. SIP Software/Phones sometimes uses a SIP Proxy by default. You should turn it off.

David
w8erd
Linphone disconnects
Since Linphone was mentioned here. I will add my issue.  I have previously posted it on the Linphone users list and got no reply.  A  number of others have also posted it there in past years and got no reply.  

Linphone used to work for me,  Now it disconnects after 30 seconds.  Any ideas as to why?

Bob W8ERD
KE0RSX
KE0RSX's picture
Dragging up a slightly old thread
Hi, everyone,

I'm dragging this up because LinPhone or some other variant of a smartphone app may be one route our ARES team uses. So, I'm wondering if this issue (and W8ERD's issue also) have been fixed. If not, and if you're still looking for troubleshooting options, you could install Wireshark on a desktop that is on the network and sniff the packets going from the phones and the PBX server. Obviously, you won't be able to see the actual data, but you can see where it's set to go and what the real-time network messages are if any.
AB8XA
Return path

If you have a notebook or phone that is dual-homed, with a path to your mesh as well as a path to the internet, it will have a default route to your internet router, be that your home router, Part 15 hotspot, or smartphone.

Linphone will grab the latter and publish it as the return IP when you make a call. Whoever you call on the mesh will be able to hear you, but you won't be able to hear them.

To get around this, change Linphone's configuration to NAT with the IP address of your notebook's or smartphone's mesh interface. (when Linphone is used as a Part 15 phone, that NAT address is the one you get from whatismyip.com).
 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer