This is an example of a minimal yate setup, which registers via an upstream SIP trunk and answers all calls with script.
git clone https://github.com/eventphone/hotline
cd hotline
git submodule update --init --recursive
Update accfile.conf with your SIP Account credentials. If you don't have a SIP Account, you may use an EPVPN Account for testing purposes.
We've currently 4 example hotlines:
- hotline.tcl - the famous PoC Service Hotline as heard on many CCC Events
- corona.tcl - the latest version of the gemeinschaft.online hotline
- ask for zipcode (via DTMF)
- ask for topic (via DTMF)
- send HTTP API Request with caller number, zip code and topic to REST Endpoint
- if anything goes wrong save the request to the filesystem for manual inspection
- corona.py - python version of the gemeinschaft.online hotline
- api.tcl - minimal HTTP API Example, which sends the caller number to an HTTP endpoint and plays success or failed messages
More examples can be found in the yate-tcl repository.
If you want to use custom audio files, place them in the sounds directory
You can use the following sox command to convert your mp3 or wav files to slin:
sox input.mp3 -t raw -r 8000 -c 1 output.slin
You may need to install the sox format handler:
apt install libsox-fmt-mp3
Update regexroute.conf to point to your custom hotline script. You can also route to different scripts depending on the caller or dialed number. Details can be found in the Yate WIKI.
docker build -t your_fancy_hotline .
docker run -it your_fancy_hotline
If you need any additional help, you may contact us via our support.