Built motion from commit (unavailable).|2.5.0
[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 _0x04e4=['billableseconds','lodash','util','./utils','info','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','calleridnum','dialstatus','CreateVoiceDialReport','application','toLowerCase','set','startsWith','appdata','cdr(routeid)','split','error','stack','varset','isNil','variable','outboundrouteid','value','dialbegin','starttime','lastevent','called','ANSWER','answertime','connect','hangup','assign','now','diffTime','endtime','holdtime'];(function(_0x195333,_0x3eaae4){var _0x58e40d=function(_0x382e14){while(--_0x382e14){_0x195333['push'](_0x195333['shift']());}};_0x58e40d(++_0x3eaae4);}(_0x04e4,0x17d));var _0x404e=function(_0x3880c4,_0x1be68d){_0x3880c4=_0x3880c4-0x0;var _0x29db3e=_0x04e4[_0x3880c4];return _0x29db3e;};'use strict';var _=require(_0x404e('0x0'));var util=require(_0x404e('0x1'));var utils=require(_0x404e('0x2'));var dials={};function writeDB(_0x1f950d){utils[_0x404e('0x3')](util['format'](_0x404e('0x4'),_0x1f950d[_0x404e('0x5')],_0x1f950d[_0x404e('0x6')],_0x1f950d['dialstring'],_0x1f950d[_0x404e('0x7')],_0x1f950d['connectedlinenum'],_0x1f950d[_0x404e('0x8')]));utils['request'](_0x404e('0x9'),_0x1f950d);delete dials[_0x1f950d[_0x404e('0x5')]];}exports['newexten']=function(_0x326cc3){try{if(_0x326cc3[_0x404e('0xa')][_0x404e('0xb')]()==_0x404e('0xc')&&_[_0x404e('0xd')](_0x326cc3[_0x404e('0xe')][_0x404e('0xb')](),_0x404e('0xf'))){var _0x42e487=_0x326cc3[_0x404e('0xe')][_0x404e('0x10')]('=');dials[_0x326cc3[_0x404e('0x5')]]={'routeId':_0x42e487[0x1]};}}catch(_0x440846){utils[_0x404e('0x11')](_0x440846[_0x404e('0x12')]);}};exports[_0x404e('0x13')]=function(_0x196a73){try{if(!_[_0x404e('0x14')](_0x196a73[_0x404e('0x15')][_0x404e('0x16')])){dials[_0x196a73['uniqueid']]={'routeId':_0x196a73[_0x404e('0x17')]};}}catch(_0x11a594){utils[_0x404e('0x11')](_0x11a594[_0x404e('0x12')]);}};exports[_0x404e('0x18')]=function(_0x153992){try{if(!_[_0x404e('0x14')](dials[_0x153992[_0x404e('0x5')]])){dials[_0x153992[_0x404e('0x5')]]=_['assign'](dials[_0x153992[_0x404e('0x5')]],_0x153992);dials[_0x153992[_0x404e('0x5')]][_0x404e('0x19')]=utils['now']();dials[_0x153992['uniqueid']][_0x404e('0x1a')]=_0x404e('0x1b');}}catch(_0xab32c7){utils['error'](_0xab32c7[_0x404e('0x12')]);}};exports['dialend']=function(_0x773339){try{if(!_[_0x404e('0x14')](dials[_0x773339['uniqueid']])){dials[_0x773339[_0x404e('0x5')]]['dialstatus']=_0x773339['dialstatus'];if(_0x773339[_0x404e('0x8')]==_0x404e('0x1c')){dials[_0x773339['uniqueid']]=_['assign'](dials[_0x773339['uniqueid']],_0x773339);dials[_0x773339[_0x404e('0x5')]][_0x404e('0x1d')]=utils['now']();dials[_0x773339[_0x404e('0x5')]][_0x404e('0x1a')]=_0x404e('0x1e');}}}catch(_0x194da0){utils[_0x404e('0x11')](_0x194da0[_0x404e('0x12')]);}};exports[_0x404e('0x1f')]=function(_0x2b4e36){try{if(!_[_0x404e('0x14')](dials[_0x2b4e36[_0x404e('0x5')]])){dials[_0x2b4e36[_0x404e('0x5')]]=_[_0x404e('0x20')](dials[_0x2b4e36[_0x404e('0x5')]],{'endtime':utils[_0x404e('0x21')](),'lastevent':'complete'});dials[_0x2b4e36[_0x404e('0x5')]]['duration']=utils[_0x404e('0x22')](dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x23')],dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x19')]);dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x24')]=utils['diffTime'](dials[_0x2b4e36['uniqueid']][_0x404e('0x1d')]||dials[_0x2b4e36['uniqueid']][_0x404e('0x23')],dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x19')]);dials[_0x2b4e36['uniqueid']][_0x404e('0x25')]=dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x1d')]?utils['diffTime'](dials[_0x2b4e36['uniqueid']][_0x404e('0x23')],dials[_0x2b4e36[_0x404e('0x5')]][_0x404e('0x1d')]):0x0;writeDB(dials[_0x2b4e36[_0x404e('0x5')]]);}}catch(_0x59ac88){utils[_0x404e('0x11')](_0x59ac88[_0x404e('0x12')]);}};