There are three distinct stages an outbound message sent via API will go through:

1. Queued

Plivo accepted the message from a user and will make an attempt to send the message to a carrier.

2. Sent/Failed

2-1 sent: Plivo successfully sent the message to the carrier. The user is charged.

2-2 failed: Plivo was unable to send the message to the carrier. The user is notcharged.

3. Delivery Report*

3-1 delivered: the message was successfully delivered.

3-2 undelivered: the carrier was not able to deliver the message.

3-3 rejected: the carrier rejected the message due to some regulations.

Delivery report is not supported for the U.S. and Canada due to regulations.