- AUR: https://aur.archlinux.org/packages/ktelephone-git/ (special thanks to Scrumplex)
- Other distros: for now, manually compile it
If you prefer to build using Docker instead of use your local machine, just find an available Dockerfile.*
and use it for the commands below (current options are: arch
, debian
and ubuntu20
):
mkdir build
# example: replace `Dockerfile.debian` by `Dockerfile.ubuntu20` if it makes sense
docker build \
-t build \
-f Dockerfile.debian \
.
docker create \
--name build \
build
docker cp build:/usr/src/ktelephone/build/ktelephone ./build/ktelephone
docker cp build:/usr/src/ktelephone/build/data ./build/data
(cd build && ./ktelephone)
You need Qt5
, CMake 2.8.11
or higher and pjproject 2.10
before anything else.
For example, on Ubuntu:
sudo apt install -y git cmake g++ qtbase5-dev qtmultimedia5-dev libasound2-dev
Inspect Dockerfile.*
files for other instructions if you want.
(This set of commands in particular should be runned outside the KTelephone folder, differently than the others.)
# as normal user
git clone https://github.com/pjsip/pjproject.git
cd pjproject
git fetch origin 2.10
git checkout 2.10
./configure --prefix=/usr/lib --enable-static --disable-resample --disable-video --disable-opencore-amr
make dep
make
# as root or with `sudo`
sudo make install
sudo ldconfig
Compile:
mkdir -p ./build
cd ./build
cmake ../
make
To compile for debugging, use:
mkdir -p ./build
cd ./build
cmake -DCMAKE_BUILD_TYPE=Debug ../
make
Executing (if you're still inside build
folder.)
./ktelephone
To run tests, use:
mkdir -p ./build
cd ./build
cmake .. -DENABLE_TESTING=true
make
make test ARGS="-V"
You'll need something like X-Server and Terminator while trying to run the binary.
if you don't have any way to test your calls using a remote provider, you can go for a local telephony platform (FreeSWITCH).
docker-compose -f docker-compose.telephony-platform.yml up
docker-compose -f docker-compose.telephony-platform.yml exec telephony fs_cli
GNU General Public License v3.0: https://github.com/StefanYohansson/ktelephone/blob/master/LICENSE