通过 websocket 的 SIP 到真正的 SIP

2024-02-07

我正在尝试实现一个 sip 服务器用于从HTMLsip客户端(使用sipml5制作)。在我研究这样做的过程中,我遇到了 sip over web-sockets 这可能对我有用,但是,我不确定用户代理是否通过 sip over 连接web-sockets然后,连接到兼容的服务器就可以使用不兼容的服务器成功地呼叫某人(即通过 SIP 进行呼叫)web-sockets到真正的 SIP)。

I know webrtc2sip可以用于连接到旧网络,但如果可能的话,我宁愿避免使用另一个代理。那么,是否可以连接到兼容的SIP服务器使用SIP over web-sockets然后从此用户代理调用另一个不支持的用户代理SIP over web-sockets不使用gateway?


你是对的,SIP over Websockets 是一个草案,而不是规范。据我所知,支持该草案的 SIP 供应商并不多。

可能的解决方案是真正的 websocket-SIP 网关。例如,Flashphoner Web 呼叫服务器被实现为网关,它通过带有浏览器的 websocket 工作,并通过 SIP(​​TCP 和 UDP)与 SIP 服务器工作。因此,它与任何支持 RFC3261(标准 SIP 规范)的服务器兼容。

简要的信令方案是:

浏览器 - [Websockets] - Web 呼叫服务器 - [SIP TCP, UDP] - 任何 SIP 服务器

简要的流媒体方案:

浏览器 - [WebRTC = SRTP、DTLS、ICE、STUN ] - Web 呼叫服务器 - [RTP UDP] - 任何 SIP/RTP 服务器

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

通过 websocket 的 SIP 到真正的 SIP 的相关文章

  • SIP:错误数据连接丢失

    我已经在 android 中使用本机 sip 创建了 sip 应用程序 在其中 我在从 sip 服务器取消注册帐户时遇到问题 每次我得到数据连接丢失我也在android文档中看到 但没有对此错误的简短解释 而且它在注册时面临各种错误 如in
  • Node教程一对多无加载远程服务器Stream Spinner动不停

    我对在项目中使用所需的 Kurrento 很陌生 但是当我克隆 git hub 上为 Kurento 提供的教程并遵循 one2Many 调用的说明时 首先 adapter js 的软件包损坏了 因为我成功解决了它们 但之后出现了一个问题
  • WebSocket 和纯 TCP 之间的根本区别是什么?

    我读过关于WebSockets http en wikipedia org wiki Web Sockets我想知道为什么浏览器不能像任何其他桌面应用程序一样简单地打开简单的 TCP 连接并与服务器通信 为什么可以通过 websocket
  • 使用 Spring Boot 1.0.0.RC5 和 tomcat 8.0.3 通过 HTTPS 进行 Websockets

    我有一个使用 spring boot 1 0 0 RC5 和 tomcat 8 0 3 的 Web 套接字 ws 非安全实现应用程序的工作示例 现在我想切换到 wss 即使用我自己的自签名证书 该证书已由 tomcat 加载 这个问题有两部
  • Android WebRTC 自定义捕获器

    我已经编译了 webRTC 演示应用程序 我看到捕获帧是由VideoCaptureAndroid java与本机代码紧密耦合的文件 我需要添加将我自己的帧推送到 webRTC 库以在视频通道上发送的功能 我可以用 C NDK 或 Java
  • Elastic Beanstalk 剥离 Sec-WebSocket-Accept 标头

    我正在尝试让 NET Core 应用程序在 elastic beanstalk 上运行 以从浏览器中的 javascript 接收 websockets 连接 当我在本地计算机上测试 AWS 之外的客户端和服务器时 我能够在两者之间建立 W
  • Python 的 SignalR 替代方案

    Python 世界中 SignalR 的替代方案是什么 准确地说 我在Windows 8上使用tornado和python 2 7 6 我发现sockjs龙卷风 https github com MrJoes sockjs tornado
  • Autobahn websockets Android 演示崩溃

    我是 websockets 的新手 我一直在使用 Autobahn websocket 来制作一个更大的项目 它在 python 和 js 版本中工作得很好 但我在 Android API 上遇到了麻烦 我正在遵循中的教程http www
  • 目前可用于 python3 上带有 Flask 的 websocket 的最佳选择[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目前我看到以下库可用于将 websockets 与 Flask 一起使用 烧瓶插座 https gith
  • django 中的实时通知/聊天

    我现在正在用 django 制作一个网站 我想实现一个实时通知功能 就像 facebook 或 SE 上的那样 我做了一些研究 似乎虽然有两种选择 ajax 长轮询和 websockets 但后者是最佳选择 然而 正如你所知 websock
  • Mosquitto 1.4.2 Websocket 支持

    我正在尝试利用 Mosquittos 最近的更新来支持代理中的 websocket 我正在运行 Mosquitto v1 4 2 并将以下几行添加到 mosquitto 配置文件 mosquitto conf 中 listener 1000
  • Websocket-rails 不适用于 Nginx 和 Unicorn 的生产环境

    我有 Rails 3 2 应用程序和 gem websocket rails 0 7 在开发机器上 一切正常 在生产环境中 我使用 Nginx 1 6 作为代理服务器 使用 Unicorn 作为 http 服务器 Thin 用于独立模式 如
  • WebSocket Stomp over SockJS - http 自定义标头

    我在 javascript 客户端中使用 stomp js 而不是 SockJS 我正在使用连接到 websocket stompClient connect function frame stomp over sockJS 连接有 2 个
  • GO Websocket 向所有客户端发送消息

    这段代码一切正常 为了更好的阅读而缩短了它 When Client1向服务器发送请求 服务器立即响应他 但是 其他客户端看不到响应消息 所以我想更进一步 当客户端向服务器发送请求时 服务器会响应所有客户端 以便所有客户端都可以看到该消息 我
  • websocket握手问题

    我正在使用 python 实现一个简单的 websocket 服务器 我使用的握手来自 握手本身似乎有效 但是当我点击发送时 我收到一个 JavaScript 错误 未捕获的错误 INVALID STATE ERR DOM 异常 11 这是
  • 我应该使用全局变量在整个服务器上共享 socket.io 实例吗

    以下是我的 node js 应用程序中的 server js 文件 我希望我的 socket io 实例能够被服务器上的其他文件访问 以便从我的 API 发出事件 listingRoutesApi userRoutesApi etc ref
  • 如何将音频从浏览器流式传输到 WebRTC 本机 C++ 应用程序

    到目前为止 我已成功运行以下示例 WebRTC 原生 C 到浏览器视频流示例 http sourcey com webrtc native to browser video streaming example 该示例展示了如何将视频从本机
  • 与 Socket.io 保持连接

    我正在尝试使用 asterisk websocket 连接socket io 客户端 https github com socketio socket io client socket io connect url transports w
  • java-websocket的WebSocketServer使用什么草案?

    我无法从WebSocketServer java源码 https github com TooTallNate Java WebSocket blob master src main java org java websocket serv
  • 在cypress中捕获websocket请求

    我试图捕获测试期间发生的所有请求 我的应用程序使用 WebSocket 并且使用拦截命令我无法捕获 wss 请求 有什么办法可以做到这一点吗 我认为拦截命令不能直接捕获网络套接字 一种方法是观察 ws 通信的结果 如下所示使用 Cypres

随机推荐

  • 查找一天中花费的时间以及所花的工间休息时间

    我现在的情况是 我需要找出一些内部申请在办公室花费的总时间 我有这样的样本数据 Id EmployeeId ScanDateTime Status 7 87008 2018 08 02 16 03 00 227 1 8 87008 2018
  • 如果我不设置缓存过期会发生什么

    我正在 google pagespeed Insights 上测试我的页面 它返回 在静态资源的 HTTP 标头中设置到期日期或最长期限 指示浏览器从本地磁盘而不是通过网络加载以前下载的资源 我的假设是 如果我不设置过期时间 我的文件将永远
  • 如果所有子域都指向网站根目录,是否需要通配符 SSL 证书

    我对 SSL 证书完全陌生 需要很快购买一个 当子域名发挥作用时 价格似乎会大幅上涨 我的问题是这样的 我已经设置了我的网站 以便用户名 domain com通过 htaccess 重写为域名 com user 用户名 如果我将网站设置为所
  • Java ASM 字节码修改-更改方法体

    我有一个罐子里的类的方法 我想与我自己的主体交换 在这种情况下 我只想让该方法将 GOT IT 打印到控制台并返回 true 我正在使用系统加载器来加载 jar 的类 我使用反射使系统类加载器能够通过字节码加载类 这部分似乎工作正常 我正在
  • 如何将列与 Flexbox 对齐?

    我目前正在学习 Flexbox 布局 但找不到解决我的问题的方法 我尝试使用 justify content 和 flex basis 但它不起作用 有人有解决办法吗 The result I would like section disp
  • .NET Core RC2 中的登录声明

    我正在将 NET 4 6 版本移植到 NET Core RC2 并想知道如何在 NET Core RC2 中执行以下操作 public async Task
  • 如何在 SQL Server 中将多行转换为列?

    如何将存储为多行的字段转换为列 我也在下面列出了代码 下面是所需内容的示例 但实际上最多可以包含 20 列 谢谢 COL1 COL2 COL3 TEST 30 NY TEST 30 CA TEST2 10 TN TEST2 10 TX 我希
  • DialogFragment 行为异常

    您好 我已使用此 DialogFragment 在我的应用程序中显示日期选择器 public class DateDialogFragment extends DialogFragment implements DatePickerDial
  • 如何在linux中用C设置IP地址

    通过使用strace and ifconfig 我发现可以这样设置IP地址 include
  • 无模式、无父的 wxDialog 仍然始终位于 z 顺序中的 wxFrame 窗口之上?

    我的程序打开一个基于 wxFrame 的窗口和多个无模式且无父的基于 wxDialog 的窗口 除了基于 wxDialog 的窗口坚持始终位于基于 wxFrame 的窗口之上之外 这一切都工作得很好 我知道关于wxDIALOG NO PAR
  • 安装 Mac Homebrew 时遇到问题

    我尝试了各种论坛和谷歌 但没有成功 我正在尝试在 OS X 10 6 8 上安装 Mac Homebrew 当我尝试从 Homebrew 主页执行安装命令时 ruby lt curl fsSkL raw github com mxcl ho
  • 当包含的控件获得焦点时防止自动滚动

    我有一个Panel有两个Button其上有一个 其中一个部分被隐藏 当部分隐藏的按钮获得焦点时 例如当单击另一个按钮然后单击它 原始按钮 时 面板会滚动 我需要垂直滚动条 但不需要auto滚动 并且如果没有自动滚动 似乎无法获得有效的滚动条
  • 过滤 CollectionViewSource

    我想做一个ComboBox绑定到我的数据 带有filter 为此我创建了一个TextBox and a ComboBox 在后面的代码中 我读取一个文件并生成 Channel 类的对象 这些对象存储为ComboBox 尽管编译器不会抛出任何
  • Javascript 中最快的类/对象访问/实例化是什么

    在探索构建类的几种不同方法时 我很好奇实例化和访问类的最快方法是什么 基于另一个问题的输入 Javascript 作用域和 self this this this that this https stackoverflow com ques
  • 克隆 git 存储库并保留无法访问的提交

    有没有办法克隆远程 git 存储库 同时保留该存储库中可能存在的任何无法访问的提交 场景是这样的 我需要恢复从我维护的服务器上的裸 git 存储库中删除的分支 我有这个分支的最后一次提交的哈希值 但是常规的 git 命令似乎无法在裸存储库上
  • 实体框架数据上下文与数据库不同步?

    所以 情况是这样的 我调用 AddtoObject 在数据库中插入一个项目 然后调用 SaveChanges 然后 我调用存储过程来更新当前插入的记录 然后 我再次调用 Save Changes 当我查询数据库时它具有正确的更新值 但是实体
  • 使用 EGIT 获取时存储凭据失败

    最初我遇到了与中描述的相同的问题egit 未授权 https stackoverflow com questions 14259265 egit not authorized 首先 我成功从 Bitbucket 克隆了存储库 然后 我尝试获
  • 是否可以在 ScrollView 中添加 ViewPager?

    我正在尝试使用ViewPager里面的一个ScrollView 但是ViewPager没有出现 如果我删除ScrollView the ViewPager看起来不错 我创建了一个简单的测试项目 内容如下 main xml布局
  • 将引用类型和值类型作为参数传递给方法之间的区别

    一整天都在我的脑海中萦绕着这种困惑 我对传递给方法的引用类型和值类型感到非常困惑 假设我有 2 节课Class A and Class B分别对应于引用类型和值类型 public Class A public static void mai
  • 通过 websocket 的 SIP 到真正的 SIP

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