siproc

A primitive SIP client that spawns processes for each call
git clone git://xatko.vsos.ethz.ch/siproc.git
Log | Files | Refs | README | LICENSE

commit c57a67d5561da27f7e4fe1d07e92aef6651db4d4
parent 8e71b5f6e89019d391abc5b7e6c88b975a6d2906
Author: Dominik Schmidt <dominik@schm1dt.ch>
Date:   Sat, 16 Nov 2019 23:28:44 +0100

Reformat README.md

Diffstat:
MREADME.md | 43+++++++++++++++++++++++++++----------------
1 file changed, 27 insertions(+), 16 deletions(-)

diff --git a/README.md b/README.md @@ -1,30 +1,37 @@ siproc ====== -siproc is a primitive SIP Client used for call automatization by spawning a given process for each call. -These processes can then control the call via standard output and receive events via standard input. -siproc uses the [pjsip](http://www.pjsip.org/) library as a backend. +siproc is a primitive SIP Client used for call automatization by +spawning a given process for each call. These processes can then +control the call via standard output and receive events via standard +input. siproc uses the [pjsip](http://www.pjsip.org/) library as a +backend. -See the man-page siproc(1) for usage details. -There are some illustrative examples in the examples/-directory as well. +See the man-page siproc(1) for usage details. There are some +illustrative examples in the examples/-directory as well. Application Examples -------------------- -The software can be used to spam filter calls based on their phone number or SIP URI. -Consider a program `./filter` that executes its command line arguments if and only if it deems the caller to be spam. -The chained executable can then pick up the phone, play a message and hang up again. +The software can be used to spam filter calls based on their phone +number or SIP URI. Consider a program `./filter` that executes its +command line arguments if and only if it deems the caller to be spam. +The chained executable can then pick up the phone, play a message and +hang up again. Compatibility ------------- -siproc is compatible to Linux only, since it relies on epoll for polling subprocess activity. -It should be straight forward to make it cross-platform using [libev](http://software.schmorp.de/pkg/libev.html) or similar. +siproc is compatible to Linux only, since it relies on epoll for +polling subprocess activity. It should be straight forward to make it +cross-platform using [libev](http://software.schmorp.de/pkg/libev.html) +or similar. Building -------- -First, install the pjsip-library, which goes by many names in different distributions: +First, install the pjsip-library, which goes by many names in different +distributions: apt-get install libpjproject-dev @@ -42,15 +49,19 @@ To-Do ----- * [ ] Expose more of pjsips features to the process! -* [ ] Accomodate alsa virtual microphones with `snd_pcm_file_open()` without touching asoundrcs - If this can be accomplished without modifying pjsip, it must be done via making alsa report `"file:'blafoo.wav'"` - in a call to `snd_device_name_hint(-1, "pcm", ...)`, and calling `pjmedia_aud_dev_refresh()`, after which the file - should become available via `AudioDevManager` +* [ ] Accomodate alsa virtual microphones with `snd_pcm_file_open()` + without touching asoundrcs. If this can be accomplished without + modifying pjsip, it must be done via making alsa report + `"file:'blafoo.wav'"` in a call to `snd_device_name_hint(-1, "pcm", ...)`, + and calling `pjmedia_aud_dev_refresh()`, after which the file should + become available via `AudioDevManager` * Make siproc report errors to the child processes Contributing ------------ -Drop me an E-Mail at dominik@schm1dt.ch and if you have patches, either send them as attachments or use the well-established git send-email method: +Drop me an E-Mail at dominik@schm1dt.ch and if you have patches, either +send them as attachments or use the well-established git send-email +method: git send-email origin/master..master --to dominik@schm1dt.ch