星号传入消息给出:415 不支持的媒体类型

2024-03-23

我和我的项目组正在尝试设置带有星号的 PBX。我们已经设法让它仅适用于 SIP 呼叫,而且效果非常完美。 但是一旦我们想尝试向其中添加 XML 消息,Asterisk 就无法识别它并给出“415 不支持的媒体类型”。看起来这个电话甚至没有打通,就立即被拒绝了。

我们试图找到处理此问题的代码段,但没有找到任何内容。

发送到 Asterisk 的 SIP 消息如下所示:

Request-Line: MESSAGE sip:[email protected] /cdn-cgi/l/email-protection SIP/2.0
  Method: MESSAGE
  Request-URI: sip:[email protected] /cdn-cgi/l/email-protection
  Via: SIP/2.0/UDP xxx.xxx.xxx.111:5060;branch=z9hG4bK-3f138a53
  To: <sip:[email protected] /cdn-cgi/l/email-protection>
  From: <sip:[email protected] /cdn-cgi/l/email-protection>;tag=7a82b127
  Call-ID: [email protected] /cdn-cgi/l/email-protection
  CSeq: 104 MESSAGE
  Max-Forwards: 70
  User-Agent: CareIP 7813409 v1.2.4.0
  Content-Type: application/scaip+xml
  Content-Length: 91
Message Body
  <mrq><ref>765745670002</ref<mty>ME</mty><cid>266786</cid><dty>0005</dty><stc>0010</stc></mrq

我们的问题是: 在代码或配置文件中,我们可以在哪里找到星号决定是否支持“媒体类型”的地方?

Or

有人知道如何添加 Asterisk 尚不支持的媒体类型吗?


消息接受的内容类型似乎是硬编码的,因此您无法在配置文件中执行此操作。如果您查看 Channels\chan_sip.c 中的 receive_message() 函数,您将看到以下几行:

    if (strncmp(content_type, "text/plain", strlen("text/plain"))) { /* No text/plain attachment */
    transmit_response(p, "415 Unsupported Media Type", req); /* Good enough, or? */

如果您修改 strncmp() 以允许“application/scaip+xml”并重新编译,它将不再响应 415 不支持的媒体类型错误,并且您可以修改 receive_message() 函数的其余部分以满足您的需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

星号传入消息给出:415 不支持的媒体类型 的相关文章

  • pjsip视频通信开发(底层实现)之用户注册

    一 PJSIP简介 对于pjsip的介绍可以看http www cnblogs com my life articles 2175462 html 文章 里面详细介绍了它的组成框架以及各部份的组成介绍 我把官网中提供的一个pjsip的整体框
  • 年轻人正在双11掀起国潮热

    NEW 关注Tech逆向思维视频号 最新视频 男生的秋裤 女生的打底裤 哪个更抗冻 出品 盒饭财经 文 彻诺 当传统工艺走入现代商业 当传统文化遇上当代场景 郭艾薇的朋友圈已成了大型考古现场 你看 这是我朋友挖土时给自己拍的视频 这是另一个
  • Linphone的简单使用

    目前参与了几个SIP项目 用到了几个软件 回过头来写下使用过程吧 使用的软电话是一个叫做Linphone的软件 首先拿到的是一个安装版的 感觉用不了几次 就没有安装 后来看到还有一个用QT编写的绿色版 就使用了该版本 界面简洁 QT绿色版
  • SIP与RTP综合应用(转)

    SIP是一个会话协议 很多大企业都在用 通信行业的一个标准 其业务逻辑比较 简单地来说如下 User Agent Server REGISTER gt lt 401 407 Unauthorized REG 带上用户口令 gt 200 OK
  • 如何使用 C# 构建软件电话(使用 SIP 协议)[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我面临的挑战是使用 C 或 net 技术构建 sip 软电话 请指导我构建此类所需的技术 要求和规范 可能的要求 支持的编解码器 G 722 1 G 723 1 G 726 G
  • C# SIP 堆栈/库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找一个好的 SIP 库 要么用 C 编写 要么提供 C 包装器 不一定需要免费 有人用过什么好东西吗 为了澄清起见 我说的是 VoIP 协议
  • 如何将 16 位 wav 转换为原始音频

    我正在尝试使用 sox 将星号语音邮件转换为原始音频 原始wav的编码信息是PCM S16 LE 所以我想我可以这样做sox msg0000 wav msg0001 raw但其中的原始文件是乱码 根据 VLC 的说法 与 6 秒的源文件相比
  • *a, b, c = line.split() 中的星号有什么作用?

    Assume line is Chicago Sun 01 52 什么是 a b c line split 做 特别是 星号的意义是什么 编辑 经过测试 似乎 Chicago Sun and 01 52 都存储在a b and c 星号似乎
  • TAPI 的替代技术?

    是否有支持第三方呼叫控制 3pcc 的 TAPI 替代技术 我想在应用程序中提供以下 3pcc 功能 拨出电话 用户单击应用程序中的按钮 用户的电话摘机 被叫电话振铃 被叫者的电话显示被叫者的电话号码 而不是用于应用程序的电话号码 当被叫者
  • 应用程序在 Android 模拟器上正常工作时无法访问设备上的互联网?

    我开发了一个基于 SIP 的应用程序 该应用程序在 Android 设备上调试时无法使用互联网连接 但在模拟器上调试时却可以正常工作 我已在manifest xml 中授予了有关互联网连接的所有权限 是否有任何其他权限可以使用互联网连接在设
  • 使用 tshark 过滤 VoIP 呼叫

    我正在分析网络上的 VoIP 呼叫 目前我正在使用生成的 pcap 文件 但稍后我将实时监听该文件 我正在使用 tshark 我可以很容易地从 pcap 中过滤一些重要数据 例如 源 ip 地址和端口 目标 ip 地址和端口 有效负载 pc
  • Asterisk AGI - 使用 php agi 发起呼叫

    有人知道我们如何使用 PHP AGI 脚本发起外部号码呼叫吗 您有两种可能的选择 一种是使用 Originate 命令 看http www voip info org wiki view Asterisk manager 示例 Origin
  • SIP 中会话、对话和事务之间的区别?

    会话 对话和事务之间到底有什么区别 所有人都必须一起出现吗 交易 事务由请求 收到的任何非最终 1xx 响应和最终响应 2xx 3xx 4xx 5xx 或 6xx 以及响应的确认 ACK 或 PRACK 组成 但以下内容除外 对 2xx 响
  • 如何将 rtp 数据包有效负载字节转换为任何音频数据?

    我正在用java制作一个项目 不使用任何第三方库 我已经使用以下命令成功建立了 udp 连接DatagramSocket 然后我开始使用sip协议进行通信 我已经顺利通过了注册和邀请阶段 这就是我获取音频数据流将传输到的主机和端口的方式 然
  • W/AudioGroup:设备循环超时

    我正在尝试在我的 android 中进行 SIP 呼叫 第一次通话时声音效果很好 但是当此通话结束并开始第二次通话时 声音被中断 并且我收到以下警告 每秒多行 W AudioGroup 设备循环超时 我以以下方式开始通话 mSipManag
  • 通过 websocket 的 SIP 到真正的 SIP

    我正在尝试实现一个 sip 服务器用于从HTMLsip客户端 使用sipml5制作 在我研究这样做的过程中 我遇到了 sip over web sockets 这可能对我有用 但是 我不确定用户代理是否通过 sip over 连接web s
  • SIP:错误数据连接丢失

    我已经在 android 中使用本机 sip 创建了 sip 应用程序 在其中 我在从 sip 服务器取消注册帐户时遇到问题 每次我得到数据连接丢失我也在android文档中看到 但没有对此错误的简短解释 而且它在注册时面临各种错误 如in
  • 将组名称获取到星号中相应的 pri 端口

    我正在使用 sagoma 8 端口卡 我的chan dahdi conf配置端口是 autogenerated by usr sbin wancfg dahdi do not hand edit autogenrated on 2015 0
  • 如何在 Windows Phone 7 中创建自定义文本框?

    是否可以通过创建自定义文本框来处理 sip 我想创建一个自定义文本框 gt 创建获得焦点事件 gt 在我的自定义文本框的焦点上而不是 SIP 上 我的自定义键盘应该打开 要求 如何创建自定义文本框 打开自定义键盘而不是 SIP 获取文本字段
  • Android 2.3 使用外部 JAIN-SIP(J-SIP) 堆栈 |类路径

    我正在尝试在 Android 2 3 3 上使用 JAIN SIP J SIP 库 http jsip java net 因此 我使用了 SIP Stack 附带的一个非常基本的 SIP 示例应用程序 此示例在 Android 设备 问题是

随机推荐