Built motion from commit (unavailable).|2.4.20
[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 _0x672e=['toLowerCase','cdr(routeid)','appdata','split','error','stack','varset','isNil','variable','outboundrouteid','value','dialbegin','assign','lastevent','called','dialstatus','now','connect','hangup','complete','diffTime','starttime','holdtime','answertime','endtime','billableseconds','lodash','./utils','info','format','uniqueid','dialstring','calleridnum','connectedlinenum','request','CreateVoiceDialReport','newexten','application'];(function(_0x2158a8,_0x335f85){var _0x4b1071=function(_0x2b9124){while(--_0x2b9124){_0x2158a8['push'](_0x2158a8['shift']());}};_0x4b1071(++_0x335f85);}(_0x672e,0x1e2));var _0xe672=function(_0x142b55,_0x2cc75f){_0x142b55=_0x142b55-0x0;var _0x4ea8b7=_0x672e[_0x142b55];return _0x4ea8b7;};'use strict';var _=require(_0xe672('0x0'));var util=require('util');var utils=require(_0xe672('0x1'));var dials={};function writeDB(_0x40389b){utils[_0xe672('0x2')](util[_0xe672('0x3')]('DIAL|%s|%s|%s|%s|%s|%s',_0x40389b[_0xe672('0x4')],_0x40389b['channel'],_0x40389b[_0xe672('0x5')],_0x40389b[_0xe672('0x6')],_0x40389b[_0xe672('0x7')],_0x40389b['dialstatus']));utils[_0xe672('0x8')](_0xe672('0x9'),_0x40389b);delete dials[_0x40389b[_0xe672('0x4')]];}exports[_0xe672('0xa')]=function(_0x2e4b64){try{if(_0x2e4b64[_0xe672('0xb')][_0xe672('0xc')]()=='set'&&_['startsWith'](_0x2e4b64['appdata'][_0xe672('0xc')](),_0xe672('0xd'))){var _0x5ceb7d=_0x2e4b64[_0xe672('0xe')][_0xe672('0xf')]('=');dials[_0x2e4b64['uniqueid']]={'routeId':_0x5ceb7d[0x1]};}}catch(_0x37885e){utils[_0xe672('0x10')](_0x37885e[_0xe672('0x11')]);}};exports[_0xe672('0x12')]=function(_0x3a8c92){try{if(!_[_0xe672('0x13')](_0x3a8c92[_0xe672('0x14')][_0xe672('0x15')])){dials[_0x3a8c92[_0xe672('0x4')]]={'routeId':_0x3a8c92[_0xe672('0x16')]};}}catch(_0x10918c){utils[_0xe672('0x10')](_0x10918c['stack']);}};exports[_0xe672('0x17')]=function(_0x2dea2f){try{if(!_['isNil'](dials[_0x2dea2f[_0xe672('0x4')]])){dials[_0x2dea2f['uniqueid']]=_[_0xe672('0x18')](dials[_0x2dea2f[_0xe672('0x4')]],_0x2dea2f);dials[_0x2dea2f[_0xe672('0x4')]]['starttime']=utils['now']();dials[_0x2dea2f['uniqueid']][_0xe672('0x19')]=_0xe672('0x1a');}}catch(_0x537533){utils[_0xe672('0x10')](_0x537533[_0xe672('0x11')]);}};exports['dialend']=function(_0x23628e){try{if(!_[_0xe672('0x13')](dials[_0x23628e[_0xe672('0x4')]])){dials[_0x23628e['uniqueid']]['dialstatus']=_0x23628e[_0xe672('0x1b')];if(_0x23628e[_0xe672('0x1b')]=='ANSWER'){dials[_0x23628e[_0xe672('0x4')]]=_[_0xe672('0x18')](dials[_0x23628e[_0xe672('0x4')]],_0x23628e);dials[_0x23628e['uniqueid']]['answertime']=utils[_0xe672('0x1c')]();dials[_0x23628e[_0xe672('0x4')]]['lastevent']=_0xe672('0x1d');}}}catch(_0x3a16a7){utils[_0xe672('0x10')](_0x3a16a7['stack']);}};exports[_0xe672('0x1e')]=function(_0x526fb3){try{if(!_[_0xe672('0x13')](dials[_0x526fb3[_0xe672('0x4')]])){dials[_0x526fb3[_0xe672('0x4')]]=_[_0xe672('0x18')](dials[_0x526fb3[_0xe672('0x4')]],{'endtime':utils[_0xe672('0x1c')](),'lastevent':_0xe672('0x1f')});dials[_0x526fb3[_0xe672('0x4')]]['duration']=utils[_0xe672('0x20')](dials[_0x526fb3[_0xe672('0x4')]]['endtime'],dials[_0x526fb3[_0xe672('0x4')]][_0xe672('0x21')]);dials[_0x526fb3['uniqueid']][_0xe672('0x22')]=utils[_0xe672('0x20')](dials[_0x526fb3['uniqueid']][_0xe672('0x23')]||dials[_0x526fb3[_0xe672('0x4')]][_0xe672('0x24')],dials[_0x526fb3[_0xe672('0x4')]]['starttime']);dials[_0x526fb3['uniqueid']][_0xe672('0x25')]=dials[_0x526fb3['uniqueid']][_0xe672('0x23')]?utils[_0xe672('0x20')](dials[_0x526fb3['uniqueid']][_0xe672('0x24')],dials[_0x526fb3['uniqueid']][_0xe672('0x23')]):0x0;writeDB(dials[_0x526fb3[_0xe672('0x4')]]);}}catch(_0x43d04c){utils[_0xe672('0x10')](_0x43d04c[_0xe672('0x11')]);}};