Built motion from commit bab6f49e.|2.6.17
[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 _0x2e26=['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','complete','duration','diffTime','starttime','holdtime','endtime','lodash','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','debug','format','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','startsWith','appdata','cdr(routeid)','split','varset','[%s][dials][varset]','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','assign','now','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','error','dialend','dialstatus','ANSWER','answertime'];(function(_0x546aaf,_0x1ed138){var _0x1cbf6d=function(_0x36c837){while(--_0x36c837){_0x546aaf['push'](_0x546aaf['shift']());}};_0x1cbf6d(++_0x1ed138);}(_0x2e26,0x1b7));var _0x62e2=function(_0x517724,_0x51e5c0){_0x517724=_0x517724-0x0;var _0x4c73a5=_0x2e26[_0x517724];return _0x4c73a5;};'use strict';var _=require(_0x62e2('0x0'));var util=require(_0x62e2('0x1'));var utils=require(_0x62e2('0x2'));var dials={};function writeDB(_0x238b73){utils[_0x62e2('0x3')](util['format'](_0x62e2('0x4'),_0x238b73[_0x62e2('0x5')],_0x238b73[_0x62e2('0x6')],_0x238b73[_0x62e2('0x7')],_0x238b73[_0x62e2('0x8')],_0x238b73[_0x62e2('0x9')],_0x238b73['dialstatus']));utils['request']('CreateVoiceDialReport',_0x238b73);delete dials[_0x238b73[_0x62e2('0x5')]];}exports['newexten']=function(_0x56d314){try{utils[_0x62e2('0xa')](util[_0x62e2('0xb')]('[%s][dials][newexten]',_0x56d314['uniqueid']),_0x56d314);utils[_0x62e2('0x3')](util[_0x62e2('0xb')](_0x62e2('0xc'),_0x56d314[_0x62e2('0x5')],_0x56d314[_0x62e2('0xd')],_0x56d314['appdata']));if(_0x56d314[_0x62e2('0xd')][_0x62e2('0xe')]()==_0x62e2('0xf')&&_[_0x62e2('0x10')](_0x56d314[_0x62e2('0x11')][_0x62e2('0xe')](),_0x62e2('0x12'))){var _0x5d9f53=_0x56d314[_0x62e2('0x11')][_0x62e2('0x13')]('=');dials[_0x56d314[_0x62e2('0x5')]]={'routeId':_0x5d9f53[0x1]};}}catch(_0x42fe11){utils['error'](util[_0x62e2('0xb')]('[%s][dials][newexten]',_0x56d314[_0x62e2('0x5')]),_0x42fe11);}};exports[_0x62e2('0x14')]=function(_0x522c45){try{utils[_0x62e2('0xa')](util[_0x62e2('0xb')](_0x62e2('0x15'),_0x522c45[_0x62e2('0x5')]),_0x522c45);if(!_[_0x62e2('0x16')](_0x522c45[_0x62e2('0x17')][_0x62e2('0x18')])){utils[_0x62e2('0x3')](util[_0x62e2('0xb')](_0x62e2('0x19'),_0x522c45[_0x62e2('0x5')],_0x522c45[_0x62e2('0x1a')]));dials[_0x522c45[_0x62e2('0x5')]]={'routeId':_0x522c45[_0x62e2('0x1a')]};}}catch(_0x1be1d8){utils['error'](util['format']('[%s][dials][varset]',_0x522c45['uniqueid']),_0x1be1d8);}};exports[_0x62e2('0x1b')]=function(_0x6264f5){try{if(!_['isNil'](dials[_0x6264f5[_0x62e2('0x5')]])){utils[_0x62e2('0xa')](util[_0x62e2('0xb')](_0x62e2('0x1c'),_0x6264f5[_0x62e2('0x5')]),_0x6264f5);dials[_0x6264f5[_0x62e2('0x5')]]=_[_0x62e2('0x1d')](dials[_0x6264f5[_0x62e2('0x5')]],_0x6264f5);dials[_0x6264f5[_0x62e2('0x5')]]['starttime']=utils[_0x62e2('0x1e')]();dials[_0x6264f5[_0x62e2('0x5')]]['lastevent']=_0x62e2('0x1f');utils[_0x62e2('0x3')](util[_0x62e2('0xb')](_0x62e2('0x20'),_0x6264f5[_0x62e2('0x5')],dials[_0x6264f5[_0x62e2('0x5')]]['starttime']));}}catch(_0x4bad92){utils[_0x62e2('0x21')](util[_0x62e2('0xb')]('[%s][dials][dialbegin]',_0x6264f5['uniqueid']),_0x4bad92);}};exports[_0x62e2('0x22')]=function(_0xa9406c){try{if(!_[_0x62e2('0x16')](dials[_0xa9406c['uniqueid']])){utils['debug'](util[_0x62e2('0xb')]('[%s][dials][dialend]',_0xa9406c[_0x62e2('0x5')]),_0xa9406c);dials[_0xa9406c[_0x62e2('0x5')]]['dialstatus']=_0xa9406c[_0x62e2('0x23')];if(_0xa9406c['dialstatus']==_0x62e2('0x24')){dials[_0xa9406c['uniqueid']]=_[_0x62e2('0x1d')](dials[_0xa9406c[_0x62e2('0x5')]],_0xa9406c);dials[_0xa9406c['uniqueid']][_0x62e2('0x25')]=utils[_0x62e2('0x1e')]();dials[_0xa9406c[_0x62e2('0x5')]][_0x62e2('0x26')]=_0x62e2('0x27');utils[_0x62e2('0x3')](util['format'](_0x62e2('0x28'),_0xa9406c[_0x62e2('0x5')],_0xa9406c[_0x62e2('0x23')],dials[_0xa9406c[_0x62e2('0x5')]]['answertime']));}else{utils[_0x62e2('0x3')](util[_0x62e2('0xb')](_0x62e2('0x29'),_0xa9406c[_0x62e2('0x5')],_0xa9406c[_0x62e2('0x23')]));}}}catch(_0x3a4456){utils['error'](util['format'](_0x62e2('0x2a'),_0xa9406c[_0x62e2('0x5')]),_0x3a4456);}};exports[_0x62e2('0x2b')]=function(_0x566f98){try{if(!_['isNil'](dials[_0x566f98[_0x62e2('0x5')]])){utils['debug'](util[_0x62e2('0xb')](_0x62e2('0x2c'),_0x566f98[_0x62e2('0x5')]),_0x566f98);utils['info'](util[_0x62e2('0xb')](_0x62e2('0x2d'),_0x566f98[_0x62e2('0x5')],_0x566f98[_0x62e2('0x8')],_0x566f98[_0x62e2('0x2e')],_0x566f98['cause-txt']));dials[_0x566f98[_0x62e2('0x5')]]=_[_0x62e2('0x1d')](dials[_0x566f98[_0x62e2('0x5')]],{'endtime':utils[_0x62e2('0x1e')](),'lastevent':_0x62e2('0x2f')});dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x30')]=utils[_0x62e2('0x31')](dials[_0x566f98['uniqueid']]['endtime'],dials[_0x566f98['uniqueid']][_0x62e2('0x32')]);dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x33')]=utils[_0x62e2('0x31')](dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x25')]||dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x34')],dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x32')]);dials[_0x566f98[_0x62e2('0x5')]]['billableseconds']=dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x25')]?utils['diffTime'](dials[_0x566f98['uniqueid']]['endtime'],dials[_0x566f98[_0x62e2('0x5')]][_0x62e2('0x25')]):0x0;writeDB(dials[_0x566f98[_0x62e2('0x5')]]);}}catch(_0xae53d9){utils['error'](util[_0x62e2('0xb')](_0x62e2('0x2c'),_0x566f98[_0x62e2('0x5')]),_0xae53d9);}};