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

SIP UniverseFree University

Ecosystem

SIP does not replace workforce management, quality monitoring, CRM, emergency policy, or a messaging registry. It is the session seam those systems hang from. Compliance notes on this page are educational and are not legal advice.

Educational only. Not legal advice, not a compliance opinion, and not a filing. Statutes and the pages linked from each card outrank this paraphrase.

Mind map

Sister technologies

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.

Sources and go deeper

Quality management and recording

QM scores interactions. The standardized way an SBC forks a session to a recorder is SIPREC.

Sources and go deeper

E911 / emergency calling

Location has to ride with the call. RFC 6881 is the BCP, RFC 6442 carries location in SIP, and the FCC MLTS page states Kari’s Law and RAY BAUM’s Act obligations for multi-line systems.

Sources and go deeper

  • RFC 6881 — last checked 2026-10
  • RFC 6442 — last checked 2026-10
  • FCC MLTS 911 requirements — confirm

CRM

Screen pop uses data the contact center already has: ANI, DNIS, case id. Those values may arrive in SIP headers or in a CTI event after the call is up. The CRM is not a SIP element.

Sources and go deeper

AI agents

A voice bot still needs a session. On Amazon Connect the platform owns the managed PSTN voice channel. Bridging an outside carrier into Connect with a Chime Voice Connector is not a supported pattern unless AWS reviews it. The FreeSWITCH manual page also describes SignalWire, founded by the FreeSWITCH team, as a hosted platform with AI agents behind REST APIs and SWML.

Sources and go deeper

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.

Sources and go deeper

Cross-platform bridges

Unified CCE and CVP

CVP configuration guides describe SIP between the call server, gateways, and CUCM. Use the guide that matches the version. This lab does not invent a script.

Sources and go deeper

Unity Connection

Unity Connection’s documented SIP integration sits on a CUCM SIP trunk. Open the integration guide for your Connection version before you copy a trunk setting.

Sources and go deeper

Webex Contact Center

This is a separate product from Webex Calling. Do not assume the Local Gateway pattern applies. Use Cisco’s current design guide for that product.

Sources and go deeper

Teams Phone

Direct Routing uses a certified SBC, TLS to the pstnhub FQDNs, and SRTP media. Users are homed in Microsoft 365.

Sources and go deeper

Open SIP core

Kamailio’s home page describes an open source SIP server that can front a PBX such as Asterisk or FreeSWITCH. rtpengine’s README describes the RTP proxy meant to sit with Kamailio. A CUCM SIP trunk toward that SIP server is still SIP. The CUCM SIP Profile and Asterisk’s pjsip.conf are different objects.

Sources and go deeper

Configuration

Asterisk PJSIP

chan_pjsip depends on res_pjsip. Accounts go in pjsip.conf. The dialplan is extensions.conf. Open the examples for the Asterisk version you run.

Sources and go deeper

FreeSWITCH

The users manual covers SIP profiles, the dialplan, codecs, media, WebRTC, and the Event Socket. It says its parameter tables were checked against the source. This lab does not copy those defaults.

Sources and go deeper

Kamailio and rtpengine

Use Kamailio for the SIP server roles its home page lists. Use rtpengine when SDP must be rewritten or when the README’s ICE and SRTP bridges are required. GNU/Linux is the platform that README names.

Sources and go deeper

Browser socket

RFC 7118 requires the WebSocket subprotocol sip. Via uses WS or WSS. The URI transport parameter the RFC adds is transport=ws. A sips path that includes WebSocket must be a secure WebSocket.

Sources and go deeper

Troubleshooting

No SIP from the browser

Stop at the WebSocket handshake. A missing 101 means the SIP request was never framed. Codecs are not negotiated yet.

Sources and go deeper

SIP succeeds and audio does not

Read c= and m=, then ICE candidates, then DTLS-SRTP. A private address in c= is a reachability problem. Identity headers do not move RTP.

Sources and go deeper

Caller identity

RFC 8224 defines the Identity header. RFC 8225 defines PASSporT. The STI-GA page describes SHAKEN. A placeholder token is not a verification. Not legal advice.

Sources and go deeper

A2P messaging

10DLC on The Campaign Registry site is a messaging channel. Do not debug it as a missing rtpmap line.

Sources and go deeper

Integration hooks

AMI, AGI, ARI

Control protocols named on the Asterisk license page. The page states Digium’s belief about applications that use them. This lab does not paste an ARI request and does not give license advice.

Sources and go deeper

Event Socket

The FreeSWITCH manual’s programming interface for the server you run. SWML on that same page is the hosted platform, not the local dialplan file.

Sources and go deeper

SIPREC

RFC 7866 is the recording session. It is a second SIP dialog, not a CRM webhook.

Sources and go deeper

SIP over WebSocket

RFC 7118 is the browser signaling hook when the application chooses SIP. JSEP also allows a custom protocol.

Sources and go deeper

Unopened APIs

A mind-map box is not an API. If this lab did not open the vendor page, the sources block says confirm and prints no URL.

Sources and go deeper

Sources and go deeper