< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

[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