Exhibit A
How long does it take to send 10,000 SMS?
- Minutes to send 10,000 SMS
Bars · minutes (illustrative)
Highest: 1 long code at 167 minutes (illustrative). Lowest: 1 short code at 2 minutes (illustrative).
Hover, focus or tap a column for exact values; press it to pin.
| Category | Minutes to send 10,000 SMS |
|---|---|
| 1 long code | 167 |
| 10 long codes (pooled) | 17 |
| 1 short code | 2 |
What is a long code?
A long code is a phone number of normal length used by a business for SMS — in India a 10-digit mobile number, elsewhere a full national number — as opposed to a five- or six-digit short code. Indian providers sell long codes as virtual mobile numbers (VMNs): numbers that live on an operator's network but deliver incoming messages to an application rather than to a SIM in someone's handset.
Because a long code is an ordinary number, any phone can text it, it can also receive calls, and it looks like a person rather than a broadcast. The trade-off is throughput. Carriers treat long-code traffic as person-like, so a single number carries a low sending rate — commonly cited as about one message per second in the US before registration regimes such as 10DLC set limits by brand — while a short code is provisioned for bulk traffic at far higher rates. Spreading a campaign over many long codes to dodge the cap, known as snowshoeing, is exactly what carrier filters look for.
In India the VMN plays a specific role. Commercial SMS to Indian numbers must be sent under a DLT-registered header with a registered content template, so a 10-digit number is not a sending identity for business campaigns. The VMN is the inbound half instead: customers text a keyword such as LOAN plus a pin code, reply to a campaign or give a missed call, and the provider forwards each mobile-originated (MO) message to the business's webhook. Replies go back from the business's header, or move the customer to WhatsApp with a click-to-chat link.
Key takeaways
- A long code is an ordinary-length phone number (in India, a 10-digit virtual mobile number) that a business uses to send or receive SMS.
- Long codes look personal and take two-way replies, but carry far less sending throughput per number than short codes.
- In India, commercial SMS must go out under a DLT-registered header, so a VMN is used mainly to receive keywords, replies and missed calls.
- Each SMS a customer sends to a VMN is a mobile-originated (MO) message that the provider forwards to your webhook as it arrives.
How does a long code work?
Rent the number
A provider allocates a dedicated VMN, or a shared one where your messages are told apart by a keyword prefix. Dedicated numbers cost more, but every message on them is yours.
Point it at your webhook
Configure the URL the provider calls for each inbound SMS. Typical fields are the sender's number, the VMN it reached, the text and a timestamp.
Parse keywords and replies
Normalise the text (trim, upper-case), match keywords such as HOME or STOP, and treat anything unmatched as a free-text reply for a person to read.
Respond on the right channel
In India, answer with a DLT-registered template from your header, or with a WhatsApp template if the customer opted in to WhatsApp; in some other markets you can reply from the long code itself.
Measure and stay within limits
Track inbound volume per keyword and campaign, and in markets where you send from long codes keep each number within the rate its carrier allows.
Example: A keyword on a hoarding
A Lucknow home-loan broker prints "SMS HOME <your pin code> to 9XXXXXXXXX" on hoardings and in Hindi newspapers. Each text reaches the broker's VMN and is forwarded as an MO webhook; the handler extracts the pin code, creates a lead for the nearest branch and triggers a DLT-registered SMS from the broker's header with that branch's number. On a busy Sunday the number receives 1,800 texts in two hours without trouble — inbound is not the bottleneck — and leads who also opt in to WhatsApp get a richer follow-up there.
A long code in code
// Generic inbound-SMS webhook. Field names vary by provider; map them once.app.post("/sms/inbound", express.urlencoded({ extended: false }), async (req, res) => {res.sendStatus(200); // acknowledge first: providers retry on slow responsesconst from = toE164(req.body.from); // "+919812345678"const vmn = req.body.to; // which of your numbers it reachedconst text = String(req.body.text ?? "").trim();const [keyword = "", ...rest] = text.toUpperCase().split(/\s+/);if (["STOP", "UNSUBSCRIBE"].includes(keyword)) return optOutEverywhere(from);if (keyword === "HOME") return createLead({ from, pinCode: rest[0], source: vmn });return routeToInbox({ from, text, source: vmn }); // free text: a person replies});
Acknowledge, normalise, match keywords, and send everything else to people.
Why does a long code matter?
Long codes are how a business hears back. A keyword printed on a poster, a reply to a payment reminder or a number on a flyer for feature-phone users all need a number that anyone can text from any handset and that lands in your systems as data. A long code keeps cost and setup light for inbound and conversational use; using one for bulk outbound in the wrong market gets traffic filtered.
Common mistakes with a long code
Using long codes for bulk campaigns
Spreading a broadcast over a pool of long codes to beat per-number limits (snowshoeing) is filtered by carriers. Use the channel built for volume: a registered header in India, a short code or registered 10DLC elsewhere.
Shared numbers without distinctive keywords
On a shared VMN, a keyword another business also uses means misrouted leads. Pick a distinctive keyword or pay for a dedicated number.
Treating an SMS reply as WhatsApp opt-in
A text to your VMN shows interest by SMS; it is not permission to message the person on WhatsApp. Ask for WhatsApp opt-in explicitly and record it.
Ignoring STOP and its variants
People reply STOP, UNSUBSCRIBE or the same in their own language. Treat these as opt-outs on every channel, not only the one they arrived on.
VMN FAQs
What is the difference between a long code and a short code?+
Can I send promotional SMS from a VMN in India?+
Is a VMN the same as a virtual number for WhatsApp?+
How many messages can a long code receive?+
Best practices for a long code
- Print the keyword as large as the number — most failed texts are mistyped keywords.
- Accept keywords case-insensitively and tolerate extra spaces and punctuation.
- Keep the raw inbound text for a few days to see how people really type your keyword.
- Pair the VMN with a missed-call number for people who would rather not type at all.