How to handle async request thru extension


Recently, I am trying to  dev an extension (C#) used to get data thru TCP from other servers. 

First, Connect to other server thru request

Second, Receive response from other server,

(these two steps are in DLL class)

Third, Send data request after connected to other server.

Forth, Receive data response. 

(Send request thru provided sender in DLL and receive data in call back function)

Everything goes fine in local C# code. But something goes wrong when I integrate code in Outsystems extension. Call extension action from web action / Timer / Process. All failed. Cannot receive data from other server. Debug the code, like the connection is down before data responded.

Do anyone have any ideas to async request data thru extension?

Can you reach the server from outsystems environment?

Is it the case, that server itself is unreachable from the network where OutSystems is installed?