// SIP 5xx Server failure

SIP 500 Server Internal Error

The server hit an unexpected condition.

5xx Server failure · RFC 3261 · Answer to OPTIONS: Answering, but it hit an internal error.

What SIP 500 means

A 500 says the server ran into an unexpected condition that stopped it from completing the request. It is a generic failure: the request may be fine, and the server simply failed while handling it. The server may add Retry-After if it expects the condition to clear.

500 appears on INVITE, REGISTER and in-dialog requests, and it points at the server or something it relies on, not at the sender. Gateways also send it on behalf of the phone network: RFC 3398 maps Q.850 cause 111, protocol error, and cause 127, interworking unspecified, to 500. A single 500 can be a passing fault; a steady stream means something on the server is broken.

Example response

SIP/2.0 500 Server Internal Error
Via: SIP/2.0/UDP 198.51.100.30:5060;branch=z9hG4bK-500-x3
From: <sip:+[email protected]>;tag=4e1b
To: <sip:+[email protected]>;tag=ie-2d
Call-ID: [email protected]
CSeq: 12 INVITE
Retry-After: 10
Reason: Q.850;cause=127;text="Interworking, unspecified"
Content-Length: 0

Common causes of SIP 500

  • A software fault in the PBX or SBC was triggered by something specific to this request, such as an unusual header.
  • A database, routing engine or other backend the server queries returned an error.
  • A script or dial plan step on the server failed, for example on a value it didn't expect.
  • A gateway hit a protocol error or an unspecified failure while interworking with the phone network.

How to fix SIP 500

  1. Find which hop generated the 500; that server's own logs at that moment are where the cause is recorded.
  2. Look for a pattern in the failing requests, such as one caller, one destination or one header, that sets them apart.
  3. Check the health of the backends the server depends on at the time of the failures.
  4. If only one node of a cluster sends 500, take it out of rotation and compare its configuration with the healthy ones.
  5. Read the Reason header: a Q.850 cause means the failure came from the phone network side of a gateway.

SIP 500 as an answer to OPTIONS

A 500 to OPTIONS means the server is answering but hit an internal error while handling the probe. The SIP stack is alive, yet something inside the server is failing, so calls may fail too. A PingVo Route counts any SIP response as reachable by default; set the expected codes to 200 if a 500 should count as a failure.

See which code your SBC returns. Run a free SIP OPTIONS check

Questions about SIP 500

Should I retry after a SIP 500?

Once, after a pause or at another server, is reasonable. If the same request keeps getting 500, the fault is on the server and retries only add load.

Can a client cause a SIP 500?

A request can trigger one, for example with a header the server's software mishandles, but the fault is still the server's. A request the server simply can't parse should get 400 instead.

Related codes

Know a line is down before your callers do

Line checks, real test calls and IVR verification for your call-center numbers, with alerts that say whose side failed.

Start free trial

14 days · full Pro features · no credit card