https://github.com/ecelis/sck
Command Line SIP phone based on pjsip
https://github.com/ecelis/sck
python showcase sip voip
Last synced: 8 months ago
JSON representation
Command Line SIP phone based on pjsip
- Host: GitHub
- URL: https://github.com/ecelis/sck
- Owner: ecelis
- License: gpl-3.0
- Created: 2014-06-03T06:36:59.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2023-08-20T16:30:33.000Z (almost 3 years ago)
- Last Synced: 2025-08-20T08:42:42.230Z (10 months ago)
- Topics: python, showcase, sip, voip
- Language: Python
- Homepage:
- Size: 85.3 MB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Simple Communications Kit
Is a command line SIP client written in Python.
Built on top of [PJSIP](https://www.pjsip.org/) library, SCK was designed to
enable VoIP for a system of _panic buttons_ deployed across
town. Valk Technologies was the first sponsor of this project, as the company required a
command line SIP client to run in Linux
systems for PC and embedded SoCs (Cubieboard 2 and Cubietruck).
Copyright 2013 - 2023 Ernesto Celis, this software is released under the
terms of the GNU Public License version 3
SCK relies on third party software libraries which may be released
under different license terms, read the COPYNG file to get more info.
## Features
* Auto-answer
* Fixed set of extension numbers to dial
* One key press speed dial
* Logs to system's log
* Command line only
* Plain text config file
## Install
The only thing that needs to be installed is the pjsua python module, as
it is not available as a binary package in none of the two GNU/Linux
distributions I'm working on, I've included a copy of pjproject
version 2.4.5
### Dependencies
Audio dependencies
* alsa
* openssl
Video dependencies (optional if you don't need video support)
* v4l2
* SDL (version 2)
* libyub (optional when using ffmpeg)
* OpenH264 (optional when using ffmpeg)
* FFMpeg
* libx264
* libz
### Ubuntu 22.04 LTS
#### Dependencies
```bash
sudo apt update
sudo apt install build-essential python3-dev python3-venv swig \
libssl3 libssl-dev ffmpeg libv4l-dev libv4l-0 \
alsa-base alsa-oss libyuv0 libyuv-dev libsdl2-2.0-0 libsdl2-dev \
libx264-163 libx264-dev
```
#### Build
```bash
./build.sh
```
### Manual build
Audio only (no video support)
cd third_party/pjproject-2.4.5
./configure --disable-video --disable-ffmpeg --disable-v4l2
CFLAGS="-fPIC" CXXFLAGS="-fPIC" make dep
CFLAGS="-fPIC" CXXFLAGS="-fPIC" make
cd pjsip-apps/src/python
python setup.py install
With video support
cd third_party/pjproject-2.4.5
./configure
CFLAGS="-fPIC" CXXFLAGS="-fPIC" make dep
CFLAGS="-fPIC" CXXFLAGS="-fPIC" make
cd pjsip-apps/src/python python setup.py install
### Configure
Copy the file `sck/ve-phone/config.ini.orig` either to `~/config.ini` or
`~/settings/config.ini` or `sck/ve-phone/config.ini`
Edit the file filling in your PBX username and password, speed dial
extension numbers and audio settings for your sound card if needed
### Run
cd sck/ve-phone
python vephone.py