TTL_EXPIRED in aws pinpoint: How to handle it, how to override the TTL?

0

Occasionally we get TTL_EXPIRED errors in sms delivery notice. This number is significantly higher in certain days. As per AWS Support team this could happen if devices are unreachable.

  • what's the recommended way to deal with these kinds of errors?
  • what's the default ttl? Can we override it? (Preferrably based on sender) - If yes, is it a configuration change or an API level change?
  • is the ttl at aws end? or is it at the downstream telcos?
1개 답변
1
수락된 답변

Hello,

Thank you for reaching out to us.

Please allow me to explain a brief overview of SNS- SMS service flow:

Flow : Amazon SNS -> Aggregator -> Mobile Carrier -> Mobile Endpoint

When an SMS is sent from Pinpoint, Pinpoint forwards the messages to the aggregators, which in turn forwards it to the Phone carrier. The phone carrier is then responsible for sending the message to the mobile endpoint (end user device). The provider response in logs is given by the phone carrier for that particular message. So issues inside certain mobile carriers can sometimes cause SMS failures to certain destination phone numbers. After we hand off the message, each carrier has their own TTL timer which starts ticking and will try to publish the message until it doesn't expire. For any reasons if the carrier is unable to send messages to the endpoint within the TTL, it will error out with "The delivery TTL has expired" provider response.

These messages failed because the TTL (Time To Live) for the message expired before the mobile carrier could deliver it to the device endpoint within the TTL. Possible reasons could be:

  • The device is unable to receive the messages. For example, the network unavailability/out of coverage or roaming or device doesn’t have space left to receive new messages

  • The device is offline (switched off)

Please find below answers to the questions you have asked

what's the recommended way to deal with these kinds of errors?

To mitigate the issue:

  • Ensure that the end-user device is not offline (switched off).
  • The device is able to receive the messages. For example, the network availability/in of coverage or roaming.
  • The device does have space left to receive new messages.

what's the default ttl? Can we override it? (Preferrably based on sender) - If yes, is it a configuration change or an API level change? is the ttl at aws end? or is it at the downstream telcos?

  • TTL is carrier specific and is not managed by AWS we cannot change TTL value for SMS.
AWS
지원 엔지니어
답변함 2년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠