Constants

View as MarkdownOpen in Claude

The @signalwire/sdk package re-exports string constants for call states, connect states, event types, and message states. Import any of them from the package root:

1import {
2 CALL_STATE_ANSWERED,
3 CALL_STATE_ENDED,
4 CONNECT_STATE_CONNECTED,
5 EVENT_CALL_STATE,
6 MESSAGE_STATE_DELIVERED,
7} from '@signalwire/sdk';

Call States

Constants representing the lifecycle states of a RELAY call. A call progresses through these states in order: created -> ringing -> answered -> ending -> ended.

ConstantValueDescription
CALL_STATE_CREATED"created"Call object has been created
CALL_STATE_RINGING"ringing"Call is ringing at the destination
CALL_STATE_ANSWERED"answered"Call has been answered
CALL_STATE_ENDING"ending"Call is in the process of ending
CALL_STATE_ENDED"ended"Call has ended

Connect States

Constants representing the state of a call bridge (connect) operation. Used in ConnectEvent.connectState.

ConstantValueDescription
CONNECT_STATE_CONNECTING"connecting"Bridge is being established
CONNECT_STATE_CONNECTED"connected"Bridge is active
CONNECT_STATE_DISCONNECTED"disconnected"Bridge has been disconnected
CONNECT_STATE_FAILED"failed"Bridge attempt failed

Event Types

String constants for RELAY event types. Use these when registering event handlers with Call.on() or when matching against RelayEvent.eventType.

Calling Events

ConstantValue
EVENT_CALL_STATE"calling.call.state"
EVENT_CALL_RECEIVE"calling.call.receive"
EVENT_CALL_CONNECT"calling.call.connect"
EVENT_CALL_PLAY"calling.call.play"
EVENT_CALL_COLLECT"calling.call.collect"
EVENT_CALL_RECORD"calling.call.record"
EVENT_CALL_DETECT"calling.call.detect"
EVENT_CALL_FAX"calling.call.fax"
EVENT_CALL_TAP"calling.call.tap"
EVENT_CALL_SEND_DIGITS"calling.call.send_digits"
EVENT_CALL_DIAL"calling.call.dial"
EVENT_CALL_REFER"calling.call.refer"
EVENT_CALL_DENOISE"calling.call.denoise"
EVENT_CALL_PAY"calling.call.pay"
EVENT_CALL_QUEUE"calling.call.queue"
EVENT_CALL_STREAM"calling.call.stream"
EVENT_CALL_ECHO"calling.call.echo"
EVENT_CALL_TRANSCRIBE"calling.call.transcribe"
EVENT_CALL_HOLD"calling.call.hold"
EVENT_CONFERENCE"calling.conference"
EVENT_CALLING_ERROR"calling.error"

Messaging Events

ConstantValue
EVENT_MESSAGING_RECEIVE"messaging.receive"
EVENT_MESSAGING_STATE"messaging.state"

Message States

Constants representing the lifecycle states of an SMS/MMS message. Outbound messages progress through: queued -> initiated -> sent -> delivered (or undelivered / failed). Inbound messages arrive with state received.

ConstantValueDescription
MESSAGE_STATE_QUEUED"queued"Message has been queued for sending
MESSAGE_STATE_INITIATED"initiated"Send process has started
MESSAGE_STATE_SENT"sent"Message has been sent to the carrier
MESSAGE_STATE_DELIVERED"delivered"Message was delivered to the recipient
MESSAGE_STATE_UNDELIVERED"undelivered"Message could not be delivered
MESSAGE_STATE_FAILED"failed"Message send failed
MESSAGE_STATE_RECEIVED"received"Inbound message received

Example

1import {
2 CALL_STATE_ANSWERED,
3 CALL_STATE_ENDED,
4 EVENT_CALL_STATE,
5 MESSAGE_STATE_DELIVERED,
6 MESSAGE_STATE_UNDELIVERED,
7 MESSAGE_STATE_FAILED,
8} from '@signalwire/sdk';
9import type { CallStateEvent } from '@signalwire/sdk';
10
11// Use in event handlers
12function handleCallState(event: CallStateEvent) {
13 if (event.callState === CALL_STATE_ANSWERED) {
14 console.log('Call answered!');
15 } else if (event.callState === CALL_STATE_ENDED) {
16 console.log(`Call ended: ${event.endReason}`);
17 }
18}
19
20// Check terminal message states
21const TERMINAL = [MESSAGE_STATE_DELIVERED, MESSAGE_STATE_UNDELIVERED, MESSAGE_STATE_FAILED];
22function handleMessageState(message: { state: string }) {
23 if (TERMINAL.includes(message.state)) {
24 console.log('Message delivery complete');
25 }
26}