c1b436ba1fb5b2351c594a5d92834a0d5d3cc00e
[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 _0xdc6a=['startsWith','cdr(routeid)','error','varset','debug','[%s][dials][varset]','isNil','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','dialend','dialstatus','answertime','lastevent','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','holdtime','endtime','billableseconds','util','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','request','CreateVoiceDialReport','newexten','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase'];(function(_0x1a019a,_0x448b1a){var _0xc8df19=function(_0x244553){while(--_0x244553){_0x1a019a['push'](_0x1a019a['shift']());}};_0xc8df19(++_0x448b1a);}(_0xdc6a,0x187));var _0xadc6=function(_0x84992e,_0x488380){_0x84992e=_0x84992e-0x0;var _0x1743ad=_0xdc6a[_0x84992e];return _0x1743ad;};'use strict';var _=require('lodash');var util=require(_0xadc6('0x0'));var utils=require('./utils');var dials={};function writeDB(_0xad6c56){utils[_0xadc6('0x1')](util[_0xadc6('0x2')](_0xadc6('0x3'),_0xad6c56[_0xadc6('0x4')],_0xad6c56[_0xadc6('0x5')],_0xad6c56[_0xadc6('0x6')],_0xad6c56[_0xadc6('0x7')],_0xad6c56[_0xadc6('0x8')],_0xad6c56['dialstatus']));utils[_0xadc6('0x9')](_0xadc6('0xa'),_0xad6c56);delete dials[_0xad6c56[_0xadc6('0x4')]];}exports[_0xadc6('0xb')]=function(_0x5397ca){try{utils['debug'](util[_0xadc6('0x2')](_0xadc6('0xc'),_0x5397ca['uniqueid']),_0x5397ca);utils[_0xadc6('0x1')](util['format'](_0xadc6('0xd'),_0x5397ca['uniqueid'],_0x5397ca[_0xadc6('0xe')],_0x5397ca[_0xadc6('0xf')]));if(_0x5397ca[_0xadc6('0xe')][_0xadc6('0x10')]()=='set'&&_[_0xadc6('0x11')](_0x5397ca['appdata']['toLowerCase'](),_0xadc6('0x12'))){var _0x5e918b=_0x5397ca[_0xadc6('0xf')]['split']('=');dials[_0x5397ca[_0xadc6('0x4')]]={'routeId':_0x5e918b[0x1]};}}catch(_0x26ac89){utils[_0xadc6('0x13')](util[_0xadc6('0x2')]('[%s][dials][newexten]',_0x5397ca[_0xadc6('0x4')]),_0x26ac89);}};exports[_0xadc6('0x14')]=function(_0x585a11){try{utils[_0xadc6('0x15')](util[_0xadc6('0x2')](_0xadc6('0x16'),_0x585a11[_0xadc6('0x4')]),_0x585a11);if(!_[_0xadc6('0x17')](_0x585a11['variable'][_0xadc6('0x18')])){utils[_0xadc6('0x1')](util['format'](_0xadc6('0x19'),_0x585a11[_0xadc6('0x4')],_0x585a11[_0xadc6('0x1a')]));dials[_0x585a11[_0xadc6('0x4')]]={'routeId':_0x585a11[_0xadc6('0x1a')]};}}catch(_0x4109a7){utils['error'](util['format'](_0xadc6('0x16'),_0x585a11[_0xadc6('0x4')]),_0x4109a7);}};exports[_0xadc6('0x1b')]=function(_0xe6f8b5){try{if(!_[_0xadc6('0x17')](dials[_0xe6f8b5[_0xadc6('0x4')]])){utils[_0xadc6('0x15')](util[_0xadc6('0x2')](_0xadc6('0x1c'),_0xe6f8b5[_0xadc6('0x4')]),_0xe6f8b5);dials[_0xe6f8b5['uniqueid']]=_[_0xadc6('0x1d')](dials[_0xe6f8b5[_0xadc6('0x4')]],_0xe6f8b5);dials[_0xe6f8b5[_0xadc6('0x4')]][_0xadc6('0x1e')]=utils[_0xadc6('0x1f')]();dials[_0xe6f8b5['uniqueid']]['lastevent']='called';utils[_0xadc6('0x1')](util[_0xadc6('0x2')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0xe6f8b5['uniqueid'],dials[_0xe6f8b5['uniqueid']]['starttime']));}}catch(_0x2a553a){utils[_0xadc6('0x13')](util[_0xadc6('0x2')](_0xadc6('0x1c'),_0xe6f8b5[_0xadc6('0x4')]),_0x2a553a);}};exports[_0xadc6('0x20')]=function(_0x5cc686){try{if(!_[_0xadc6('0x17')](dials[_0x5cc686[_0xadc6('0x4')]])){utils[_0xadc6('0x15')](util[_0xadc6('0x2')]('[%s][dials][dialend]',_0x5cc686[_0xadc6('0x4')]),_0x5cc686);dials[_0x5cc686['uniqueid']]['dialstatus']=_0x5cc686[_0xadc6('0x21')];if(_0x5cc686[_0xadc6('0x21')]=='ANSWER'){dials[_0x5cc686[_0xadc6('0x4')]]=_[_0xadc6('0x1d')](dials[_0x5cc686[_0xadc6('0x4')]],_0x5cc686);dials[_0x5cc686['uniqueid']][_0xadc6('0x22')]=utils[_0xadc6('0x1f')]();dials[_0x5cc686[_0xadc6('0x4')]][_0xadc6('0x23')]=_0xadc6('0x24');utils[_0xadc6('0x1')](util[_0xadc6('0x2')](_0xadc6('0x25'),_0x5cc686[_0xadc6('0x4')],_0x5cc686['dialstatus'],dials[_0x5cc686[_0xadc6('0x4')]][_0xadc6('0x22')]));}else{utils[_0xadc6('0x1')](util[_0xadc6('0x2')](_0xadc6('0x26'),_0x5cc686[_0xadc6('0x4')],_0x5cc686[_0xadc6('0x21')]));}}}catch(_0x14c464){utils[_0xadc6('0x13')](util[_0xadc6('0x2')](_0xadc6('0x27'),_0x5cc686[_0xadc6('0x4')]),_0x14c464);}};exports[_0xadc6('0x28')]=function(_0x4bee95){try{if(!_['isNil'](dials[_0x4bee95[_0xadc6('0x4')]])){utils[_0xadc6('0x15')](util[_0xadc6('0x2')](_0xadc6('0x29'),_0x4bee95[_0xadc6('0x4')]),_0x4bee95);utils['info'](util[_0xadc6('0x2')](_0xadc6('0x2a'),_0x4bee95['uniqueid'],_0x4bee95[_0xadc6('0x7')],_0x4bee95[_0xadc6('0x2b')],_0x4bee95[_0xadc6('0x2c')]));dials[_0x4bee95[_0xadc6('0x4')]]=_[_0xadc6('0x1d')](dials[_0x4bee95[_0xadc6('0x4')]],{'endtime':utils[_0xadc6('0x1f')](),'lastevent':_0xadc6('0x2d')});dials[_0x4bee95['uniqueid']][_0xadc6('0x2e')]=utils[_0xadc6('0x2f')](dials[_0x4bee95[_0xadc6('0x4')]]['endtime'],dials[_0x4bee95[_0xadc6('0x4')]][_0xadc6('0x1e')]);dials[_0x4bee95[_0xadc6('0x4')]][_0xadc6('0x30')]=utils['diffTime'](dials[_0x4bee95[_0xadc6('0x4')]]['answertime']||dials[_0x4bee95[_0xadc6('0x4')]][_0xadc6('0x31')],dials[_0x4bee95['uniqueid']][_0xadc6('0x1e')]);dials[_0x4bee95[_0xadc6('0x4')]][_0xadc6('0x32')]=dials[_0x4bee95[_0xadc6('0x4')]]['answertime']?utils[_0xadc6('0x2f')](dials[_0x4bee95['uniqueid']][_0xadc6('0x31')],dials[_0x4bee95[_0xadc6('0x4')]][_0xadc6('0x22')]):0x0;writeDB(dials[_0x4bee95[_0xadc6('0x4')]]);}}catch(_0x315a82){utils[_0xadc6('0x13')](util[_0xadc6('0x2')]('[%s][dials][hangup]',_0x4bee95[_0xadc6('0x4')]),_0x315a82);}};