- Joined
- Oct 29, 2026
- Messages
- 1
- Reaction score
- 0
OUR SETUP:
- 3CX: V20 Update 9 (20.0.9.995), Enterprise PLUS, hosted by 3CX
- Twilio trunk: created with the 3CX auto-configure wizard. SMS has worked both ways for months.
- Twilio webhook: the 3CX trunk webhook is set only on "A message comes in" (HTTP POST).
- Number format: E.164 everywhere, in both 3CX and Twilio
3CX CHAT CHECKS/TICKS
We couldn't find this documented anywhere, so this is our reading from using the web client. Please confirm or correct it:| Ticks | Our understanding |
|---|---|
| One grey | Not delivered |
| Two grey | Delivered to the provider (Twilio accepted it) |
| Two blue | Delivered to the handset (Twilio delivered receipt received) |
| Red / Failed | Provider rejected the send (e.g. invalid number) |
OBSERVED
- A SMS Twilio later reports as undelivered (handset off or unreachable, errors 30003 and 30008) stays on two grey ticks permanently.
- When Twilio reports a message as undelivered, we expected it to drop to one grey tick or show Failed, so the sender knows to follow up.
- Staff read two grey as "sent fine", so nobody knows the customer never got it.
- In the same threads, later texts to the same numbers turn two blue, so delivered receipts are clearly processed.
- When the undelivered receipt arrives, 3CX can't parse it and logs event 30045 instead of updating the message:
Code:
Unable to parse message from provider twilio. Error: Unknown message received: {
"ApiVersion": "2010-04-01",
"MessageStatus": "undelivered",
"RawDlrDoneDate": "2610300902",
"SmsSid": "SMxxxxxxxx",
"SmsStatus": "undelivered",
"ErrorCode": "30003",
"To": "+614xxxxxxxx",
"From": "+614xxxxxxxx",
"MessageSid": "SMxxxxxxxx",
"AccountSid": "ACxxxxxxxx"
}
QUESTIONS
- Is our reading of the ticks correct, and is it documented anywhere?
- Is Twilio's undelivered callback meant to update the message status in the chat?
- Is there anything we need to set up so 3CX handles these callbacks, instead of logging them as 30045 in the Event Log?
Last edited: