Howto:XQi Engine - XQTING - 3rd Party Product: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
(Introduction on how XQTING can help you build integrations with the innovaphone platform)
 
 
(82 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<!-- this text is a comment that is not visible on normal view at the article. -->
[[Image:XQting_logo.png||200px|right]]
<!-- to create a new entry here,
 
  - fill in all sections marked as "by vendor"
==Product Name==
  - innovaphone will then complete the remaining sections (marked as "by inno")
XQi Engine
 
 
  Please note that this article is in English only!
==Certification Status==
  feel free to ask presales in case you have any difficulties on editing wiki articles
{{Template:Compat_Status_referral_product_new}}
  -->


<!-- by vendor:
Test report was created June 2020.
  - upload your company and product logo (if any) in a suitable size (.pgn preferred)
  - replace images below with your logo
  -->
[[Image:company logo.png||200px|right]]
[[Image:product logo.png||200px|right]]


{{FIXME|reason=Note: Article - Name for SIP Providers 3rdparty product page should be Howto:Country-Provider-Productname-Year-SIP-provider.}}
==Category==
[[Category:Referral Product|{{PAGENAME}}]]
{{Category:3rdParty App Development}}
[[Category:3rdParty App Development|{{PAGENAME}}]]


==The XQi Engine==
==Product Description==
<!-- by vendor:
<!-- by vendor:
   Place here Official Product Name, as used in vendors product collateral  
   Place here Official Product Name, as used in vendors product collateral  
   If you have a dedicated product page (not a generic vendor page) in English, also put the link below
   If you have a dedicated product page (not a generic vendor page) in English, also put the link below
   -->
   -->
My Product [https://www.company.com/products/myproduct.htm Vendor Product Page]
Introduction on how XQTING can help you build integrations with the innovaphone platform.


==Certification Status==
===Integrating with the innovaphone platform===
<!-- by inno
  - uncomment one of the stati below
  - update date below
  -->
<!--{{Template:Compat Status "planned"}}-->
<!-- {{Template:Compat Status "in progress"}} -->
<!-- {{Template:Compat_Status_"referral_prod."|certificate=Tpl_sip.business_Toplink_SIP_Provider_-_product-cert.pdf}} -->
<!-- {{Template:Compat_Status_"engineered_prod."|certificate=Tpl_sip.business_Toplink_SIP_Provider_-_product-cert.pdf}} -->
<!-- {{Template:Compat_Status_"rec._prod."|certificate=Tpl_sip.business_Toplink_SIP_Provider_-_product-cert.pdf}} -->
<!--{{Template:Compat Status "tested"}} -->
<!-- {{Template:Compat Status "rejected"}} -->
<!-- {{Template:Compat_Status_"referral_prod."-no-certificate}} -->


<!-- Testing of this product has been finalized January 1st, 1970. -->
Since version 13 of the innovaphone platform, one option to create an integration (with another software in your business) is by writing an “app” in the innovaphone app platform (myApps). <br><br>
Though such an app is completely part of the platform, building (developing) it is a time-consuming activity and has some challenges. Therefore, one should first investigate: <br>
* The potential of the app.  Can you make the app once and sell it many, many times? There are thousands of innovaphone users throughout the world. Do you think of an app that every innovaphone user likes, or better, needs?
* The licensing model. If you are planning to distribute your app to the world, you will want some return, and this is done via a license cost for your app. How much will you charge the user for using your app?
* Do you have profound knowledge and understanding of the innovaphone platform? C++ knowledge is a must. If you do not have this, how much time (money) would it cost to acquire that knowledge, and is it still profitable to make the app?
* Do you look at innovaphone version 13 only?
<br>
If you can answer all the above questions with a solid “yes”, then you must make an app and publish it in the myApps store.<br>
If you do not have the required technical expertise (innovaphone platform knowledge, C++ development skills, async programming…), but the rest is a “yes”, XQTING can help you to make your app. Refer to the contact section at the end of this page and do not hesitate to contact us.<br><br>
In all other cases, you are probably better of by integrating the innovaphone platform using the XQi Engine. An integration of the innovaphone platform with the XQi Engine is the way to go if:<br>
* You have little or no innovaphone platform or telephony knowledge, but your customer wants to integrate the platform in his processes.
* The solution you must provide is only applicable for this one specific customer. It is not usable for anyone else, and it will not be available in the app store.
* You want to deliver a solution fast, write less code, and trust upon the knowledge of our developers with the innovaphone and other platforms
* You want to avoid developing a solution from scratch, which would cost many man-days, making the project impossible to sell
* It needs to run on older platforms (v11 or v12)
<br>


<internal>
===Why did we make the XQi Engine?===
Zertifikatsvorlagen liegen unter \\inno-sifi\dfs\Techserv\Testlab
We live in a world of platforms, clouds, and applications. Most of the software programs available today offer APIs to integrate. One could wrongly conclude that, as a result, all applications seamlessly talk with each other. But nothing is less true because each API lives in its own world. The concept of an employee will be different in a HR application, compared to the employee model in the accounting software of that same company.
Beim Abschluss des Tests (egal ob gut, schlecht oder abgebrochen) <strong>bitte Nachricht an ptr</strong>!
<br><br>
<br>Bitte darauf achten, dass das Zertifizierungsdatum angegeben ist, also "Testing of this product has been finalized January 1st, 1970"
</internal>


==Category==
[[image:API challenges.png]]
<!-- by inno:
<br><br>
  - select one or more of the available recommended product categories
    a list of valid Categories can be found in
    Special Pages / Prefix Index / Display pages with prefix = RecProd, Display pages with prefix = Category
    (you need to apply it twice, first as template {{..}}, seconds as category [[..]])
  -->


{{Category:RecProd Select proper Category here}}
We could opt for a tailor-made integration: analyze the APIs, come up with a plan and start programming. This will always work but might not be the cheapest solution: you need to start from scratch (every time again) or you could use expensive middleware (e.g. Biztalk). Another approach is to use low code automation solutions such as Microsoft Power Automate, Zapier and IFTTT… These tools start at a reasonable price but tend to get expensive when heavily used, complexity is increased, or popular services are interfaced. They also typically do not work very well with (old) on-premise legacy systems (no, not all is cloud yet).
[[Category:RecProd|{{PAGENAME}}]]
<br><br>
[[Category:RecProd Select proper Category here|{{PAGENAME}}]]
The XQi Engine is situated somewhere between.
<br><br>
The XQi Engine is a low code solution that is easy to install, to understand and to learn. Yet, it is flexible enough to create more complex processes and flows. It runs on premise, it can be hosted, or it can be deployed in the cloud. The XQi Engine runs on both Windows and Linux. It bundles all the knowledge that our engineers have acquired in the numerous integration projects. Furthermore, the engine is continuously extended with new modules as we get more requests and projects.
<br><br>


==Functions==
[[image:XQiConcept.png]]
<!-- by vendor:
  - place here a short and concise list of features that are supported by your product
  -->
Short summary of the most important features:
*basic call
*email to fax
*call park function
*...


==Version==
<br>
<!-- by inno:
Applied to innovaphone, it gives the below overview. Note that the engine supports multiple ways to connect to innovaphone.
  - version of software that was tested, as declared by the vendor or reseller(in case of customer testimonial), please not if patches have been applied
<br><br>
  -->
1.2.3


==Vendor==
[[image:XQiinnovaphone.png]]
<!-- by vendor
  - Official name of your company, at best linked to your companies web site url, Official name of the vendors web site
  - you may also add a logo
    - upload your company logo (.png preferred, suitable size)
    - replace logo below with yours
  -->


[[Image:3rdPartyGoldfischglas 03.png]] [http://www.company.com Company Inc.]
<br>
Compared to your own custom development, the XQi Engine is your best choice if you are bound to a limited project timeframe and budget.
<br><br>


 
==Example use cases==
==Description==
===Using the v13 replicator API===
<!-- by vendor:
Refer to our [https://xqting.wordpress.com/2020/07/19/make-innovaphone-v13-integrations-easy-with-the-xqi-engine/ blog article].<br>
  - add short description of the product features, like on a data sheet.  Maximum 250 words.  
The replicator API gets all user/device/group information & updates. It is used to synchronize with other systems, e.g. update another system with a REST call to set a users’ new device.
  -->
<br><br>
 
===Synchronizing Azure AD users===
==Competitive Analysis==
Refer to our [https://xqting.wordpress.com/2020/07/06/synchronizing-azure-ad-users-using-the-xqi-engine-and-ms-graph/ blog article].<br>
<!-- by vendor:
Is used in combination with the innovaphone Admin API to synchronize users with Azure Active Directory.
  - add short competitive analysis. Maximum 250 words.  This text should enable the innovaphone reseller to select
<br><br>
    your product for scenarios where it is especially useful
===Collecting Call Data Records (CDRs)===
  -->
Refer to our [https://xqting.wordpress.com/2020/07/06/collecting-teams-call-records-cdrs-with-the-xqting-engine/ blog article].<br>
 
The example is based on Teams, but same applies to innovaphone CDRs. A similar approach can be used to export CDR data to accounting or management systems.
==Summary==
<br><br>
<!-- by inno:
===Rapid HTTP server development===
  - add remarks regarding the product, such as special features, firmware versions or licenses required on the inno side,
Do you use voicemail scripts in your innovaphone and want to integrate with external sources? This can be done in your voicemail script by calling a HTTP URL. But how do you create a simple HTTP server that will fetch the required data and return a simple answer without having to build a complete web application and set up a web server? The engine has an HTTP server on board and allows you to quickly implement any HTTP request and return an answer in any format you like.
    parts of the product that has not been tested or limitations discovered.  very short and concise (everything else is in  
<br><br>
    the test report)
'''Configuration'''
  - add link to product test report here
<br><br>
  -->
[[image:XQiConfiguration.png]]
[[Howto:Vendor SIP Compatibility Test|innovaphone Vendor Testreport]]
<br><br>
<br>- or -<br>
'''Process'''
<!-- by inno:
<br><br>
  as an alternative, if the product is known to be working due to a successful customer project
[[image:XQiProcess.png]]
  -->
<br><br>
This solution proved to meet the expectations in the following customer projects:
===Timed execution of processes===
* [http://www.partner-or-innovaphone.com/customer-success-story www.partner-or-innovaphone.com/customer-success-story]
The engine supports scheduling a timer event to execute a specific process.<br>
* [[Howto:Customer-Testreport-and-Result]]
Applicable for:
<br>- or -<br>
* Synchronization of data sources where notifications are not generated
<!-- by inno:
* Check availability of services and generate notifications
  as an alternative, if the product has been tested by the vendor
* Check data from different sources and trigger actions (HTTP)
  -->
* Schedule import/export of data
This solution has been tested by the vendor. 
* Launching tools periodically
[http::/www.vendor.com/testresultpage http::/www.vendor.com/testresultpage]
One can use the innovaphone API to generate calls in case a failure is detected.
<br><br>
===Notification engine===
With the XQi Engine one can generate notifications via different ways depending on an incoming event. Such incoming event is a HTTP call or failure of a process.
Notification are sent via
* Innovaphone (by means of the RCC API)
* Email
* SMS
* WhatsApp
<br>
<br>
[[Howto:Hardcopy-of-Vendor-Testreport-and-Result]]
===Pop-up customer information===
Upon arrival of an incoming external call, the user wants the corresponding ERP/CRM page of the caller/customer to open automatically. The XQi Engine supports this feature and can combine information available in different sources (e.g. CRM for contact details, accounting software for list of open/due invoices, ticketing system for open support cases…).
<br><br>


==Pricing==
==Pricing==
<!-- by vendor:
On demand<br><br>
  - describe ballpark pricing, e.g. "500€ per seat" or "starting at 25.000€ depending on the number of trunk lines" 
XQTING delivers the engine which is subject to a license agreement. There is a basic license including 5 users. Some of the modules have their own (additional) price. Installation is done on-premise, hosted (by XQTING) or in the cloud and takes 1 day. The creation of the integration scripts is depending on the project case & scope. XQTING provides support on all components (engine & integration scripts).
  -->
<br><br>
 
 


==Contact==
==Contact==
Line 136: Line 126:




{|
Jan Vidts <br>
| colspan=99 |  Marcus Testman
XQTING <br>
|-
Buchtenstraat 7 b301 <br>
| colspan=99 | company
B-9051 Gent <br>
|-
Belgium <br>
| colspan=99 | address
Tel: +32 475 345 555 <br>
|-
Mail: [mailto:jan@xqting.be jan@xqting.be] <br>
| colspan=99 | zip, town
www: [https://www.xqting.com www.xqting.com] <br>
|-
| Tel: || +49 7031 73009 0
|-
| Fax: || +49 7031 73009 99
|-
| Mail: || [mailto:info@company.com info@company.com]
|}
 
[[Category:Compat|{{PAGENAME}}]]

Latest revision as of 11:42, 19 March 2024

XQting logo.png

Product Name

XQi Engine

Certification Status

Referralprod.PNGThis product is listed due to a customer testimonial. No tests have been conducted by innovaphone.

Test report was created June 2020.

Category

Application-middlewares

Product Description

Introduction on how XQTING can help you build integrations with the innovaphone platform.

Integrating with the innovaphone platform

Since version 13 of the innovaphone platform, one option to create an integration (with another software in your business) is by writing an “app” in the innovaphone app platform (myApps).

Though such an app is completely part of the platform, building (developing) it is a time-consuming activity and has some challenges. Therefore, one should first investigate:

  • The potential of the app. Can you make the app once and sell it many, many times? There are thousands of innovaphone users throughout the world. Do you think of an app that every innovaphone user likes, or better, needs?
  • The licensing model. If you are planning to distribute your app to the world, you will want some return, and this is done via a license cost for your app. How much will you charge the user for using your app?
  • Do you have profound knowledge and understanding of the innovaphone platform? C++ knowledge is a must. If you do not have this, how much time (money) would it cost to acquire that knowledge, and is it still profitable to make the app?
  • Do you look at innovaphone version 13 only?


If you can answer all the above questions with a solid “yes”, then you must make an app and publish it in the myApps store.
If you do not have the required technical expertise (innovaphone platform knowledge, C++ development skills, async programming…), but the rest is a “yes”, XQTING can help you to make your app. Refer to the contact section at the end of this page and do not hesitate to contact us.

In all other cases, you are probably better of by integrating the innovaphone platform using the XQi Engine. An integration of the innovaphone platform with the XQi Engine is the way to go if:

  • You have little or no innovaphone platform or telephony knowledge, but your customer wants to integrate the platform in his processes.
  • The solution you must provide is only applicable for this one specific customer. It is not usable for anyone else, and it will not be available in the app store.
  • You want to deliver a solution fast, write less code, and trust upon the knowledge of our developers with the innovaphone and other platforms
  • You want to avoid developing a solution from scratch, which would cost many man-days, making the project impossible to sell
  • It needs to run on older platforms (v11 or v12)


Why did we make the XQi Engine?

We live in a world of platforms, clouds, and applications. Most of the software programs available today offer APIs to integrate. One could wrongly conclude that, as a result, all applications seamlessly talk with each other. But nothing is less true because each API lives in its own world. The concept of an employee will be different in a HR application, compared to the employee model in the accounting software of that same company.

API challenges.png

We could opt for a tailor-made integration: analyze the APIs, come up with a plan and start programming. This will always work but might not be the cheapest solution: you need to start from scratch (every time again) or you could use expensive middleware (e.g. Biztalk). Another approach is to use low code automation solutions such as Microsoft Power Automate, Zapier and IFTTT… These tools start at a reasonable price but tend to get expensive when heavily used, complexity is increased, or popular services are interfaced. They also typically do not work very well with (old) on-premise legacy systems (no, not all is cloud yet).

The XQi Engine is situated somewhere between.

The XQi Engine is a low code solution that is easy to install, to understand and to learn. Yet, it is flexible enough to create more complex processes and flows. It runs on premise, it can be hosted, or it can be deployed in the cloud. The XQi Engine runs on both Windows and Linux. It bundles all the knowledge that our engineers have acquired in the numerous integration projects. Furthermore, the engine is continuously extended with new modules as we get more requests and projects.

XQiConcept.png


Applied to innovaphone, it gives the below overview. Note that the engine supports multiple ways to connect to innovaphone.

XQiinnovaphone.png


Compared to your own custom development, the XQi Engine is your best choice if you are bound to a limited project timeframe and budget.

Example use cases

Using the v13 replicator API

Refer to our blog article.
The replicator API gets all user/device/group information & updates. It is used to synchronize with other systems, e.g. update another system with a REST call to set a users’ new device.

Synchronizing Azure AD users

Refer to our blog article.
Is used in combination with the innovaphone Admin API to synchronize users with Azure Active Directory.

Collecting Call Data Records (CDRs)

Refer to our blog article.
The example is based on Teams, but same applies to innovaphone CDRs. A similar approach can be used to export CDR data to accounting or management systems.

Rapid HTTP server development

Do you use voicemail scripts in your innovaphone and want to integrate with external sources? This can be done in your voicemail script by calling a HTTP URL. But how do you create a simple HTTP server that will fetch the required data and return a simple answer without having to build a complete web application and set up a web server? The engine has an HTTP server on board and allows you to quickly implement any HTTP request and return an answer in any format you like.

Configuration

XQiConfiguration.png

Process

XQiProcess.png

Timed execution of processes

The engine supports scheduling a timer event to execute a specific process.
Applicable for:

  • Synchronization of data sources where notifications are not generated
  • Check availability of services and generate notifications
  • Check data from different sources and trigger actions (HTTP)
  • Schedule import/export of data
  • Launching tools periodically

One can use the innovaphone API to generate calls in case a failure is detected.

Notification engine

With the XQi Engine one can generate notifications via different ways depending on an incoming event. Such incoming event is a HTTP call or failure of a process. Notification are sent via

  • Innovaphone (by means of the RCC API)
  • Email
  • SMS
  • WhatsApp


Pop-up customer information

Upon arrival of an incoming external call, the user wants the corresponding ERP/CRM page of the caller/customer to open automatically. The XQi Engine supports this feature and can combine information available in different sources (e.g. CRM for contact details, accounting software for list of open/due invoices, ticketing system for open support cases…).

Pricing

On demand

XQTING delivers the engine which is subject to a license agreement. There is a basic license including 5 users. Some of the modules have their own (additional) price. Installation is done on-premise, hosted (by XQTING) or in the cloud and takes 1 day. The creation of the integration scripts is depending on the project case & scope. XQTING provides support on all components (engine & integration scripts).

Contact

Jan Vidts
XQTING
Buchtenstraat 7 b301
B-9051 Gent
Belgium
Tel: +32 475 345 555
Mail: jan@xqting.be
www: www.xqting.com