# OPS-079 — HELP must work in every form it arrives in

> HELP must be case-insensitive, functional over both SMS and MMS, and functional in the programme's language without erroring on the English keyword.

- **Rule ID:** OPS-079
- **Layer:** Operational (`OPERATIONAL`)
- **Checks:** `HELP keyword handler`
- **Severity:** HIGH — Rejected by at least one carrier or provider, and a common cause of failure at the rest.
- **When it bites:** Falls due after approval, once you are live and sending
- **How it is detected:** Not knowable before submission — reported with its deadline
- **Fix type:** Wait on an external system or a required interval
- **Required by:** CTIA, MMA
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/operational/ops-079/

## Why this rule exists

HELP is the fallback when everything else has confused somebody, so it is the last handler that should be fussy about how it is spelled or which protocol carried it. Each of these variations is a separate code path in most platforms, and the ones that fail are invariably the ones nobody tested because the happy path was obvious.

## How to fix it

Normalise the inbound body before matching, share one handler across SMS and MMS, and register the local-language help word alongside HELP rather than instead of it. Done when "help", "AYUDA" and a HELP sent as an MMS reply all return the same information.

## Example of a compliant value

```text
Keyword table: HELP, INFO, SUPPORT, AYUDA — matched case-insensitively on either protocol.
```

## Check this yourself

**Do "help", "AYUDA" and a HELP sent as an MMS reply all return the same information?**

1. Send all three to your own number after launch.
2. Confirm the local-language help word was registered alongside HELP rather than instead of it.
3. Confirm one handler serves both SMS and MMS.

*What wrong looks like:* Each variation is a separate code path in most platforms, and the ones that fail are invariably the ones nobody tested because the happy path was obvious.

## Notes

Three code paths we cannot see. What the user has to do is send the three variants to their own number after launch; OPS-081 is the registration-side twin, checking that the destinations inside the reply actually reach help.
