[go: up one dir, main page]

Menu

ViaVoip / Blog: Recent posts

1.5 – 64-bit Support and Library Upgrade

After almost 10 years since the last release, I’ve rebuilt the Linux and Android codebase using a newer SDK and Opus, so it now runs on the latest Android devices and 64-bit Linux PCs. No changes have been made for other operating systems.

Posted by UTillyty 2025-10-31

1.4 Public list + Extended UDP multiple hole punching

Changes since version 1.3:

  • New Public list:
    As an extra option, upon 'Receiver' activation it's possible to share network data
    (including an arbitrary 'Nickname') on a temporary 'Public list'
    peers can select from to place calls without having to exchange IP and port numbers.
    Data are deleted by toggling the option off or closing the 'Receiver',
    however after 60 seconds since the last keep-alive packet ('TP' interval configurable),
    will automatically expire.
  • New Extended UDP multiple hole punching:
    with a "temporized scan" trick 'Port scanning' proved to succeed in punching even more recent (4G, LTE, etc)
    carrier grade symmetric NAT routers (a value from 4 to 8 should suffice).
    Relying on the 'Public list', now the 'Receiver' can also get 'UDP connection' incoming calls.
  • New STUN XOR-MAPPED-ADDRESS
    added XOR-MAPPED-ADDRESS implementation to extend the choice also to all servers that do not
    support clear MAPPED-ADDRESS
  • New STUN ping rate:
    adjustable STUN autorefresh timer interval (was 'STUN keep-alive', with fixed timer)
  • New Audio threshold:
    • input: set the minimum level at which send data (save bandwidth when not speaking
      and reduce lag)
    • output: set the maximum level at which not truncate audio (save your eardrums especially
      if strange packets come in)
  • New Android Proximity Sensor (where supported):
    During a phone call, automatically turn off the touchscreen when the handset
    is being held close to a user's face, as in usual telephony calls.
  • log rotation file log:
    up to 3 16KB backup file logs are stored in the application (data) directory
    and transparently loaded as you switch to 'Log' view.
  • delayed history load:
    load history records only after the history tab is selected for the first time, to speed up app start
    (NB: deleting useless history records now and then is strongly suggested);
  • UI improvements & BUG fixing:
    • extended connection chances through the use of both public and local
      endpoint probing, either by TCP and UDP (when using 'Public list');
      this probed useful with mobile networks in particular
    • check audio packet source:
      discard audio packed if source addr/port are different from expected
      (occasionally, on mobile networks, the audio connection may receive strange data
      that if delivered to the audio device caused an annoying noise)
    • UDP punching timeout:
      autodisconnect if not receiving keep-alive request for 20 seconds
      on the communication channel
    • keep android wakelock if STUN still active
    • log panel notification icon
    • copy local address button
    • Slider Popup window to facilitate Dial adjustments (volume, thresholds)
      especially on small system (i.e. smartphones)
    • save net and audio settings after good connection/activation
    • columns autoresize in tables around
    • wait animation while querying stunlist on settingsdialog
    • added missing disabled border style (qt5 android)
    • purged STUN list from faulty hosts
    • refactored settings interface
    • for better linux portability linked statically to libstdc++
    • handle chat/audio sockets conflicts when scanning audio port
    • fixed unrecoverable query state on invalid STUN header
    • fixed STUN client not rejecting data from wrong host (sticky peer still sending data)
    • fixed communication error "read error:unknown data type" on audio negotiation
    • fixed misleading buffer log on communication 'read error'
    • etc etc etc...
Posted by UTillyty 2016-09-03

1.3 The "Cronoacchianata edition"

  • New "walkie-talkie" mode ("<broadcast>")
    NOTABENE:
    • only works in Local Area Networks;
    • no audio negotiation is carried out;
    • automatically reconnect on network error;
    </broadcast>
  • new P2T activation beep;
  • new send "trill" function ("Chat" panel);
  • enhanced three-state P2T (push-to-talk):
    if state = "partially-checked" (blue check-mark) mute audio-output when talking
    (reduce echoes, only implemented if QT>=5, i.e. just on Android for now)
  • enanched UDP hole punching:
    with some dirty port scanning ("Port range" field) can eventually punch even
    a misbehaving mobile-network router!
  • fixed some audio issues (wake up idle audio-input upon push-to-talk,
    auto restart audio-output when stopped on error);
  • various UI improvements/corrections:
    (better connection management through "Line" panel,
    moved "Log" view to a new specific panel,
    added easy reachable large P2T button in "Audio" panel,
    new refresh button for service local ip,
    new copy button for service local address data,
    new clear-log and clear-chat buttons,
    save both UDP ports in history if UDP hole punching on,
    handle android back button with moveTaskToBack,
    async DNS queries, STUN keep-alive, etc etc etc).
Posted by UTillyty 2016-02-07

Version 1.2 Android Wake Lock

I finally managed to get android wake lock working using the android JNI...
I also signed the package, thus you need to uninstall previous versions befor installing this.
NB: version 1.2 is just an "intermediate" Android only release; I will soon publish version 1.3 for all systems

  • Android Wake Lock (now can also work in the background)!
  • Android apk signature (uninstall-reinstall v1.1- needed)
  • slightly bigger buttons (on Android: based on screen width)
  • Log level setting
  • lowered hung-up.wav pitch as many asked :)
  • bug fixing (invert color default settings on OSX, socket errors, etc)
Posted by UTillyty 2016-01-21

Version 1.1 released: UDP hole punching works!

This version brings some major improvements besides a few minor bug fixes.
With the addition of UDP hole punching connection method, now it is also possible to connect
without configuring any router at all!
As for Android, the scree-lock (keep-alive) issue has finally been resolved.

Main changes since version 1.0:

  • UDP punching: with this popular technique no router configuration is neaded on both sides to connect;
  • STUN client: a well-established method to discover your public UDP port numbers;
  • copy/paste full end-point data [IP:port1] (will be auto splitted in text fields);
  • Android Screen Lock: keeps screen on avoiding app going idle;
  • bug fix: play-tones settings dind't save.... read more
Posted by UTillyty 2015-09-29

1.0 is out eventually

The first full functional beta release is out!

Please read the release info at: -> http://lnx.utillyty.eu/viavoip/release.htm

UPDATE
2015-05-10: uploaded viavoip-osx-1.0 (x86_64 Mac OS 10.9.4)
2015-05-11: uploaded viavoip-osx-i386-1.0 (i386 Mac OS 10.4.11)

Posted by UTillyty 2015-05-09

0.9 Android version works, at last

Version 0.9 introduces many new features/improvement, but maybe the best news is that has been succesfully tested on Android, both with wi-fi and mobile network connection!

Here you can find a brief list of the updates brought by this version:
http://lnx.utillyty.eu/viavoip/release.htm

UPDATE: last night the first Mac OS X version has been also builded! Available for download in the viavoip-osx folder -> https://sourceforge.net/projects/viavoip/files/

Posted by UTillyty 2015-04-25

v0.8 Welcome Opus

With version 0.8 audio compression has been introduced through opus codec.
Opus is the state of the art in audio streaming compression, and is the codec used by Skype and Mumble among others.

By now it has successfully tested on Windows XP, Vista, 7 and 8.

On the linux side, considering the variety of supported libraries/distributions, I built 2 new versions, one against Qt4 + Alsa, and the other against Qt5 and Pulse Audio.... read more

Posted by UTillyty 2015-04-10

Prototyping almost done. 1.0 soon out

With prototype 0.7 most of the basic functions have been implemented, a few more are behing added in the next (0.8).
While testing has gone very smoothly on Windows, there is still some problem on Linux and Android, so I'm actively working to optimize the voice streaming.
Nevertheless I will publish at most one or two more prototypes, then I'll release version 1.0.
Thanks for your interest, expecially to all friends that are helping me on getting it to work, making conversation till late at night. :)... read more

Posted by UTillyty 2015-03-27