Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 213882) +++ channels/chan_sip.c (working copy) @@ -3552,7 +3552,7 @@ return "404 Not Found"; case AST_CAUSE_CONGESTION: /* 34 */ case AST_CAUSE_SWITCH_CONGESTION: /* 42 */ - return "503 Service Unavailable"; + return "500 Service Unavailable"; case AST_CAUSE_NO_USER_RESPONSE: /* 18 */ return "408 Request Timeout"; case AST_CAUSE_NO_ANSWER: /* 19 */ @@ -4059,7 +4059,7 @@ break; case AST_CONTROL_CONGESTION: if (ast->_state != AST_STATE_UP) { - transmit_response_reliable(p, "503 Service Unavailable", &p->initreq); + transmit_response_reliable(p, "500 Service Unavailable", &p->initreq); p->invitestate = INV_COMPLETED; sip_alreadygone(p); ast_softhangup_nolock(ast, AST_SOFTHANGUP_DEV); @@ -13987,7 +13987,7 @@ } /* - From the RFC... + From RFC 3515 A minimal, but complete, implementation can respond with a single NOTIFY containing either the body: SIP/2.0 100 Trying @@ -14039,6 +14039,7 @@ /* Do we get the header in the packet in this case? */ success = FALSE; break; + case 500: /* Internal error: The new call failed */ case 503: /* Service Unavailable: The new call failed */ /* Cancel transfer, continue the call */ success = FALSE; @@ -15020,9 +15021,9 @@ if (ast_pickup_call(c)) { ast_log(LOG_NOTICE, "Nothing to pick up for %s\n", p->callid); if (ast_test_flag(req, SIP_PKT_IGNORE)) - transmit_response(p, "503 Unavailable", req); /* OEJ - Right answer? */ + transmit_response(p, "500 Unavailable", req); /* OEJ - Right answer? */ else - transmit_response_reliable(p, "503 Unavailable", req); + transmit_response_reliable(p, "500 Unavailable", req); sip_alreadygone(p); /* Unlock locks so ast_hangup can do its magic */ ast_mutex_unlock(&p->lock); @@ -16245,7 +16246,7 @@ if (option_debug) ast_log(LOG_DEBUG, "Ignoring too old SIP packet packet %d (expecting >= %d)\n", seqno, p->icseq); if (req->method != SIP_ACK) - transmit_response(p, "503 Server error", req); /* We must respond according to RFC 3261 sec 12.2 */ + transmit_response(p, "500 Server error", req); /* We must respond according to RFC 3261 sec 12.2 */ return -1; } } else if (p->icseq &&