Built motion from commit (unavailable).|2.5.17
[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 _0xcfbc=['outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][varset]','dialbegin','assign','starttime','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialbegin]','dialend','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','now','complete','duration','diffTime','holdtime','endtime','billableseconds','lodash','util','./utils','info','channel','calleridnum','connectedlinenum','dialstatus','CreateVoiceDialReport','uniqueid','newexten','debug','format','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','set','startsWith','appdata','toLowerCase','cdr(routeid)','split','error','[%s][dials][newexten]','isNil'];(function(_0x1034ca,_0x14ecd6){var _0x1a023a=function(_0x2cfa65){while(--_0x2cfa65){_0x1034ca['push'](_0x1034ca['shift']());}};_0x1a023a(++_0x14ecd6);}(_0xcfbc,0x170));var _0xccfb=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xcfbc[_0x321bb2];return _0x9c12ed;};'use strict';var _=require(_0xccfb('0x0'));var util=require(_0xccfb('0x1'));var utils=require(_0xccfb('0x2'));var dials={};function writeDB(_0x53d340){utils[_0xccfb('0x3')](util['format']('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x53d340['uniqueid'],_0x53d340[_0xccfb('0x4')],_0x53d340['dialstring'],_0x53d340[_0xccfb('0x5')],_0x53d340[_0xccfb('0x6')],_0x53d340[_0xccfb('0x7')]));utils['request'](_0xccfb('0x8'),_0x53d340);delete dials[_0x53d340[_0xccfb('0x9')]];}exports[_0xccfb('0xa')]=function(_0x246b92){try{utils[_0xccfb('0xb')](util[_0xccfb('0xc')]('[%s][dials][newexten]',_0x246b92[_0xccfb('0x9')]),_0x246b92);utils['info'](util[_0xccfb('0xc')](_0xccfb('0xd'),_0x246b92[_0xccfb('0x9')],_0x246b92[_0xccfb('0xe')],_0x246b92['appdata']));if(_0x246b92[_0xccfb('0xe')]['toLowerCase']()==_0xccfb('0xf')&&_[_0xccfb('0x10')](_0x246b92[_0xccfb('0x11')][_0xccfb('0x12')](),_0xccfb('0x13'))){var _0x57e666=_0x246b92['appdata'][_0xccfb('0x14')]('=');dials[_0x246b92['uniqueid']]={'routeId':_0x57e666[0x1]};}}catch(_0x4f3ae4){utils[_0xccfb('0x15')](util[_0xccfb('0xc')](_0xccfb('0x16'),_0x246b92[_0xccfb('0x9')]),_0x4f3ae4);}};exports['varset']=function(_0x21f613){try{utils['debug'](util['format']('[%s][dials][varset]',_0x21f613['uniqueid']),_0x21f613);if(!_[_0xccfb('0x17')](_0x21f613['variable'][_0xccfb('0x18')])){utils[_0xccfb('0x3')](util[_0xccfb('0xc')](_0xccfb('0x19'),_0x21f613[_0xccfb('0x9')],_0x21f613[_0xccfb('0x1a')]));dials[_0x21f613[_0xccfb('0x9')]]={'routeId':_0x21f613[_0xccfb('0x1a')]};}}catch(_0x4ecaae){utils[_0xccfb('0x15')](util['format'](_0xccfb('0x1b'),_0x21f613['uniqueid']),_0x4ecaae);}};exports[_0xccfb('0x1c')]=function(_0x2084ac){try{if(!_[_0xccfb('0x17')](dials[_0x2084ac[_0xccfb('0x9')]])){utils[_0xccfb('0xb')](util[_0xccfb('0xc')]('[%s][dials][dialbegin]',_0x2084ac[_0xccfb('0x9')]),_0x2084ac);dials[_0x2084ac[_0xccfb('0x9')]]=_[_0xccfb('0x1d')](dials[_0x2084ac[_0xccfb('0x9')]],_0x2084ac);dials[_0x2084ac[_0xccfb('0x9')]][_0xccfb('0x1e')]=utils['now']();dials[_0x2084ac[_0xccfb('0x9')]][_0xccfb('0x1f')]=_0xccfb('0x20');utils[_0xccfb('0x3')](util[_0xccfb('0xc')](_0xccfb('0x21'),_0x2084ac[_0xccfb('0x9')],dials[_0x2084ac[_0xccfb('0x9')]]['starttime']));}}catch(_0x14b770){utils[_0xccfb('0x15')](util[_0xccfb('0xc')](_0xccfb('0x22'),_0x2084ac[_0xccfb('0x9')]),_0x14b770);}};exports[_0xccfb('0x23')]=function(_0x14b25f){try{if(!_['isNil'](dials[_0x14b25f['uniqueid']])){utils[_0xccfb('0xb')](util[_0xccfb('0xc')]('[%s][dials][dialend]',_0x14b25f['uniqueid']),_0x14b25f);dials[_0x14b25f[_0xccfb('0x9')]]['dialstatus']=_0x14b25f[_0xccfb('0x7')];if(_0x14b25f['dialstatus']=='ANSWER'){dials[_0x14b25f[_0xccfb('0x9')]]=_[_0xccfb('0x1d')](dials[_0x14b25f[_0xccfb('0x9')]],_0x14b25f);dials[_0x14b25f[_0xccfb('0x9')]][_0xccfb('0x24')]=utils['now']();dials[_0x14b25f[_0xccfb('0x9')]][_0xccfb('0x1f')]=_0xccfb('0x25');utils[_0xccfb('0x3')](util[_0xccfb('0xc')](_0xccfb('0x26'),_0x14b25f[_0xccfb('0x9')],_0x14b25f['dialstatus'],dials[_0x14b25f[_0xccfb('0x9')]][_0xccfb('0x24')]));}else{utils['info'](util[_0xccfb('0xc')](_0xccfb('0x27'),_0x14b25f['uniqueid'],_0x14b25f[_0xccfb('0x7')]));}}}catch(_0x45c965){utils[_0xccfb('0x15')](util['format']('[%s][dials][dialend]',_0x14b25f[_0xccfb('0x9')]),_0x45c965);}};exports[_0xccfb('0x28')]=function(_0x2ef7d8){try{if(!_[_0xccfb('0x17')](dials[_0x2ef7d8['uniqueid']])){utils['debug'](util[_0xccfb('0xc')](_0xccfb('0x29'),_0x2ef7d8[_0xccfb('0x9')]),_0x2ef7d8);utils[_0xccfb('0x3')](util[_0xccfb('0xc')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x2ef7d8[_0xccfb('0x9')],_0x2ef7d8[_0xccfb('0x5')],_0x2ef7d8['calleridname'],_0x2ef7d8['cause-txt']));dials[_0x2ef7d8[_0xccfb('0x9')]]=_[_0xccfb('0x1d')](dials[_0x2ef7d8[_0xccfb('0x9')]],{'endtime':utils[_0xccfb('0x2a')](),'lastevent':_0xccfb('0x2b')});dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x2c')]=utils[_0xccfb('0x2d')](dials[_0x2ef7d8[_0xccfb('0x9')]]['endtime'],dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x1e')]);dials[_0x2ef7d8['uniqueid']][_0xccfb('0x2e')]=utils[_0xccfb('0x2d')](dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x24')]||dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x2f')],dials[_0x2ef7d8['uniqueid']][_0xccfb('0x1e')]);dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x30')]=dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x24')]?utils['diffTime'](dials[_0x2ef7d8['uniqueid']]['endtime'],dials[_0x2ef7d8[_0xccfb('0x9')]][_0xccfb('0x24')]):0x0;writeDB(dials[_0x2ef7d8['uniqueid']]);}}catch(_0x1e5385){utils[_0xccfb('0x15')](util[_0xccfb('0xc')](_0xccfb('0x29'),_0x2ef7d8[_0xccfb('0x9')]),_0x1e5385);}};