bc9ac7a919462d1b273e79b3ed145948b3e551f9
[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 _0xaed1=['dialstatus','request','CreateVoiceDialReport','application','toLowerCase','startsWith','appdata','cdr(routeid)','split','error','stack','isNil','dialbegin','assign','starttime','now','lastevent','called','dialend','answertime','hangup','complete','duration','holdtime','diffTime','billableseconds','lodash','util','./utils','info','format','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum'];(function(_0x8dc04d,_0xaa7559){var _0x2f5f28=function(_0xdd2d1d){while(--_0xdd2d1d){_0x8dc04d['push'](_0x8dc04d['shift']());}};_0x2f5f28(++_0xaa7559);}(_0xaed1,0x1b1));var _0x1aed=function(_0x2f8a22,_0x143d0e){_0x2f8a22=_0x2f8a22-0x0;var _0x7d7ae5=_0xaed1[_0x2f8a22];return _0x7d7ae5;};'use strict';var _=require(_0x1aed('0x0'));var util=require(_0x1aed('0x1'));var utils=require(_0x1aed('0x2'));var dials={};function writeDB(_0x32b8cd){utils[_0x1aed('0x3')](util[_0x1aed('0x4')](_0x1aed('0x5'),_0x32b8cd[_0x1aed('0x6')],_0x32b8cd[_0x1aed('0x7')],_0x32b8cd[_0x1aed('0x8')],_0x32b8cd[_0x1aed('0x9')],_0x32b8cd[_0x1aed('0xa')],_0x32b8cd[_0x1aed('0xb')]));utils[_0x1aed('0xc')](_0x1aed('0xd'),_0x32b8cd);delete dials[_0x32b8cd[_0x1aed('0x6')]];}exports['newexten']=function(_0x3e0d0f){try{if(_0x3e0d0f[_0x1aed('0xe')][_0x1aed('0xf')]()=='set'&&_[_0x1aed('0x10')](_0x3e0d0f[_0x1aed('0x11')][_0x1aed('0xf')](),_0x1aed('0x12'))){var _0x467a42=_0x3e0d0f['appdata'][_0x1aed('0x13')]('=');dials[_0x3e0d0f['uniqueid']]={'routeId':_0x467a42[0x1]};}}catch(_0x4b4b67){utils[_0x1aed('0x14')](_0x4b4b67[_0x1aed('0x15')]);}};exports['varset']=function(_0x233e4){try{if(!_[_0x1aed('0x16')](_0x233e4['variable']['outboundrouteid'])){dials[_0x233e4[_0x1aed('0x6')]]={'routeId':_0x233e4['value']};}}catch(_0x4d88c9){utils[_0x1aed('0x14')](_0x4d88c9[_0x1aed('0x15')]);}};exports[_0x1aed('0x17')]=function(_0x4056fb){try{if(!_[_0x1aed('0x16')](dials[_0x4056fb[_0x1aed('0x6')]])){dials[_0x4056fb['uniqueid']]=_[_0x1aed('0x18')](dials[_0x4056fb[_0x1aed('0x6')]],_0x4056fb);dials[_0x4056fb[_0x1aed('0x6')]][_0x1aed('0x19')]=utils[_0x1aed('0x1a')]();dials[_0x4056fb[_0x1aed('0x6')]][_0x1aed('0x1b')]=_0x1aed('0x1c');}}catch(_0x272b4c){utils[_0x1aed('0x14')](_0x272b4c['stack']);}};exports[_0x1aed('0x1d')]=function(_0x11a747){try{if(!_[_0x1aed('0x16')](dials[_0x11a747[_0x1aed('0x6')]])){dials[_0x11a747[_0x1aed('0x6')]]['dialstatus']=_0x11a747[_0x1aed('0xb')];if(_0x11a747[_0x1aed('0xb')]=='ANSWER'){dials[_0x11a747[_0x1aed('0x6')]]=_['assign'](dials[_0x11a747[_0x1aed('0x6')]],_0x11a747);dials[_0x11a747[_0x1aed('0x6')]][_0x1aed('0x1e')]=utils['now']();dials[_0x11a747[_0x1aed('0x6')]][_0x1aed('0x1b')]='connect';}}}catch(_0x2ab3f3){utils[_0x1aed('0x14')](_0x2ab3f3[_0x1aed('0x15')]);}};exports[_0x1aed('0x1f')]=function(_0x47fa08){try{if(!_[_0x1aed('0x16')](dials[_0x47fa08[_0x1aed('0x6')]])){dials[_0x47fa08[_0x1aed('0x6')]]=_[_0x1aed('0x18')](dials[_0x47fa08[_0x1aed('0x6')]],{'endtime':utils[_0x1aed('0x1a')](),'lastevent':_0x1aed('0x20')});dials[_0x47fa08[_0x1aed('0x6')]][_0x1aed('0x21')]=utils['diffTime'](dials[_0x47fa08[_0x1aed('0x6')]]['endtime'],dials[_0x47fa08[_0x1aed('0x6')]]['starttime']);dials[_0x47fa08[_0x1aed('0x6')]][_0x1aed('0x22')]=utils[_0x1aed('0x23')](dials[_0x47fa08[_0x1aed('0x6')]][_0x1aed('0x1e')]||dials[_0x47fa08[_0x1aed('0x6')]]['endtime'],dials[_0x47fa08[_0x1aed('0x6')]]['starttime']);dials[_0x47fa08['uniqueid']][_0x1aed('0x24')]=dials[_0x47fa08['uniqueid']][_0x1aed('0x1e')]?utils[_0x1aed('0x23')](dials[_0x47fa08[_0x1aed('0x6')]]['endtime'],dials[_0x47fa08[_0x1aed('0x6')]][_0x1aed('0x1e')]):0x0;writeDB(dials[_0x47fa08[_0x1aed('0x6')]]);}}catch(_0x2d4552){utils[_0x1aed('0x14')](_0x2d4552[_0x1aed('0x15')]);}};