Hi,
Before i spend hours reading specs, a question to Diameter-Experts...
Last night our hosting provider had an outage in our datacenter and had to restart one of our servers. After restarting, all servers came back up except our database, which failed to start due to replication issues. Except from our HSS, all components use a redundant database link, so everything was fine. The HSS started, but failed to connect to the database and as a result, it responded to all Diameter-Requests with "5012 Diameter unable to comply", which is correct (i believe) for Diameter for unspecified error-reasons:
RFC 3588 (page 87): DIAMETER_UNABLE_TO_COMPLY 5012 This error is returned when a request is rejected for unspecified reasons.
However, ims_auth sends a "403 HSS unable to comply" response back to the I-CSCF, which will not trigger a re-routing on the I-CSCF as it's "Forbidden" and not exactly an error (e.g. like "User unknown").
Questions: - is it correct to the standards, to send a "403" in this case? Shouldn't it be some reply, which allows re-routing the requests? - i assume, it would be desirable, to re-route Diameter requests to another peer in such cases, right?
I've noticed, that MSG_480_HSS_ERROR is actually also sent as a "403" and not as a "480" (which would trigger a re-routing), as the DEFINE message would imply....
Thanks, Carsten
P.S.: Next step for me: Add the redundant database link to the HSS/OCS, was on my Todo-List too long... ;-)