- VENV erzeugen und aktivieren
sudo apt install python3.11 python3.11-venv python3.11-dev
python3.11 -m venv sipvenv
source sipvenv/bin/activate
- swig installieren
sudo apt install swig libasound2-dev libssl-dev libv4l-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libx264-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libavutil-dev libavcodec-extra libopus-dev libopencore-amrwb-dev libopencore-amrnb-dev libvo-amrwbenc-dev subversion libsrtp2-dev
- PJSIP repo klonen
git clone https://github.com/pjsip/pjproject.git
- PJSIP konfigurieren
cd pjproject
export CFLAGS="$CFLAGS -fPIC"
./configure --enable-shared --with-external-srtp --enable-ext-sound
- File config_site.h öffnen
nano pjlib/include/pj/config_site.h
- diese Zeilen einfügen:
#include "config_site_sample.h"
#define PJ_HAS_TCP 1- PJSIP und PJSUA2 wrapper builden (im Ordner
pjproject)
make dep && make
sudo make install
cd pjsip-apps/src/swig/python
make
make install
- python package im Virtualenv (ohne SUDO in venv!) installieren mit folgendem Kommando:
python setup.py install
- Library path anpassen:
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/pjsip.conf
sudo ldconfig
- Installation verifizieren:
python
>>> import pjsua2
sudo apt install jackd2
jack_control startin .vscode/settings.json folgende Zeilen einfügen:
{
"python.analysis.extraPaths": [
"./Server/pjproject/pjsip-apps/src/swig/python"
]
}