Built motion from commit e493b9a4954b50a8ee6d0034ba3601cd210d989d. Version 3.0.0...
[motion-next.git] / server / services / agi / index.js
index c12c877..98ee5fa 100644 (file)
@@ -1 +1 @@
-const a1197_0x567a=['result','maxRetry','error','format','defaults','isUndefined','Project\x20%s\x20not\x20published','substring','connection','addEdge','log','isArray','priority','timeout','omit','[LICENSE]\x20CHANNELS:\x20%s','start','hangup','gotoc\x20block\x20stop\x20traverse\x20BFS','stringify','code','source','stack','context','callysquare','toString','debug','mxGraphModel','../../globals','Cally\x20Square\x20server\x20listening\x20on\x20port\x20%d!','[TIMEOUT]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','port','response','[HANGUP]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','[LICENSE]\x20VOICE\x20IS\x20DISABLED','./rpc','continueAt','[LISTENING]\x20Cally\x20Square\x20listening\x20%s:%d','./graph','calleridname','arg_1','./vertices','traverseBFS','retry','callerid','then','clear','Project\x20%s\x20not\x20found','root','value','indexOf','[START]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','agicommand\x20not\x20found','close','mxCell','[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','voice','resolve','finally','variables','[%s]\x20%s','lodash','production','../../config/environment','catch','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','evtHangup','[ERROR]\x20%s','message','undefined','listening','getSquareProject','vertex','agicommand','toJson','dnid','YYYY-MM-DD\x20HH:mm:ss','inspect','uniqueid','[LICENSE]','../../config/license/util','name','target','agi','length','extension','info','agi_'];(function(_0x5748c4,_0x46c6d5){const _0x567a6b=function(_0x29fd26){while(--_0x29fd26){_0x5748c4['push'](_0x5748c4['shift']());}};_0x567a6b(++_0x46c6d5);}(a1197_0x567a,0x1d5));const a1197_0x29fd=function(_0x5748c4,_0x46c6d5){_0x5748c4=_0x5748c4-0x95;let _0x567a6b=a1197_0x567a[_0x5748c4];return _0x567a6b;};const a1197_0x335380=a1197_0x29fd;'use strict';require(a1197_0x335380(0xec));const parser=require('xml2json'),_=require(a1197_0x335380(0xb5)),util=require('util'),moment=require('moment'),config=require(a1197_0x335380(0xb7)),logger=require('../../config/logger')('agi'),utilLicense=require(a1197_0x335380(0xc8)),rpc=require(a1197_0x335380(0x9b)),mailRpc=require('./mailRpc'),Graph=require(a1197_0x335380(0x9e)),Vertices=require(a1197_0x335380(0xa1)),AGI_CODE_SUCCESS=0xc8,AGI_RESULT_ERROR=-0x1;config[a1197_0x335380(0xcb)]=_[a1197_0x335380(0xd4)](config[a1197_0x335380(0xcb)],{'ip':'127.0.0.1','port':0x11dd});async function connectionHandler(_0x4337ea){try{await setChannelVariables(_0x4337ea),await agiHandler(_0x4337ea);}catch(_0x4cb4f9){logger['error'](_0x4cb4f9['stack']);}}function listeningHandler(){const _0x31fadf=a1197_0x335380;console[_0x31fadf(0xda)](_0x31fadf(0x95),config[_0x31fadf(0xcb)][_0x31fadf(0x97)]),logger[_0x31fadf(0xce)](util[_0x31fadf(0xd3)](_0x31fadf(0x9d),config[_0x31fadf(0xcb)]['ip'],config[_0x31fadf(0xcb)][_0x31fadf(0x97)]));}function errorHandler(_0x1414c9){const _0x3f7277=a1197_0x335380;_0x1414c9&&_0x1414c9[_0x3f7277(0xc9)]&&_0x1414c9['message']?logger['error'](util[_0x3f7277(0xd3)](_0x3f7277(0xb4),_0x1414c9[_0x3f7277(0xc9)],_0x1414c9[_0x3f7277(0xbc)])):logger[_0x3f7277(0xd2)](util['format'](_0x3f7277(0xbb),_0x1414c9[_0x3f7277(0xe6)]));}function closeHandler(){const _0x52ae5f=a1197_0x335380;logger[_0x52ae5f(0xce)](util[_0x52ae5f(0xd3)]('[CLOSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',this['arg_1'],this[_0x52ae5f(0x9f)],this[_0x52ae5f(0xa4)],this[_0x52ae5f(0xc3)],this['uniqueid']));try{createSquareReport(this);}catch(_0x4bdcff){logger[_0x52ae5f(0xd2)](_0x4bdcff[_0x52ae5f(0xe6)]);}}function timeoutHandler(){const _0x49d865=a1197_0x335380;logger[_0x49d865(0xce)](util[_0x49d865(0xd3)](_0x49d865(0x96),this[_0x49d865(0xa0)],this[_0x49d865(0x9f)],this[_0x49d865(0xa4)],this[_0x49d865(0xc3)],this[_0x49d865(0xc6)]));}function hangupHandler(){const _0x2ecb95=a1197_0x335380;logger[_0x2ecb95(0xce)](util[_0x2ecb95(0xd3)](_0x2ecb95(0x99),this[_0x2ecb95(0xa0)],this[_0x2ecb95(0x9f)],this[_0x2ecb95(0xa4)],this[_0x2ecb95(0xc3)],this[_0x2ecb95(0xc6)])),this[_0x2ecb95(0xba)]=!![];}function getRoot(_0x54e978){const _0x2ceb9b=a1197_0x335380;return parser[_0x2ceb9b(0xc2)](_0x54e978,{'object':!![]})[_0x2ceb9b(0xeb)][_0x2ceb9b(0xa8)];}function addVertex(_0x409fe8,_0x4baebc,_0x3cf12b){const _0x565473=a1197_0x335380;_0x4baebc[_0x565473(0xc1)]=_0x3cf12b,typeof _0x4baebc[_0x565473(0xa3)]!==_0x565473(0xbd)&&(_0x4baebc[_0x565473(0xd1)]=parseInt(_0x4baebc[_0x565473(0xa3)],0xa)),_0x409fe8['addVertex'](_[_0x565473(0xde)](_0x4baebc,_0x565473(0xae)));}function initGraph(_0x133f54,_0x5059cf){const _0x1918e1=a1197_0x335380,_0x237be9=new Graph();for(const _0x991289 in _0x133f54){if(typeof _0x133f54[_0x991289]!==_0x1918e1(0xbd)){if(_[_0x1918e1(0xdb)](_0x133f54[_0x991289]))for(let _0x2c21bf=0x0;_0x2c21bf<_0x133f54[_0x991289][_0x1918e1(0xcc)];_0x2c21bf+=0x1){addVertex(_0x237be9,_0x133f54[_0x991289][_0x2c21bf],_0x991289);}else addVertex(_0x237be9,_0x133f54[_0x991289],_0x991289);}}for(let _0x3d753f=0x0;_0x3d753f<_0x5059cf[_0x1918e1(0xcc)];_0x3d753f+=0x1){_0x5059cf[_0x3d753f]['source']&&_0x5059cf[_0x3d753f][_0x1918e1(0xca)]&&_0x237be9[_0x1918e1(0xd9)](_0x5059cf[_0x3d753f][_0x1918e1(0xe5)],_0x5059cf[_0x3d753f][_0x1918e1(0xca)],_0x5059cf[_0x3d753f][_0x1918e1(0xa9)]);}return _0x237be9;}function getSquareProject(_0x332ff9,_0x235bd7){const _0x390004=a1197_0x335380;rpc[_0x390004(0xbf)](_0x332ff9)[_0x390004(0xa5)](function(_0x377d06){_0x235bd7(null,_0x377d06);})[_0x390004(0xb8)](function(_0x258aaf){_0x235bd7(null,_0x258aaf);});}function createSquareReport(_0x1f448f,_0x32146c){const _0x1eb9f9=a1197_0x335380;rpc['createSquareReport'](_0x1f448f)[_0x1eb9f9(0xa5)](function(_0x4210f5){_0x32146c&&_0x32146c(null,_0x4210f5);})['catch'](function(_0x488c6d){_0x32146c&&_0x32146c(null,_0x488c6d);});}async function setChannelVariables(_0x2b1ae5){const _0x360327=a1197_0x335380;for(const _0x10ee3f in _0x2b1ae5){typeof _0x2b1ae5[_0x10ee3f]!=='undefined'&&(_0x10ee3f[_0x360327(0xaa)](_0x360327(0xcf))===0x0&&(_0x2b1ae5[_0x10ee3f[_0x360327(0xd7)](0x4)]=_0x2b1ae5[_0x10ee3f],delete _0x2b1ae5[_0x10ee3f]));}return Promise[_0x360327(0xb1)](_0x2b1ae5);}function getLogFromObject(_0x408807){const _0x3ed085=a1197_0x335380;return util[_0x3ed085(0xc5)](_0x408807,{'showHidden':![],'depth':null});}async function agiHandler(_0x19aafb){const _0x793561=a1197_0x335380;let _0xba659d,_0x2c5aad,_0x599584,_0xb90527;logger[_0x793561(0xea)](_0x793561(0xb3),JSON[_0x793561(0xe3)](_0x19aafb,null,0x2)),logger[_0x793561(0xce)](util[_0x793561(0xd3)](_0x793561(0xab),_0x19aafb[_0x793561(0xa0)],_0x19aafb[_0x793561(0x9f)],_0x19aafb['callerid'],_0x19aafb['dnid'],_0x19aafb[_0x793561(0xc6)])),_0x19aafb['on'](_0x793561(0xd2),errorHandler),_0x19aafb['on'](_0x793561(0xad),closeHandler),_0x19aafb['on'](_0x793561(0xdd),timeoutHandler),_0x19aafb[_0x793561(0xba)]=![],_0x19aafb['on'](_0x793561(0xe1),hangupHandler);const _0x33a356=getSquareProject['sync'](null,_0x19aafb[_0x793561(0xa0)]);return _0x33a356?_0x33a356[_0x793561(0xb6)]?(_0xba659d=getRoot(_0x33a356[_0x793561(0xb6)]),_0xba659d&&_0xba659d[_0x793561(0xe0)]&&(logger[_0x793561(0xea)](_0x793561(0xa8),JSON[_0x793561(0xe3)](_0xba659d,null,0x2)),_0x19aafb['joinAt']=moment()[_0x793561(0xd3)](_0x793561(0xc4)),_0x2c5aad=initGraph(_[_0x793561(0xde)](_0xba659d,_0x793561(0xae)),_0xba659d['mxCell']),_0x599584=new Vertices(_0x19aafb,rpc,mailRpc),logger[_0x793561(0xce)](util['format']('[START\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',_0x19aafb['arg_1'],_0x19aafb[_0x793561(0x9f)],_0x19aafb[_0x793561(0xa4)],_0x19aafb['dnid'],_0x19aafb[_0x793561(0xc6)])),_0x2c5aad['traverseBFS'](_0xba659d[_0x793561(0xe0)]['id'],function(_0x4f2fa2){const _0x3c2f49=_0x793561;try{_0x4f2fa2=_0x599584[_0x3c2f49(0xa6)](_0x4f2fa2),logger[_0x3c2f49(0xea)](_0x3c2f49(0xc0),JSON[_0x3c2f49(0xe3)](_0x4f2fa2,null,0x2));if(_0x4f2fa2['agicommand']==='gotoc')return logger['info'](_0x3c2f49(0xe2)),_0x19aafb['context']=_0x4f2fa2[_0x3c2f49(0xe7)]||_0x19aafb[_0x3c2f49(0xe7)],_0x19aafb[_0x3c2f49(0xcd)]=_0x4f2fa2[_0x3c2f49(0xcd)],_0x19aafb[_0x3c2f49(0xdc)]=_0x4f2fa2[_0x3c2f49(0xdc)]?_0x4f2fa2[_0x3c2f49(0xdc)]-0x1:0x1,null;else return _0x4f2fa2&&_0x599584[_0x4f2fa2[_0x3c2f49(0xc1)]]?(_0xb90527=_0x599584[_0x4f2fa2[_0x3c2f49(0xc1)]](_0x4f2fa2),logger['info'](_0x3c2f49(0x98),JSON[_0x3c2f49(0xe3)](_0xb90527,null,0x2)),_0xb90527&&_0xb90527[_0x3c2f49(0xe4)]===AGI_CODE_SUCCESS&&_0xb90527[_0x3c2f49(0xd0)]!==AGI_RESULT_ERROR&&!_0x19aafb[_0x3c2f49(0xba)]?(logger[_0x3c2f49(0xea)](_0x3c2f49(0x98),getLogFromObject(_0xb90527)),_[_0x3c2f49(0xd5)](_0xb90527['result'])?null:_0xb90527[_0x3c2f49(0xd0)]['toString']()):(logger[_0x3c2f49(0xd2)]('response',getLogFromObject(_0xb90527)),null)):(logger['error'](_0x3c2f49(0xac)),null);}catch(_0x416688){return logger[_0x3c2f49(0xd2)](_0x416688['stack']),null;}}),_0xba659d[_0x793561(0xb2)]&&(logger[_0x793561(0xce)](util[_0x793561(0xd3)](_0x793561(0xaf),_0x19aafb[_0x793561(0xa0)],_0x19aafb['calleridname'],_0x19aafb[_0x793561(0xa4)],_0x19aafb[_0x793561(0xc3)],_0x19aafb['uniqueid'])),_0x2c5aad[_0x793561(0xa2)](_0xba659d[_0x793561(0xb2)]['id'],function(_0xe2ec40){const _0x46f927=_0x793561;try{return _0xe2ec40=_0x599584[_0x46f927(0xa6)](_0xe2ec40),logger[_0x46f927(0xea)](_0x46f927(0xc0),JSON[_0x46f927(0xe3)](_0xe2ec40,null,0x2)),_0xe2ec40&&_0x599584[_0xe2ec40[_0x46f927(0xc1)]]?(_0xb90527=_0x599584[_0xe2ec40[_0x46f927(0xc1)]](_0xe2ec40),_0xb90527?(logger['debug'](_0x46f927(0x98),getLogFromObject(_0xb90527)),_['isUndefined'](_0xb90527[_0x46f927(0xd0)])?null:_0xb90527[_0x46f927(0xd0)][_0x46f927(0xe9)]()):(logger[_0x46f927(0xd2)](_0x46f927(0x98),getLogFromObject(_0xb90527)),null)):(logger[_0x46f927(0xd2)]('agicommand\x20not\x20found'),null);}catch(_0x25575b){return logger[_0x46f927(0xd2)](_0x25575b[_0x46f927(0xe6)]),null;}})),logger[_0x793561(0xce)](util[_0x793561(0xd3)](_0x793561(0xb9),_0x19aafb[_0x793561(0xa0)],_0x19aafb[_0x793561(0x9f)],_0x19aafb['callerid'],_0x19aafb[_0x793561(0xc3)],_0x19aafb[_0x793561(0xc6)])),logger[_0x793561(0xce)](util[_0x793561(0xd3)]('[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s',_0x19aafb['context'],_0x19aafb['extension'],parseInt(_0x19aafb[_0x793561(0xdc)],0xa)+0x1)),_0x19aafb[_0x793561(0x9c)](_0x19aafb[_0x793561(0xe7)],_0x19aafb[_0x793561(0xcd)],parseInt(_0x19aafb[_0x793561(0xdc)],0xa)+0x1),_0x19aafb[_0x793561(0xad)]())):(logger[_0x793561(0xd2)](util[_0x793561(0xd3)](_0x793561(0xd6),_0x19aafb[_0x793561(0xa0)])),_0x19aafb['continueAt'](_0x19aafb[_0x793561(0xe7)],_0x19aafb[_0x793561(0xcd)],parseInt(_0x19aafb[_0x793561(0xdc)],0xa)+0x1),_0x19aafb[_0x793561(0xad)]()):(logger['error'](util[_0x793561(0xd3)](_0x793561(0xa7),_0x19aafb[_0x793561(0xa0)])),_0x19aafb[_0x793561(0x9c)](_0x19aafb[_0x793561(0xe7)],_0x19aafb[_0x793561(0xcd)],parseInt(_0x19aafb['priority'],0xa)+0x1),_0x19aafb[_0x793561(0xad)]()),Promise[_0x793561(0xb1)]();}function main(){const _0x5a8d6c=a1197_0x335380;let _0x3d2d69;return utilLicense['getLicense']()[_0x5a8d6c(0xa5)](function(_0x23ef76){const _0x5560de=_0x5a8d6c;_0x23ef76&&(_0x23ef76[_0x5560de(0xb0)]?_0x23ef76[_0x5560de(0xe8)]&&_0x23ef76[_0x5560de(0xe8)]>0x0?(logger['info'](util[_0x5560de(0xd3)](_0x5560de(0xdf),_0x23ef76[_0x5560de(0xe8)])),_0x3d2d69=_0x23ef76['callysquare']):logger['info']('[LICENSE]\x20CHANNELS:\x20UNLIMITED'):(logger['info'](_0x5560de(0x9a)),_0x3d2d69=-0x1));})[_0x5a8d6c(0xb8)](function(_0x5d1b06){const _0x49b20a=_0x5a8d6c;logger[_0x49b20a(0xd2)](_0x49b20a(0xc7),_0x5d1b06[_0x49b20a(0xe6)]);})[_0x5a8d6c(0xb2)](function(){const _0x343ef6=_0x5a8d6c,_0x456f4f=require('./server')(config[_0x343ef6(0xcb)][_0x343ef6(0x97)],config[_0x343ef6(0xcb)]['ip'],_0x3d2d69);_0x456f4f['on'](_0x343ef6(0xd2),errorHandler),_0x456f4f['on'](_0x343ef6(0xbe),listeningHandler),_0x456f4f['on'](_0x343ef6(0xd8),connectionHandler),_0x456f4f['on'](_0x343ef6(0xad),closeHandler);});}main();
\ No newline at end of file
+'use strict';const a1213_0x5a7c=['vertex','continueAt','[CLOSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','omit','listening','gotoc\x20block\x20stop\x20traverse\x20BFS','dnid','evtHangup','1054863HotJPN','agi','./server','395645mCEmzn','arg_1','isArray','maxRetry','stringify','[ERROR]\x20%s','substring','calleridname','code','./vertices','defaults','production','41CLLhKd','agicommand','debug','root','./mailRpc','error','@config/license/util','getSquareProject:\x20DB\x20Error','format','message','3OoSlVz','./graph','[START\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','util','[FINALLY\x20TRAVERSE]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','1TdIYbx','[END]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','callerid','addEdge','110679IWnoec','2UkNAeq','context','@config/environment','variables','agicommand\x20not\x20found','toString','47233zLOuBj','createSquareReport','mxCell','[%s]\x20%s','@config/logger','target','uniqueid','toJson','[LICENSE]','[LISTENING]\x20Cally\x20Square\x20listening\x20%s:%d','[LICENSE]\x20CHANNELS:\x20UNLIMITED','joinAt','100133rdeZrh','Project\x20%s\x20not\x20published','1084156jYIXKP','YYYY-MM-DD\x20HH:mm:ss','response','close','priority','getLicense','stack','clear','port','[START]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','info','isUndefined','indexOf','voice','[GOTO]\x20context:\x20%s\x20extension:\x20%s\x20priority:\x20%s','resolve','lodash','extension','[HANGUP]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s','[LICENSE]\x20CHANNELS:\x20%s','start','result','undefined','xml2json','length','gotoc','127.0.0.1','name','8926voDewW','agi_','callysquare','../../globals','./rpc','mxGraphModel','source','inspect','Cally\x20Square\x20server\x20listening\x20on\x20port\x20'];const a1213_0x1d39=function(_0x21f969,_0x5167e6){_0x21f969=_0x21f969-0x1f3;let _0x5a7c66=a1213_0x5a7c[_0x21f969];return _0x5a7c66;};const a1213_0x46febc=a1213_0x1d39;(function(_0x381074,_0x5ac618){const _0x56f6e4=a1213_0x1d39;while(!![]){try{const _0x497c77=parseInt(_0x56f6e4(0x203))*-parseInt(_0x56f6e4(0x20c))+parseInt(_0x56f6e4(0x221))+-parseInt(_0x56f6e4(0x1f9))*parseInt(_0x56f6e4(0x23d))+-parseInt(_0x56f6e4(0x251))*parseInt(_0x56f6e4(0x20d))+parseInt(_0x56f6e4(0x208))*parseInt(_0x56f6e4(0x21f))+parseInt(_0x56f6e4(0x24e))+-parseInt(_0x56f6e4(0x213));if(_0x497c77===_0x5ac618)break;else _0x381074['push'](_0x381074['shift']());}catch(_0x57e962){_0x381074['push'](_0x381074['shift']());}}}(a1213_0x5a7c,0xab8a2));require(a1213_0x46febc(0x240));const parser=require(a1213_0x46febc(0x238)),_=require(a1213_0x46febc(0x231)),util=require(a1213_0x46febc(0x206)),moment=require('moment'),config=require(a1213_0x46febc(0x20f)),logger=require(a1213_0x46febc(0x217))('agi'),utilLicense=require(a1213_0x46febc(0x1ff)),rpc=require(a1213_0x46febc(0x241)),mailRpc=require(a1213_0x46febc(0x1fd)),Graph=require(a1213_0x46febc(0x204)),Vertices=require(a1213_0x46febc(0x1f6)),{consoleLogger}=require('@utils/console-logger'),AGIServer=require(a1213_0x46febc(0x250)),AGI_CODE_SUCCESS=0xc8,AGI_RESULT_ERROR=-0x1;config['agi']=_[a1213_0x46febc(0x1f7)](config[a1213_0x46febc(0x24f)],{'ip':a1213_0x46febc(0x23b),'port':0x11dd});async function connectionHandler(_0x32e8ff){try{await setChannelVariables(_0x32e8ff),await agiHandler(_0x32e8ff);}catch(_0x1bad82){logger['error'](_0x1bad82['stack']);}}function listeningHandler(){const _0x545780=a1213_0x46febc;consoleLogger['info'](_0x545780(0x245)+config['agi'][_0x545780(0x229)]+'!'),logger['info'](util['format'](_0x545780(0x21c),config[_0x545780(0x24f)]['ip'],config[_0x545780(0x24f)][_0x545780(0x229)]));}function errorHandler(_0x3b527d){const _0x428ef4=a1213_0x46febc;_0x3b527d&&_0x3b527d[_0x428ef4(0x23c)]&&_0x3b527d[_0x428ef4(0x202)]?logger[_0x428ef4(0x1fe)](util[_0x428ef4(0x201)](_0x428ef4(0x216),_0x3b527d['name'],_0x3b527d[_0x428ef4(0x202)])):logger[_0x428ef4(0x1fe)](util[_0x428ef4(0x201)](_0x428ef4(0x256),_0x3b527d[_0x428ef4(0x227)]));}async function closeHandler(){const _0x5cdbf5=a1213_0x46febc;logger[_0x5cdbf5(0x22b)](util[_0x5cdbf5(0x201)](_0x5cdbf5(0x248),this['arg_1'],this['calleridname'],this[_0x5cdbf5(0x20a)],this[_0x5cdbf5(0x24c)],this[_0x5cdbf5(0x219)]));try{await createSquareReport(this);}catch(_0x17051e){logger['error'](_0x17051e['stack']);}}function timeoutHandler(){const _0x288612=a1213_0x46febc;logger[_0x288612(0x22b)](util[_0x288612(0x201)]('[TIMEOUT]\x20%s\x20project:\x20from\x20\x22%s\x22\x20<%s>\x20to\x20extension\x20%s\x20with\x20uniqueid\x20%s',this[_0x288612(0x252)],this[_0x288612(0x1f4)],this[_0x288612(0x20a)],this[_0x288612(0x24c)],this[_0x288612(0x219)]));}function hangupHandler(){const _0x3a1519=a1213_0x46febc;logger['info'](util['format'](_0x3a1519(0x233),this[_0x3a1519(0x252)],this[_0x3a1519(0x1f4)],this[_0x3a1519(0x20a)],this[_0x3a1519(0x24c)],this[_0x3a1519(0x219)])),this[_0x3a1519(0x24d)]=!![];}function getRoot(_0x547d2b){const _0x4f2615=a1213_0x46febc;return parser[_0x4f2615(0x21a)](_0x547d2b,{'object':!![]})[_0x4f2615(0x242)][_0x4f2615(0x1fc)];}function addVertex(_0x3fb139,_0xb0912c,_0x48b337){const _0x543fb4=a1213_0x46febc;_0xb0912c[_0x543fb4(0x1fa)]=_0x48b337,typeof _0xb0912c['retry']!==_0x543fb4(0x237)&&(_0xb0912c[_0x543fb4(0x254)]=parseInt(_0xb0912c['retry'],0xa)),_0x3fb139['addVertex'](_[_0x543fb4(0x249)](_0xb0912c,_0x543fb4(0x215)));}function initGraph(_0x2cdf86,_0x3be805){const _0x9c2134=a1213_0x46febc,_0x3461e2=new Graph();for(const _0x4b47fc in _0x2cdf86){if(typeof _0x2cdf86[_0x4b47fc]!=='undefined'){if(_[_0x9c2134(0x253)](_0x2cdf86[_0x4b47fc]))for(let _0x516cd7=0x0;_0x516cd7<_0x2cdf86[_0x4b47fc][_0x9c2134(0x239)];_0x516cd7+=0x1){addVertex(_0x3461e2,_0x2cdf86[_0x4b47fc][_0x516cd7],_0x4b47fc);}else addVertex(_0x3461e2,_0x2cdf86[_0x4b47fc],_0x4b47fc);}}for(let _0x461131=0x0;_0x461131<_0x3be805[_0x9c2134(0x239)];_0x461131+=0x1){_0x3be805[_0x461131][_0x9c2134(0x243)]&&_0x3be805[_0x461131][_0x9c2134(0x218)]&&_0x3461e2[_0x9c2134(0x20b)](_0x3be805[_0x461131][_0x9c2134(0x243)],_0x3be805[_0x461131][_0x9c2134(0x218)],_0x3be805[_0x461131]['value']);}return _0x3461e2;}async function getSquareProject(_0x13e53c){const _0x177c63=a1213_0x46febc;let _0x2dcbe0=null;try{return _0x2dcbe0=await rpc['getSquareProject'](_0x13e53c),_0x2dcbe0;}catch(_0x4d149e){logger[_0x177c63(0x1fe)](_0x177c63(0x200),_0x4d149e['message'],_0x4d149e['stack']);}return _0x2dcbe0;}async function createSquareReport(_0x509dc8){const _0x383bf3=a1213_0x46febc;let _0x4d1653=null;try{_0x4d1653=await rpc[_0x383bf3(0x214)](_0x509dc8);}catch(_0xdd1719){logger[_0x383bf3(0x1fe)](_0x383bf3(0x200),_0xdd1719['message'],_0xdd1719[_0x383bf3(0x227)]);}return _0x4d1653;}async function setChannelVariables(_0x2a69ac){const _0x26dca6=a1213_0x46febc;for(const _0x36a313 in _0x2a69ac){typeof _0x2a69ac[_0x36a313]!=='undefined'&&(_0x36a313[_0x26dca6(0x22d)](_0x26dca6(0x23e))===0x0&&(_0x2a69ac[_0x36a313[_0x26dca6(0x1f3)](0x4)]=_0x2a69ac[_0x36a313],delete _0x2a69ac[_0x36a313]));}return Promise[_0x26dca6(0x230)](_0x2a69ac);}function getLogFromObject(_0x56be94){const _0x18df0=a1213_0x46febc;return util[_0x18df0(0x244)](_0x56be94,{'showHidden':![],'depth':null});}async function agiHandler(_0x2973f9){const _0xbfe160=a1213_0x46febc;let _0x3ec728,_0x4e88ad,_0x99ee2,_0x17d058;logger['debug'](_0xbfe160(0x210),JSON[_0xbfe160(0x255)](_0x2973f9,null,0x2)),logger[_0xbfe160(0x22b)](util[_0xbfe160(0x201)](_0xbfe160(0x22a),_0x2973f9[_0xbfe160(0x252)],_0x2973f9[_0xbfe160(0x1f4)],_0x2973f9[_0xbfe160(0x20a)],_0x2973f9[_0xbfe160(0x24c)],_0x2973f9['uniqueid'])),_0x2973f9['on'](_0xbfe160(0x1fe),errorHandler),_0x2973f9['on'](_0xbfe160(0x224),closeHandler),_0x2973f9['on']('timeout',timeoutHandler),_0x2973f9['evtHangup']=![],_0x2973f9['on']('hangup',hangupHandler);const _0x1ec892=await getSquareProject(_0x2973f9['arg_1']);if(_0x1ec892){if(_0x1ec892['production']){_0x3ec728=getRoot(_0x1ec892[_0xbfe160(0x1f8)]);if(_0x3ec728&&_0x3ec728[_0xbfe160(0x235)]){logger[_0xbfe160(0x1fb)](_0xbfe160(0x1fc),JSON[_0xbfe160(0x255)](_0x3ec728,null,0x2)),_0x2973f9[_0xbfe160(0x21e)]=moment()['format'](_0xbfe160(0x222)),_0x4e88ad=initGraph(_[_0xbfe160(0x249)](_0x3ec728,_0xbfe160(0x215)),_0x3ec728[_0xbfe160(0x215)]),_0x99ee2=new Vertices(_0x2973f9,rpc,mailRpc),logger[_0xbfe160(0x22b)](util[_0xbfe160(0x201)](_0xbfe160(0x205),_0x2973f9['arg_1'],_0x2973f9[_0xbfe160(0x1f4)],_0x2973f9['callerid'],_0x2973f9[_0xbfe160(0x24c)],_0x2973f9[_0xbfe160(0x219)]));const _0x31712f=async function(_0x2836c4){const _0x2a8c96=_0xbfe160;try{_0x2836c4=await _0x99ee2[_0x2a8c96(0x228)](_0x2836c4),logger['debug']('vertex',JSON[_0x2a8c96(0x255)](_0x2836c4,null,0x2));if(_0x2836c4[_0x2a8c96(0x1fa)]===_0x2a8c96(0x23a))return logger[_0x2a8c96(0x22b)](_0x2a8c96(0x24b)),_0x2973f9[_0x2a8c96(0x20e)]=_0x2836c4['context']||_0x2973f9[_0x2a8c96(0x20e)],_0x2973f9['extension']=_0x2836c4[_0x2a8c96(0x232)],_0x2973f9[_0x2a8c96(0x225)]=_0x2836c4['priority']?_0x2836c4[_0x2a8c96(0x225)]-0x1:0x1,null;else return _0x2836c4&&_0x99ee2[_0x2836c4['agicommand']]?(_0x17d058=await _0x99ee2[_0x2836c4[_0x2a8c96(0x1fa)]](_0x2836c4),logger[_0x2a8c96(0x22b)](_0x2a8c96(0x223),JSON[_0x2a8c96(0x255)](_0x17d058,null,0x2)),_0x17d058&&_0x17d058[_0x2a8c96(0x1f5)]===AGI_CODE_SUCCESS&&_0x17d058[_0x2a8c96(0x236)]!==AGI_RESULT_ERROR&&!_0x2973f9[_0x2a8c96(0x24d)]?(logger[_0x2a8c96(0x1fb)](_0x2a8c96(0x223),getLogFromObject(_0x17d058)),_[_0x2a8c96(0x22c)](_0x17d058['result'])?null:_0x17d058[_0x2a8c96(0x236)][_0x2a8c96(0x212)]()):(logger[_0x2a8c96(0x1fe)](_0x2a8c96(0x223),getLogFromObject(_0x17d058)),null)):(logger[_0x2a8c96(0x1fe)](_0x2a8c96(0x211)),null);}catch(_0x2d04eb){return logger[_0x2a8c96(0x1fe)](_0x2d04eb[_0x2a8c96(0x227)]),null;}};await _0x4e88ad['traverseBFS'](_0x3ec728[_0xbfe160(0x235)]['id'],_0x31712f);if(_0x3ec728['finally']){logger[_0xbfe160(0x22b)](util[_0xbfe160(0x201)](_0xbfe160(0x207),_0x2973f9[_0xbfe160(0x252)],_0x2973f9[_0xbfe160(0x1f4)],_0x2973f9['callerid'],_0x2973f9[_0xbfe160(0x24c)],_0x2973f9[_0xbfe160(0x219)]));const _0x51fcf5=async function(_0xadecd3){const _0x5023b7=_0xbfe160;try{return _0xadecd3=await _0x99ee2['clear'](_0xadecd3),logger[_0x5023b7(0x1fb)](_0x5023b7(0x246),JSON[_0x5023b7(0x255)](_0xadecd3,null,0x2)),_0xadecd3&&_0x99ee2[_0xadecd3[_0x5023b7(0x1fa)]]?(_0x17d058=await _0x99ee2[_0xadecd3[_0x5023b7(0x1fa)]](_0xadecd3),_0x17d058?(logger[_0x5023b7(0x1fb)](_0x5023b7(0x223),getLogFromObject(_0x17d058)),_[_0x5023b7(0x22c)](_0x17d058[_0x5023b7(0x236)])?null:_0x17d058['result'][_0x5023b7(0x212)]()):(logger[_0x5023b7(0x1fe)]('response',getLogFromObject(_0x17d058)),null)):(logger[_0x5023b7(0x1fe)](_0x5023b7(0x211)),null);}catch(_0x12c916){return logger['error'](_0x12c916[_0x5023b7(0x227)]),null;}};await _0x4e88ad['traverseBFS'](_0x3ec728['finally']['id'],_0x51fcf5);}logger[_0xbfe160(0x22b)](util['format'](_0xbfe160(0x209),_0x2973f9[_0xbfe160(0x252)],_0x2973f9[_0xbfe160(0x1f4)],_0x2973f9['callerid'],_0x2973f9['dnid'],_0x2973f9[_0xbfe160(0x219)])),logger['info'](util[_0xbfe160(0x201)](_0xbfe160(0x22f),_0x2973f9[_0xbfe160(0x20e)],_0x2973f9[_0xbfe160(0x232)],parseInt(_0x2973f9['priority'],0xa)+0x1)),await _0x2973f9[_0xbfe160(0x247)](_0x2973f9[_0xbfe160(0x20e)],_0x2973f9[_0xbfe160(0x232)],parseInt(_0x2973f9[_0xbfe160(0x225)],0xa)+0x1),_0x2973f9[_0xbfe160(0x224)]();}}else logger[_0xbfe160(0x1fe)](util[_0xbfe160(0x201)](_0xbfe160(0x220),_0x2973f9[_0xbfe160(0x252)])),await _0x2973f9[_0xbfe160(0x247)](_0x2973f9[_0xbfe160(0x20e)],_0x2973f9['extension'],parseInt(_0x2973f9[_0xbfe160(0x225)],0xa)+0x1),_0x2973f9[_0xbfe160(0x224)]();}else logger['error'](util['format']('Project\x20%s\x20not\x20found',_0x2973f9[_0xbfe160(0x252)])),await _0x2973f9[_0xbfe160(0x247)](_0x2973f9['context'],_0x2973f9['extension'],parseInt(_0x2973f9['priority'],0xa)+0x1),_0x2973f9['close']();return Promise['resolve']();}async function main(){const _0x44c835=a1213_0x46febc;let _0x1f31d6=0x0;try{const _0xfc5fea=await utilLicense[_0x44c835(0x226)]();_0xfc5fea&&(_0xfc5fea[_0x44c835(0x22e)]?_0xfc5fea[_0x44c835(0x23f)]&&_0xfc5fea[_0x44c835(0x23f)]>0x0?(logger[_0x44c835(0x22b)](util[_0x44c835(0x201)](_0x44c835(0x234),_0xfc5fea['callysquare'])),_0x1f31d6=_0xfc5fea[_0x44c835(0x23f)]):logger[_0x44c835(0x22b)](_0x44c835(0x21d)):(logger[_0x44c835(0x22b)]('[LICENSE]\x20VOICE\x20IS\x20DISABLED'),_0x1f31d6=-0x1));}catch(_0x185a89){logger[_0x44c835(0x1fe)](_0x44c835(0x21b),_0x185a89['stack']);}finally{const _0xc8981=AGIServer(config[_0x44c835(0x24f)]['port'],config[_0x44c835(0x24f)]['ip'],_0x1f31d6);_0xc8981['on']('error',errorHandler),_0xc8981['on'](_0x44c835(0x24a),listeningHandler),_0xc8981['on']('connection',connectionHandler),_0xc8981['on'](_0x44c835(0x224),closeHandler);}}main();
\ No newline at end of file