Built motion from commit 449495f6.|2.6.27
[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 _0xab3e=['variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','isNil','[%s][dials][dialbegin]','assign','starttime','lastevent','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','now','complete','duration','diffTime','endtime','holdtime','billableseconds','lodash','util','./utils','info','format','uniqueid','channel','calleridnum','connectedlinenum','dialstatus','request','newexten','debug','[%s][dials][newexten]\x20application:%s\x20appdata:%s','appdata','application','set','toLowerCase','split','error','varset','[%s][dials][varset]'];(function(_0x2eb161,_0x3a845a){var _0x6f28e8=function(_0xac9f00){while(--_0xac9f00){_0x2eb161['push'](_0x2eb161['shift']());}};_0x6f28e8(++_0x3a845a);}(_0xab3e,0xb6));var _0xeab3=function(_0xb09173,_0x4878d9){_0xb09173=_0xb09173-0x0;var _0x110122=_0xab3e[_0xb09173];return _0x110122;};'use strict';var _=require(_0xeab3('0x0'));var util=require(_0xeab3('0x1'));var utils=require(_0xeab3('0x2'));var dials={};function writeDB(_0x4509f9){utils[_0xeab3('0x3')](util[_0xeab3('0x4')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x4509f9[_0xeab3('0x5')],_0x4509f9[_0xeab3('0x6')],_0x4509f9['dialstring'],_0x4509f9[_0xeab3('0x7')],_0x4509f9[_0xeab3('0x8')],_0x4509f9[_0xeab3('0x9')]));utils[_0xeab3('0xa')]('CreateVoiceDialReport',_0x4509f9);delete dials[_0x4509f9[_0xeab3('0x5')]];}exports[_0xeab3('0xb')]=function(_0x1e319c){try{utils[_0xeab3('0xc')](util[_0xeab3('0x4')]('[%s][dials][newexten]',_0x1e319c[_0xeab3('0x5')]),_0x1e319c);utils['info'](util[_0xeab3('0x4')](_0xeab3('0xd'),_0x1e319c[_0xeab3('0x5')],_0x1e319c['application'],_0x1e319c[_0xeab3('0xe')]));if(_0x1e319c[_0xeab3('0xf')]['toLowerCase']()==_0xeab3('0x10')&&_['startsWith'](_0x1e319c['appdata'][_0xeab3('0x11')](),'cdr(routeid)')){var _0x1306a4=_0x1e319c['appdata'][_0xeab3('0x12')]('=');dials[_0x1e319c['uniqueid']]={'routeId':_0x1306a4[0x1]};}}catch(_0x15a317){utils[_0xeab3('0x13')](util[_0xeab3('0x4')]('[%s][dials][newexten]',_0x1e319c[_0xeab3('0x5')]),_0x15a317);}};exports[_0xeab3('0x14')]=function(_0x9a140b){try{utils[_0xeab3('0xc')](util[_0xeab3('0x4')](_0xeab3('0x15'),_0x9a140b['uniqueid']),_0x9a140b);if(!_['isNil'](_0x9a140b[_0xeab3('0x16')][_0xeab3('0x17')])){utils['info'](util[_0xeab3('0x4')](_0xeab3('0x18'),_0x9a140b[_0xeab3('0x5')],_0x9a140b[_0xeab3('0x19')]));dials[_0x9a140b['uniqueid']]={'routeId':_0x9a140b['value']};}}catch(_0x5b2135){utils['error'](util['format'](_0xeab3('0x15'),_0x9a140b[_0xeab3('0x5')]),_0x5b2135);}};exports[_0xeab3('0x1a')]=function(_0x1871ff){try{if(!_[_0xeab3('0x1b')](dials[_0x1871ff[_0xeab3('0x5')]])){utils[_0xeab3('0xc')](util[_0xeab3('0x4')](_0xeab3('0x1c'),_0x1871ff[_0xeab3('0x5')]),_0x1871ff);dials[_0x1871ff[_0xeab3('0x5')]]=_[_0xeab3('0x1d')](dials[_0x1871ff['uniqueid']],_0x1871ff);dials[_0x1871ff[_0xeab3('0x5')]][_0xeab3('0x1e')]=utils['now']();dials[_0x1871ff[_0xeab3('0x5')]][_0xeab3('0x1f')]='called';utils[_0xeab3('0x3')](util[_0xeab3('0x4')](_0xeab3('0x20'),_0x1871ff[_0xeab3('0x5')],dials[_0x1871ff[_0xeab3('0x5')]][_0xeab3('0x1e')]));}}catch(_0x321183){utils['error'](util[_0xeab3('0x4')](_0xeab3('0x1c'),_0x1871ff[_0xeab3('0x5')]),_0x321183);}};exports[_0xeab3('0x21')]=function(_0x16d323){try{if(!_[_0xeab3('0x1b')](dials[_0x16d323['uniqueid']])){utils[_0xeab3('0xc')](util[_0xeab3('0x4')](_0xeab3('0x22'),_0x16d323[_0xeab3('0x5')]),_0x16d323);dials[_0x16d323[_0xeab3('0x5')]][_0xeab3('0x9')]=_0x16d323[_0xeab3('0x9')];if(_0x16d323[_0xeab3('0x9')]=='ANSWER'){dials[_0x16d323[_0xeab3('0x5')]]=_[_0xeab3('0x1d')](dials[_0x16d323[_0xeab3('0x5')]],_0x16d323);dials[_0x16d323[_0xeab3('0x5')]]['answertime']=utils['now']();dials[_0x16d323[_0xeab3('0x5')]][_0xeab3('0x1f')]=_0xeab3('0x23');utils[_0xeab3('0x3')](util['format'](_0xeab3('0x24'),_0x16d323['uniqueid'],_0x16d323[_0xeab3('0x9')],dials[_0x16d323[_0xeab3('0x5')]][_0xeab3('0x25')]));}else{utils['info'](util[_0xeab3('0x4')](_0xeab3('0x26'),_0x16d323['uniqueid'],_0x16d323[_0xeab3('0x9')]));}}}catch(_0x1d9537){utils[_0xeab3('0x13')](util['format'](_0xeab3('0x22'),_0x16d323[_0xeab3('0x5')]),_0x1d9537);}};exports[_0xeab3('0x27')]=function(_0x45f5de){try{if(!_[_0xeab3('0x1b')](dials[_0x45f5de[_0xeab3('0x5')]])){utils[_0xeab3('0xc')](util[_0xeab3('0x4')](_0xeab3('0x28'),_0x45f5de['uniqueid']),_0x45f5de);utils[_0xeab3('0x3')](util[_0xeab3('0x4')](_0xeab3('0x29'),_0x45f5de[_0xeab3('0x5')],_0x45f5de['calleridnum'],_0x45f5de[_0xeab3('0x2a')],_0x45f5de[_0xeab3('0x2b')]));dials[_0x45f5de[_0xeab3('0x5')]]=_[_0xeab3('0x1d')](dials[_0x45f5de[_0xeab3('0x5')]],{'endtime':utils[_0xeab3('0x2c')](),'lastevent':_0xeab3('0x2d')});dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x2e')]=utils[_0xeab3('0x2f')](dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x30')],dials[_0x45f5de['uniqueid']][_0xeab3('0x1e')]);dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x31')]=utils[_0xeab3('0x2f')](dials[_0x45f5de['uniqueid']][_0xeab3('0x25')]||dials[_0x45f5de[_0xeab3('0x5')]]['endtime'],dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x1e')]);dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x32')]=dials[_0x45f5de[_0xeab3('0x5')]]['answertime']?utils['diffTime'](dials[_0x45f5de[_0xeab3('0x5')]]['endtime'],dials[_0x45f5de[_0xeab3('0x5')]][_0xeab3('0x25')]):0x0;writeDB(dials[_0x45f5de['uniqueid']]);}}catch(_0x117bf3){utils[_0xeab3('0x13')](util[_0xeab3('0x4')](_0xeab3('0x28'),_0x45f5de['uniqueid']),_0x117bf3);}};