Built motion from commit 616d3211.|2.6.4
[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 _0xcc4a=['CreateVoiceDialReport','uniqueid','debug','info','[%s][dials][newexten]\x20application:%s\x20appdata:%s','appdata','application','toLowerCase','set','startsWith','cdr(routeid)','error','varset','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][varset]','dialbegin','[%s][dials][dialbegin]','starttime','now','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','assign','answertime','lastevent','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','calleridname','cause-txt','complete','diffTime','endtime','billableseconds','lodash','util','./utils','format','calleridnum','connectedlinenum','dialstatus','request'];(function(_0x4e11e7,_0x42d0b6){var _0x1d7d39=function(_0x416030){while(--_0x416030){_0x4e11e7['push'](_0x4e11e7['shift']());}};_0x1d7d39(++_0x42d0b6);}(_0xcc4a,0xed));var _0xacc4=function(_0x91f90c,_0x2fd37a){_0x91f90c=_0x91f90c-0x0;var _0x1eee22=_0xcc4a[_0x91f90c];return _0x1eee22;};'use strict';var _=require(_0xacc4('0x0'));var util=require(_0xacc4('0x1'));var utils=require(_0xacc4('0x2'));var dials={};function writeDB(_0xcec5d9){utils['info'](util[_0xacc4('0x3')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0xcec5d9['uniqueid'],_0xcec5d9['channel'],_0xcec5d9['dialstring'],_0xcec5d9[_0xacc4('0x4')],_0xcec5d9[_0xacc4('0x5')],_0xcec5d9[_0xacc4('0x6')]));utils[_0xacc4('0x7')](_0xacc4('0x8'),_0xcec5d9);delete dials[_0xcec5d9[_0xacc4('0x9')]];}exports['newexten']=function(_0x3a48cc){try{utils[_0xacc4('0xa')](util[_0xacc4('0x3')]('[%s][dials][newexten]',_0x3a48cc[_0xacc4('0x9')]),_0x3a48cc);utils[_0xacc4('0xb')](util['format'](_0xacc4('0xc'),_0x3a48cc[_0xacc4('0x9')],_0x3a48cc['application'],_0x3a48cc[_0xacc4('0xd')]));if(_0x3a48cc[_0xacc4('0xe')][_0xacc4('0xf')]()==_0xacc4('0x10')&&_[_0xacc4('0x11')](_0x3a48cc[_0xacc4('0xd')][_0xacc4('0xf')](),_0xacc4('0x12'))){var _0xb30ca1=_0x3a48cc[_0xacc4('0xd')]['split']('=');dials[_0x3a48cc[_0xacc4('0x9')]]={'routeId':_0xb30ca1[0x1]};}}catch(_0x5308af){utils[_0xacc4('0x13')](util[_0xacc4('0x3')]('[%s][dials][newexten]',_0x3a48cc[_0xacc4('0x9')]),_0x5308af);}};exports[_0xacc4('0x14')]=function(_0x5dc2c9){try{utils[_0xacc4('0xa')](util[_0xacc4('0x3')]('[%s][dials][varset]',_0x5dc2c9[_0xacc4('0x9')]),_0x5dc2c9);if(!_[_0xacc4('0x15')](_0x5dc2c9[_0xacc4('0x16')][_0xacc4('0x17')])){utils[_0xacc4('0xb')](util[_0xacc4('0x3')](_0xacc4('0x18'),_0x5dc2c9[_0xacc4('0x9')],_0x5dc2c9['value']));dials[_0x5dc2c9[_0xacc4('0x9')]]={'routeId':_0x5dc2c9[_0xacc4('0x19')]};}}catch(_0x3d9895){utils[_0xacc4('0x13')](util[_0xacc4('0x3')](_0xacc4('0x1a'),_0x5dc2c9[_0xacc4('0x9')]),_0x3d9895);}};exports[_0xacc4('0x1b')]=function(_0x208195){try{if(!_[_0xacc4('0x15')](dials[_0x208195[_0xacc4('0x9')]])){utils[_0xacc4('0xa')](util[_0xacc4('0x3')](_0xacc4('0x1c'),_0x208195[_0xacc4('0x9')]),_0x208195);dials[_0x208195[_0xacc4('0x9')]]=_['assign'](dials[_0x208195[_0xacc4('0x9')]],_0x208195);dials[_0x208195[_0xacc4('0x9')]][_0xacc4('0x1d')]=utils[_0xacc4('0x1e')]();dials[_0x208195[_0xacc4('0x9')]]['lastevent']='called';utils[_0xacc4('0xb')](util[_0xacc4('0x3')](_0xacc4('0x1f'),_0x208195[_0xacc4('0x9')],dials[_0x208195['uniqueid']][_0xacc4('0x1d')]));}}catch(_0x3b11ab){utils[_0xacc4('0x13')](util[_0xacc4('0x3')](_0xacc4('0x1c'),_0x208195[_0xacc4('0x9')]),_0x3b11ab);}};exports[_0xacc4('0x20')]=function(_0x178b18){try{if(!_['isNil'](dials[_0x178b18[_0xacc4('0x9')]])){utils[_0xacc4('0xa')](util[_0xacc4('0x3')](_0xacc4('0x21'),_0x178b18[_0xacc4('0x9')]),_0x178b18);dials[_0x178b18[_0xacc4('0x9')]]['dialstatus']=_0x178b18['dialstatus'];if(_0x178b18[_0xacc4('0x6')]==_0xacc4('0x22')){dials[_0x178b18[_0xacc4('0x9')]]=_[_0xacc4('0x23')](dials[_0x178b18[_0xacc4('0x9')]],_0x178b18);dials[_0x178b18['uniqueid']][_0xacc4('0x24')]=utils[_0xacc4('0x1e')]();dials[_0x178b18[_0xacc4('0x9')]][_0xacc4('0x25')]=_0xacc4('0x26');utils[_0xacc4('0xb')](util['format'](_0xacc4('0x27'),_0x178b18[_0xacc4('0x9')],_0x178b18[_0xacc4('0x6')],dials[_0x178b18[_0xacc4('0x9')]][_0xacc4('0x24')]));}else{utils['info'](util['format'](_0xacc4('0x28'),_0x178b18[_0xacc4('0x9')],_0x178b18[_0xacc4('0x6')]));}}}catch(_0x4c2740){utils[_0xacc4('0x13')](util[_0xacc4('0x3')](_0xacc4('0x21'),_0x178b18[_0xacc4('0x9')]),_0x4c2740);}};exports[_0xacc4('0x29')]=function(_0x584001){try{if(!_['isNil'](dials[_0x584001[_0xacc4('0x9')]])){utils[_0xacc4('0xa')](util[_0xacc4('0x3')](_0xacc4('0x2a'),_0x584001[_0xacc4('0x9')]),_0x584001);utils[_0xacc4('0xb')](util[_0xacc4('0x3')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x584001['uniqueid'],_0x584001[_0xacc4('0x4')],_0x584001[_0xacc4('0x2b')],_0x584001[_0xacc4('0x2c')]));dials[_0x584001[_0xacc4('0x9')]]=_[_0xacc4('0x23')](dials[_0x584001['uniqueid']],{'endtime':utils[_0xacc4('0x1e')](),'lastevent':_0xacc4('0x2d')});dials[_0x584001[_0xacc4('0x9')]]['duration']=utils[_0xacc4('0x2e')](dials[_0x584001[_0xacc4('0x9')]]['endtime'],dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x1d')]);dials[_0x584001[_0xacc4('0x9')]]['holdtime']=utils[_0xacc4('0x2e')](dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x24')]||dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x2f')],dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x1d')]);dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x30')]=dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x24')]?utils[_0xacc4('0x2e')](dials[_0x584001[_0xacc4('0x9')]]['endtime'],dials[_0x584001[_0xacc4('0x9')]][_0xacc4('0x24')]):0x0;writeDB(dials[_0x584001[_0xacc4('0x9')]]);}}catch(_0x1f3172){utils['error'](util['format'](_0xacc4('0x2a'),_0x584001['uniqueid']),_0x1f3172);}};