模块加载过程

启动事件处理线程池:

SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load)=> sofia_msg_thread_start(0);=> sofia_msg_thread_run=> sofia_process_dispatch_event=> our_sofia_event_callback : 处理消息

启动服务器监听:

SWITCH_MODULE_LOAD_FUNCTION(mod_sofia_load)=> config_sofia(0, NULL)=> launch_sofia_profile_thread=> sofia_profile_thread_run                => nua_create=> su_home_new=> nua_stack_init                    => nta_agent_create=> nta_agent_add_tport                            => tport_tbind=> tport_bind_server=> tport_listen : 监听客户端发来的数据

呼叫流程:

1.收到nua_r_invite,返回407的流程:our_sofia_event_callback=>(nua_r_invite)sofia_handle_sip_r_invite=>sofia_reg_handle_register=>sofia_reg_handle_register_token=>sofia_reg_auth_challenge=>nua_respond(nh, SIP_407_PROXY_AUTH_REQUIRED
2.收到nua_r_invite,返回108的流程:
our_sofia_event_callback=>(nua_r_invite)sofia_handle_sip_r_invite=>sofia_reg_handle_register=>sofia_reg_handle_register_token=>sofia_reg_parse_auth=>

freeswitch之sofia模块相关推荐

  1. FreeSWITCH 1.10 源码阅读(3)-sofia 模块原理及其呼入处理流程

    文章目录 1. 前言 2. 源码分析 2.1 sofia 模块的加载 2.2 呼入的处理流程 1. 前言 SIP(Session Initiation Protocol) 是应用层的信令控制协议,有许 ...

  2. freeswitch源码阅读 之 sofia模块

    sofia模块在freeswitch中的位置非常重要, 所有的sip通话都和它有关, 那么我们就看一下该模块的执行流程. 一. 实现的功能: 1. sip注册; 2. 呼叫; 3. Presence; ...

  3. FreeSWITCH之SIP 模块 - mod_sofia

    转自:http://www.freeswitch.org.cn/2010/08/03/di-qi-zhang-sip-mo-kuai-mod_sofia.html SIP 模块是 FreeSWITCH ...

  4. FreeSWITCH的SIP模块mod_sofia详解

    为什么80%的码农都做不了架构师?>>> mod_sofia模块是FreeSWITCH默认使用的SIP协议栈,FreeSWITCH默认带了三个Profile(也就是三个UA),其配置 ...

  5. 新一代FreeSWITCH电话机器人模块

    介绍 FreeSWITCH 电话机器人模块,包含脚本解析引擎和话术编辑器2部分.如果需要测试可以联系我的微信:cdevelop 话术编辑器 话术编辑器是一个图形化的应用程序,通过图形化编辑话术流程,生 ...

  6. FreeSWITCH 背景音模块

    FreeSWITCH 背景音模块,可以给通话,添加一个背景音,比如办公室的噪音,键盘敲击声,等. FreeSWITCH 背景音模块,有什么用处?你肯定想不到吧. 我们电话机器人一般都是人工录音,机器人 ...

  7. freeswitch系列21模块sofia

    mod_sofia加载 在可加载模块那一章节说过,一个模块的加载,主要是调用load函数,也可以理解为模块初始化函数,下面分析下,mod_sofia加载做了哪些事. 全局结构体mod_sofia_gl ...

  8. FreeSwitch Sofia模块加载过程

         模块加载入口函数mod_sofia_load(),首先一系列switch_event_reserve_subclass()调用,注册事件类型.然后调用switch_queue_create( ...

  9. freeswitch修改mod_sofia模块并上报自定义头域

    概述 在之前的文章中,我们介绍了如何使用fs的event事件机制来获取呼叫的各种信息. 这些event事件一般都是底层模块定义好的,其中的各种信息已经很完备了,日常的开发需求都可以满足. 但是,总有一 ...

最新文章

  1. 搜索和其他机器学习问题有什么不同?
  2. lvs中dr模式配置脚本
  3. 【struts2+spring+hibernate】ssh框架整合开发
  4. lvs系列之dr(二)
  5. C++ 类的行为 | 行为像值的类、行为像指针的类、swap函数处理自赋值
  6. 快速搭建react项目骨架(按需加载、redux、axios、项目级目录等等)
  7. php 得到服务器的数据$_SERVER
  8. python自动化测试-python自动化之(自动化测试报告)
  9. 界面排版-TableLayout的stretchColumns方法
  10. Atitit 提升可读性 流畅接口 1.1. 大接口vs 小接口 小接口可用流畅api串接起来 1 1.2. 部分comm fun可用大接口固化 1 2. 流畅接口 方法连 “Fluent接口
  11. 坐标转换-换带计算(附软件下载)
  12. Blender学习笔记:齿轮模型建立
  13. 《筱静观察》2019开机仪式暨战略合作签约仪式在北京创新社成功举办
  14. ipfs 存储目录结构
  15. 2014网易运营工程师笔试题(邮件运维)--题解--第二天
  16. 华为路由器 基本ACL配置
  17. EXCEL的嵌套if及时间处理
  18. 苹果笔记本的end键_苹果电脑快捷键使用 Mac快捷键大全详细介绍
  19. [递推] 51Nod1383 整数分解为2的幂
  20. java自动发图文微博_使用node搭建自动发图文微博机器人的方法

热门文章

  1. 运动时候哪些蓝牙耳机不容易掉?运动蓝牙耳机推荐
  2. 2023亲测|奥维互动地图加载谷歌地图等图源及绝美效果展示 带女神去绝美的美景喝杯咖啡吧
  3. BitMap实现签到
  4. google风格代码格式化配置(eclipse和idea)
  5. 【华为OD机试真题 JS】英文输入法
  6. Win10一键重装系统后计算机图标怎么调出来
  7. swap分区详解(创建swap分区,启用swap交换空间,关闭swap交换空间)
  8. 猪八戒网Nginx的动态服务发现演进之路
  9. python命令行输入函数回退_linux命令.
  10. Linux-统计文件或文件夹的大小