Built motion from commit 9d7072cc.|2.5.39
[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 _0xfa31=['duration','diffTime','endtime','holdtime','billableseconds','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','debug','format','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','split','isNil','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','[%s][dials][varset]','[%s][dials][dialbegin]','assign','starttime','lastevent','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','error','dialend','ANSWER','answertime','now','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','calleridname','cause-txt','complete'];(function(_0x18bb74,_0xad9285){var _0x4eceac=function(_0x48b74a){while(--_0x48b74a){_0x18bb74['push'](_0x18bb74['shift']());}};_0x4eceac(++_0xad9285);}(_0xfa31,0x67));var _0x1fa3=function(_0x355515,_0x52573e){_0x355515=_0x355515-0x0;var _0x1d829c=_0xfa31[_0x355515];return _0x1d829c;};'use strict';var _=require('lodash');var util=require(_0x1fa3('0x0'));var utils=require(_0x1fa3('0x1'));var dials={};function writeDB(_0x26b847){utils[_0x1fa3('0x2')](util['format'](_0x1fa3('0x3'),_0x26b847[_0x1fa3('0x4')],_0x26b847[_0x1fa3('0x5')],_0x26b847[_0x1fa3('0x6')],_0x26b847[_0x1fa3('0x7')],_0x26b847[_0x1fa3('0x8')],_0x26b847[_0x1fa3('0x9')]));utils[_0x1fa3('0xa')](_0x1fa3('0xb'),_0x26b847);delete dials[_0x26b847['uniqueid']];}exports['newexten']=function(_0x173191){try{utils[_0x1fa3('0xc')](util[_0x1fa3('0xd')](_0x1fa3('0xe'),_0x173191['uniqueid']),_0x173191);utils[_0x1fa3('0x2')](util['format'](_0x1fa3('0xf'),_0x173191[_0x1fa3('0x4')],_0x173191[_0x1fa3('0x10')],_0x173191[_0x1fa3('0x11')]));if(_0x173191['application'][_0x1fa3('0x12')]()==_0x1fa3('0x13')&&_[_0x1fa3('0x14')](_0x173191[_0x1fa3('0x11')][_0x1fa3('0x12')](),_0x1fa3('0x15'))){var _0x3015d1=_0x173191[_0x1fa3('0x11')][_0x1fa3('0x16')]('=');dials[_0x173191[_0x1fa3('0x4')]]={'routeId':_0x3015d1[0x1]};}}catch(_0x1fd7a2){utils['error'](util[_0x1fa3('0xd')](_0x1fa3('0xe'),_0x173191[_0x1fa3('0x4')]),_0x1fd7a2);}};exports['varset']=function(_0x145ae0){try{utils['debug'](util['format']('[%s][dials][varset]',_0x145ae0[_0x1fa3('0x4')]),_0x145ae0);if(!_[_0x1fa3('0x17')](_0x145ae0['variable']['outboundrouteid'])){utils['info'](util[_0x1fa3('0xd')](_0x1fa3('0x18'),_0x145ae0[_0x1fa3('0x4')],_0x145ae0['value']));dials[_0x145ae0[_0x1fa3('0x4')]]={'routeId':_0x145ae0['value']};}}catch(_0x3a1de1){utils['error'](util['format'](_0x1fa3('0x19'),_0x145ae0['uniqueid']),_0x3a1de1);}};exports['dialbegin']=function(_0x4482cb){try{if(!_[_0x1fa3('0x17')](dials[_0x4482cb['uniqueid']])){utils[_0x1fa3('0xc')](util[_0x1fa3('0xd')](_0x1fa3('0x1a'),_0x4482cb[_0x1fa3('0x4')]),_0x4482cb);dials[_0x4482cb['uniqueid']]=_[_0x1fa3('0x1b')](dials[_0x4482cb['uniqueid']],_0x4482cb);dials[_0x4482cb[_0x1fa3('0x4')]][_0x1fa3('0x1c')]=utils['now']();dials[_0x4482cb[_0x1fa3('0x4')]][_0x1fa3('0x1d')]='called';utils[_0x1fa3('0x2')](util[_0x1fa3('0xd')](_0x1fa3('0x1e'),_0x4482cb[_0x1fa3('0x4')],dials[_0x4482cb[_0x1fa3('0x4')]]['starttime']));}}catch(_0x3a9008){utils[_0x1fa3('0x1f')](util[_0x1fa3('0xd')](_0x1fa3('0x1a'),_0x4482cb[_0x1fa3('0x4')]),_0x3a9008);}};exports[_0x1fa3('0x20')]=function(_0x2bfadc){try{if(!_[_0x1fa3('0x17')](dials[_0x2bfadc[_0x1fa3('0x4')]])){utils[_0x1fa3('0xc')](util['format']('[%s][dials][dialend]',_0x2bfadc[_0x1fa3('0x4')]),_0x2bfadc);dials[_0x2bfadc[_0x1fa3('0x4')]]['dialstatus']=_0x2bfadc[_0x1fa3('0x9')];if(_0x2bfadc[_0x1fa3('0x9')]==_0x1fa3('0x21')){dials[_0x2bfadc[_0x1fa3('0x4')]]=_[_0x1fa3('0x1b')](dials[_0x2bfadc[_0x1fa3('0x4')]],_0x2bfadc);dials[_0x2bfadc['uniqueid']][_0x1fa3('0x22')]=utils[_0x1fa3('0x23')]();dials[_0x2bfadc[_0x1fa3('0x4')]][_0x1fa3('0x1d')]=_0x1fa3('0x24');utils['info'](util[_0x1fa3('0xd')](_0x1fa3('0x25'),_0x2bfadc[_0x1fa3('0x4')],_0x2bfadc[_0x1fa3('0x9')],dials[_0x2bfadc['uniqueid']][_0x1fa3('0x22')]));}else{utils[_0x1fa3('0x2')](util[_0x1fa3('0xd')](_0x1fa3('0x26'),_0x2bfadc[_0x1fa3('0x4')],_0x2bfadc[_0x1fa3('0x9')]));}}}catch(_0x1aa694){utils[_0x1fa3('0x1f')](util[_0x1fa3('0xd')]('[%s][dials][dialend]',_0x2bfadc[_0x1fa3('0x4')]),_0x1aa694);}};exports[_0x1fa3('0x27')]=function(_0x231a18){try{if(!_[_0x1fa3('0x17')](dials[_0x231a18[_0x1fa3('0x4')]])){utils['debug'](util[_0x1fa3('0xd')](_0x1fa3('0x28'),_0x231a18[_0x1fa3('0x4')]),_0x231a18);utils[_0x1fa3('0x2')](util[_0x1fa3('0xd')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x231a18['uniqueid'],_0x231a18[_0x1fa3('0x7')],_0x231a18[_0x1fa3('0x29')],_0x231a18[_0x1fa3('0x2a')]));dials[_0x231a18[_0x1fa3('0x4')]]=_[_0x1fa3('0x1b')](dials[_0x231a18[_0x1fa3('0x4')]],{'endtime':utils[_0x1fa3('0x23')](),'lastevent':_0x1fa3('0x2b')});dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x2c')]=utils[_0x1fa3('0x2d')](dials[_0x231a18['uniqueid']][_0x1fa3('0x2e')],dials[_0x231a18['uniqueid']][_0x1fa3('0x1c')]);dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x2f')]=utils[_0x1fa3('0x2d')](dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x22')]||dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x2e')],dials[_0x231a18[_0x1fa3('0x4')]]['starttime']);dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x30')]=dials[_0x231a18['uniqueid']]['answertime']?utils[_0x1fa3('0x2d')](dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x2e')],dials[_0x231a18[_0x1fa3('0x4')]][_0x1fa3('0x22')]):0x0;writeDB(dials[_0x231a18['uniqueid']]);}}catch(_0x21ceb0){utils[_0x1fa3('0x1f')](util[_0x1fa3('0xd')](_0x1fa3('0x28'),_0x231a18[_0x1fa3('0x4')]),_0x21ceb0);}};