问题标签 [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 投票
0 回答
14742 浏览

sip - 转移时 SIP 错误 481 呼叫/转移不存在

我们的电话是通过 SIP 完成的,我们注意到我们的服务器上出现了这个错误。

运行测试后,我们确定它仅出现在来自外部号码的入站呼叫中,当我们尝试将该呼叫转移到内部分机时。转出的呼出呼叫不会产生错误。

奇怪的是,即使在显示此错误之后,调用仍然正常。每个人仍然可以通话,新的分机接听电话很好。因此,对于实际的电信,没有任何问题。但是,我们确实需要找出导致此错误的原因,因为它正在对我们的 SIP 通话记录器造成严重破坏。

这是我们在独立呼叫中获得的wireshark跟踪。在时间 29 是进行内部传输的时间。

带有黑色数字的 Wireshark 屏幕截图

我了解此错误是由 UAS 接收到它不知道的呼叫的 SIP 数据包引起的。然而,这就是我的知识在哪里结束。在错误的第一个实例中,我很好奇源是外部网关 IP 是否意味着另一端有问题?这不可能是这种情况,因为它发生在任何人的电话上。

提前致谢!

包头

545 1248 3945 3950

0 投票
2 回答
786 浏览

p2p - 在 PJSIP/PJNATH 库中找不到 NAT 映射的内部端口

我使用 PJSIP/PJNATH 端口打孔库(用于 STUN/TURN/ICE)并希望在打孔端口上创建我自己的基于 UDP 的传输。

找不到保存NAT 映射内部端口的数据结构。我需要内部端口(两侧)的原因是将 UDP 套接字绑定到内部端口(而不是操作系统选择随机端口)。请看图。

我意识到icedemo示例应用程序能够在互联网上来回发送数据(在打孔之后);所以它必须绑定到内部 UDP 端口。我只需要知道哪个数据结构包含内部端口。 NAT映射的内部端口

文件中的pj_ice_sess_send_data函数ice_session.c看起来像是转储变量的好地方。但没有一个包含 NAT 映射的内部端口。

仅供参考,公共 IP:Port 随时可用。

背景
PJNATH 库实现了基于标准的 STUN/TURN/ICE 协议,并在从双方交换主机/服务器自反/中继 IP:Port 后使用 ICE-UDP 检查对 UDP 端口进行穿孔。

0 投票
1 回答
2346 浏览

configuration - 使用 Asterisk 调用失败

我正在尝试 2 台 PC,首先充当 sip 服务器和客户端(安装了星号和闪烁),另一个充当客户端(仅安装了闪烁)。我尝试使用以太网电缆在他们之间拨打电话 - 没有互联网 - 所以我建立了有线连接并给了他们每个人一个地址,我给了第一个安装了星号的 ip 192.168.0.1 和第二个 192.168.0.2。第一个的用户名是 100,第二个是 101。

我在终端写了“sudo asterisk -rvvvvvvv”然后“sip reload”然后“dialplan reload”然后“sip set debug on”&我建立了有线连接所以我发现2个Pcs上的2个Twinkles成功注册到星号但是当我尝试在他们之间拨打电话,Twinkle 说“找不到呼叫失败 404”我认为问题出在 extensions.conf 但我不知道出了什么问题,任何人都可以帮助我。?
这是终端 mediafire.com/?6g0uuhkai5vcahk 上的完整输出

还告诉我文件中是否有任何问题,因为我是初学者。

提前致谢这里是配置文件:

sip.conf

[一般的]

绑定端口=5060

udpbindaddr=192.168.0.1:5060

允许客人=是

不允许=全部

允许=gsm

延迟拒绝=是

无校验和=否

迂腐=没有

srvlookup=是

自动域=是

sipdebug = 是

域=192.168.0.1

自然=否

通知=是

通知保持=是

注册 => 100:sarasara@192.168.0.1/internal-phones

注册 => 101:saadsaad@192.168.0.1/internal-phones

对等身份验证=100:sarasara@192.168.0.1

对等身份验证=101:saadsaad@192.168.0.1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[192.168.0.1]

usereqphone = 是

自然=否

来自域=192.168.0.1

来自用户=100

秘密=萨拉萨拉

用户名=100

上下文=内部电话

授权名=100

dtmfmode = rfc2833

可以重新邀请=是

通知=是

通知保持=是

对等身份验证=100:sarasara@192.168.0.1

对等身份验证=101:saadsaad@192.168.0.1

不允许=全部

允许=gsm

[100]

类型=朋友

上下文=内部电话

秘密=萨拉萨拉

自然=否

合格=否

主机=动态

dtmfmode = rfc2833

许可=192.168.0.1

[101]

类型=朋友

上下文=内部电话

秘密=saadsaad

合格=否

主机=动态

自然=否

dtmfmode = rfc2833

许可=192.168.0.1


extensions.conf

[全局]

[一般的]

扩展 => 100,1,拨号(SIP/100,60)

扩展 => 101,1,拨号(SIP/101,60)

扩展 => s,1,挂断

[内部电话] 扩展 => 100,1,Dial(SIP/100,60)

扩展 => 101,1,拨号(SIP/101,60)

扩展 => s,1,挂断

0 投票
1 回答
643 浏览

macos - MAC 10.9 上的 Kamailio 安装错误,这是什么错误?

我正在尝试Kamailio 4.1通过命令在 mac OS10.9 上安装:

但我在终端上看到,它是通过:

这是什么错误?我还缺少什么吗?请指导我实现目标的正确方法。

0 投票
1 回答
3333 浏览

call - 适用于 iOS 的 SIP SDK

我有 SIP 服务器,我想实现一个 VoIP iOS 应用程序。是否有任何适用于 iOS 的 SIP SDK(付费或免费)让我可以选择使用任何 SIP 服务器?

谢谢你

0 投票
2 回答
691 浏览

sip - 如何确定 SIP 呼叫何时开始

我正在编写简单的 SIP 代理应用程序,它位于 Astreisk 和 SIP 客户端(任何软件电话)之间。该应用程序的目的是计算通话的持续时间。

以下是常规流程的示例:

  1. 客户端向 SIP-Proxy 发送 INVITE,SIP-Proxy 向 Asterisk 重新发送 INVITE
  2. Asterisk 回答 200 OK,SIP-Proxy 向客户端重新发送 200 OK。
  3. 客户端用 ACK 应答,SIP-Proxy 向 Asterisk 重新发送 ACK
  4. 每当其中一方发送 BYE 时,对话就应该结束。

在第 2 步,我假设呼叫已启动(例如 rtp 媒体流已启动)。然后我等待 BYE 消息来计算通话时间。但是我注意到有些客户从不进入第 3 步和第 4 步。在第 2 步之后没有收到任何一方的通话结束通知。并且这种通话的持续时间是无限的。

在不嗅探 RTP 流的情况下找出 SIP 呼叫的开始/停止时间的最佳方法是什么?我应该等待第 3 步来标记通话的开始吗?如果客户端忽略 ACK 或网络中丢失带有 ACK 的 UDP 数据报怎么办?

现在我曾经认为没有可靠的方法来确定 SIP 呼叫是否启动。也许我应该使用 Astrisk 频道 API 来跟踪活动呼叫。

0 投票
1 回答
1682 浏览

android - How to register to a SIP server by domain instead of IP address and create a SIP Account from client side?

I've successfully compiled Liblinphone library for android and use it to register to Brekeke SIP server and make calls between Android clients and PC client(x-Lite,linphone). but I'm facing two problems:

  1. Client register to the server with their IP address instead of the domain.

    For e.g: if the server IP:192.168.10.105 and client (IP,name):(192.168.10.101,101), the user will registered to Brekeke as sip:101@192.168.10.101 instead of sip:101@192.168.10.105 so when I call 101 from linphone client the result is Not Found

    /li>
  2. I need to create user on the SIP server from the client side by code, is this possible using Liblinphone or I should implement it by my self?

0 投票
2 回答
943 浏览

sip - RTCP communication (sip client-IMS server)

I am testing a setup with one sip client (tested with sipp and a softphone) and an IMS server that auto answers (so it is a two way RTP-communication between those 2 network elements).

In RTCP, must both the two entities communicating in such a scenario send RTCP packets? I am asking that because when i use the sipphone, it sends some RTCP packets at first and then the server answers, whereas the sipp scenario doesn't send rtcp packets at all and gets no response from that protocol. Also, all the ports for RTP+RTCP are open both in the router and in the testing machine.

Can an IMS server be configured to send RTCP packets (one direction only) on an RTP flow? Does it say anywhere in the RTCP Protocol, that a client has to send RTCP paskets to receive such packets from the server?

0 投票
1 回答
1231 浏览

sms - 如何使用 Twilio 作为我的 Asterisk 的 SIP 中继来为我的 Bria/Xlite 发送和接收 SMS?

由于stackoverflow上的这个主题,我最近设法使用我的Asterisk服务器在twilio上进行入站/出站呼叫。

如何使用 Twilio 作为 Asterisk 的 SIP 中继来拨打和接听电话?

现在唯一剩下的就是短信,我如何使用我的 Bria 发送/接收短信?

提前致谢!

0 投票
6 回答
13726 浏览

sip - SIP请求中的from-tag有什么用?

我对 SIP 有一个微不足道的疑问。我尝试了谷歌搜索并参考了许多书籍,但我仍然无法找到在 SIP 请求中添加 from-tag 的充分理由。

示例 SIP 请求(来自 rfc-3261 的快照)

根据 rfc-3261:

可以使用 from-tag、to-tag 和 call-id 来识别对话。

我知道添加 to-tag 和 call-id 的确切原因。我不知道的是,

  1. 为什么我们需要 from-tag ?
  2. 如果没有 from-tag 会有什么影响(假设 rfc-3261 没有强制要求)?