Built motion from commit (unavailable).|2.5.19
[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 _0x8244=['[%s][calls][musiconholdstop]','[%s][calls][musiconholdstop]\x20mohtime:%s','mohtime','varset','[%s][calls][varset]','variable','value','source','xmd-phone','[%s][calls][varset]\x20variable:xmd-phone\x20value:%s','destination','\x22\x20<','xmd-callerid-preview','xmd-callerid','[%s][calls][varset]\x20variable:%s\x20value:%s','xmd-queue','xmcs-queue','lastapplication','Queue','lastdata','xmd-contactid','[%s][calls][varset]\x20variable:xmd-contactid\x20value:%s','xmd-cdrtype','[%s][calls][varset]\x20variable:xmd-cdrtype\x20value:%s','type','outboundrouteid','[%s][calls][varset]\x20variable:outboundrouteid\x20value:%s','routeid','sipcallid','[%s][calls][varset]\x20variable:sipcallid\x20value:%s','newexten','[%s][calls][newexten]\x20application:%s\x20appdata:%s','appdata','application','toLowerCase','startsWith','split','substring','lastIndexOf','noop','gotoif','lodash','util','./utils','NO\x20ANSWER','FAILED','ANSWERED','BUSY','info','[%s][calls][writeDB]\x20channel:%s\x20queue:%s\x20agent:%s\x20interface:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20lastevent:%s','uniqueid','channel','membername','calleridnum','connectedlinenum','lastevent','getUserByInternal','accountcode','then','UserId','request','CreateVoiceCallReport','newchannel','debug','[%s][calls][newchannel]','OutgoingSpoolFailed','format','[%s][calls][newchannel]\x20context:%s\x20exten:%s','now','DOCUMENTATION','error','newstate','[%s][calls][newstate]','isNil','channelstate','[%s][calls][newstate]\x20context:%s\x20channel:%s','context','systemanswertime','[%s][calls][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','linkedid','destinationchannel','answertime','toNumber','hangup','[%s][calls][hangup]','callerid','calleridname','cause-txt','endtime','duration','diffTime','starttime','attendedtransfer','localtwolinkedid','[%s][calls][attendedtransfer]','origtransfereruniqueid','transfereechannel','[%s][calls][attendedtransfer]\x20localtwolinkedid:%s\x20destinationchannel:%s','secondtransfererchannel','userfield','origtransfererchannel','[%s][calls][musiconholdstart]','musiconholdstartAt','[%s][calls][musiconholdstart]\x20musiconholdstartAt:%s'];(function(_0x176d14,_0x3984ea){var _0x89522c=function(_0x3aba48){while(--_0x3aba48){_0x176d14['push'](_0x176d14['shift']());}};_0x89522c(++_0x3984ea);}(_0x8244,0x91));var _0x4824=function(_0x59fc2f,_0x1559a0){_0x59fc2f=_0x59fc2f-0x0;var _0xd335e1=_0x8244[_0x59fc2f];return _0xd335e1;};'use strict';var _=require(_0x4824('0x0'));var util=require(_0x4824('0x1'));var utils=require(_0x4824('0x2'));var dispositions=[_0x4824('0x3'),'FAILED',_0x4824('0x4'),'NO\x20ANSWER','NO\x20ANSWER',_0x4824('0x3'),_0x4824('0x5'),_0x4824('0x6'),_0x4824('0x4'),_0x4824('0x4'),_0x4824('0x4')];var channels={};function writeDB(_0x21ebad){utils[_0x4824('0x7')](util['format'](_0x4824('0x8'),_0x21ebad[_0x4824('0x9')],_0x21ebad[_0x4824('0xa')],_0x21ebad['queue'],_0x21ebad[_0x4824('0xb')],_0x21ebad['interface'],_0x21ebad[_0x4824('0xc')],_0x21ebad[_0x4824('0xd')],_0x21ebad[_0x4824('0xe')]));if(_0x21ebad['accountcode']){utils[_0x4824('0xf')](_0x21ebad[_0x4824('0x10')])[_0x4824('0x11')](function(_0x1eca51){if(_0x1eca51){_0x21ebad[_0x4824('0x12')]=_0x1eca51['id'];}utils[_0x4824('0x13')](_0x4824('0x14'),_0x21ebad);});}else{utils[_0x4824('0x13')](_0x4824('0x14'),_0x21ebad);}if(channels[_0x21ebad['uniqueid']]){delete channels[_0x21ebad[_0x4824('0x9')]];}}exports[_0x4824('0x15')]=function(_0x1700c1){try{utils[_0x4824('0x16')](util['format'](_0x4824('0x17'),_0x1700c1[_0x4824('0x9')]),_0x1700c1);if(_0x1700c1[_0x4824('0x9')]==_0x1700c1['linkedid']&&_0x1700c1[_0x4824('0xa')]!=_0x4824('0x18')){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x1a'),_0x1700c1[_0x4824('0x9')],_0x1700c1['context'],_0x1700c1['exten']));channels[_0x1700c1[_0x4824('0x9')]]={'uniqueid':_0x1700c1[_0x4824('0x9')],'accountcode':_0x1700c1['accountcode'],'source':_0x1700c1[_0x4824('0xc')],'destination':_0x1700c1['exten'],'destinationcontext':_0x1700c1['context'],'channel':_0x1700c1[_0x4824('0xa')],'starttime':utils[_0x4824('0x1b')](),'answertime':null,'systemanswertime':null,'mohtime':0x0,'disposition':_0x4824('0x3'),'amaflags':_0x4824('0x1c')};}}catch(_0x58f80a){utils[_0x4824('0x1d')](util['format']('[%s][calls][newchannel]',_0x1700c1[_0x4824('0x9')]),_0x58f80a);}};exports[_0x4824('0x1e')]=function(_0x141579){try{utils[_0x4824('0x16')](util[_0x4824('0x19')](_0x4824('0x1f'),_0x141579[_0x4824('0x9')]),_0x141579);if(!_[_0x4824('0x20')](channels[_0x141579[_0x4824('0x9')]])&&_0x141579[_0x4824('0x21')]==0x6){utils['info'](util['format'](_0x4824('0x22'),_0x141579[_0x4824('0x9')],_0x141579[_0x4824('0x23')],_0x141579[_0x4824('0xa')]));if(_['isNil'](channels[_0x141579[_0x4824('0x9')]][_0x4824('0x24')])){channels[_0x141579['uniqueid']]['systemanswertime']=utils[_0x4824('0x1b')]();}}else if(!_[_0x4824('0x20')](channels[_0x141579['linkedid']])&&_0x141579[_0x4824('0x21')]==0x6&&_0x141579[_0x4824('0x23')]!='transfer'){utils[_0x4824('0x7')](util['format'](_0x4824('0x25'),_0x141579[_0x4824('0x9')],_0x141579[_0x4824('0x26')],_0x141579[_0x4824('0x23')],_0x141579['channel']));channels[_0x141579['linkedid']][_0x4824('0x10')]=_0x141579['accountcode'];channels[_0x141579[_0x4824('0x26')]][_0x4824('0x27')]=_0x141579[_0x4824('0xa')];if(_[_0x4824('0x20')](channels[_0x141579[_0x4824('0x26')]]['answertime'])){channels[_0x141579[_0x4824('0x26')]][_0x4824('0x28')]=utils[_0x4824('0x1b')]();}channels[_0x141579[_0x4824('0x26')]]['disposition']=dispositions[_[_0x4824('0x29')](_0x141579[_0x4824('0x21')])]||_0x4824('0x5');}}catch(_0x196542){utils[_0x4824('0x1d')](util[_0x4824('0x19')]('[%s][calls][newstate]',_0x141579['uniqueid']),_0x196542);}};exports[_0x4824('0x2a')]=function(_0x79f71e){try{if(!_[_0x4824('0x20')](channels[_0x79f71e[_0x4824('0x9')]])){utils[_0x4824('0x16')](util[_0x4824('0x19')](_0x4824('0x2b'),_0x79f71e[_0x4824('0x9')]),_0x79f71e);if(_[_0x4824('0x20')](channels[_0x79f71e['uniqueid']][_0x4824('0x2c')])){channels[_0x79f71e['uniqueid']][_0x4824('0x2c')]=_0x79f71e[_0x4824('0x2d')]+'\x20<'+_0x79f71e[_0x4824('0xc')]+'>';}utils[_0x4824('0x7')](util[_0x4824('0x19')]('[%s][calls][hangup]\x20callerid:%s\x20reason:%s',_0x79f71e['uniqueid'],channels[_0x79f71e['uniqueid']][_0x4824('0x2c')],_0x79f71e[_0x4824('0x2e')]));channels[_0x79f71e[_0x4824('0x9')]][_0x4824('0x2f')]=utils[_0x4824('0x1b')]();channels[_0x79f71e[_0x4824('0x9')]][_0x4824('0x30')]=utils[_0x4824('0x31')](channels[_0x79f71e['uniqueid']][_0x4824('0x2f')],channels[_0x79f71e[_0x4824('0x9')]][_0x4824('0x32')]);channels[_0x79f71e['uniqueid']]['billableseconds']=channels[_0x79f71e[_0x4824('0x9')]]['answertime']?utils['diffTime'](channels[_0x79f71e[_0x4824('0x9')]][_0x4824('0x2f')],channels[_0x79f71e['uniqueid']][_0x4824('0x28')]):0x0;writeDB(channels[_0x79f71e[_0x4824('0x9')]]);}}catch(_0x3f20b5){utils[_0x4824('0x1d')](util['format'](_0x4824('0x2b'),_0x79f71e[_0x4824('0x9')]),_0x3f20b5);}};exports[_0x4824('0x33')]=function(_0x62e89e){try{if(!_['isNil'](channels[_0x62e89e[_0x4824('0x34')]])){utils['debug'](util[_0x4824('0x19')](_0x4824('0x35'),_0x62e89e[_0x4824('0x36')]),_0x62e89e);if(channels[_0x62e89e[_0x4824('0x34')]][_0x4824('0xa')]==_0x62e89e[_0x4824('0x37')]){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x38'),_0x62e89e['origtransfereruniqueid'],_0x62e89e[_0x4824('0x34')],_0x62e89e[_0x4824('0x39')]));channels[_0x62e89e[_0x4824('0x34')]]['destinationchannel']=_0x62e89e['secondtransfererchannel'];channels[_0x62e89e[_0x4824('0x34')]][_0x4824('0x3a')]='_attended';}else if(channels[_0x62e89e[_0x4824('0x34')]][_0x4824('0xa')]=_0x62e89e['transfertargetchannel']){utils[_0x4824('0x7')](util[_0x4824('0x19')]('[%s][calls][attendedtransfer]\x20localtwolinkedid:%s\x20destinationchannel:%s',_0x62e89e['origtransfereruniqueid'],_0x62e89e['localtwolinkedid'],_0x62e89e['origtransfererchannel']));channels[_0x62e89e[_0x4824('0x34')]][_0x4824('0x27')]=_0x62e89e[_0x4824('0x3b')];channels[_0x62e89e[_0x4824('0x34')]][_0x4824('0x3a')]='_attended';}}}catch(_0x68e1b0){utils[_0x4824('0x1d')](util[_0x4824('0x19')](_0x4824('0x35'),_0x62e89e['origtransfereruniqueid']),_0x68e1b0);}};exports['musiconholdstart']=function(_0x22d4d7){try{if(!_[_0x4824('0x20')](channels[_0x22d4d7[_0x4824('0x9')]])){utils[_0x4824('0x16')](util['format'](_0x4824('0x3c'),_0x22d4d7['uniqueid']),_0x22d4d7);channels[_0x22d4d7[_0x4824('0x9')]][_0x4824('0x3d')]=utils[_0x4824('0x1b')]();utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x3e'),_0x22d4d7['uniqueid'],channels[_0x22d4d7[_0x4824('0x9')]][_0x4824('0x3d')]));}}catch(_0x27024d){utils['error'](util[_0x4824('0x19')](_0x4824('0x3c'),_0x22d4d7[_0x4824('0x9')]),_0x27024d);}};exports['musiconholdstop']=function(_0x139440){try{if(!_['isNil'](channels[_0x139440[_0x4824('0x9')]])){utils[_0x4824('0x16')](util[_0x4824('0x19')](_0x4824('0x3f'),_0x139440[_0x4824('0x9')]),_0x139440);if(!_[_0x4824('0x20')](channels[_0x139440[_0x4824('0x9')]][_0x4824('0x3d')])){channels[_0x139440[_0x4824('0x9')]]['mohtime']+=utils['diffTime'](utils[_0x4824('0x1b')](),channels[_0x139440['uniqueid']][_0x4824('0x3d')]);utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x40'),_0x139440[_0x4824('0x9')],channels[_0x139440[_0x4824('0x9')]][_0x4824('0x41')]));delete channels[_0x139440[_0x4824('0x9')]][_0x4824('0x3d')];}}}catch(_0x16167d){utils[_0x4824('0x1d')](util[_0x4824('0x19')](_0x4824('0x3f'),_0x139440['uniqueid']),_0x16167d);}};exports[_0x4824('0x42')]=function(_0x134955){try{if(!_[_0x4824('0x20')](channels[_0x134955[_0x4824('0x9')]])){utils['debug'](util['format'](_0x4824('0x43'),_0x134955[_0x4824('0x9')]),_0x134955);if(!_[_0x4824('0x20')](_0x134955[_0x4824('0x44')]['xmd-originatecalleridnum'])){utils[_0x4824('0x7')](util[_0x4824('0x19')]('[%s][calls][varset]\x20variable:xmd-originatecalleridnum\x20value:%s',_0x134955['uniqueid'],_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x46')]=_0x134955[_0x4824('0x45')];}if(!_['isNil'](_0x134955[_0x4824('0x44')][_0x4824('0x47')])){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x48'),_0x134955[_0x4824('0x9')],_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x49')]=_0x134955[_0x4824('0x45')];channels[_0x134955[_0x4824('0x9')]]['callerid']='\x22'+_0x134955[_0x4824('0x45')]+_0x4824('0x4a')+_0x134955[_0x4824('0x45')]+'>';}if(!_['isNil'](_0x134955['variable'][_0x4824('0x4b')])||!_[_0x4824('0x20')](_0x134955['variable'][_0x4824('0x4c')])){utils[_0x4824('0x7')](util['format'](_0x4824('0x4d'),_0x134955['uniqueid'],!_[_0x4824('0x20')](_0x134955[_0x4824('0x44')]['xmd-callerid-preview'])?_0x4824('0x4b'):_0x4824('0x4c'),_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]]['callerid']=_0x134955[_0x4824('0x45')];}if(!_[_0x4824('0x20')](_0x134955[_0x4824('0x44')][_0x4824('0x4e')])||!_[_0x4824('0x20')](_0x134955[_0x4824('0x44')][_0x4824('0x4f')])){utils[_0x4824('0x7')](util[_0x4824('0x19')]('[%s][calls][varset]\x20variable:%s\x20value:%s',_0x134955[_0x4824('0x9')],!_['isNil'](_0x134955[_0x4824('0x44')]['xmd-queue'])?_0x4824('0x4e'):_0x4824('0x4f'),_0x134955['value']));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x50')]=_0x4824('0x51');channels[_0x134955['uniqueid']][_0x4824('0x52')]=_0x134955[_0x4824('0x45')];channels[_0x134955[_0x4824('0x9')]]['queue']=!![];}if(!_['isNil'](_0x134955[_0x4824('0x44')][_0x4824('0x53')])){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x54'),_0x134955[_0x4824('0x9')],_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]]['ContactId']=_0x134955[_0x4824('0x45')];}if(!_['isNil'](_0x134955[_0x4824('0x44')][_0x4824('0x55')])){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x56'),_0x134955[_0x4824('0x9')],_0x134955['value']));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x57')]=_0x134955[_0x4824('0x45')];}if(!_['isNil'](_0x134955[_0x4824('0x44')][_0x4824('0x58')])){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x59'),_0x134955[_0x4824('0x9')],_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x5a')]=_0x134955['value'];}if(!_[_0x4824('0x20')](_0x134955[_0x4824('0x44')][_0x4824('0x5b')])){utils[_0x4824('0x7')](util[_0x4824('0x19')](_0x4824('0x5c'),_0x134955[_0x4824('0x9')],_0x134955[_0x4824('0x45')]));channels[_0x134955[_0x4824('0x9')]][_0x4824('0x5b')]=_0x134955[_0x4824('0x45')];}}}catch(_0x2c9d2a){utils[_0x4824('0x1d')](util[_0x4824('0x19')](_0x4824('0x43'),_0x134955[_0x4824('0x9')]),_0x2c9d2a);}};exports[_0x4824('0x5d')]=function(_0x4e13a0){try{if(!_[_0x4824('0x20')](channels[_0x4e13a0['uniqueid']])){utils['debug'](util[_0x4824('0x19')]('[%s][calls][newexten]',_0x4e13a0[_0x4824('0x9')]),_0x4e13a0);utils[_0x4824('0x7')](util['format'](_0x4824('0x5e'),_0x4e13a0[_0x4824('0x9')],_0x4e13a0['application'],_0x4e13a0[_0x4824('0x5f')]));if(_0x4e13a0[_0x4824('0x60')][_0x4824('0x61')]()=='set'&&_[_0x4824('0x62')](_0x4e13a0[_0x4824('0x5f')][_0x4824('0x61')](),'cdr')){var _0x2e61ab=_0x4e13a0[_0x4824('0x5f')][_0x4824('0x63')]('=');var _0x2102f6=_0x2e61ab[0x0][_0x4824('0x64')](_0x2e61ab[0x0][_0x4824('0x65')]('(')+0x1,_0x2e61ab[0x0][_0x4824('0x65')](')'));var _0x1b8b49=_0x2e61ab[0x1];channels[_0x4e13a0[_0x4824('0x9')]][_0x2102f6]=_0x1b8b49;}if(!_['includes']([_0x4824('0x2a'),_0x4824('0x66'),'execif','set',_0x4824('0x67')],_0x4e13a0[_0x4824('0x60')][_0x4824('0x61')]())){channels[_0x4e13a0[_0x4824('0x9')]][_0x4824('0x50')]=_0x4e13a0[_0x4824('0x60')];channels[_0x4e13a0['uniqueid']][_0x4824('0x52')]=_0x4e13a0[_0x4824('0x5f')];}}}catch(_0x382334){utils[_0x4824('0x1d')](util[_0x4824('0x19')]('[%s][calls][newexten]',_0x4e13a0['uniqueid']),_0x382334);}};