diff --git a/js/modules/pages/controllers/dialogCtrl.js b/js/modules/pages/controllers/dialogCtrl.js index 5e5b6183..6b8e34dd 100644 --- a/js/modules/pages/controllers/dialogCtrl.js +++ b/js/modules/pages/controllers/dialogCtrl.js @@ -48,6 +48,62 @@ search.searchMethod(data).then(function(sdata) { + var buildRow = function(key, val) { + /* Trust input coming from homer-api */ + return "" + key + "" + val + ""; + } + + var buildIsup = function(text) { + var output = []; + var manually = new Array("cic", "opc", "dpc", "called_number", "calling_number", "calling_party", "msg_name", "msg_type"); + var json = JSON.parse(text); + + output.push(buildRow("Message", json["msg_name"])); + output.push(buildRow("CIC", json["cic"])); + output.push(buildRow("OPC", json["opc"])); + output.push(buildRow("DPC", json["dpc"])); + if ("called_number" in json) { + output.push(buildRow("Called Num", json["called_number"]["num"])); + output.push(buildRow("Called Inn", json["called_number"]["inn_name"])); + output.push(buildRow("Called NPI", json["called_number"]["npi_name"])); + output.push(buildRow("Called TON", json["called_number"]["ton_name"])); + output.push(buildRow("Calling Num", json["calling_number"]["num"])); + output.push(buildRow("Calling NI", json["calling_number"]["ni_name"])); + output.push(buildRow("Calling Restrict", json["calling_number"]["restrict_name"])); + output.push(buildRow("Calling Screened", json["calling_number"]["screened_name"])); + output.push(buildRow("Calling NPI", json["calling_number"]["npi_name"])); + output.push(buildRow("Calling TON", json["calling_number"]["ton_name"])); + output.push(buildRow("Calling Party", json["calling_party"]["name"])); + }; + + + Object.keys(json).forEach(function(key) { + if (manually.includes(key)) + return; + var val = json[key]; + if (typeof val === "object") { + Object.keys(val).forEach(function(subkey) { + if (subkey + "_name" in val) + return; + if (subkey === "num") + return; + if (subkey.endsWith("_num")) + return; + if (subkey + "_str" in val) + return; + var ui_key = subkey.replace('_name', '').replace("_str", ""); + output.push(buildRow(key + " " + ui_key, val[subkey])); + }); + } else { + output.push(buildRow(key, val)); + } + }); + + return $sce.trustAsHtml("" + + output.join('') + + "
"); + } + var swapText = function(text) { var swpA, swpB; @@ -78,7 +134,9 @@ //$scope.msgDate = sdata[0].date; $scope.msgDate = sdata[0].micro_ts / 1000; $scope.sipPath = sdata[0].source_ip + ":" + sdata[0].source_port + " -> " + sdata[0].destination_ip + ":" + sdata[0].destination_port; - $scope.sipMessage = swapText(sdata[0].msg); //.replace(/