gpt4 book ai didi

iphone - 使用 PJSIP 和 PJSUA 的 Peer 2 Peer 调用

转载 作者:行者123 更新时间:2023-11-29 11:17:50 25 4
gpt4 key购买 nike

我仍在学习 SIP 及其所有协议(protocol),特别是尝试将 PJSIP 集成到 iPhone 应用程序中以进行 p2p 调用。我对使用 PJSUA 的对等 2 对等连接有疑问。我能够通过使用 URI 直接调用,可以完美地调用我本地网络上的其他客户端:

  • sip:192...*:5060

我很好奇这是否适用于直接调用不在本地的其他 SIP URI不使用服务器配置的网络 - 如果不是这样,是否有另一种无需服务器配置即可进行 p2p 调用的方法?

提前致谢,

最佳答案

作为一般原则,您可以在没有服务器配置的情况下进行调用,但是有些东西需要配置。正如 mattjgalloway 在您的问题下方的评论中指出的那样,最可靠的解决方案是一 jar 涉及 ICE 的蠕虫病毒。它为 STUN 之类的东西提供了一种“保护伞”协议(protocol)。

上次我touched this issue , 我的要求是不能使用基于 Internet 的 SIP 服务器来提供帮助。我想出了某种注册表的想法:您的客户可以定义一堆具有特定路由要求的“地址空间”。对于 LAN 中的 SIP URI,您不定义路由;对于您公司的 VPN 访问网络中的 URI,您定义一条通过您的 VPN 连接的路由;对于其他一切,您都可以通过互联网路由器定义一条路线。

通过“定义路由”,我的意思是当您调用某个特定地址空间中的 URI 时,您存储了哪些 IP 将进入 Contact header ,您可能需要哪些 Route header ,等等。

这样,调用的过程就变成了:

  1. 在地址空间集中查找匹配项。
  2. 向地址空间询问所需的合适位,以生成可行的 INVITE(适当的联系人 header 详细信息、路由 header 等)
  3. 构造一个普通的 INVITE,根据上一步的需要进行修改。
  4. 照常发送邀请。

这基本上以手动管理的形式重现了 ICE 给您的一半内容。 “一半”,因为这确保了一个 SIP 代理可以进行调用,这样 SIP 路由就可以正常工作。缺少的一半是您仍然需要某个地方的某种注册商,并且您的联系人列表中的每个代理都需要进行必要的设置才能接收来电。 (如果代理在 NATting 互联网路由器后面,路由器将需要运行 SIP 代理,或将端口 5060、5061 转发到特定机器(可能是代理,或服务于 LAN 代理的代理)。

确实,这是一大堆蠕虫。

关于iphone - 使用 PJSIP 和 PJSUA 的 Peer 2 Peer 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8705746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com