Built motion from commit (unavailable).|2.5.6
[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 _0xee0f=['split','error','stack','varset','variable','outboundrouteid','value','dialbegin','isNil','now','lastevent','called','ANSWER','assign','answertime','hangup','complete','duration','endtime','starttime','diffTime','billableseconds','lodash','./utils','info','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','toLowerCase','startsWith','appdata','cdr(routeid)'];(function(_0x40c601,_0x25997e){var _0x214a0=function(_0x1c2f19){while(--_0x1c2f19){_0x40c601['push'](_0x40c601['shift']());}};_0x214a0(++_0x25997e);}(_0xee0f,0x1ea));var _0xfee0=function(_0x5af89d,_0xa40ecd){_0x5af89d=_0x5af89d-0x0;var _0x44e390=_0xee0f[_0x5af89d];return _0x44e390;};'use strict';var _=require(_0xfee0('0x0'));var util=require('util');var utils=require(_0xfee0('0x1'));var dials={};function writeDB(_0x5dcc31){utils[_0xfee0('0x2')](util['format'](_0xfee0('0x3'),_0x5dcc31[_0xfee0('0x4')],_0x5dcc31[_0xfee0('0x5')],_0x5dcc31[_0xfee0('0x6')],_0x5dcc31[_0xfee0('0x7')],_0x5dcc31[_0xfee0('0x8')],_0x5dcc31[_0xfee0('0x9')]));utils[_0xfee0('0xa')](_0xfee0('0xb'),_0x5dcc31);delete dials[_0x5dcc31[_0xfee0('0x4')]];}exports[_0xfee0('0xc')]=function(_0x39a22e){try{if(_0x39a22e['application'][_0xfee0('0xd')]()=='set'&&_[_0xfee0('0xe')](_0x39a22e[_0xfee0('0xf')]['toLowerCase'](),_0xfee0('0x10'))){var _0x280a2c=_0x39a22e['appdata'][_0xfee0('0x11')]('=');dials[_0x39a22e['uniqueid']]={'routeId':_0x280a2c[0x1]};}}catch(_0x3b2756){utils[_0xfee0('0x12')](_0x3b2756[_0xfee0('0x13')]);}};exports[_0xfee0('0x14')]=function(_0x37610f){try{if(!_['isNil'](_0x37610f[_0xfee0('0x15')][_0xfee0('0x16')])){dials[_0x37610f[_0xfee0('0x4')]]={'routeId':_0x37610f[_0xfee0('0x17')]};}}catch(_0x4abab6){utils[_0xfee0('0x12')](_0x4abab6[_0xfee0('0x13')]);}};exports[_0xfee0('0x18')]=function(_0x19aa37){try{if(!_[_0xfee0('0x19')](dials[_0x19aa37[_0xfee0('0x4')]])){dials[_0x19aa37['uniqueid']]=_['assign'](dials[_0x19aa37[_0xfee0('0x4')]],_0x19aa37);dials[_0x19aa37[_0xfee0('0x4')]]['starttime']=utils[_0xfee0('0x1a')]();dials[_0x19aa37['uniqueid']][_0xfee0('0x1b')]=_0xfee0('0x1c');}}catch(_0x2c4645){utils[_0xfee0('0x12')](_0x2c4645['stack']);}};exports['dialend']=function(_0x4b71d5){try{if(!_[_0xfee0('0x19')](dials[_0x4b71d5['uniqueid']])){dials[_0x4b71d5[_0xfee0('0x4')]][_0xfee0('0x9')]=_0x4b71d5[_0xfee0('0x9')];if(_0x4b71d5['dialstatus']==_0xfee0('0x1d')){dials[_0x4b71d5[_0xfee0('0x4')]]=_[_0xfee0('0x1e')](dials[_0x4b71d5[_0xfee0('0x4')]],_0x4b71d5);dials[_0x4b71d5[_0xfee0('0x4')]][_0xfee0('0x1f')]=utils[_0xfee0('0x1a')]();dials[_0x4b71d5[_0xfee0('0x4')]]['lastevent']='connect';}}}catch(_0x20cbef){utils['error'](_0x20cbef[_0xfee0('0x13')]);}};exports[_0xfee0('0x20')]=function(_0xd52e1d){try{if(!_[_0xfee0('0x19')](dials[_0xd52e1d['uniqueid']])){dials[_0xd52e1d[_0xfee0('0x4')]]=_[_0xfee0('0x1e')](dials[_0xd52e1d['uniqueid']],{'endtime':utils[_0xfee0('0x1a')](),'lastevent':_0xfee0('0x21')});dials[_0xd52e1d['uniqueid']][_0xfee0('0x22')]=utils['diffTime'](dials[_0xd52e1d['uniqueid']][_0xfee0('0x23')],dials[_0xd52e1d[_0xfee0('0x4')]][_0xfee0('0x24')]);dials[_0xd52e1d['uniqueid']]['holdtime']=utils[_0xfee0('0x25')](dials[_0xd52e1d[_0xfee0('0x4')]][_0xfee0('0x1f')]||dials[_0xd52e1d[_0xfee0('0x4')]]['endtime'],dials[_0xd52e1d[_0xfee0('0x4')]][_0xfee0('0x24')]);dials[_0xd52e1d[_0xfee0('0x4')]][_0xfee0('0x26')]=dials[_0xd52e1d[_0xfee0('0x4')]]['answertime']?utils[_0xfee0('0x25')](dials[_0xd52e1d[_0xfee0('0x4')]]['endtime'],dials[_0xd52e1d[_0xfee0('0x4')]][_0xfee0('0x1f')]):0x0;writeDB(dials[_0xd52e1d[_0xfee0('0x4')]]);}}catch(_0x24fea4){utils['error'](_0x24fea4[_0xfee0('0x13')]);}};