Built motion from commit b5a10faa.|2.6.13
[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 _0xdba0=['called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialbegin]','dialend','[%s][dials][dialend]','ANSWER','assign','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','calleridnum','cause-txt','complete','diffTime','holdtime','billableseconds','lodash','util','./utils','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstatus','request','newexten','format','[%s][dials][newexten]','info','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','startsWith','appdata','cdr(routeid)','split','error','debug','isNil','variable','outboundrouteid','value','[%s][dials][varset]','dialbegin','starttime','now','lastevent'];(function(_0x24ff33,_0x2df8a8){var _0x2973d6=function(_0x3fb4b4){while(--_0x3fb4b4){_0x24ff33['push'](_0x24ff33['shift']());}};_0x2973d6(++_0x2df8a8);}(_0xdba0,0x1d5));var _0x0dba=function(_0xf50820,_0x56f041){_0xf50820=_0xf50820-0x0;var _0x2a9b10=_0xdba0[_0xf50820];return _0x2a9b10;};'use strict';var _=require(_0x0dba('0x0'));var util=require(_0x0dba('0x1'));var utils=require(_0x0dba('0x2'));var dials={};function writeDB(_0x19fc6e){utils['info'](util['format'](_0x0dba('0x3'),_0x19fc6e[_0x0dba('0x4')],_0x19fc6e[_0x0dba('0x5')],_0x19fc6e['dialstring'],_0x19fc6e['calleridnum'],_0x19fc6e['connectedlinenum'],_0x19fc6e[_0x0dba('0x6')]));utils[_0x0dba('0x7')]('CreateVoiceDialReport',_0x19fc6e);delete dials[_0x19fc6e[_0x0dba('0x4')]];}exports[_0x0dba('0x8')]=function(_0x800fe5){try{utils['debug'](util[_0x0dba('0x9')](_0x0dba('0xa'),_0x800fe5[_0x0dba('0x4')]),_0x800fe5);utils[_0x0dba('0xb')](util[_0x0dba('0x9')](_0x0dba('0xc'),_0x800fe5['uniqueid'],_0x800fe5[_0x0dba('0xd')],_0x800fe5['appdata']));if(_0x800fe5[_0x0dba('0xd')][_0x0dba('0xe')]()==_0x0dba('0xf')&&_[_0x0dba('0x10')](_0x800fe5[_0x0dba('0x11')][_0x0dba('0xe')](),_0x0dba('0x12'))){var _0x19fbba=_0x800fe5[_0x0dba('0x11')][_0x0dba('0x13')]('=');dials[_0x800fe5[_0x0dba('0x4')]]={'routeId':_0x19fbba[0x1]};}}catch(_0x9acd7e){utils[_0x0dba('0x14')](util[_0x0dba('0x9')](_0x0dba('0xa'),_0x800fe5[_0x0dba('0x4')]),_0x9acd7e);}};exports['varset']=function(_0x5a66c0){try{utils[_0x0dba('0x15')](util[_0x0dba('0x9')]('[%s][dials][varset]',_0x5a66c0['uniqueid']),_0x5a66c0);if(!_[_0x0dba('0x16')](_0x5a66c0[_0x0dba('0x17')][_0x0dba('0x18')])){utils[_0x0dba('0xb')](util[_0x0dba('0x9')]('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x5a66c0[_0x0dba('0x4')],_0x5a66c0[_0x0dba('0x19')]));dials[_0x5a66c0[_0x0dba('0x4')]]={'routeId':_0x5a66c0[_0x0dba('0x19')]};}}catch(_0x73f45f){utils['error'](util['format'](_0x0dba('0x1a'),_0x5a66c0[_0x0dba('0x4')]),_0x73f45f);}};exports[_0x0dba('0x1b')]=function(_0x55067a){try{if(!_['isNil'](dials[_0x55067a[_0x0dba('0x4')]])){utils[_0x0dba('0x15')](util[_0x0dba('0x9')]('[%s][dials][dialbegin]',_0x55067a['uniqueid']),_0x55067a);dials[_0x55067a[_0x0dba('0x4')]]=_['assign'](dials[_0x55067a[_0x0dba('0x4')]],_0x55067a);dials[_0x55067a[_0x0dba('0x4')]][_0x0dba('0x1c')]=utils[_0x0dba('0x1d')]();dials[_0x55067a[_0x0dba('0x4')]][_0x0dba('0x1e')]=_0x0dba('0x1f');utils[_0x0dba('0xb')](util[_0x0dba('0x9')](_0x0dba('0x20'),_0x55067a[_0x0dba('0x4')],dials[_0x55067a[_0x0dba('0x4')]][_0x0dba('0x1c')]));}}catch(_0x5307f4){utils[_0x0dba('0x14')](util[_0x0dba('0x9')](_0x0dba('0x21'),_0x55067a[_0x0dba('0x4')]),_0x5307f4);}};exports[_0x0dba('0x22')]=function(_0xde84b6){try{if(!_[_0x0dba('0x16')](dials[_0xde84b6['uniqueid']])){utils[_0x0dba('0x15')](util[_0x0dba('0x9')](_0x0dba('0x23'),_0xde84b6[_0x0dba('0x4')]),_0xde84b6);dials[_0xde84b6[_0x0dba('0x4')]][_0x0dba('0x6')]=_0xde84b6[_0x0dba('0x6')];if(_0xde84b6[_0x0dba('0x6')]==_0x0dba('0x24')){dials[_0xde84b6[_0x0dba('0x4')]]=_[_0x0dba('0x25')](dials[_0xde84b6[_0x0dba('0x4')]],_0xde84b6);dials[_0xde84b6[_0x0dba('0x4')]]['answertime']=utils[_0x0dba('0x1d')]();dials[_0xde84b6['uniqueid']][_0x0dba('0x1e')]=_0x0dba('0x26');utils['info'](util['format'](_0x0dba('0x27'),_0xde84b6[_0x0dba('0x4')],_0xde84b6[_0x0dba('0x6')],dials[_0xde84b6[_0x0dba('0x4')]][_0x0dba('0x28')]));}else{utils[_0x0dba('0xb')](util[_0x0dba('0x9')](_0x0dba('0x29'),_0xde84b6[_0x0dba('0x4')],_0xde84b6[_0x0dba('0x6')]));}}}catch(_0x124049){utils[_0x0dba('0x14')](util[_0x0dba('0x9')](_0x0dba('0x23'),_0xde84b6[_0x0dba('0x4')]),_0x124049);}};exports[_0x0dba('0x2a')]=function(_0x5e3db8){try{if(!_[_0x0dba('0x16')](dials[_0x5e3db8[_0x0dba('0x4')]])){utils[_0x0dba('0x15')](util[_0x0dba('0x9')](_0x0dba('0x2b'),_0x5e3db8['uniqueid']),_0x5e3db8);utils[_0x0dba('0xb')](util[_0x0dba('0x9')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x5e3db8[_0x0dba('0x4')],_0x5e3db8[_0x0dba('0x2c')],_0x5e3db8['calleridname'],_0x5e3db8[_0x0dba('0x2d')]));dials[_0x5e3db8[_0x0dba('0x4')]]=_[_0x0dba('0x25')](dials[_0x5e3db8['uniqueid']],{'endtime':utils[_0x0dba('0x1d')](),'lastevent':_0x0dba('0x2e')});dials[_0x5e3db8[_0x0dba('0x4')]]['duration']=utils[_0x0dba('0x2f')](dials[_0x5e3db8[_0x0dba('0x4')]]['endtime'],dials[_0x5e3db8[_0x0dba('0x4')]]['starttime']);dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x30')]=utils['diffTime'](dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x28')]||dials[_0x5e3db8[_0x0dba('0x4')]]['endtime'],dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x1c')]);dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x31')]=dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x28')]?utils[_0x0dba('0x2f')](dials[_0x5e3db8[_0x0dba('0x4')]]['endtime'],dials[_0x5e3db8[_0x0dba('0x4')]][_0x0dba('0x28')]):0x0;writeDB(dials[_0x5e3db8['uniqueid']]);}}catch(_0x1487e6){utils[_0x0dba('0x14')](util[_0x0dba('0x9')](_0x0dba('0x2b'),_0x5e3db8[_0x0dba('0x4')]),_0x1487e6);}};