FreeSwitch 信道状态(Channel Status)

States

状态

描述

CS_NEW

信道(Channel)刚建立之时

CS_INIT

信道已被初始化

CS_ROUTING

信道正在查找匹配的extension来等待执行(execute)

CS_SOFT_EXECUTE

信道从第三方控制中准备好执行

CS_EXECUTE

信道执行它的拨号计划(dialplan)

CS_EXCHANGE_MEDIA

信道跟另一个信道进行媒体交换

CS_PARK

信道接收媒体等待指令并处于悬空状态

CS_CONSUME_MEDIA

信道正在处理(consuming)所有媒体(Media)并删除处理过的媒体

CS_HIBERNATE

信道处于休眠状态

CS_RESET

信道处于重置状态

CS_HANGUP

信道被标记为挂断状态,并准备结束。媒体将不会结束,但不会有任何新的呼叫路由信息发生

CS_REPORTING

信道已经结束,媒体也已经关闭,这时将处理各种报告程序例如CDR(Call Detail Record呼叫详细记录)记录等

CS_DESTROY

信道已经被销毁了并处于状态机之外。内存池已交还给内核,信道中使用过的内存也将被释放

 

注:媒体(Media)包括铃声,视频通话信息等数据

 

状态句柄

状态句柄可以添加到全局或者是单个信道上。这样就可以添加自定义的处理函数了。

 

具体方法:

定义switch_states_handler_table_t的状态结构体并在对应的状态写上回调函数名即可。然后通过switch_core_add_state_handler()绑定,switch_core_remove_state_handler()移除


翻译出处:https://freeswitch.org/confluence/display/FREESWITCH/Channel+States

你可能感兴趣的:(freeSwitch,FreeSWITCH)