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

SIP UniverseFree University

Home / Registration, DNS, and routing / Forking and early dialogs

Forking and early dialogs

A forking proxy creates one client transaction per binding, and each To tag is a separate early dialog.

Learn in 5 minutes

  1. Give each branch its own Via branch
  2. Key early dialogs on the remote tag
  3. Forward every 2xx and cancel other branches on a 6xx

Visual

Two early dialogs · study drawing · cyphermonkeylabs.com PeerProxyPhone APhone B INVITE 100 INVITE INVITE 180 180

SVG HTML PNG

Call-ID and the From tag match. The To tags do not. That is two dialogs.

Worked example

Separate the tags Step both 180 responses. The Call-ID matches and the To tags do not.

  1. Play to the first 180.
  2. Play to the second 180.
  3. Write down both To tags.

Fault

Phone A answers. The proxy sends CANCEL to Phone B and then Phone B's 200 OK arrives anyway. The caller never sees it.

The specification forwards every 2xx. The UAC decides which dialog to keep.

Quiz

Each forked branch has


Two 180 responses with different To tags are


100 Trying from a downstream branch


When one branch sends 200 OK, the proxy


A 6xx makes the proxy


The UAC handles two 200 OK responses by


Ecosystem

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

Workforce management WFM forecasts volume and builds schedules. It consumes contact-center events. It does not parse Via headers. When a forecast is wrong, the SIP symptom is usually queue delay and 480 or carrier congestion, not a broken dialog ID.

Programmable communications APIs Twilio’s docs home is API reference, tutorials, and integration for Twilio products. Elastic SIP Trunking is the SIP-shaped product already cited in this lab. This page does not define the word CPaaS from an RFC. Read the vendor page before you copy a diagram that uses that word.

Glossary · Ecosystem map · Ports · Troubleshooting

Sources and go deeper