Built motion from commit (unavailable).|2.5.9
[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 _0x9e37=['value','[%s][dials][varset]','isNil','[%s][dials][dialbegin]','assign','starttime','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','ANSWER','now','lastevent','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','hangup','[%s][dials][hangup]','calleridnum','cause-txt','diffTime','holdtime','endtime','billableseconds','lodash','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','debug','format','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','startsWith','cdr(routeid)','error','varset','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s'];(function(_0x54e3d7,_0x574033){var _0x57e023=function(_0x324a2e){while(--_0x324a2e){_0x54e3d7['push'](_0x54e3d7['shift']());}};_0x57e023(++_0x574033);}(_0x9e37,0x137));var _0x79e3=function(_0x5b7327,_0x3da7cc){_0x5b7327=_0x5b7327-0x0;var _0x1518a1=_0x9e37[_0x5b7327];return _0x1518a1;};'use strict';var _=require(_0x79e3('0x0'));var util=require(_0x79e3('0x1'));var utils=require(_0x79e3('0x2'));var dials={};function writeDB(_0x18757e){utils[_0x79e3('0x3')](util['format'](_0x79e3('0x4'),_0x18757e['uniqueid'],_0x18757e[_0x79e3('0x5')],_0x18757e[_0x79e3('0x6')],_0x18757e['calleridnum'],_0x18757e[_0x79e3('0x7')],_0x18757e[_0x79e3('0x8')]));utils[_0x79e3('0x9')](_0x79e3('0xa'),_0x18757e);delete dials[_0x18757e[_0x79e3('0xb')]];}exports[_0x79e3('0xc')]=function(_0x4acdb7){try{utils[_0x79e3('0xd')](util[_0x79e3('0xe')](_0x79e3('0xf'),_0x4acdb7[_0x79e3('0xb')]),_0x4acdb7);utils['info'](util['format'](_0x79e3('0x10'),_0x4acdb7[_0x79e3('0xb')],_0x4acdb7[_0x79e3('0x11')],_0x4acdb7[_0x79e3('0x12')]));if(_0x4acdb7['application'][_0x79e3('0x13')]()=='set'&&_[_0x79e3('0x14')](_0x4acdb7['appdata'][_0x79e3('0x13')](),_0x79e3('0x15'))){var _0x15b7ff=_0x4acdb7['appdata']['split']('=');dials[_0x4acdb7[_0x79e3('0xb')]]={'routeId':_0x15b7ff[0x1]};}}catch(_0x1336c3){utils[_0x79e3('0x16')](util[_0x79e3('0xe')](_0x79e3('0xf'),_0x4acdb7[_0x79e3('0xb')]),_0x1336c3);}};exports[_0x79e3('0x17')]=function(_0x5d6f21){try{utils[_0x79e3('0xd')](util[_0x79e3('0xe')]('[%s][dials][varset]',_0x5d6f21[_0x79e3('0xb')]),_0x5d6f21);if(!_['isNil'](_0x5d6f21['variable']['outboundrouteid'])){utils[_0x79e3('0x3')](util[_0x79e3('0xe')](_0x79e3('0x18'),_0x5d6f21[_0x79e3('0xb')],_0x5d6f21[_0x79e3('0x19')]));dials[_0x5d6f21[_0x79e3('0xb')]]={'routeId':_0x5d6f21[_0x79e3('0x19')]};}}catch(_0x5a3db8){utils[_0x79e3('0x16')](util['format'](_0x79e3('0x1a'),_0x5d6f21[_0x79e3('0xb')]),_0x5a3db8);}};exports['dialbegin']=function(_0x4df8b8){try{if(!_[_0x79e3('0x1b')](dials[_0x4df8b8[_0x79e3('0xb')]])){utils['debug'](util[_0x79e3('0xe')](_0x79e3('0x1c'),_0x4df8b8['uniqueid']),_0x4df8b8);dials[_0x4df8b8[_0x79e3('0xb')]]=_[_0x79e3('0x1d')](dials[_0x4df8b8[_0x79e3('0xb')]],_0x4df8b8);dials[_0x4df8b8[_0x79e3('0xb')]][_0x79e3('0x1e')]=utils['now']();dials[_0x4df8b8[_0x79e3('0xb')]]['lastevent']='called';utils[_0x79e3('0x3')](util[_0x79e3('0xe')](_0x79e3('0x1f'),_0x4df8b8[_0x79e3('0xb')],dials[_0x4df8b8[_0x79e3('0xb')]][_0x79e3('0x1e')]));}}catch(_0x15cd8d){utils['error'](util[_0x79e3('0xe')](_0x79e3('0x1c'),_0x4df8b8[_0x79e3('0xb')]),_0x15cd8d);}};exports['dialend']=function(_0x3057d1){try{if(!_['isNil'](dials[_0x3057d1[_0x79e3('0xb')]])){utils['debug'](util['format']('[%s][dials][dialend]',_0x3057d1[_0x79e3('0xb')]),_0x3057d1);dials[_0x3057d1['uniqueid']][_0x79e3('0x8')]=_0x3057d1['dialstatus'];if(_0x3057d1[_0x79e3('0x8')]==_0x79e3('0x20')){dials[_0x3057d1[_0x79e3('0xb')]]=_[_0x79e3('0x1d')](dials[_0x3057d1[_0x79e3('0xb')]],_0x3057d1);dials[_0x3057d1['uniqueid']]['answertime']=utils[_0x79e3('0x21')]();dials[_0x3057d1[_0x79e3('0xb')]][_0x79e3('0x22')]=_0x79e3('0x23');utils[_0x79e3('0x3')](util[_0x79e3('0xe')](_0x79e3('0x24'),_0x3057d1[_0x79e3('0xb')],_0x3057d1[_0x79e3('0x8')],dials[_0x3057d1[_0x79e3('0xb')]][_0x79e3('0x25')]));}else{utils['info'](util[_0x79e3('0xe')](_0x79e3('0x26'),_0x3057d1[_0x79e3('0xb')],_0x3057d1[_0x79e3('0x8')]));}}}catch(_0x2c4f04){utils[_0x79e3('0x16')](util[_0x79e3('0xe')](_0x79e3('0x27'),_0x3057d1[_0x79e3('0xb')]),_0x2c4f04);}};exports[_0x79e3('0x28')]=function(_0x36984f){try{if(!_['isNil'](dials[_0x36984f['uniqueid']])){utils['debug'](util[_0x79e3('0xe')](_0x79e3('0x29'),_0x36984f['uniqueid']),_0x36984f);utils['info'](util[_0x79e3('0xe')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x36984f[_0x79e3('0xb')],_0x36984f[_0x79e3('0x2a')],_0x36984f['calleridname'],_0x36984f[_0x79e3('0x2b')]));dials[_0x36984f[_0x79e3('0xb')]]=_[_0x79e3('0x1d')](dials[_0x36984f[_0x79e3('0xb')]],{'endtime':utils[_0x79e3('0x21')](),'lastevent':'complete'});dials[_0x36984f[_0x79e3('0xb')]]['duration']=utils[_0x79e3('0x2c')](dials[_0x36984f[_0x79e3('0xb')]]['endtime'],dials[_0x36984f[_0x79e3('0xb')]]['starttime']);dials[_0x36984f[_0x79e3('0xb')]][_0x79e3('0x2d')]=utils[_0x79e3('0x2c')](dials[_0x36984f[_0x79e3('0xb')]][_0x79e3('0x25')]||dials[_0x36984f[_0x79e3('0xb')]][_0x79e3('0x2e')],dials[_0x36984f[_0x79e3('0xb')]][_0x79e3('0x1e')]);dials[_0x36984f['uniqueid']][_0x79e3('0x2f')]=dials[_0x36984f[_0x79e3('0xb')]]['answertime']?utils['diffTime'](dials[_0x36984f[_0x79e3('0xb')]][_0x79e3('0x2e')],dials[_0x36984f['uniqueid']][_0x79e3('0x25')]):0x0;writeDB(dials[_0x36984f[_0x79e3('0xb')]]);}}catch(_0x405c59){utils[_0x79e3('0x16')](util[_0x79e3('0xe')](_0x79e3('0x29'),_0x36984f[_0x79e3('0xb')]),_0x405c59);}};