Twilio Media Streams - Websocket handshake error 31920 - websocket

I've created a Bot published to Azure that has the following channels: Direct Line, Direct Line Speech, SMS channels, and WebChat. I've turned on Websockets, and Enabled Streaming Endpoint.
I can test the webchat on the Azure portal and it works correctly. I can use the Bot Emulator and the Voice Assistant Client which uses Websockets and it works correctly on both.
I have a web app that takes in the webhook from Twilio, calls out to the direct line endpoint with the DL secret and retrieves a token and a wss:// url for the websocket. This is passed back to Twilio:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Start>
<Stream name="Socket_Stream" url="wss://directline.botframework.com/v3/directline/conversations/Eurh9C4N2q8F9vPVGZrLAG-j/stream?watermark=-&t=ew0KICAiYWxnIjogIlJTMjU2IiwNCiAgI...." />
</Start>
<Say>Webhook and socket information returned</Say>
</Response>
Twilio receives the packet, says, "Webhook and socket information returned" then promptly hangs up.
This is the error I'm receiving from Twilio
I made sure that the server is capable of TLS1.2.
I'm officially stuck. Any ideas on what I can check on?
Thanks

Related

Sumologic sending alerts to SLACK

I tried to send alerts from Sumologic to Slack. But when I test the connection, it always failed and return 400 http code. I used the connection type as Webhook
When test the connection, it should pass
If you are using WebHook and testing the connection, you must use a valid payload. If you don't provide a valid payload, the connection test will not succeed.
You can use the connection type as SLACK over WebHook. Still, you are using a webhook URL.
This link shows how to integrate Sumologic with Slack.
https://www.youtube.com/watch?v=qEz8dcp9SgI

How to subscribe websocket by Chrome extensions?

I am try to implement a basic web socket app by following this tutorial:https://spring.io/guides/gs/messaging-stomp-websocket/
However, in that tutorial there was a client UI implementation. I don't want to use UI. Instead of the UI, I want to use a websocket client extension in Chrome for sending and seeing messages.
All codes same with the tutorial(except the UI part since I'dont want UI), so I don't rewrite all codes here.
I am able to connect and send message to the url: ws://localhost:8081/gs-guide-websocket for example,
However, I can't get response with this url: ws://localhost:8081/topic/greetings. (I use this URL for getting responses by subscribing it. Because this topic/greetings path used in the UI side of that tutorial for subscription)
The Chrome extension that I used is Simple WebSocket Client.
Why I couldn't subscribe the ws://localhost:8081/topic/greetings url? and How can I get messages from the server by using the Chrome client websocket extensions?
Your application works with STOMP and SockJs, this plugin does not support that. It only works with ws. In this example, you can write a simple ws endpoint for your application:
example simple ws endpoint

Use TwiMl templates for sending outbound sms

I am new to Twilio. We have a requirement in the project as follow -
Send an outbound SMS to a given number. The message body is static text and should be defined using a template on Twilio(TwiML), so that client can change the message body anytime without making any changes in the backend application.
I have gone through the Twilio documentation to understand how to use TwiML, but couldn't find any document or article which explains how to use TwiML for sending an outbound SMS. Currently I am using following code to send a SMS and the message is configured in the Spring Boot application.properties file.
Message message = Message.creator(new PhoneNumber(phoneNumber),
new PhoneNumber(fromPhoneNumber),
messageBody).setStatusCallback(URI.create(callBackUrl)).create();
Does anyone know how to use TwiML template to send an outbound SMS. Can someone help me to solve this problem. Thank you.
What is Twiml?
Twiml is instructions for Twilio, how to respond to an incoming phone call,SMS, etc...
What is Twiml
It is not for outbound actions.
To initiate an SMS , you should use the Twilio api which is what you are doing when you use the sdk such as Message.creator

Ngrok returns 405 error while tunneling my localhost

I have a web app bot that I would like to remote it so a few people can test it. I am using Bot Framework Emulator to test it locally and it works wonders, but I'm thoroughly failing to make ngrok host it.
(I actually managed doing it using the ...azurewebsites.net/api/messages link my app has in Azure with another bot, but I couldn't with this one, so I'm trying with the link ngrok offers me - both bots, the one I managed and this one, are hosted in Azure, but I don't know how to make it available to remote access)
Steps I'm taking:
Deploy the app in Visual Studio so it runs on localhost:3979;
Open port externally in ngrok using ngrok
3979 http -host-header=rewrite localhost:3979;
Get one of the forwarding URLs ngrok provides me, like
https://3d609207.ngrok.io
Insert previous URL in Bot Framework Emulator;
Click Connect.
Both in ngrok and in Bot Framework Emulator returns me 405 Method Not Allowed.
I tried accessing the link I inserted in Bot Framework Emulator and I normally have the page I would see while hosting my bot locally:
Describe your bot here and your terms of use etc.
Visit Bot Framework to register your bot. When you register it,
remember to set your bot's endpoint to
https://your_bots_hostname/api/messages
But I can't send nor receive messages in Bot Framework Emulator.
Additionally, ngrok prints this under the HTTP request headline:
HTTP Requests
-------------
POST / 405 Method Not Allowed
GET /favicon.ico 200 OK
GET / 200 OK
My MSAppID and Password are configured properly in web.config, and compilation results in no error, so I doubt it's something on the code (unless there is some configuration in the code that prevents this bot being accessed remotely for a reason, but I have no idea).
I would very much appreciate any help on this issue. Thanks for your time.
Both in ngrok and in Bot Framework Emulator returns me 405 Method Not Allowed
I can reproduce the issue on my side if I just provide https://xxxxxxxx.ngrok.io as message endpoint.
Please try to specify https://xxxxxxxx.ngrok.io/api/messages as message endpoint, which works for me.

WP7 Push Notification 404 response

My push client sends the URI to my web service, by using the URI, from my web service, I am able to send toast notification to my app installed on Emulator. But if I use the device URI and try to send a message to the device from web service, I get 404 as response. Can anyone tell me What the issue could be ?
Assuming you aren't having any problems receiving and storing the URL your physical device sends to your service, and that you are sending messages to this URL, the only thing I can think of is something I noticed during testing. On occasion, if a malformed message is sent to the URL, it appears to go into a faulted state and any subsequent message (even if well-formed) sent to the service returns a 404.
I don't know if this is expected behaviour or a bug - I resolved it by fixing the malformed messages I was trying to send, and refreshing the channel from the device.

Resources