Built motion from commit (unavailable).|2.5.10
[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 _0x575f=['called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','starttime','[%s][dials][dialend]','ANSWER','answertime','[%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','cause-txt','complete','duration','diffTime','holdtime','endtime','billableseconds','lodash','util','./utils','info','uniqueid','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','debug','format','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','cdr(routeid)','split','varset','isNil','variable','outboundrouteid','value','error','dialbegin','[%s][dials][dialbegin]','assign','now','lastevent'];(function(_0x3ace8,_0x4bf514){var _0x4968d3=function(_0x2c7386){while(--_0x2c7386){_0x3ace8['push'](_0x3ace8['shift']());}};_0x4968d3(++_0x4bf514);}(_0x575f,0x192));var _0xf575=function(_0x2daf2c,_0x5c22de){_0x2daf2c=_0x2daf2c-0x0;var _0x47bbf2=_0x575f[_0x2daf2c];return _0x47bbf2;};'use strict';var _=require(_0xf575('0x0'));var util=require(_0xf575('0x1'));var utils=require(_0xf575('0x2'));var dials={};function writeDB(_0x562e3b){utils[_0xf575('0x3')](util['format']('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x562e3b[_0xf575('0x4')],_0x562e3b['channel'],_0x562e3b['dialstring'],_0x562e3b[_0xf575('0x5')],_0x562e3b[_0xf575('0x6')],_0x562e3b[_0xf575('0x7')]));utils[_0xf575('0x8')](_0xf575('0x9'),_0x562e3b);delete dials[_0x562e3b[_0xf575('0x4')]];}exports[_0xf575('0xa')]=function(_0xe6d4f){try{utils[_0xf575('0xb')](util[_0xf575('0xc')](_0xf575('0xd'),_0xe6d4f['uniqueid']),_0xe6d4f);utils[_0xf575('0x3')](util['format'](_0xf575('0xe'),_0xe6d4f[_0xf575('0x4')],_0xe6d4f[_0xf575('0xf')],_0xe6d4f[_0xf575('0x10')]));if(_0xe6d4f[_0xf575('0xf')]['toLowerCase']()=='set'&&_['startsWith'](_0xe6d4f[_0xf575('0x10')]['toLowerCase'](),_0xf575('0x11'))){var _0x8e35=_0xe6d4f['appdata'][_0xf575('0x12')]('=');dials[_0xe6d4f[_0xf575('0x4')]]={'routeId':_0x8e35[0x1]};}}catch(_0x23d0fa){utils['error'](util['format'](_0xf575('0xd'),_0xe6d4f[_0xf575('0x4')]),_0x23d0fa);}};exports[_0xf575('0x13')]=function(_0x1d2f3e){try{utils[_0xf575('0xb')](util[_0xf575('0xc')]('[%s][dials][varset]',_0x1d2f3e['uniqueid']),_0x1d2f3e);if(!_[_0xf575('0x14')](_0x1d2f3e[_0xf575('0x15')][_0xf575('0x16')])){utils[_0xf575('0x3')](util[_0xf575('0xc')]('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x1d2f3e['uniqueid'],_0x1d2f3e[_0xf575('0x17')]));dials[_0x1d2f3e[_0xf575('0x4')]]={'routeId':_0x1d2f3e[_0xf575('0x17')]};}}catch(_0x2b5c0b){utils[_0xf575('0x18')](util[_0xf575('0xc')]('[%s][dials][varset]',_0x1d2f3e['uniqueid']),_0x2b5c0b);}};exports[_0xf575('0x19')]=function(_0x58498b){try{if(!_['isNil'](dials[_0x58498b[_0xf575('0x4')]])){utils[_0xf575('0xb')](util[_0xf575('0xc')](_0xf575('0x1a'),_0x58498b[_0xf575('0x4')]),_0x58498b);dials[_0x58498b[_0xf575('0x4')]]=_[_0xf575('0x1b')](dials[_0x58498b[_0xf575('0x4')]],_0x58498b);dials[_0x58498b['uniqueid']]['starttime']=utils[_0xf575('0x1c')]();dials[_0x58498b[_0xf575('0x4')]][_0xf575('0x1d')]=_0xf575('0x1e');utils[_0xf575('0x3')](util['format'](_0xf575('0x1f'),_0x58498b['uniqueid'],dials[_0x58498b['uniqueid']][_0xf575('0x20')]));}}catch(_0x279b05){utils[_0xf575('0x18')](util[_0xf575('0xc')](_0xf575('0x1a'),_0x58498b[_0xf575('0x4')]),_0x279b05);}};exports['dialend']=function(_0x298361){try{if(!_[_0xf575('0x14')](dials[_0x298361['uniqueid']])){utils[_0xf575('0xb')](util[_0xf575('0xc')](_0xf575('0x21'),_0x298361[_0xf575('0x4')]),_0x298361);dials[_0x298361['uniqueid']][_0xf575('0x7')]=_0x298361['dialstatus'];if(_0x298361[_0xf575('0x7')]==_0xf575('0x22')){dials[_0x298361[_0xf575('0x4')]]=_[_0xf575('0x1b')](dials[_0x298361[_0xf575('0x4')]],_0x298361);dials[_0x298361[_0xf575('0x4')]][_0xf575('0x23')]=utils[_0xf575('0x1c')]();dials[_0x298361[_0xf575('0x4')]][_0xf575('0x1d')]='connect';utils[_0xf575('0x3')](util['format'](_0xf575('0x24'),_0x298361[_0xf575('0x4')],_0x298361[_0xf575('0x7')],dials[_0x298361[_0xf575('0x4')]][_0xf575('0x23')]));}else{utils[_0xf575('0x3')](util[_0xf575('0xc')](_0xf575('0x25'),_0x298361[_0xf575('0x4')],_0x298361[_0xf575('0x7')]));}}}catch(_0x150c24){utils[_0xf575('0x18')](util['format'](_0xf575('0x21'),_0x298361[_0xf575('0x4')]),_0x150c24);}};exports[_0xf575('0x26')]=function(_0x346d6d){try{if(!_[_0xf575('0x14')](dials[_0x346d6d[_0xf575('0x4')]])){utils[_0xf575('0xb')](util[_0xf575('0xc')](_0xf575('0x27'),_0x346d6d[_0xf575('0x4')]),_0x346d6d);utils[_0xf575('0x3')](util[_0xf575('0xc')](_0xf575('0x28'),_0x346d6d['uniqueid'],_0x346d6d['calleridnum'],_0x346d6d['calleridname'],_0x346d6d[_0xf575('0x29')]));dials[_0x346d6d[_0xf575('0x4')]]=_[_0xf575('0x1b')](dials[_0x346d6d[_0xf575('0x4')]],{'endtime':utils[_0xf575('0x1c')](),'lastevent':_0xf575('0x2a')});dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x2b')]=utils[_0xf575('0x2c')](dials[_0x346d6d[_0xf575('0x4')]]['endtime'],dials[_0x346d6d['uniqueid']][_0xf575('0x20')]);dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x2d')]=utils[_0xf575('0x2c')](dials[_0x346d6d['uniqueid']][_0xf575('0x23')]||dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x2e')],dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x20')]);dials[_0x346d6d['uniqueid']][_0xf575('0x2f')]=dials[_0x346d6d[_0xf575('0x4')]]['answertime']?utils[_0xf575('0x2c')](dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x2e')],dials[_0x346d6d[_0xf575('0x4')]][_0xf575('0x23')]):0x0;writeDB(dials[_0x346d6d[_0xf575('0x4')]]);}}catch(_0x3a4ee7){utils['error'](util[_0xf575('0xc')]('[%s][dials][hangup]',_0x346d6d[_0xf575('0x4')]),_0x3a4ee7);}};