[reSIProcate] handling recoverable failures in dum
There are a number of failure cases that occur as a UAC that are
recoverable. e.g.
- send REGISTER, receive 503 with Retry-After: 30
- send INVITE, receive time out (possibly due to temporary network error)
I propose that when an onFailure Handler is called on the application
that the application have the ability to make a call on the BaseUsage
to retry with an optional future time.
// It is only valid to call this method from within an onFailure
Handler. If the app doesn't call
// retry, the Usage will be destroyed.
// This method should only be implemented on Client or Dialog
subclasses of BaseUsage
void
BaseUsage::retry(int ms=0);
It would be up to the application to look at the type of failure to
determine whether or not to retry.
Jason