I'm looking for a way to do voice chatting over my LAN without an Internet connection. The two machines both run Linux (they are Raspberry Pis, with the latest Raspbian Stretch Lite installed).

Programs like Skype won't do the job, because they require an Internet connection and only run with a GUI. TeamSpeak would probably run without an Internet connection, but I don't think that there is a way to start it without a desktop environment.

Do you know a program that would meet these requirements? Preferably an open source solution?

  • You don't need to install any software to do that, if you never have more than 2 chatting stations. You can just redirect audio over the network. Do you use those stations for playing music? if so, then you can have a requirement to use only the mic channel (if stopping the music is not an option).
    – flavio
    Sep 18, 2017 at 1:22
  • And how do I redirect audio over the network? The stations are used for Skype-like communication. Not for music.
    – Forivin
    Sep 18, 2017 at 8:19
  • Sorry for the delay. The accepted answer is simpler and more convenient than what I suggest, but i will post it anyway soon.
    – flavio
    Sep 21, 2017 at 2:10
  • It's already answered at unix.stackexchange.com/questions/116919/… Its worth if you need a permanent connection or something like that; otherwise, a software is more convenient (but not necessary).
    – flavio
    Sep 21, 2017 at 2:45

3 Answers 3


Mumble has CLI clients and its' server, Murmur, is very small.

There is also Barnard, which has a few forks, if main repo turns out to be abandoned.

screenshot of Barnard


Pjsua or baresip. These are "regular" SIP endpoints so they are compatible with other softphones or SIP desk phones. PABX/softswitch is not necessary if you know other peer IP/port.


In the meanwhile I just wrote a simple one myself. I called it tvoip.

It's free and open source. I made it available on Github: tvoip

Usage: node index.js [options]


    -V, --version                   output the version number
    -c, --connect <host:port>       Connect to a host, (Supports IP:port and hostname:port.)
    -l, --listen <port>             Automatically accept connections on this port.
    -i, --input [device-name]       Input device, (Leave empty to use the default recording device.)
    -o, --output [device-name]      Output device, (Leave empty to use the default playback device.)
    -a, --mic-channels <count>      Number of channels 1=mono; 2=stereo (Leave empty to use 1.)
    -b, --speaker-channels <count>  Number of channels 1=mono; 2=stereo (Leave empty to use 2.)
    -d, --debug <bool>              true to enable debug, false to disable debug. (Leave empty to not use debug.)
    -g, --log <file>                Log to file
    -h, --help                      output usage information


    node index.js --listen 3333 --input hw:0,0 --output hw:1,1
    node index.js --connect --input hw:0,0 --output hw:1,1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.