sms-over-xmpp is an XMPP component (XEP-0114) that acts as a gateway between an XMPP (aka Jabber) network and the SMS network. It allows you to send and receive SMS messages as if they were XMPP messages, using your favorite XMPP client.
You send an XMPP message and your friend receives an SMS. When they send you an SMS, you receive an XMPP message.
sms-over-xmpp can send and receive MMS messages containing images.
To send MMS, your XMPP client/server must support:
To receive MMS, your XMPP client must support:
If your client does not support XEP-0066, then incoming MMS will contain a URL to the media file.
sms-over-xmpp can optionally synchronize a CardDAV address book with your XMPP roster. Any contact in your address book with a mobile phone number is added to your XMPP roster with the necessary address to send them an SMS. When a contact is deleted, it is also deleted from your roster.
The synchronization is one-way: changes made to your XMPP roster aren't propagated to your address book, and may be reverted.
Your XMPP server must support XEP-0321. For Prosody, you can use mod_remote_roster. (Make sure you use a version which incorporates this commit.)
If you have the latest version of Go installed, you can run:
go install src.agwa.name/sms-over-xmpp/cmd/sms-over-xmpp@latest
Or, you can download a binary from the GitHub Releases Page.
sms-over-xmpp is a single statically-linked binary so using Docker or a similar technology is superfluous.
See the Config Reference.
sms-over-xmpp has been tested with the following configuration: