A student's open lab: learning and sharing, free for everyone.

SIP UniverseFree University

Home / SIP core: messages, transactions, dialogs / Transactions and the branch cookie

Transactions and the branch cookie

A transaction is identified by the branch, and a retransmission repeats that branch instead of starting a new one.

Learn in 5 minutes

  1. Use the branch as the transaction id
  2. Separate a retransmission from a new request
  3. Apply the ACK branch rule for 2xx and non-2xx

Visual

Retransmit, then a new ACK branch · study drawing · cyphermonkeylabs.com UAPeer INVITE INVITE 100 200 ACK

SVG HTML PNG

Calling retransmits. Proceeding waits. A 2xx is handed to the transaction user because its ACK is a new transaction.

Worked example

Compare the two branches Inspect the retransmitted INVITE and the ACK. Decide which hop starts a new transaction.

  1. Step to the second INVITE.
  2. Compare its branch with the first.
  3. Inspect the ACK branch.

Fault

The UAS keeps retransmitting 200 OK. The ACK is on the wire with the INVITE's branch.

Reusing the INVITE branch makes this ACK look like part of the INVITE transaction, which is the non-2xx rule.

Quiz

A retransmission is recognized by


The ACK for a 200 OK


The ACK for a 486


If Timer B fires, the INVITE client


RFC 6026


CANCEL's branch is


Ecosystem

Glossary, sister systems, and the integration seam for this room.

Analytics Amazon Connect can attach conversational analytics to an external voice system with a SIPREC connector. The analytics plane is not a second SIP proxy for the customer call.

Glossary · Ecosystem map · Ports · Troubleshooting

Sources and go deeper