Rasa Webchat Widget using Ngrok only works when vpn is on

I am in : Iran

Rasa Version : 3.0.4

Minimum Compatible Version: 3.0.0

Rasa SDK Version : 3.0.2

Rasa X Version : None

Python Version : 3.8.12

Operating System : Windows-10-10.0.19041-SP0

I have setup rasa and trained a simple model ( I am using conda as virtual env ). I start rasa with this command :

rasa run -m models --enable-api --cors "*"

I used ngrok to make it available for all users.

ngrok http 5005

then I prepared chatbot widget in my webpage. But it is weird, I just can send messages to rasa when VPN is on ( I use cyber ghost in Chrome).

and when VPN is on Rasa answers me but show some errors in terminal as log :

Traceback (most recent call last): File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\sanic\server\protocols\websocket_protocol.py”, line 119, in websocket_handshake subprotocols = list(subprotocols) File “c:\users\hamseda\anaconda3\envs\drcup\lib\typing.py”, line 261, in inner return func(*args, **kwds) File “c:\users\hamseda\anaconda3\envs\drcup\lib\typing.py”, line 685, in getitem params = tuple(_type_check(p, msg) for p in params) File “c:\users\hamseda\anaconda3\envs\drcup\lib\typing.py”, line 685, in params = tuple(_type_check(p, msg) for p in params) File “c:\users\hamseda\anaconda3\envs\drcup\lib\typing.py”, line 149, in _type_check raise TypeError(f"{msg} Got {arg!r:.100}.") TypeError: Parameters to generic types must be types. Got 0.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File “handle_request”, line 83, in handle_request class Sanic(BaseSanic, metaclass=TouchUpMeta): File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\engineio\asyncio_server.py”, line 271, in handle_request packets = await socket.handle_get_request(environ) File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\engineio\asyncio_socket.py”, line 89, in handle_get_request return await getattr(self, ‘upgrade’ + transport)(environ) File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\engineio\asyncio_socket.py”, line 142, in _upgrade_websocket return await ws(environ) File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\engineio\async_drivers\sanic.py”, line 122, in call self._sock = await protocol.websocket_handshake(request) File “c:\users\hamseda\anaconda3\envs\drcup\lib\site-packages\sanic\server\protocols\websocket_protocol.py”, line 132, in websocket_handshake raise ServerError(msg, status_code=500) sanic.exceptions.ServerError: Failed to open a WebSocket connection. See server log for more information.

when VPN is off I get this error in inspect element console tab of webpage many times:

GET https://edbc-188-75-103-184.ngrok.io/socket.io/?EIO=4&transport=polling&t=N_lmn4M net::ERR_TIMED_OUT rasa-chat:2

and next error some times.

Failed to load resource: net::ERR_TIMED_OUT

It’s expected that you have to use a VPN. You need to enable split tunneling in your VPN to allow ngrok traffic to bypass the VPN. My office network uses Pulse Secure to connect to the VPN. I am tunneling my Python script with ngrok. When the VPN is disabled, ngrok successfully excavates my server, but the Python script needs to access the website through the VPN. When I enable the VPN, ngrok stops working. I solved this when I started using the VPN from https://www.namecheap.com/vpn/what-is-a-vpn/. Try changing your widget settings.

For your sales tracking efforts to be successful, there are a few key steps to follow. Clearly define what you want to achieve with sales tracking. Define specific goals, such as increasing revenue, increasing conversion rates, or optimizing the sales process. Choose the right tools and systems to support the sales tracking process. Customize the sales tracking process to meet the unique requirements of your business. Identify steps, actions and metrics that align with your sales cycle and goals. Make sure the process is clear, logical and easy to follow for your sales team. Well and additionally read up on world situations. The last time I did this was at Real Estate of Terra Employees And Investors Seized by South Korean Authorities when I read about real estate confiscation.