Skip to content

Instantly share code, notes, and snippets.

@TrueWatcher
Last active October 3, 2026 13:32
Show Gist options
  • Select an option

  • Save TrueWatcher/37087a9a9ea38fc6b949e3efb1fa905b to your computer and use it in GitHub Desktop.

Select an option

Save TrueWatcher/37087a9a9ea38fc6b949e3efb1fa905b to your computer and use it in GitHub Desktop.
Peer-to-peer SIP over Yggdrasil network.: mating baresip with Yggdrasil client.. Transform Yggdrasil IPv6 address to valid SIP URI and use it as Baresip account.

Peer-to-peer SIP over Yggdrasil network. How to

v1.2.0 6 Sep 2025

Android

Yggdrasil

Download and install the client from f-droid.org

Choose 2-3 public peers for your country from the official list, or with helper program. Optionally, resolve their names to IPs with nslookup.

Add your peers to your Yggdrasil client.

Turn the thing on.

There should be green "Connected" sign. You should now be able to open http://howto.ygg.at wuyh yout device's browser.

Copy the Yggdrasil IPv6 address to notebook.

Adjust the app's parameters: Settings - Apps - Yggdrasil -

  • Mobile data - Background data, Unrestricted data usage
  • Battery - Unrestricted

BareSIP

Download and install the softphone from f-droid.org

Adjust Settings:

  • listen address: 0.0.0.0:5060 (already shows up, but that's actually only a hint, retype it!)
  • address family: IPv6
  • do not forget the tick in the upper right corner

Transform your IPv6 adddress into SIP URI: $${\color{black}sip:\color{green}Name\color{black}@[\color{blue}IPv6\color{black}]:5060}$$

in our example: sip:AR_m@[201:b1ac:76f:49a1:a2dc:c962:2adb:59b6]:5060

Add it to Accounts - SIP URI of New, press the orange circle button

Fill in your Nickname and Display Name. Again, remember the tick in the corner.

Format your contacts' IPs similarily: $${\color{black}sip:\color{green}Name\color{black}@[\color{blue}IPv6\color{black}]:5060}$$

and add them to a contact list.

Adjust the app's parameters: Settings - Apps - baresip -

  • Mobile data - Background data, Unrestricted data usage
  • Battery - Unrestricted

Congratulations! Now you own one the most private communication devices in the whole world.

Linux (Ubuntu 24.04)

sudo apt install yggdrasil
sudo yggdrasil -genconf > ./yggo.conf

~/yggo.conf: Add: ---------------

AdminListen: none
Peers: [
    "tls://178.20.41.3:65534",
    "quic://45.142.208.198:9002"
]

sudo ufw enable
sudo ufw allow from any port 5060
which yggdrasil
sudo setcap 'CAP_NET_ADMIN+ep' /usr/bin/yggdrasil
yggdrasil -useconffile ./yggo.conf

Copy the IPv6 address of tun0 to notebook. Try to open http://howto.ygg.at with your usual web browser.

sudo apt install baresip

~/.baresip/config: Add: ------------------

sip_listen		0.0.0.0:5060
module			opus.so
net_interface		tun0

~/.baresip/accounts: Add:

<sip:YourUsername@[_tun0_IPv6_address_]:5060>;regint=0

~/.baresip/contacts: Add:

"Display Name" <sip:Username@[_IPv6_address_]:5060>
"AR mobile" <sip:AR_m@[201:b1ac:76f:49a1:a2dc:c962:2adb:59b6]:5060>
...

baresip.

Baresip for desktop by default uses a console interface like text-screen games of 40 years ago:

  • C - - list contacts
  • < > - select contact
  • D - call the selected contact
  • M - message the selected contact
  • a - accept incoming call
  • Esc - abort call
  • q - quit

Windows

Expected to work in the same way, but has not been tried yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment