UCMA4初体验中说到了用UCMASampleHelper帮助建立连接,现在来看自己如何建立。
前文说到了,过程分四步:创建终端、认证终端、会话建立、连接建立。
1.UserEndpoint的构造方法只有一个:
public UserEndpoint(CollaborationPlatform platform, UserEndpointSettings settings);
第一个参数是平台,第二个是配置。还记得UCMA对象基本都需要配置信息吗?而且一般都是第二个(最后一个)参数。我们先创建UserEndpointSettings的实例,UserEndpointSettings有四个构造方法,我们选择下面这个:
public UserEndpointSettings(string ownerUri, string serverName);
也就是说“由谁登录,登录到哪”。然后指定它的两个属性:
using System.Net;
userEndpointSettings.AutomaticPresencePublicationEnabled = true;
userEndpointSettings.Credential = new NetworkCredential("i", "**", "ads.assk.com");
AutomaticPresencePublicationEnabled设为true 能使对方跟踪你的状态信息。第二个是用来认证的信息,参数分别是用户名、密码、域。
然后来创建平台。CollaborationPlatform有三个构造方法:
public CollaborationPlatform(ClientPlatformSettings platformSettings); public CollaborationPlatform(ProvisionedApplicationPlatformSettings platformSettings); public CollaborationPlatform(ServerPlatformSettings platformSettings);
我们传一个ClientPlatformSettings实例:
ClientPlatformSettings clientSettings = new ClientPlatformSettings("test", SipTransportType.Tls);
SipTransportType有三个枚举值:None,Tcp,Tls。
然后终端就建好了:
UserEndpoint endPoint = new UserEndpoint(platform, userEndpointSettings);
2.和服务器连接分两步:
endPoint.Platform.BeginStartup(CallStarttupComplete, endPoint); endPoint.BeginEstablish(CallEstablishCompleted, endPoint);
需要用线程信号控制一下,第一个执行完了才能执行第二个。
private void CallStarttupComplete(IAsyncResult result) { UserEndpoint userEndPoint = result.AsyncState as UserEndpoint; CollaborationPlatform collabPlatform = userEndPoint.Platform; { collabPlatform.EndStartup(result); } } private void CallEstablishCompleted(IAsyncResult result) { { UserEndpoint messageCall = result.AsyncState as UserEndpoint; messageCall.EndEstablish(result); _callEstablishComplete.Set(); } }
3.开启会话前一篇文章说了,这里使用一下其他的构造方法:
ConversationSettings settings = new ConversationSettings(); settings.Priority = ConversationPriority.Normal; settings.Subject = "Test 01."; Conversation conversation = new Conversation(endPoint, settings);
4.开始通信的连接建立也提过:
InstantMessagingCall imCall = new InstantMessagingCall(conversation); imCall.BeginEstablish("sip:i@fd.com", null, null, CallEstablishCompleted, imCall);
建立后才可以继续其他的操作,所以也要在这里暂停。
相关推荐
在深入了解UcmaRuntime 2.0之前,我们首先需要明白它在Exchange 2010中的角色。UcmaRuntime,全称是统一通信托管应用程序运行时,是Microsoft Lync Server(现在称为Skype for Business Server)和Exchange Server...
4. **身份验证**:了解UCMA中的身份验证机制,如证书和凭据的使用。 5. **事件驱动编程**:UCMA基于事件模型,你需要学习如何编写响应特定事件的代码。 6. **API使用**:熟悉UCMA SDK提供的类库,如`...
标题中的"ucma.rar"可能是指一个压缩包文件,它包含有关Windows编程、Unix和Linux的知识资源。在描述中提到的“Cleanup events not yet reported to the user”可能是指程序在运行过程中产生的清理事件,这些事件...
UCMA应用提供对 Microsoft Lync Server增强状态信息、即时消息、电话、视频呼叫和音频/视频会议的访问和控制能力。它可用于开发机器人自动回复应用,后台控制发起IM或语音会话,消息推送机制等。 TangramUCMA 是...
在压缩包中,"LDCM 4.0.exe.Config"是应用程序的配置文件,包含了程序运行所需的环境设置、数据库连接信息等关键参数。"LDCM 4.0.exe"则是LDCM 4的可执行文件,用户可以直接运行此文件来启动应用程序。 总的来说,...
4. 安装过程中,系统可能需要你确认某些操作,如添加或修改注册表项,或者安装其他依赖组件。根据提示进行操作。 5. 安装完成后,你可以选择立即重启计算机以使更改生效,但根据描述中的信息,这一步似乎不是必要的...
在提供的压缩包文件中,"LDCM 4.0.exe.Config"是应用程序的配置文件,包含了程序运行所需的环境设置和配置参数,如数据库连接信息、日志级别等。而"LDCM 4.0.exe"则是LDCM 4的可执行文件,双击即可启动程序,开始...
您可以使用UCMA来实现它,也可以使用此存储库中的代码进行小规模入门。BotFramework的UCWA 2.0示例这是UCWA 2.0和Bot Framework Direct Line的组合示例。 有关UCWA SDK的详细信息,请参见库。 有关“直线”的详细...
- **Exchange 2016 CU4 安装**:安装 Exchange 2016 Cumulative Update 4 版本。 - **证书配置**:为 Exchange 2016 配置所需的 SSL 证书。 - **虚拟目录配置**:配置必要的虚拟目录。 - **发送/接收连接器配置**:...
活动大咖 乐打卡 红包 相亲大会 积分 乐审批 文档库 DLMS证明预约 日程 证明速递 会议室预定 乐认证 摇一摇 红包大战2017 签证查询 UCMA Outlook 统计 信息技术架构图全文共2页,当前为第1页。 DMZ/US PC端 FastDFS ...
C#中实现这一功能可能需要借助第三方库,如Microsoft的统一通信客户端API (UCMA) 或OpenTok这样的API服务。 在C#编程中,实现这样的系统可能包括以下几个关键部分: 1. 数据模型:创建类来表示会议记录,包括时间、...
- **SIP(Session Initiation Protocol)**:用于建立、修改和终止多媒体会话,如音频、视频通话。 - **H.323**:由ITU-T制定的多媒体通信标准,适用于IP、ISDN、PSTN等多种网络环境。 - **RTP(Real-time ...
provides technical information about the Unified Communications Managed API version 1.0 SDK. It is intended for application developers who are interested in creating and deploying SIP-based ...