protocols · published

SIP transactions and dialogs

Verified 2026-09-15 · 16 claims · sources tier 1–2

Also known as PAI, RPID, branch parameter, z9hG4bK.

The acknowledgement of a 2xx response to an INVITE is a separate transaction from the INVITE it acknowledges 6. The branch parameter on the topmost routing header identifies the transaction and must be unique across space and time for every request a user agent sends 8.

Transaction identification and ordering

A branch identifier written by an implementation of this specification must begin with the 7 characters z9hG4bK so a server can tell it was constructed to this specification 7. The sequence header identifies and orders transactions and consists of a number and a method that must match the request 10.

WarmTransfer's reading of the sources is that a request repeated with the same branch identifier and the same sequence number is the same transaction retransmitting rather than a new request, except in the 2 cases where the protocol reuses both by design 11. Specifically, 2 requests reuse the branch and sequence number of the request they refer to by design: a cancellation must carry a single routing header matching the top one of the request being cancelled and the identical numeric part of the sequence header, and an acknowledgement of a non-2xx response must carry a routing header equal to the top one of the original request and the same sequence number with the method set to acknowledge 9.

INVITE lifecycle and retransmissions

An INVITE is not retransmitted over a reliable transport, and retransmissions cease altogether once a provisional response arrives 12. The INVITE transaction timeout is 64 times the round trip time estimate whose default is 500 milliseconds, giving 32 seconds 14.

The INVITE server transaction is destroyed as soon as it passes a 2xx final response to the transport, so retransmitting that response is the responsibility of the user agent rather than the transaction layer 13. The originating user agent must generate an acknowledgement for each 2xx it receives with the same sequence number as the INVITE and the method set to acknowledge 15.

See also

Applicability

Across the claims in this article, the evidence covers IETF Session Initiation Protocol, verified as of 2026-09-15. The deployment model is not covered by any claim in this article.

What remains uncertain

Why an acknowledgement is absent from a capture in a given case is not covered by any claim in this article. How a dialog route set is built and how it changes which messages a capture point sees is not covered by any claim in this article. What a capture looks like when more than 1 endpoint answers a forked request is not covered by any claim in this article.

See also

Underpins

Referenced by

Claims

#ClaimStatusConfidenceVerified
1A SIP dialog is a peer-to-peer relationship between two user agents that persists over time, identified by a Call-ID value plus a local and remote tag, and it is used to sequence and route messages between the two agents.fact0.952026-09-04
2A 1xx response is provisional and every other class is final and a final response completes the transaction.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 sections 17 and 21
fact0.902026-09-15
3For every 2xx response the UAC receives to an INVITE, the UAC core generates a separate ACK sent directly by the transport layer rather than the transaction layer, reusing the INVITE's CSeq number but with the method changed to ACK.fact0.952026-09-04
4Timer H sets the wait for an acknowledgement at 64 times the round trip estimate and its expiry is what ends a server transaction that never received one.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 sections 17.2.1 and appendix A
fact0.902026-09-15
5Four timers are scoped to an unreliable transport and become 0 on a reliable one: A and E do not retransmit at all and D I J and K wait 0 seconds instead of their unreliable values.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 appendix A, the timer table
fact0.902026-09-15
6The acknowledgement of a 2xx response to an INVITE is a separate transaction from the INVITE it acknowledges.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 section 6 terminology and section 13
fact0.902026-09-15
8The branch parameter on the topmost routing header is the transaction identifier and must be unique across space and time for every request a user agent sends.fact0.902026-09-15
9Two requests reuse the branch and sequence number of the request they refer to by design: a cancellation must carry a single routing header matching the top one of the request being cancelled and the identical numeric part of the sequence header, and an acknowledgement of a non-2xx response must carry a routing header equal to the top one of the original request and the same sequence number with the method set to acknowledge.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 sections 9.1 and 17.1.1.3
fact0.902026-09-15
10The sequence header identifies and orders transactions and consists of a number and a method that must match the request.fact0.902026-09-15
11A request repeated with the same branch identifier and the same sequence number is the same transaction retransmitting rather than a new request except in the 2 cases where the protocol reuses both by design.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 sections 8.1.1.5 8.1.1.7 and 17.1.1.2
inference0.602026-09-15
12An INVITE is not retransmitted over a reliable transport and retransmissions cease altogether once a provisional response arrives.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 section 17.1.1.2
fact0.902026-09-15
13The INVITE server transaction is destroyed as soon as it passes a 2xx final response to the transport so retransmitting that response is the responsibility of the user agent rather than the transaction layer.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 section 13.3.1.4
fact0.902026-09-15
14The INVITE transaction timeout is 64 times the round trip time estimate whose default is 500 milliseconds giving 32 seconds.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 section 17.1.1.2 and the timer table in appendix A
fact0.902026-09-15
15The originating user agent must generate an acknowledgement for each 2xx it receives with the same sequence number as the INVITE and the method set to acknowledge.
RFC 3261 — SIP: Session Initiation Protocol · RFC 3261 section 13.2.2.4
fact0.902026-09-15
16Webex Calling ignores the registration expiry value sent by the Local Gateway and enforces a value of 120 seconds, refreshing at approximately half that lifetime.
Cisco Preferred Architecture for Webex Calling — Design Overview · Registration-based Local Gateway, pages 22-23
fact0.902026-09-04

Sources

tier 1 standards and regulators

RFC 3261 — SIP: Session Initiation Protocol

IETF / RFC Editor · 2002-06 · accessed 2026-09-04

tier 1 standards and regulators

SIP: Session Initiation Protocol (RFC 3261)

IETF · 2002-06 · accessed 2026-09-04

tier 2 current vendor documentation

Cisco Preferred Architecture for Webex Calling — Design Overview

Cisco Systems, Inc. (CTG TME) · 2025-08 · accessed 2026-09-04

Cite this page

APA

WarmTransfer. (2026, September 15). SIP transactions and dialogs. WarmTransfer. https://warmtransfer.net/knowledge/sip-transactions-dialogs

BibTeX

@misc{warmtransfer-sip-transactions-dialogs,
  title  = {SIP transactions and dialogs},
  author = {{WarmTransfer}},
  year   = {2026},
  url    = {https://warmtransfer.net/knowledge/sip-transactions-dialogs},
  note   = {Verified 2026-09-15}
}