Skip to main content

Call States


Table of Contents (click to expand)


0. About

TODO Clear up what channel states and call states refer to exactly, and the connection between

+ Headers Channel-State* and Channel-Call-State*
+ Events CHANNEL_STATE and CHANNEL_CALLSTATE

See also corresponding TODOs in Channel States and Event List's 3.1 CHANNEL_CALLSTATE event sections.

See https://github.com/signalwire/freeswitch/blob/15ad4c23e259c1c2dff58f89e9124e5f36dd2e94/src/switch%5Fchannel.c#L248 for the available call states (see snippet below), but not going to document it formally until knowing how the entities in the TODO relate to each other.

Some of the state names resemble the ones from the sofia soa docs.

static struct switch_callstate_table CALLSTATE_CHART[] = {
{"DOWN", CCS_DOWN},
{"DIALING", CCS_DIALING},
{"RINGING", CCS_RINGING},
{"EARLY", CCS_EARLY},
{"ACTIVE", CCS_ACTIVE},
{"HELD", CCS_HELD},
{"RING_WAIT", CCS_RING_WAIT},
{"HANGUP", CCS_HANGUP},
{"UNHELD", CCS_UNHELD},
{NULL, 0}
};


1. Call states