Saturday 11 March 2017

What might be preventing an EC2-hosted bot replying to messages on the Microsoft Bot Framework?

I have a Node.JS bot hosted on AWS EC2, with a valid Comodo SSL certificate that works in Chrome/Firefox/Safari and I've configured a bot on the bot framework for my endpoint.

When I launch the bot framework console at https://dev.botframework.com I can click the "test" button and it says "Accepted". I can also send a message in the embedded web chat, and the logging on my bot on AWS shows the message being received, and a message being sent back with a call to session.send()... but the return message never appears back in the web chat. There are no errors logged on the server side or in the bot framework error viewer, the message just seems to be silently dropped. I added a Skype channel and get exactly the same behaviour in Skype.

When I deploy the same code to an Azure Web App it all works fine in both directions.

I'm totally stuck... I can't figure out what could be preventing the return message coming back, and I can't see what steps to take next for troubleshooting. It's not clear from the docs how a message is sent back to the framework, is there a particular host/IP/port I should be probing from EC2 to see if something is in the way? There are no outbound rules in my AWS security group that would prevent a connection, e.g. "telnet directline.botframework.com 80" succeeds.



via Gareth

No comments:

Post a Comment