microsoftgraph / microsoft-graph-comms-samples

Microsoft Graph Communications Samples
MIT License
206 stars 221 forks source link

Networking Requirements for local debugging (Firewall rules and corporate networks) #281

Open InDieTasten opened 4 years ago

InDieTasten commented 4 years ago

It is not entirely clear, how the TcpCheck of the Skype Media packages works.

I am unable to debug the local media bots like HueBot locally due to restricted/militarized networking in my corporate network.

I can temporarily circumvent the networking restrictions by tethering via LTE and I can successfully run the bot samples.

Is there any schematic on which ports need to be open (incoming/outgoing) for a bot to work properly. Are ngrok generated ports required to be available from the bot itself? In general ngrok works fine in my network, but connecting outwards to that tcp port would be a problem if required.

That would enable me to create a ticket with my IT service to poke the necessary holes into our corporate network to facilitate me debugging bots on my machine.

InDieTasten commented 4 years ago

I found this comment of an earlier issue: https://github.com/microsoftgraph/microsoft-graph-comms-samples/issues/51#issuecomment-474014222

However, it does not specify, which UDP ports will be utilized for ICE candidate gathering :(

InDieTasten commented 4 years ago

@ssulzer Bump!

InDieTasten commented 4 years ago

So it appears, that the TryCheckTcpConnectivity works by the bot instance itself trying to connect to it's own loadbalancer (Public IP + Port).

Unfortunately that means, that I will have to fix my public port in place, which will require a paid plan of ngrok. Then I can mess with my IT service to open the port for outgoing traffic, so my local instance can speak to the public address (of my ngrok process) which will route back to my ngrok client and into the instance/local port of my media bot.

Can somebody approve of the correctness of this hypothesis?

InDieTasten commented 4 years ago

@zihzhan Bump!