Minimalist Win/macOS/Linux SIP softphone with HTTP API control.
Find a file
kinshuk.bairagi 86f8b40078
http_get support winproxy
Mannul Proxy config support only. No bypass support
2020-01-09 23:43:39 +05:30
bin AutoVersion 2019-01-03 18:22:57 +05:30
distribution/docker rename build to dist/docker 2019-11-19 17:18:09 +05:30
lib Release v36.0.0.73 2019-12-06 16:46:26 +05:30
microsip mv src -> microsip 2018-11-21 15:32:29 +05:30
tinyphone http_get support winproxy 2020-01-09 23:43:39 +05:30
tinyphone-installer docker build v1 2019-11-13 18:36:22 +05:30
.gitignore Update .gitignore 2019-11-19 17:21:11 +05:30
.gitmodules update portaudio repo 2019-11-13 10:24:09 +05:30
config.json metrics host config 2019-06-13 15:33:40 +05:30
LICENSE Create LICENSE 2018-12-21 02:04:43 +05:30
README.md Update README.md 2019-11-19 17:31:17 +05:30

tinyphone

Minimalist Softphone based on PJSIP with API Control

Getting Started

Checkout the repo and follow the building process to compile your own, or just download the latest version from the releases page.

Pre Requsite

You must have boost libraries installed on your system. Incase you don't have you can either download the sources and build it, or install a precompiled binaries from here.

Manual Compiling

git checkout https://github.com/voiceip/tinyphone.git
cd tinyphone
git submodule update --init --recursive
#open lib/pjproject/pjproject-vs14.sln in visual studio 2015 and compile it
#open tinyphone/tinyphone.sln in visual studio 2015 and compile it (you will need to compile the dependencies in lib/* folder)
run tinyphone/Debug/tinyphone.exe

APIs

The softphone exposes the following resources on port 6060.

Resource Method Description
/ GET Returns hello world
/login POST Account login with the provided details AccountConfig
/logout POST Logout of all accounts
/accounts GET Returns list of registed accounts
/accounts/{account_name}/logout GET Logout of account with provided account_name
/dial POST Dial a call with provided sip-uri
/calls GET Returns list of active calls
/calls/{call_id}/dtmf/{digits} POST Send dtmf digits digits to call with specified call_id
/calls/{call_id}/hold PUT Hold call with specified call_id
/calls/{call_id}/hold DELETE UnHold call with specified call_id
/calls/{call_id}/hangup POST hangup call with specified call_id
/hangup_all POST Hangup all calls
/exit POST Exit the application

Request Payloads

Account Config

{
  "username": "string" ,
  "password" : "string",
  "domain" : "string",
  "proxy" : "optional-string*"
}

* optional fields : Fields should exist only with valid value.

Issues & Contribution

Found a issue and have a solution? Go ahead and create a pull request :) Incase you don't have a immediate solution but have an replicable issue please create an Issue with the details so that we can have a look at it.