Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / services / xdr / dials.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 _0x745b=['channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','error','[%s][dials][varset]','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','ANSWER','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','complete','duration','diffTime','endtime','holdtime','billableseconds','lodash','util','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid'];(function(_0xd308e1,_0x90e0ae){var _0x315739=function(_0x4d0232){while(--_0x4d0232){_0xd308e1['push'](_0xd308e1['shift']());}};_0x315739(++_0x90e0ae);}(_0x745b,0x131));var _0xb745=function(_0x458e11,_0xab38c4){_0x458e11=_0x458e11-0x0;var _0x5408d6=_0x745b[_0x458e11];return _0x5408d6;};'use strict';var _=require(_0xb745('0x0'));var util=require(_0xb745('0x1'));var utils=require(_0xb745('0x2'));var dials={};function writeDB(_0x273729){utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x5'),_0x273729[_0xb745('0x6')],_0x273729[_0xb745('0x7')],_0x273729[_0xb745('0x8')],_0x273729[_0xb745('0x9')],_0x273729[_0xb745('0xa')],_0x273729[_0xb745('0xb')]));utils[_0xb745('0xc')]('CreateVoiceDialReport',_0x273729);delete dials[_0x273729[_0xb745('0x6')]];}exports[_0xb745('0xd')]=function(_0x58a4f0){try{utils[_0xb745('0xe')](util[_0xb745('0x4')](_0xb745('0xf'),_0x58a4f0[_0xb745('0x6')]),_0x58a4f0);utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x10'),_0x58a4f0[_0xb745('0x6')],_0x58a4f0[_0xb745('0x11')],_0x58a4f0[_0xb745('0x12')]));if(_0x58a4f0[_0xb745('0x11')][_0xb745('0x13')]()==_0xb745('0x14')&&_[_0xb745('0x15')](_0x58a4f0[_0xb745('0x12')][_0xb745('0x13')](),_0xb745('0x16'))){var _0x485d8c=_0x58a4f0[_0xb745('0x12')]['split']('=');dials[_0x58a4f0[_0xb745('0x6')]]={'routeId':_0x485d8c[0x1]};}}catch(_0x179365){utils['error'](util[_0xb745('0x4')]('[%s][dials][newexten]',_0x58a4f0[_0xb745('0x6')]),_0x179365);}};exports['varset']=function(_0x154513){try{utils['debug'](util[_0xb745('0x4')]('[%s][dials][varset]',_0x154513[_0xb745('0x6')]),_0x154513);if(!_[_0xb745('0x17')](_0x154513[_0xb745('0x18')][_0xb745('0x19')])){utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x1a'),_0x154513[_0xb745('0x6')],_0x154513['value']));dials[_0x154513[_0xb745('0x6')]]={'routeId':_0x154513[_0xb745('0x1b')]};}}catch(_0x4010cb){utils[_0xb745('0x1c')](util[_0xb745('0x4')](_0xb745('0x1d'),_0x154513[_0xb745('0x6')]),_0x4010cb);}};exports[_0xb745('0x1e')]=function(_0x17901a){try{if(!_[_0xb745('0x17')](dials[_0x17901a['uniqueid']])){utils[_0xb745('0xe')](util['format'](_0xb745('0x1f'),_0x17901a[_0xb745('0x6')]),_0x17901a);dials[_0x17901a[_0xb745('0x6')]]=_[_0xb745('0x20')](dials[_0x17901a[_0xb745('0x6')]],_0x17901a);dials[_0x17901a[_0xb745('0x6')]][_0xb745('0x21')]=utils[_0xb745('0x22')]();dials[_0x17901a[_0xb745('0x6')]]['lastevent']='called';utils[_0xb745('0x3')](util[_0xb745('0x4')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0x17901a[_0xb745('0x6')],dials[_0x17901a[_0xb745('0x6')]]['starttime']));}}catch(_0x2e883a){utils[_0xb745('0x1c')](util['format'](_0xb745('0x1f'),_0x17901a['uniqueid']),_0x2e883a);}};exports['dialend']=function(_0x2eafc4){try{if(!_[_0xb745('0x17')](dials[_0x2eafc4[_0xb745('0x6')]])){utils['debug'](util[_0xb745('0x4')]('[%s][dials][dialend]',_0x2eafc4[_0xb745('0x6')]),_0x2eafc4);dials[_0x2eafc4['uniqueid']][_0xb745('0xb')]=_0x2eafc4[_0xb745('0xb')];if(_0x2eafc4[_0xb745('0xb')]==_0xb745('0x23')){dials[_0x2eafc4['uniqueid']]=_['assign'](dials[_0x2eafc4[_0xb745('0x6')]],_0x2eafc4);dials[_0x2eafc4[_0xb745('0x6')]][_0xb745('0x24')]=utils[_0xb745('0x22')]();dials[_0x2eafc4['uniqueid']]['lastevent']=_0xb745('0x25');utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x26'),_0x2eafc4[_0xb745('0x6')],_0x2eafc4[_0xb745('0xb')],dials[_0x2eafc4['uniqueid']]['answertime']));}else{utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x27'),_0x2eafc4[_0xb745('0x6')],_0x2eafc4['dialstatus']));}}}catch(_0x256eb7){utils[_0xb745('0x1c')](util[_0xb745('0x4')](_0xb745('0x28'),_0x2eafc4[_0xb745('0x6')]),_0x256eb7);}};exports[_0xb745('0x29')]=function(_0xce5f24){try{if(!_[_0xb745('0x17')](dials[_0xce5f24[_0xb745('0x6')]])){utils[_0xb745('0xe')](util['format'](_0xb745('0x2a'),_0xce5f24[_0xb745('0x6')]),_0xce5f24);utils[_0xb745('0x3')](util[_0xb745('0x4')](_0xb745('0x2b'),_0xce5f24[_0xb745('0x6')],_0xce5f24[_0xb745('0x9')],_0xce5f24[_0xb745('0x2c')],_0xce5f24[_0xb745('0x2d')]));dials[_0xce5f24['uniqueid']]=_[_0xb745('0x20')](dials[_0xce5f24[_0xb745('0x6')]],{'endtime':utils[_0xb745('0x22')](),'lastevent':_0xb745('0x2e')});dials[_0xce5f24['uniqueid']][_0xb745('0x2f')]=utils[_0xb745('0x30')](dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x31')],dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x21')]);dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x32')]=utils[_0xb745('0x30')](dials[_0xce5f24[_0xb745('0x6')]]['answertime']||dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x31')],dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x21')]);dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x33')]=dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x24')]?utils[_0xb745('0x30')](dials[_0xce5f24[_0xb745('0x6')]][_0xb745('0x31')],dials[_0xce5f24['uniqueid']][_0xb745('0x24')]):0x0;writeDB(dials[_0xce5f24[_0xb745('0x6')]]);}}catch(_0x255696){utils['error'](util[_0xb745('0x4')](_0xb745('0x2a'),_0xce5f24[_0xb745('0x6')]),_0x255696);}};