- // Send to PEP
- _startTime = (int) (lastSendKa.getTime());
- cTime = (int) (new Date().getTime());
-
- if ((cTime - _startTime) > ((_kaTimer*3/4) * 1000)) {
- final COPSKAMsg msg = new COPSKAMsg(null);
- COPSTransceiver.sendMsg(msg, _sock);
- lastSendKa = new Date();
+ // Keep Alive
+ if (_kaTimer > 0) {
+ // Timeout at PDP
+ int _startTime = (int) (lastRecKa.getTime());
+ int cTime = (int) (new Date().getTime());
+
+ if ((cTime - _startTime) > _kaTimer*1000) {
+ _sock.close();
+ // Notify all Request State Managers
+ notifyNoKAAllReqStateMan();
+ }
+
+ // Send to PEP
+ _startTime = (int) (lastSendKa.getTime());
+ cTime = (int) (new Date().getTime());
+
+ if ((cTime - _startTime) > ((_kaTimer*3/4) * 1000)) {
+ final COPSKAMsg msg = new COPSKAMsg(null);
+ COPSTransceiver.sendMsg(msg, _sock);
+ lastSendKa = new Date();
+ }