Category Archives: Ubuntu

My first attempt to make a video call with PJSIP

Added video codecs to pjsip.conf:

allow=h263p
allow=h263
allow=h264
allow=vp8

see full PJSIP configuration on GitHub.

core show channeltypes
Type             Description                              Devicestate   Presencestate Indications   Transfer
-------------    -------------                            ------------- ------------- ------------- -------------
Recorder         Bridge Media Recording Channel Driver    no            no            yes           no
Announcer        Bridge Media Announcing Channel Driver   no            no            yes           no
USTM             UNISTIM Channel Driver                   no            no            yes           no
CBAnn            Conference Bridge Announcing Channel     no            no            yes           no
CBRec            Conference Bridge Recording Channel      no            no            no            no
PJSIP            PJSIP Channel Driver                     yes           no            yes           yes
AudioSocket      AudioSocket Channel Driver               no            no            no            no
UnicastRTP       Unicast RTP Media Channel Driver         no            no            no            no
MulticastRTP     Multicast RTP Paging Channel Driver      no            no            no            no
IAX2             Inter Asterisk eXchange Driver (Ver 2)   yes           no            yes           yes
Local            Local Proxy Channel Driver               yes           no            yes           no
Surrogate        Surrogate channel used to pull channel f no            no            no            no
----------
12 channel drivers registered.
(more…)

Further investigation of Asterisk logs

Clients A and B are in Windows Sandboxes behind a router in a local network.

Client A:

   Connection-specific DNS Suffix  . : mshome.net
   Link-local IPv6 Address . . . . . : fe80::db7a:bb9e:748a:f5a9%205
   IPv4 Address. . . . . . . . . . . : 172.28.33.149
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 172.28.32.1

Client B:

   Connection-specific DNS Suffix . : mshome.net
   Link-local IPv6 Address . . . . . : fe80::d607:36fe:46b0:b7dc%205
   IPv4 Address. . . . . . . . . . . : 172.24.106.63
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 172.24.96.1
(more…)

Investigating Asterisk logs

Client C successfully call client A, but a call in the reverse direction fails. Client B successfully calls client A. See my previous post for my Asterisk configuration and clients.

IP addresses

IP address of client C is 176.15.165.103 and external IP address of client A is 91.122.37.167. Server IP address is 172.236.29.157.

172.28.33.149 is the local IP address of client A in Windows Sandbox (which external IP address is 91.122.37.167):

C:\Users\WDAGUtilityAccount>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : mshome.net
   Link-local IPv6 Address . . . . . : fe80::db7a:bb9e:748a:f5a9%205
   IPv4 Address. . . . . . . . . . . : 172.28.33.149
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 172.28.32.1
(more…)

Further experimentations with PJSIP

I have two clients in Sandboxes on Windows 10 machines in a local network behind a router. First client is Linphone (client A) and second client is ZoiPer (client B), so the clients A and B are behind NAT. Also I have Linphone (client C), ZipPer (client D) and PortSIP (client F) on my Android mobile phone connected to the internet over 4G (so there is no NAT). The server is in the Docker container with default network configuration with all the ports mapped to the host.

My Asterisk configuration:

rtp.conf:

[general]
rtpstart=10000
rtpend=10099
(more…)

Connecting two phones to Asterisk with PJSIP

I was able to connect to Asterisk running in a Docker container using Linphone app:

(more…)

Running Asterisk 22 in a Docker container

I build and run Asterisk 22 in a Docker container on my Ubuntu 24.04 and it started to use 100% CPU and within a few hours consumed 100% of the disk space:

(more…)

Preventing OpenVPN clients from seeing each other

Listing existing rules

sudo docker exec -it dockovpn_dockovpn_1 bash
iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             state NEW,ESTABLISHED udp dpt:openvpn
ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  10.8.0.0/24          anywhere
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere             state ESTABLISHED udp spt:openvpn
ACCEPT     all  --  anywhere             anywhere
(more…)

Running VPN Server with Access Server in a Docker container

Run the docker container:

sudo docker pull openvpn/openvpn-as
sudo ufw allow 1194/udp
sudo ufw allow 943/tcp
sudo ufw allow 1443/tcp

sudo docker run -d --rm \
  --name=openvpn-as --device /dev/net/tun \
  --cap-add=MKNOD --cap-add=NET_ADMIN \
  -p 943:943 -p 1443:443 -p 1194:1194/udp \
  -v /var/lib/openvpn-as:/openvpn \
  openvpn/openvpn-as

sudo docker logs -f openvpn-as | grep "generated pass"
Auto-generated pass = "*********". Setting in db...
(more…)

Migrating my Postfix configuration from Ubuntu 16.04 to Ubuntu 24.04

I am not sure if I selected a right configuration, probably “No configuration” is better:

(more…)

Configuring the access to GitHub with SSH

ssh-keygen -t ed25519 -C "winappdev@gmail.com"
# /home/dmitriano/.ssh/id_rsa_github
# and empty passphrase
nano .ssh/config
Host github.com
 HostName github.com
 IdentityFile ~/.ssh/id_rsa_github
stat -c %a ~/.ssh/config
chmod 600 ~/.ssh/config
(more…)