Built motion from commit (unavailable).|2.5.22
[motion2.git] / server / services / xdr / calls.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xb466=['[%s][calls][newstate]\x20context:%s\x20channel:%s','systemanswertime','linkedid','destinationchannel','answertime','disposition','hangup','[%s][calls][hangup]','callerid','calleridname','[%s][calls][hangup]\x20callerid:%s\x20reason:%s','cause-txt','endtime','duration','diffTime','starttime','billableseconds','attendedtransfer','localtwolinkedid','[%s][calls][attendedtransfer]','origtransfereruniqueid','transfereechannel','[%s][calls][attendedtransfer]\x20localtwolinkedid:%s\x20destinationchannel:%s','userfield','_attended','origtransfererchannel','musiconholdstart','[%s][calls][musiconholdstart]','musiconholdstartAt','[%s][calls][musiconholdstart]\x20musiconholdstartAt:%s','musiconholdstop','[%s][calls][musiconholdstop]','mohtime','[%s][calls][varset]','variable','xmd-originatecalleridnum','[%s][calls][varset]\x20variable:xmd-originatecalleridnum\x20value:%s','value','destination','xmd-callerid-preview','xmd-callerid','[%s][calls][varset]\x20variable:%s\x20value:%s','xmd-queue','xmcs-queue','lastapplication','xmd-contactid','ContactId','[%s][calls][varset]\x20variable:xmd-cdrtype\x20value:%s','outboundrouteid','[%s][calls][varset]\x20variable:outboundrouteid\x20value:%s','sipcallid','[%s][calls][varset]\x20variable:sipcallid\x20value:%s','newexten','[%s][calls][newexten]','[%s][calls][newexten]\x20application:%s\x20appdata:%s','application','appdata','set','startsWith','toLowerCase','cdr','substring','lastIndexOf','includes','noop','gotoif','lastdata','lodash','util','./utils','NO\x20ANSWER','FAILED','ANSWERED','BUSY','info','format','[%s][calls][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s','uniqueid','channel','queue','membername','interface','lastevent','getUserByInternal','accountcode','then','request','CreateVoiceCallReport','newchannel','OutgoingSpoolFailed','calleridnum','exten','context','now','DOCUMENTATION','error','[%s][calls][newchannel]','newstate','debug','[%s][calls][newstate]','isNil','channelstate'];(function(_0x255c48,_0x2a4449){var _0xaebda3=function(_0x12a04e){while(--_0x12a04e){_0x255c48['push'](_0x255c48['shift']());}};_0xaebda3(++_0x2a4449);}(_0xb466,0x10f));var _0x6b46=function(_0x3f7645,_0x5f2de7){_0x3f7645=_0x3f7645-0x0;var _0x59c5f8=_0xb466[_0x3f7645];return _0x59c5f8;};'use strict';var _=require(_0x6b46('0x0'));var util=require(_0x6b46('0x1'));var utils=require(_0x6b46('0x2'));var dispositions=[_0x6b46('0x3'),_0x6b46('0x4'),_0x6b46('0x4'),_0x6b46('0x3'),_0x6b46('0x3'),'NO\x20ANSWER',_0x6b46('0x5'),_0x6b46('0x6'),_0x6b46('0x4'),_0x6b46('0x4'),_0x6b46('0x4')];var channels={};function writeDB(_0x14a2b5){utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x9'),_0x14a2b5[_0x6b46('0xa')],_0x14a2b5[_0x6b46('0xb')],_0x14a2b5[_0x6b46('0xc')],_0x14a2b5[_0x6b46('0xd')],_0x14a2b5[_0x6b46('0xe')],_0x14a2b5['calleridnum'],_0x14a2b5['connectedlinenum'],_0x14a2b5[_0x6b46('0xf')]));if(_0x14a2b5['accountcode']){utils[_0x6b46('0x10')](_0x14a2b5[_0x6b46('0x11')])[_0x6b46('0x12')](function(_0x2722ac){if(_0x2722ac){_0x14a2b5['UserId']=_0x2722ac['id'];}utils[_0x6b46('0x13')](_0x6b46('0x14'),_0x14a2b5);});}else{utils[_0x6b46('0x13')](_0x6b46('0x14'),_0x14a2b5);}if(channels[_0x14a2b5[_0x6b46('0xa')]]){delete channels[_0x14a2b5[_0x6b46('0xa')]];}}exports[_0x6b46('0x15')]=function(_0x3f0c1e){try{utils['debug'](util[_0x6b46('0x8')]('[%s][calls][newchannel]',_0x3f0c1e[_0x6b46('0xa')]),_0x3f0c1e);if(_0x3f0c1e[_0x6b46('0xa')]==_0x3f0c1e['linkedid']&&_0x3f0c1e['channel']!=_0x6b46('0x16')){utils[_0x6b46('0x7')](util[_0x6b46('0x8')]('[%s][calls][newchannel]\x20context:%s\x20exten:%s',_0x3f0c1e[_0x6b46('0xa')],_0x3f0c1e['context'],_0x3f0c1e['exten']));channels[_0x3f0c1e['uniqueid']]={'uniqueid':_0x3f0c1e[_0x6b46('0xa')],'accountcode':_0x3f0c1e[_0x6b46('0x11')],'source':_0x3f0c1e[_0x6b46('0x17')],'destination':_0x3f0c1e[_0x6b46('0x18')],'destinationcontext':_0x3f0c1e[_0x6b46('0x19')],'channel':_0x3f0c1e[_0x6b46('0xb')],'starttime':utils[_0x6b46('0x1a')](),'answertime':null,'systemanswertime':null,'mohtime':0x0,'disposition':_0x6b46('0x3'),'amaflags':_0x6b46('0x1b')};}}catch(_0x1437dc){utils[_0x6b46('0x1c')](util['format'](_0x6b46('0x1d'),_0x3f0c1e[_0x6b46('0xa')]),_0x1437dc);}};exports[_0x6b46('0x1e')]=function(_0x291797){try{utils[_0x6b46('0x1f')](util[_0x6b46('0x8')](_0x6b46('0x20'),_0x291797[_0x6b46('0xa')]),_0x291797);if(!_[_0x6b46('0x21')](channels[_0x291797['uniqueid']])&&_0x291797[_0x6b46('0x22')]==0x6){utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x23'),_0x291797[_0x6b46('0xa')],_0x291797[_0x6b46('0x19')],_0x291797[_0x6b46('0xb')]));if(_[_0x6b46('0x21')](channels[_0x291797[_0x6b46('0xa')]]['systemanswertime'])){channels[_0x291797[_0x6b46('0xa')]][_0x6b46('0x24')]=utils[_0x6b46('0x1a')]();}}else if(!_[_0x6b46('0x21')](channels[_0x291797['linkedid']])&&_0x291797[_0x6b46('0x22')]==0x6&&_0x291797[_0x6b46('0x19')]!='transfer'){utils[_0x6b46('0x7')](util[_0x6b46('0x8')]('[%s][calls][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s',_0x291797[_0x6b46('0xa')],_0x291797['linkedid'],_0x291797['context'],_0x291797['channel']));channels[_0x291797[_0x6b46('0x25')]][_0x6b46('0x11')]=_0x291797[_0x6b46('0x11')];channels[_0x291797[_0x6b46('0x25')]][_0x6b46('0x26')]=_0x291797[_0x6b46('0xb')];if(_[_0x6b46('0x21')](channels[_0x291797['linkedid']][_0x6b46('0x27')])){channels[_0x291797['linkedid']][_0x6b46('0x27')]=utils[_0x6b46('0x1a')]();}channels[_0x291797[_0x6b46('0x25')]][_0x6b46('0x28')]=dispositions[_['toNumber'](_0x291797['channelstate'])]||'ANSWERED';}}catch(_0x68ad4a){utils[_0x6b46('0x1c')](util[_0x6b46('0x8')](_0x6b46('0x20'),_0x291797['uniqueid']),_0x68ad4a);}};exports[_0x6b46('0x29')]=function(_0x244005){try{if(!_['isNil'](channels[_0x244005[_0x6b46('0xa')]])){utils[_0x6b46('0x1f')](util['format'](_0x6b46('0x2a'),_0x244005[_0x6b46('0xa')]),_0x244005);if(_[_0x6b46('0x21')](channels[_0x244005['uniqueid']][_0x6b46('0x2b')])){channels[_0x244005['uniqueid']][_0x6b46('0x2b')]=_0x244005[_0x6b46('0x2c')]+'\x20<'+_0x244005[_0x6b46('0x17')]+'>';}utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x2d'),_0x244005[_0x6b46('0xa')],channels[_0x244005['uniqueid']]['callerid'],_0x244005[_0x6b46('0x2e')]));channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x2f')]=utils[_0x6b46('0x1a')]();channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x30')]=utils[_0x6b46('0x31')](channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x2f')],channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x32')]);channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x33')]=channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x27')]?utils[_0x6b46('0x31')](channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x2f')],channels[_0x244005[_0x6b46('0xa')]][_0x6b46('0x27')]):0x0;writeDB(channels[_0x244005[_0x6b46('0xa')]]);}}catch(_0x13a893){utils[_0x6b46('0x1c')](util['format'](_0x6b46('0x2a'),_0x244005[_0x6b46('0xa')]),_0x13a893);}};exports[_0x6b46('0x34')]=function(_0x30e645){try{if(!_[_0x6b46('0x21')](channels[_0x30e645[_0x6b46('0x35')]])){utils[_0x6b46('0x1f')](util[_0x6b46('0x8')](_0x6b46('0x36'),_0x30e645[_0x6b46('0x37')]),_0x30e645);if(channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0xb')]==_0x30e645[_0x6b46('0x38')]){utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x39'),_0x30e645[_0x6b46('0x37')],_0x30e645[_0x6b46('0x35')],_0x30e645['secondtransfererchannel']));channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0x26')]=_0x30e645['secondtransfererchannel'];channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0x3a')]=_0x6b46('0x3b');}else if(channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0xb')]=_0x30e645['transfertargetchannel']){utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x39'),_0x30e645[_0x6b46('0x37')],_0x30e645[_0x6b46('0x35')],_0x30e645[_0x6b46('0x3c')]));channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0x26')]=_0x30e645[_0x6b46('0x3c')];channels[_0x30e645[_0x6b46('0x35')]][_0x6b46('0x3a')]=_0x6b46('0x3b');}}}catch(_0x35856b){utils[_0x6b46('0x1c')](util[_0x6b46('0x8')]('[%s][calls][attendedtransfer]',_0x30e645['origtransfereruniqueid']),_0x35856b);}};exports[_0x6b46('0x3d')]=function(_0x3c685b){try{if(!_[_0x6b46('0x21')](channels[_0x3c685b['uniqueid']])){utils[_0x6b46('0x1f')](util[_0x6b46('0x8')](_0x6b46('0x3e'),_0x3c685b[_0x6b46('0xa')]),_0x3c685b);channels[_0x3c685b[_0x6b46('0xa')]][_0x6b46('0x3f')]=utils[_0x6b46('0x1a')]();utils['info'](util['format'](_0x6b46('0x40'),_0x3c685b['uniqueid'],channels[_0x3c685b[_0x6b46('0xa')]][_0x6b46('0x3f')]));}}catch(_0x332711){utils[_0x6b46('0x1c')](util[_0x6b46('0x8')]('[%s][calls][musiconholdstart]',_0x3c685b[_0x6b46('0xa')]),_0x332711);}};exports[_0x6b46('0x41')]=function(_0x19e87b){try{if(!_[_0x6b46('0x21')](channels[_0x19e87b['uniqueid']])){utils[_0x6b46('0x1f')](util[_0x6b46('0x8')](_0x6b46('0x42'),_0x19e87b['uniqueid']),_0x19e87b);if(!_[_0x6b46('0x21')](channels[_0x19e87b[_0x6b46('0xa')]][_0x6b46('0x3f')])){channels[_0x19e87b[_0x6b46('0xa')]]['mohtime']+=utils[_0x6b46('0x31')](utils[_0x6b46('0x1a')](),channels[_0x19e87b[_0x6b46('0xa')]][_0x6b46('0x3f')]);utils['info'](util['format']('[%s][calls][musiconholdstop]\x20mohtime:%s',_0x19e87b[_0x6b46('0xa')],channels[_0x19e87b[_0x6b46('0xa')]][_0x6b46('0x43')]));delete channels[_0x19e87b[_0x6b46('0xa')]]['musiconholdstartAt'];}}}catch(_0x410353){utils[_0x6b46('0x1c')](util['format'](_0x6b46('0x42'),_0x19e87b[_0x6b46('0xa')]),_0x410353);}};exports['varset']=function(_0x3f1a96){try{if(!_['isNil'](channels[_0x3f1a96['uniqueid']])){utils['debug'](util[_0x6b46('0x8')](_0x6b46('0x44'),_0x3f1a96[_0x6b46('0xa')]),_0x3f1a96);if(!_[_0x6b46('0x21')](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x46')])){utils['info'](util[_0x6b46('0x8')](_0x6b46('0x47'),_0x3f1a96[_0x6b46('0xa')],_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]]['source']=_0x3f1a96[_0x6b46('0x48')];}if(!_[_0x6b46('0x21')](_0x3f1a96[_0x6b46('0x45')]['xmd-phone'])){utils[_0x6b46('0x7')](util[_0x6b46('0x8')]('[%s][calls][varset]\x20variable:xmd-phone\x20value:%s',_0x3f1a96[_0x6b46('0xa')],_0x3f1a96['value']));channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0x49')]=_0x3f1a96[_0x6b46('0x48')];channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0x2b')]='\x22'+_0x3f1a96['value']+'\x22\x20<'+_0x3f1a96[_0x6b46('0x48')]+'>';}if(!_[_0x6b46('0x21')](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x4a')])||!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x4b')])){utils[_0x6b46('0x7')](util[_0x6b46('0x8')](_0x6b46('0x4c'),_0x3f1a96['uniqueid'],!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x4a')])?_0x6b46('0x4a'):_0x6b46('0x4b'),_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]]['callerid']=_0x3f1a96[_0x6b46('0x48')];}if(!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x4d')])||!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x4e')])){utils['info'](util['format'](_0x6b46('0x4c'),_0x3f1a96[_0x6b46('0xa')],!_[_0x6b46('0x21')](_0x3f1a96['variable'][_0x6b46('0x4d')])?_0x6b46('0x4d'):'xmcs-queue',_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0x4f')]='Queue';channels[_0x3f1a96[_0x6b46('0xa')]]['lastdata']=_0x3f1a96[_0x6b46('0x48')];channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0xc')]=!![];}if(!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x50')])){utils['info'](util[_0x6b46('0x8')]('[%s][calls][varset]\x20variable:xmd-contactid\x20value:%s',_0x3f1a96[_0x6b46('0xa')],_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0x51')]=_0x3f1a96[_0x6b46('0x48')];}if(!_['isNil'](_0x3f1a96[_0x6b46('0x45')]['xmd-cdrtype'])){utils['info'](util[_0x6b46('0x8')](_0x6b46('0x52'),_0x3f1a96[_0x6b46('0xa')],_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]]['type']=_0x3f1a96[_0x6b46('0x48')];}if(!_[_0x6b46('0x21')](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x53')])){utils['info'](util[_0x6b46('0x8')](_0x6b46('0x54'),_0x3f1a96[_0x6b46('0xa')],_0x3f1a96[_0x6b46('0x48')]));channels[_0x3f1a96[_0x6b46('0xa')]]['routeid']=_0x3f1a96[_0x6b46('0x48')];}if(!_['isNil'](_0x3f1a96[_0x6b46('0x45')][_0x6b46('0x55')])){utils['info'](util[_0x6b46('0x8')](_0x6b46('0x56'),_0x3f1a96['uniqueid'],_0x3f1a96['value']));channels[_0x3f1a96[_0x6b46('0xa')]][_0x6b46('0x55')]=_0x3f1a96['value'];}}}catch(_0x5233a2){utils[_0x6b46('0x1c')](util['format']('[%s][calls][varset]',_0x3f1a96[_0x6b46('0xa')]),_0x5233a2);}};exports[_0x6b46('0x57')]=function(_0xe6cd8a){try{if(!_[_0x6b46('0x21')](channels[_0xe6cd8a[_0x6b46('0xa')]])){utils['debug'](util[_0x6b46('0x8')](_0x6b46('0x58'),_0xe6cd8a[_0x6b46('0xa')]),_0xe6cd8a);utils['info'](util['format'](_0x6b46('0x59'),_0xe6cd8a[_0x6b46('0xa')],_0xe6cd8a[_0x6b46('0x5a')],_0xe6cd8a[_0x6b46('0x5b')]));if(_0xe6cd8a['application']['toLowerCase']()==_0x6b46('0x5c')&&_[_0x6b46('0x5d')](_0xe6cd8a[_0x6b46('0x5b')][_0x6b46('0x5e')](),_0x6b46('0x5f'))){var _0x5f4d1a=_0xe6cd8a['appdata']['split']('=');var _0x29a713=_0x5f4d1a[0x0][_0x6b46('0x60')](_0x5f4d1a[0x0][_0x6b46('0x61')]('(')+0x1,_0x5f4d1a[0x0][_0x6b46('0x61')](')'));var _0x5b8e0a=_0x5f4d1a[0x1];channels[_0xe6cd8a['uniqueid']][_0x29a713]=_0x5b8e0a;}if(!_[_0x6b46('0x62')](['hangup',_0x6b46('0x63'),'execif','set',_0x6b46('0x64')],_0xe6cd8a['application'][_0x6b46('0x5e')]())){channels[_0xe6cd8a[_0x6b46('0xa')]][_0x6b46('0x4f')]=_0xe6cd8a[_0x6b46('0x5a')];channels[_0xe6cd8a[_0x6b46('0xa')]][_0x6b46('0x65')]=_0xe6cd8a[_0x6b46('0x5b')];}}}catch(_0x165847){utils[_0x6b46('0x1c')](util[_0x6b46('0x8')](_0x6b46('0x58'),_0xe6cd8a[_0x6b46('0xa')]),_0x165847);}};