Messaging Definitions
General Messaging Terms
- SMS Gateway
a third party service that provides an API for sending and receiving SMS
- Outbound SMS
an SMS that is sent from the SMS Gateway to a contact
- Inbound SMS
an SMS that is sent from a contact to the SMS Gateway
- Mobile Terminating (MT) SMS
an outbound SMS
- Mobile Originating (MO) SMS
an inbound SMS
- Dual Tone Multiple Frequencies (DTMF) tones:
the tones made by a telephone when pressing a button such as number 1, number 2, etc.
- Interactive Voice Response (IVR) Session:
a phone call in which the user is prompted to make choices using DTMF tones and the flow of the call can change based on those choices
- IVR Gateway
a third party service that provides an API for handling IVR sessions
- International Format (also referred to as E.164 Format) for a Phone Number:
a format for a phone number which makes it so that it can be reached from any other country; the format typically starts with +, then the country code, then the number, though there may be some subtle operations to perform on the number before putting into international format, such as removing a leading zero
- SMS Survey
a way of collecting data over SMS that involves asking questions one SMS at a time and waiting for a contact’s response before sending the next SMS
- Structured SMS
a way for collecting data over SMS that involves collecting all data points in one SMS rather than asking one question at a time as in an SMS Survey; for example: “REGISTER Joe 25” could be one way to define a Structured SMS that registers a contact named Joe whose age is 25.
Messaging Terms Commonly Used in CommCare HQ
- SMS Backend
the code which implements the API of a specific SMS Gateway
- IVR Backend
the code which implements the API of a specific IVR Gateway
- Two-way Phone Number
a phone number that the system has tied to a single contact in a single domain, so that the system can not only send oubound SMS to the contact, but the contact can also send inbound SMS and have the system process it accordingly; the system currently only considers a number to be two-way if there is a corehq.apps.sms.models.PhoneNumber entry for it that has verified = True
- One-way Phone Number
a phone number that has not been tied to a single contact, so that the system can only send outbound SMS to the number; one-way phone numbers can be shared across many contacts in many domains, but only one of those numbers can be a two-way phone number