i want to get the Call id when the call is answered from agent with using the WDE (Workspace Desktop Edition) Platform SDK for .NET [ C# ] without using SIP Server ?
to call the Rest API
https://docs.genesys.com/Documentation/HTCC/latest/API/CallsAnswer
so that i need to know /{id}
for answer call and get Connid and MSISDN from the response
You can get the list of all calls or search for a specific call by GETing /api/v2/me/calls or /api/v2/me?subresources=*. Details here.
You can connect to T-server and monitor agent extension's events. When the agent answers the call, T-server sends an established message to you. This established message includes DeviceId(ThisDn),AgentId,CallId,ConnId and other informations of call.
In the link below, you can see that how to connect t-server and monitor extension's events.
Genesys Platform : Get Call Details From Sip Server
Related
I am trying to develop a simple bot that is supposed to answer incoming call made in personal chat with bot. The bot is employing application hosted media to play or get access to media streams. I am making use of classes and controllers that are implemented in Huebot sample project at Github. The bot is registered on MS Azure and i am using ngrok for local testing and debugging. While debugging after making the call, breakpoints are hit that are placed in 'CallsOnIncoming' or 'CallsOnUpdated' event handlers. So my bot configurations over Azure and in MS Teams seem to be correct. For setting up media platform, I have installed the wildcard SSL certificated issued by Let's Encrypt and CName records are created for corresponding tcp URLs exposed by ngrok. The environment is multi-tenant i.e. bot registration is done on another tenant, while bot is installed and tested in MS Teams on another tenant.
These are Media platform settings:
MediaPlatformInstanceSettings = new MediaPlatformInstanceSettings()
{
CertificateThumbprint = "0B687..................",
InstanceInternalPort = 8445,
InstancePublicPort = 15410,
InstancePublicIPAddress = new IPAddress(0x0),
ServiceFqdn = "4.mycustomdomain.com",
},
Here's the snapshot for ngrok:
The problem is, when call is made to the bot, after 5 to 10 seconds call is terminated automatically. Whereas he Call status should turn to 'Established' and the call shouldn't end until user does this.Please guide, what could be wrong.
The call is terminating because Teams can't connect to your media endpoint of the InstancePublicIPAddress / InstancePublicPort. It timesout (i believe in 15 seconds) and terminates the call when it can't get a media connection.
You need to put the IP address of 4.tcp.ngrok.io from your running ngrok settings above into it.
e.g.
InstancePublicIPAddress = Dns.GetHostEntry("4.tcp.ngrok.io").AddressList[0]
You may want to put error checking around the GetHostEntry call in production code.
As per the document it seems like we have to use MS Calling bot endpoint to get the call notifications(i.e. the case when bot is involved in the call ). But in case, when we have used Direct Routing with own SIP Trunks in MS Teams for incoming/outgoing call to PSTN, How can we get notifications like call is being establishing, established, terminated, etc.?
Any suggestion or workaround will be appreciated.
#Bijay, This is currently not supported but it is in pipeline and should be available in future.
Based on a GitHub sample, I created a dialog bot in Teams that collects information from a user and sends that to a Flow (Microsoft Flow/Power Automate) with a HTTP POST call.
After that the Bot waits for a response and sends it back to the user. This generally would be sufficient if the timeout for the call wasn't limited to 2 minutes - sometimes it takes longer to get the complete actions in Flow and get the response.
My question is how I could accomplish the same without getting the timeout. REST seemed the easiest as I'm not a programmer..
I checked the GitHub sample for proactive messaging (https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/16.proactive-messages), and that worked in the Emulator when I enter http://localhost:3978/api/notify, but I have no idea how to use it published to Azure. What would be the endpoint and how I could pass the message text?
Thanks
You should do some code modify if you want to send an message based on proactive-messages demo .
You can refer to my previous post which will meet your requirement.
After you modify the NotifyController.cs file , you can use send messages to a specific user with steps below :
Connect to your bot get current user ID :
Send message to this user by rest client tool or post man :
Result :
If you publish your bot to Azure , lets assume your Azure App service host is :https://xxxxxx.azurewebsites.net , then your bot message endpoint will be :https://xxxxxx.azurewebsites.net/api/messages and your /notify function endpoint will be : https://xxxxxx.azurewebsites.net/api/notify . In brief , just use your Azure App service endpoint to replace http://localhost:3978 will be fine .
Hope it helps . If there is anything unclear pls feel free to let me know .
I Would like to know if this is possible. I would like to host on my own Heroku Server my ChatBot and deploy it with Gupshup on my Website. I want to add Wit.ai to manage NLP.
Is it possible to do that ?
If it is, How can I do that ? DO you have a sample to test this solution ?
Thank you
Yes, this is possible with the Callback option that Gupshup has. You can write your bot code and host it on the server then go to the Gupshup dashboard and create a bot using the callback option as in the screenshot.
This URL will receive all the information like message from the user, type of message,unique id etc. which you need to read and then respond back to the same callback.
More details can be found in this document.
I need to be able to access a log of all SMS that were sent. Is there a way to do this via their HTTP API? I haven't had much luck finding anything that reference this in their docs.
There is a feature called 'callbacks' that can send an HTTP request to your server for every message you send. It will give you status updates about the message and the message charge. This allows you to build up whatever form of custom reporting that you may want.
https://www.clickatell.com/developers/api-docs/callback-(push-status-and-cost-notification)-advanced-message-send/
You send your message with the callback parameter... And you specify your URL to receive callbacks on your API connection on the website.
Unfortunately, you can't access reporting features like that via API. You need to log in to your central dashboard to get that information.
You can, however, query the message status if you have the message ID, but I don't think that's quite what you're looking for.
(Disclosure: I work for Clickatell)