Sofia-SIP辅助文档十六 - Sofia SIP用户代理库 - "msg" - 消息解析模块

SIP 模块 - mod_sofia <br />SIP 模块是 FreeSWITCH 的主要模块,所以,值得拿出专门一章来讲解。<br />在前几章时里,你肯定见过几次 sofia 这个词,只是或许还不知道是什么意思。是这样的,Sofia-SIP 是由诺基亚公司开发的 SIP 协议栈,它以开源的许可证 LGPL 发布,为了避免重复发明轮子,FreeSWITCH 便直接使用了它。<br />在 FreeSWITCH 中,实现一些互联协议接口的模块称为 Endpoint。FreeSWITH 支持很多的 Endpoint, 如 SIP、H232等。 阅读详情

http://sofia-sip.sourceforge.net/refdocs/msg/index.html,翻译自官网的这张网页。

MIME介绍参考:http://blog.youkuaiyun.com/cxm_hwj/article/details/6690058。


模块元信息

模块包括可以处理基于文本协议(SIP,HTTP和RTSP)的消息和头的解析器和函数。还提供MIME头和MIME multipart消息的解析,MIME对这些协议来说比较常见。

联系人:
Pekka Pessi < Pekka.Pessi@nokia-email.address.hidden>
状态:
Sofia SIP Core library
许可:
LGPL
贡献者:

msg模块的内容

msg模块包括如下一些公共头文件:

除了这些接口,解析器文档描述了扩展解析器使其支持新的头所需具备的功能,或者扩展解析器使其支持新的协议所需具备的功能。为解析器增加一些新的头,或者扩充已有头的定义都是可行的。组成这些解析器的头文件是:

解析器,消息和头

Sofia msg模块包含基于文本的类似RFC 822消息的接口。当前,定义了三个解析器:SIP,HTTP和MIME。

每个头对应的C结构体在<sofia-sip/msg_types.h>头文件中给出,或者在协议特定的头文件中给出。这些协议特定的头文件有<sofia-sip/sip.h>,<sofia-sip/http.h>和<sofia-sip/msg_mime.h>。对每个头,都会有头类结构体,一些标准函数,以及在tag列表中的tag。

作为惯例,所有SIP头的标识符都以sip开始,所有的宏都以SIP开始。HTTP也有着同样的惯例:使用http前缀。和他们相关的MIME头和函数在msg模块中定义,他们使用msg前缀。SIP或HTTP头使用的结构体在<sofia-sip/msg_types.h>头文件中定义,为每个特定的协议都会有一个单独的typdedef,,例如Accept头会被定义多次:

typedef struct msg_accept_s sip_accept_t;
FreeSwitch(九):SIP模块 一、基本概念 (1)Sofia-sip:FreeSwitch使用了比较成熟的开源的SIP协议栈。 (2)EndPoint:互联协议接口模块。如SIP、H232. (3)mod_Sofia:实现了SIP中的注册服务器、重定向服务器、媒体服务器等各种功能。他的定位是一个B2BUA,不能实现代理服务器。 (4)SIP profile:在mod_sofia中,SIPprofile相当于SIPUA,通过不同的配置参数配置一个UA的行为。每个SIP profile可以监听不同的IP地址和端口。 (5)GetW 阅读详情

相关推荐

sofia sip协议栈

sofia-sip协议栈,可用于开发ip电话,比较轻巧,支持多系统。

Cube.js 安装避坑指南:从零到一键启动

本文是一份详细的Cube.js安装避坑指南,旨在帮助开发者从零开始顺利启动Cube.js。文章重点强调了安装前的环境准备,包括Node.js版本、包管理工具和项目路径等关键“地基”,并深入解析了使用npx安装的优势、数据库类型选择以及数据库连接配置的核心步骤与常见陷阱,确保您能高效完成安装并成功启动服务。

weixin_29218509的博客 429

USB之ch376s数据手册

         最近师兄交给我一个项目,虽说刚学嵌入式起步,但上手一个项目怎说都是最好的快速学习方式。因为刚了解ch376s管理U盘的数据,所以先是看了ch376s的数据手册。那我就把数据手册直接放上来吧。。。。      1、概述 CH376 是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通...

iBGG的博客 6002

FineReport V11.0安装避坑指南:从下载到激活的完整流程(附百度网盘链接)

本文提供FineReport V11.0从下载、安装到激活的完整避坑指南。详细解析了部署前的环境准备、安装过程中的JVM内存等核心配置、激活流程以及安装后的优化与常见问题排查,旨在帮助用户一次部署成功,确保企业级报表平台的稳定运行。

echo99的专栏 1192

ArcGIS 10.8软件安装包免费下载及安装教程

ArcGIS 10.8安装教程

qq_44894692的博客 2万+

ConnectionResetError 10054 根因分析与全链路防御指南

ConnectionResetError(错误码10054)是TCP协议中服务端主动发送RST包导致的强制断连,本质并非网络连接失败,而是服务端基于空闲超时、连接满载、TLS协商失败等策略做出的确定性终止决策。理解其底层原理有助于跳出‘重试’误区,转向连接生命周期管理。该错误高频出现在HTTP长连接、WebSocket、第三方API对接等场景,尤其在Nginx反向代理、负载均衡器(如AWS ALB)、WAF设备及内核conntrack机制下极易触发。本文结合Wireshark抓包分析、客户端心跳保鲜、协议指

weixin_30225755的博客 637

[Dify实战] [安全合规] 用 Dify 优化安全巡检:从经验驱动到标准闭环-带绑定资源

摘要:企业信息系统安全管理中,安全合规巡检面临标准不统一、整改难追踪等痛点。本文提出基于Dify工具的智能化解决方案,通过自动化工作流实现标准检查清单生成、风险等级标注、整改建议输出及审计记录归档。方案采用结构化Prompt模板和Markdown输出格式,涵盖账号权限、数据安全等核心维度,并提供证据收集建议和闭环管理机制,帮助组织从人工经验驱动转向数据流程驱动的合规管理。配套可导入Dify的工作流文件将随后发布。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 271

【DRAM存储器六十五】DDR5介绍--训练相关之MPC、Read Training Pattern、Read Preamble Training Mode

简述DDR5 MPC操作和读训练时颗粒输出pattern的配置

highman110的博客 358

多个linux系统安装到一块硬盘(Kylin+UOS+ubuntu)

之前写过一篇类似的文档,笔者把kylin和UOS安装在一块硬盘上上一篇的文档地址多个linux系统安装到一块硬盘(Kylin+UOS)_银河麒麟系统和uos安装成双系统-优快云博客本次记录的是三个系统到一块硬件上银河麒麟:Kylin-Desktop-V10-SP1-Release-2107-arm64统信:uniontechos-desktop-20-professional-1050-arm64乌班图:ubuntu-22.04.5-live-server-arm64。

aggs1990的专栏 565

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: Sofia-SIP辅助文档十五 - Sofia SIP用户代理库 - "sip" - SIP解析模块
下一篇: Sofia-SIP辅助文档十七 - Sofia SIP用户代理库 - "url" - URL模块
Neohan
博客等级 码龄26年 33粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值