UC LabFree University

T1 · T1-R01

SIP transactions and dialogs

Learn it in 5 minutes

  • A transaction pairs a request with its responses.
  • INVITE, its final response, and the ACK for a 2xx are how a call is accepted.
  • A dialog needs a Call-ID and both tags. A 100 Trying has no To tag.
  • BYE ends that dialog.
  • RTP does not have to follow the proxy that forwarded the INVITE.

Visual

SIP transactions and dialogs diagram

What is going on

RFC 3261 separates transactions from dialogs. People debug the wrong object when a retransmitted 200 is treated as a second call, or when a To tag on a 180 is treated as an answer. The 180 means alerting. The 200 means the far end accepted the session. ACK completes that handshake for a 2xx. Media can start once offer and answer are known, which is often the 200, and the packets may go directly between the endpoints.

Worked example

A phone sends INVITE through CUCM. CUCM is a back-to-back user agent in this path, so you may see two Call-IDs. On each leg, find the branch, the CSeq, and the tags before you decide the call failed.

Quiz

1. A 180 Ringing means the call was answered.

2. ACK for a 2xx is optional.

Ecosystem

Sister pieces sit on the ecosystem page: the glossary, the mind map, the integration map, and the sibling labs.

  • Transaction — A request and its matching responses.
  • Dialog — A peer relationship identified by Call-ID and tags.

Config. On a ladder, write the method, status, CSeq, and tags for one leg only.

Troubleshooting. If the 200 repeats, look for a missing ACK before you look at QoS.

Bridge. CUCM, CUBE, and a carrier SBC can each be a B2BUA. Count the dialogs.

Mind map, sister technologies, and future hooks live on the ecosystem page.

Sources

Product screens move. Confirm the guide for your release before you change a live system.

Sources and go deeper

Opened 2026-10. A row marked confirm has no link, because that page was not verified.

sources.json Markdown