Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agenda UCMA 3.0 Highlights Management PowerShell cmdlets to create and manage UCMA trusted applications and endpoints. Autoprovisioning Application.

Similar presentations


Presentation on theme: "Agenda UCMA 3.0 Highlights Management PowerShell cmdlets to create and manage UCMA trusted applications and endpoints. Autoprovisioning Application."— Presentation transcript:

1

2

3 Agenda

4

5

6 UCMA 3.0 Highlights Management PowerShell cmdlets to create and manage UCMA trusted applications and endpoints. Autoprovisioning Application settings replicated to trusted application pools. Very easy UCMA application startup code. Quality and Resiliency Guarantee quality of service using new server role. KPIs for health indicators. DNS load balancing. Conferencing Conference scheduling and management Conference join and lobby experience Back-to-back calls Trusted participant Audio Routes Full control of media routing between participant endpoints Enables advanced communications scenarios Supervisor monitor Supervisor whisper Supervisor barge-in Context Channel Communication channel between UCMA app and Silverlight extensibility app Launch with initial context Send and receive context data Can replace WCF-based communication mechanism

7

8

9

10 2010 2011 20122013

11 Speech in UCMA Upgraded to use Speech 11 More TTS voices 16KHz audio for most TTS voices VXML SDK will work with Speech 11

12 Setup Support for silent runtime installs Development.NET 4 Support for Async Task Framework

13 Support UCMA Workflow SDK will not ship in Lync 2013 Support existing applications in a co-existence environment UCMA Workflow SDK 3.0 application running Lync 2010 server Users honed on Lync 2013 server Users able to connect to legacy application Guidance Build using UCMA core Leverage VXML

14

15

16

17 try { _platform.BeginStartup(startupAsyncResult => { try { _platform.EndStartup(startupAsyncResult); Console.WriteLine("Started platform."); EstablishEndpoint(); } catch (RealTimeException ex) { throw(ex); } }, null); } catch (InvalidOperationException ex) { throw(ex); }

18 var platformSettings = new ProvisionedApplicationPlatformSettings(_applicationName, _applicationId); _platform = new CollaborationPlatform(platformSettings); await _platform.StartUpAsync(); Console.WriteLine("Platform started."); var endpointSettings = new ApplicationEndpointSettings(_applicationEndpointURI, _lyncServer, _lyncServerPort); _endpoint = new ApplicationEndpoint(_platform, endpointSettings); await _endpoint.EstablishAsync(); Console.WriteLine(“Application Endpoint established.");

19 Extension Methods Create Task that represents pair of BeginX and EndX methods Specify Begin operation Specify End operation Set parameters Set asynchronous state

20 using System.Threading.Tasks; … public static Task StartUpAsync(this CollaborationPlatform platform) { if (platform == null) { throw new ArgumentNullException(); } return Task.Factory.FromAsync(platform.BeginStartup, platform.EndStartup, null); } … await _platform.StartUpAsync();

21 public static Task EstablishAsync( this Call call, string destinationUri, CallEstablishOptions options) { if (call == null) { throw new ArgumentNullException(); } return Task.Factory.FromAsync( call.BeginEstablish, call.EndEstablish, destinationUri, options, null); }

22 try { await _platform.StartupAsync(); } catch (InvalidOperationException ex) { Console.WriteLine(ex;) } catch (RealTimeException ex) { Console.WriteLine(ex;) }

23 Scenarios Run Tasks in sequence Run Tasks in parallel WhenAll Tasks complete WhenAny Tasks complete

24 demo

25 Agenda

26

27 UCMA Workflow SDK Positives Easy to develop with Visual design surface Handles underlying plumbing Negatives Media is expensive Scalability Have to write straight UCMA code often

28 Handle incoming call Associate call with workflow instance Attach a speech synthesizer to the callAttach a tone controller to the callMove between activities

29 var synthConnector = new SpeechSynthesisConnector(); PhoneMenuCallController.SpeechSynthesizer = new SpeechSynthesizer(); var format = new SpeechAudioFormatInfo( 16000, AudioBitsPerSample.Sixteen, Microsoft.Speech.AudioFormat.AudioChannel.Mono); PhoneMenuCallController.SpeechSynthesizer.SetOutputToAudioStream(synthConnector.Stream, format); synthConnector.AttachFlow(PhoneMenuCallController.AVCall.Flow); synthConnector.Start(); … PhoneMenuCallController.SpeechSynthesizer.SpeakAsync( "Thank you for calling the phone menu sample app! " + "Press 1 to speak to an agent, or 2 to repeat this menu.");

30 PhoneMenuCallController.ToneController.ToneReceived += new EventHandler (ToneController_ToneReceived); … void ToneController_ToneReceived(object sender, ToneControllerEventArgs e) { PhoneMenuCallController.SpeechSynthesizer.SpeakAsyncCancelAll(); if (e.Tone == 1) { // do something }

31 demo

32 Agenda

33

34 thank you

35

36 Lync Server 2010 Infrastructure SIP Layer Media Stack Microsoft.SpeechMicrosoft.Speech UCMA 4.0 Core API UCMA Server Speech API VoiceXMLVoiceXML Unified Communications Web API


Download ppt "Agenda UCMA 3.0 Highlights Management PowerShell cmdlets to create and manage UCMA trusted applications and endpoints. Autoprovisioning Application."

Similar presentations


Ads by Google