1d3dd50b5f9e100357397494b12d042982d9d96a
[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 _0xca53=['set','startsWith','appdata','cdr(routeid)','split','error','[%s][dials][newexten]','varset','debug','isNil','variable','outboundrouteid','info','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','dialstatus','ANSWER','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','duration','diffTime','endtime','holdtime','billableseconds','util','./utils','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','calleridnum','connectedlinenum','CreateVoiceDialReport','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase'];(function(_0x5d96d7,_0x13e6dd){var _0x3435c3=function(_0x3296e4){while(--_0x3296e4){_0x5d96d7['push'](_0x5d96d7['shift']());}};_0x3435c3(++_0x13e6dd);}(_0xca53,0x160));var _0x3ca5=function(_0x18e914,_0x15fdbb){_0x18e914=_0x18e914-0x0;var _0xfcad1=_0xca53[_0x18e914];return _0xfcad1;};'use strict';var _=require('lodash');var util=require(_0x3ca5('0x0'));var utils=require(_0x3ca5('0x1'));var dials={};function writeDB(_0x2ff74a){utils['info'](util[_0x3ca5('0x2')](_0x3ca5('0x3'),_0x2ff74a[_0x3ca5('0x4')],_0x2ff74a[_0x3ca5('0x5')],_0x2ff74a['dialstring'],_0x2ff74a[_0x3ca5('0x6')],_0x2ff74a[_0x3ca5('0x7')],_0x2ff74a['dialstatus']));utils['request'](_0x3ca5('0x8'),_0x2ff74a);delete dials[_0x2ff74a[_0x3ca5('0x4')]];}exports['newexten']=function(_0x3d1f3c){try{utils['debug'](util[_0x3ca5('0x2')]('[%s][dials][newexten]',_0x3d1f3c[_0x3ca5('0x4')]),_0x3d1f3c);utils['info'](util[_0x3ca5('0x2')](_0x3ca5('0x9'),_0x3d1f3c['uniqueid'],_0x3d1f3c[_0x3ca5('0xa')],_0x3d1f3c['appdata']));if(_0x3d1f3c['application'][_0x3ca5('0xb')]()==_0x3ca5('0xc')&&_[_0x3ca5('0xd')](_0x3d1f3c[_0x3ca5('0xe')]['toLowerCase'](),_0x3ca5('0xf'))){var _0x395eb2=_0x3d1f3c['appdata'][_0x3ca5('0x10')]('=');dials[_0x3d1f3c[_0x3ca5('0x4')]]={'routeId':_0x395eb2[0x1]};}}catch(_0x2d0b08){utils[_0x3ca5('0x11')](util[_0x3ca5('0x2')](_0x3ca5('0x12'),_0x3d1f3c[_0x3ca5('0x4')]),_0x2d0b08);}};exports[_0x3ca5('0x13')]=function(_0x3ecb3e){try{utils[_0x3ca5('0x14')](util[_0x3ca5('0x2')]('[%s][dials][varset]',_0x3ecb3e[_0x3ca5('0x4')]),_0x3ecb3e);if(!_[_0x3ca5('0x15')](_0x3ecb3e[_0x3ca5('0x16')][_0x3ca5('0x17')])){utils[_0x3ca5('0x18')](util['format'](_0x3ca5('0x19'),_0x3ecb3e['uniqueid'],_0x3ecb3e[_0x3ca5('0x1a')]));dials[_0x3ecb3e['uniqueid']]={'routeId':_0x3ecb3e[_0x3ca5('0x1a')]};}}catch(_0x8cee0b){utils[_0x3ca5('0x11')](util[_0x3ca5('0x2')]('[%s][dials][varset]',_0x3ecb3e[_0x3ca5('0x4')]),_0x8cee0b);}};exports[_0x3ca5('0x1b')]=function(_0x84071b){try{if(!_[_0x3ca5('0x15')](dials[_0x84071b[_0x3ca5('0x4')]])){utils[_0x3ca5('0x14')](util[_0x3ca5('0x2')](_0x3ca5('0x1c'),_0x84071b[_0x3ca5('0x4')]),_0x84071b);dials[_0x84071b['uniqueid']]=_[_0x3ca5('0x1d')](dials[_0x84071b[_0x3ca5('0x4')]],_0x84071b);dials[_0x84071b[_0x3ca5('0x4')]][_0x3ca5('0x1e')]=utils[_0x3ca5('0x1f')]();dials[_0x84071b['uniqueid']][_0x3ca5('0x20')]=_0x3ca5('0x21');utils[_0x3ca5('0x18')](util[_0x3ca5('0x2')](_0x3ca5('0x22'),_0x84071b['uniqueid'],dials[_0x84071b[_0x3ca5('0x4')]][_0x3ca5('0x1e')]));}}catch(_0x12c77a){utils['error'](util['format'](_0x3ca5('0x1c'),_0x84071b[_0x3ca5('0x4')]),_0x12c77a);}};exports[_0x3ca5('0x23')]=function(_0x260694){try{if(!_[_0x3ca5('0x15')](dials[_0x260694[_0x3ca5('0x4')]])){utils[_0x3ca5('0x14')](util[_0x3ca5('0x2')]('[%s][dials][dialend]',_0x260694[_0x3ca5('0x4')]),_0x260694);dials[_0x260694['uniqueid']][_0x3ca5('0x24')]=_0x260694[_0x3ca5('0x24')];if(_0x260694['dialstatus']==_0x3ca5('0x25')){dials[_0x260694[_0x3ca5('0x4')]]=_[_0x3ca5('0x1d')](dials[_0x260694['uniqueid']],_0x260694);dials[_0x260694[_0x3ca5('0x4')]][_0x3ca5('0x26')]=utils['now']();dials[_0x260694[_0x3ca5('0x4')]][_0x3ca5('0x20')]=_0x3ca5('0x27');utils[_0x3ca5('0x18')](util[_0x3ca5('0x2')](_0x3ca5('0x28'),_0x260694[_0x3ca5('0x4')],_0x260694[_0x3ca5('0x24')],dials[_0x260694[_0x3ca5('0x4')]][_0x3ca5('0x26')]));}else{utils[_0x3ca5('0x18')](util[_0x3ca5('0x2')](_0x3ca5('0x29'),_0x260694[_0x3ca5('0x4')],_0x260694['dialstatus']));}}}catch(_0x4ef835){utils[_0x3ca5('0x11')](util['format'](_0x3ca5('0x2a'),_0x260694[_0x3ca5('0x4')]),_0x4ef835);}};exports[_0x3ca5('0x2b')]=function(_0x23fe5a){try{if(!_[_0x3ca5('0x15')](dials[_0x23fe5a[_0x3ca5('0x4')]])){utils[_0x3ca5('0x14')](util[_0x3ca5('0x2')](_0x3ca5('0x2c'),_0x23fe5a[_0x3ca5('0x4')]),_0x23fe5a);utils['info'](util[_0x3ca5('0x2')](_0x3ca5('0x2d'),_0x23fe5a['uniqueid'],_0x23fe5a[_0x3ca5('0x6')],_0x23fe5a[_0x3ca5('0x2e')],_0x23fe5a['cause-txt']));dials[_0x23fe5a[_0x3ca5('0x4')]]=_[_0x3ca5('0x1d')](dials[_0x23fe5a[_0x3ca5('0x4')]],{'endtime':utils[_0x3ca5('0x1f')](),'lastevent':'complete'});dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x2f')]=utils[_0x3ca5('0x30')](dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x31')],dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x1e')]);dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x32')]=utils[_0x3ca5('0x30')](dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x26')]||dials[_0x23fe5a['uniqueid']][_0x3ca5('0x31')],dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x1e')]);dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x33')]=dials[_0x23fe5a[_0x3ca5('0x4')]][_0x3ca5('0x26')]?utils[_0x3ca5('0x30')](dials[_0x23fe5a[_0x3ca5('0x4')]]['endtime'],dials[_0x23fe5a[_0x3ca5('0x4')]]['answertime']):0x0;writeDB(dials[_0x23fe5a[_0x3ca5('0x4')]]);}}catch(_0x437a0a){utils[_0x3ca5('0x11')](util['format'](_0x3ca5('0x2c'),_0x23fe5a[_0x3ca5('0x4')]),_0x437a0a);}};