Integrating Phone calling system in web application

Mayuri Barve 1 Reputation point
2023-03-01T11:01:10.9433333+00:00

Hello,

I have a requirement wherein I need to perform page redirection in my WEB application based on phone call receiving event that happens in a third party application.

We are using a Super Receptionist(SR) calling system to process customer calls. A person calls a virtual number provided by SR calling app and then it routes those calls to Call center Agents as per their availability. There is another application built which Call center Agents uses to manage calling Customers and their Orders. Agents login to the web app (Web App in Azure) and places orders for customer who is calling. Here the requirement is whenever call is routed to any Agent from SR Calling app and when the Agent picks up the call, I need to catch that event and do a page redirection for that agent in my web application. The SR calling app has one Streaming API that updates the stream continuously by sharing call information (different events)

Please suggest which one would be better approach, 1. Calling their streaming API from web APP to get current live call details and on the Receive event do page redirection. 2 Or else SR calling app should call web app API to push Agentid and customer mobile to API and then API should do page redirection for the same agent.

Pls suggest.

Thanks.

ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,284 questions
Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
6,938 questions
{count} votes

3 answers

Sort by: Most helpful
  1. XuDong Peng-MSFT 10,176 Reputation points Microsoft Vendor
    2023-03-02T06:23:14.91+00:00

    Hi @Mayuri Barve,

    I'm afraid I can't say which approach is better, and I think it will depend on your actual requirement.

    For example, in the first approach, you need to continuously receive the update stream data to determine whether to redirect (polling mechanism), in which case it may respond a bit slower. But if you need to process other business logic before redirecting, then this method is feasible.

    In approach two, I'm not sure how the SR system you mentioned works, but I think that if you call the Web Api directly from the SR system, its response time will be a bit faster, because it just needs to respond and perform redirects instead of constantly fetching the stream data or execute subsequent logic. In this case, it requires coordination between the two applications and you may need to consider its security issues.

    Best regards,

    Xudong Peng


    If the answer is the right solution, please click "Accept Answer" and kindly upvote. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


  2. Bruce (SqlWork.com) 56,846 Reputation points
    2023-03-03T20:50:55.9633333+00:00

    it not clear how your web server is redirecting the client. a redirect is response to browser get request. either the browser client is polling (via javascript) for the call event, or you use a real time notification framework like signal/r

    if you use signal/r, then you web server would be a hub. you could use phone system web hook support (most have). the web server hook, would route the phone info to the correct signal/r client.

    0 comments No comments

  3. ajkuma 22,516 Reputation points Microsoft Employee
    2023-03-06T20:10:31.9+00:00

    Thanks for the follow-up and update.

    Adding to Xudong, based on the information you have provided, the first approach of calling the streaming API from the web app to get the current live call details and perform the page redirection on the receive event may be a better approach. This way, you can continuously monitor the call information and perform the page redirection as soon as the call is routed to the agent.

    If your requirement fits, you may leverage Azure Communication Services (ACS) to handle the incoming call notifications and redirect the call to the appropriate agent.

    You may also use advanced filters in your Event Grid subscription to subscribe to an IncomingCall notification for a specific source/destination phone number or ACS identity and send it to an endpoint such as a Webhook. That endpoint app can then make a decision to redirect the call using the Call Automation SDK to another Azure Communication Services identity or to the PSTN.

    Checkout the document below for more info/pointers:

    Incoming call concepts
    Use Visual Studio Dev Tunnels for your Event Grid subscription
    Redirect inbound telephony calls with Call Automation

    0 comments No comments