Voice and Video
Before getting started with EzIsland's VoIP service, make sure you have read the disclaimer and have signed up for an EzIsland account.
Voice over IP (VoIP) refers to any technology that allows someone to send voice, video, or other real time media streams over the internet. EzIsland uses one particular VoIP protocol called SIP (Session Initiation Protocol). SIP is an open standard that manages voice and video calls over the internet. Every SIP user has something called a SIP address. Like an email address, a SIP address is used to identify a person on the internet. At EzIsland, your sip address is constructed by appending @ezisland.org to your EzIsland username.
In order to connect to EzIsland's SIP services, you will need a SIP client. The best open source SIP client available today is linphone. Linphone offers apps for all major platforms including Linux, Windows, MacOS (via app store), iOS (via app store), and Android (via F-Droid or Google Play). To get started with linphone, the app will initially ask you whether you want to register a new account or use an existing account. Since EzIsland gives you a SIP account already, you should always choose "use existing SIP account". From there you will need to enter your EzIsland username (without the @ezisland.org) and password, and set the SIP proxy domain to ezisland.org. Finally, you will want to ensure that you are using TLS instead of TCP or UDP. TLS uses SSL certificates to ensure that your linphone app is indeed talking to ezisland.org and not some other server that is impersonating EzIsland.
To make outgoing calls, you will need your recipients SIP address. For people using the EzIsland network, you can place a call by simply typing their EzIsland username followed by @ezisland.org into the call bar. For users outside of EzIsland's network, you will need to put their SIP address into the call bar.
In order to receive calls, your linphone application should be running in the background of your device. On desktop computers this is usually not a problem, but on phones and laptops there is a high chance that you will miss calls if your application is not running. If you are moving accross different internet networks (between cellular data and wifi for instance) it is also important to periodically put the app into the foreground and reload the connection to EzIsland. By reloading the app, the client will send important ip address and location information to the EzIsland serverm that will allow EzIsland to properly route incoming phone calls to your device. Finally, if you are running multiple SIP clients at once (such as on your phone and your computer), then incoming calls may only be forwarded to one of them. Usually, the client that most recently logged in or reconnected to EzIsland will receive the call.
Unfortunately, Linphone is not configured by default to use end-to-end encryption for phone and video calls. To enable end-to-end encryption, you will need to navigate to the preferences/settings section and go to the "Call" tab. From there, you should select one of the options under media encryption. Note that both you and the person you want to call should select the same media encryption option in order to ensure that your calls are secure in both directions. Note that not all Linphone clients will offer all encryption options. SRTP is always available but it is also the least secure. DTLS and ZRTP are better options however ZRTP can be difficult to use. Once your call is connected, ensure that the call is encrypted by looking for a padlock icon on the screen. Be aware that while it is possible to send text messages using linphone and the SIP protocol, these are never encrypted, even if the padlock icon appears on your screen. In order to send encrypted text based data, you should use a different protocol such as Email or chat through Jabber/XMPP.
By default, I do not allow users to make or receive calls to the publically switched telephone network (PSTN) so that I don't incur high costs. However, if you are interested in receiving a telephone number so that you can make and receive calls over the PSTN using only the internet, feel free to email me at admin@ezisland.org. If I allocate a phone number for you, then you will be able to receive calls to your Linphone client whenever someone calls that phone number. You will also be able to place calls to someone's cellphone or landline by typing in their phone number in the Linphone callbar with the followed by @ezisland.org. When making outgoing calls, you should format the phone number using the international phone number format. In this format, phone numbers begin with a plus ("+") sign followed by a country code. For calls to US based phone numbers you should thus precede the number by "+1". For instance, to call the phone number 555-555-5555, use +15555555555@ezisland.org in the call bar.
Be aware that calls placed to and from the PSTN are NEVER encrypted even when Linphone client shows the padlock icon. The reason for this is that these calls are encrypted and routed through a third party twilio. Twilio then decrypts the message and forwards the call to the PSTN. There is no way to know whether calls placed to the PSTN are monitored, recorded, or otherwise stored by twilio, the mobile network operator (such as AT&T or Verizon), or by some other agent with access to the phone network such as government agencies.
You should never call 911 or any other emergency number using this voice over IP service. Normal emergency phone calls placed using a cellphone use location information associated with the cellphone to route your call to the approrpriate first responder. When using EzIsland, there is no way for the PSTN to know where your actual location is when you place an emergency phone call. Thus, your phone call is likely to be routed to a random location based on the phone number allocated to your account.