首页 > 代码库 > Channel States

Channel States

Introduction

A channel (a call) will go through many different states during its lifetime. Here we will describe the different states that a channel might find itself in, and what each of those states mean.

States

StateDescription
CS_NEWChannel is newly created.
CS_INITChannel has been initialized.
CS_ROUTINGChannel is looking for an extension to execute.
CS_SOFT_EXECUTEChannel is ready to execute from 3rd party control.
CS_EXECUTEChannel is executing its dialplan.
CS_EXCHANGE_MEDIAChannel is exchanging media with another channel.
CS_PARKChannel is accepting media awaiting commands.
CS_CONSUME_MEDIAChannel is consuming all media and dropping it.
CS_HIBERNATEChannel is in a sleep state.
CS_RESETChannel is in a reset state.
CS_HANGUPChannel is flagged for hangup and ready to end. Media will now end, and no further call routing will occur.
CS_REPORTINGThe channel is already hung up, media is already down, and now it‘s time to do any sort of reporting processes such as CDR logging.
CS_DESTROYChannel is ready to be destroyed and out of the state machine. Memory pools are returned to the core and utilized memory from the channel is freed.

State Handlers

Custom state handlers can be added to the channels either globally or on a per-channel basis. This will allow you to do your own custom reporting or clean up your own dynamically created objects, for example. Custom handlers can also be then removed from a channel.

 

Channel States