IPPhone project

This is a free internet phone program (VoIP) for both Windows and Linux (amd64 Debian based distributions). Speech is compressed using implicit GSM-codec and secured by encryption. Nothing is logged or spyed.

IPPhone is considered as a kind of old "Radio phone" or "Walkie-talkie" in it's simplicity.

Advantages

  1. Simple free two person encrypted phone.
  2. No central server, so nothing is logged anywhere.
  3. Interoperable with Windows and Linux.

Disadvantages

  1. Both counterparts must provide IP's to each other in order to connect. That can be done by email, short message delivery or by short GSM-call.
  2. IP's tend to change after modem/LTE boots.
IPPhone

Network configuration

If (hopefully) you are behind NAT/firewall modem, you have to punch a hole into it for IPPhone for UDP-port 8307.

Some ISPs suggest easy but very risky solution to get public IP, so called modem bridging. DO NOT DO THAT! Is would be a major security risk to your computer and your privacy. One open port in NAT/Firewall is sufficient!

tplink_config_example.png
Example configuration for IPPhone in TP-LINK series modem. Game servers use configuring exactly like this. "Internal IP" is your PC's local static IP (from pool 192.168.x.x or 10.x.x.x depending on your modem manufacturer).

IPPhone initial local audio testing

popup_menu.png
Open context menu with right mouse click. You will see your audio devices listed. Toggle 'audio loopback test' on, and you should here your microphone audio from speakers/headset with a short delay. Then toggle 'audio loopback test signal'. You should here sine wave. If sine wave varies with it's pitch and/or crackles too much, you should try to select different audio device after toggling 'audio loopback test' back off. Note, that not all audio devices are valid for phone session (e.g. HDMI playback-only audio).

In Linux side ALSA-audio driver sometimes works better with Pulse audio service installed and sometimes Pulse audio disturbes audio flow. That seems to be dependent of ALSA's configuration files and overall Linux audio settings. USB-audio is still currenly under work.

Next step is to test your local network connection. Fill your local IP (e.g. 192.168.0.7) into IPPhone's 'Remote address' field and press 'dial'. You should hear your voice via local network like in local loopback test.

Executable IPPhone files (version 0.946, 9.2.2021)

Windows version: IPPHONE.exe MD5SUM = be280d4fbcc0b844974089cacb69d363

Linux version: ipphone MD5SUM = 15b8502faab2ea91ab578de24815dc70

REMEMBER always to VIRUSSCAN everything you download from internet!

Note, that IPPhone is currently under development and is not considered to be stable until version 1.00 is reached. Development version also contains debug prints not meant for end user.

Tips

Linux users could run ipphone under 'sudo'; in that way the critical audio thread and gsm encoding/decoding are able to elevate their priorities and audio becomes more stable.


Simple webpage to get your public IP address: https://www.polycsg.net/youripaddress


For Finnish users ... eli suomalaisille käyttäjille tiedoksi:
Elisan 3G/4G/5G-langattomat modeemiyhteydet ovat oletusarvoisesti Elisan NAT-serverin takana ja siten käyttämättömissä. Tilaamalla OmaElisa:sta liittymän kohdasta 'lisäpalvelut' julkisen muuttuvan IP:n on tämän puheohjelman käyttö mahdollista. Modeemi saa silloin lisäpalvelulla internetiin näkyvän julkisen dynaamisen IP:n. Lisäpalvelu on maksuton ja sen voi perua niin halutessaan.
Modeemin asetuksiin on myös muutettava APN:ksi "internet4", jos oletusarvo on "internet".


Special thanks to my testing team T.K.

Programmed 1/2021 - 2/2021 by P.U. Finland. This program is free to use and free to distribute.

Page last modified 9.2.2021