From 439dd26b4179cdc61f70a0144415b3aaad744177 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Tue, 16 Aug 2016 18:17:21 +0700
Subject: [PATCH] resendDelay embeded to callbackReport

---
 partner-fm.js | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/partner-fm.js b/partner-fm.js
index f6a0ba0..6c57616 100644
--- a/partner-fm.js
+++ b/partner-fm.js
@@ -181,13 +181,23 @@ function topupResponseHandler(xmlResponse, _requestId, cb) {
     });
 }
 
-function callbackReport(requestId, responseCode, msg, rawResponse) {
-    if (requestId) {
-        _callbackReport(requestId, responseCode, msg, null, rawResponse);
-    } else {
+function callbackReport(requestId, responseCode, msg, rawResponse, dontResendDelay) {
+    if (!requestId) {
         logger.warn('Undefined requestId, not sending callbackReport', {rc: responseCode, msg: msg, rawResponse: rawResponse});
+        return;
     }
 
+    if (responseCode != '68' || dontResendDelay) {
+        resendDelay.cancel(requestId);
+    } else {
+        getTaskFromHistory(requestId, function(err, archivedTask) {
+            if (archivedTask) {
+                resendDelay.register(archivedTask);
+            }
+        });
+    }
+    
+    _callbackReport(requestId, responseCode, msg, null, rawResponse);
 }
 
 function getSnFromMessage(msg) {
-- 
1.9.0