README.md 1.51 KB
Newer Older
Gabriel Margiani's avatar
readme  
Gabriel Margiani committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
3phone
======

3phone is a simple command line sip phone for linux based on pjsip.

3phone uses a client-server model, so it can be quit easy integrated into a
(keyboard driven) desktop environment. It is mend as real-phone-replacement, and
doesn't support much of the functionality one takes for granted with other softphones.

Setup
-----

Install the pjproject libs. At the moment boost/algorithms/string.hpp is needed too.

then 

`make`

and put `3phone` somewhere in your path.

run `3phone s` once to generate the default config file in `~/.3phonerc` and adjust it to your needs.

you need an mono wav file as ringtone.

The format of the phone book file is as follows, one contact per line:

`Name > Number > optionalSlug`

The slug can be used a shortcut to the contact and identify current calls. Try to make all columns unique.

You can define a callback script to be run on the events specified in call.cpp. If configured, it will be run like `callback.sh event callId remoteNumber`

Usage
-----

First start a server: `3phone s` if everything is set up correctly, it will connect to your sip account.

to make a call, run: `3phone c number` 

to answer an incoming call: `3phone a` if there are more then one incoming call, 3phone will ask you which one to use.

to hangup a call: `3phone h`


Features
--------

* Client-Server model, nonblocking commands to control calls.
* phone book
* event hook
* display/input numbers like in normal phones (no sip urls, so calls from/to different domains may result in chaos!)
* coming...