Let's take some time to demo two of our products: the XQTING EasyConnect
App & XQTING Integration Engine
EasyConnect is developed for the Innovaphone App Platform. It allows integrators to interact with the Innovaphone Platform in a RESTfull manner instead of the Innovaphone C++ SDK or WebSocket protocols. This reduces complexity and often steep learning curve that is associated with innovaphone integration. The app is available for download in the Innovaphone App Store.
The XQTING Integration Engine is a "middleware" application server. The tool can be used for fast integration work and connecting several application platforms. There is a wide selection of data sources available to choose from like an HTTP client component, MS Graph client, various database types, …
In this post we will be using an HttpClient for interaction with the EasyConnect App & the MsGraph client. MsGraph will be used to fetch the contacts from all users in our Active Directory. All found contacts will be created (or updated) as contacts in an Innovaphone PBX by means of the EasyConnect App. By doing this, we are creating and maintaining an "address book" in innovaphone based on our Outlook contacts.
EasyConnect setup is not handled here. But the installation procedure is extensively described in the accompanying manual. MsGraph App Registration
To be able to use the MsGraph Module in the XQTING Integration Engine, we need a clientid & clientsecret. This means we need to create an App Registration for the engine in Azure. How to register an Azure App has been described many times before (for instance here: https://learn.microsoft.com/en-us/azure/active-dir...
In order to have access to the users in Active Directory & their contacts, the App requires the following permissions:
- Contacts.Read (type Application)
- User.Read.All (type Application)
- User.Read (type Delegated)
Before we start scripting we need to configure the MsGraph Module & HttpClient module. Since this requires no exotic parameters and mostly just a URL and the occasional clientid & clientsecret, this is not handled here.
What's more interesting is the flow of the script:
We kick off by getting all users from Active Directory (using the MsGraph module):