589d459ba9a84e9a10b5c9849d7f51a72c445592
[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 _0xd241=['[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][varset]','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','error','dialend','[%s][dials][dialend]','ANSWER','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','lodash','util','./utils','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','debug','application','appdata','startsWith','toLowerCase','cdr(routeid)','[%s][dials][newexten]','varset','isNil','variable','outboundrouteid','info'];(function(_0x353847,_0x5c84de){var _0x40d8a6=function(_0x221958){while(--_0x221958){_0x353847['push'](_0x353847['shift']());}};_0x40d8a6(++_0x5c84de);}(_0xd241,0xf9));var _0x1d24=function(_0x172471,_0x56a1e8){_0x172471=_0x172471-0x0;var _0x4e83e4=_0xd241[_0x172471];return _0x4e83e4;};'use strict';var _=require(_0x1d24('0x0'));var util=require(_0x1d24('0x1'));var utils=require(_0x1d24('0x2'));var dials={};function writeDB(_0x5e278c){utils['info'](util[_0x1d24('0x3')](_0x1d24('0x4'),_0x5e278c['uniqueid'],_0x5e278c[_0x1d24('0x5')],_0x5e278c[_0x1d24('0x6')],_0x5e278c[_0x1d24('0x7')],_0x5e278c[_0x1d24('0x8')],_0x5e278c[_0x1d24('0x9')]));utils[_0x1d24('0xa')](_0x1d24('0xb'),_0x5e278c);delete dials[_0x5e278c[_0x1d24('0xc')]];}exports[_0x1d24('0xd')]=function(_0x4a44bb){try{utils[_0x1d24('0xe')](util[_0x1d24('0x3')]('[%s][dials][newexten]',_0x4a44bb['uniqueid']),_0x4a44bb);utils['info'](util[_0x1d24('0x3')]('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0x4a44bb[_0x1d24('0xc')],_0x4a44bb[_0x1d24('0xf')],_0x4a44bb[_0x1d24('0x10')]));if(_0x4a44bb[_0x1d24('0xf')]['toLowerCase']()=='set'&&_[_0x1d24('0x11')](_0x4a44bb[_0x1d24('0x10')][_0x1d24('0x12')](),_0x1d24('0x13'))){var _0x1a846d=_0x4a44bb[_0x1d24('0x10')]['split']('=');dials[_0x4a44bb[_0x1d24('0xc')]]={'routeId':_0x1a846d[0x1]};}}catch(_0x10eaa5){utils['error'](util[_0x1d24('0x3')](_0x1d24('0x14'),_0x4a44bb[_0x1d24('0xc')]),_0x10eaa5);}};exports[_0x1d24('0x15')]=function(_0x15b4d){try{utils[_0x1d24('0xe')](util[_0x1d24('0x3')]('[%s][dials][varset]',_0x15b4d[_0x1d24('0xc')]),_0x15b4d);if(!_[_0x1d24('0x16')](_0x15b4d[_0x1d24('0x17')][_0x1d24('0x18')])){utils[_0x1d24('0x19')](util[_0x1d24('0x3')](_0x1d24('0x1a'),_0x15b4d[_0x1d24('0xc')],_0x15b4d[_0x1d24('0x1b')]));dials[_0x15b4d[_0x1d24('0xc')]]={'routeId':_0x15b4d[_0x1d24('0x1b')]};}}catch(_0x57224c){utils['error'](util[_0x1d24('0x3')](_0x1d24('0x1c'),_0x15b4d[_0x1d24('0xc')]),_0x57224c);}};exports[_0x1d24('0x1d')]=function(_0x514d9f){try{if(!_[_0x1d24('0x16')](dials[_0x514d9f[_0x1d24('0xc')]])){utils[_0x1d24('0xe')](util[_0x1d24('0x3')](_0x1d24('0x1e'),_0x514d9f[_0x1d24('0xc')]),_0x514d9f);dials[_0x514d9f[_0x1d24('0xc')]]=_[_0x1d24('0x1f')](dials[_0x514d9f[_0x1d24('0xc')]],_0x514d9f);dials[_0x514d9f[_0x1d24('0xc')]][_0x1d24('0x20')]=utils[_0x1d24('0x21')]();dials[_0x514d9f['uniqueid']][_0x1d24('0x22')]=_0x1d24('0x23');utils[_0x1d24('0x19')](util[_0x1d24('0x3')](_0x1d24('0x24'),_0x514d9f['uniqueid'],dials[_0x514d9f[_0x1d24('0xc')]][_0x1d24('0x20')]));}}catch(_0x4cbd11){utils[_0x1d24('0x25')](util['format'](_0x1d24('0x1e'),_0x514d9f[_0x1d24('0xc')]),_0x4cbd11);}};exports[_0x1d24('0x26')]=function(_0x56bd88){try{if(!_[_0x1d24('0x16')](dials[_0x56bd88[_0x1d24('0xc')]])){utils[_0x1d24('0xe')](util[_0x1d24('0x3')](_0x1d24('0x27'),_0x56bd88['uniqueid']),_0x56bd88);dials[_0x56bd88[_0x1d24('0xc')]][_0x1d24('0x9')]=_0x56bd88[_0x1d24('0x9')];if(_0x56bd88[_0x1d24('0x9')]==_0x1d24('0x28')){dials[_0x56bd88['uniqueid']]=_[_0x1d24('0x1f')](dials[_0x56bd88[_0x1d24('0xc')]],_0x56bd88);dials[_0x56bd88[_0x1d24('0xc')]][_0x1d24('0x29')]=utils['now']();dials[_0x56bd88['uniqueid']]['lastevent']=_0x1d24('0x2a');utils['info'](util[_0x1d24('0x3')](_0x1d24('0x2b'),_0x56bd88[_0x1d24('0xc')],_0x56bd88[_0x1d24('0x9')],dials[_0x56bd88[_0x1d24('0xc')]]['answertime']));}else{utils['info'](util[_0x1d24('0x3')](_0x1d24('0x2c'),_0x56bd88[_0x1d24('0xc')],_0x56bd88[_0x1d24('0x9')]));}}}catch(_0x261b38){utils[_0x1d24('0x25')](util[_0x1d24('0x3')]('[%s][dials][dialend]',_0x56bd88[_0x1d24('0xc')]),_0x261b38);}};exports[_0x1d24('0x2d')]=function(_0x2ef02f){try{if(!_['isNil'](dials[_0x2ef02f[_0x1d24('0xc')]])){utils[_0x1d24('0xe')](util[_0x1d24('0x3')](_0x1d24('0x2e'),_0x2ef02f[_0x1d24('0xc')]),_0x2ef02f);utils[_0x1d24('0x19')](util['format'](_0x1d24('0x2f'),_0x2ef02f['uniqueid'],_0x2ef02f[_0x1d24('0x7')],_0x2ef02f[_0x1d24('0x30')],_0x2ef02f[_0x1d24('0x31')]));dials[_0x2ef02f['uniqueid']]=_[_0x1d24('0x1f')](dials[_0x2ef02f[_0x1d24('0xc')]],{'endtime':utils[_0x1d24('0x21')](),'lastevent':_0x1d24('0x32')});dials[_0x2ef02f['uniqueid']][_0x1d24('0x33')]=utils[_0x1d24('0x34')](dials[_0x2ef02f[_0x1d24('0xc')]]['endtime'],dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x20')]);dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x35')]=utils[_0x1d24('0x34')](dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x29')]||dials[_0x2ef02f[_0x1d24('0xc')]]['endtime'],dials[_0x2ef02f[_0x1d24('0xc')]]['starttime']);dials[_0x2ef02f['uniqueid']]['billableseconds']=dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x29')]?utils[_0x1d24('0x34')](dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x36')],dials[_0x2ef02f[_0x1d24('0xc')]][_0x1d24('0x29')]):0x0;writeDB(dials[_0x2ef02f[_0x1d24('0xc')]]);}}catch(_0x46ba16){utils['error'](util['format'](_0x1d24('0x2e'),_0x2ef02f[_0x1d24('0xc')]),_0x46ba16);}};