【问题标题】:Very simple phone functionality - what do I really need?非常简单的电话功能——我真正需要什么?
【发布时间】:2014-05-15 07:42:11
【问题描述】:

我想尝试在我的 Xamarin 应用程序(Android 和 iOS)中实现非常简单的 VoIP 电话功能。非常简单,我的意思是没有用户字典,没有“保留”,没有地址(如 SIP)。

一个基本场景是:应用程序有“呼叫支持”按钮。该应用程序知道对方的 IP,因此只需尝试与已知 IP 的 UDP 连接,如果有人按下“接受”按钮,则可以互相交谈,直到有人按下“挂断”按钮。

现在,我对整个 VoIP 完全陌生,所以基本上我的问题是,我应该寻找什么?我需要“SIP 堆栈”和“RTP 堆栈”吗(无论如何,在问这个问题之前我只是用谷歌搜索了一下 :)

或者我可以用更简单的方式来做吗?例如,我发现了这个 Xamarin 论坛页面: http://forums.xamarin.com/discussion/2526/udpclient-in-background - 有人使用 IAX2,我假设是这样的:http://www.voip-info.org/wiki/view/IAXClient,但 C# 包装器上的链接现在似乎无效:/

【问题讨论】:

  • 回答上面关于 RTP 的问题:SIP 是建立“呼叫”的协议 - 即它说我是 John,我想和 Mary 通话。 RTP 是在建立呼叫时实际在双方之间传输语音的协议 - 即包含编码语音的数据包。

标签: .net xamarin.ios xamarin.android xamarin voip


【解决方案1】:

我倾向于在这里“顺其自然”并简单地使用 SIP - VoIP 理论上相对简单,但在细节上却有很多复杂性。而且,虽然说 SIP 已经成长为一个大型复杂的野兽是正确的,但使用许多其他人正在使用的标准方法意味着您不仅可以获得其他人为您完成低级工作的好处,而且您还可以利用一个大型的开发者和用户社区。​​p>

您还可能会发现,随着时间的推移,您的简单用例会遇到常见的功能蠕变或增强请求(例如,不同支持团队的不同服务台或用户移动到不同地区时)。如果您的实施基于标准 SIP 方法之一,则处理这些新要求可能会更容易。

对于 Android,如果您的市场/携带的内置 SIP API 受支持并且您不需要支持旧版本的 Android,您也可以使用内置 SIP API。无论哪种方式,如今都有不少文档完备的适用于 Andorid 和 iOS 的 SIP 库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多