9affcf92a77ec627b61865a6ca63a8955f2f5eac
[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 _0x6512=['debug','[%s][dials][newexten]','application','appdata','set','startsWith','toLowerCase','cdr(routeid)','split','error','varset','[%s][dials][varset]','variable','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','isNil','ANSWER','assign','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','duration','diffTime','endtime','holdtime','billableseconds','lodash','util','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten'];(function(_0x248805,_0x4d8c4a){var _0x243b1c=function(_0xaa370e){while(--_0xaa370e){_0x248805['push'](_0x248805['shift']());}};_0x243b1c(++_0x4d8c4a);}(_0x6512,0x1f1));var _0x2651=function(_0x240736,_0x2fe946){_0x240736=_0x240736-0x0;var _0x3a191f=_0x6512[_0x240736];return _0x3a191f;};'use strict';var _=require(_0x2651('0x0'));var util=require(_0x2651('0x1'));var utils=require('./utils');var dials={};function writeDB(_0x4d0ce4){utils[_0x2651('0x2')](util[_0x2651('0x3')](_0x2651('0x4'),_0x4d0ce4['uniqueid'],_0x4d0ce4['channel'],_0x4d0ce4[_0x2651('0x5')],_0x4d0ce4[_0x2651('0x6')],_0x4d0ce4[_0x2651('0x7')],_0x4d0ce4[_0x2651('0x8')]));utils[_0x2651('0x9')](_0x2651('0xa'),_0x4d0ce4);delete dials[_0x4d0ce4[_0x2651('0xb')]];}exports[_0x2651('0xc')]=function(_0xe74d46){try{utils[_0x2651('0xd')](util['format'](_0x2651('0xe'),_0xe74d46[_0x2651('0xb')]),_0xe74d46);utils['info'](util[_0x2651('0x3')]('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0xe74d46[_0x2651('0xb')],_0xe74d46[_0x2651('0xf')],_0xe74d46[_0x2651('0x10')]));if(_0xe74d46[_0x2651('0xf')]['toLowerCase']()==_0x2651('0x11')&&_[_0x2651('0x12')](_0xe74d46[_0x2651('0x10')][_0x2651('0x13')](),_0x2651('0x14'))){var _0xd046fa=_0xe74d46[_0x2651('0x10')][_0x2651('0x15')]('=');dials[_0xe74d46[_0x2651('0xb')]]={'routeId':_0xd046fa[0x1]};}}catch(_0x24921f){utils[_0x2651('0x16')](util[_0x2651('0x3')](_0x2651('0xe'),_0xe74d46['uniqueid']),_0x24921f);}};exports[_0x2651('0x17')]=function(_0x1adf62){try{utils[_0x2651('0xd')](util[_0x2651('0x3')](_0x2651('0x18'),_0x1adf62[_0x2651('0xb')]),_0x1adf62);if(!_['isNil'](_0x1adf62[_0x2651('0x19')]['outboundrouteid'])){utils['info'](util[_0x2651('0x3')](_0x2651('0x1a'),_0x1adf62[_0x2651('0xb')],_0x1adf62[_0x2651('0x1b')]));dials[_0x1adf62['uniqueid']]={'routeId':_0x1adf62['value']};}}catch(_0x16cba0){utils['error'](util[_0x2651('0x3')]('[%s][dials][varset]',_0x1adf62[_0x2651('0xb')]),_0x16cba0);}};exports[_0x2651('0x1c')]=function(_0xd6c934){try{if(!_['isNil'](dials[_0xd6c934['uniqueid']])){utils['debug'](util[_0x2651('0x3')](_0x2651('0x1d'),_0xd6c934[_0x2651('0xb')]),_0xd6c934);dials[_0xd6c934[_0x2651('0xb')]]=_['assign'](dials[_0xd6c934[_0x2651('0xb')]],_0xd6c934);dials[_0xd6c934['uniqueid']][_0x2651('0x1e')]=utils[_0x2651('0x1f')]();dials[_0xd6c934[_0x2651('0xb')]][_0x2651('0x20')]=_0x2651('0x21');utils[_0x2651('0x2')](util[_0x2651('0x3')](_0x2651('0x22'),_0xd6c934[_0x2651('0xb')],dials[_0xd6c934[_0x2651('0xb')]]['starttime']));}}catch(_0x24736c){utils[_0x2651('0x16')](util[_0x2651('0x3')]('[%s][dials][dialbegin]',_0xd6c934[_0x2651('0xb')]),_0x24736c);}};exports[_0x2651('0x23')]=function(_0x1c74be){try{if(!_[_0x2651('0x24')](dials[_0x1c74be[_0x2651('0xb')]])){utils['debug'](util[_0x2651('0x3')]('[%s][dials][dialend]',_0x1c74be[_0x2651('0xb')]),_0x1c74be);dials[_0x1c74be[_0x2651('0xb')]][_0x2651('0x8')]=_0x1c74be['dialstatus'];if(_0x1c74be[_0x2651('0x8')]==_0x2651('0x25')){dials[_0x1c74be[_0x2651('0xb')]]=_[_0x2651('0x26')](dials[_0x1c74be['uniqueid']],_0x1c74be);dials[_0x1c74be[_0x2651('0xb')]][_0x2651('0x27')]=utils[_0x2651('0x1f')]();dials[_0x1c74be[_0x2651('0xb')]][_0x2651('0x20')]=_0x2651('0x28');utils['info'](util['format']('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x1c74be[_0x2651('0xb')],_0x1c74be['dialstatus'],dials[_0x1c74be[_0x2651('0xb')]]['answertime']));}else{utils['info'](util['format'](_0x2651('0x29'),_0x1c74be[_0x2651('0xb')],_0x1c74be['dialstatus']));}}}catch(_0x490cb3){utils[_0x2651('0x16')](util[_0x2651('0x3')](_0x2651('0x2a'),_0x1c74be[_0x2651('0xb')]),_0x490cb3);}};exports[_0x2651('0x2b')]=function(_0x5d3445){try{if(!_[_0x2651('0x24')](dials[_0x5d3445[_0x2651('0xb')]])){utils[_0x2651('0xd')](util['format'](_0x2651('0x2c'),_0x5d3445['uniqueid']),_0x5d3445);utils[_0x2651('0x2')](util[_0x2651('0x3')](_0x2651('0x2d'),_0x5d3445[_0x2651('0xb')],_0x5d3445['calleridnum'],_0x5d3445['calleridname'],_0x5d3445['cause-txt']));dials[_0x5d3445[_0x2651('0xb')]]=_[_0x2651('0x26')](dials[_0x5d3445[_0x2651('0xb')]],{'endtime':utils[_0x2651('0x1f')](),'lastevent':'complete'});dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x2e')]=utils[_0x2651('0x2f')](dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x30')],dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x1e')]);dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x31')]=utils['diffTime'](dials[_0x5d3445[_0x2651('0xb')]]['answertime']||dials[_0x5d3445['uniqueid']][_0x2651('0x30')],dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x1e')]);dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x32')]=dials[_0x5d3445[_0x2651('0xb')]]['answertime']?utils[_0x2651('0x2f')](dials[_0x5d3445[_0x2651('0xb')]][_0x2651('0x30')],dials[_0x5d3445['uniqueid']][_0x2651('0x27')]):0x0;writeDB(dials[_0x5d3445[_0x2651('0xb')]]);}}catch(_0x121aaa){utils['error'](util[_0x2651('0x3')](_0x2651('0x2c'),_0x5d3445['uniqueid']),_0x121aaa);}};