Built motion from commit 092f8824.|2.5.49
[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 _0x9ea2=['billableseconds','lodash','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','debug','format','application','toLowerCase','startsWith','appdata','cdr(routeid)','split','error','[%s][dials][newexten]','[%s][dials][varset]','isNil','variable','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','assign','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%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','diffTime','holdtime','endtime','starttime'];(function(_0x118986,_0x2ea044){var _0x25c9e6=function(_0x13b4d4){while(--_0x13b4d4){_0x118986['push'](_0x118986['shift']());}};_0x25c9e6(++_0x2ea044);}(_0x9ea2,0xd1));var _0x29ea=function(_0x4e5829,_0x1ba750){_0x4e5829=_0x4e5829-0x0;var _0x188594=_0x9ea2[_0x4e5829];return _0x188594;};'use strict';var _=require(_0x29ea('0x0'));var util=require(_0x29ea('0x1'));var utils=require(_0x29ea('0x2'));var dials={};function writeDB(_0x40fd85){utils[_0x29ea('0x3')](util['format'](_0x29ea('0x4'),_0x40fd85['uniqueid'],_0x40fd85[_0x29ea('0x5')],_0x40fd85['dialstring'],_0x40fd85['calleridnum'],_0x40fd85[_0x29ea('0x6')],_0x40fd85[_0x29ea('0x7')]));utils[_0x29ea('0x8')](_0x29ea('0x9'),_0x40fd85);delete dials[_0x40fd85[_0x29ea('0xa')]];}exports[_0x29ea('0xb')]=function(_0xfc631){try{utils[_0x29ea('0xc')](util['format']('[%s][dials][newexten]',_0xfc631[_0x29ea('0xa')]),_0xfc631);utils[_0x29ea('0x3')](util[_0x29ea('0xd')]('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0xfc631[_0x29ea('0xa')],_0xfc631[_0x29ea('0xe')],_0xfc631['appdata']));if(_0xfc631[_0x29ea('0xe')][_0x29ea('0xf')]()=='set'&&_[_0x29ea('0x10')](_0xfc631[_0x29ea('0x11')][_0x29ea('0xf')](),_0x29ea('0x12'))){var _0x1d0653=_0xfc631[_0x29ea('0x11')][_0x29ea('0x13')]('=');dials[_0xfc631['uniqueid']]={'routeId':_0x1d0653[0x1]};}}catch(_0x4cd805){utils[_0x29ea('0x14')](util[_0x29ea('0xd')](_0x29ea('0x15'),_0xfc631[_0x29ea('0xa')]),_0x4cd805);}};exports['varset']=function(_0x5bc6e1){try{utils[_0x29ea('0xc')](util[_0x29ea('0xd')](_0x29ea('0x16'),_0x5bc6e1['uniqueid']),_0x5bc6e1);if(!_[_0x29ea('0x17')](_0x5bc6e1[_0x29ea('0x18')]['outboundrouteid'])){utils[_0x29ea('0x3')](util[_0x29ea('0xd')](_0x29ea('0x19'),_0x5bc6e1[_0x29ea('0xa')],_0x5bc6e1[_0x29ea('0x1a')]));dials[_0x5bc6e1['uniqueid']]={'routeId':_0x5bc6e1[_0x29ea('0x1a')]};}}catch(_0x5d438d){utils[_0x29ea('0x14')](util[_0x29ea('0xd')]('[%s][dials][varset]',_0x5bc6e1[_0x29ea('0xa')]),_0x5d438d);}};exports[_0x29ea('0x1b')]=function(_0x19f537){try{if(!_[_0x29ea('0x17')](dials[_0x19f537[_0x29ea('0xa')]])){utils['debug'](util[_0x29ea('0xd')](_0x29ea('0x1c'),_0x19f537[_0x29ea('0xa')]),_0x19f537);dials[_0x19f537[_0x29ea('0xa')]]=_['assign'](dials[_0x19f537['uniqueid']],_0x19f537);dials[_0x19f537[_0x29ea('0xa')]]['starttime']=utils[_0x29ea('0x1d')]();dials[_0x19f537[_0x29ea('0xa')]][_0x29ea('0x1e')]=_0x29ea('0x1f');utils[_0x29ea('0x3')](util['format'](_0x29ea('0x20'),_0x19f537[_0x29ea('0xa')],dials[_0x19f537['uniqueid']]['starttime']));}}catch(_0x5812ce){utils[_0x29ea('0x14')](util[_0x29ea('0xd')](_0x29ea('0x1c'),_0x19f537[_0x29ea('0xa')]),_0x5812ce);}};exports[_0x29ea('0x21')]=function(_0x2b6503){try{if(!_[_0x29ea('0x17')](dials[_0x2b6503[_0x29ea('0xa')]])){utils[_0x29ea('0xc')](util['format'](_0x29ea('0x22'),_0x2b6503[_0x29ea('0xa')]),_0x2b6503);dials[_0x2b6503[_0x29ea('0xa')]][_0x29ea('0x7')]=_0x2b6503[_0x29ea('0x7')];if(_0x2b6503[_0x29ea('0x7')]=='ANSWER'){dials[_0x2b6503[_0x29ea('0xa')]]=_[_0x29ea('0x23')](dials[_0x2b6503[_0x29ea('0xa')]],_0x2b6503);dials[_0x2b6503[_0x29ea('0xa')]][_0x29ea('0x24')]=utils[_0x29ea('0x1d')]();dials[_0x2b6503[_0x29ea('0xa')]][_0x29ea('0x1e')]=_0x29ea('0x25');utils['info'](util[_0x29ea('0xd')](_0x29ea('0x26'),_0x2b6503[_0x29ea('0xa')],_0x2b6503[_0x29ea('0x7')],dials[_0x2b6503[_0x29ea('0xa')]][_0x29ea('0x24')]));}else{utils[_0x29ea('0x3')](util[_0x29ea('0xd')](_0x29ea('0x27'),_0x2b6503['uniqueid'],_0x2b6503[_0x29ea('0x7')]));}}}catch(_0x256b6a){utils[_0x29ea('0x14')](util['format']('[%s][dials][dialend]',_0x2b6503[_0x29ea('0xa')]),_0x256b6a);}};exports[_0x29ea('0x28')]=function(_0x193100){try{if(!_[_0x29ea('0x17')](dials[_0x193100[_0x29ea('0xa')]])){utils[_0x29ea('0xc')](util[_0x29ea('0xd')](_0x29ea('0x29'),_0x193100[_0x29ea('0xa')]),_0x193100);utils[_0x29ea('0x3')](util[_0x29ea('0xd')](_0x29ea('0x2a'),_0x193100[_0x29ea('0xa')],_0x193100['calleridnum'],_0x193100[_0x29ea('0x2b')],_0x193100[_0x29ea('0x2c')]));dials[_0x193100[_0x29ea('0xa')]]=_[_0x29ea('0x23')](dials[_0x193100['uniqueid']],{'endtime':utils['now'](),'lastevent':_0x29ea('0x2d')});dials[_0x193100['uniqueid']][_0x29ea('0x2e')]=utils[_0x29ea('0x2f')](dials[_0x193100[_0x29ea('0xa')]]['endtime'],dials[_0x193100['uniqueid']]['starttime']);dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x30')]=utils[_0x29ea('0x2f')](dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x24')]||dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x31')],dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x32')]);dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x33')]=dials[_0x193100[_0x29ea('0xa')]]['answertime']?utils['diffTime'](dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x31')],dials[_0x193100[_0x29ea('0xa')]][_0x29ea('0x24')]):0x0;writeDB(dials[_0x193100['uniqueid']]);}}catch(_0x26e6e7){utils[_0x29ea('0x14')](util['format'](_0x29ea('0x29'),_0x193100[_0x29ea('0xa')]),_0x26e6e7);}};