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}
};