Built motion from commit (unavailable).|2.5.1
[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 _0xb149=['CreateVoiceDialReport','newexten','format','info','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','startsWith','cdr(routeid)','error','[%s][dials][newexten]','varset','debug','[%s][dials][varset]','isNil','variable','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','calleridname','complete','duration','diffTime','endtime','holdtime','billableseconds','lodash','util','./utils','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request'];(function(_0x23ba9b,_0x2fd1e3){var _0x1b620e=function(_0x5f3127){while(--_0x5f3127){_0x23ba9b['push'](_0x23ba9b['shift']());}};_0x1b620e(++_0x2fd1e3);}(_0xb149,0xfe));var _0x9b14=function(_0x462545,_0x3c0f1b){_0x462545=_0x462545-0x0;var _0x680d51=_0xb149[_0x462545];return _0x680d51;};'use strict';var _=require(_0x9b14('0x0'));var util=require(_0x9b14('0x1'));var utils=require(_0x9b14('0x2'));var dials={};function writeDB(_0x151c9e){utils['info'](util['format'](_0x9b14('0x3'),_0x151c9e[_0x9b14('0x4')],_0x151c9e[_0x9b14('0x5')],_0x151c9e[_0x9b14('0x6')],_0x151c9e[_0x9b14('0x7')],_0x151c9e[_0x9b14('0x8')],_0x151c9e[_0x9b14('0x9')]));utils[_0x9b14('0xa')](_0x9b14('0xb'),_0x151c9e);delete dials[_0x151c9e[_0x9b14('0x4')]];}exports[_0x9b14('0xc')]=function(_0x485e8e){try{utils['debug'](util[_0x9b14('0xd')]('[%s][dials][newexten]',_0x485e8e[_0x9b14('0x4')]),_0x485e8e);utils[_0x9b14('0xe')](util[_0x9b14('0xd')](_0x9b14('0xf'),_0x485e8e[_0x9b14('0x4')],_0x485e8e[_0x9b14('0x10')],_0x485e8e[_0x9b14('0x11')]));if(_0x485e8e[_0x9b14('0x10')][_0x9b14('0x12')]()=='set'&&_[_0x9b14('0x13')](_0x485e8e[_0x9b14('0x11')][_0x9b14('0x12')](),_0x9b14('0x14'))){var _0x54af2a=_0x485e8e[_0x9b14('0x11')]['split']('=');dials[_0x485e8e[_0x9b14('0x4')]]={'routeId':_0x54af2a[0x1]};}}catch(_0x214955){utils[_0x9b14('0x15')](util['format'](_0x9b14('0x16'),_0x485e8e[_0x9b14('0x4')]),_0x214955);}};exports[_0x9b14('0x17')]=function(_0x32d100){try{utils[_0x9b14('0x18')](util[_0x9b14('0xd')](_0x9b14('0x19'),_0x32d100[_0x9b14('0x4')]),_0x32d100);if(!_[_0x9b14('0x1a')](_0x32d100[_0x9b14('0x1b')]['outboundrouteid'])){utils[_0x9b14('0xe')](util['format']('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x32d100[_0x9b14('0x4')],_0x32d100[_0x9b14('0x1c')]));dials[_0x32d100[_0x9b14('0x4')]]={'routeId':_0x32d100['value']};}}catch(_0x1495c7){utils['error'](util['format'](_0x9b14('0x19'),_0x32d100['uniqueid']),_0x1495c7);}};exports[_0x9b14('0x1d')]=function(_0x1d3c20){try{if(!_[_0x9b14('0x1a')](dials[_0x1d3c20['uniqueid']])){utils[_0x9b14('0x18')](util['format'](_0x9b14('0x1e'),_0x1d3c20['uniqueid']),_0x1d3c20);dials[_0x1d3c20[_0x9b14('0x4')]]=_[_0x9b14('0x1f')](dials[_0x1d3c20[_0x9b14('0x4')]],_0x1d3c20);dials[_0x1d3c20['uniqueid']][_0x9b14('0x20')]=utils[_0x9b14('0x21')]();dials[_0x1d3c20['uniqueid']][_0x9b14('0x22')]=_0x9b14('0x23');utils[_0x9b14('0xe')](util[_0x9b14('0xd')](_0x9b14('0x24'),_0x1d3c20[_0x9b14('0x4')],dials[_0x1d3c20['uniqueid']]['starttime']));}}catch(_0x134042){utils['error'](util['format'](_0x9b14('0x1e'),_0x1d3c20[_0x9b14('0x4')]),_0x134042);}};exports[_0x9b14('0x25')]=function(_0x5d085e){try{if(!_[_0x9b14('0x1a')](dials[_0x5d085e['uniqueid']])){utils[_0x9b14('0x18')](util['format'](_0x9b14('0x26'),_0x5d085e[_0x9b14('0x4')]),_0x5d085e);dials[_0x5d085e[_0x9b14('0x4')]][_0x9b14('0x9')]=_0x5d085e['dialstatus'];if(_0x5d085e['dialstatus']==_0x9b14('0x27')){dials[_0x5d085e['uniqueid']]=_[_0x9b14('0x1f')](dials[_0x5d085e['uniqueid']],_0x5d085e);dials[_0x5d085e[_0x9b14('0x4')]]['answertime']=utils[_0x9b14('0x21')]();dials[_0x5d085e['uniqueid']][_0x9b14('0x22')]=_0x9b14('0x28');utils['info'](util[_0x9b14('0xd')](_0x9b14('0x29'),_0x5d085e['uniqueid'],_0x5d085e[_0x9b14('0x9')],dials[_0x5d085e[_0x9b14('0x4')]][_0x9b14('0x2a')]));}else{utils[_0x9b14('0xe')](util['format'](_0x9b14('0x2b'),_0x5d085e[_0x9b14('0x4')],_0x5d085e['dialstatus']));}}}catch(_0xd9bfd7){utils['error'](util[_0x9b14('0xd')](_0x9b14('0x26'),_0x5d085e[_0x9b14('0x4')]),_0xd9bfd7);}};exports[_0x9b14('0x2c')]=function(_0x3cf8b7){try{if(!_[_0x9b14('0x1a')](dials[_0x3cf8b7['uniqueid']])){utils[_0x9b14('0x18')](util['format'](_0x9b14('0x2d'),_0x3cf8b7[_0x9b14('0x4')]),_0x3cf8b7);utils[_0x9b14('0xe')](util[_0x9b14('0xd')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x3cf8b7['uniqueid'],_0x3cf8b7['calleridnum'],_0x3cf8b7[_0x9b14('0x2e')],_0x3cf8b7['cause-txt']));dials[_0x3cf8b7[_0x9b14('0x4')]]=_['assign'](dials[_0x3cf8b7[_0x9b14('0x4')]],{'endtime':utils['now'](),'lastevent':_0x9b14('0x2f')});dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x30')]=utils[_0x9b14('0x31')](dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x32')],dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x20')]);dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x33')]=utils[_0x9b14('0x31')](dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x2a')]||dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x32')],dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x20')]);dials[_0x3cf8b7['uniqueid']][_0x9b14('0x34')]=dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x2a')]?utils['diffTime'](dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x32')],dials[_0x3cf8b7[_0x9b14('0x4')]][_0x9b14('0x2a')]):0x0;writeDB(dials[_0x3cf8b7[_0x9b14('0x4')]]);}}catch(_0x3454f3){utils[_0x9b14('0x15')](util['format'](_0x9b14('0x2d'),_0x3cf8b7[_0x9b14('0x4')]),_0x3454f3);}};