Visual reference · SIP

SIP Call Flows
& Ladder Diagrams

Understand successful setup, progress, cancellation, hold, transfer and teardown message by message.

Rightech SolutionsUpdated 15 September 2026Technical reference

Direction matters. The examples are simplified end-to-end ladders; proxies and SBCs may add hops, headers, authentication and provisional responses.

01

Successful call

Caller → Callee

01INVITE + SDP offer →
02← 100 Trying
03← 180 Ringing
04← 200 OK + SDP answer
05ACK →
06⇄ RTP / SRTP
07BYE →
08← 200 OK

ACK completes the three-way INVITE handshake. The BYE is a new in-dialog transaction and its 200 OK is not followed by ACK.

02

Early media and PRACK

Reliable provisional response

01INVITE + Supported: 100rel →
02← 183 Session Progress + SDP + Require: 100rel + RSeq
03PRACK + RAck →
04← 200 OK (PRACK)
05← 200 OK (INVITE)
06ACK →

A 183 response may carry SDP for announcements or ringback before answer. PRACK applies when reliable provisional responses are negotiated; RSeq identifies the reliable provisional response and RAck acknowledges it.

03

CANCEL versus BYE

Cancel before answer

01INVITE →
02← 180 Ringing
03CANCEL →
04← 200 OK (CANCEL)
05← 487 Request Terminated
06ACK →

End after answer

01INVITE →
02← 200 OK
03ACK →
04BYE →
05← 200 OK

CANCEL targets a pending request. BYE ends an established dialog. A late 200 OK to INVITE must still be acknowledged. If the caller no longer wants the session, it may then terminate it with BYE; alternatively, it may continue the accepted session.

04

Hold and resume

Mid-dialog offer/answer

01re-INVITE + SDP (sendonly/inactive) →
02← 200 OK + SDP
03ACK →
04re-INVITE + SDP (sendrecv) →
05← 200 OK + SDP
06ACK →
05

Transfer with REFER

Simplified transfer

01REFER + Refer-To →
02← 200 OK (REFER)
03← NOTIFY [sipfrag: SIP/2.0 100 Trying]
04200 OK (NOTIFY) →
05← NOTIFY [sipfrag: SIP/2.0 200 OK]
06200 OK (NOTIFY) →

REFER asks the recipient to issue another request. NOTIFY reports the resulting status using a message/sipfrag body. Exact transfer behaviour depends on supported extensions and policy.

Standards: SIP, PRACK, REFER and current REFER behaviour.