BroadNet
Fundamentals BroadNet answer

MO vs MT — what's the difference?

Last reviewed 1 min readReviewed by BroadNet engineering
Quick answer

MT (mobile-terminated) is a message destined for a handset — the operator's network is the destination. MO (mobile-originated) is a message sent from a handset — the operator's network is the source. From an enterprise perspective, every A2P SMS you send is MT, and every reply or inbound keyword (STOP, START, HELP) you receive is MO.

Plain-language definitionVendor-neutralReviewed July 25, 2026
DiagramHow an A2P message reaches the phone
  1. Your applicationSends over the REST API or SMPP
  2. BroadNet platformValidates, routes and bills each message
  3. Operator SMSCDirect operator connection
  4. Subscriber handsetThe message is delivered
The delivery receipt (DLR) travels back along the same path to your webhook
The long answer

Everything worth knowing, nothing that isn't.

§01

How MO works in two-way SMS

When a subscriber texts your virtual long number or short code, their operator's SMSC receives an MO submit, looks up the registered destination (your aggregator), and forwards it via SS7 MAP-MO-FORWARD-SHORT-MESSAGE or via SMPP deliver_sm (with esm_class flag indicating MO, not DLR). Your aggregator's gateway delivers it to your webhook.

§02

Why MO billing differs from MT

MT is billed to the sender (you, the enterprise). MO is billed to the originator (the consumer, on their plan). On premium short codes, MO can be reverse-billed to the consumer at a premium rate that you share in — this is how donation campaigns and premium content monetised in the 2000s. For modern A2P, premium MO is largely dead; standard MO is free to the consumer.

§03

What MO requires from your aggregator

An inbound virtual number (long number, short code, or alphanumeric two-way capable). Many short codes don't support MO — they are MT-only. Long numbers always do, but consumer recognition is weaker. For two-way conversational use cases see /products/two-way-sms.

§04

MO in WhatsApp and RCS

The MO/MT terminology is GSM-native. In WhatsApp Business API, the equivalent terms are 'inbound message' (MO-equivalent) and 'outbound message' (MT-equivalent). The semantic is identical; the protocol is HTTP/JSON webhooks instead of SMPP PDUs.

MO vs MT at a glance

MT (mobile-terminated)MO (mobile-originated)
DirectionTo the handsetFrom the handset
Enterprise exampleEvery A2P message you sendReplies, STOP / START / HELP keywords
Billed toThe sender (enterprise)The originator (consumer)
RequiresSender ID + route to destinationInbound virtual number or short code
SMPP carriersubmit_smdeliver_sm (MO esm_class)
WhatsApp / RCS termOutbound messageInbound message
BNWritten by the BroadNet engineering team·Operating carrier-grade messaging since 2003, headquartered in Dubai·Editorial standards
FAQ

Frequently asked questions

Is every A2P message I send MT?
Yes. Application-to-person traffic is destined for a handset, so it is mobile-terminated by definition. The only mobile-originated legs you handle are inbound: replies and keywords from the consumer.
What is an example of an MO message?
Any inbound message from a subscriber — a reply to your two-way number, or a keyword like STOP, START, or HELP. It originates on the handset and is forwarded to your webhook.
Who pays for an MO message?
The originator — the consumer, on their own plan. For standard A2P two-way flows the MO is free to the consumer; premium reverse-billed MO (which shared revenue with the brand) is largely obsolete today.
Do all numbers support MO?
No. Many short codes are MT-only and cannot receive replies; long virtual numbers always support MO. If you need two-way conversation, provision an MO-capable inbound number.
Build with this

Need help wiring this up?

The pages below are the products and integration guides that put this concept on the wire. If you'd rather walk through it live, our engineering team takes calls same-day during MENA working hours.

Talk to our engineering team
Feedback

Was this answer helpful?

Your vote helps us prioritise which answers to expand with examples, diagrams, and code snippets.

Was this answer helpful?
Thanks — noted. We'll keep this answer maintained.
Got it. Tell us what was missing — send a quick note.

How we write and review content

Still need help?

Talk to a real engineer about your build.

We reply within one business day, and production accounts get 24/7 support. Our solutions engineers ship code, not scripts.

$ curl -X POST https://api.broadnet.me/sms/sendSms
Response SLA
Test-access requestsReply within 1 business day
Production24 / 7 · < 15 min
Operator NOC24 / 7 · pager