15 · ACS, Speech, Copilot

An IVR as events

The call is a sequence of events. If you cannot name them, you cannot debug them.

Room HTMLAll downloads

Learn it in 5 minutes

A small flow is answer, play, recognize DTMF or speech, then transfer or hang up. Recognize needs a timeout. Digit 0, or an equivalent, should always reach a human. Hang-up is a complete design only when the caller did not need a person.

The lab on this campus is that sequence without a cloud subscription. Production adds the event subscription, the speech resource if you use one, and the queue you transfer to.

Treat the IVR as events: answer, play, recognize, and a tested transfer to a human.

Room HTML

Visual

Location-based routing gateLocation-based routingSite 1 subnetTrusted IP and siteLocal SBC allowedSite 2 subnetTrusted IP and siteLocal SBC allowedSite 3 subnetTrusted IP and siteLocal SBC allowed
A site map for An IVR as events. LBR is toll-bypass control, not emergency location by itself.
Minimum safe IVRAnswer · RequiredRecognize · With timeoutEscape · Tested
Escape included. Counts in this drawing are teaching order, not customers.

SVGPNGHTML

Worked example

Answer, play, recognize, transfer. The escape is tested every time the prompt changes.

  1. Answer CallConnected
  2. Play Prompt
  3. Recognize Digit or speech
  4. Transfer Human queue

If it fails: The recognize step has no escape and the caller is trapped.

Checklist HTML

Quiz

Which description of Azure AI Speech is accurate?

A colleague reports: The prompt language does not match the caller and every intent is unknown. Where do you start?

Which description of Copilot Studio voice agent is accurate?

Flashcards

Ecosystem

Glossary

  • Call Automation The ACS server-side calling API. Your app answers, plays, recognizes DTMF or speech, and transfers. You receive events. You do not drive a desktop click. Config: Subscribe to the events and time out the recognize step. Fault: The app never answers, so the caller hears ringing until the platform gives up.
  • Calling SDK The ACS client SDK for a human in a browser or a mobile app. Different from Call Automation, which is the server. Config: Pick the SDK if a person is on the page. Pick automation if a bot answers. Fault: A web page uses the calling SDK and nobody handles the server events.
  • Recognize step The Call Automation action that collects DTMF or speech. It needs a timeout and a path for ‘none of the above.’ Config: Map 0 to a human queue and test it. Fault: The bot repeats the prompt until the caller hangs up.
  • Azure AI Speech Microsoft’s speech-to-text and text-to-speech service. Copilot Studio and custom IVRs can use it. It is not emergency calling. Config: Choose a voice you are allowed to use and log the recognition result. Fault: The prompt language does not match the caller and every intent is unknown.

Sister technologies

Around the call: compliance recording, workforce management, emergency location, analytics, CRM screen pop, and an agent with a human escape. Each one has its own failure.

Config and troubleshooting

The recognize step has no escape and the caller is trapped.

Cross-platform bridges

CUCM

Cisco CUBE is one of the SBC families named in this lab’s certification lesson. A certified release can be the Direct Routing SBC between Unified CM and Teams.

The tenant still needs a verified domain on the SBC FQDN, and the user still needs Teams Phone. The studio translator does not open a live AXL session. Confirm the current certified release before you build.

Webex

Teams Phone and Webex Calling are separate clouds. This lab does not describe a feature that registers a Webex Calling user into a Teams tenant.

A number move is usually a carrier port, a certified SBC, or a meetings interop product. Confirm before relying.

UCCE

Unified CCE stays the ACD until you migrate it. Microsoft’s contact-center articles name Connect, Extend, and Unify. They do not name a UCCE connector in the notes this lab cites.

Voice into Teams is still Direct Routing or Operator Connect. The routing script stays on the contact-center product you bought. Confirm the vendor’s current model. Source: https://learn.microsoft.com/en-us/microsoftteams/teams-contact-center.

Future hooks

Copilot Studio, Azure Communication Services, and Graph are later tracks in this lab. Treat any uncited limit as confirm before relying.

BridgesEcosystem

Sources and go deeper

Opened 2026-10. A row marked confirm did not open. Wikipedia is background. The Teams blog row is the community index.

sources.json