91602c67dce53ae2b7727c9a0452009dbb7d0b79
[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 _0x30fc=['assign','starttime','now','lastevent','called','error','dialend','isNil','answertime','connect','hangup','complete','duration','diffTime','endtime','billableseconds','lodash','util','info','DIAL|%s|%s|%s|%s|%s|%s','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','application','set','startsWith','appdata','toLowerCase','cdr(routeid)','split','varset','variable','outboundrouteid','stack'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x30fc,0xfa));var _0xc30f=function(_0x26dd05,_0x135f80){_0x26dd05=_0x26dd05-0x0;var _0x5da547=_0x30fc[_0x26dd05];return _0x5da547;};'use strict';var _=require(_0xc30f('0x0'));var util=require(_0xc30f('0x1'));var utils=require('./utils');var dials={};function writeDB(_0x343657){utils[_0xc30f('0x2')](util['format'](_0xc30f('0x3'),_0x343657['uniqueid'],_0x343657['channel'],_0x343657[_0xc30f('0x4')],_0x343657[_0xc30f('0x5')],_0x343657[_0xc30f('0x6')],_0x343657[_0xc30f('0x7')]));utils[_0xc30f('0x8')](_0xc30f('0x9'),_0x343657);delete dials[_0x343657[_0xc30f('0xa')]];}exports[_0xc30f('0xb')]=function(_0x541b6c){try{if(_0x541b6c[_0xc30f('0xc')]['toLowerCase']()==_0xc30f('0xd')&&_[_0xc30f('0xe')](_0x541b6c[_0xc30f('0xf')][_0xc30f('0x10')](),_0xc30f('0x11'))){var _0xc3d1ad=_0x541b6c[_0xc30f('0xf')][_0xc30f('0x12')]('=');dials[_0x541b6c[_0xc30f('0xa')]]={'routeId':_0xc3d1ad[0x1]};}}catch(_0x5db6de){utils['error'](_0x5db6de['stack']);}};exports[_0xc30f('0x13')]=function(_0x368ddf){try{if(!_['isNil'](_0x368ddf[_0xc30f('0x14')][_0xc30f('0x15')])){dials[_0x368ddf['uniqueid']]={'routeId':_0x368ddf['value']};}}catch(_0x214c1f){utils['error'](_0x214c1f[_0xc30f('0x16')]);}};exports['dialbegin']=function(_0x2d2675){try{if(!_['isNil'](dials[_0x2d2675[_0xc30f('0xa')]])){dials[_0x2d2675[_0xc30f('0xa')]]=_[_0xc30f('0x17')](dials[_0x2d2675[_0xc30f('0xa')]],_0x2d2675);dials[_0x2d2675[_0xc30f('0xa')]][_0xc30f('0x18')]=utils[_0xc30f('0x19')]();dials[_0x2d2675[_0xc30f('0xa')]][_0xc30f('0x1a')]=_0xc30f('0x1b');}}catch(_0x43f13c){utils[_0xc30f('0x1c')](_0x43f13c[_0xc30f('0x16')]);}};exports[_0xc30f('0x1d')]=function(_0x3f9c4f){try{if(!_[_0xc30f('0x1e')](dials[_0x3f9c4f[_0xc30f('0xa')]])){dials[_0x3f9c4f[_0xc30f('0xa')]][_0xc30f('0x7')]=_0x3f9c4f['dialstatus'];if(_0x3f9c4f['dialstatus']=='ANSWER'){dials[_0x3f9c4f[_0xc30f('0xa')]]=_['assign'](dials[_0x3f9c4f[_0xc30f('0xa')]],_0x3f9c4f);dials[_0x3f9c4f[_0xc30f('0xa')]][_0xc30f('0x1f')]=utils['now']();dials[_0x3f9c4f[_0xc30f('0xa')]][_0xc30f('0x1a')]=_0xc30f('0x20');}}}catch(_0xd0830e){utils[_0xc30f('0x1c')](_0xd0830e[_0xc30f('0x16')]);}};exports[_0xc30f('0x21')]=function(_0x36a027){try{if(!_['isNil'](dials[_0x36a027['uniqueid']])){dials[_0x36a027['uniqueid']]=_[_0xc30f('0x17')](dials[_0x36a027[_0xc30f('0xa')]],{'endtime':utils[_0xc30f('0x19')](),'lastevent':_0xc30f('0x22')});dials[_0x36a027['uniqueid']][_0xc30f('0x23')]=utils[_0xc30f('0x24')](dials[_0x36a027[_0xc30f('0xa')]][_0xc30f('0x25')],dials[_0x36a027[_0xc30f('0xa')]]['starttime']);dials[_0x36a027['uniqueid']]['holdtime']=utils[_0xc30f('0x24')](dials[_0x36a027['uniqueid']][_0xc30f('0x1f')]||dials[_0x36a027['uniqueid']][_0xc30f('0x25')],dials[_0x36a027[_0xc30f('0xa')]]['starttime']);dials[_0x36a027[_0xc30f('0xa')]][_0xc30f('0x26')]=dials[_0x36a027[_0xc30f('0xa')]]['answertime']?utils['diffTime'](dials[_0x36a027[_0xc30f('0xa')]][_0xc30f('0x25')],dials[_0x36a027[_0xc30f('0xa')]][_0xc30f('0x1f')]):0x0;writeDB(dials[_0x36a027[_0xc30f('0xa')]]);}}catch(_0x2884ae){utils['error'](_0x2884ae[_0xc30f('0x16')]);}};