Built motion from commit (unavailable).|2.5.2
[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 _0x0afa=['lastevent','called','stack','dialend','assign','answertime','now','connect','hangup','complete','duration','diffTime','endtime','holdtime','billableseconds','util','./utils','info','format','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','calleridnum','dialstatus','request','CreateVoiceDialReport','application','set','startsWith','appdata','cdr(routeid)','split','error','varset','outboundrouteid','value','isNil','starttime'];(function(_0x3ea913,_0x255df2){var _0x2b4f28=function(_0x48bb25){while(--_0x48bb25){_0x3ea913['push'](_0x3ea913['shift']());}};_0x2b4f28(++_0x255df2);}(_0x0afa,0x137));var _0xa0af=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0x0afa[_0xbca1b1];return _0x4e1686;};'use strict';var _=require('lodash');var util=require(_0xa0af('0x0'));var utils=require(_0xa0af('0x1'));var dials={};function writeDB(_0xf71ed5){utils[_0xa0af('0x2')](util[_0xa0af('0x3')](_0xa0af('0x4'),_0xf71ed5[_0xa0af('0x5')],_0xf71ed5['channel'],_0xf71ed5['dialstring'],_0xf71ed5[_0xa0af('0x6')],_0xf71ed5['connectedlinenum'],_0xf71ed5[_0xa0af('0x7')]));utils[_0xa0af('0x8')](_0xa0af('0x9'),_0xf71ed5);delete dials[_0xf71ed5[_0xa0af('0x5')]];}exports['newexten']=function(_0x27cf5e){try{if(_0x27cf5e[_0xa0af('0xa')]['toLowerCase']()==_0xa0af('0xb')&&_[_0xa0af('0xc')](_0x27cf5e[_0xa0af('0xd')]['toLowerCase'](),_0xa0af('0xe'))){var _0x21c04c=_0x27cf5e[_0xa0af('0xd')][_0xa0af('0xf')]('=');dials[_0x27cf5e['uniqueid']]={'routeId':_0x21c04c[0x1]};}}catch(_0x76c238){utils[_0xa0af('0x10')](_0x76c238['stack']);}};exports[_0xa0af('0x11')]=function(_0x3e3362){try{if(!_['isNil'](_0x3e3362['variable'][_0xa0af('0x12')])){dials[_0x3e3362['uniqueid']]={'routeId':_0x3e3362[_0xa0af('0x13')]};}}catch(_0x5bcdbe){utils[_0xa0af('0x10')](_0x5bcdbe['stack']);}};exports['dialbegin']=function(_0x5c5e91){try{if(!_[_0xa0af('0x14')](dials[_0x5c5e91[_0xa0af('0x5')]])){dials[_0x5c5e91['uniqueid']]=_['assign'](dials[_0x5c5e91[_0xa0af('0x5')]],_0x5c5e91);dials[_0x5c5e91[_0xa0af('0x5')]][_0xa0af('0x15')]=utils['now']();dials[_0x5c5e91[_0xa0af('0x5')]][_0xa0af('0x16')]=_0xa0af('0x17');}}catch(_0x5abf2d){utils[_0xa0af('0x10')](_0x5abf2d[_0xa0af('0x18')]);}};exports[_0xa0af('0x19')]=function(_0x47c29f){try{if(!_[_0xa0af('0x14')](dials[_0x47c29f[_0xa0af('0x5')]])){dials[_0x47c29f['uniqueid']][_0xa0af('0x7')]=_0x47c29f[_0xa0af('0x7')];if(_0x47c29f[_0xa0af('0x7')]=='ANSWER'){dials[_0x47c29f[_0xa0af('0x5')]]=_[_0xa0af('0x1a')](dials[_0x47c29f[_0xa0af('0x5')]],_0x47c29f);dials[_0x47c29f[_0xa0af('0x5')]][_0xa0af('0x1b')]=utils[_0xa0af('0x1c')]();dials[_0x47c29f[_0xa0af('0x5')]][_0xa0af('0x16')]=_0xa0af('0x1d');}}}catch(_0x49b6a8){utils[_0xa0af('0x10')](_0x49b6a8[_0xa0af('0x18')]);}};exports[_0xa0af('0x1e')]=function(_0x41031c){try{if(!_[_0xa0af('0x14')](dials[_0x41031c[_0xa0af('0x5')]])){dials[_0x41031c['uniqueid']]=_['assign'](dials[_0x41031c['uniqueid']],{'endtime':utils[_0xa0af('0x1c')](),'lastevent':_0xa0af('0x1f')});dials[_0x41031c[_0xa0af('0x5')]][_0xa0af('0x20')]=utils[_0xa0af('0x21')](dials[_0x41031c[_0xa0af('0x5')]][_0xa0af('0x22')],dials[_0x41031c[_0xa0af('0x5')]][_0xa0af('0x15')]);dials[_0x41031c['uniqueid']][_0xa0af('0x23')]=utils['diffTime'](dials[_0x41031c['uniqueid']][_0xa0af('0x1b')]||dials[_0x41031c['uniqueid']][_0xa0af('0x22')],dials[_0x41031c[_0xa0af('0x5')]]['starttime']);dials[_0x41031c[_0xa0af('0x5')]][_0xa0af('0x24')]=dials[_0x41031c['uniqueid']][_0xa0af('0x1b')]?utils[_0xa0af('0x21')](dials[_0x41031c[_0xa0af('0x5')]]['endtime'],dials[_0x41031c['uniqueid']][_0xa0af('0x1b')]):0x0;writeDB(dials[_0x41031c[_0xa0af('0x5')]]);}}catch(_0x52ac0c){utils[_0xa0af('0x10')](_0x52ac0c[_0xa0af('0x18')]);}};