• FREESWITCH SEESION


    SESSION

    SESSIONFS的核心概念之一,所以需要拿出来专门的分析下。

    从以下几个方面进行分析,结构类型,资源的管理,对于呼叫的意义,规格。

    1、结构类型

    每一次呼叫会申请一个session,并为每个申请的session申请一个channelChannel为每次呼叫的实体,呼叫中状态机状态就是从channel中获取。新申请的channelstateCS_NEWrunning_stateCS_NONE

    相互关系为:

    SESSION结构为:switch_core_session

    CHANNEL结构为:switch_channel

    2、资源管理

    FS运行时可能存在多路呼叫,即会产生多个SESSION。对于SESSION的查找和管理通过全局结构变量session_manager实现,其keyUUID

    FS运行中会执行大量的回调函数。SESSION中的变量endpoint_interface保存了全局函数指针endpoint_interface的地址。从而实现了会话的入局回调,出局回调函数的统一个调用。

    FS主要是C语言完成的,所以要小心的保护好全部变量的值,在申请SESSION的时申请了各种类型的信号量,用来保证系统的正常的运行。

    FS也是消息驱动的系统。所以申请SESSION的时候申请了2个消息队列,3个事件队列(FIFO也是FS的一个核心概念,以后进行描述,这里不再详细记录。)

  • 相关阅读:
    JSP基础
    线程控制
    多线程简述
    Servlet生命周期
    同步代码块和同步方法有什么区别?
    java.sql.Date和java.util.Date的区别
    Java自学指南五、编码工具
    基本类型和包装类的区别?
    什么是包装类?为什么要有包装类?基本类型与包装类如何转换?
    什么是Java的垃圾回收机制?
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3174521.html
Copyright © 2020-2023  润新知