Bridge Communications

Saturday, November 7, 2015

Creating your first UCMA application - Part I

In the next few weeks blog I am going to run you through how to create your very own UCMA application to test against your Skype For Business or Lync server.  Starting out in UCMA is a bit harder than just about any other type of programming, for 1 reason;  You need to have a working server in place, and define several objects for use on that server before you can begin.  Failing to do so, will result in nothing more than programs that break the second you try to run them.  Here are some things that can trip up first timers;

1.  UCMA apps must be x64, so switch your project type right away as to not waste valuable time trying to figure out why your default x86 app does work.

2.  You are going to need to run your apps from computers or servers that are part of your corporate domain, ie joined and trusted machines.

3.  Your UCMA libraries will be easy to code with if you pick the recommended version for your server level;
   
          A. Lync 2010 - UCMA 3.0
          B. Lync 2013 - UCMA 4.0
          C. Skype for Business 2015 - UCMA 5.0

You can achieve some level of backward compatibility, however many of the things that install on those server use the same type of run-times, and can often uninstall older versions.  In my experience it's best not to fight the current on that one.

Now for the fun, let's lay out of the server infrastructure for our application in this post.  To begin we need to understand some of the terminology.















The end goal here is make a trusted application, which our UCMA application will connect to our Skype for Business server as.  For security S4B and Lync require you do define the app name (trusted application) and the name of the machine it will run on (trusted app pool)  This makes sure that when the server receives a request as said program it can make sure the origination is the trusted app pool.  The port setting is basically the port on the machine your app is running that S4B will send any requested voice traffic to.  Make sure you firewall is not blocking that port if you intent to use that function.

So to begin we will need to setup the trusted application pool for our app.  Remember your Identity will be the domain computer the app will run on, and the Registrar will be your Front End, or Pool.
https://technet.microsoft.com/en-us/library/gg425804.aspx

New-CsTrustedApplicationPool -Identity yourpc.yourdomain.com -Registrar 
fe01.yourdomain.com -Site MySiteName

The final step for today's blog will be to setup our trusted application
First make sure that your application pool was created correctly.
Get-CsTrustedApplicationPool
Next we use the New-CsTrustedApplication command to create our app.  
The command will prompt you for any infor it needs you have not specified.
Here is were you tell it your app name, what your trusted pool name is, and what voice
port you will receive data on.

Follow those instructions and run Enable-CsTopology.
Once you do, you can check your gui like above to make sure you app has been successfully
completed.  

Next week we will start coding our sample application.

Doug Routledge, C# Lync, Skype for Business, SQL, Exchange, UC Developer  BridgeOC
Twitter - @droutledge @ndbridge



No comments:

Post a Comment