星号传入消息给出: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 不支持的媒体类型 的相关文章

  • SBC 功能与部署

    SBC是IMS网络边缘用于实现IP接入 互通和安全保护的网元 存在于接入网络与IMS网络之间或不同IMS网络之间 是用户接入IMS的入口点 SBC作为B2BUA将用户和IMS核心网进行隔离 SBC的主要功能包括 注册管理功能 NAT穿越功能
  • SIP相关的RFC文档索引

    http www packetizer com ipmc sip standards html
  • 最全FreeSwitch 1.10.9 Linux通用编译部署教程

    FreeSwitch 通用编译部署教程 文章目录 FreeSwitch 通用编译部署教程 FreeSwitch的版本历程 1 基础环境 2 安装方式 3 安装基础依赖 4 下载cmake并进行编译安装 5 需要手动安装所需的依赖 6 下载源
  • SIP 抓包后获取媒体内容备忘(解析RTP)

    SIP呼叫并抓包 从网上找免费的sip 软中端 两个转中端建立呼叫且抓包 详情可以参考 https blog csdn net liuxingrui4p article details 96709136 spm 1001 2014 3001
  • 学习SIP非常好的视频

    https www youtube com watch v gMcUpktyhOE
  • FreeSWITCH 中的 Asterisk AMI 和 AGI 是否有相似之处?

    星号有Asterisk 管理器界面 AMI http www the asterisk book com unstable asterisk manager api html and Asterisk 网关接口 AGI http www a
  • 应用程序在 Android 模拟器上正常工作时无法访问设备上的互联网?

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

    是否有可能在 Cordova Phonegap 中使用 SIP 我还没有找到任何插件 对 WebRTC 的支持也不可用 但根据他们的路线图 计划在 2 x 中提供 配套SIP or WebRTC在 Android 上与PhoneGap Co
  • Android视频通话使用android的sip

    我想在android 中开发一个视频通话程序 我想到使用android 2 3 3中引入的内置sip 但如何发起视频通话呢 我看到它不受支持 我相信通用 Android SIP 堆栈支持视频 取自 https developer andro
  • 思科可视消息等待指示器(VMWI 或 MVI)

    如何以编程方式点亮 Cisco IP 电话可视消息等待指示灯 VMWI 或 MWI 对于 sipwiz 的回答 IP地址10 1 1 2 gt 是我将在其中发送 SIP 通知消息的本地 IP IP地址10 1 1 9 gt 是 IP 地址思
  • Android 中通过 SIP 进行视频通话

    我是 Android 初学者 正在开发一个可以使用 SIP 通过 IP 进行视频通话的应用程序 我在 Google 和 StackOverflow 上搜索了很多 得到的只是我需要一些 Native Library 而我对它没有太多了解 我关
  • 您可以将 SIP 电话与 Twilio Endpoint 连接吗?如果是这样,怎么办?

    我有一个基于 Linksys Cisco SPA942 电话的 SIP 电话系统 我想将现有的 PBX 排除在外 并使用 Twilio 为我们编写一个自定义 PBX 我熟悉 Twilio 并且过去编写过许多应用程序 但 Twilio 的 S
  • 将数据保存到自定义 cdr 字段中

    我创建了自定义字段 rec name id 表 cdr 数据库 asteriskcdrdb 在这个字段中我想存储录音名称 我知道我应该通过在 conf 文件之一中添加这一行来完成此操作 但是在哪里 exten gt s 1 set CDR
  • 是否可以将 VoiP 呼叫转接至 GSM [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以使用 Android 手机作为简单的 GSM 网关 电话将使用 最好 Android 内置 SIP 堆栈接收 VoiP 呼叫
  • Android SIP 堆栈 - 使用什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要在 Android 上创建使用 SIP 堆栈 它将与 asterix 一起使用 并使用户能够更改
  • 无法将数据发布到服务器,出现错误 java.io.IOException: 服务器返回 HTTP 响应代码: 415

    我无法将数据发布到服务器 错误为 但它在curl脚本中运行良好 Error reading URL java io IOException Server returned HTTP response code 415 for URL htt
  • asterisk agi (php) 文件调试

    有谁知道调试 asterisk 的 agi secript a2billing php 所需的步骤 如果我从 Linux 控制台调用 php cli 我就可以远程调试它 但如果它从 asterisk 内部运行 则不起作用 知道如何调试它吗
  • 没有WebRTC的nodeJS中的简单SIP电话

    您好 我需要实现类似 SIP 电话的功能 但使用不带 WebRTC 的 经典 SIP 大多数 JS 库都专注于基于 websockets 和 WebRTC 的 SIP 但在我的基础设施中 我没有 WebSocket 有像 JsSIP 这样的
  • 星号传入消息给出:415 不支持的媒体类型

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

    我正在寻找适用于 Android 和 iPhone 的 SIP 堆栈 我发现了很多类似的问题 有时已经很老了 我不太关心解决方案是商业的 但这是首选 还是开源的 到目前为止我发现 RADVISION 的 Android 商业解决方案 iPh

随机推荐