SMS

What is MO vs MT?

Mobile originated (MO) means a text starts at a phone; mobile terminated (MT) means it ends at a phone.

A delivery notification and the customer's reply travel in opposite directions. The same customer is the recipient of the notification and the sender of the reply.

SMS names those directions from the mobile phone's perspective.

Which direction is which?

Your notification to a customer's phone is MT, and the customer's reply is MO.

A passcode or campaign sent to the phone is mobile terminated. A customer's STOP reply is mobile originated.

The distinction concerns where the text starts or ends. It does not depend on whether your business considers the conversation incoming or outgoing.

How does the protocol carry each direction?

An SMPP connection uses submit_sm to send a text and deliver_sm to receive one.

SMPP carries texts between applications and carrier services. The SMPP operation reference defines those operations.

The network's delivery report on a previous send can also arrive through deliver_sm. These reports, called delivery receipts, can also use data_sm. The SMPP receipt reference states:

Message delivery receipts are returned in the deliver_sm and data_sm operations.

An incoming transport operation is therefore not necessarily a customer reply. Your application must distinguish receipt information from received text. Delivery receipts explains the network reports.

Does direction affect billing?

Sending and receiving use separate rates, so the outbound price does not establish the cost of a reply-based conversation.

Bird charges outbound texts by segment, each billable network part. Its inbound billing also uses segment counts, with applicable inbound rates and carrier fees. Check SMS pricing for the direction and destination involved.

A customer's own mobile plan determines any charge for sending their reply. Check that plan before describing replies as free. A flow requiring a reply depends on the customer's ability to send it as well as your ability to receive it.

Which senders can receive replies?

A phone-number sender configured to receive SMS can receive replies.

An alphanumeric sender ID, a name displayed instead of a phone number, cannot receive a text reply. Sending a campaign from a name therefore requires another supported way for the recipient to stop messages.

Choose the receiving capability before building a workflow that waits for a reply. Sender types explains the available identities, and STOP keywords covers processing opt-out replies.

How do I distinguish directions in Bird?

You read the message's direction field, whose values are outbound and inbound.

outbound identifies a message sent from a Bird sender. inbound identifies a message received from a subscriber. Bird exposes incoming customer messages through sms.received events, separately from delivery events.

For example, a notification and its reply produce separate message records. Store both directions when reconstructing the conversation; counting only outbound records leaves the reply out.

In short

  1. Direction is named from the phone's perspective.

    Mobile originated starts at the phone; mobile terminated ends at it.

  2. Replies and receipts can share a transport operation.

    SMPP carries both through deliver_sm, so the operation name alone does not identify a customer reply.

  3. Sending and receiving have separate costs.

    Check the applicable rates for each direction before designing a reply-based flow.

  4. Replies require a receiving number.

    An alphanumeric sender name cannot receive a reply, so a conversation requires another sender type.

Build on the same network.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Your next idea.
Ready to connect.