diff --git a/package-lock.json b/package-lock.json
index ecb8e9a..2aa9db4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,8 @@
       "dependencies": {
         "komodo-sdk": "^1.43.8",
         "request": "^2.81.0",
-        "tektrans-logger": "^1.2.3"
+        "tektrans-logger": "^1.2.3",
+        "uniqid": "^5.4.0"
       }
     },
     "node_modules/@cloudcmd/copy-file": {
@@ -933,6 +934,14 @@
         "uuid": "^3.4.0"
       }
     },
+    "node_modules/komodo-sdk/node_modules/uniqid": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+      "dependencies": {
+        "macaddress": "^0.2.8"
+      }
+    },
     "node_modules/kuler": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
@@ -1742,12 +1751,9 @@
       }
     },
     "node_modules/uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "dependencies": {
-        "macaddress": "^0.2.8"
-      }
+      "version": "5.4.0",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz",
+      "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A=="
     },
     "node_modules/unpipe": {
       "version": "1.0.0",
@@ -2686,6 +2692,16 @@
         "tektrans-logger": "^1.2.2",
         "uniqid": "^4.1.1",
         "uuid": "^3.4.0"
+      },
+      "dependencies": {
+        "uniqid": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+          "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+          "requires": {
+            "macaddress": "^0.2.8"
+          }
+        }
       }
     },
     "kuler": {
@@ -3298,12 +3314,9 @@
       }
     },
     "uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "requires": {
-        "macaddress": "^0.2.8"
-      }
+      "version": "5.4.0",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz",
+      "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A=="
     },
     "unpipe": {
       "version": "1.0.0",
diff --git a/package.json b/package.json
index fbb92d5..0d439bd 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
   "dependencies": {
     "komodo-sdk": "^1.43.8",
     "request": "^2.81.0",
-    "tektrans-logger": "^1.2.3"
+    "tektrans-logger": "^1.2.3",
+    "uniqid": "^5.4.0"
   }
 }
diff --git a/transport.js b/transport.js
index 2992bc8..26bad4a 100644
--- a/transport.js
+++ b/transport.js
@@ -8,6 +8,7 @@ const request = require('request');
 
 const config = require('komodo-sdk/config')
 const logger = require('tektrans-logger');
+const uniqid = rquire('uniqid');
 
 let _callback;
 
@@ -31,13 +32,22 @@ function createHttpServer() {
 }
 
 function onRequestFromPartner(req, res) {
+    const xid = uniqid();
+
     const method_name = 'onRequestFromPartner';
 
     let remote_address = req.connection.remoteAddress.replace(/^::ffff:/, '');
 
     let qs = url.parse(req.url, true).query;
 
-    logger.verbose('Got a request from partner', {module_name: module_name, method_name: method_name, remote_address: remote_address, url: req.url, qs: qs});
+    logger.verbose('Got a request from partner', {
+        xid,
+        module_name,
+        method_name,
+        remote_address,
+        url: req.url,
+        qs: qs
+    });
 
     let partner = qs.terminal_name + '@' + remote_address;
     let password = qs.password;
@@ -48,6 +58,15 @@ function onRequestFromPartner(req, res) {
     let request_id = qs.request_id;
 
     if (!qs.terminal_name || !password || !reverse_url || ! product_name || !destination || !request_id) {
+        logger.verbose('Invalid request from partner', {
+            xid,
+            hasTerminalName: !!qs.terminal_name,
+            hasPassword: !!password,
+            hasProductName: !!product_name,
+            hasDestination: !!hasDestination,
+            hasRequestId: !!request_id,
+
+        })
         res.end('INVALID REQUEST');
         return;
     }
@@ -65,7 +84,11 @@ function onRequestFromPartner(req, res) {
         function(err, _result) {
             let result = cleanResponseToPartner(_result);
 
-            logger.verbose('Forwarding CORE response to partner as direct response', _result);
+            logger.verbose('C2DEEE9D Forwarding CORE response to partner as direct response', {
+                xid,
+                result: _result
+            });
+
             res.end(JSON.stringify(result));
         }
     )
@@ -106,22 +129,28 @@ function init(cb) {
     createHttpServer();
 }
 
-async function sleepAndResend(partner, msg, params, retry) {
+async function sleepAndResend(xid, partner, msg, params, retry) {
     if (retry > maxSendRetry) {
         logger.verbose('Retry exceeded', {
-            params,
+            xid,
             retry: retry || 0,
+            params,
         });
         return;
     }
 
+    logger.verbose('Sleep before resend', { xid, sleepBeforeRetryMs });
+
     await sleep(sleepBeforeRetryMs);
     send(partner, msg, params, retry + 1);
 }
 
 function send(partner, msg, params, retry) {
+    const xid = uniqid();
+
     if (retry) {
         logger.verbose('F39C9082: Resending', {
+            xid,
             partner,
             msg,
             params,
@@ -129,22 +158,26 @@ function send(partner, msg, params, retry) {
         })
     } else {
         logger.verbose('Got response from CORE', {
-            partner: partner, msg: msg, params: params, retry: retry || 0,
+            xid,
+            partner,
+            msg,
+            params,
+            retried: retry || 0,
         });
     }
 
     if (!params || !params.reverse_url) {
-        logger.verbose('Undefined reverse_url, not forwarding message to partner');
+        logger.verbose('Undefined reverse_url, not forwarding message to partner',  { xid });
         return;
     }
 
     if (params.reverse_url.indexOf('http') < 0) {
-        logger.verbose('Invalid reverse_url, not forwarding message to partner');
+        logger.verbose('Invalid reverse_url, not forwarding message to partner', { xid });
         return;
     }
 
     if (params.rc === '68') {
-        logger.verbose('Ignoring RC 68 reverse report');
+        logger.verbose('Ignoring RC 68 reverse report', { xid });
         return;
     }
 
@@ -153,11 +186,20 @@ function send(partner, msg, params, retry) {
         qs: cleanResponseToPartner(params)
     }
 
-    logger.verbose('Sending reverse report to partner', {request: reqOptions});
+    logger.verbose('Sending reverse report to partner', {
+        xid,
+        request: reqOptions
+    });
+
     request(reqOptions, function(err, res, body) {
         if (err) {
-            logger.warn('Error sending reverse report to partner', {request: reqOptions, err: err});
-            sleepAndResend(partner, msg, params, retry || 0);
+            logger.warn('Error sending reverse report to partner', {
+                xid,
+                request: reqOptions,
+                err: err,
+            });
+
+            sleepAndResend(xid, partner, msg, params, retry || 0);
             return;
         }
 
@@ -172,7 +214,11 @@ function send(partner, msg, params, retry) {
         }
         */
 
-        logger.verbose('Reverse report has been sent to partner', { request: reqOptions, httpStatus: res && res.statusCode });
+        logger.verbose('Reverse report has been sent to partner', {
+            xid,
+            request: reqOptions,
+            httpStatus: res && res.statusCode
+        });
     })
 }