So there's a service listening on a port and there's a client connecting to it (TCP protocol). The client and the server try to "ping" each other from time to time. For example, this is the client pinging the server:
00:34:04.343401 IP 192.168.1.10.57927 > myserver.com.mmcc: Flags [P.], seq 86470:86624, ack 6652727, win 4096, options [nop,nop,TS val 585141111 ecr 389969418], length 154
00:34:04.344196 IP myserver.com.mmcc > 192.168.1.10.57927: Flags [.], ack 86624, win 65535, options [nop,nop,TS val 389970019 ecr 585141111], length 0
00:34:04.344419 IP myserver.com.mmcc > 192.168.1.10.57927: Flags [P.], seq 6652727:6652833, ack 86624, win 65535, options [nop,nop,TS val 389970019 ecr 585141111], length 106
00:34:04.344467 IP 192.168.1.10.57927 > myserver.com.mmcc: Flags [.], ack 6652833, win 4092, options [nop,nop,TS val 585141112 ecr 389970019], length 0
But there's one peculiar case with a mobile/GSM internet provider that has recently changed something in their setup and now the very same connection breaks silently after less than 15 seconds (!) of sitting idle. If you keep sending packets back and forth every other second, actively using the service, it's all good. Do nothing for a little more and it ends up with the both parties trying to talk the the other one and receiving no reply, that of course happens at random points in time but all within one minute of the last activity:
client side (the first line repeats with only timestamp being different for about 45 seconds):
00:44:57.224638 IP macpro.office.58180 > myserver.com.mmcc: Flags [P.], seq 99638:99792, ack 6984799, win 4096, options [nop,nop,TS val 585785321 ecr 389975387], length 154
00:45:03.319226 IP macpro.office.58180 > myserver.com.mmcc: Flags [R.], seq 99792, ack 6984799, win 4096, length 0
server side (goes exactly like that and then silent):
23:59:37.369320 IP 192.168.1.3.fmpro-internal > my.gprs.network.com.27581: P 59596370:59596460(90) ack 21549606 win 65535 <nop,nop,timestamp 389985343 586356990>
23:59:37.369415 IP 192.168.1.3.fmpro-internal > my.gprs.network.com.27581: F 90:90(0) ack 1 win 65535 <nop,nop,timestamp 389985343 586356990>
23:59:38.288366 IP 192.168.1.3.fmpro-internal > my.gprs.network.com.27581: FP 0:90(90) ack 1 win 65535 <nop,nop,timestamp 389985352 586356990>
23:59:40.288991 IP 192.168.1.3.fmpro-internal > my.gprs.network.com.27581: FP 0:90(90) ack 1 win 65535 <nop,nop,timestamp 389985372 586356990>
23:59:44.290952 IP 192.168.1.3.fmpro-internal > my.gprs.network.com.27581: FP 0:90(90) ack 1 win 65535 <nop,nop,timestamp 389985412 586356990>
This happens on different servers located in different places and when tested with different services that maintain open connections and also with different client machines. The only thing common between them is this mobile internet access that may only used by the clients. Only when it is used the problem occurs.
So the question is why such a thing may be occurring and what I can do to understand what's really going on.