hi,
I would suggest to adapt the describing strings for
the 456xx responses according to RFC 3261.
additionally I added the codes 417 (RFC 4412), 513 (RFC 3261) and 469 (RFC 6086).
static const struct code_to_reason reasons4xx[] = {
{400, "Bad Request"},
{401, "Unauthorized"},
{402, "Payment Required"},
{403, "Forbidden"},
{404, "Not Found"},
{405, "Method Not Allowed"},
{406, "Not Acceptable"},
{407, "Proxy Authentication Required"},
{408, "Request Timeout"},
{409, "Conflict"},
{410, "Gone"},
{411, "Length Required"},
{412, "Conditional Request Failed"},
{413, "Request Entity Too Large"},
{414, "Request-URI Too Long"},
{415, "Unsupported Media Type"},
{416, "Unsupported URI Scheme"},
{417, "Unknown Resource-Priority"},
{420, "Bad Extension"},
{421, "Extension Required"},
{422, "Session Interval Too Small"},
{423, "Interval Too Brief"},
{469, "Bad Info Package"},
{480, "Temporarily Unavailable"},
{481, "Call/Transaction Does Not Exist"},
{482, "Loop Detected"},
{483, "Too Many Hops"},
{484, "Address Incomplete"},
{485, "Ambiguous"},
{486, "Busy Here"},
{487, "Request Terminated"},
{488, "Not Acceptable Here"},
{489, "Bad Event"},
{491, "Request Pending"},
{493, "Undecipherable"},
};
static const struct code_to_reason reasons5xx[] = {
{500, "Server Internal Error"},
{501, "Not Implemented"},
{502, "Bad Gateway"},
{503, "Service Unavailable"},
{504, "Server Time-out"},
{505, "Version Not Supported"},
{513, "Message Too Large"},
};
static const struct code_to_reason reasons6xx[] = {
{600, "Busy Everywhere"},
{603, "Decline"},
{604, "Does Not Exist Anywhere"},
{606, "Not Acceptable"},
{687, "Dialog Terminated"}
};
br,
christoph