Altanai
Altanai

Reputation: 1393

Appropriate SIP response for status code 477 when SIP proxy isnt able to reach endpoint

In an implementation, I am running into a case when freeswitch is acting as proxy. It generates 477 as the dispatcher server ahead is down , since i wasnt able to find 477 in sip draft anywhere I assumed to keep the reason as "Send Failed"( based on ref : http://opensips-open-sip-server.1449251.n2.nabble.com/SIP-2-0-477-Send-failed-477-TM-Route-td7595929.html). Not sure if it is as per standard supported across carriers . Any documentation for sip 477 response will be helpful.

Upvotes: 0

Views: 4720

Answers (1)

AymericM
AymericM

Reputation: 1745

All official rfc defined responses are listed at iana.org, the Internet Assigned Numbers Authority.

You can find the list here

rfc3261 definitly allows any application (or new rfc) to extend SIP and use a new code. It also allow to use any self-defined Reason for the response codes you defined as well as the pre-defined response codes...

From rfc3261, about reason phrase: Section: 7.2 Responses

While this specification suggests specific wording for the reason phrase, implementations MAY choose other text, for example, in the language indicated in the Accept-Language header field of the request.

From rfc3261, about status-code: There is no restriction in usage of status-code in the BNF of SIP.

See Section 25 Augmented BNF for the SIP Protocol

Status-Code     =  Informational
               /   Redirection
               /   Success
               /   Client-Error
               /   Server-Error
               /   Global-Failure
               /   extension-code
extension-code  =  3DIGIT

The important part above is extension-code = 3DIGIT which means any 3 digit number can be used (of course, from 100 to 699 only).

PS: 477 is a specific code seen in kamailio, opensips, ser, openser family which, if I'm correct, usually indicate an error with the transport layer.

Upvotes: 2

Related Questions