DidRoute records to decide where the call should go — an extension, a call queue, or an IVR menu. Each DID is sourced from a carrier or VoIP provider and carries a status that controls whether it is actively accepting calls.
Key fields
| Field | Type | Description |
|---|---|---|
tenant_id | integer | The tenant this DID is assigned to. Required. |
number | string | The E.164 or local-format phone number (e.g. +12125550100). Max 50 characters. |
provider | string | The carrier or SIP trunk supplying this number (e.g. Twilio, Vonage). |
description | string | Optional free-text label to identify the number’s purpose. |
status | string | Operational state (e.g. active, inactive). Inactive DIDs do not route calls. |
How DID routing works
Each DID can have one or moreDidRoute records attached to it. Routes define the destination — an extension or a queue — and any conditions that govern when that destination applies (time of day, day of week, etc.). When an inbound call arrives, LaraCopilot evaluates the routes in order and forwards the call to the first matching destination.
A DID with no active routes will fail to connect inbound calls. Always configure at least one route before setting a DID’s
status to active.API examples
Create a DID
Retrieve a DID with its routes
Routing DIDs to extensions vs. queues
Route to an extension
Best for dedicated lines — a direct number that always rings a specific person’s extension, such as an executive or a department head.
Route to a queue
Best for shared lines — a support or sales number that distributes calls across a pool of available agents using the queue’s configured strategy.