在 iOS 应用中集成 pjsip

Posted

技术标签:

【中文标题】在 iOS 应用中集成 pjsip【英文标题】:Integrate pjsip in iOS app 【发布时间】:2017-05-25 11:42:21 【问题描述】:

我是用于 pjsip 包装器的 Goosip/AKSSIP,但无法连接到服务器。谁能指导我在ios项目中实现pjsip。

谢谢!

【问题讨论】:

您必须提供更多详细信息,包括代码的相关部分以及任何错误或日志。 在通过 Goosip Wrapper 使用呼出CallToUri 创建用户代理后:我收到以下错误:Gossip: ringbackWithSoundNamed: (null) pjsua_aud.c .Unable to create playlist: Not found (PJ_ENOTFOUND) [ status=70006] Gossip: Error Domain=pjsip.org Code=240006 "Not found (PJ_ENOTFOUND)" UserInfo=PJSIP_ERRNO_FORM_SIP_STATUS=240006, NSLocalizedDescription=Not found (PJ_ENOTFOUND), pj_status_t=70006 XPC 连接中断 pjsua_call.c 。无法生成联系人标头:不支持的传输 (PJSIP_EUNSUPTRANSPORT) [status=171060] 闲话:错误域 =pjsip.org 代码 = 341060“不支持的传输 (PJSIP_EUNSUPTRANSPORT)”用户信息=PJSIP_ERRNO_FORM_SIP_STATUS=341060, NSLocalizedDescription=不支持的传输 (PJSIP_EUNSUPTRANSPORT), pj_status_t=171060 请使用格式正确的代码更新您的问题。 请检查您传递给 pjsip 的标头信息。它显示联系人标头中的 unSupportedTransport 已传递给 pjsip。您使用哪种交通工具? TCP 还是 UDP? 【参考方案1】:

在 iOS 上集成 PJSIP:第 1 步:首先从他们的网站下载 PJSIP 项目。 http://pjsip.org/download.htm

第 2 步:提取计算机中的文件。

第 3 步: 转到文件夹 pjsip2.6/pjlib/include/pj/

第四步:创建config_site.h文件

第 5 步: 将以下行添加到 config_site.h 文件中 并保存文件

#define PJ_CONFIG_IPHONE 1
#include <pj/config_site_sample.h>

第 6 步: 打开命令提示符并转到您的 pjproject2.6 路径。 例如,User/nandha/Documents/pjproject2.6/

第七步:在命令提示符下编译以下命令。

./configure-iphone

上面的命令编译成功后,执行下一条命令。

make dep && make clean && make

如果两个命令都正确执行,则意味着您的 PJSIP 项目已成功与您的 iOS 集成并准备好在 iPhone 中运行您的项目。

来源:https://trac.pjsip.org/repos/wiki/Getting-Started/iPhone

以上文档清楚地展示了如何在 iOS 上集成 PJSIP。

【讨论】:

嗨@Nandha,感谢您的回答,我已经这样做了。但想不通。如何将它集成到我现有的项目中以及如何开始使用 pjsip 代码。如果你能指导我一些初步的步骤来做到这一点。这对我有很大帮助。 请说明您做了什么,您向 PJSIP 提供了什么输入以及发生了什么错误。如果您清楚地发布您的问题,那么很容易解决问题。 我已经按照上述步骤编译了 pjsip 库,然后只需打开 pjsip-apps/src/pjsua/ios/ipjsua.xcodeproj ,运行应用程序后,得到错误 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv7)。 解决此错误后,我又遇到了 196 个错误。对于那些你可以visit 的人,我已经在这里发布了。 是的,现在,我正在使用本地计算机作为服务器,但另外还有我的实时服务器凭据。我正在关注 PJSip .. 并且它在其库中创建了一个目标 c 代码。现在我想在我的 swift 项目中使用所有这些东西,你有没有参考链接可以做到这一点。或任何其他可以帮助我的建议。流 @VijayvirSingPantlia 只需将那些objectiveC 文件转换成Swift 文件。你能从 swift 文件中调用 C 方法吗?

以上是关于在 iOS 应用中集成 pjsip的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 应用程序中集成 Recurly 网关 [关闭]

我们可以在企业级 iOS 应用程序中集成 AFNetworking

如何在 iOS 混合应用程序中集成 card.io sdk?

iOS - 如何在我的应用程序中集成蓝牙设备

需要在 Android 和 iOS 中集成应用内购买以与患者进行视频通话?

我们可以在部署目标小于 iOS 7 的应用程序中集成 swift 的代码吗?