我目前正处于一家提供 VoIP 解决方案的公司实习的早期阶段。我主要是为 iPhone 创建一个自定义 SIP 客户端应用程序。然而,我告诉他们,如果我正确设置 MVC 模式并且在可移植性方面更加高效,那么在移植到不同平台时将需要编写最少的代码。
我选择使用 MonoTouch C#.NET,以获得高可移植性和生产力(学习 Objective-C 对于我的时间范围来说太陡峭 + 内存管理太耗时)。为了创造更多的可移植性,我一直在考虑将 C# SIP 库公开为 Web 服务,这样在移植到 Android 时,就可以减少与不同 API 的连接。此外,MonoTouch 由于编译原因不允许使用动态库。
我的应用程序将与 SIP Web 服务通信,然后 Web 服务又与 SIP 服务器通信。
SIP 与 HTTP 非常相似,但是这个解决方案可行吗?因为我也将面临实时传输协议。
据我所知,这是行不通的,因为正如您提到的,您将面临 RTP。您的对话可能会出现很多延迟。此外,您还必须弄清楚如何在客户端和服务器之间传输数据。
但是,要真正知道这是否可以做到,需要做一些原型来测试此类问题。