e74d42dc6bc10521587792e1fca963086de194c7
[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 _0x8f1f=['connectedlinenum','dialstatus','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]','format','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','startsWith','cdr(routeid)','split','error','varset','[%s][dials][varset]','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridnum','calleridname','cause-txt','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','lodash','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring'];(function(_0x2272b5,_0x362458){var _0x110156=function(_0x5c2e32){while(--_0x5c2e32){_0x2272b5['push'](_0x2272b5['shift']());}};_0x110156(++_0x362458);}(_0x8f1f,0x16c));var _0xf8f1=function(_0x146f3a,_0x373e03){_0x146f3a=_0x146f3a-0x0;var _0x4ebd8a=_0x8f1f[_0x146f3a];return _0x4ebd8a;};'use strict';var _=require(_0xf8f1('0x0'));var util=require('util');var utils=require(_0xf8f1('0x1'));var dials={};function writeDB(_0x438c2e){utils[_0xf8f1('0x2')](util['format'](_0xf8f1('0x3'),_0x438c2e[_0xf8f1('0x4')],_0x438c2e[_0xf8f1('0x5')],_0x438c2e[_0xf8f1('0x6')],_0x438c2e['calleridnum'],_0x438c2e[_0xf8f1('0x7')],_0x438c2e[_0xf8f1('0x8')]));utils['request'](_0xf8f1('0x9'),_0x438c2e);delete dials[_0x438c2e[_0xf8f1('0x4')]];}exports[_0xf8f1('0xa')]=function(_0x4610f0){try{utils[_0xf8f1('0xb')](util['format'](_0xf8f1('0xc'),_0x4610f0[_0xf8f1('0x4')]),_0x4610f0);utils[_0xf8f1('0x2')](util[_0xf8f1('0xd')](_0xf8f1('0xe'),_0x4610f0[_0xf8f1('0x4')],_0x4610f0[_0xf8f1('0xf')],_0x4610f0[_0xf8f1('0x10')]));if(_0x4610f0[_0xf8f1('0xf')][_0xf8f1('0x11')]()=='set'&&_[_0xf8f1('0x12')](_0x4610f0[_0xf8f1('0x10')][_0xf8f1('0x11')](),_0xf8f1('0x13'))){var _0x26cf4f=_0x4610f0['appdata'][_0xf8f1('0x14')]('=');dials[_0x4610f0[_0xf8f1('0x4')]]={'routeId':_0x26cf4f[0x1]};}}catch(_0x4b3333){utils[_0xf8f1('0x15')](util['format'](_0xf8f1('0xc'),_0x4610f0[_0xf8f1('0x4')]),_0x4b3333);}};exports[_0xf8f1('0x16')]=function(_0x1140be){try{utils[_0xf8f1('0xb')](util[_0xf8f1('0xd')](_0xf8f1('0x17'),_0x1140be[_0xf8f1('0x4')]),_0x1140be);if(!_[_0xf8f1('0x18')](_0x1140be[_0xf8f1('0x19')][_0xf8f1('0x1a')])){utils[_0xf8f1('0x2')](util[_0xf8f1('0xd')](_0xf8f1('0x1b'),_0x1140be[_0xf8f1('0x4')],_0x1140be['value']));dials[_0x1140be[_0xf8f1('0x4')]]={'routeId':_0x1140be['value']};}}catch(_0x2d43ed){utils[_0xf8f1('0x15')](util['format'](_0xf8f1('0x17'),_0x1140be[_0xf8f1('0x4')]),_0x2d43ed);}};exports[_0xf8f1('0x1c')]=function(_0x72bd0a){try{if(!_[_0xf8f1('0x18')](dials[_0x72bd0a[_0xf8f1('0x4')]])){utils[_0xf8f1('0xb')](util[_0xf8f1('0xd')](_0xf8f1('0x1d'),_0x72bd0a['uniqueid']),_0x72bd0a);dials[_0x72bd0a[_0xf8f1('0x4')]]=_[_0xf8f1('0x1e')](dials[_0x72bd0a[_0xf8f1('0x4')]],_0x72bd0a);dials[_0x72bd0a[_0xf8f1('0x4')]][_0xf8f1('0x1f')]=utils[_0xf8f1('0x20')]();dials[_0x72bd0a[_0xf8f1('0x4')]][_0xf8f1('0x21')]=_0xf8f1('0x22');utils[_0xf8f1('0x2')](util[_0xf8f1('0xd')](_0xf8f1('0x23'),_0x72bd0a[_0xf8f1('0x4')],dials[_0x72bd0a[_0xf8f1('0x4')]][_0xf8f1('0x1f')]));}}catch(_0x3b2ba9){utils[_0xf8f1('0x15')](util['format']('[%s][dials][dialbegin]',_0x72bd0a[_0xf8f1('0x4')]),_0x3b2ba9);}};exports[_0xf8f1('0x24')]=function(_0xdc7523){try{if(!_[_0xf8f1('0x18')](dials[_0xdc7523['uniqueid']])){utils['debug'](util[_0xf8f1('0xd')](_0xf8f1('0x25'),_0xdc7523['uniqueid']),_0xdc7523);dials[_0xdc7523['uniqueid']][_0xf8f1('0x8')]=_0xdc7523[_0xf8f1('0x8')];if(_0xdc7523[_0xf8f1('0x8')]=='ANSWER'){dials[_0xdc7523[_0xf8f1('0x4')]]=_[_0xf8f1('0x1e')](dials[_0xdc7523['uniqueid']],_0xdc7523);dials[_0xdc7523[_0xf8f1('0x4')]][_0xf8f1('0x26')]=utils[_0xf8f1('0x20')]();dials[_0xdc7523['uniqueid']]['lastevent']=_0xf8f1('0x27');utils['info'](util[_0xf8f1('0xd')](_0xf8f1('0x28'),_0xdc7523[_0xf8f1('0x4')],_0xdc7523['dialstatus'],dials[_0xdc7523[_0xf8f1('0x4')]][_0xf8f1('0x26')]));}else{utils[_0xf8f1('0x2')](util[_0xf8f1('0xd')](_0xf8f1('0x29'),_0xdc7523[_0xf8f1('0x4')],_0xdc7523[_0xf8f1('0x8')]));}}}catch(_0x5354a7){utils[_0xf8f1('0x15')](util[_0xf8f1('0xd')](_0xf8f1('0x25'),_0xdc7523[_0xf8f1('0x4')]),_0x5354a7);}};exports[_0xf8f1('0x2a')]=function(_0x402fa6){try{if(!_[_0xf8f1('0x18')](dials[_0x402fa6[_0xf8f1('0x4')]])){utils['debug'](util['format']('[%s][dials][hangup]',_0x402fa6['uniqueid']),_0x402fa6);utils['info'](util[_0xf8f1('0xd')](_0xf8f1('0x2b'),_0x402fa6[_0xf8f1('0x4')],_0x402fa6[_0xf8f1('0x2c')],_0x402fa6[_0xf8f1('0x2d')],_0x402fa6[_0xf8f1('0x2e')]));dials[_0x402fa6['uniqueid']]=_[_0xf8f1('0x1e')](dials[_0x402fa6[_0xf8f1('0x4')]],{'endtime':utils['now'](),'lastevent':'complete'});dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x2f')]=utils[_0xf8f1('0x30')](dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x31')],dials[_0x402fa6[_0xf8f1('0x4')]]['starttime']);dials[_0x402fa6['uniqueid']][_0xf8f1('0x32')]=utils[_0xf8f1('0x30')](dials[_0x402fa6['uniqueid']][_0xf8f1('0x26')]||dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x31')],dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x1f')]);dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x33')]=dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x26')]?utils['diffTime'](dials[_0x402fa6[_0xf8f1('0x4')]]['endtime'],dials[_0x402fa6[_0xf8f1('0x4')]][_0xf8f1('0x26')]):0x0;writeDB(dials[_0x402fa6[_0xf8f1('0x4')]]);}}catch(_0x2b4b4f){utils[_0xf8f1('0x15')](util[_0xf8f1('0xd')](_0xf8f1('0x34'),_0x402fa6[_0xf8f1('0x4')]),_0x2b4b4f);}};