c3c3d9a8cc6e0f94d8da66b5621f62c3ecfb5015
[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 _0x7953=['[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','set','startsWith','toLowerCase','cdr(routeid)','split','error','[%s][dials][newexten]','varset','[%s][dials][varset]','isNil','outboundrouteid','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','answertime','now','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','calleridnum','cause-txt','complete','duration','diffTime','endtime','billableseconds','lodash','util','./utils','info','format'];(function(_0x3a57b0,_0x23145a){var _0x2b8f3e=function(_0x1c721a){while(--_0x1c721a){_0x3a57b0['push'](_0x3a57b0['shift']());}};_0x2b8f3e(++_0x23145a);}(_0x7953,0x1e1));var _0x3795=function(_0x1f0679,_0x53d43c){_0x1f0679=_0x1f0679-0x0;var _0x3dc3a4=_0x7953[_0x1f0679];return _0x3dc3a4;};'use strict';var _=require(_0x3795('0x0'));var util=require(_0x3795('0x1'));var utils=require(_0x3795('0x2'));var dials={};function writeDB(_0x24fa17){utils[_0x3795('0x3')](util[_0x3795('0x4')](_0x3795('0x5'),_0x24fa17[_0x3795('0x6')],_0x24fa17[_0x3795('0x7')],_0x24fa17[_0x3795('0x8')],_0x24fa17['calleridnum'],_0x24fa17[_0x3795('0x9')],_0x24fa17[_0x3795('0xa')]));utils[_0x3795('0xb')](_0x3795('0xc'),_0x24fa17);delete dials[_0x24fa17[_0x3795('0x6')]];}exports[_0x3795('0xd')]=function(_0x565ddd){try{utils[_0x3795('0xe')](util[_0x3795('0x4')]('[%s][dials][newexten]',_0x565ddd[_0x3795('0x6')]),_0x565ddd);utils[_0x3795('0x3')](util['format'](_0x3795('0xf'),_0x565ddd[_0x3795('0x6')],_0x565ddd[_0x3795('0x10')],_0x565ddd[_0x3795('0x11')]));if(_0x565ddd[_0x3795('0x10')]['toLowerCase']()==_0x3795('0x12')&&_[_0x3795('0x13')](_0x565ddd['appdata'][_0x3795('0x14')](),_0x3795('0x15'))){var _0x564a28=_0x565ddd[_0x3795('0x11')][_0x3795('0x16')]('=');dials[_0x565ddd[_0x3795('0x6')]]={'routeId':_0x564a28[0x1]};}}catch(_0x364e82){utils[_0x3795('0x17')](util[_0x3795('0x4')](_0x3795('0x18'),_0x565ddd['uniqueid']),_0x364e82);}};exports[_0x3795('0x19')]=function(_0x452bfc){try{utils[_0x3795('0xe')](util[_0x3795('0x4')](_0x3795('0x1a'),_0x452bfc[_0x3795('0x6')]),_0x452bfc);if(!_[_0x3795('0x1b')](_0x452bfc['variable'][_0x3795('0x1c')])){utils[_0x3795('0x3')](util[_0x3795('0x4')]('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x452bfc['uniqueid'],_0x452bfc[_0x3795('0x1d')]));dials[_0x452bfc[_0x3795('0x6')]]={'routeId':_0x452bfc[_0x3795('0x1d')]};}}catch(_0x5e91b2){utils[_0x3795('0x17')](util[_0x3795('0x4')](_0x3795('0x1a'),_0x452bfc[_0x3795('0x6')]),_0x5e91b2);}};exports[_0x3795('0x1e')]=function(_0x50ba22){try{if(!_[_0x3795('0x1b')](dials[_0x50ba22['uniqueid']])){utils[_0x3795('0xe')](util['format'](_0x3795('0x1f'),_0x50ba22[_0x3795('0x6')]),_0x50ba22);dials[_0x50ba22[_0x3795('0x6')]]=_[_0x3795('0x20')](dials[_0x50ba22[_0x3795('0x6')]],_0x50ba22);dials[_0x50ba22[_0x3795('0x6')]][_0x3795('0x21')]=utils['now']();dials[_0x50ba22[_0x3795('0x6')]][_0x3795('0x22')]=_0x3795('0x23');utils['info'](util[_0x3795('0x4')](_0x3795('0x24'),_0x50ba22[_0x3795('0x6')],dials[_0x50ba22[_0x3795('0x6')]]['starttime']));}}catch(_0x36f5aa){utils[_0x3795('0x17')](util[_0x3795('0x4')](_0x3795('0x1f'),_0x50ba22[_0x3795('0x6')]),_0x36f5aa);}};exports[_0x3795('0x25')]=function(_0x10689a){try{if(!_[_0x3795('0x1b')](dials[_0x10689a[_0x3795('0x6')]])){utils[_0x3795('0xe')](util[_0x3795('0x4')](_0x3795('0x26'),_0x10689a[_0x3795('0x6')]),_0x10689a);dials[_0x10689a[_0x3795('0x6')]]['dialstatus']=_0x10689a['dialstatus'];if(_0x10689a[_0x3795('0xa')]=='ANSWER'){dials[_0x10689a[_0x3795('0x6')]]=_['assign'](dials[_0x10689a[_0x3795('0x6')]],_0x10689a);dials[_0x10689a[_0x3795('0x6')]][_0x3795('0x27')]=utils[_0x3795('0x28')]();dials[_0x10689a[_0x3795('0x6')]][_0x3795('0x22')]=_0x3795('0x29');utils['info'](util['format'](_0x3795('0x2a'),_0x10689a['uniqueid'],_0x10689a[_0x3795('0xa')],dials[_0x10689a[_0x3795('0x6')]][_0x3795('0x27')]));}else{utils[_0x3795('0x3')](util[_0x3795('0x4')](_0x3795('0x2b'),_0x10689a['uniqueid'],_0x10689a[_0x3795('0xa')]));}}}catch(_0xd5fbb6){utils['error'](util[_0x3795('0x4')](_0x3795('0x26'),_0x10689a[_0x3795('0x6')]),_0xd5fbb6);}};exports[_0x3795('0x2c')]=function(_0x104b05){try{if(!_[_0x3795('0x1b')](dials[_0x104b05[_0x3795('0x6')]])){utils['debug'](util[_0x3795('0x4')](_0x3795('0x2d'),_0x104b05[_0x3795('0x6')]),_0x104b05);utils[_0x3795('0x3')](util[_0x3795('0x4')](_0x3795('0x2e'),_0x104b05[_0x3795('0x6')],_0x104b05[_0x3795('0x2f')],_0x104b05['calleridname'],_0x104b05[_0x3795('0x30')]));dials[_0x104b05[_0x3795('0x6')]]=_[_0x3795('0x20')](dials[_0x104b05[_0x3795('0x6')]],{'endtime':utils[_0x3795('0x28')](),'lastevent':_0x3795('0x31')});dials[_0x104b05[_0x3795('0x6')]][_0x3795('0x32')]=utils[_0x3795('0x33')](dials[_0x104b05[_0x3795('0x6')]]['endtime'],dials[_0x104b05['uniqueid']]['starttime']);dials[_0x104b05[_0x3795('0x6')]]['holdtime']=utils[_0x3795('0x33')](dials[_0x104b05['uniqueid']][_0x3795('0x27')]||dials[_0x104b05['uniqueid']][_0x3795('0x34')],dials[_0x104b05[_0x3795('0x6')]][_0x3795('0x21')]);dials[_0x104b05['uniqueid']][_0x3795('0x35')]=dials[_0x104b05[_0x3795('0x6')]][_0x3795('0x27')]?utils[_0x3795('0x33')](dials[_0x104b05[_0x3795('0x6')]][_0x3795('0x34')],dials[_0x104b05[_0x3795('0x6')]]['answertime']):0x0;writeDB(dials[_0x104b05[_0x3795('0x6')]]);}}catch(_0x15ea10){utils['error'](util['format']('[%s][dials][hangup]',_0x104b05[_0x3795('0x6')]),_0x15ea10);}};