Built motion from commit 85328c08.|2.5.50
[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 _0xad1c=['error','[%s][dials][varset]','dialbegin','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialbegin]','dialend','ANSWER','answertime','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]','[%s][dials][hangup]','calleridname','cause-txt','assign','duration','diffTime','endtime','holdtime','billableseconds','util','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','dialstatus','request','CreateVoiceDialReport','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','split','varset','isNil','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0xad1c,0x107));var _0xcad1=function(_0x5416db,_0x55683a){_0x5416db=_0x5416db-0x0;var _0x243e35=_0xad1c[_0x5416db];return _0x243e35;};'use strict';var _=require('lodash');var util=require(_0xcad1('0x0'));var utils=require('./utils');var dials={};function writeDB(_0x2f4bf1){utils[_0xcad1('0x1')](util[_0xcad1('0x2')](_0xcad1('0x3'),_0x2f4bf1[_0xcad1('0x4')],_0x2f4bf1[_0xcad1('0x5')],_0x2f4bf1[_0xcad1('0x6')],_0x2f4bf1[_0xcad1('0x7')],_0x2f4bf1['connectedlinenum'],_0x2f4bf1[_0xcad1('0x8')]));utils[_0xcad1('0x9')](_0xcad1('0xa'),_0x2f4bf1);delete dials[_0x2f4bf1[_0xcad1('0x4')]];}exports['newexten']=function(_0x57650a){try{utils[_0xcad1('0xb')](util[_0xcad1('0x2')](_0xcad1('0xc'),_0x57650a[_0xcad1('0x4')]),_0x57650a);utils[_0xcad1('0x1')](util[_0xcad1('0x2')](_0xcad1('0xd'),_0x57650a[_0xcad1('0x4')],_0x57650a[_0xcad1('0xe')],_0x57650a[_0xcad1('0xf')]));if(_0x57650a[_0xcad1('0xe')][_0xcad1('0x10')]()==_0xcad1('0x11')&&_[_0xcad1('0x12')](_0x57650a['appdata']['toLowerCase'](),_0xcad1('0x13'))){var _0x1bc538=_0x57650a['appdata'][_0xcad1('0x14')]('=');dials[_0x57650a[_0xcad1('0x4')]]={'routeId':_0x1bc538[0x1]};}}catch(_0x6a54ed){utils['error'](util[_0xcad1('0x2')](_0xcad1('0xc'),_0x57650a['uniqueid']),_0x6a54ed);}};exports[_0xcad1('0x15')]=function(_0x4e10cb){try{utils[_0xcad1('0xb')](util['format']('[%s][dials][varset]',_0x4e10cb['uniqueid']),_0x4e10cb);if(!_[_0xcad1('0x16')](_0x4e10cb['variable']['outboundrouteid'])){utils[_0xcad1('0x1')](util[_0xcad1('0x2')](_0xcad1('0x17'),_0x4e10cb[_0xcad1('0x4')],_0x4e10cb['value']));dials[_0x4e10cb[_0xcad1('0x4')]]={'routeId':_0x4e10cb[_0xcad1('0x18')]};}}catch(_0x3e17fe){utils[_0xcad1('0x19')](util[_0xcad1('0x2')](_0xcad1('0x1a'),_0x4e10cb[_0xcad1('0x4')]),_0x3e17fe);}};exports[_0xcad1('0x1b')]=function(_0x3863ea){try{if(!_[_0xcad1('0x16')](dials[_0x3863ea[_0xcad1('0x4')]])){utils[_0xcad1('0xb')](util[_0xcad1('0x2')]('[%s][dials][dialbegin]',_0x3863ea[_0xcad1('0x4')]),_0x3863ea);dials[_0x3863ea[_0xcad1('0x4')]]=_['assign'](dials[_0x3863ea['uniqueid']],_0x3863ea);dials[_0x3863ea['uniqueid']][_0xcad1('0x1c')]=utils[_0xcad1('0x1d')]();dials[_0x3863ea[_0xcad1('0x4')]][_0xcad1('0x1e')]=_0xcad1('0x1f');utils['info'](util['format'](_0xcad1('0x20'),_0x3863ea['uniqueid'],dials[_0x3863ea[_0xcad1('0x4')]]['starttime']));}}catch(_0x4f5c39){utils[_0xcad1('0x19')](util['format'](_0xcad1('0x21'),_0x3863ea[_0xcad1('0x4')]),_0x4f5c39);}};exports[_0xcad1('0x22')]=function(_0x53af03){try{if(!_['isNil'](dials[_0x53af03[_0xcad1('0x4')]])){utils[_0xcad1('0xb')](util[_0xcad1('0x2')]('[%s][dials][dialend]',_0x53af03[_0xcad1('0x4')]),_0x53af03);dials[_0x53af03[_0xcad1('0x4')]][_0xcad1('0x8')]=_0x53af03['dialstatus'];if(_0x53af03[_0xcad1('0x8')]==_0xcad1('0x23')){dials[_0x53af03['uniqueid']]=_['assign'](dials[_0x53af03[_0xcad1('0x4')]],_0x53af03);dials[_0x53af03[_0xcad1('0x4')]]['answertime']=utils[_0xcad1('0x1d')]();dials[_0x53af03[_0xcad1('0x4')]]['lastevent']='connect';utils[_0xcad1('0x1')](util[_0xcad1('0x2')]('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x53af03[_0xcad1('0x4')],_0x53af03['dialstatus'],dials[_0x53af03[_0xcad1('0x4')]][_0xcad1('0x24')]));}else{utils[_0xcad1('0x1')](util['format'](_0xcad1('0x25'),_0x53af03[_0xcad1('0x4')],_0x53af03[_0xcad1('0x8')]));}}}catch(_0x11a5be){utils[_0xcad1('0x19')](util[_0xcad1('0x2')](_0xcad1('0x26'),_0x53af03[_0xcad1('0x4')]),_0x11a5be);}};exports['hangup']=function(_0x9fa67){try{if(!_[_0xcad1('0x16')](dials[_0x9fa67['uniqueid']])){utils[_0xcad1('0xb')](util[_0xcad1('0x2')](_0xcad1('0x27'),_0x9fa67[_0xcad1('0x4')]),_0x9fa67);utils[_0xcad1('0x1')](util[_0xcad1('0x2')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x9fa67[_0xcad1('0x4')],_0x9fa67[_0xcad1('0x7')],_0x9fa67[_0xcad1('0x28')],_0x9fa67[_0xcad1('0x29')]));dials[_0x9fa67['uniqueid']]=_[_0xcad1('0x2a')](dials[_0x9fa67[_0xcad1('0x4')]],{'endtime':utils[_0xcad1('0x1d')](),'lastevent':'complete'});dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x2b')]=utils[_0xcad1('0x2c')](dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x2d')],dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x1c')]);dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x2e')]=utils[_0xcad1('0x2c')](dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x24')]||dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x2d')],dials[_0x9fa67[_0xcad1('0x4')]]['starttime']);dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x2f')]=dials[_0x9fa67[_0xcad1('0x4')]]['answertime']?utils[_0xcad1('0x2c')](dials[_0x9fa67[_0xcad1('0x4')]]['endtime'],dials[_0x9fa67[_0xcad1('0x4')]][_0xcad1('0x24')]):0x0;writeDB(dials[_0x9fa67[_0xcad1('0x4')]]);}}catch(_0x382a3c){utils[_0xcad1('0x19')](util[_0xcad1('0x2')](_0xcad1('0x27'),_0x9fa67[_0xcad1('0x4')]),_0x382a3c);}};