CS_EXECUTE - Channel is executing it's dialplan. CS_EXCHANGE_MEDIA - Channel is exchanging media with another channel. CS_PARK - Channel is accepting media awaiting commands. CS_CONSUME_MEDIA - Channel is consuming all media and dropping it. CS_HIBERNATE - Channel is in a sleep state. CS_...
很多自动外呼程序 会加 ignore_early_media=true 来等待应答后再转入dialplan。加了这个变量就无法识别了。如果fs版本较高也可以改成 ignore_early_media=true 改成 ignore_early_media=consume 就可以了。如果fs版本比较低需要用 wait_for_answer_da 代替这个变量比如 originate {execute_on_pre_answer=start_da2}...
originate_on_routing 修改状态机的状态:CS_ROUTING -> CS_CONSUME_MEDIA switch_channel_set_state(channel, CS_CONSUME_MEDIA); switch_core_session_run 状态机处理状态变化 STATE_MACRO(consume_media, "CONSUME_MEDIA"); on_ consume_media 即 : NULL switch_core_standard_on_consume_media• CS_EXCHANGE...
on_exchange_media => channel进入 CS_EXCHANGE_MEDIA 状态的回调函数 on_soft_execute => channel进入 CS_SOFT_EXECUTE 状态的回调函数,用于从其它channel接收或发送数据 on_consume_media => channel进入 CS_CONSUME_MEDIA 状态的回调函数, on_hibernate => channel进入 CS_HIBERNATE 状态的回调函数,sleep操作 on...
static const switch_state_handler_table_t uuid_bridge_state_handlers = { /*.on_init */ NULL, /*.on_routing */ NULL, /*.on_execute */ NULL, /*.on_hangup */ NULL, /*.on_exchange_media */ NULL, /*.on_soft_execute */ uuid_bridge_on_soft_execute, /*.on_consume_media */ ...
8. SWITCH_SHN_ON_CONSUME_MEDIA, 9. SWITCH_SHN_ON_HIBERNATE, 10. SWITCH_SHN_ON_RESET, 11. SWITCH_SHN_ON_PARK, 12. SWITCH_SHN_ON_REPORTING, 13. SWITCH_SHN_ON_DESTROY 14. } switch_state_handler_name_t; 15. 16. typedef switch_status_t (*switch_state_handler_t) (switch_core_sessio...
cpp:1465 API:{ "row_count":1,"rows":[{ "uuid":"03a09783-11d9-4d7e-ab56-b39f56d6a687","direction":"outbound","created":"2021-12-11 07:41:37","created_epoch":"1639208497","name":"sofia/internal-nat/9001@192.168.1.2:59672","state":"CS_CONSUME_MEDIA","cid_name":"9002","...
originate_on_routing 修改状态机的状态:CS_ROUTING -> CS_CONSUME_MEDIA switch_channel_set_state(channel, CS_CONSUME_MEDIA); switch_core_session_run 状态机处理状态变化 STATE_MACRO(consume_media, "CONSUME_MEDIA"); on_ consume_media 即 : NULL switch_core_standard_on_consume_media ...
CS_CONSUME_MEDIA originate_on_routing 修改状态机的状态:CS_ROUTING -> CS_CONSUME_MEDIA switch_channel_set_state(channel, CS_CONSUME_MEDIA); switch_core_session_run 状态机处理状态变化 STATE_MACRO(consume_media, "CONSUME_MEDIA"); on_ consume_media 即 : NULL switch_core_standard_on_consume_medi...
最后启动状态机线程switch_core_session_thread_launch进入状态机模式,CS_NEW -> CS_INIT-> CS_ROUTING-> CS_CONSUME_MEDIA, usc2最终应答 200 ok,服务器 根据200 ok sdp消息体与uac1提供的sdp协商,成功后发200 ok给 uac1,呼叫桥接成功。uac2状态机转换CS_CONSUME_MEDIA -> CS_EXCHANGE_MEDIA,媒体流桥接开...