e5292424e18bba83993c767dab5e794ed37a2c9c
[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 _0x0446=['dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','startsWith','cdr(routeid)','split','varset','[%s][dials][varset]','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','error','dialbegin','[%s][dials][dialbegin]','assign','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','starttime','dialend','[%s][dials][dialend]','ANSWER','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','complete','duration','diffTime','holdtime','endtime','billableseconds','util','info','format','uniqueid','channel'];(function(_0x1f4170,_0x44f278){var _0x28bc01=function(_0x3f5c6f){while(--_0x3f5c6f){_0x1f4170['push'](_0x1f4170['shift']());}};_0x28bc01(++_0x44f278);}(_0x0446,0x109));var _0x6044=function(_0xa75d3a,_0x15e4b4){_0xa75d3a=_0xa75d3a-0x0;var _0x10b79c=_0x0446[_0xa75d3a];return _0x10b79c;};'use strict';var _=require('lodash');var util=require(_0x6044('0x0'));var utils=require('./utils');var dials={};function writeDB(_0x4efa8a){utils[_0x6044('0x1')](util[_0x6044('0x2')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x4efa8a[_0x6044('0x3')],_0x4efa8a[_0x6044('0x4')],_0x4efa8a[_0x6044('0x5')],_0x4efa8a[_0x6044('0x6')],_0x4efa8a[_0x6044('0x7')],_0x4efa8a[_0x6044('0x8')]));utils[_0x6044('0x9')](_0x6044('0xa'),_0x4efa8a);delete dials[_0x4efa8a['uniqueid']];}exports[_0x6044('0xb')]=function(_0xaa837b){try{utils[_0x6044('0xc')](util[_0x6044('0x2')](_0x6044('0xd'),_0xaa837b[_0x6044('0x3')]),_0xaa837b);utils[_0x6044('0x1')](util[_0x6044('0x2')](_0x6044('0xe'),_0xaa837b[_0x6044('0x3')],_0xaa837b[_0x6044('0xf')],_0xaa837b[_0x6044('0x10')]));if(_0xaa837b[_0x6044('0xf')][_0x6044('0x11')]()=='set'&&_[_0x6044('0x12')](_0xaa837b[_0x6044('0x10')][_0x6044('0x11')](),_0x6044('0x13'))){var _0x3dfd0f=_0xaa837b[_0x6044('0x10')][_0x6044('0x14')]('=');dials[_0xaa837b[_0x6044('0x3')]]={'routeId':_0x3dfd0f[0x1]};}}catch(_0x4b3bc6){utils['error'](util[_0x6044('0x2')]('[%s][dials][newexten]',_0xaa837b[_0x6044('0x3')]),_0x4b3bc6);}};exports[_0x6044('0x15')]=function(_0x56d830){try{utils[_0x6044('0xc')](util['format'](_0x6044('0x16'),_0x56d830[_0x6044('0x3')]),_0x56d830);if(!_[_0x6044('0x17')](_0x56d830[_0x6044('0x18')][_0x6044('0x19')])){utils[_0x6044('0x1')](util[_0x6044('0x2')](_0x6044('0x1a'),_0x56d830[_0x6044('0x3')],_0x56d830[_0x6044('0x1b')]));dials[_0x56d830[_0x6044('0x3')]]={'routeId':_0x56d830[_0x6044('0x1b')]};}}catch(_0x2f124d){utils[_0x6044('0x1c')](util['format']('[%s][dials][varset]',_0x56d830['uniqueid']),_0x2f124d);}};exports[_0x6044('0x1d')]=function(_0x12f757){try{if(!_['isNil'](dials[_0x12f757['uniqueid']])){utils[_0x6044('0xc')](util[_0x6044('0x2')](_0x6044('0x1e'),_0x12f757[_0x6044('0x3')]),_0x12f757);dials[_0x12f757['uniqueid']]=_[_0x6044('0x1f')](dials[_0x12f757[_0x6044('0x3')]],_0x12f757);dials[_0x12f757['uniqueid']]['starttime']=utils[_0x6044('0x20')]();dials[_0x12f757[_0x6044('0x3')]][_0x6044('0x21')]=_0x6044('0x22');utils[_0x6044('0x1')](util['format'](_0x6044('0x23'),_0x12f757[_0x6044('0x3')],dials[_0x12f757['uniqueid']][_0x6044('0x24')]));}}catch(_0x431437){utils[_0x6044('0x1c')](util[_0x6044('0x2')](_0x6044('0x1e'),_0x12f757['uniqueid']),_0x431437);}};exports[_0x6044('0x25')]=function(_0xa29bfb){try{if(!_['isNil'](dials[_0xa29bfb[_0x6044('0x3')]])){utils['debug'](util['format'](_0x6044('0x26'),_0xa29bfb[_0x6044('0x3')]),_0xa29bfb);dials[_0xa29bfb[_0x6044('0x3')]][_0x6044('0x8')]=_0xa29bfb['dialstatus'];if(_0xa29bfb[_0x6044('0x8')]==_0x6044('0x27')){dials[_0xa29bfb[_0x6044('0x3')]]=_['assign'](dials[_0xa29bfb[_0x6044('0x3')]],_0xa29bfb);dials[_0xa29bfb[_0x6044('0x3')]][_0x6044('0x28')]=utils[_0x6044('0x20')]();dials[_0xa29bfb['uniqueid']][_0x6044('0x21')]=_0x6044('0x29');utils[_0x6044('0x1')](util[_0x6044('0x2')](_0x6044('0x2a'),_0xa29bfb[_0x6044('0x3')],_0xa29bfb[_0x6044('0x8')],dials[_0xa29bfb[_0x6044('0x3')]][_0x6044('0x28')]));}else{utils[_0x6044('0x1')](util['format']('[%s][dials][dialend]\x20dialstatus:%s',_0xa29bfb[_0x6044('0x3')],_0xa29bfb['dialstatus']));}}}catch(_0x1cbda2){utils[_0x6044('0x1c')](util[_0x6044('0x2')](_0x6044('0x26'),_0xa29bfb[_0x6044('0x3')]),_0x1cbda2);}};exports[_0x6044('0x2b')]=function(_0x395017){try{if(!_[_0x6044('0x17')](dials[_0x395017[_0x6044('0x3')]])){utils['debug'](util[_0x6044('0x2')](_0x6044('0x2c'),_0x395017[_0x6044('0x3')]),_0x395017);utils[_0x6044('0x1')](util[_0x6044('0x2')](_0x6044('0x2d'),_0x395017[_0x6044('0x3')],_0x395017[_0x6044('0x6')],_0x395017[_0x6044('0x2e')],_0x395017[_0x6044('0x2f')]));dials[_0x395017['uniqueid']]=_['assign'](dials[_0x395017[_0x6044('0x3')]],{'endtime':utils[_0x6044('0x20')](),'lastevent':_0x6044('0x30')});dials[_0x395017[_0x6044('0x3')]][_0x6044('0x31')]=utils[_0x6044('0x32')](dials[_0x395017[_0x6044('0x3')]]['endtime'],dials[_0x395017[_0x6044('0x3')]]['starttime']);dials[_0x395017[_0x6044('0x3')]][_0x6044('0x33')]=utils[_0x6044('0x32')](dials[_0x395017[_0x6044('0x3')]][_0x6044('0x28')]||dials[_0x395017['uniqueid']][_0x6044('0x34')],dials[_0x395017[_0x6044('0x3')]][_0x6044('0x24')]);dials[_0x395017[_0x6044('0x3')]][_0x6044('0x35')]=dials[_0x395017[_0x6044('0x3')]][_0x6044('0x28')]?utils[_0x6044('0x32')](dials[_0x395017[_0x6044('0x3')]][_0x6044('0x34')],dials[_0x395017[_0x6044('0x3')]][_0x6044('0x28')]):0x0;writeDB(dials[_0x395017[_0x6044('0x3')]]);}}catch(_0x49e576){utils[_0x6044('0x1c')](util[_0x6044('0x2')](_0x6044('0x2c'),_0x395017['uniqueid']),_0x49e576);}};