There are two distinct stages an inbound message will go through:

1. Received

Plivo will receive an inbound message from a carrier. The user will be charged for the inbound message.

If the message_url or message_method is not configured in the user’s application to which the number that receives the message is attached, the message remains in this state.

2. Delivered/Undelivered

Once Plivo receives the message, it sends a callback to the message_url. Based on the response Plivo gets, the next state of message is decided:

2-1 delivered: the message_url is valid and active. After sending a callback to the message_url, the state of message is set as ‘delivered’.

2-2 undelivered: the message_url is invalid, inactive or not responding. Plivo will retry callbacks for the next 24 hours. Kindly check this doc for retry interval timings. If all callbacks fail, the status of message will be set as ‘undelivered’.