Skip to main content
Question

Questions about Fax statuses and enqueued faxes expiration


  • Known Participant
  • 12 replies

Hello.

Where can I find a more detailed documentation describing all of the fax statuses, what is their meaning? Most importantly, I would like to know which ones are the ‘final’ ones, i.e. they will not change in the future.

I haven’t found it in the docs. I searched API reference (there was a list of statuses, but no description), developers guide and few articles on support page, but they looked outdated. 

 

Second question - for how long does RingCentral store sent faxes until they expire? Is there some timeout set? I mean for example when the fax is sent successfully, but not delivered yet, because, for example, the recipient’s number is not available. For how long such fax will wait for delivered/received status?  How long we should wait to get a notification about its status change?

13 replies

https://developers.ringcentral.com/api-reference/Message-Store/readMessage

messageStatus

Queued, Sent, Delivered, DeliveryFailed, SendingFailed, Received

Final status is Delivered. (or DeliveryFailed, SendingFailed)

Queued means RingCentral server hasn’t processed it yet.

Sent vs Delivered: sent means sender sent it out, delivered means it reached destination. “Delivered” happens after “Sent”,

Received is for inbound faxes, not for outbound faxes.

For your second question, I would say it won’t be long. The status will be changed to SendingFailed or DeliveryFailed if the recipient’s number is not available. 
I would say as long as you received a final state, you can stop waiting for any more states.


  • Author
  • Known Participant
  • 12 replies
  • July 16, 2025
Tyler850957020 wrote:

For your second question, I would say it won’t be long. The status will be changed to SendingFailed or DeliveryFailed if the recipient’s number is not available. 
I would say as long as you received a final state, you can stop waiting for any more states.

Yeah, that is exactly my goal - to stop waiting for more states after reaching the final one. :)
RC notifications don’t include ids of the updated faxes, only the number of updated ones. That’s why, each time we receive a notification, we have to loop through all the faxes is our system that doesn’t have the final status yet. And we are worried that this list can become long after some time and it will affect this loop’s execution time significantly. That’s why we would like to loop through only the ones that are not too old to get a new status yet. So we need some time limit for them to expire. What does “won’t be long” mean?

Even now, during testing, I have at least one example of such stale fax - it’s stuck on “Sent” status for 2 days already. Fax id: 2394518728014. For such fax, is it possible that the status will be updated in the future? For how long exactly we can expect that?


“Sent” status for 2 days is very abnormal and I would say it is a bug on our server-side. I will forward this fax sample to server-side team.

For “RC notifications don’t include ids of the updated faxes, only the number of updated ones. ”, you are right and I have no way to workaround it either.

If you have a list of messages to check, you can check them in batch: 
https://developers.ringcentral.com/api-reference/Message-Store/readMessage

https://developers.ringcentral.com/guide/basics/batch-requests

if “we have to loop through all the faxes” is done one by one, do them in batch could solve your problem.


Update:
I might be wrong in my previous answers.  My colleague told me that for Fax, “Sent” is the final state.  “Delivered” is for SMS only.


  • Author
  • Known Participant
  • 12 replies
  • July 17, 2025
Tyler850957020 wrote:

“it’s stuck on “Sent” status for 2 days already. Fax id: 2394518728014.” Please contact general support instead. They have been handling similar issues and they will tell you what’s happening.
https://support.ringcentral.com/

This community and my team only handle programming/API related questions

I get it, but I believe my issue is programming and API related. I’m not interested in investigating this particular fax and why it was stuck, because this was only a test fax and it doesn’t really matter. The important thing is that in can happen. That’s why I given this as an example.

I only need to know what is the time limit for such stuck faxes - for how long our application should expect that they can still be updated. We want to introduce a new ‘Expired’ status internally in our app. But we need to know after what time period we can set the status to ‘Expired’ when it’s stuck on Queued/Sent. Can you please advise on that?


Please take a look at my latest update. In the example you mentioned, the fax status is "Sent," which indicates the final state—so it’s not actually stuck.

I do understand your concern that sometimes it can take a long time for a fax to reach its final state. Currently, there’s no timeout or expiration mechanism on the client side; the timing entirely depends on how the server processes it. Unfortunately, this is the current behavior, as there’s no defined specification for how long it should take for the status to update.


  • Author
  • Known Participant
  • 12 replies
  • July 20, 2025
Tyler850957020 wrote:

the timing entirely depends on how the server processes it.

Ok, is there any time limit for the server?

Could you please tell us what is the average time of sending fax request being processed? I know it depends on the file size etc., but maybe you have some statistics for this anyway?

Additionally, are you able to check the maximum time (historically) that passed between your server receiving a fax sending request and the webhook event (message store update) informing of status change being send?


  • Author
  • Known Participant
  • 12 replies
  • July 20, 2025
Tyler850957020 wrote:

if “we have to loop through all the faxes” is done one by one, do them in batch could solve your problem.

It’s not solving our problem, because the messages are being send by multiple different extensions. I can register one webhook that will listen for the updates on all of them, but then, when I want to check the status using message-store endpoint, I am not able to check all of them in batch, because it will only work for one extension.
 
Am I wrong on this? If so, could you please advise how to send a batch get request to message-store for multiple extensions?


I found this article: https://support.ringcentral.com/article-v2/Troubleshooting-fax-via-email-send-issues.html?brand=RingCentral&product=RingEX&language=en_US
 

  • Wait five minutes per page to determine if sending has failed. Graphics-heavy faxes can take five minutes or more per page to send.

  • If the recipient is unreachable, the fax is marked as sent until three automatic retry attempts are made. After the third attempt, it moves to the Failed list
     

I am unable to check server side code for any specific limit.  Even there is some specific limit in the code, it’s internal implementation details which may change in the future without pre-notice. So I would recommend you to just follow the public information shown in the article I shared above.

 


because the messages are being send by multiple different extensions.

 

Then it is tricky. You need review your overall situation to evaluate whether it deserves the effort to try the batch API.

For example, if you send 1000 faxes from 1000 extensions, then it doesn’t make sense to try the batch API.

However, if you send 1000 faxes from 100 extensions (each extension sent 10 faxes on average), then it may improve the overall throughput.

If you send 1000 faxes from 10 extension, the batch API will be a game-changer.


  • Author
  • Known Participant
  • 12 replies
  • July 21, 2025
Tyler850957020 wrote:

I found this article: https://support.ringcentral.com/article-v2/Troubleshooting-fax-via-email-send-issues.html?brand=RingCentral&product=RingEX&language=en_US
 

  • Wait five minutes per page to determine if sending has failed. Graphics-heavy faxes can take five minutes or more per page to send.

  Thanks for finding this, that is something that we can base our internal business logic on!

 

Tyler850957020 wrote:

If the recipient is unreachable, the fax is marked as sent until three automatic retry attempts are made. After the third attempt, it moves to the Failed list

So, does it mean ‘Sent’ is not a final status after all? (because it can still be changed from Sent to Failed)
That is really making us a difference…
 

Tyler850957020 wrote:

If you send 1000 faxes from 10 extension, the batch API will be a game-changer.

Yeah, you are right. Unfortunately, there is an issue with RingCentral .NET SDK that we are using and because of that we are not able to use batch API: https://github.com/ringcentral/RingCentral.Net/issues/78


  • Author
  • Known Participant
  • 12 replies
  • July 23, 2025
dcz wrote:

 

Tyler850957020 wrote:

If the recipient is unreachable, the fax is marked as sent until three automatic retry attempts are made. After the third attempt, it moves to the Failed list

So, does it mean ‘Sent’ is not a final status after all? (because it can still be changed from Sent to Failed)
That is really making us a difference...

Hi ​@Tyler850957020, any update on this? It’s really important, as our app is going to production soon and we have our internal logic based on the information, that ‘Sent’ is the final status.

We are doing just like you advised here:

I would say as long as you received a final state, you can stop waiting for any more states.

But if ‘Sent’ status can change, this means we cannot do it like that. 


So, does it mean ‘Sent’ is not a final status after all? (
Don’t overthink. Nobody said it’s not a final status.

If you need timely reply to your questions, consider creating a ticket here: 
https://developers.ringcentral.com/support/create-case


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings