SMS Settings

Every text the school sends leaves through this configuration — the gateway that carries it, the sender ID it arrives under, and the rules that decide who receives it and when.

Active providerMSG91 Default
Delivery statusHealthy · 98.6% delivered
Gateway statusConnected · 214 ms
Last test messageToday, 09:41 AM
Last updated31 Jul 2026 · Ms. Latha Rao
Credits remaining1,84,220 SMS
Submitted09:41:02.140Queued by the ERP
Gateway accepted+0.31 sMSG91 returned id 5f2a91
Carrier accepted+1.84 sAirtel IN handed over
Delivered to handset+4.02 sDLR received · DELIVRD
Section 01

General

How SMS behaves before a single message is written.

Outbound SMS

Applies to every message the system sends

Enabled
System SMS

On — the ERP may send text messages

Default route

MSG91 transactional

Encoding

GSM-7 — 160 characters per segment

Country

India (+91) — numbers stored in E.164

Send window

Nothing sent between 21:00 and 09:00

5 settings · published

Recipients

Who may be texted, and on which number

Guardian first
Primary recipient

The guardian marked primary on the student record

Fallback

Try the second guardian if the first number is invalid

Student numbers

Only for OTP and exam results, never for fees

Staff numbers

Used for internal alerts only

Opt-out honoured

A guardian who replies STOP receives nothing but emergencies

5 settings · published

Safety rails

Guards that stop a mistake reaching every family

1 off
Test mode

Off — messages reach real handsets

Test number list

Used only while test mode is on

4 numbers
Bulk send confirmation

Ask before any send above 200 recipients

Daily ceiling

25,000 messages — refuses beyond this

Duplicate guard

Block the same text to the same number within 10 minutes

5 settings · 1 unpublished

Regulatory position

TRAI commercial communication rules

Compliant
Principal entity registered on the DLT platformEntity id 1101459800000123456, registered 14 Jan 2026.
All active templates approved10 of 10 carry a DLT template id. An unapproved template cannot be sent.
Transactional and promotional traffic kept apartDifferent sender IDs and different routes, as the rules require.
One sender ID awaiting approvalPRSKEM was submitted on 28 Jul. Emergency alerts fall back to PRSKOL until it clears.
Reviewed 31 Jul 2026
Section 02

SMS Gateway

The connection itself — endpoint, credentials and what comes back.

Gateway

Where messages are handed over

MSG91
Gateway name

MSG91 — transactional route

API endpoint

https://api.msg91.com/api/v5/flow/

Method

POST with a JSON body

Default sender ID

PRSKOL

PRSKOL
Request timeout

15 seconds

5 settings

Authentication

Held encrypted at rest, never displayed in full

Verified
Method

Auth key in the request header

API key

4188••••••••••A1

Set 14 Jan
API secret

Not required by this provider

N/A
Key rotation

Every 180 days — next on 12 Jan 2027

Callback signature

Delivery receipts are verified before they are trusted

5 settings

API endpoint

What the ERP posts, and what comes back

200 OK
Request
POST https://api.msg91.com/api/v5/flow/
authkey: 4188∗∗∗∗∗∗∗∗∗∗A1
{ "template_id": "6512a9f4d3", "sender": "PRSKOL",
  "short_url": "0", "recipients": [ … ] }
Response
{ "type": "success", "message": "5f2a91c8e4b0" }

Delivery receipts arrive separately on the callback URL below. A message is not counted as delivered until that receipt is in.

Average round trip 214 ms

Connection status

Checked every 15 minutes

Connected
Endpoint reachable over HTTPSTLS 1.3, certificate valid until 02 Feb 2027.
Auth key acceptedVerified at 09:41:02 today.
Sender ID PRSKOL permitted on this accountRegistered against DLT entity 1101459800000123456.
Delivery receipt callback reachableLast receipt processed 12 seconds ago.
Credits below the 2,00,000 alert threshold1,84,220 remaining. At the current rate this lasts to about 12 Oct.
5 checks · 214 ms
Section 03

Providers

Eight configured routes, one carrying traffic.

Only the default route carries traffic. The rest stay configured so a failover is a switch rather than a rebuild. Prices are per message on the domestic transactional route.

MSG91

api.msg91.com/api/v5

Live Auth key
RouteIN
Latency214 ms
Per SMS₹0.18

Twilio

api.twilio.com/2010-04-01

Standby Basic auth
RouteGlobal
Latency412 ms
Per SMS₹0.62

Textlocal

api.textlocal.in/send

Standby API key
RouteIN
Latency268 ms
Per SMS₹0.21

Vonage

rest.nexmo.com/sms

Standby Key + secret
RouteGlobal
Latency388 ms
Per SMS₹0.58

Plivo

api.plivo.com/v1

Degraded Basic auth
RouteGlobal
Latency904 ms
Per SMS₹0.54

Clickatell

platform.clickatell.com

Standby API key
RouteGlobal
Latency441 ms
Per SMS₹0.66

AWS SNS

sns.ap-south-1.amazonaws.com

Standby IAM key
RouteIN
Latency196 ms
Per SMS₹0.24

Custom REST API

sms.preskool.local/send

Disabled None
RouteLocal
Latency
Per SMS
Section 04

Sender IDs

The six characters a message arrives under.

Six characters, fixed, approved by the regulator before a single message can carry them. Transactional and promotional traffic must use different IDs.

PRSKOL

Transactional sender

Fees, attendance, results and admissions

CountryIndia (+91)
TypeTransactional
Characters6 of 6
DLT registrationApproved 14 Jan 2026
Used by7 templates
Verified
PRSKED

Promotional sender

Newsletters, events and open-day invitations

CountryIndia (+91)
TypePromotional
Characters6 of 6
DLT registrationApproved 22 Feb 2026
Used by2 templates
Verified
PRSKOT

OTP sender

One-time passwords for portal sign-in

CountryIndia (+91)
TypeService implicit
Characters6 of 6
DLT registrationApproved 14 Jan 2026
Used by1 template
Verified
PRSKEM

Emergency sender

Closures, safety notices and evacuation alerts

CountryIndia (+91)
TypeTransactional
Characters6 of 6
DLT registrationSubmitted 28 Jul 2026
Used byFalls back to PRSKOL
Section 05

Templates

Ten messages the system knows how to write.

Each template is shown as it will arrive on a handset, with its character count against the 160-character segment boundary. Anything past 160 costs two messages.

Admission Confirmation

Sent when a seat is allotted

Live
PRSKOL
Dear {guardian}, admission of {student} to Class {class} is confirmed. Report on {date}. - Preskool
09:14
128/160 · 1 SMS
09:14

OTP Verification

Portal sign-in, expires in 10 minutes

Live
PRSKOT
{otp} is your Preskool verification code. Valid for 10 minutes. Do not share it. - Preskool
09:41
96/160 · 1 SMS
09:41

Attendance Alert

Sent at 11:00 on an unexplained absence

Live
PRSKOL
Dear {guardian}, {student} was marked absent today. Please contact the class teacher. - Preskool
11:00
124/160 · 1 SMS
11:00

Fee Reminder

Three before the due date, one after

Live
PRSKOL
Dear {guardian}, fee of Rs {amount} for {student} is due on {date}. Pay at the portal or the counter. - Preskool
10:00
152/160 · 1 SMS
10:00

Exam Schedule

Sent when a timetable is published

Live
PRSKOL
{exam} timetable for Class {class} is published. First paper on {date}. See the portal for the full schedule. - Preskool
16:30
158/160 · 1 SMS
16:30

Exam Result

Sent when results are released

Live
PRSKOL
Results for {exam} are out. {student} scored {marks}. The full report card is on the parent portal. - Preskool
17:00
141/160 · 1 SMS
17:00

Homework Reminder

Daily digest at 17:00

Draft
PRSKOL
Homework set for {student} in {subject}, due {date}. Details on the portal. - Preskool
17:00
112/160 · 1 SMS
17:00

Holiday Notice

Sent the evening before

Live
PRSKED
The school will remain closed on {date} for {reason}. Classes resume as usual the following working day. - Preskool
18:00
149/160 · 1 SMS
18:00

Emergency Alert

Sent manually, bypasses quiet hours

Emergency
PRSKOL
URGENT: {message}. Please collect {student} from the main gate. Do not reply to this message. Call 044 4000 1200. - Preskool
Any
168/160 · 2 SMS
Any

Birthday Wishes

Sent on the morning of the day

Draft
PRSKED
Happy birthday {student}! Everyone at Preskool wishes you a wonderful year ahead. - Preskool
08:00
104/160 · 1 SMS
08:00
Section 06

Notification Rules

What the system texts without being asked.

What the system texts on its own. Each rule names its audience and the sender ID it goes out under, so nothing reaches a family on the wrong route.

Quiet hours 21:00 – 09:00
Unexplained absence

Sent once attendance is locked for the morning session, and only if no leave was recorded.

Primary guardian PRSKOL · 11:00
Fee due and overdue

Three reminders before the due date, one after. Never more than one message a day per family.

Primary guardian PRSKOL · 10:00
OTP for portal sign-in

Highest priority route. Bypasses the queue and the send window entirely.

The person signing in PRSKOT · instant
Results released

Held until the class teacher signs off, so no result reaches a family early.

Guardian and student PRSKOL · 17:00
Homework digest

Off while the template is a draft. Would send one digest rather than a message per subject.

Guardians of the class PRSKOL · 17:00
Emergency alert

Sent manually by the Principal or Vice-Principal only. Ignores quiet hours and opt-outs.

Every guardian in scope PRSKOL · immediate
Birthday wishes

Promotional route, so an opted-out family receives nothing. Currently a draft.

The student PRSKED · 08:00
Section 07

Delivery Policies

What goes instantly, what waits, and what the ceilings are.

Instant delivery

What goes out the moment it is created

4 types
OTP and password reset

Never queued, never delayed

Emergency alerts

Bypasses quiet hours and the daily ceiling

Absence alerts

Sent as soon as attendance is locked

Everything else

Queued and sent at the configured rate

4 settings

Scheduled messages

What waits for the right moment

3 waiting
Send window

Nothing leaves between 21:00 and 09:00

Out-of-window behaviour

Hold until the window opens

Scheduled sends

3 queued for tomorrow morning

Timezone

Asia/Kolkata — the school’s local time

4 settings

Limits

Ceilings that protect the credit balance

62% of daily
Daily limit

25,000 messages

Per-recipient daily cap

4 messages to one number

Bulk send ceiling

2,000 recipients per campaign

On reaching the limit

Hold in the queue rather than fail

Low credit alert

Notify when the balance falls below 2,00,000

5 settings

Delivery reports

How the school learns what arrived

DLR on
Delivery receipts

Requested on every message and recorded against it

Callback URL

https://preskool.edu/hooks/sms/dlr

Failure notification

Alert the office when a number fails three times

Report retention

90 days

4 settings
Section 08

Routing

Which message travels which way.

Which message travels which way. Priority routing exists because an OTP that arrives in ninety seconds is worthless, while a birthday message can wait.

Priority routing

Which message overtakes which

4 levels
Critical · OTP, emergency alerts

Sent ahead of everything, on the fastest route

1
High · absence, results, admissions

Transactional route, sent within a minute

2
Normal · fee reminders, schedules

Transactional route, queued

3
Bulk · newsletters, birthdays

Promotional route, sent when the queue is quiet

4
4 levels

Failover

What happens when the default route stops answering

Armed
Automatic failover

Switch to the standby provider after 3 consecutive failures

Standby provider

Twilio — costs more, so it is not the default

Failback

Return to MSG91 once it answers cleanly for 10 minutes

Notify on failover

Alert the IT administrator immediately

4 settings
Custom routing rules

No custom routing rules

Messages follow the priority table above. A custom rule would let you send, for example, all traffic to a particular operator through a different provider. Most schools never need one.

Section 09

Retry Policies

What happens when a message does not arrive.

Retry attempts

How persistent the sender should be

3 attempts
Attempts

3, then the message is failed

Backoff

2 min, 15 min, 1 hour

Retry on the standby route

After the second failure, try a different provider

Give up after

4 hours, whatever the attempt count

4 settings

Failure handling

What happens once retries are exhausted

18 today
Flag the number

Mark it on the student record for the office to check

Fall back to email

Send the same content by email where an address exists

Suppress after

5 consecutive failures to the same number

Notify the class teacher

When a guardian number stops working

4 settings · 1 unpublished

What is worth retrying

A failure code says whether a second attempt has any chance

ABSENT_SUB — handset switched off or out of coverageRetried. The number is valid; the phone simply was not reachable.
MEM_FULL — message memory fullRetried. Often clears within the hour.
TIMEOUT — no response from the carrierRetried on the standby route rather than the same one.
INVALID_NUM — the number does not existNever retried. Flagged on the student record for the office to correct.
DND_REJECT — the number is on the do-not-disturb registerNever retried on the promotional route. Transactional messages still reach it.
TEMPLATE_MISMATCH — the body does not match the approved templateNever retried. The template has to be corrected and re-approved.
6 codes handled · anything unrecognised is retried once
Section 10

Message Queue

What is waiting right now.

412 messages waiting · sending at 30 per second · the queue clears in about 14 seconds, apart from what is held for the send window

Sending
OTP verification +91 98••••4471
Critical PRSKOT now
Queued
Fee reminder · batch 2 of 5 412 recipients
Normal PRSKOL in 30 sec
Queued
Attendance alert · Class VII-B 18 recipients
High PRSKOL in 1 min
Queued
Exam schedule · Class X 96 recipients
Normal PRSKOL in 2 min
Held
Holiday notice 1,284 recipients
Bulk PRSKED 09:00
Retry 2 of 3
Fee reminder +91 90••••8812
Normal PRSKOL in 13 min
Blocked
Birthday wishes 3 recipients
Bulk PRSKED
Section 11

Logs

What the carrier said, in its own codes.

Delivery log

Last 10 events · retained for 90 days

6 delivered 2 deferred 2 refused
2026-08-01 09:41:06 DELIVRD +91 98••••4471 · PRSKOT · OTP · 1 SMS · 4.02 s
2026-08-01 09:41:02 SUBMITD id 5f2a91c8e4b0 accepted by MSG91 · 214 ms
2026-08-01 09:38:44 DELIVRD 412 recipients · PRSKOL · fee reminder batch 1 · 408 delivered
2026-08-01 09:38:44 ABSENT_SUB 3 handsets unreachable · retry scheduled in 2 min
2026-08-01 09:38:44 INVALID_NUM +91 87••••0092 · number flagged on the student record
2026-08-01 09:20:11 DELIVRD 18 recipients · PRSKOL · attendance alert VII-B · all delivered
2026-08-01 09:04:57 THROTTLED rate reduced to 20/sec for 30 s by the provider
2026-08-01 09:00:00 WINDOW send window opened · 1,284 held messages released
2026-07-31 21:14:38 DND_REJECT 46 promotional messages refused · do-not-disturb register
2026-07-31 20:58:02 DELIVRD 96 recipients · PRSKOL · exam schedule Class X
Times are Asia/Kolkata · codes are as returned by the carrier
Section 12

Security

Credentials, rate limits, validation and the regulator.

API authentication & encryption

How the ERP proves itself to the gateway

Enforced
Transport

HTTPS only — a plaintext request is refused

Minimum TLS

TLS 1.2

Credential storage

Encrypted at rest with the application key

AES-256
Callback signature

Delivery receipts verified before they are trusted

Unsigned callbacks

Discarded and logged

5 settings

IP allow-list & rate limiting

Who may reach the gateway, and how often

3 addresses
IP allow-list

Only the school’s two servers and the office range

3 entries
Rate limit

30 requests per second

Burst allowance

60 for up to 5 seconds

On exceeding

Queue rather than refuse

4 settings

Message validation & spam protection

What is checked before a message leaves

6 checks
Template match

The body must match its approved DLT template exactly

Number format

E.164 with a valid Indian prefix

URL shortener

Off — shortened links are widely filtered as spam

Blocked words

Refuse messages containing 12 flagged terms

Duplicate content guard

Same body to the same number within 10 minutes

5 settings

Compliance status

DLT registration and consent

Compliant
Principal entity
Entity id  1101459800000123456
Name      PRESKOOL INTERNATIONAL SCHOOL
Operator  Vodafone Idea DLT
Status    Active since 14 Jan 2026
Consent held for every number on the promotional routeCollected at admission and renewable at any time from the parent portal.
Opt-outs honoured within the hourA guardian replying STOP is removed from promotional traffic immediately.
One sender ID awaiting approvalPRSKEM, submitted 28 Jul. Emergency alerts fall back to PRSKOL meanwhile.
Reviewed 31 Jul 2026
Section 13

Advanced

Payload, callbacks, encoding and the reset switch.

{{
  "template_id": "6512a9f4d3",
  "sender": "PRSKOL",
  "short_url": "0",
  "recipients": [ @{{ "mobiles": "9198∗∗∗∗4471", "student": "Aarav K", "amount": "12,400" }} ]
}}

Variables are substituted from the student record at send time. The template id is fixed by the DLT registration and cannot be changed here.

Endpoint

https://preskool.edu/hooks/sms/dlr

Method

POST, JSON body, one receipt per message

Signing

HMAC SHA-256 with a shared secret, rotated yearly

Unsigned receipts

Discarded and logged — a forged receipt would mark an undelivered message as delivered

GSM-7

160 characters per segment. The default, and what every template above is written for.

Unicode (UCS-2)

70 characters per segment. Triggered by a single Tamil or Hindi character, or by a curly quote pasted from a word processor.

Automatic downgrade

Curly quotes and en-dashes are replaced with plain equivalents before sending, which keeps most messages inside one segment.

A message of 161 characters costs exactly twice as much as one of 160. The template editor shows the count for this reason.

Resetting returns every SMS setting to the template default, disconnects all providers and clears stored credentials. Templates, sender ID registrations and delivery logs are kept.

Section 14

Audit History

Every change, with the name against it.

Audit history

Every change to SMS configuration, retained for 3 academic years

8 of 186 entries
01 Aug 202609:41
Gateway connection test run against MSG91System · scheduled health check · 214 ms
31 Jul 202617:20
Daily ceiling raised from 15,000 to 25,000Ms. Latha Rao · approved by the Principal
31 Jul 202616:55
Homework reminder rule switched offMs. Latha Rao · template still a draft
28 Jul 202611:30
Sender ID PRSKEM submitted for DLT approvalMr. R. Venkatesh · emergency route
24 Jul 202614:02
Fee reminder template shortened to 152 charactersMs. Latha Rao · was 168, cost two segments
12 Jul 202609:15
Automatic failover to Twilio armedMr. R. Venkatesh
22 Feb 202610:40
Sender ID PRSKED approvedSystem · promotional route
14 Jan 202615:00
DLT entity registered and gateway connectedMr. R. Venkatesh · entity 1101459800000123456
Entries cannot be edited or removed

Messaging timeline

From the day the gateway was connected to what is still waiting to be published.

Gateway connected

14 Jan 2026

MSG91 connected on the transactional route with an auth key held encrypted.

API verified

14 Jan 2026

Endpoint reachable over TLS 1.3 and the key accepted on the first attempt.

Test SMS sent

14 Jan 2026

One message to the IT administrator, submitted in 208 ms.

Message delivered

14 Jan 2026

Receipt returned DELIVRD in 3.9 seconds, under sender ID PRSKOL.

5

Configuration updated

31 Jul 2026

Daily ceiling raised to 25,000 and the homework reminder switched off. Two changes are still drafts.

6

Settings published

Pending

Publishing applies the drafts to every outbound message within a minute.

MSG91 — gateway configuration

Default route · transactional · last changed 31 Jul 2026 by Ms. Latha Rao

Connected

Configuration details

Provider

MSG91 · Walkover Web Solutions

Route

Transactional · domestic India

Account

PRSK-441229

Connected

14 Jan 2026 by Mr. R. Venkatesh

Throughput

30 messages per second

Delivery rate

98.6% over the last 30 days

Current values
API endpoint

https://api.msg91.com/api/v5/flow/

Auth key

4188••••••••••A1

Encrypted
Default sender ID

PRSKOL

Request timeout

15 seconds

Retry attempts

3, with backoff

How a message arrives
PRSKOL · today 09:41
Dear Mrs. Menon, fee of Rs 12,400 for Aarav K is due on 05 Aug. Pay at the portal or the counter. - Preskool
09:41
112/160 · 1 SMS
Delivery receipt
id       5f2a91c8e4b0
status   DELIVRD
sender   PRSKOL
segments 1
elapsed  4.02 s
Validation
Endpoint reachable over HTTPSTLS 1.3, certificate valid until 02 Feb 2027.
Auth key acceptedVerified at 09:41:02 today.
Sender ID permitted on this accountPRSKOL registered against the school’s DLT entity.
Credits below the alert threshold1,84,220 remaining, against a threshold of 2,00,000.
Provider information
Service

MSG91 Flow API v5

Status page

status.msg91.com — no incidents

Support

Business · 2 hour response

Cost this month

₹20,196 · 1,12,200 messages

Dependencies
Sender IDs DLT templates Receipt callback Queue worker

Changing the default route would move 7 notification rules and 10 templates onto a different provider. Every template would need its DLT id re-mapped first, so this is not a switch to make in term time.

Related settings
Priority routing Retry policy Daily limits IP allow-list
Audit history
01 Aug 202609:41
Health check passedSystem · 214 ms
31 Jul 202617:20
Daily ceiling raised to 25,000Ms. Latha Rao
12 Jul 202609:15
Failover to Twilio armedMr. R. Venkatesh
14 Jan 202615:00
Gateway connected and set as defaultMr. R. Venkatesh