SIP codes

SIP 183 Session Progress: what it means and how to fix it

Short answer: SIP 183 Session Progress is a provisional response that reports call progress before the call is answered. In practice it almost always carries SDP and opens early media: ringback, music or a recorded announcement. It is not a failure. Listen to what that audio says and check which final response comes after it.

SIP 183 in the reference
Code183
Official nameSession Progress
Class1xx: provisional (the call is in progress)
Defined inRFC 3261

How Monitor treats SIP 183

SIP 183 on its own is not a failure: the call is still in progress. What counts is how it ends. The table shows how a test call that hears a message before it is answered is read for each kind of circuit, depending on what should answer the number.

What should answer the numberReading
A greeting or recorded message (the IVR)Down
A test tone or echo serviceDown
Other: it may ring or be answeredDown

What Monitor records for an IVR: The line never rang and nothing answered, but this circuit is supposed to answer every call by itself.

A call read as Down alerts nobody on its own: it is repeated 3 times, every 2 minutes, and only 4 failures in a row open an incident, with each call's SIP code and Q.850 cause as evidence for the carrier. At the default pace, every circuit is tested every 15 minutes.

What does SIP 183 mean in practice?

Under RFC 3261, SIP 183 Session Progress reports call progress when no other provisional response applies. In practice it almost always carries an SDP and opens the audio path before the call is answered, which is known as early media (RFC 3960). That way the caller hears whatever the destination wants to play before the 200 OK: ringback generated by the network, music, a recording notice or a carrier message.

This is where the risk lies for anyone doing monitoring. An 0800 (toll-free) number that plays a message before answering is normal, but the network uses the same technique to announce that the number does not exist, that the subscriber is out of the coverage area or that the route is congested. The call “talks” without having been answered, and only the final response and the content of the audio tell you whether it worked.

Common causes in Brazil

  • An 0800 number or IVR that plays a notice before answering, such as “this call may be recorded,” sent as early media.
  • The carrier’s network (Vivo, Claro, Algar, Embratel or others) generating ringback as audio instead of letting your side generate it locally.
  • A recorded network message announcing a nonexistent number, a phone that is switched off or out of the coverage area, played before a final error response.
  • An interconnection gateway to the traditional phone network that translates call progress into a 183 with audio.
  • An Asterisk, Issabel or FreePBX PBX using Progress() or Playback(...,noanswer) in the dial plan to play audio without answering.
  • 3CX or Intelbras passing the carrier’s early media through to the extension that placed the call.

How to diagnose it

  1. Capture the call with sngrep port 5060 and open the 183: check whether it carries an application/sdp body and which IP and port the audio is going to.
  2. On Asterisk, Issabel or FreePBX, use pjsip set logger on (or sip set debug on with chan_sip) to see the full 183 and the final response that follows.
  3. Record or listen to the early media. In sngrep, the RTP flow screen helps confirm whether audio packets are arriving before the 200 OK.
  4. Check whether the 183 requires acknowledgment (Require: 100rel). If it does, your side must answer with PRACK (RFC 3262), or the destination may resend the 183 and end the attempt.
  5. If the audio is an error message, look for the Reason: Q.850;cause=... header (RFC 6432) in the final response to see the exact cause.
  6. If there is no audio, check NAT and the firewall: the SDP in the 183 may point to a private IP or to blocked RTP ports.

What to send the carrier

  • Date and time of the calls, with the time zone.
  • Calling number (A) and called number (B), as they appear in the INVITE.
  • The Call-ID of an affected call and the SDP received in the 183.
  • What was heard in the early media (the text of the announcement or a recorded excerpt).
  • The final response line and the Reason header with the Q.850 cause, if present.
  • The pcap of the call, including the RTP, when available.

Frequently asked questions

Why does the 0800 number play a message before it answers?

Because the destination or the carrier sent 183 Session Progress with SDP and started sending audio before the 200 OK. That is how announcements like "this call may be recorded" or hold music before the call is picked up work. Until the 200 OK arrives, the call has not been answered as far as SIP is concerned, even if you can already hear something.

Does hearing audio on the 183 mean the call went through?

No. Early media may be precisely the announcement that the call will not complete, such as "the number you dialed does not exist" or "this phone is switched off." A check that only listens for sound can mark an 0800 (toll-free) number as working when it is actually playing a network error message. You have to look at the final response and at what the audio says.

Does a real test call see what happens after the 183?

Yes. Because it is a real call, it follows the call all the way to the final SIP response instead of stopping at the 183. The 183 on its own does not decide the result. The call also checks audio in both directions and the measured voice quality (MOS-LQO), and a failure is repeated before any alert goes out.

Know before your customers do

Monitor calls every voice circuit all day and delivers each failure with the SIP code and the Q.850 cause as evidence.