Signal Bridge
This guide explains how to use the Signal bridge from the EMS Integration Manager to integrate your Signal chats with your EMS server.
It requires your EMS server to have federation on.
The following instructions are done with the Element Desktop on the Element side and on Element iOS for the Signal side. Element Android should be almost identical to Element Web.
Purchase the Signal integration
-
Open the EMS control panel at: https://ems.element.io/user/hosting
Click theIntegrations
tab and if you have more than one server, select the server you wish to add the Signal integration to
-
Enter the maximum number of users in
Maximum Signal users
.
Please note: this is the maximum number of Signal users who actually send messages over the bridge each month. You are only billed for the number of Signal users who are active. Once you exceed the maximum, then the bridge will be disabled until you increase the maximum.
If you enter less than5
, you will get a warning
If you enter5
or greater inMaximum Signal users
, you will not see a warning
Once you have enteredMaximum Signal users
, clickPurchase
(remember you can always go back to this step and increase the maximum number of Signal users if you need more in the future). -
A dialogue will remind you of the price per user and ask if you wish to proceed. Click
Purchase
if you wish to proceed with the Signal Integration
-
You will have to wait a few minutes while your host is reprovisioned with the Signal bridge. Once reprovisioning is finished, you are able to bridge Signal to your EMS server using your Element client.
Bridge Signal to your Element account
-
Once the bridge is running, open your Element app. Click on the
+
next toPeople
-
Create a Direct Message conversation by typing
@signalbot:example.ems.host
(replace the domain with the one of your homeserver). Then clickGo
-
The bridge account will join your room and tell you how to use it
-
Open Signal on your mobile device (iOS or Android) and tap on your avatar to go to
Settings
and thenLinked Devices
and thenLink New Device
to start the Signal QR code scanner. You will use this QR code scanner to scan a QR code displayed by your Element client in the next step
-
From your Element client, send a
link
message to the bot to connect to your Signal account
-
A QR code will be displayed. Quickly scan the QR code with Signal on your mobile device. You have about a minute before it times out. If it times out, just send the
link
message again to generate another QR code
-
On your Element client, you will see
Successfully logged in as <your_phone_number>
e.g.Successfully logged in as +1 555-555-5555
and you will see invitations for each of your Signal chats in your Element client. Each Signal chat is a separate Matrix room. Join one or more chats and start chatting from either your Element app on desktop, iOS or Android or your Signal on mobile.
Sending a message to a Signal User
To send a message to a Signal user, you must first be connected to the bridge (see above).
- On your Element client, open the "Signal bridge bot" room.
- Say
pm
followed by the phone number for your contact. - You will be invited to a DM with that user, and can send messages to them.
Why do Signal user names show up as phone numbers?
Some signal users may appear as a phone number rather than their real name. This can because of one of the following reasons:
- The user has not spoken to you on Signal yet, and so has not sent their profile information.
- The user has not added you as a contact on their phone.
- The Signal bridge has not yet synchronized the profile information of the user from Signal (this should happen fairly soon after your first interaction).
EMS does not support the bridge as a primary device and the register
command is not supported
The EMS Signal Bridge is implemented as a secondary device bridge in order to prevent Signal from ratelimiting the bridge. This means that
the register
command is not supported and you still need Signal installed on your iOS or Android device.