- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
您好!
我正在开发(尝试开发)Android 的 VoIP SIP 应用程序,在与 mjsip、pjsip 和 sdk 的库争论了两周之后,我决定使用 JAIN-SIP。从理论上讲,图书馆看起来很棒。无需学习任何 android 原生代码、大量文档(但还不够,因为我在这里)等。
我的第一次尝试是使用 Android SDK 的 SIP 库(是的,我知道它们基于 JSIP),但在 SipManager.open() 拒绝打开用于与服务器通信的配置文件后失败,无一异常(exception)或任何类型的输出来帮助我诊断问题。 (如果您有潜在的解决方案,请查看 here)在与 mjsip 和 pjsip 讨论之后,我决定,按计划,找出 native 代码将花费太多时间,因此 JAIN 似乎是完美的解决方案。 .. 或者是吗?
问题是——JAIN SIP 库在包装中使用与 java 核心库相同的名称,因此导致 dalvik 出现 dex 问题。但是好吧——有一个“ant make all-android”解决方案可以将 sip 堆栈源构建到为 android 准备的单个 .jar 中。 错误。只有“gov.nist”包被重构,“javax”包保持原样,导致同样的 dalvik dex 问题。但是等等!- 有 JarJar,一个可以重新打包您的 jar 并重构包、解决 dex 冲突的工具。 错误。使用 JarJar 重新打包还会重命名对堆栈加密所需的实际 javax.net 包的引用等等,从而导致异常和崩溃以及各种问题。所以我昨天大部分时间都在手工重构 javax 库,这导致了
...Caused by: java.lang.Error: Unresolved compilation problem:
所以这是我的问题...
附言在将我指向 google 页面或其他 stackoverflow 问题之前,考虑一下我已经在这个问题上停留了两个星期,除了尝试解决问题外什么也没做——我可以向你保证,已经彻底搜索了互联网和解决方案要么不申请要么不工作。
编辑 2016 年 5 月 - 已接受的答案现已过时,请参阅下面 thejoelpatrol 的回复以获取更新的解决方案。 HERE
最佳答案
您可以在此处找到重命名为 com.telestax 的 Android 特定 JAIN SIP 包 https://mobicents.ci.cloudbees.com/job/jain-sip/ (android-jain-sip-ri jar),我们在 TeleStax 构建以克服本地 JAIN SIP Android 问题。我们正在努力创建一个集成 WebRTC 媒体的移动 SDK,以便更容易在原生 Android 应用程序中实现消息传递和视频通话我们将在未来几天创建一篇关于如何设置的博文。完成后我会在这里更新线程
关于java - Android 就绪的 JAIN-SIP 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25908817/
让我先描述一下我的问题。我将 Sofia SIP 用于电话应用程序,而我使用的 SIP 代理位于 NAT 后面。这意味着来自代理的传入邀请将内部代理 IP(例如 10.0.0.1)作为 Contact
我试图找出 的可能值范围接受 和 接受-联系 header 字段,但我在 RFC 中找不到完整列表。有谁知道他们在哪里?我经常看到 Accept: application/sdp;level=1,
我使用的 SIP 服务器通过端口 5070 监听 SIP/TLS 请求。我正在尝试跟踪和分析为什么我的拨号器没有通过 Wireshark 在网络上注册。 我已经在 Wireshark 的首选项中编辑了
我一直非常坚持解决这个问题,我去过几乎所有谈论这个主题的网站(包括旧的堆栈溢出帖子),现在我正在尝试遵循 Android“官方”文档以便让我的 SIP 客户端在我的 Asterisk 服务器上注册,应
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我已经从一个 Asterisk(版本 11.2.1)创建了一个 sip 中继,说“A”服务器到另一个 Asterisk 服务器(11.7.0)说“B”,我得到 sip 响应 200 ok。 但是当我开
我几乎设法发起了一个 2 方通话(点击通话):第一个到我的办公室,第二个到我的手机,使用 Michal Niklas 回答(感谢 Michal) Asterisk click to call . 主要
本地和远程标记以及Call-ID的组合用于识别对话。据说Call-ID是一次调用的唯一值。那么为什么 Call-ID 不单独用于识别对话呢? 最佳答案 一句话:“发夹”。 “Hairpinning”是
我想在SIPBYE报头中获取Custom-Order的值。我尝试使用${sip_yee_h_Custom-Order},但它是空的,因为头名称前没有X前缀。。我可以编辑freeswitch sofia
我在使用以下代码时遇到错误。 我已经包含了 Sip 所需的所有 jar ;但是,我仍然不明白为什么会发生这个错误。你能给我解释一下吗? 我的代码类是: import java.net.InetAddr
我有一个 res_mysql.conf 配置为使用从 db.sql 文件重新填充的一些数据库 db。加载转储后,我重新加载配置,我的 SIP 对等点消失了: dev-ast*CLI> sip show
我正在制作 SIP 电话并且必须开发一个功能来支持多个注册。如果手机的主注册服务器关闭,手机应自动注册到辅助注册器,并在主注册器处于事件状态时再次返回主注册器。我的问题是:如何确定主注册商再次活跃起来
我正在尝试实现一个 sip 服务器以连接到 HTML sip 客户端(使用 sipml5 制作)。在我研究这样做的过程中,我遇到了 sip over web-sockets,这可能对我有用,但是,我不
我需要通过 Lua 脚本在 Kamailio 3.3.1 中设置自定义 header 。理论上我可以像这样在配置脚本中设置一个 - append_hf("X-MyHeader: myvalue\r\n
我需要通过 Lua 脚本在 Kamailio 3.3.1 中设置自定义 header 。理论上我可以像这样在配置脚本中设置一个 - append_hf("X-MyHeader: myvalue\r\n
DTMF 用于一些基于 sip 的软电话来处理负载类型。但是我不清楚使用 DTMF 的过程和重要性。开源软件电话,如 Red5phone和 Sipdroid使用 DTMF。任何人都可以解释这个问题或指
我需要一种在使用 Asterisk 调用文件发起调用时添加 SIP header 的方法。 有什么办法可以在通话文件中添加SIP头吗? 我知道我可以使用 Asterisk AGI 完成此操作,但是我找
我目前在连接到我的 SIP 客户端(IVR 语音服务)的对称 NAT 后面存在 SIP 用户代理问题。 我读到 Asterisk 在 sip.conf 中有一个解决方案,我可以在那里设置属性 nat=
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我的客户公司有一个简单的 Web 应用程序 (Python Flask),我需要向它添加电话通知功能。 主要要求是应用程序应该调用用户、播放某个声音文件并接受一些音调输入(“您好!这是来自您的 Web
我是一名优秀的程序员,十分优秀!