linphone-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-users] calling over IP using behind NAT : sip.linphone.org


From: Stuart Gathman
Subject: Re: [Linphone-users] calling over IP using behind NAT : sip.linphone.org
Date: Wed, 18 Jan 2017 09:51:07 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0

On 01/18/2017 08:47 AM, leau wrote:
> Hello
>
> I installed linphone on 2 computers and one tablet inside a local
> network.
> I could call (sound and video) the other two machines (laptop and
> tablet) but they could not call me.
>
> Now that I am home I tried to call somebody who is (like me) a
> address@hidden
> We can type text but there are always a variety of errors and we
> cannot talk or see each others.
>
> I used a linux Mint Rebecca.
> my linphone conf is the default one
> then I changed the Firewall setting and used "Behind NAT with
> sip.linphone.org as public IP).
> Sometimes the linphone app shows my local IP address as "resulting SIP
> address" sometimes not!
> I did nothing to change that.
> I sometimes see that I am registered other time I am not.
>
> Any idea of where to start?
The public IP is the one other people see when you contact them - not
sip.linphone.org.  If your computer is mobile, this public IP will
change, and you should use the STUN server (which just tells you what
your public ip is currently  (similar to http://whatismyip.com ).

However, all that NAT stuff is for a protocol (IP4) that has been
obsolete for 15 years.  Just use IP6, and you can phone your contacts
directly.  Use the  fixed public IP6 of your device as your "phone
number".  The only purposes a centralized SIP domain serves is to

a) duck tape IP4 to keep it from falling apart despite running out of
IPs years ago
b) provide a gateway to POTS

If linphone.org offers a paid POTS service, you should use it to support
them.  Otherwise, just use IP6. 

What about mobile devices?  The RFC answer is mobile IP6.  The mobile
device has a fixed public IP attached to a "home router".  Packets
initially get relayed through the home router, but there are protocol
features to discover the current IP and send packets directly.

I use an experimental protocol called CJDNS, which is an IP6 mesh VPN. 
The CJDNS IP is the cryptographic hash of a private key that is fixed. 
Packets are relayed to you via other CJDNS nodes, and your current
location in the mesh discovered via a distributed hash table.  So my
CJDNS ip is my "phone number".    Good starting point here:  
https://hyperboria.net/

Since cjdns is relayed through random nodes, video performance is
spotty.  Audio is quite usable, however.  There is no need for
encryption on the SIP or RTP data when using CJDNS.

For firewall, SIP is like ftp in that RTP ports (for the audio and video
data streams) are random.  On linux, there is an nf_conntrack_sip module
that parses the sip packets to find the RTP ports and auto-opens them.

However, linphone defaults to using fixed ports for RTP: 7078 and 9078. 
So you can just open those incoming port for UDP.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]