建议的以编程方式制作和录制VOIP呼叫的方法

时间:2009-10-29 17:00:19

标签: java voip sip

我想编写一个程序,可以调用我公司的每两周一次的电话会议,并记录通话,然后将其制作成播客。

我正在考虑使用Gizmo的SIP接口(以及它允许​​您免费拨打免费电话的事实),但我无法找到能够制作的任何示例代码(最好是Java)音频呼叫,并获取音频流。

我已经看过很多关于建立会话的SIP编程教程,然后他们似乎只是挥手,并说“这里就是你可以建立音频连接的地方”,而不是真正做到这一点。

我在Java方面经验丰富,所以我更愿意使用它,但也欢迎其他语言建议。

我从来没有写过VOIP应用程序,所以我不确定从哪里开始。任何人都可以建议一个好的图书馆或其他资源,这将有助于我开始?

谢谢!

4 个答案:

答案 0 :(得分:2)

在Java中查找VOIP软电话写入,然后修改它以保存最终音频流,而不是发送它以进行播放。

旁注:在许多州,你会违反法律,除非你做了几件事之一,因州而异:通知参与者他们被记录,每隔N秒插入BEEP,两者等等。可能您只需遵守您所呼叫的州的法律。更糟糕的是,您可能需要允许用户拒绝录制(要求您在录制开始前就在那里)。如果您控制会议服务器,您可以让它播放正在录制通话的预告。

答案 1 :(得分:2)

您可以使用Twilio执行此操作,几乎不需要任何编程。这将花费你每分钟3美分,所以如果你公司的每周通话时间是45分钟,你看每周1.35美元,尽可能接近免费。以下是步骤:

  1. 注册Twilio并记下您的帐户ID和令牌
  2. 在您的网络服务器上创建一个可公开访问的文件,该文件除了输出以下XML之外什么都不做(有关记录参数的说明,请参阅documentation):

    <响应>     < Record timeout =“30”finishOnKey =“#”/> < / Response>

  3. 在开始录制时,请使用浏览器对此网址documented here执行POST,或设置automated process或脚本为您执行此操作:

    POST http://api.twilio.com/2008-08-01/Accounts/ 帐户在此处 /致电 HTTP / 1.1 被叫= 会议号 & Url = WEB PAGE HERE &安培;方法= GET & SendDigits = PIN CODE HERE

  4. 如果你想获得真正的创意,你可以实际编写代码来处理录音动词的结果,并通过电子邮件将链接通过电子邮件发送给Twilio为您托管的MP3或WAV文件。但是,如果这是一次性的,您可以跳过它,因为您可以在控制面板中为您的帐户访问所有录音。

答案 2 :(得分:1)

在peers.xml中使用mediaDebug选项true尝试peers。此选项将所有传出和传入媒体流记录在具有文件名日期模式的媒体/文件夹中。然而,这个文件可能不会按原样使用。它包含原始未压缩的lienar PCM样本。您可以使用Audacity,sox或ffmpeg将其转换为您想要的任何内容。

答案 3 :(得分:0)

https://voip.dev.java.net/

他们在那里有一些示例代码。