These 2 containers: asterisk-vowifi and pcscd together implement a two-directional SMS- and call-capable VoWiFi-SIP gateway
Based on an excellent work by VoWiFI work by jolly and a few of my patches
WARNING: This isn't production quality and is meant for evaluation only. No warranty or guarantee of any kind. Use at your own risk. I'm not responsible for missed calls, messages, voicemails and so on, any other possible damages and consequences thereof.
Not suitable for emergency calls.
Not suitable as a replacement for a phone system.
License: MIT
-
Create a
logsdirectory nearasterisk-dockerfolder. It will contain call and message logs -
Copy
config/exampleconfigs toconfig/1and modify themReplace With How to obtain 262011503723016Your IMSI From the SIM card using pysim-read.pymnc001.mcc262Your MNC and MCC. First digits of IMSI. Note the reverse order geheimA new manager password Generate randomly telegram_tokenBot token Follow tutorial TELEGRAM_ADDRESSTelegram destination YOUR_MSISDNYour phone number 2a01:598:408:3003::11Correct P-CSCF address Start without it and find a log line [CFG] received P-CSCF server IP 2a01:598:408:3003::11YOUR_SMSCCorrect SMSC number From SIM card using pysim-read.pywith a patchSIP_PASSWORDA newly generated password to access SIP endpoint Generate randomly YOUR_DOMAINAn externally-reachable DNS address for your server Register a (D)DNS domain and point it to the right IP -
Supply valid
config/1/etc/asterisk/certificate.crtandconfig/1/etc/asterisk/certificate.keyfor your domain -
If you're using SELinux, install semodules by running
./semodules_install.sh -
If you're using user namespaces, change UID in
80-ccid.rulesand install it to/etc/udev/rules.d/80-ccid.rules -
Start the container by running
docker-compose up -din this directory
You can run several instances. For this copy directory config/example to config/2, config/3, ... configure each one according to Usage section, copy section in compose.yaml and additionally:
- In
epdg.confchangelocal_addrsto new internal domain name - Change rtp ports in
rtp.confandcompose.yaml - Change IMEI in
pjsip.conf - Change sip-tls port in
pjsip.confandcompose.yaml - Change
volumessubsection incompose.yamlto point to a new directory.
- Now
pcscd,dbus-daemon,polkitd,strongswan,ami_usimandasteriskrun as root-in-container. Check if we can decrease their privileges to user-in-container - Switch from custom telegram notification to something like Apprise