UC LabFree University

CUCM · SIP · gateways · contact center

Voice, then the dial plan, then the edge.

A free study lab for Unified Communications: SIP, CUCM, CUBE, SRST, Expressway, voice QoS, UCCE, a careful move toward Webex Calling, emergency calling, call recording, and bridges to open telephony. Built by Cypher Monkey, a lifelong student and AI builder. Figures that depend on a release are marked confirm before relying. Emergency and recording pages are study notes, not legal advice.

Sources and go deeper

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

sources.json

Teaching UC stack Signaling goes down. Media can take the side path. Phone CUCM CUBE PSTN RTP Confirm every box against the design you run. RTP skips a proxy unless that box is a B2BUA.
36rooms
78diagrams
42flows
11tracks

11 paths

The older flagship studio remains at flagship/index.html. The 580-section campus remains beside it as a comparison library: Teams Phone, Genesys, Five9, NICE, Amazon Connect, and the other names there are study references, not this course and not endorsements. This front door is the round-2 Cisco UC course.

Read this before the first room

A phone call in this lab is two jobs that share a clock. Signaling asks for the session and names the parties. Media is the voice, carried as RTP. RFC 3261 defines the Session Initiation Protocol that carries the request. RFC 3550 defines RTP. If you mix those jobs, you will chase a dial plan while the packets never arrive, or you will chase a codec while the request never left the phone.

Start with one leg. An INVITE asks for a session. A 100 Trying means a hop received it. A 180 Ringing means alerting. A 200 OK means the far end accepted. The ACK completes a successful INVITE. A transaction is that request together with its responses. A dialog is the longer relationship, named by a Call-ID and the tags on From and To. A 100 has no To tag, so it is not yet a dialog. BYE ends the dialog you already have. CUCM and CUBE are often back-to-back user agents, so one human call can be two Call-IDs. Count the dialogs before you decide the call failed.

SDP is not a second protocol you can skip. RFC 4566 describes the session description. RFC 3264 is the offer and the answer. Early offer puts the offer in the INVITE. Delayed offer puts it later, often in the 200, with the answer in the ACK. The answer may drop codecs. It does not invent a codec the offer never listed. Read the m= lines and the direction attributes. sendonly against sendonly is a quiet call with perfect signaling.

REGISTER is not a call. It publishes a Contact for an address-of-record, and the binding expires. A 401 is a challenge. The next REGISTER needs a new CSeq. A phone can be registered and still have no media path. That distinction matters again at the edge. Mobile and Remote Access still ends as a registration on the call agent. The Expressway pair is the path. The port list belongs to the guide for the release you run. This page does not invent one.

Early media is the tone or the announcement you hear before answer. A 183 Session Progress can carry SDP. When that response is reliable, RFC 3262 expects a PRACK, and PRACK is its own transaction. Hearing ringback does not mean the called party answered.

The dial plan is who may reach which pattern. On CUCM a partition is a bucket of patterns and a calling search space is an ordered list of those buckets. First match in that order wins. A route pattern matches digits, a route list orders route groups, and a route group holds trunks or gateways. Called, calling, and redirecting numbers are different fields, so a mask can repair caller identity or break it. Menu names move between releases. When a Cisco guide was not opened for this lab, the sources block says confirm and shows no address. Use the guide for the version you run before you change a live system.

CUBE is a border element that terminates one SIP dialog and starts another. Inbound match and outbound match are different questions. SRST is the smaller dial plan a phone uses when it cannot reach the call agent. It is not a copy of the campus dial plan. A local gateway toward Webex Calling is another peer. The local-gateway articles on Webex Help are the ones this lab opened, including Get started with Local Gateway.

Voice quality is a budget, not a slogan. RFC 3246 defines expedited forwarding, the behavior people mark as DSCP 46 for voice RTP. RFC 4594 is the service-class map, and it does not always match a vendor signaling mark. ITU-T G.114 is the usual citation for one-way delay planning, often remembered as 150 milliseconds. ITU-T G.711 is the pulse-code codec behind the 64 kbit/s payload. On the wire, a 20 millisecond G.711 packet plus the IP, UDP, and RTP headers is about 80 kbit/s at layer 3, and a little more with an Ethernet header. A priority queue schedules that class. It does not create bandwidth the link does not have. A location on the call agent is a call-admission budget between sites. It does not, by itself, mark the packets.

Contact center is a later stage of the same call. Ingress, the routing script, the queue treatment, and the agent endpoint are different objects. Queue audio is not an agent ringing. Webex Contact Center and Unified Contact Center Enterprise are different products. A label still has to be a number the call agent can route.

A move toward Webex Calling is a number you can give back. Multi-tenant Calling and Dedicated Instance are different offers. Get started with Webex Calling is the overview this lab opened on the Webex Help Center. Dual-run one number, save the old route, and rehearse the rollback before you move the next one. Survivability features depend on the subscription. If a survivability article was not opened, the sources row says confirm and carries no address.

Emergency calling is a later requirement on the same phone, and it is not a lab trick. The FCC page this lab opened, Kari's Law and RAY BAUM'S Act for multi-line telephone systems, describes direct 911 dialing, a notification that must not delay the call, and dispatchable location for covered systems in the United States. Cisco Emergency Responder is the product that maps a discovered switch port to an emergency response location and an ELIN. The Release 15 planning chapter says phones on unknown switches are unlocated. This is study material, not legal advice. A rule this lab did not open stays on a confirm row with no address.

Call recording is a copy of the media, started on purpose. The CUCM 15 feature guide says a phone can fork two streams, or a gateway can, and the built-in bridge has to be on when the phone is the source. RFC 7866 is the session recording protocol. RFC 7245 is the architecture, and it says some environments record for compliance. It does not name your statute. A quality score is not the file.

An open PBX or a browser is another peer. SIP trunking joins a provider and a SIP PBX. Asterisk and FreeSWITCH keep their own dialplans. RFC 8825 is the WebRTC protocol overview, and RFC 7118 carries SIP over a WebSocket. A browser does not become a CUCM phone because both can carry voice.

When something breaks, write one hypothesis and make one change. A 200 OK does not prove two-way audio. Compare the addresses in SDP with the packets you actually see. If the symptom does not move, put the change back. The tracks below are that sequence: SIP, the dial plan, CUBE and SRST, Expressway, voice QoS, the contact-center bridge, a careful migration, the troubleshooting habit, emergency calling, recording, and the open-telephony bridge.

Sources and go deeper

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

sources.json