问题标签 [sip-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

sip - SIP 客户端(对等) - 呼叫接收失败

我必须通过 SIP 服务器将文本、语音和视频聊天集成到我的应用程序中。所以我从http://peers.sourceforge.net/中选择了“Peers” 。

我已经下载了代码,注册了一个 sip 地址z(peers sip 客户端)并调用了另一个 sip 帐户(peers sip 客户端)。我无法在该对等客户端中接听电话。如果我打电话给另一个 sip 客户端(X-Lite),我可以接听电话。

谁能告诉我可能是什么问题以及如何解决?

0 投票
1 回答
989 浏览

sip - QuteCom SIP 客户端连接失败

我选择了 QuteCom SIP 客户端,用于 Windows 聊天。我已经使用我的公共服务器安装并配置了该帐户。我的 SIP 服务器是 kamailio。与服务器的连接未建立。应用程序长时间连接到服务器。

任何帮助表示赞赏。

0 投票
3 回答
6936 浏览

sip - 使用 PJSIP 通过 TCP 进行 SIP 呼叫

我正在使用带有 TCP 传输和 SIP 中继的 PJSIP 的 pjsua 拨号器(基于 pjsua_app.c,PJSIP 2.0.1)来拨打手机。拨号程序通过 TCP 向 SIP 服务器注册,并通过 TCP 发送 INVITES。未使用 UDP 传输。

环境是这样的——

PJSIP(在 NAT 之后)<--- SIP over TCP ---> SIP 服务器 <--- SIP 中继 --> SIP 中继提供商 <--- PSTN/移动网关 --> 移动电话

所有呼叫都是从 PJSIP 通过 TCP 向移动设备发出的。"cfg->no_udp = true;"为了禁用 UDP 传输创建,我在函数末尾插入了一行

我按照此处给出的说明通过 TCP 进行调用。

问题是我们没有收到从移动端发送到 PJSIP 拨号器的音频。但是来自 PJSIP 拨号器的 RTP 数据包可以很好地到达移动端。通话建立后,我们可以听到手机中的音频。

我们从数据包跟踪中发现,我们没有在 PJSIP 拨号器中接收媒体的原因是 SIP 服务器正在将通过 SIP 中继接收到的 RTP 数据包发送到私有 IP 地址。

但是当我们切换到 UDP 进行注册并通过 TCP 发送 INVITES 时,调用工作正常(两端都有音频)。

Wireshark 数据包捕获显示以下内容 -

这是 PJSIP 中的错误吗?如果是这样,如何解决。Wireshark 数据包跟踪可根据要求提供。非常感谢您的帮助和投入。

0 投票
1 回答
280 浏览

sip - SIP 多个 2** 响应

我收到多个 2** 响应来电。问题是一旦呼叫连接并且服务器接收到“ACK”数据包并且呼叫成功启动,服务器再次将“OK”响应数据包发送回被调用者并再次接收“ACK”数据包。在呼叫自动终止之前,这种情况会发生多次。有人可以向我解释为什么会发生这种情况,即使在呼叫连接成功后我的服务器仍在发送“OK”响应,以及可能的问题解决方案是什么?提前感谢您的帮助。

0 投票
1 回答
3972 浏览

sip - SIP客户端定期向服务器注册

我写了一个带有 SIP SDK 的 SIP 客户端,你可以上网。经典的 SIP 内容:您在 SIP 服务器上注册、拨打电话、被呼叫……这一切正常,但假设 SIP 服务器重新启动或由于其他原因丢失了您的 SIP 客户端的注册。现在其他客户端无法呼叫您,因为您在 SIP 服务器上找不到。

这是如何处理的?即使您已注册,您是否会定期发送另一条注册消息?每 10 分钟或类似的时间?你是先取消注册(这意味着在这之间的一段时间内你无法联系到,不会很好)然后注册还是可以在你已经注册没有问题的情况下调用注册?

我还找到了 register/options keep-alive 消息传递,但我不确定它的目的是什么,它可以处理 sip 服务器不再注册的情况吗?sip-servers 是否总是支持它?

0 投票
1 回答
791 浏览

xmpp - Asterisk 作为 WebRTC MCU 和外部身份验证

我有一个带有集成和可定制聊天系统(基于 XMPP)的网站。

我尝试了许多 WebRTC 框架,如licodemuaz-khan's、jinja's plugin、OpenTok for WebRTC 等,但它们都没有足够的可靠性(尤其是在多用户对话中)。

所以我决定依赖大多数经过测试、稳定可靠的 SIP 服务器(如 Asterisk),加入 WebRTC 或 Flash 客户端(如sip5ml)。

问题是:我不想插入和同步 2 个帐户的表(网站和星号),我可以只插入一次,让星号实时获取它们吗?

0 投票
1 回答
1064 浏览

sip - Kamailio 需要从 CANCELed 分支阻止 200 OK,如何?

我有一个运行注册商和 tm 的 Kamailio 4.0.4 代理 (K)。一些 AOR 有多个客户端,它们都自动接受某些导致竞争条件的 INVITE,并且来自多个分支的 200 个 OK 被发送到被调用者。

场景:- A 向 B 发送邀请

  • K 在 uloc 中为 B 找到 2 个联系人,我们称他们为 B1 和 B2
  • INVITE 被分支发送到 B1 和 B2 注意:B1 的链路延迟为 100ms,B2 延迟为 150ms

  • B1 和 B2 收到后立即自动接受 200 OK

  • 分支 INVITE 后 200ms,K 从 B1 获得 200 OK 并将其中继给 A

  • K 也取消了对 B2 的邀请
  • A 实际上是一个本地 AS,它立即将 200 OK ACK 回 B1

  • 现在的问题是 B2 已经在 50 毫秒前发送了 200 OK 并且在另外 150 毫秒内不会收到 CANCEL

  • 因此,来自 B2 的 200 OK 来到 K,但呼叫已经在 A 和 B1 之间建立

  • 发生的情况是 200 OK 被转发给 A,此时 A 变得完全混乱,因为老实说它不是一个很好的 AS。

现在到实际的问题,我如何阻止额外的 200 OK 转到 A?

我可以看到它应该如何工作的一些选项:

  • 放下200 OK,扔掉它。B2 不应该重新发送它,因为 CANCEL 很快就会击中它
  • ACK + BYE 来自 Kamailio 内部的 200 OK,但这将导致媒体会话被 B2 立即启动和拆除

我什至找不到涵盖这种竞争条件的 RFC。

0 投票
1 回答
1272 浏览

authentication - Asterisk 实时和外部 SIP 表

感谢 Asterisk Realtime,我度过了一个不眠之夜。我在理解文档时遇到了一些麻烦(例如http://www.voip-info.org/wiki/view/Asterisk+RealTime+Sip)。表格太多,参数太多,信息零散,没有详尽的教程。

我只需从外部 MySQL 的表(id、user、chatkey)中自动注册一些用户。

我必须设置哪些列才能使其工作?如果那里只是一个用户和密码列,我会将它们与 my.user 和 my.chatkey 匹配,但现在我很困惑。

使用 VIEWS 代替表 + 触发器有什么副作用吗?

0 投票
3 回答
4514 浏览

websocket - SIP over websockets 到真正的 SIP

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

我知道webrtc2sip可以用于连接到遗留网络,但如果可能的话,我宁愿避免使用另一个代理。那么,是否可以使用over连接到兼容SIP服务器,然后从该用户代理调用另一个不支持over而不使用 a 的服务器?SIPweb-socketsSIPweb-socketsgateway

0 投票
1 回答
3458 浏览

proxy - 桥接模式下的 Opensips+Nat+RTPProxy

我想使用 2 个接口一个 eth0 一个 tun0(ovpn)。

客户端 <-LAN-> NAT(路由器) <-Internet-> opensips <-OVPN-> 星号 <-LAN-> 客户端 <---eth0-----> <-----tun0---- ->

opensips 以 mhomed=1 运行,并且 rtpproxy 正在 opensips 主机上运行。我希望所有媒体流量都考虑到 rtpproxy。另外,我正在使用 NATHelper 来解决 NAT 遍历问题。配置已经工作,但仅适用于一个界面。谁能帮我解决我的问题?

你可以在这里看到我的代码:http: //opensips-open-sip-server.1449251.n2.nabble.com/Opensips-Nat-RTPProxy-in-bridged-mode-td7588578.html

提前致谢。