Built motion from commit 3c2ce842.|2.6.31
[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 _0xbe7a=['appdata','toLowerCase','startsWith','cdr(routeid)','error','varset','[%s][dials][varset]','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','isNil','assign','starttime','lastevent','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialbegin]','dialend','[%s][dials][dialend]','dialstatus','now','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','complete','duration','endtime','holdtime','diffTime','billableseconds','lodash','util','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','calleridnum','connectedlinenum','request','uniqueid','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application'];(function(_0xe19c6d,_0x1271b6){var _0xa842a0=function(_0x53368d){while(--_0x53368d){_0xe19c6d['push'](_0xe19c6d['shift']());}};_0xa842a0(++_0x1271b6);}(_0xbe7a,0xf4));var _0xabe7=function(_0x5cb1af,_0x4bdc8c){_0x5cb1af=_0x5cb1af-0x0;var _0x8d7940=_0xbe7a[_0x5cb1af];return _0x8d7940;};'use strict';var _=require(_0xabe7('0x0'));var util=require(_0xabe7('0x1'));var utils=require('./utils');var dials={};function writeDB(_0x2589df){utils[_0xabe7('0x2')](util[_0xabe7('0x3')](_0xabe7('0x4'),_0x2589df['uniqueid'],_0x2589df[_0xabe7('0x5')],_0x2589df[_0xabe7('0x6')],_0x2589df[_0xabe7('0x7')],_0x2589df[_0xabe7('0x8')],_0x2589df['dialstatus']));utils[_0xabe7('0x9')]('CreateVoiceDialReport',_0x2589df);delete dials[_0x2589df[_0xabe7('0xa')]];}exports[_0xabe7('0xb')]=function(_0x10efa1){try{utils[_0xabe7('0xc')](util[_0xabe7('0x3')](_0xabe7('0xd'),_0x10efa1[_0xabe7('0xa')]),_0x10efa1);utils['info'](util['format'](_0xabe7('0xe'),_0x10efa1[_0xabe7('0xa')],_0x10efa1[_0xabe7('0xf')],_0x10efa1[_0xabe7('0x10')]));if(_0x10efa1[_0xabe7('0xf')][_0xabe7('0x11')]()=='set'&&_[_0xabe7('0x12')](_0x10efa1[_0xabe7('0x10')][_0xabe7('0x11')](),_0xabe7('0x13'))){var _0x5d152e=_0x10efa1[_0xabe7('0x10')]['split']('=');dials[_0x10efa1[_0xabe7('0xa')]]={'routeId':_0x5d152e[0x1]};}}catch(_0x3fd0f0){utils[_0xabe7('0x14')](util['format'](_0xabe7('0xd'),_0x10efa1[_0xabe7('0xa')]),_0x3fd0f0);}};exports[_0xabe7('0x15')]=function(_0x770bd5){try{utils['debug'](util[_0xabe7('0x3')](_0xabe7('0x16'),_0x770bd5[_0xabe7('0xa')]),_0x770bd5);if(!_['isNil'](_0x770bd5[_0xabe7('0x17')][_0xabe7('0x18')])){utils['info'](util[_0xabe7('0x3')](_0xabe7('0x19'),_0x770bd5['uniqueid'],_0x770bd5[_0xabe7('0x1a')]));dials[_0x770bd5[_0xabe7('0xa')]]={'routeId':_0x770bd5['value']};}}catch(_0x14ba57){utils[_0xabe7('0x14')](util['format']('[%s][dials][varset]',_0x770bd5[_0xabe7('0xa')]),_0x14ba57);}};exports['dialbegin']=function(_0x2d9ebf){try{if(!_[_0xabe7('0x1b')](dials[_0x2d9ebf[_0xabe7('0xa')]])){utils[_0xabe7('0xc')](util['format']('[%s][dials][dialbegin]',_0x2d9ebf[_0xabe7('0xa')]),_0x2d9ebf);dials[_0x2d9ebf[_0xabe7('0xa')]]=_[_0xabe7('0x1c')](dials[_0x2d9ebf[_0xabe7('0xa')]],_0x2d9ebf);dials[_0x2d9ebf['uniqueid']][_0xabe7('0x1d')]=utils['now']();dials[_0x2d9ebf[_0xabe7('0xa')]][_0xabe7('0x1e')]='called';utils[_0xabe7('0x2')](util[_0xabe7('0x3')](_0xabe7('0x1f'),_0x2d9ebf[_0xabe7('0xa')],dials[_0x2d9ebf[_0xabe7('0xa')]][_0xabe7('0x1d')]));}}catch(_0x381ec8){utils[_0xabe7('0x14')](util[_0xabe7('0x3')](_0xabe7('0x20'),_0x2d9ebf[_0xabe7('0xa')]),_0x381ec8);}};exports[_0xabe7('0x21')]=function(_0x5c96aa){try{if(!_[_0xabe7('0x1b')](dials[_0x5c96aa[_0xabe7('0xa')]])){utils[_0xabe7('0xc')](util[_0xabe7('0x3')](_0xabe7('0x22'),_0x5c96aa[_0xabe7('0xa')]),_0x5c96aa);dials[_0x5c96aa[_0xabe7('0xa')]]['dialstatus']=_0x5c96aa[_0xabe7('0x23')];if(_0x5c96aa['dialstatus']=='ANSWER'){dials[_0x5c96aa[_0xabe7('0xa')]]=_[_0xabe7('0x1c')](dials[_0x5c96aa['uniqueid']],_0x5c96aa);dials[_0x5c96aa[_0xabe7('0xa')]]['answertime']=utils[_0xabe7('0x24')]();dials[_0x5c96aa[_0xabe7('0xa')]][_0xabe7('0x1e')]=_0xabe7('0x25');utils[_0xabe7('0x2')](util[_0xabe7('0x3')](_0xabe7('0x26'),_0x5c96aa[_0xabe7('0xa')],_0x5c96aa[_0xabe7('0x23')],dials[_0x5c96aa[_0xabe7('0xa')]][_0xabe7('0x27')]));}else{utils['info'](util['format'](_0xabe7('0x28'),_0x5c96aa[_0xabe7('0xa')],_0x5c96aa[_0xabe7('0x23')]));}}}catch(_0x48cd73){utils[_0xabe7('0x14')](util[_0xabe7('0x3')](_0xabe7('0x22'),_0x5c96aa[_0xabe7('0xa')]),_0x48cd73);}};exports[_0xabe7('0x29')]=function(_0x3e0362){try{if(!_[_0xabe7('0x1b')](dials[_0x3e0362[_0xabe7('0xa')]])){utils['debug'](util[_0xabe7('0x3')](_0xabe7('0x2a'),_0x3e0362[_0xabe7('0xa')]),_0x3e0362);utils[_0xabe7('0x2')](util[_0xabe7('0x3')](_0xabe7('0x2b'),_0x3e0362['uniqueid'],_0x3e0362[_0xabe7('0x7')],_0x3e0362[_0xabe7('0x2c')],_0x3e0362[_0xabe7('0x2d')]));dials[_0x3e0362['uniqueid']]=_['assign'](dials[_0x3e0362['uniqueid']],{'endtime':utils[_0xabe7('0x24')](),'lastevent':_0xabe7('0x2e')});dials[_0x3e0362['uniqueid']][_0xabe7('0x2f')]=utils['diffTime'](dials[_0x3e0362[_0xabe7('0xa')]][_0xabe7('0x30')],dials[_0x3e0362[_0xabe7('0xa')]][_0xabe7('0x1d')]);dials[_0x3e0362['uniqueid']][_0xabe7('0x31')]=utils[_0xabe7('0x32')](dials[_0x3e0362[_0xabe7('0xa')]]['answertime']||dials[_0x3e0362[_0xabe7('0xa')]]['endtime'],dials[_0x3e0362[_0xabe7('0xa')]][_0xabe7('0x1d')]);dials[_0x3e0362['uniqueid']][_0xabe7('0x33')]=dials[_0x3e0362[_0xabe7('0xa')]][_0xabe7('0x27')]?utils[_0xabe7('0x32')](dials[_0x3e0362['uniqueid']][_0xabe7('0x30')],dials[_0x3e0362[_0xabe7('0xa')]][_0xabe7('0x27')]):0x0;writeDB(dials[_0x3e0362[_0xabe7('0xa')]]);}}catch(_0xd1e16f){utils[_0xabe7('0x14')](util[_0xabe7('0x3')](_0xabe7('0x2a'),_0x3e0362[_0xabe7('0xa')]),_0xd1e16f);}};