Built motion from commit d5e4af8c.|2.6.23
[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 _0xd0e9=['[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','util','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','error','varset','debug','[%s][dials][varset]','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','isNil','assign','starttime','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialbegin]','dialend','[%s][dials][dialend]','answertime','now','lastevent','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup'];(function(_0x11db7a,_0x26e377){var _0x309eb7=function(_0x56e342){while(--_0x56e342){_0x11db7a['push'](_0x11db7a['shift']());}};_0x309eb7(++_0x26e377);}(_0xd0e9,0x153));var _0x9d0e=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd0e9[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0x9d0e('0x0'));var utils=require(_0x9d0e('0x1'));var dials={};function writeDB(_0x9e5cfa){utils[_0x9d0e('0x2')](util[_0x9d0e('0x3')](_0x9d0e('0x4'),_0x9e5cfa[_0x9d0e('0x5')],_0x9e5cfa[_0x9d0e('0x6')],_0x9e5cfa[_0x9d0e('0x7')],_0x9e5cfa[_0x9d0e('0x8')],_0x9e5cfa[_0x9d0e('0x9')],_0x9e5cfa[_0x9d0e('0xa')]));utils[_0x9d0e('0xb')](_0x9d0e('0xc'),_0x9e5cfa);delete dials[_0x9e5cfa[_0x9d0e('0x5')]];}exports[_0x9d0e('0xd')]=function(_0x4d73e5){try{utils['debug'](util[_0x9d0e('0x3')](_0x9d0e('0xe'),_0x4d73e5[_0x9d0e('0x5')]),_0x4d73e5);utils['info'](util[_0x9d0e('0x3')](_0x9d0e('0xf'),_0x4d73e5[_0x9d0e('0x5')],_0x4d73e5[_0x9d0e('0x10')],_0x4d73e5[_0x9d0e('0x11')]));if(_0x4d73e5[_0x9d0e('0x10')][_0x9d0e('0x12')]()==_0x9d0e('0x13')&&_[_0x9d0e('0x14')](_0x4d73e5['appdata'][_0x9d0e('0x12')](),_0x9d0e('0x15'))){var _0x50dfbc=_0x4d73e5[_0x9d0e('0x11')]['split']('=');dials[_0x4d73e5['uniqueid']]={'routeId':_0x50dfbc[0x1]};}}catch(_0x2db554){utils[_0x9d0e('0x16')](util[_0x9d0e('0x3')](_0x9d0e('0xe'),_0x4d73e5[_0x9d0e('0x5')]),_0x2db554);}};exports[_0x9d0e('0x17')]=function(_0x3fee6a){try{utils[_0x9d0e('0x18')](util[_0x9d0e('0x3')](_0x9d0e('0x19'),_0x3fee6a[_0x9d0e('0x5')]),_0x3fee6a);if(!_['isNil'](_0x3fee6a[_0x9d0e('0x1a')][_0x9d0e('0x1b')])){utils[_0x9d0e('0x2')](util[_0x9d0e('0x3')](_0x9d0e('0x1c'),_0x3fee6a['uniqueid'],_0x3fee6a[_0x9d0e('0x1d')]));dials[_0x3fee6a['uniqueid']]={'routeId':_0x3fee6a[_0x9d0e('0x1d')]};}}catch(_0x2e3f69){utils[_0x9d0e('0x16')](util['format'](_0x9d0e('0x19'),_0x3fee6a['uniqueid']),_0x2e3f69);}};exports[_0x9d0e('0x1e')]=function(_0x171dcc){try{if(!_[_0x9d0e('0x1f')](dials[_0x171dcc[_0x9d0e('0x5')]])){utils['debug'](util['format']('[%s][dials][dialbegin]',_0x171dcc[_0x9d0e('0x5')]),_0x171dcc);dials[_0x171dcc[_0x9d0e('0x5')]]=_[_0x9d0e('0x20')](dials[_0x171dcc[_0x9d0e('0x5')]],_0x171dcc);dials[_0x171dcc[_0x9d0e('0x5')]][_0x9d0e('0x21')]=utils['now']();dials[_0x171dcc[_0x9d0e('0x5')]]['lastevent']=_0x9d0e('0x22');utils[_0x9d0e('0x2')](util[_0x9d0e('0x3')](_0x9d0e('0x23'),_0x171dcc['uniqueid'],dials[_0x171dcc[_0x9d0e('0x5')]][_0x9d0e('0x21')]));}}catch(_0x520011){utils[_0x9d0e('0x16')](util[_0x9d0e('0x3')](_0x9d0e('0x24'),_0x171dcc[_0x9d0e('0x5')]),_0x520011);}};exports[_0x9d0e('0x25')]=function(_0x2c769d){try{if(!_[_0x9d0e('0x1f')](dials[_0x2c769d[_0x9d0e('0x5')]])){utils[_0x9d0e('0x18')](util['format'](_0x9d0e('0x26'),_0x2c769d['uniqueid']),_0x2c769d);dials[_0x2c769d[_0x9d0e('0x5')]][_0x9d0e('0xa')]=_0x2c769d[_0x9d0e('0xa')];if(_0x2c769d[_0x9d0e('0xa')]=='ANSWER'){dials[_0x2c769d[_0x9d0e('0x5')]]=_[_0x9d0e('0x20')](dials[_0x2c769d[_0x9d0e('0x5')]],_0x2c769d);dials[_0x2c769d[_0x9d0e('0x5')]][_0x9d0e('0x27')]=utils[_0x9d0e('0x28')]();dials[_0x2c769d[_0x9d0e('0x5')]][_0x9d0e('0x29')]=_0x9d0e('0x2a');utils['info'](util[_0x9d0e('0x3')](_0x9d0e('0x2b'),_0x2c769d[_0x9d0e('0x5')],_0x2c769d['dialstatus'],dials[_0x2c769d[_0x9d0e('0x5')]][_0x9d0e('0x27')]));}else{utils[_0x9d0e('0x2')](util['format'](_0x9d0e('0x2c'),_0x2c769d[_0x9d0e('0x5')],_0x2c769d['dialstatus']));}}}catch(_0x5b256c){utils['error'](util['format'](_0x9d0e('0x26'),_0x2c769d[_0x9d0e('0x5')]),_0x5b256c);}};exports[_0x9d0e('0x2d')]=function(_0x4cc8f1){try{if(!_['isNil'](dials[_0x4cc8f1[_0x9d0e('0x5')]])){utils[_0x9d0e('0x18')](util[_0x9d0e('0x3')]('[%s][dials][hangup]',_0x4cc8f1[_0x9d0e('0x5')]),_0x4cc8f1);utils[_0x9d0e('0x2')](util[_0x9d0e('0x3')](_0x9d0e('0x2e'),_0x4cc8f1[_0x9d0e('0x5')],_0x4cc8f1['calleridnum'],_0x4cc8f1[_0x9d0e('0x2f')],_0x4cc8f1[_0x9d0e('0x30')]));dials[_0x4cc8f1[_0x9d0e('0x5')]]=_['assign'](dials[_0x4cc8f1[_0x9d0e('0x5')]],{'endtime':utils['now'](),'lastevent':'complete'});dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x31')]=utils[_0x9d0e('0x32')](dials[_0x4cc8f1['uniqueid']][_0x9d0e('0x33')],dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x21')]);dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x34')]=utils['diffTime'](dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x27')]||dials[_0x4cc8f1[_0x9d0e('0x5')]]['endtime'],dials[_0x4cc8f1[_0x9d0e('0x5')]]['starttime']);dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x35')]=dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x27')]?utils[_0x9d0e('0x32')](dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x33')],dials[_0x4cc8f1[_0x9d0e('0x5')]][_0x9d0e('0x27')]):0x0;writeDB(dials[_0x4cc8f1[_0x9d0e('0x5')]]);}}catch(_0x1f2a8e){utils[_0x9d0e('0x16')](util[_0x9d0e('0x3')](_0x9d0e('0x36'),_0x4cc8f1['uniqueid']),_0x1f2a8e);}};