diff --git a/lib/callback/main-handler.js b/lib/callback/main-handler.js
index e8bf5ec..754ecc2 100644
--- a/lib/callback/main-handler.js
+++ b/lib/callback/main-handler.js
@@ -24,6 +24,15 @@ module.exports = (req, res) => {
         return;
     }
 
-    logger.verbose(`${MODULE_NAME} 48B1E679: Parsing callback`, { xid });
-    parseResult(xid, null, req.body, true);
+    logger.verbose(`${MODULE_NAME} 48B1E679: Parsing callback`, {
+        xid,
+        ip: req.ip,
+        method: req.method,
+        url: req.url,
+        qs: req.query,
+        contentType: req.get('content-type'),
+        body: req.body,
+
+    });
+    parseResult(xid, null, req.body, true, req.ip);
 };
diff --git a/lib/parse-result.js b/lib/parse-result.js
index fcdc825..8c5da9e 100644
--- a/lib/parse-result.js
+++ b/lib/parse-result.js
@@ -11,7 +11,7 @@ const translateRc = require('./translate-rc');
 const messageExtractor = require('./message-extractor');
 const patternRules = require('./pattern-rules');
 
-module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
+module.exports = (xid, trxIdFromCaller, xml, isCallback, remoteIp) => {
     logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid, isCallback });
 
     const responseType = isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE';
@@ -106,6 +106,7 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
         balance,
         message: {
             xid,
+            ip: remoteIp || null,
             responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE',
             message: params,
         },