我安装了一个MSPL脚本,将邀请音频消息重定向到UCMA sip地址
我目前正在为Skype for Business编写一个UCMA应用程序:
我最不需要做的事情是将调用方URI添加到电话会议中。我尝试使用本文中的代码示例邀请新的参与者参加会议,但我得到了一个例外,即会话中没有AvailableMediaTypes。
public static async void InviteToConference(string destinationUri)
{
//Create a new conversation for the application endpoint.
_toConversation = new Conversation(_server.ApplicationEndPoint);
var conferenceInviteSettings = new ConferenceInvitationSettings();
conferenceInviteSettings.ConferenceUri = _conferenceUri;
ConferenceInvitation invitation = new ConferenceInvitation(_toConversation, conferenceInviteSettings);
try
{
await invitation.DeliverAsync(destinationUri);
}
catch (InvalidOperationException)
{
// Conversation was terminated while trying to add participant.
}
}有人能告诉我我需要做些什么来增加/邀请一个参与者参加一个电话会议吗?
如果有人能告诉我如何在不需要创建会议的情况下录制Skype for Business call,那就更好了,因为会议不能被转发。
发布于 2017-09-07 19:30:20
您的代码看起来像旧的方法(UCMA 3)。你试过这吗?
例如:
McuDialOutOptions mcuDialOutOptions = new McuDialOutOptions();
mcuDialOutOptions.ParticipantUri = "sip:alice@contoso.com";
mcuDialOutOptions.ParticipantDisplayName = "Alice";
mcuDialOutOptions.PreferredLanguage = CultureInfo.GetCultureInfo("en-us");
conversation.ConferenceSession.AudioVideoMcuSession.BeginDialOut("tel:+14255551234", mcuDialOutOptions, dialOutCallback, state);使用这种方法记录非常具体和低流量应该是好的,但当你开始扩大它,然后你会遇到各种各样的问题。
至于如何在不召开会议的情况下做到这一点:
没有办法完全用提供的Microsoft来完成它。
您要做的是为以下部分实现、购买或使用开源库:
要获得对SRTP流加密设置的访问,并确定所使用的音频/视频编解码器的动态有效载荷类型,您还需要知道主叫方之间提供和回答的SDP。您还需要访问SIP通信量,以确定主叫方知道谁呼叫了谁。这比看上去麻烦多了..。
要获取SIP/SDP信息,我知道两个选项:
如果你把所有这些问题都摆好了,那么下一个问题就是你只能“记录”(基本上是“嗅”)你能看到的东西。如果看不到RTP/SRTP通信量,则无法记录调用。
因此,您需要在网络中看到您想要记录的流量的区域上使用记录软件的嗅探器部分。例如,如果您希望记录所有PSTN呼叫,您可以在Skype中介服务器上拥有一个跨越端口的网络。
如果你想记录所有的电话,那就更难了。你很可能需要:
上述解决办法的问题如下:
最重要的是,存储管理(一段时间后记录将开始占用大量磁盘空间)和呼叫记录管理(例如搜索特定呼叫)和用户安全围绕这些记录来处理的普遍问题。我肯定我错过了很多,但这些都是最基本的。
如果录制不是一个核心组件,你可以买一个第三方电话录音解决方案,支持Lync/Skype。
https://stackoverflow.com/questions/46099649
复制相似问题