This is a puppeting bridge for the SMS functionallity provided by voip.ms. It is based on mx-puppet-bridge.
Note that this bridge does not provide SIP or call functionallity and is only for bridging SMS messages. At this time MMS and shortcode SMS are unsupported.
voip.ms is a voice over ip (voip) provider. They provide a REST api to send and receive SMS for users of their platform. Docs for the SMS capability are here.
git pull https://github.com/zoenb/mx-puppet-voipms
yarn install
yarn run build
Next copy the sample.config.yaml
to config.yaml
, edit it and then run node build/index.js -r
to generate a registration file.
Register that one with synapse and start the bridge with node build/index.js
.
First you create a room with the bridge bot (@_voipmspuppet_bot:YOURSERVER.COM
). Next you type link <voip.ms username> <voip ms API password> <your voip ms phone number>
, e.g. link youremail@example.org passw0rd 5551112222
.
It will say that a puppet with a certain ID was created.
You should then be able to receive SMS messages via matrix. Note that currently the bridge does not sync history and only checks for messages received while it is running. There will be a slight delay in receiving SMS as the bot only checks for new messages every 30 seconds. This is a limitation of the platform as voip.ms does not provide a real time API.
To initiate a conversation with a new number, create a direct message to a username with the format @_voipmspuppet_$puppetId_$phonenumber:YOURSERVER.COM
e.g. @_voipmspuppet_1_5551112222:YOURSERVER.COM
. Matrix should then show the user joining the room, at which point sending a message to the room will
send an SMS to the corresponding phone number.
A massive thank you to Sorunome for creating the mx-puppet-bridge library.