Built motion from commit 85328c08.|2.5.50
[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 _0x5df0=['duration','diffTime','endtime','holdtime','billableseconds','lodash','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','debug','format','[%s][dials][newexten]','uniqueid','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','startsWith','appdata','split','error','[%s][dials][varset]','isNil','variable','outboundrouteid','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','called','[%s][dials][dialend]','ANSWER','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt'];(function(_0xdc37a1,_0x53ebb9){var _0x99b4fe=function(_0x2811e3){while(--_0x2811e3){_0xdc37a1['push'](_0xdc37a1['shift']());}};_0x99b4fe(++_0x53ebb9);}(_0x5df0,0x6b));var _0x05df=function(_0x782686,_0x71c2ba){_0x782686=_0x782686-0x0;var _0x1e409f=_0x5df0[_0x782686];return _0x1e409f;};'use strict';var _=require(_0x05df('0x0'));var util=require(_0x05df('0x1'));var utils=require(_0x05df('0x2'));var dials={};function writeDB(_0x372166){utils[_0x05df('0x3')](util['format'](_0x05df('0x4'),_0x372166['uniqueid'],_0x372166[_0x05df('0x5')],_0x372166[_0x05df('0x6')],_0x372166[_0x05df('0x7')],_0x372166[_0x05df('0x8')],_0x372166[_0x05df('0x9')]));utils[_0x05df('0xa')](_0x05df('0xb'),_0x372166);delete dials[_0x372166['uniqueid']];}exports[_0x05df('0xc')]=function(_0x58bb26){try{utils[_0x05df('0xd')](util[_0x05df('0xe')](_0x05df('0xf'),_0x58bb26[_0x05df('0x10')]),_0x58bb26);utils[_0x05df('0x3')](util[_0x05df('0xe')](_0x05df('0x11'),_0x58bb26[_0x05df('0x10')],_0x58bb26[_0x05df('0x12')],_0x58bb26['appdata']));if(_0x58bb26[_0x05df('0x12')][_0x05df('0x13')]()==_0x05df('0x14')&&_[_0x05df('0x15')](_0x58bb26['appdata'][_0x05df('0x13')](),'cdr(routeid)')){var _0x23be1a=_0x58bb26[_0x05df('0x16')][_0x05df('0x17')]('=');dials[_0x58bb26[_0x05df('0x10')]]={'routeId':_0x23be1a[0x1]};}}catch(_0x40f7cf){utils[_0x05df('0x18')](util[_0x05df('0xe')](_0x05df('0xf'),_0x58bb26['uniqueid']),_0x40f7cf);}};exports['varset']=function(_0xf32af2){try{utils[_0x05df('0xd')](util[_0x05df('0xe')](_0x05df('0x19'),_0xf32af2[_0x05df('0x10')]),_0xf32af2);if(!_[_0x05df('0x1a')](_0xf32af2[_0x05df('0x1b')][_0x05df('0x1c')])){utils[_0x05df('0x3')](util[_0x05df('0xe')]('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0xf32af2[_0x05df('0x10')],_0xf32af2[_0x05df('0x1d')]));dials[_0xf32af2[_0x05df('0x10')]]={'routeId':_0xf32af2['value']};}}catch(_0x486b58){utils['error'](util[_0x05df('0xe')]('[%s][dials][varset]',_0xf32af2[_0x05df('0x10')]),_0x486b58);}};exports[_0x05df('0x1e')]=function(_0x142bc8){try{if(!_[_0x05df('0x1a')](dials[_0x142bc8[_0x05df('0x10')]])){utils[_0x05df('0xd')](util[_0x05df('0xe')](_0x05df('0x1f'),_0x142bc8[_0x05df('0x10')]),_0x142bc8);dials[_0x142bc8[_0x05df('0x10')]]=_[_0x05df('0x20')](dials[_0x142bc8[_0x05df('0x10')]],_0x142bc8);dials[_0x142bc8[_0x05df('0x10')]][_0x05df('0x21')]=utils[_0x05df('0x22')]();dials[_0x142bc8[_0x05df('0x10')]]['lastevent']=_0x05df('0x23');utils[_0x05df('0x3')](util['format']('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0x142bc8[_0x05df('0x10')],dials[_0x142bc8[_0x05df('0x10')]][_0x05df('0x21')]));}}catch(_0x5a2afb){utils[_0x05df('0x18')](util[_0x05df('0xe')](_0x05df('0x1f'),_0x142bc8[_0x05df('0x10')]),_0x5a2afb);}};exports['dialend']=function(_0x224fd0){try{if(!_[_0x05df('0x1a')](dials[_0x224fd0[_0x05df('0x10')]])){utils[_0x05df('0xd')](util['format'](_0x05df('0x24'),_0x224fd0['uniqueid']),_0x224fd0);dials[_0x224fd0['uniqueid']]['dialstatus']=_0x224fd0[_0x05df('0x9')];if(_0x224fd0[_0x05df('0x9')]==_0x05df('0x25')){dials[_0x224fd0['uniqueid']]=_[_0x05df('0x20')](dials[_0x224fd0[_0x05df('0x10')]],_0x224fd0);dials[_0x224fd0[_0x05df('0x10')]][_0x05df('0x26')]=utils[_0x05df('0x22')]();dials[_0x224fd0[_0x05df('0x10')]]['lastevent']=_0x05df('0x27');utils['info'](util[_0x05df('0xe')](_0x05df('0x28'),_0x224fd0[_0x05df('0x10')],_0x224fd0[_0x05df('0x9')],dials[_0x224fd0['uniqueid']]['answertime']));}else{utils[_0x05df('0x3')](util['format'](_0x05df('0x29'),_0x224fd0[_0x05df('0x10')],_0x224fd0[_0x05df('0x9')]));}}}catch(_0x5a3dbc){utils[_0x05df('0x18')](util[_0x05df('0xe')]('[%s][dials][dialend]',_0x224fd0[_0x05df('0x10')]),_0x5a3dbc);}};exports['hangup']=function(_0x499379){try{if(!_[_0x05df('0x1a')](dials[_0x499379[_0x05df('0x10')]])){utils[_0x05df('0xd')](util[_0x05df('0xe')](_0x05df('0x2a'),_0x499379[_0x05df('0x10')]),_0x499379);utils[_0x05df('0x3')](util[_0x05df('0xe')](_0x05df('0x2b'),_0x499379['uniqueid'],_0x499379[_0x05df('0x7')],_0x499379[_0x05df('0x2c')],_0x499379[_0x05df('0x2d')]));dials[_0x499379[_0x05df('0x10')]]=_['assign'](dials[_0x499379[_0x05df('0x10')]],{'endtime':utils['now'](),'lastevent':'complete'});dials[_0x499379[_0x05df('0x10')]][_0x05df('0x2e')]=utils[_0x05df('0x2f')](dials[_0x499379['uniqueid']][_0x05df('0x30')],dials[_0x499379['uniqueid']][_0x05df('0x21')]);dials[_0x499379[_0x05df('0x10')]][_0x05df('0x31')]=utils['diffTime'](dials[_0x499379[_0x05df('0x10')]][_0x05df('0x26')]||dials[_0x499379['uniqueid']]['endtime'],dials[_0x499379[_0x05df('0x10')]]['starttime']);dials[_0x499379[_0x05df('0x10')]][_0x05df('0x32')]=dials[_0x499379['uniqueid']][_0x05df('0x26')]?utils['diffTime'](dials[_0x499379[_0x05df('0x10')]][_0x05df('0x30')],dials[_0x499379['uniqueid']][_0x05df('0x26')]):0x0;writeDB(dials[_0x499379['uniqueid']]);}}catch(_0x2f65e2){utils[_0x05df('0x18')](util[_0x05df('0xe')]('[%s][dials][hangup]',_0x499379['uniqueid']),_0x2f65e2);}};