用于构建 VOIP 电话呼叫的 Java SipServlet(在计算机和模拟电话/移动设备之间)

Posted

技术标签:

【中文标题】用于构建 VOIP 电话呼叫的 Java SipServlet(在计算机和模拟电话/移动设备之间)【英文标题】:Java SipServlet to build VOIP phone calls (between Computer and analog phone/mobile) 【发布时间】:2012-07-17 12:23:48 【问题描述】:

我对构建实际上可用于使用 SIP 或 H.323 呼叫模拟电话的 VOIP 很感兴趣。但我的问题是,是否可以使用 SIP 或 H.323 构建计算机到电话和电话到计算机的 VOIP 电话呼叫?否则,完成此任务的最常见方法是什么?我已经成功构建了一个应用程序,我可以使用套接字在两台计算机之间传输语音,我的猜测是构建 SIP 以与模拟电话通信非常复杂(即使我阅读了一些文档,我仍然没有完全理解它) 并且具有与普通套接字通信应用程序完全不同的架构。那么是否可以使用 SIP servlet 或 H.323 来实现我的目标?如果你有构建它的经验,你能分享一些你和我一起使用的参考资料或文档吗?我非常感谢它,我很确定它会对所有期待构建与我类似的应用程序的人有所帮助。

======================================

根据begin with java voip

一个家伙推荐使用像 http://public.ifbyphone.com/ 或 https://www.tropo.com/home.jsp 这样的 API,但我有强烈的感觉,这些人会要求我花钱使用他们的 API,而我想做的就是自己构建它并尝试-仅出于目的而没有将其商业化。我找到了一个相当不错的与 VOIP 相关的东西,称为 VoiceXML,但它与我已经提到的 API 或库是同一种 API 或库吗? VoiceXML 到底是什么?

【问题讨论】:

【参考方案1】:

其实你有两个问题:

    使用软件电话呼叫 SIP servlet。 通过 Mobicents/Sailfin 完成它非常简单。下载其中任何一个并查找点击通话示例http://www.mobicents.org/facebook-c2c.html。为了收听媒体,您必须使用媒体服务器,将音频/视频发送到您的软件电话。

    VXML 是您的服务器在您调用它时将解释的场景(想想网上银行、预付费充值等的菜单)。有关详细信息,请参阅 Voxeo 的 http://www.vxml.org(顺便说一句:您可以在他们的网站上创建一个帐户并通过使用 Skype 或 SIP 调用它们来测试您的 vxml 应用程序(http://www.voxeo.com/developers/evolution-ivr-developer.jsp)。

【讨论】:

很抱歉没有提到我实际上是在问 2 个问题,对不起 :).. 但是你的回答真的对我很有帮助,我非常感谢你 但如果您不介意回答,我还有一个问题。一旦我将 mobicent/sailfin 集成到我的应用程序中,它是否可以免费使用/调用?还有其他我可以使用的开源或免费的吗? AFAIK 是的,它们是开源的并且可以免费使用。在您的客户端(我想您使用的是 android),您无事可做。只需将 SIP URI 添加到您的联系人列表(并在 Android 2.3+ 上启用 SIP)就可以了(您需要一个 SIP 提供商,或者您可以推出自己的)。在服务器端,正如我之前所说,一切都是开放和免费的。

以上是关于用于构建 VOIP 电话呼叫的 Java SipServlet(在计算机和模拟电话/移动设备之间)的主要内容,如果未能解决你的问题,请参考以下文章

从iOS的电话记录中拨打voip电话

使用 QuickBlox Sdk 进行 VOIP 呼叫时通知不起作用

如何为 Twilio 客户端 (VoIP) 拨出电话设置 From 标识符?

VoIP/SIP 软电话 C# WPF

通过 iPad 上的 3rd 方 VoIP 应用程序发起呼叫

使用 Twilio 无法通过麦克风听到声音