Built motion from commit (unavailable).|2.5.13
[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 _0x892c=['assign','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','calleridnum','calleridname','cause-txt','duration','diffTime','endtime','holdtime','util','./utils','info','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','connectedlinenum','CreateVoiceDialReport','newexten','debug','format','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','error','varset','[%s][dials][varset]','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','dialbegin','isNil','[%s][dials][dialbegin]','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','dialstatus','ANSWER'];(function(_0xc923,_0x3c0d55){var _0x2ff917=function(_0x1f5fbc){while(--_0x1f5fbc){_0xc923['push'](_0xc923['shift']());}};_0x2ff917(++_0x3c0d55);}(_0x892c,0x10d));var _0xc892=function(_0x25e109,_0x6ab24c){_0x25e109=_0x25e109-0x0;var _0xc0f7d6=_0x892c[_0x25e109];return _0xc0f7d6;};'use strict';var _=require('lodash');var util=require(_0xc892('0x0'));var utils=require(_0xc892('0x1'));var dials={};function writeDB(_0x4de454){utils[_0xc892('0x2')](util['format'](_0xc892('0x3'),_0x4de454[_0xc892('0x4')],_0x4de454[_0xc892('0x5')],_0x4de454[_0xc892('0x6')],_0x4de454['calleridnum'],_0x4de454[_0xc892('0x7')],_0x4de454['dialstatus']));utils['request'](_0xc892('0x8'),_0x4de454);delete dials[_0x4de454[_0xc892('0x4')]];}exports[_0xc892('0x9')]=function(_0x10390c){try{utils[_0xc892('0xa')](util[_0xc892('0xb')](_0xc892('0xc'),_0x10390c[_0xc892('0x4')]),_0x10390c);utils['info'](util[_0xc892('0xb')](_0xc892('0xd'),_0x10390c[_0xc892('0x4')],_0x10390c[_0xc892('0xe')],_0x10390c[_0xc892('0xf')]));if(_0x10390c[_0xc892('0xe')][_0xc892('0x10')]()==_0xc892('0x11')&&_[_0xc892('0x12')](_0x10390c[_0xc892('0xf')][_0xc892('0x10')](),_0xc892('0x13'))){var _0x1010ae=_0x10390c['appdata']['split']('=');dials[_0x10390c[_0xc892('0x4')]]={'routeId':_0x1010ae[0x1]};}}catch(_0x5ca9bd){utils[_0xc892('0x14')](util[_0xc892('0xb')](_0xc892('0xc'),_0x10390c[_0xc892('0x4')]),_0x5ca9bd);}};exports[_0xc892('0x15')]=function(_0x13349f){try{utils[_0xc892('0xa')](util[_0xc892('0xb')](_0xc892('0x16'),_0x13349f['uniqueid']),_0x13349f);if(!_['isNil'](_0x13349f[_0xc892('0x17')][_0xc892('0x18')])){utils[_0xc892('0x2')](util['format'](_0xc892('0x19'),_0x13349f[_0xc892('0x4')],_0x13349f['value']));dials[_0x13349f[_0xc892('0x4')]]={'routeId':_0x13349f['value']};}}catch(_0x40568d){utils[_0xc892('0x14')](util[_0xc892('0xb')](_0xc892('0x16'),_0x13349f[_0xc892('0x4')]),_0x40568d);}};exports[_0xc892('0x1a')]=function(_0x4d1785){try{if(!_[_0xc892('0x1b')](dials[_0x4d1785['uniqueid']])){utils[_0xc892('0xa')](util[_0xc892('0xb')](_0xc892('0x1c'),_0x4d1785['uniqueid']),_0x4d1785);dials[_0x4d1785['uniqueid']]=_['assign'](dials[_0x4d1785[_0xc892('0x4')]],_0x4d1785);dials[_0x4d1785['uniqueid']][_0xc892('0x1d')]=utils[_0xc892('0x1e')]();dials[_0x4d1785[_0xc892('0x4')]][_0xc892('0x1f')]=_0xc892('0x20');utils['info'](util[_0xc892('0xb')](_0xc892('0x21'),_0x4d1785[_0xc892('0x4')],dials[_0x4d1785['uniqueid']][_0xc892('0x1d')]));}}catch(_0x2a3291){utils[_0xc892('0x14')](util[_0xc892('0xb')]('[%s][dials][dialbegin]',_0x4d1785[_0xc892('0x4')]),_0x2a3291);}};exports[_0xc892('0x22')]=function(_0x5d813f){try{if(!_[_0xc892('0x1b')](dials[_0x5d813f[_0xc892('0x4')]])){utils[_0xc892('0xa')](util[_0xc892('0xb')]('[%s][dials][dialend]',_0x5d813f[_0xc892('0x4')]),_0x5d813f);dials[_0x5d813f['uniqueid']][_0xc892('0x23')]=_0x5d813f[_0xc892('0x23')];if(_0x5d813f[_0xc892('0x23')]==_0xc892('0x24')){dials[_0x5d813f[_0xc892('0x4')]]=_[_0xc892('0x25')](dials[_0x5d813f[_0xc892('0x4')]],_0x5d813f);dials[_0x5d813f[_0xc892('0x4')]][_0xc892('0x26')]=utils[_0xc892('0x1e')]();dials[_0x5d813f[_0xc892('0x4')]]['lastevent']=_0xc892('0x27');utils[_0xc892('0x2')](util[_0xc892('0xb')](_0xc892('0x28'),_0x5d813f['uniqueid'],_0x5d813f[_0xc892('0x23')],dials[_0x5d813f[_0xc892('0x4')]]['answertime']));}else{utils[_0xc892('0x2')](util['format'](_0xc892('0x29'),_0x5d813f['uniqueid'],_0x5d813f[_0xc892('0x23')]));}}}catch(_0x45a095){utils[_0xc892('0x14')](util[_0xc892('0xb')]('[%s][dials][dialend]',_0x5d813f[_0xc892('0x4')]),_0x45a095);}};exports[_0xc892('0x2a')]=function(_0x55148a){try{if(!_[_0xc892('0x1b')](dials[_0x55148a['uniqueid']])){utils[_0xc892('0xa')](util[_0xc892('0xb')](_0xc892('0x2b'),_0x55148a[_0xc892('0x4')]),_0x55148a);utils[_0xc892('0x2')](util[_0xc892('0xb')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x55148a['uniqueid'],_0x55148a[_0xc892('0x2c')],_0x55148a[_0xc892('0x2d')],_0x55148a[_0xc892('0x2e')]));dials[_0x55148a['uniqueid']]=_[_0xc892('0x25')](dials[_0x55148a[_0xc892('0x4')]],{'endtime':utils[_0xc892('0x1e')](),'lastevent':'complete'});dials[_0x55148a['uniqueid']][_0xc892('0x2f')]=utils[_0xc892('0x30')](dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x31')],dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x1d')]);dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x32')]=utils['diffTime'](dials[_0x55148a['uniqueid']][_0xc892('0x26')]||dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x31')],dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x1d')]);dials[_0x55148a[_0xc892('0x4')]]['billableseconds']=dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x26')]?utils['diffTime'](dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x31')],dials[_0x55148a[_0xc892('0x4')]][_0xc892('0x26')]):0x0;writeDB(dials[_0x55148a[_0xc892('0x4')]]);}}catch(_0x500bc0){utils[_0xc892('0x14')](util[_0xc892('0xb')](_0xc892('0x2b'),_0x55148a[_0xc892('0x4')]),_0x500bc0);}};