e8406de2e6208e0bcd1cc3fd3a3d3a84677e7fd8
[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 _0xdd0b=['[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','starttime','dialend','[%s][dials][dialend]','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridnum','cause-txt','complete','diffTime','endtime','holdtime','billableseconds','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','dialstring','dialstatus','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','cdr(routeid)','error','varset','[%s][dials][varset]','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','isNil','[%s][dials][dialbegin]','assign','now','called'];(function(_0x3a2a3c,_0x37bd31){var _0x50ac9a=function(_0x494a7f){while(--_0x494a7f){_0x3a2a3c['push'](_0x3a2a3c['shift']());}};_0x50ac9a(++_0x37bd31);}(_0xdd0b,0xfc));var _0xbdd0=function(_0x412c88,_0x113f0b){_0x412c88=_0x412c88-0x0;var _0x36d0ad=_0xdd0b[_0x412c88];return _0x36d0ad;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0xbdd0('0x0'));var dials={};function writeDB(_0x301855){utils[_0xbdd0('0x1')](util[_0xbdd0('0x2')](_0xbdd0('0x3'),_0x301855[_0xbdd0('0x4')],_0x301855['channel'],_0x301855[_0xbdd0('0x5')],_0x301855['calleridnum'],_0x301855['connectedlinenum'],_0x301855[_0xbdd0('0x6')]));utils['request'](_0xbdd0('0x7'),_0x301855);delete dials[_0x301855[_0xbdd0('0x4')]];}exports[_0xbdd0('0x8')]=function(_0x1fb56e){try{utils[_0xbdd0('0x9')](util[_0xbdd0('0x2')](_0xbdd0('0xa'),_0x1fb56e[_0xbdd0('0x4')]),_0x1fb56e);utils['info'](util[_0xbdd0('0x2')](_0xbdd0('0xb'),_0x1fb56e[_0xbdd0('0x4')],_0x1fb56e[_0xbdd0('0xc')],_0x1fb56e[_0xbdd0('0xd')]));if(_0x1fb56e[_0xbdd0('0xc')][_0xbdd0('0xe')]()==_0xbdd0('0xf')&&_['startsWith'](_0x1fb56e['appdata'][_0xbdd0('0xe')](),_0xbdd0('0x10'))){var _0x5abc46=_0x1fb56e['appdata']['split']('=');dials[_0x1fb56e['uniqueid']]={'routeId':_0x5abc46[0x1]};}}catch(_0x30881d){utils[_0xbdd0('0x11')](util[_0xbdd0('0x2')](_0xbdd0('0xa'),_0x1fb56e[_0xbdd0('0x4')]),_0x30881d);}};exports[_0xbdd0('0x12')]=function(_0x28bd48){try{utils[_0xbdd0('0x9')](util[_0xbdd0('0x2')](_0xbdd0('0x13'),_0x28bd48['uniqueid']),_0x28bd48);if(!_['isNil'](_0x28bd48[_0xbdd0('0x14')][_0xbdd0('0x15')])){utils[_0xbdd0('0x1')](util[_0xbdd0('0x2')](_0xbdd0('0x16'),_0x28bd48[_0xbdd0('0x4')],_0x28bd48[_0xbdd0('0x17')]));dials[_0x28bd48[_0xbdd0('0x4')]]={'routeId':_0x28bd48['value']};}}catch(_0x31593f){utils[_0xbdd0('0x11')](util['format']('[%s][dials][varset]',_0x28bd48['uniqueid']),_0x31593f);}};exports[_0xbdd0('0x18')]=function(_0x57dafd){try{if(!_[_0xbdd0('0x19')](dials[_0x57dafd['uniqueid']])){utils['debug'](util[_0xbdd0('0x2')](_0xbdd0('0x1a'),_0x57dafd[_0xbdd0('0x4')]),_0x57dafd);dials[_0x57dafd[_0xbdd0('0x4')]]=_[_0xbdd0('0x1b')](dials[_0x57dafd[_0xbdd0('0x4')]],_0x57dafd);dials[_0x57dafd[_0xbdd0('0x4')]]['starttime']=utils[_0xbdd0('0x1c')]();dials[_0x57dafd['uniqueid']]['lastevent']=_0xbdd0('0x1d');utils['info'](util[_0xbdd0('0x2')](_0xbdd0('0x1e'),_0x57dafd[_0xbdd0('0x4')],dials[_0x57dafd[_0xbdd0('0x4')]][_0xbdd0('0x1f')]));}}catch(_0x495993){utils[_0xbdd0('0x11')](util['format'](_0xbdd0('0x1a'),_0x57dafd[_0xbdd0('0x4')]),_0x495993);}};exports[_0xbdd0('0x20')]=function(_0x3c548d){try{if(!_['isNil'](dials[_0x3c548d[_0xbdd0('0x4')]])){utils['debug'](util[_0xbdd0('0x2')](_0xbdd0('0x21'),_0x3c548d['uniqueid']),_0x3c548d);dials[_0x3c548d[_0xbdd0('0x4')]]['dialstatus']=_0x3c548d['dialstatus'];if(_0x3c548d[_0xbdd0('0x6')]=='ANSWER'){dials[_0x3c548d['uniqueid']]=_[_0xbdd0('0x1b')](dials[_0x3c548d[_0xbdd0('0x4')]],_0x3c548d);dials[_0x3c548d[_0xbdd0('0x4')]][_0xbdd0('0x22')]=utils[_0xbdd0('0x1c')]();dials[_0x3c548d['uniqueid']]['lastevent']=_0xbdd0('0x23');utils[_0xbdd0('0x1')](util[_0xbdd0('0x2')](_0xbdd0('0x24'),_0x3c548d['uniqueid'],_0x3c548d[_0xbdd0('0x6')],dials[_0x3c548d[_0xbdd0('0x4')]][_0xbdd0('0x22')]));}else{utils[_0xbdd0('0x1')](util[_0xbdd0('0x2')]('[%s][dials][dialend]\x20dialstatus:%s',_0x3c548d['uniqueid'],_0x3c548d[_0xbdd0('0x6')]));}}}catch(_0xd7430d){utils[_0xbdd0('0x11')](util[_0xbdd0('0x2')]('[%s][dials][dialend]',_0x3c548d[_0xbdd0('0x4')]),_0xd7430d);}};exports[_0xbdd0('0x25')]=function(_0x3a3245){try{if(!_[_0xbdd0('0x19')](dials[_0x3a3245[_0xbdd0('0x4')]])){utils['debug'](util[_0xbdd0('0x2')](_0xbdd0('0x26'),_0x3a3245['uniqueid']),_0x3a3245);utils[_0xbdd0('0x1')](util['format'](_0xbdd0('0x27'),_0x3a3245[_0xbdd0('0x4')],_0x3a3245[_0xbdd0('0x28')],_0x3a3245['calleridname'],_0x3a3245[_0xbdd0('0x29')]));dials[_0x3a3245['uniqueid']]=_[_0xbdd0('0x1b')](dials[_0x3a3245[_0xbdd0('0x4')]],{'endtime':utils[_0xbdd0('0x1c')](),'lastevent':_0xbdd0('0x2a')});dials[_0x3a3245[_0xbdd0('0x4')]]['duration']=utils[_0xbdd0('0x2b')](dials[_0x3a3245[_0xbdd0('0x4')]][_0xbdd0('0x2c')],dials[_0x3a3245['uniqueid']][_0xbdd0('0x1f')]);dials[_0x3a3245[_0xbdd0('0x4')]][_0xbdd0('0x2d')]=utils[_0xbdd0('0x2b')](dials[_0x3a3245['uniqueid']]['answertime']||dials[_0x3a3245['uniqueid']][_0xbdd0('0x2c')],dials[_0x3a3245[_0xbdd0('0x4')]]['starttime']);dials[_0x3a3245['uniqueid']][_0xbdd0('0x2e')]=dials[_0x3a3245['uniqueid']][_0xbdd0('0x22')]?utils[_0xbdd0('0x2b')](dials[_0x3a3245[_0xbdd0('0x4')]][_0xbdd0('0x2c')],dials[_0x3a3245[_0xbdd0('0x4')]]['answertime']):0x0;writeDB(dials[_0x3a3245['uniqueid']]);}}catch(_0x365f9d){utils[_0xbdd0('0x11')](util[_0xbdd0('0x2')]('[%s][dials][hangup]',_0x3a3245[_0xbdd0('0x4')]),_0x365f9d);}};