0

My API endpoint don't receive any signal from Skype bot service but it's as expected with Web chat when i deploy my code into production. This API using: - .net core 2.2 - Bot builder v4.5.2 - host in IIS 7.5

The API is work fine in both 2 channels web chat & Skype at local using ngrok. At local i see request log in iis log beblow with each agent:

  • Skype channel: Microsoft-SkypeBotApi+(Microsoft-BotFramework/3.0)

  • Web Chat: BF-DirectLine+(Microsoft-BotFramework/3.2++https://botframework.com/ua)

At the production i only see requests come from Web Chat channel in iis log. I'm not sure about the firewall in production because this is server of 3rd.

I guess about 2 case:

  1. the Skype bot service don't send request to my endpoint with a special reason?

  2. Skype bot service sent out request but this request could not arrive my API end point (special restrict firewall).

I tried test for many cases but the result is the same:

  • I tried use the same bot in at 2 environments (change endpoint URL).
  • I tried create new bots.
  • I tried deployed the code into another server which i sure about the income & outcome request (result as my expectation at this server).

IIS logs at local:

2019-09-23 04:07:17 ::1 OPTIONS /api/messages - 3978 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:69.0)+Gecko/20100101+Firefox/69.0 https://botservice.hosting.portal.azure.net/botservice/?bundlingKind=PopularPartitioner&cacheability=3&extensionName=Microsoft_Azure_BotService&l=en&pageVersion=1.4.0.40&trustedAuthority=portal.azure.com 405 0 0 12

2019-09-23 04:07:32 ::1 POST /api/messages - 3978 - ::1 BF-DirectLine+(Microsoft-BotFramework/3.2++https://botframework.com/ua) - 200 0 0 13008

2019-09-23 04:08:19 ::1 POST /api/messages - 3978 - ::1 Microsoft-SkypeBotApi+(Microsoft-BotFramework/3.0) - 200 0 0 1431

IIS logs at production:

  2019-09-23 03:15:50 10.3.23.6 OPTIONS /api/messages - 7541 - 10.3.254.81 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:69.0)+Gecko/20100101+Firefox/69.0 405 0 0 78

  2019-09-23 03:23:39 10.3.23.6 POST /api/messages - 7541 - 10.3.254.81 BF-DirectLine+(Microsoft-BotFramework/3.2++https://botframework.com/ua) 200 0 0 5981
tomerpacific
  • 4,704
  • 13
  • 34
  • 52
Quinn
  • 11
  • 4
  • To clarify, are you using Skype or Skype For Business? If Skype for Business, note that this channel was deprecated on June 30, 2019 in favor of Teams. Users can no longer register bots with Skype for Business currently and won't be able to send messages with them on Oct 31, 2019. – mdrichardson Sep 23 '19 at 17:43
  • What is your appId? I'll need it to look into this further. – mdrichardson Sep 23 '19 at 17:43
  • Hi mdrichardson, thanks for response. I am using **Skype** (not Skype For Business). This is my appId: 40bccb6f-d5e6-4b02-9915-060ebb959fe4 – Quinn Sep 24 '19 at 01:13
  • I can confirm that I experience this when testing your bot, as well. If you go to your [App Registration](https://ms.portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade) > Authentication > Supported Account Types, is there a green check mark at **"Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)"** – mdrichardson Sep 25 '19 at 21:12
  • I also see that you're hosting your bot on a custom domain. Do you have a firewall or proxy that might be interfering? – mdrichardson Sep 25 '19 at 21:21
  • Hi mdrichardson, thanks for your info. Currently, I only request IT network team open port 80 & 443 for access this endpoint. The server hosting this endpoint can not access directly internet and this endpoint sends out by a proxy. This proxy only allow as below: .botframework.com .microsoftonline.com .trafficmanager.net – Quinn Sep 26 '19 at 01:39
  • I have conducted many experiments for this bot and still trying to do more for this issue. You could help me about 3 questions: 1. Have I missed any requirement for the endpoint? 2. Are there any way i can check the request (from Skype bot service) send to endpoint get error? Because this domain is public now so i send request from my network to this domain is work fire. 3. Have any log for this error request which i can see? – Quinn Sep 26 '19 at 01:39
  • Thanks mdrichardson very much. I fixed my issue now by enable TLS 1.2 for my endpoint – Quinn Sep 27 '19 at 03:54

1 Answers1

1

The root cause of this issue is my server have not yet enabled TLS 1.2. After I enable TLS 1.2 for this server, every thing work as expected.

This is a requirement for the endpoint: https://blog.botframework.com/2018/11/06/announcement-azure-bot-service-enforcing-transport-layer-security-tls-1-2/

Quinn
  • 11
  • 4