Requirements
Setup
Integration
Usage
This project is no longer maintained.
This is a Voice/Video/SMS bridge for Matrix using the Application Services (AS) API.
You will need Java 8 to build and run this bridge.
Setup can either be done via downloading the latest binary,
or by building the binary yourself.
Java JRE 1.8 or higher is required to run the binary.
Java JDK 1.8 or higher is required to build the binary.
- Build the bridge (Optional)
- Configure the bridge
- Run the bridge
- Configure your HS
- Configure your VoIP backend
- See Usage instructions to see how to interact with the bridge
- Start calling!
If you would rather build the binary yourself rather than downloading the compiled one of the latest release:
Checkout the repo:
git clone https://github.com/kamax-matrix/matrix-appservice-voip.git
cd matrix-appservice-voip
Run the following command in the repo base directory. The runnable jar mxasd-voip.jar
will be present in ./build/libs
:
./gradlew build
Copy the default config file application-sample.yaml
in the same directory as the jar file.
The configuration file contains a detailed description for each possible configuration item.
Edit it to suit your environment.
Place the binary into the directory of your choice and run it.
Example using /opt/mxasd-voip
:
cd build/libs/mxasd-voip.jar /opt/mxasd-voip/
/opt/mxasd-voip/mxasd-voip.jar
Like any bridge, a registration file must be generated which will then be added to the HS config.
Currently, there is no mechanism to automatically generate this config file.
You will find a working example at registration-sample.yaml
, which you should copy at the same location as the Bridge configuration file.
Configuration must match the various sections in the bridge config file.
Synapse can then be configured with:
app_service_config_files:
- "/path/to/registration.yaml"
This bridge relies on the Verto module of FreeSWITCH which natively handles WebRTC.
Edit the providers.freeswitch.verto
section in the config file to suit your installation and provide the Websocket URI
and relevant credentials.
See the dedicated HOWTO to quickly get started.
At this time, there is no easy way to invite someone by phone number in Matrix clients. Therefore, you'll need to compute the Matrix ID that correspond to the phone number on your own.
The following step-by-step assumes you:
- Have
example.org
as your Matrix domain - Have a user template with
_voip_%REMOTE_ID%
- Want to place a call to
00123456789
- Manually compute the Matrix ID, which will be
@_voip_00123456789:example.org
- Create a new room/chat and invite that Matrix ID. This room must only have the virtual user and yourself as members.
- Place a call, the device at
00123456789
should ring