Built motion from commit b5413ace.|2.6.9
[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 _0xd315=['info','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr(routeid)','split','error','varset','debug','[%s][dials][varset]','isNil','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][dialbegin]','assign','starttime','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','now','connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridnum','calleridname','cause-txt','duration','diffTime','endtime','billableseconds','util','./utils','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','[%s][dials][newexten]'];(function(_0x399ee2,_0x5291a8){var _0x2229ba=function(_0x20c7de){while(--_0x20c7de){_0x399ee2['push'](_0x399ee2['shift']());}};_0x2229ba(++_0x5291a8);}(_0xd315,0xb5));var _0x5d31=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd315[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0x5d31('0x0'));var utils=require(_0x5d31('0x1'));var dials={};function writeDB(_0x4f9136){utils['info'](util[_0x5d31('0x2')](_0x5d31('0x3'),_0x4f9136[_0x5d31('0x4')],_0x4f9136['channel'],_0x4f9136['dialstring'],_0x4f9136['calleridnum'],_0x4f9136[_0x5d31('0x5')],_0x4f9136[_0x5d31('0x6')]));utils[_0x5d31('0x7')](_0x5d31('0x8'),_0x4f9136);delete dials[_0x4f9136[_0x5d31('0x4')]];}exports[_0x5d31('0x9')]=function(_0xa4a0f1){try{utils['debug'](util[_0x5d31('0x2')](_0x5d31('0xa'),_0xa4a0f1['uniqueid']),_0xa4a0f1);utils[_0x5d31('0xb')](util[_0x5d31('0x2')](_0x5d31('0xc'),_0xa4a0f1[_0x5d31('0x4')],_0xa4a0f1[_0x5d31('0xd')],_0xa4a0f1[_0x5d31('0xe')]));if(_0xa4a0f1[_0x5d31('0xd')][_0x5d31('0xf')]()==_0x5d31('0x10')&&_[_0x5d31('0x11')](_0xa4a0f1[_0x5d31('0xe')]['toLowerCase'](),_0x5d31('0x12'))){var _0x2c2473=_0xa4a0f1[_0x5d31('0xe')][_0x5d31('0x13')]('=');dials[_0xa4a0f1[_0x5d31('0x4')]]={'routeId':_0x2c2473[0x1]};}}catch(_0x33428a){utils[_0x5d31('0x14')](util['format'](_0x5d31('0xa'),_0xa4a0f1[_0x5d31('0x4')]),_0x33428a);}};exports[_0x5d31('0x15')]=function(_0x7023ed){try{utils[_0x5d31('0x16')](util[_0x5d31('0x2')](_0x5d31('0x17'),_0x7023ed['uniqueid']),_0x7023ed);if(!_[_0x5d31('0x18')](_0x7023ed['variable'][_0x5d31('0x19')])){utils[_0x5d31('0xb')](util[_0x5d31('0x2')](_0x5d31('0x1a'),_0x7023ed['uniqueid'],_0x7023ed[_0x5d31('0x1b')]));dials[_0x7023ed[_0x5d31('0x4')]]={'routeId':_0x7023ed[_0x5d31('0x1b')]};}}catch(_0x4698fd){utils[_0x5d31('0x14')](util[_0x5d31('0x2')](_0x5d31('0x17'),_0x7023ed[_0x5d31('0x4')]),_0x4698fd);}};exports['dialbegin']=function(_0x58a4e9){try{if(!_[_0x5d31('0x18')](dials[_0x58a4e9[_0x5d31('0x4')]])){utils[_0x5d31('0x16')](util[_0x5d31('0x2')](_0x5d31('0x1c'),_0x58a4e9[_0x5d31('0x4')]),_0x58a4e9);dials[_0x58a4e9['uniqueid']]=_[_0x5d31('0x1d')](dials[_0x58a4e9[_0x5d31('0x4')]],_0x58a4e9);dials[_0x58a4e9[_0x5d31('0x4')]][_0x5d31('0x1e')]=utils['now']();dials[_0x58a4e9[_0x5d31('0x4')]]['lastevent']='called';utils[_0x5d31('0xb')](util['format'](_0x5d31('0x1f'),_0x58a4e9[_0x5d31('0x4')],dials[_0x58a4e9[_0x5d31('0x4')]][_0x5d31('0x1e')]));}}catch(_0x21a9ec){utils[_0x5d31('0x14')](util[_0x5d31('0x2')](_0x5d31('0x1c'),_0x58a4e9['uniqueid']),_0x21a9ec);}};exports[_0x5d31('0x20')]=function(_0x27a5a2){try{if(!_[_0x5d31('0x18')](dials[_0x27a5a2[_0x5d31('0x4')]])){utils[_0x5d31('0x16')](util[_0x5d31('0x2')](_0x5d31('0x21'),_0x27a5a2[_0x5d31('0x4')]),_0x27a5a2);dials[_0x27a5a2[_0x5d31('0x4')]][_0x5d31('0x6')]=_0x27a5a2[_0x5d31('0x6')];if(_0x27a5a2[_0x5d31('0x6')]==_0x5d31('0x22')){dials[_0x27a5a2[_0x5d31('0x4')]]=_[_0x5d31('0x1d')](dials[_0x27a5a2[_0x5d31('0x4')]],_0x27a5a2);dials[_0x27a5a2['uniqueid']]['answertime']=utils[_0x5d31('0x23')]();dials[_0x27a5a2[_0x5d31('0x4')]]['lastevent']=_0x5d31('0x24');utils['info'](util[_0x5d31('0x2')]('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x27a5a2['uniqueid'],_0x27a5a2[_0x5d31('0x6')],dials[_0x27a5a2[_0x5d31('0x4')]][_0x5d31('0x25')]));}else{utils[_0x5d31('0xb')](util['format'](_0x5d31('0x26'),_0x27a5a2['uniqueid'],_0x27a5a2[_0x5d31('0x6')]));}}}catch(_0x115493){utils[_0x5d31('0x14')](util['format'](_0x5d31('0x21'),_0x27a5a2[_0x5d31('0x4')]),_0x115493);}};exports[_0x5d31('0x27')]=function(_0x375eba){try{if(!_[_0x5d31('0x18')](dials[_0x375eba['uniqueid']])){utils['debug'](util[_0x5d31('0x2')]('[%s][dials][hangup]',_0x375eba[_0x5d31('0x4')]),_0x375eba);utils[_0x5d31('0xb')](util[_0x5d31('0x2')](_0x5d31('0x28'),_0x375eba['uniqueid'],_0x375eba[_0x5d31('0x29')],_0x375eba[_0x5d31('0x2a')],_0x375eba[_0x5d31('0x2b')]));dials[_0x375eba[_0x5d31('0x4')]]=_[_0x5d31('0x1d')](dials[_0x375eba[_0x5d31('0x4')]],{'endtime':utils[_0x5d31('0x23')](),'lastevent':'complete'});dials[_0x375eba[_0x5d31('0x4')]][_0x5d31('0x2c')]=utils[_0x5d31('0x2d')](dials[_0x375eba[_0x5d31('0x4')]][_0x5d31('0x2e')],dials[_0x375eba['uniqueid']][_0x5d31('0x1e')]);dials[_0x375eba[_0x5d31('0x4')]]['holdtime']=utils[_0x5d31('0x2d')](dials[_0x375eba[_0x5d31('0x4')]]['answertime']||dials[_0x375eba[_0x5d31('0x4')]][_0x5d31('0x2e')],dials[_0x375eba[_0x5d31('0x4')]][_0x5d31('0x1e')]);dials[_0x375eba[_0x5d31('0x4')]][_0x5d31('0x2f')]=dials[_0x375eba[_0x5d31('0x4')]]['answertime']?utils[_0x5d31('0x2d')](dials[_0x375eba['uniqueid']]['endtime'],dials[_0x375eba[_0x5d31('0x4')]]['answertime']):0x0;writeDB(dials[_0x375eba['uniqueid']]);}}catch(_0x3547a9){utils['error'](util[_0x5d31('0x2')]('[%s][dials][hangup]',_0x375eba[_0x5d31('0x4')]),_0x3547a9);}};