Search code examples
c#skype-for-businessivrucma

How to configure a Skype For Business Server to receive phone calls and notify the UCMA application


I have pretty much finished my UCMA application which is designed to be a simple IVR. An unknown user calls a phone number remotely, from their cellphone, the IVR picks up the call, listens and responds to the user's voice and dmtf tones until they hang up.

Up to this point I have been testing the service as I go using xLite on my local machine. It works as intended and now I am working to deploy the application on a server so I can call in using my cell phone to test the application....

What I have:

I have successfully created a Skype For Business Server 2015 along with a trusted application pool running on a standalone server. The mediation server is collocated on the frontendpool(the server running skype for bussiness). And I have a PTSN gateway on another server. I have a PBX and PTSN license along with a PTSN phone number.

To Clarify

  • I have a dedicated trusted application pool(standalone), and trusted application
  • My UCMA application is manually provisioned using application endpoints.
  • The servers are all Windows 2012 R2 AWS instances being connected to via remote desktop. I have full control over all of them.
  • The Skype For Business Server is on-prem.
  • I am using UCMA 5.0
  • The person dialing their cellphone to reach the UCMA application won't be a SkB user, essentialy a randomly stranger.

I feel like I have all the necessary components set up but I'm not sure how to connect everything together so that I can pickup my cellphone and dial into my UCMA application.

Should I be using conferencing or Enterprise Voice? How do I go about setting up the phone number so that when its called it goes to the Skype for business server which then sends it to my ucma application?


Solution

  • I think you are getting confused here.

    First off you need to understand some things:

    1. UCMA only works in on-prem SfB installations.
    2. UCMA does not work in Office 365 (SfB online).
    3. Skype for Business Application SDK (Trusted Application API) only works in Office 365 (SfB online).
    4. Skype for Business Application SDK (Trusted Application API) does not work with On-Prem SfB.
    5. Skype for Business Application SDK is Microsoft's replacement for UCMA when developing for Office 365.
    6. Skype for Business Application SDK is both more than and also doesn't have all the features of UCMA currently. So you can do a lot more with UCMA than with Skype for Business Application SDK.

    OK now to your question.

    Do you mean generally calling your UCMA application On-Prem?

    In this case you need to setup a On-Prem Trusted Application Endpoint using Create-CsTrustedApplicationEndpoint. You can read about Application Endpoints here.

    Do you mean PSTN calling your UCMA application On-Prem?

    In this case you setup a Application Endpoint above and supply a valid DDI in the LineURI parameter. This is assuming you have PSTN access setup with valid incoming DDI's. e.g. Create-CsTrustedApplicationEndpoint ... -LineUri "tel:+14255551212" or Set-CsTrustedApplicationEndpoint ... -LineUri "tel:+14255551212"

    Do you mean calling your UCMA endpoint from Office 365?

    This requires a federation connection setup between your Office 365 account and your On-Prem account. Read this and this and this.

    Do you mean only running in Office 365?

    You don't want a UCMA application then, you want to develop a Skype for Business Application SDK application. Although you may find it very limited currently to specific scenarios that Microsoft have allowed as it's being developed.