Function calling is the ability of a large language model to emit a structured call to a predefined function — e.g. `book_appointment(date, time, treatment)` — instead of a free-text reply. For an AI phone assistant it is the central mechanism that translates natural language into deterministic backend actions.
In a voice-AI stack you register tools (CRM lookup, calendar slot query, ticket creation, payment-link send) with a JSON schema. At runtime the model decides which tool to invoke when, and the application executes the call against the real API. Results flow back into the dialogue as tool results.
Operational hardening: strict parameter schemas with required fields and enums, per-use-case allow-listing of callable functions, idempotency keys for mutating calls, and an audit log of every invocation. Without these guardrails, function calling becomes a prompt-injection attack surface.