☎️ A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.). Sends and receives voice and SMS.
A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.)
It's not ready for production use yet, there are still a few things left to iron out.
It's assumed that you have a Matrix server that supports Application Services, which is currently only Synapse, installed and working. You also need a publicly accessible IP address or domain name, ideally with a reverse proxy such as NGINX with SSL support to ensure secure text delivery.
You'll also need an account with whichever provider you want to use.
If you need any help with this, please ask in the Matrix room. I'll try to make this process easier where people get stuck.
First, the bridge code needs to be built. The following commands can be used:
$ yarn # Installs packages
$ yarn build # Builds the bridge
Now, edit the sample config to your liking. Once edited, you need to generate a registration file:
$ node build/index.js -r # Run the bridge with the `-r` option, which generates a reg file
Now, put this file in your homeserver's config directory and edit the HS config
to add this registration. In the case of Synapse, this means adding the file to
the app_service_config_files
variable in the config.
Finally, you can run the bridge with node build/index.js
.
Once the bridge is up and running, you can start a chat with
@_pstn_:myserver.org
, which will create a control room with a new puppet.
Make sure E2EE is disabled when you make the room!
Type help
in this chat to see a list of available commands.
Type link <module name>
to link the bridge. You'll receive instructions.
Once linked, you can use dial <number...>
to start a DM. You cannot invite the
phone number directly to a room, so please use the dial
command.
You can rename phone numbers with the name
command and check you account
balance with the status
command.