问题标签 [pjsip]
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.
ios - PJSIP 自定义注册标头
我正在尝试设置与内部服务器的SIPREGISTRATION
通信(使用 PJSIP 库),但是,该服务器需要一个自定义标头字段,其中包含指定的呼叫标头值。例如,我们将称之为 required header MyHeader
。
根据我的发现,该pjsua_acc_add()
函数将添加一个帐户并使用配置结构将其注册到服务器。
config 结构的参数reg_hdr_list
有如下描述:
要放入注册请求中的可选自定义 SIP 标头。
这听起来正是我需要的,但似乎对通话本身没有任何影响。
这是我到目前为止所拥有的:
从服务器端,没有额外的标头字段或任何东西。并且用于定义标头(pjsua_hdr
)的结构没有value
或等效的字段,所以即使它确实创建了标头,它如何设置值?
编辑:感谢一位同事,我找到了解决方案:
这似乎按预期工作。
ios - 在 iphone 中构建 pjsip 时出错
我想在我的 iPhone 模拟器上运行 pjsip,但我无法运行它。我正确地遵循了它给出的步骤。但它显示错误,例如
android - Windows 上的 csipsimple
我想在 Windows 操作系统上使用 eclipse 运行 csipsimple。我用 SVN 下载了项目,并将 2 个libpjsipjni.so
文件复制CSipSimple\libs\armeabi
到CSipSimple\libs\armeabi-v7a
.
现在,我收到 272 个错误,通过查看它们,我发现它们在以下方面:
有人成功绕过这些错误吗?
ios - FreeSwitch iPhone 应用程序通信问题
我有一个基于 pjsip 的应用程序,用于进行一些 Sip 调用。
该应用程序适用于其他 SIP 交换机/服务器,但使用 freeSwitch 时,该应用程序无法在后台模式下接收呼叫。
使用freeSwitch,当应用程序处于活动状态时一切都很好,但在后台模式下,应用程序不会收到有关呼叫的通知。它可能与 freeSwitch 通知应用程序有关新呼叫的方式有关(对于 iOS pjsip,通知应该来自 TCP 包装的套接字)。
有人知道我如何配置 fresSwitch 以在特定端口上发送通知吗?
iphone - 如何在没有 SIP 服务器的情况下在直接 IP 到 IP 之间进行呼叫
有什么方法可以通过拨打本地IP地址拨打电话吗?简单的 IP 到 IP 呼叫。我怎样才能做到这一点?我应该对pjsip代码进行哪些更改?我不想在任何服务器或 VOIP 提供商中注册。呼叫只会在本地 WiFi 中发生,就像SJPhone应用程序在 Mac ( http://www.sjlabs.com/sjp.html ) 中所做的那样。
iphone - Peer 2 使用 PJSIP 和 PJSUA 的对等呼叫
我仍在学习 SIP 及其所有协议,特别是尝试将 PJSIP 集成到 iPhone 应用程序中以进行 p2p 呼叫。我有一个关于使用 PJSUA 的对等 2 对等连接的问题。通过直接使用 URI 调用,我可以完美地调用本地网络上的其他客户端:
- 啜饮:192。. .*:5060
我很好奇这是否适用于在不使用服务器配置的情况下直接调用不在本地网络上的其他 SIP URI - 如果不是这样,是否有另一种方法可以在不使用服务器配置的情况下进行 p2p 调用?
提前致谢,
android - ndk-build 失败:没有规则来制作 pjsua_wrap.o 需要的目标 pjsua_wrap.cpp
几天来,我一直在尝试在我的 Win7 (X64) 机器上构建 CSipSimple。
我正在使用 cygwin 来构建代码。但目前它正在向我显示下图。
请给我一些建议。
iphone - Iphone Voip 应用程序 - 背景和保持 nat pinhole 活着
我正在测试由使用 PJSip 的 iphone 应用程序开发人员编写的 Voip sip 客户端。我个人自己也玩过一些 SIP 开发,但不是专家。
使用我们的 VOIP 软交换(Acme 数据包/Broadsoft),它通过动态确定最佳重新注册时间来处理所有 Nat 处理,以使 Nat 针孔在 nat 设备上保持活动状态。通常,当 iphone 在 NAT 之后,这个时间在 60-90 秒之间。
Iphone 应用程序正在使用 TCP,并且可以愉快地使用 Backgrounding。显然背景是节省电池寿命的理想选择。来电唤醒手机,您可以接听电话。
问题是当应用程序进入后台模式时,它无法保持 Nat 针孔打开。这意味着一旦针孔关闭,防火墙将始终拒绝新来电到达 Iphone 应用程序。这会影响应用程序的来电工作几分钟,然后一段时间不工作,然后当应用程序退出后台并再次注册时,呼入电话再次工作。
他们为 voip 应用程序内置了特殊的后台例外,我们可以: 1. 配置应用程序套接字,以便它们仍然可以处理传入的消息。这无济于事,因为如果 nat 针孔关闭,消息将永远不会到达应用程序。2. 使用 Keep alive,但最短时间为 600 秒。这也意味着针孔将关闭。
应用程序是否可以通过某种巧妙的方式发送 Voip Sip 注册消息,例如每 60 秒左右,同时保持在后台。或者应用程序可以每 60 秒唤醒一次做一些工作然后关闭。
我真的很困惑市场上是否有其他 sip 应用程序可以解决这个问题。
iphone - 如何为 iOS 4.3 编译 Siphon App
我从谷歌项目代码下载虹吸应用程序:这里。但这给了我一个错误:pjsua-lib/pjsua.h: No such file or directory。
另外,如何将 darwin9 库添加到该项目中。我已按照步骤获取 darwin9 库,但最后一步未正确编译。
请给我同样的建议。
c - Error: pjsip gives `mod_sofia` insetad of the actual phone number
I am working on project in which I use Sipek Voip for connecting to Freeswitch. Here is the situation:
I have a Sangoma A400 hard. I compiled Freeswitch for Windows and now it works perfectly.
I have also created a Softphone using Sipek Voip SDK and it works well with Freeswitch.
The problem is that, when I have an incoming call, instead of showing the callers number, I get mod_sofia.
I looked at Sipek and all it gets from pjsip is a string containing <sip:mod_sofia@192.168.2.10:5060>
.
So I went to pjsip and tried to pass the actual phone number to Sipek. I found out there is a function called pjsua_call_on_incoming
which handles an incoming call.
It takes an argument of type pjsip_rx_data
. It has a string field (rdata->msg_info.msg_buf
) which contains the whole message. I tried to replace <sip:mod_sofia@192.168.2.10:5060>
with the actual number, but it has no effect.
Does anyone have any idea how to fix this?