Handle inbound telephone calls via Azure Communication Services - azure

Is it possible to receive a PSTN telephone call with Azure Communication Services?
All the docs and the demos talk about initiating a call to a known number.
My use case is that somebody rings a phone number from their mobile phone (PSTN) and I want to be able to handle the call.
I cant find any documentation that discusses this or how to do routing! For example, which route the call to a particular agent.
Have I missed something? Any thoughts?

For anybody looking.... you cant as of 18/03/2022
This came directly from a conversation with Microsoft.
You can initiate a call via the API, but you cannot receive a call made from a telephone on a PSTN or manage routing etc.

Related

What is Direct Line in Azure?

I am starting to develop a bot for Teams and I do not understand the various channel offerings. I know I need to add Microsoft Teams to the channel list in Azure for the bot to be able to message people through chat channels, but I can't figure out how to allow the bot to communicate with an API that is hosted in AWS. Maybe Direct Line is what I'm supposed to use, but the documentation is very unclear. Here is what I can find about Direct Line:
Direct Line. This is the standard channel offering of Direct Line. It works by default with bot templates via the Azure portal, bots from the Bot Builder Samples, and bots created with the Azure CLI. This is the Direct Line best suited in the majority of the cases. See Connect a bot to Direct Line.
If anything, I became more confused after reading that. It raises more questions than it answered. If Direct Line is supposed to allow me to communicate with third-party APIs, I don't know how to get started even if I enable it. The BotBuilder repository documentation does not mention Direct Line channels, at least not in an obvious way, so that hasn't been much help either.
I have very little clue about how this works even though I spent my whole day reading about it. Deploying a bot to Teams that can make a call to another API is much more difficult than I anticipated. All I want to do is say #bot command and have it call an API to make a GET request. Once I am able to do that, I will be able to develop the rest of the application, but using the requests module in Python has not worked and I don't know why.
Anything you can offer about how this should work would be greatly appreciated.
Direct Line, as the name implies, is a direct line of communication to an Azure bot. Essentially, it is a set of APIs that you can use to communicate with an Azure Bot outside the set of provided channels. If you are building a custom application that none of the other channels such as Web Chat, Teams, Email, etc. would be appropriate for, then you can use the Direct Line API to send and receive messages to and from a hosted bot with REST calls. The API reference in the documentation explains how to connect to and use Direct Line. You would implement these calls into your application as you would calls to any other REST API and display the responses in whatever manner fits your use case.
The key intuition here is that Direct Line is only for communicating with the bot. It has nothing to do with connecting to outside services. Communicating with 3rd party services would be accomplished in the same manner as any other application. I don't know how you've implemented your application or what service you're connecting to, but I would suggest you double check that your calls to that service work outside your bot using Postman or curl before attempting to implement them into the bot.
Your use case would appear to be the Microsoft Teams channel, and not Direct Line.
I'm not totally clear either on what Direct Line is for, but from what I can understand it would be if you want to include a bot experience in your own custom app, like a desktop app with a "chat" feature. It's definitely not needed for Teams though - you only need the Teams channel.
With regards calling an API from within your bot, essentially your bot is just a standard web service - it can do anything any other kind of web service / web api can do, e.g. calling a 3rd party API.

Is twilio mandatory to access whatsapp api

My requirement is to send whatsapp message from the web page. So, it should be a single page which will have fields To Mobile number, message and send button.
I found the documentation from facebook that we need to get whatsapp business api for this.
I also see some other tools like twilio to achieve this.
It is just confusing that, If we can achieve it using whatsapp business api itself, why we require twilio
So, My question here is, Is twilio or other third party tools really require to access whatsapp api.
Note: i am planning to do this implementation with node js.
Please clarify.
If you read the Facebook documentation deeper, you would see that direct access to WhatsApp business API is not fully available to the public. However, Facebook has partnered with 3rd party business solution providers to provide an interface for you to integrate with whatsapp. Here's a list of their partners here.
In order for you to even stand a chance of directly accessing their APIs, you need to boast of a really high traffic and voluminous users attached to your product. So your best bet is via the 3rd party vendors.
Twilio developer evangelist here.
Olamide226 is correct that you can directly access the API, but that it is easier through a partner like Twilio.
I will note that you may want to consider your exact use-case against WhatsApp's requirements for API use. Most importantly, you must get explicit opt-in from users to receive WhatsApp messages from your business.
Also, there are two types of message:
Notifications: which you can send at any time, but must match a registered template and fit within the WhatsApp defined categories listed here
Conversations: if you have received a response from a user within the last 24 hours you can send messages in any format (they don't have to match a template)

suggestion about implement sms app in MEAN stack

Im using third parties sms service provider it cost more to my services so im interested create my own sms gateway app in MEAN stack technologies. i was searched lot of things but could not get proper information about implementation SMS app so anyone suggest to implement
You can use Twilio for this. You send them the message and the number via a REST API call and you get notified of its status by webhooks.

Track sms conversation with twilio and there is multiple conversation between two numbers

I am building customer service application and I have integrated Twilio for all SMS operations.
Now when customer request for the service system will generate one ticket and details will be messaged on customer's number.
and then the customer can message to my Twilio number which is service center specific(I mean each service center has been assigned one Twilio number) and service center executive can reply him back so I want to make this SMS conversation.
I can use cookies twilio SMS conversations but it won't work in the case when my application will first message as I can only set cookie when my server is actually acting as a server which will be only in receiving SMS
which is narrated in Application Initiated Conversations section in above article.
and another problem is there can be multiple tickets for single user with particular service center so how to manage it.
Any help is appreciated.
Twilio developer evangelist here.
SMS is a simple protocol that has no idea of different conversations, simply a chronologically ordered set of messages. There are two ways to get around this.
You can either insist that your user include an ID for the ticket they are referring to so that you can parse it out of the message and associate it to the right conversation.
Alternatively, you can add more than one number per service centre that can be used for different conversations.
Let me know if that helps at all.

Cisco Mobility regarding JTAPI

I'm developing an application using the Cisco JTAPI API. But one issue I'm facing is when the user enables mobility on his VoIP telephone. Then I'm unable to control the mobility call (the call forwarded to fx. the users mobile phone) through the JTAPI API as it's not tracked.
Does anyone have an idea on how I can control the call? Basically I just wanna hangup the mobility call in order to make the call return to the terminal so I can control it.
Thanks a ton.
Once the call goes to mobile phone or any pstn gateway Cisco JTAPI cannot control it. JTAPI has fine grained control only for registered devices. I would suggest looking at Cayuga API from the Cisco Voice gateways to get similar controls on calls flowing mobile phones. These are part of the Integrated Service Routers (ISR) itself.

Resources