Hello Team,
I am working on a feasibility study to support calling functionality in Reactive Web Application using Azure Communication Services Call Automation .Net SDK, click here to view Quickstart, attaching code sample pic below for quick reference:
Example in the link/pic above shows approach of Node.js + JavaScript which installs relevant NPM packages. As NPM packages are not supported in OutSystems I hope to believe same can be achieved with .Net Extensions + JavaScript in OutSystems.
The example shows an event listener is added which is listening on 'incomingCall' event. I know we can add event listeners in OutSystems JavaScript code however example code shows dependency on the objects created with SDK, how do I bypass having SDK objects if I can or how to refer them in JavaScript as I'll be creating those objects in .Net Extension as SDK is consumed there.
If consumption of SDK and listening to incoming event on them is possible in OutSystems from your experience then please suggest an approach.
P.S. I have a background of .Net technologies including Windows Application and WebAPI's however I am a newbie in Web's frontend technologies. So if I omit/ignore something very obvious then you know why...
Hi @Chetan Anil Chitatwar ,
Approach 1: You can bundle the two modules with webpack and then import the js file into OS => this is a link: https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Bundling.md, then you can use the code snippet that you posted.
Approach 2: (Idk if its works), download the file from jsdelivery
Then import this file in OS and use the code snippet.
Br,
Andrea
Hi @Andrea Lembo,Thanks for your suggestion, Approach 1 looks promising...I'll try it out and update soon.
Approach 1 worked out well.
After few tries I was able to bundle the required functionality with webpack. It allowed me to make and receive VoIP calls in OutSystems application.This approach also opened ways to include other functionalities provided by the sdk.
Wish I could change the title of the post to make it more relevant to the solution we discussed.
Hi,
Anything you would do in O11 with a .NET C# SDK you need to implement in an extension, and those are compiled to dll files executed on the outsystems front end server, not the client. So how would this work for you? I don't think it is possible.
Regards,
Daniel
Hi @Daniël Kuhlmann,Yes, it seems not possible with the way of .Net extension.For client side code like listening to an incoming call, I'll need something accessible in OS JavaScript. I looked into another approach of integrating NodeJS module using Browserify which can help generate a single JS file that can be imported in OutSystem as a script. I see similar approach used in Firebase forge component.
So far I've not been able to extract usable bundle from ACS NodeJS Packages. I'll continue on this and on any other available approach and update here.
I just created similar implementation for Azure Service Bus for receiving message from queue you can check my that solution
https://www.outsystems.com/forge/component-overview/19675/azure-service-bus-library-o11