Built motion from commit (unavailable).|2.4.18
[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 _0xd802=['duration','diffTime','holdtime','endtime','answertime','util','./utils','info','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','dialstatus','request','CreateVoiceDialReport','newexten','startsWith','appdata','toLowerCase','cdr(routeid)','split','error','stack','varset','isNil','variable','outboundrouteid','value','dialbegin','assign','starttime','now','lastevent','called','dialend','ANSWER','connect','hangup','complete'];(function(_0x4d67b8,_0x565134){var _0x55af3b=function(_0x145904){while(--_0x145904){_0x4d67b8['push'](_0x4d67b8['shift']());}};_0x55af3b(++_0x565134);}(_0xd802,0x7a));var _0x2d80=function(_0x250f95,_0x5a5728){_0x250f95=_0x250f95-0x0;var _0x4ada97=_0xd802[_0x250f95];return _0x4ada97;};'use strict';var _=require('lodash');var util=require(_0x2d80('0x0'));var utils=require(_0x2d80('0x1'));var dials={};function writeDB(_0x48309d){utils[_0x2d80('0x2')](util['format'](_0x2d80('0x3'),_0x48309d[_0x2d80('0x4')],_0x48309d[_0x2d80('0x5')],_0x48309d[_0x2d80('0x6')],_0x48309d['calleridnum'],_0x48309d['connectedlinenum'],_0x48309d[_0x2d80('0x7')]));utils[_0x2d80('0x8')](_0x2d80('0x9'),_0x48309d);delete dials[_0x48309d['uniqueid']];}exports[_0x2d80('0xa')]=function(_0xc9b900){try{if(_0xc9b900['application']['toLowerCase']()=='set'&&_[_0x2d80('0xb')](_0xc9b900[_0x2d80('0xc')][_0x2d80('0xd')](),_0x2d80('0xe'))){var _0x20d7a6=_0xc9b900[_0x2d80('0xc')][_0x2d80('0xf')]('=');dials[_0xc9b900[_0x2d80('0x4')]]={'routeId':_0x20d7a6[0x1]};}}catch(_0x512a6b){utils[_0x2d80('0x10')](_0x512a6b[_0x2d80('0x11')]);}};exports[_0x2d80('0x12')]=function(_0x54c2f3){try{if(!_[_0x2d80('0x13')](_0x54c2f3[_0x2d80('0x14')][_0x2d80('0x15')])){dials[_0x54c2f3[_0x2d80('0x4')]]={'routeId':_0x54c2f3[_0x2d80('0x16')]};}}catch(_0x5ba4cf){utils['error'](_0x5ba4cf[_0x2d80('0x11')]);}};exports[_0x2d80('0x17')]=function(_0x3c30d4){try{if(!_['isNil'](dials[_0x3c30d4[_0x2d80('0x4')]])){dials[_0x3c30d4['uniqueid']]=_[_0x2d80('0x18')](dials[_0x3c30d4[_0x2d80('0x4')]],_0x3c30d4);dials[_0x3c30d4[_0x2d80('0x4')]][_0x2d80('0x19')]=utils[_0x2d80('0x1a')]();dials[_0x3c30d4[_0x2d80('0x4')]][_0x2d80('0x1b')]=_0x2d80('0x1c');}}catch(_0x26dc83){utils[_0x2d80('0x10')](_0x26dc83[_0x2d80('0x11')]);}};exports[_0x2d80('0x1d')]=function(_0x2cfcd5){try{if(!_[_0x2d80('0x13')](dials[_0x2cfcd5[_0x2d80('0x4')]])){dials[_0x2cfcd5['uniqueid']][_0x2d80('0x7')]=_0x2cfcd5['dialstatus'];if(_0x2cfcd5[_0x2d80('0x7')]==_0x2d80('0x1e')){dials[_0x2cfcd5[_0x2d80('0x4')]]=_[_0x2d80('0x18')](dials[_0x2cfcd5[_0x2d80('0x4')]],_0x2cfcd5);dials[_0x2cfcd5[_0x2d80('0x4')]]['answertime']=utils[_0x2d80('0x1a')]();dials[_0x2cfcd5[_0x2d80('0x4')]][_0x2d80('0x1b')]=_0x2d80('0x1f');}}}catch(_0x5d16f4){utils[_0x2d80('0x10')](_0x5d16f4[_0x2d80('0x11')]);}};exports[_0x2d80('0x20')]=function(_0x80c4f7){try{if(!_[_0x2d80('0x13')](dials[_0x80c4f7[_0x2d80('0x4')]])){dials[_0x80c4f7[_0x2d80('0x4')]]=_[_0x2d80('0x18')](dials[_0x80c4f7['uniqueid']],{'endtime':utils[_0x2d80('0x1a')](),'lastevent':_0x2d80('0x21')});dials[_0x80c4f7['uniqueid']][_0x2d80('0x22')]=utils[_0x2d80('0x23')](dials[_0x80c4f7[_0x2d80('0x4')]]['endtime'],dials[_0x80c4f7['uniqueid']][_0x2d80('0x19')]);dials[_0x80c4f7[_0x2d80('0x4')]][_0x2d80('0x24')]=utils[_0x2d80('0x23')](dials[_0x80c4f7[_0x2d80('0x4')]]['answertime']||dials[_0x80c4f7[_0x2d80('0x4')]][_0x2d80('0x25')],dials[_0x80c4f7['uniqueid']]['starttime']);dials[_0x80c4f7[_0x2d80('0x4')]]['billableseconds']=dials[_0x80c4f7[_0x2d80('0x4')]]['answertime']?utils[_0x2d80('0x23')](dials[_0x80c4f7[_0x2d80('0x4')]][_0x2d80('0x25')],dials[_0x80c4f7[_0x2d80('0x4')]][_0x2d80('0x26')]):0x0;writeDB(dials[_0x80c4f7[_0x2d80('0x4')]]);}}catch(_0x523ec6){utils[_0x2d80('0x10')](_0x523ec6[_0x2d80('0x11')]);}};