88d7a4720b3a5dc6f89fff938926bcc990e4b610
[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 _0x1777=['appdata','toLowerCase','set','cdr(routeid)','split','error','varset','[%s][dials][varset]','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','assign','answertime','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridnum','calleridname','complete','duration','diffTime','endtime','billableseconds','lodash','util','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','dialstring','connectedlinenum','dialstatus','request','CreateVoiceDialReport','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application'];(function(_0x218c5a,_0x3cf1eb){var _0x11bddb=function(_0x160b0){while(--_0x160b0){_0x218c5a['push'](_0x218c5a['shift']());}};_0x11bddb(++_0x3cf1eb);}(_0x1777,0x181));var _0x7177=function(_0x550886,_0x229b44){_0x550886=_0x550886-0x0;var _0x250828=_0x1777[_0x550886];return _0x250828;};'use strict';var _=require(_0x7177('0x0'));var util=require(_0x7177('0x1'));var utils=require('./utils');var dials={};function writeDB(_0x573481){utils[_0x7177('0x2')](util[_0x7177('0x3')](_0x7177('0x4'),_0x573481[_0x7177('0x5')],_0x573481['channel'],_0x573481[_0x7177('0x6')],_0x573481['calleridnum'],_0x573481[_0x7177('0x7')],_0x573481[_0x7177('0x8')]));utils[_0x7177('0x9')](_0x7177('0xa'),_0x573481);delete dials[_0x573481[_0x7177('0x5')]];}exports['newexten']=function(_0xeb7cfe){try{utils[_0x7177('0xb')](util[_0x7177('0x3')](_0x7177('0xc'),_0xeb7cfe[_0x7177('0x5')]),_0xeb7cfe);utils[_0x7177('0x2')](util[_0x7177('0x3')](_0x7177('0xd'),_0xeb7cfe[_0x7177('0x5')],_0xeb7cfe[_0x7177('0xe')],_0xeb7cfe[_0x7177('0xf')]));if(_0xeb7cfe[_0x7177('0xe')][_0x7177('0x10')]()==_0x7177('0x11')&&_['startsWith'](_0xeb7cfe[_0x7177('0xf')]['toLowerCase'](),_0x7177('0x12'))){var _0x39dbd5=_0xeb7cfe[_0x7177('0xf')][_0x7177('0x13')]('=');dials[_0xeb7cfe[_0x7177('0x5')]]={'routeId':_0x39dbd5[0x1]};}}catch(_0x48b578){utils[_0x7177('0x14')](util[_0x7177('0x3')]('[%s][dials][newexten]',_0xeb7cfe[_0x7177('0x5')]),_0x48b578);}};exports[_0x7177('0x15')]=function(_0x4c5083){try{utils['debug'](util[_0x7177('0x3')](_0x7177('0x16'),_0x4c5083[_0x7177('0x5')]),_0x4c5083);if(!_[_0x7177('0x17')](_0x4c5083[_0x7177('0x18')][_0x7177('0x19')])){utils[_0x7177('0x2')](util[_0x7177('0x3')](_0x7177('0x1a'),_0x4c5083[_0x7177('0x5')],_0x4c5083[_0x7177('0x1b')]));dials[_0x4c5083['uniqueid']]={'routeId':_0x4c5083[_0x7177('0x1b')]};}}catch(_0x2a07f3){utils[_0x7177('0x14')](util[_0x7177('0x3')](_0x7177('0x16'),_0x4c5083[_0x7177('0x5')]),_0x2a07f3);}};exports[_0x7177('0x1c')]=function(_0xae15a6){try{if(!_['isNil'](dials[_0xae15a6[_0x7177('0x5')]])){utils[_0x7177('0xb')](util[_0x7177('0x3')]('[%s][dials][dialbegin]',_0xae15a6[_0x7177('0x5')]),_0xae15a6);dials[_0xae15a6[_0x7177('0x5')]]=_['assign'](dials[_0xae15a6['uniqueid']],_0xae15a6);dials[_0xae15a6[_0x7177('0x5')]][_0x7177('0x1d')]=utils[_0x7177('0x1e')]();dials[_0xae15a6[_0x7177('0x5')]][_0x7177('0x1f')]=_0x7177('0x20');utils['info'](util[_0x7177('0x3')](_0x7177('0x21'),_0xae15a6[_0x7177('0x5')],dials[_0xae15a6[_0x7177('0x5')]][_0x7177('0x1d')]));}}catch(_0x5176e4){utils[_0x7177('0x14')](util[_0x7177('0x3')]('[%s][dials][dialbegin]',_0xae15a6['uniqueid']),_0x5176e4);}};exports[_0x7177('0x22')]=function(_0x396b12){try{if(!_['isNil'](dials[_0x396b12[_0x7177('0x5')]])){utils[_0x7177('0xb')](util[_0x7177('0x3')](_0x7177('0x23'),_0x396b12[_0x7177('0x5')]),_0x396b12);dials[_0x396b12[_0x7177('0x5')]][_0x7177('0x8')]=_0x396b12['dialstatus'];if(_0x396b12[_0x7177('0x8')]==_0x7177('0x24')){dials[_0x396b12[_0x7177('0x5')]]=_[_0x7177('0x25')](dials[_0x396b12[_0x7177('0x5')]],_0x396b12);dials[_0x396b12[_0x7177('0x5')]][_0x7177('0x26')]=utils[_0x7177('0x1e')]();dials[_0x396b12[_0x7177('0x5')]][_0x7177('0x1f')]='connect';utils[_0x7177('0x2')](util[_0x7177('0x3')](_0x7177('0x27'),_0x396b12['uniqueid'],_0x396b12[_0x7177('0x8')],dials[_0x396b12['uniqueid']][_0x7177('0x26')]));}else{utils[_0x7177('0x2')](util[_0x7177('0x3')]('[%s][dials][dialend]\x20dialstatus:%s',_0x396b12[_0x7177('0x5')],_0x396b12[_0x7177('0x8')]));}}}catch(_0x325776){utils[_0x7177('0x14')](util[_0x7177('0x3')](_0x7177('0x23'),_0x396b12[_0x7177('0x5')]),_0x325776);}};exports[_0x7177('0x28')]=function(_0x293b01){try{if(!_['isNil'](dials[_0x293b01[_0x7177('0x5')]])){utils['debug'](util[_0x7177('0x3')](_0x7177('0x29'),_0x293b01[_0x7177('0x5')]),_0x293b01);utils[_0x7177('0x2')](util[_0x7177('0x3')](_0x7177('0x2a'),_0x293b01[_0x7177('0x5')],_0x293b01[_0x7177('0x2b')],_0x293b01[_0x7177('0x2c')],_0x293b01['cause-txt']));dials[_0x293b01[_0x7177('0x5')]]=_[_0x7177('0x25')](dials[_0x293b01[_0x7177('0x5')]],{'endtime':utils[_0x7177('0x1e')](),'lastevent':_0x7177('0x2d')});dials[_0x293b01[_0x7177('0x5')]][_0x7177('0x2e')]=utils[_0x7177('0x2f')](dials[_0x293b01['uniqueid']][_0x7177('0x30')],dials[_0x293b01[_0x7177('0x5')]]['starttime']);dials[_0x293b01['uniqueid']]['holdtime']=utils[_0x7177('0x2f')](dials[_0x293b01[_0x7177('0x5')]][_0x7177('0x26')]||dials[_0x293b01[_0x7177('0x5')]][_0x7177('0x30')],dials[_0x293b01[_0x7177('0x5')]][_0x7177('0x1d')]);dials[_0x293b01['uniqueid']][_0x7177('0x31')]=dials[_0x293b01['uniqueid']][_0x7177('0x26')]?utils[_0x7177('0x2f')](dials[_0x293b01['uniqueid']][_0x7177('0x30')],dials[_0x293b01[_0x7177('0x5')]][_0x7177('0x26')]):0x0;writeDB(dials[_0x293b01['uniqueid']]);}}catch(_0x826ed8){utils[_0x7177('0x14')](util[_0x7177('0x3')]('[%s][dials][hangup]',_0x293b01['uniqueid']),_0x826ed8);}};