Built motion from commit 1fa89557.|2.6.10
[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 _0x0644=['[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','starttime','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','ANSWER','assign','answertime','now','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','lodash','util','./utils','info','format','uniqueid','dialstring','calleridnum','connectedlinenum','dialstatus','request','newexten','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','appdata','cdr(routeid)','split','error','debug','[%s][dials][varset]','isNil','variable','outboundrouteid'];(function(_0x392be3,_0xf1d603){var _0x1453b2=function(_0x5bdce8){while(--_0x5bdce8){_0x392be3['push'](_0x392be3['shift']());}};_0x1453b2(++_0xf1d603);}(_0x0644,0x1ee));var _0x4064=function(_0x57c871,_0x217411){_0x57c871=_0x57c871-0x0;var _0x5cf8fe=_0x0644[_0x57c871];return _0x5cf8fe;};'use strict';var _=require(_0x4064('0x0'));var util=require(_0x4064('0x1'));var utils=require(_0x4064('0x2'));var dials={};function writeDB(_0x3b18ac){utils[_0x4064('0x3')](util[_0x4064('0x4')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x3b18ac[_0x4064('0x5')],_0x3b18ac['channel'],_0x3b18ac[_0x4064('0x6')],_0x3b18ac[_0x4064('0x7')],_0x3b18ac[_0x4064('0x8')],_0x3b18ac[_0x4064('0x9')]));utils[_0x4064('0xa')]('CreateVoiceDialReport',_0x3b18ac);delete dials[_0x3b18ac['uniqueid']];}exports[_0x4064('0xb')]=function(_0x37f739){try{utils['debug'](util['format'](_0x4064('0xc'),_0x37f739[_0x4064('0x5')]),_0x37f739);utils[_0x4064('0x3')](util['format'](_0x4064('0xd'),_0x37f739[_0x4064('0x5')],_0x37f739[_0x4064('0xe')],_0x37f739['appdata']));if(_0x37f739[_0x4064('0xe')][_0x4064('0xf')]()==_0x4064('0x10')&&_['startsWith'](_0x37f739[_0x4064('0x11')]['toLowerCase'](),_0x4064('0x12'))){var _0x2663e0=_0x37f739['appdata'][_0x4064('0x13')]('=');dials[_0x37f739['uniqueid']]={'routeId':_0x2663e0[0x1]};}}catch(_0x410458){utils[_0x4064('0x14')](util[_0x4064('0x4')]('[%s][dials][newexten]',_0x37f739[_0x4064('0x5')]),_0x410458);}};exports['varset']=function(_0x287be8){try{utils[_0x4064('0x15')](util[_0x4064('0x4')](_0x4064('0x16'),_0x287be8['uniqueid']),_0x287be8);if(!_[_0x4064('0x17')](_0x287be8[_0x4064('0x18')][_0x4064('0x19')])){utils[_0x4064('0x3')](util[_0x4064('0x4')](_0x4064('0x1a'),_0x287be8[_0x4064('0x5')],_0x287be8[_0x4064('0x1b')]));dials[_0x287be8['uniqueid']]={'routeId':_0x287be8[_0x4064('0x1b')]};}}catch(_0x4584a9){utils[_0x4064('0x14')](util[_0x4064('0x4')](_0x4064('0x16'),_0x287be8[_0x4064('0x5')]),_0x4584a9);}};exports[_0x4064('0x1c')]=function(_0x363914){try{if(!_[_0x4064('0x17')](dials[_0x363914[_0x4064('0x5')]])){utils[_0x4064('0x15')](util[_0x4064('0x4')]('[%s][dials][dialbegin]',_0x363914[_0x4064('0x5')]),_0x363914);dials[_0x363914[_0x4064('0x5')]]=_['assign'](dials[_0x363914['uniqueid']],_0x363914);dials[_0x363914[_0x4064('0x5')]][_0x4064('0x1d')]=utils['now']();dials[_0x363914['uniqueid']][_0x4064('0x1e')]=_0x4064('0x1f');utils[_0x4064('0x3')](util[_0x4064('0x4')](_0x4064('0x20'),_0x363914['uniqueid'],dials[_0x363914[_0x4064('0x5')]][_0x4064('0x1d')]));}}catch(_0x1978e0){utils['error'](util[_0x4064('0x4')]('[%s][dials][dialbegin]',_0x363914[_0x4064('0x5')]),_0x1978e0);}};exports['dialend']=function(_0x532c3e){try{if(!_[_0x4064('0x17')](dials[_0x532c3e[_0x4064('0x5')]])){utils[_0x4064('0x15')](util['format']('[%s][dials][dialend]',_0x532c3e[_0x4064('0x5')]),_0x532c3e);dials[_0x532c3e[_0x4064('0x5')]][_0x4064('0x9')]=_0x532c3e[_0x4064('0x9')];if(_0x532c3e['dialstatus']==_0x4064('0x21')){dials[_0x532c3e[_0x4064('0x5')]]=_[_0x4064('0x22')](dials[_0x532c3e[_0x4064('0x5')]],_0x532c3e);dials[_0x532c3e['uniqueid']][_0x4064('0x23')]=utils[_0x4064('0x24')]();dials[_0x532c3e[_0x4064('0x5')]][_0x4064('0x1e')]=_0x4064('0x25');utils[_0x4064('0x3')](util['format'](_0x4064('0x26'),_0x532c3e['uniqueid'],_0x532c3e[_0x4064('0x9')],dials[_0x532c3e[_0x4064('0x5')]][_0x4064('0x23')]));}else{utils['info'](util[_0x4064('0x4')](_0x4064('0x27'),_0x532c3e['uniqueid'],_0x532c3e['dialstatus']));}}}catch(_0x524721){utils[_0x4064('0x14')](util[_0x4064('0x4')](_0x4064('0x28'),_0x532c3e[_0x4064('0x5')]),_0x524721);}};exports[_0x4064('0x29')]=function(_0x5ba397){try{if(!_[_0x4064('0x17')](dials[_0x5ba397[_0x4064('0x5')]])){utils[_0x4064('0x15')](util[_0x4064('0x4')](_0x4064('0x2a'),_0x5ba397[_0x4064('0x5')]),_0x5ba397);utils[_0x4064('0x3')](util[_0x4064('0x4')](_0x4064('0x2b'),_0x5ba397['uniqueid'],_0x5ba397['calleridnum'],_0x5ba397[_0x4064('0x2c')],_0x5ba397[_0x4064('0x2d')]));dials[_0x5ba397[_0x4064('0x5')]]=_['assign'](dials[_0x5ba397[_0x4064('0x5')]],{'endtime':utils['now'](),'lastevent':_0x4064('0x2e')});dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x2f')]=utils[_0x4064('0x30')](dials[_0x5ba397[_0x4064('0x5')]]['endtime'],dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x1d')]);dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x31')]=utils[_0x4064('0x30')](dials[_0x5ba397['uniqueid']]['answertime']||dials[_0x5ba397['uniqueid']][_0x4064('0x32')],dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x1d')]);dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x33')]=dials[_0x5ba397['uniqueid']][_0x4064('0x23')]?utils[_0x4064('0x30')](dials[_0x5ba397[_0x4064('0x5')]][_0x4064('0x32')],dials[_0x5ba397['uniqueid']][_0x4064('0x23')]):0x0;writeDB(dials[_0x5ba397[_0x4064('0x5')]]);}}catch(_0x37dcf0){utils[_0x4064('0x14')](util[_0x4064('0x4')](_0x4064('0x2a'),_0x5ba397[_0x4064('0x5')]),_0x37dcf0);}};