Twilio: "undelivered" SMS stays on two grey ticks in 3CX (30045 parse error)

Doug_BHA

Customer
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:

TicksOur understanding
One greyNot delivered
Two greyDelivered to the provider (Twilio accepted it)
Two blueDelivered to the handset (Twilio delivered receipt received)
Red / FailedProvider 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​

  1. Is our reading of the ticks correct, and is it documented anywhere?
  2. Is Twilio's undelivered callback meant to update the message status in the chat?
  3. 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:
Ticks:
One grey --> Message sent from PBX
Two grey --> Delivered to provider
Two blue --> Delivered to recipient
Red X --> Failed

In your scenario the PBX sends the SMS to Twilio which receives it. Twilio then tries to send it to the recipient but cannot so we do not get delivery confirmation so the status stays at 2 gray ticks. 2 gray ticks essentially means undelivered.
If the ticks do not turn blue then you cannot assume that the message was delivered.
 

Forum statistics

Threads
112,372
Messages
592,152
Members
165,547
Latest member
Bstrading