如何记录2个端点之间的呼叫? [英] How to record calls between 2 end points?

查看:74
本文介绍了如何记录2个端点之间的呼叫?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,我是统一通信编程的新手,我的问题是如何在2个端点之间录制通话(不需要使用办公室通信器或其他软电话,可能是2个IP电话)。我找到了两种方法:1 - 在OCS上创建一个插件来过滤INVITE消息,然后将所有音频数据包的副本路由到另一个"嗅探"所有传入音频数据包并保存的服务器他们到一个文件。
>这个解决方案对我而言似乎很长,如果我成功捕获了所有这些音频数据包,我该如何解密它们(它们不加密?)2 - UCMA 2.0 SDK包含'Recorder'音频设备,以及使用它时有2个样本。
>据我所知,UCMA SDK使开发人员能够创建可以发起或接收呼叫的端点,从而可以记录它们,但我无法弄清楚如何在其他2个端点之间插入"Recorder"音频设备 - 没有使用会议?如果没有直接的方法可以做到这一点,还有另一种解决方法吗?

非常感谢您的想法。

最好的问候。


Sameh M. Serag

高级软件开发人员

Hi all,
I am new to Unified communications programming, and my problem is how could I record a call between 2 endpoints (not necessary using office communicator or other soft-phones, may be 2 IP phones).
I found 2 ways to do that:
1- Create a plugin on OCS to filter INVITE messages, and then route a copy of all audio packets to another server that 'sniffs' all incoming audio packets and saves them to a file.
> This solutions appear long to me, also if I succeeded in capturing all these audio packets, how can I decrypt them (aren't they encrypted?)
2- The UCMA 2.0 SDK contains the 'Recorder' audio device, and there is 2 samples on using it.
> As far as I understood, the UCMA SDK enables the developer to create endpoints that can initiate or receive  calls, and thus can record them, but I can't figure out how can I insert the 'Recorder' audio device between 2 other endpoints -without using a conference? And if there is no direct way to do that, is there another workaround?

And ideas will be greatly appreciated.

Best regards.


Sameh M. Serag
Senior Software Developer

推荐答案

在列出的第一个选项中,复制数据包,你真正需要做什么让您的应用程序在服务器上修改邀请中的SDP,以通过您的服务在中间路由媒体流。由于加密密钥是在SDP中发送的,因此您可以将它们传递到中间的服务器,它可以读取媒体数据包并在两个参与者之间转发。

在会话涉及的情况下超过两个人,然后您需要注意会议邀请,并确保您的中间服务器至少看到流经MCU的媒体的一条腿。如果您选择的分支因为该参与者离开会议而被丢弃,这将变得棘手。

您的第二个选择是使用UCMA API编写机器人并邀请该机器人参加会话。最简单的方法是让参与者手动添加位。由于机器人是会议的参与者,它获取媒体并可以记录信息。这里的问题是机器人会出现在会议名单中,每个人都会知道它正在被录制。如果您不关心这一点,那么您就可以去了。

In the first option that you list, copying the packets, what you really need to do is have your application on the server modify the SDP in the invite to route the media streams through your service in the middle.  Since the encryption keys are sent in the SDP, you can pass them to your server in the middle and it can read the media packets and forward them between the two participants.

In the case where the conversation involves more than two people, then you need to watch for the conference invites and make sure that your server in the middle sees at least one leg of the media flowing through the MCU.  This gets tricky if the leg you have chosen gets dropped because that participant leaves the conference.

Your second option involves writing a bot using the UCMA API and having that bot invited to the session.  The easiest way to do this is to have the participant add the bit manually.  Since the bot is a participant in the conference, it gets the media and can record the information.  The issue here is that the bot will show up in the roster for the conference and everyone will know that it is being recorded.  If you don't care about that, then you are good to go.


这篇关于如何记录2个端点之间的呼叫?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆