Built motion from commit 4ffc18b1.|2.6.31
[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 _0x202f=['newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','appdata','split','error','varset','isNil','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][varset]','dialbegin','starttime','now','lastevent','called','[%s][dials][dialbegin]','dialend','ANSWER','assign','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','cause-txt','complete','duration','endtime','holdtime','billableseconds','util','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','calleridnum','connectedlinenum','dialstatus','request'];(function(_0x53afe9,_0x2c9f40){var _0x396396=function(_0x1f574d){while(--_0x1f574d){_0x53afe9['push'](_0x53afe9['shift']());}};_0x396396(++_0x2c9f40);}(_0x202f,0xb9));var _0xf202=function(_0x2a555c,_0x3c7a65){_0x2a555c=_0x2a555c-0x0;var _0x46e481=_0x202f[_0x2a555c];return _0x46e481;};'use strict';var _=require('lodash');var util=require(_0xf202('0x0'));var utils=require(_0xf202('0x1'));var dials={};function writeDB(_0x1f92f1){utils[_0xf202('0x2')](util[_0xf202('0x3')](_0xf202('0x4'),_0x1f92f1[_0xf202('0x5')],_0x1f92f1[_0xf202('0x6')],_0x1f92f1['dialstring'],_0x1f92f1[_0xf202('0x7')],_0x1f92f1[_0xf202('0x8')],_0x1f92f1[_0xf202('0x9')]));utils[_0xf202('0xa')]('CreateVoiceDialReport',_0x1f92f1);delete dials[_0x1f92f1[_0xf202('0x5')]];}exports[_0xf202('0xb')]=function(_0x4c501d){try{utils[_0xf202('0xc')](util['format'](_0xf202('0xd'),_0x4c501d[_0xf202('0x5')]),_0x4c501d);utils[_0xf202('0x2')](util[_0xf202('0x3')](_0xf202('0xe'),_0x4c501d['uniqueid'],_0x4c501d['application'],_0x4c501d['appdata']));if(_0x4c501d[_0xf202('0xf')][_0xf202('0x10')]()==_0xf202('0x11')&&_['startsWith'](_0x4c501d[_0xf202('0x12')]['toLowerCase'](),'cdr(routeid)')){var _0x384913=_0x4c501d[_0xf202('0x12')][_0xf202('0x13')]('=');dials[_0x4c501d[_0xf202('0x5')]]={'routeId':_0x384913[0x1]};}}catch(_0x54c529){utils[_0xf202('0x14')](util[_0xf202('0x3')]('[%s][dials][newexten]',_0x4c501d[_0xf202('0x5')]),_0x54c529);}};exports[_0xf202('0x15')]=function(_0x1c08f9){try{utils[_0xf202('0xc')](util[_0xf202('0x3')]('[%s][dials][varset]',_0x1c08f9[_0xf202('0x5')]),_0x1c08f9);if(!_[_0xf202('0x16')](_0x1c08f9['variable'][_0xf202('0x17')])){utils[_0xf202('0x2')](util[_0xf202('0x3')](_0xf202('0x18'),_0x1c08f9['uniqueid'],_0x1c08f9[_0xf202('0x19')]));dials[_0x1c08f9[_0xf202('0x5')]]={'routeId':_0x1c08f9['value']};}}catch(_0x5b8378){utils[_0xf202('0x14')](util[_0xf202('0x3')](_0xf202('0x1a'),_0x1c08f9['uniqueid']),_0x5b8378);}};exports[_0xf202('0x1b')]=function(_0x14f394){try{if(!_[_0xf202('0x16')](dials[_0x14f394[_0xf202('0x5')]])){utils[_0xf202('0xc')](util[_0xf202('0x3')]('[%s][dials][dialbegin]',_0x14f394[_0xf202('0x5')]),_0x14f394);dials[_0x14f394[_0xf202('0x5')]]=_['assign'](dials[_0x14f394[_0xf202('0x5')]],_0x14f394);dials[_0x14f394[_0xf202('0x5')]][_0xf202('0x1c')]=utils[_0xf202('0x1d')]();dials[_0x14f394['uniqueid']][_0xf202('0x1e')]=_0xf202('0x1f');utils[_0xf202('0x2')](util[_0xf202('0x3')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0x14f394['uniqueid'],dials[_0x14f394[_0xf202('0x5')]]['starttime']));}}catch(_0x4f64a5){utils[_0xf202('0x14')](util[_0xf202('0x3')](_0xf202('0x20'),_0x14f394[_0xf202('0x5')]),_0x4f64a5);}};exports[_0xf202('0x21')]=function(_0x1d1da8){try{if(!_['isNil'](dials[_0x1d1da8[_0xf202('0x5')]])){utils[_0xf202('0xc')](util[_0xf202('0x3')]('[%s][dials][dialend]',_0x1d1da8[_0xf202('0x5')]),_0x1d1da8);dials[_0x1d1da8[_0xf202('0x5')]]['dialstatus']=_0x1d1da8['dialstatus'];if(_0x1d1da8[_0xf202('0x9')]==_0xf202('0x22')){dials[_0x1d1da8['uniqueid']]=_[_0xf202('0x23')](dials[_0x1d1da8[_0xf202('0x5')]],_0x1d1da8);dials[_0x1d1da8[_0xf202('0x5')]][_0xf202('0x24')]=utils[_0xf202('0x1d')]();dials[_0x1d1da8['uniqueid']]['lastevent']=_0xf202('0x25');utils['info'](util[_0xf202('0x3')](_0xf202('0x26'),_0x1d1da8['uniqueid'],_0x1d1da8['dialstatus'],dials[_0x1d1da8[_0xf202('0x5')]][_0xf202('0x24')]));}else{utils['info'](util['format'](_0xf202('0x27'),_0x1d1da8[_0xf202('0x5')],_0x1d1da8['dialstatus']));}}}catch(_0x1f2497){utils[_0xf202('0x14')](util[_0xf202('0x3')](_0xf202('0x28'),_0x1d1da8['uniqueid']),_0x1f2497);}};exports['hangup']=function(_0x4e5029){try{if(!_[_0xf202('0x16')](dials[_0x4e5029['uniqueid']])){utils[_0xf202('0xc')](util[_0xf202('0x3')](_0xf202('0x29'),_0x4e5029[_0xf202('0x5')]),_0x4e5029);utils[_0xf202('0x2')](util['format'](_0xf202('0x2a'),_0x4e5029['uniqueid'],_0x4e5029[_0xf202('0x7')],_0x4e5029['calleridname'],_0x4e5029[_0xf202('0x2b')]));dials[_0x4e5029[_0xf202('0x5')]]=_[_0xf202('0x23')](dials[_0x4e5029[_0xf202('0x5')]],{'endtime':utils[_0xf202('0x1d')](),'lastevent':_0xf202('0x2c')});dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x2d')]=utils['diffTime'](dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x2e')],dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x1c')]);dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x2f')]=utils['diffTime'](dials[_0x4e5029['uniqueid']][_0xf202('0x24')]||dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x2e')],dials[_0x4e5029[_0xf202('0x5')]]['starttime']);dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x30')]=dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x24')]?utils['diffTime'](dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x2e')],dials[_0x4e5029[_0xf202('0x5')]][_0xf202('0x24')]):0x0;writeDB(dials[_0x4e5029['uniqueid']]);}}catch(_0x1bbdf5){utils['error'](util[_0xf202('0x3')](_0xf202('0x29'),_0x4e5029[_0xf202('0x5')]),_0x1bbdf5);}};