Skip to main content

Class: CallManager

Defined in: packages/agentos/src/voice/CallManager.ts:66

Constructors

Constructor

new CallManager(config): CallManager

Defined in: packages/agentos/src/voice/CallManager.ts:74

Parameters

config

VoiceCallConfig

Returns

CallManager

Methods

dispose()

dispose(): void

Defined in: packages/agentos/src/voice/CallManager.ts:533

Clean up all state (for shutdown).

Returns

void


findCallByProviderCallId()

findCallByProviderCallId(providerCallId): CallRecord | undefined

Defined in: packages/agentos/src/voice/CallManager.ts:403

Find a call by provider-assigned call ID.

Parameters

providerCallId

string

Returns

CallRecord | undefined


getActiveCalls()

getActiveCalls(): CallRecord[]

Defined in: packages/agentos/src/voice/CallManager.ts:415

Get all active (non-terminal) calls.

Returns

CallRecord[]


getCall()

getCall(callId): CallRecord | undefined

Defined in: packages/agentos/src/voice/CallManager.ts:398

Get a call by internal ID.

Parameters

callId

string

Returns

CallRecord | undefined


getProvider()

getProvider(name?): IVoiceCallProvider | undefined

Defined in: packages/agentos/src/voice/CallManager.ts:90

Get a registered provider by name.

Parameters

name?

VoiceProviderName

Returns

IVoiceCallProvider | undefined


handleInboundCall()

handleInboundCall(params): CallRecord | null

Defined in: packages/agentos/src/voice/CallManager.ts:425

Handle an inbound call based on the configured policy. Creates a CallRecord if the call is accepted.

Parameters

params
fromNumber

string

provider

VoiceProviderName

providerCallId

string

seedId?

string

toNumber

string

Returns

CallRecord | null


hangupCall()

hangupCall(callId): Promise<void>

Defined in: packages/agentos/src/voice/CallManager.ts:215

Hang up a call. Transitions to 'hangup-bot' terminal state.

Parameters

callId

string

Returns

Promise<void>


initiateCall()

initiateCall(params): Promise<CallRecord>

Defined in: packages/agentos/src/voice/CallManager.ts:132

Initiate an outbound phone call.

Creates a CallRecord in 'initiated' state, delegates to the provider to place the call, and returns the internal call ID.

Parameters

params
fromNumber?

string

message?

string

mode?

CallMode

providerName?

VoiceProviderName

seedId?

string

toNumber

string

Returns

Promise<CallRecord>


on()

on(handler): () => void

Defined in: packages/agentos/src/voice/CallManager.ts:101

Register a handler for call events.

Parameters

handler

CallManagerEventHandler

Returns

Unsubscribe function.

(): void

Returns

void


processNormalizedEvent()

processNormalizedEvent(event): void

Defined in: packages/agentos/src/voice/CallManager.ts:280

Process a single normalized call event.

Parameters

event

NormalizedCallEvent

Returns

void


processWebhook()

processWebhook(providerName, ctx): void

Defined in: packages/agentos/src/voice/CallManager.ts:255

Process an incoming webhook from a telephony provider.

Verifies the signature, parses events, and applies state transitions. Idempotent — duplicate event IDs are silently skipped.

Parameters

providerName

VoiceProviderName

ctx

WebhookContext

Returns

void


registerProvider()

registerProvider(provider): void

Defined in: packages/agentos/src/voice/CallManager.ts:83

Register a telephony provider.

Parameters

provider

IVoiceCallProvider

Returns

void


speakText()

speakText(callId, text): void

Defined in: packages/agentos/src/voice/CallManager.ts:238

Add a bot speech entry to the transcript and transition to speaking.

Parameters

callId

string

text

string

Returns

void