Setup an Android SMS Gateway

A very popular option that works in any location is to set up an Android Gateway using systems like Telerivet and a local SIM and Android device. This is our recommended approach to setting up a gateway for CommCare.

Overview

You can setup your own Android SMS gateway with Telerivet, and integrate it with CommCare.  An Android SMS gateway will use an Android phone and its SIM card to send and receive messages for CommCareHQ.

Below are instructions on how to set this up.

Set-up Steps

Below is some guidance for managing yoru Telerivet gateway. Please also visit the Telerivet User Guide, the Telerivet Gateway App instructions, and the FAQs.

What You’ll Need

You should only consider setting up a Telerivet Android gateway if you have all of the necessary materials.

  1. You have an Android phone that you will be using exclusively for this purpose.

  2. The phone will always be on, chared, and connected to WiFI

  3. The phone has an active sim card to default to if the Wifi cuts out

  4. You will monitor the phone's balance and ensure it always has enough credit to send and receive SMS. Your phone will be charged according to your plan for sending and receiving SMS.

See the Telerivet FAQ which has important information, including which phones are recommended to be used: Frequently Asked Questions

Set Up A Telerivet Account

When creating your Telerivet account, check to see where your project falls under Telerivet's pricing. It is important to set up the right pricing structure before your project goes live. For example, it's important to ensure that the number of contacts you will be sending to falls within the limit allowed on the account.  

If you want to set your Telerivet pricing to a non-free plan, make sure that when you use your credit card to add funds to "Select a plan" that you want to use. 

Set Up A CommCare Account

Once you have a phone and set up that meets this criteria, log into CommCare

  • Navigate to Messaging -> SMS Connectivity in your project space.

  • At the bottom of this page, click "Add Another Gateway". 

  • CommCareHQ will then walk you through the steps to setup a Telerivet SMS gateway and connect it to your CommCareHQ project for sending and receiving SMS

Managing Your Telerivet Gateway

Setting up Back-up Connectivity

By default, Android phones won't automatically switch from Wi-Fi to mobile data if the phone is connected to the Wi-Fi network but the Wi-Fi network isn't connected to the internet. The Telerivet Android app lets you override that. From the Phone Settings screen in the Telerivet Android app, scroll to the bottom and enable "Network failover". Then Telerivet will automatically switch the phone from Wi-Fi to mobile data if it can't connect to telerivet's servers via Wi-Fi.  This may use more airtime but will result in a more reliable connection.

Managing Stored Message Volume

It's important to be aware of the maximum number of stored messages that your Telerivet plan allows. For example, the Test Telerivet plan only allows 500 messages to be stored in the account, so after sending and receiving 500 messages total, the account will stop sending new messages until old messages are deleted.  To have your Telerivet account automatically delete old messages, you can update the "Message Retention" setting for your Telerivet project (Dashboard -> Edit Settings).

If you have a large project, it is likely that your Telerivet gateway phone will eventually hit a memory capacity from storing all incoming and outgoing messages. To avoid this, you'll want to change the settings on Telerivet's website. Log into Telerivet, click "Phones" on the left side panel, select the phone that you are using, click "Edit Settings" on the top right, and click the following question from "Yes" to "No." 

Managing Messaging Speed & Rates

You can read more here about Telerivet's limits here.

If there are problems with CommCareHQ and messages can't be sent from the gateway to CommCareHQ immediately, Telerivet will retry failed webhooks periodically for up to a day.

Notifications

You can setup email notifications when a phone gets disconnected or has errors by adjusting the settings for the phone on telerivet.com. Read more here.

You can request a message delivery report from Telerivet, meaning Telerivet will notify CommCare once a message has been delivered to its intended recipient(s). CommCare will then update the respective message logs accordingly with a "Delivered" status. This is useful when you need to know which or whether recipients have received the message. To enable this, sign in on telerivet.com → click Routes → Select the appropriate route → click Edit Settings → make sure the checkbox under "Delivery Reports" is checked.

(Optional) - Share Your Telerivet Gateway with Another Project

If you have already set up your Telerivet gateway on CommCareHQ, you may want to share it with another project. To do this: 

  1. Log into your original project space in CommCareHQ, and navigate to Messaging -> SMS Connectivity. 

  2. Select your pre-existing Telerivet Gatway and click  .

  3. Under "General Settings," check the box that says "Give other domains access." In the next question, type out the name of the project. 

  4. In the new project, make sure that you click "Set As Default" for the shared Telerivet gateway (example below called cc-messaging-test)