A: 

Your question doesn't reveal how you use libcurl, thus this isn't easy to answer accurately without a lot of guessing. I would also assume some of those missing details would reveal why the app works differently on Linux and Windows.

Your request sends a content-length of 244 but the output you show doesn't include any request-body, why? To me it looks like the server is legitimately waiting for that data to arrive but you don't provide it.

So, you send a weird request. The server replies with a weird response. Garbage in, garbage out I guess.

Daniel Stenberg
Thank you for your answer. I removed the request's body because it contain private information. I'm sending exact number of bytes (in this case 244). Server accept the request and send "0000 " back. Moreover the server process request correctly (in this case send SMS to my mobile). But connection hangs up.
Dmitriy
A: 

I found the reason of the issue.
The reason is - VirtualBox.
I'm using VirtualBox to run Ubuntu. If I'm run my program from real (not virtual) PC it work fine (even on Ubuntu). Looks like there is a bug in latest version of VirtualBox.

Dmitriy