5befe739c53179f0faefd3e234a89da6336fb13c
[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 _0x9566=['[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','connectedlinenum','request','CreateVoiceDialReport','debug','[%s][dials][newexten]','uniqueid','application','set','startsWith','appdata','toLowerCase','cdr(routeid)','error','varset','[%s][dials][varset]','isNil','variable','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][dialbegin]','assign','now','lastevent','called','dialend','[%s][dials][dialend]','dialstatus','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','calleridnum','calleridname','complete','duration','diffTime','endtime','starttime','holdtime','billableseconds','lodash','util','./utils','info','format'];(function(_0x6ebfc4,_0x14375b){var _0xda2af2=function(_0x52d9a1){while(--_0x52d9a1){_0x6ebfc4['push'](_0x6ebfc4['shift']());}};_0xda2af2(++_0x14375b);}(_0x9566,0x193));var _0x6956=function(_0x122ef9,_0x451d2a){_0x122ef9=_0x122ef9-0x0;var _0x42fba0=_0x9566[_0x122ef9];return _0x42fba0;};'use strict';var _=require(_0x6956('0x0'));var util=require(_0x6956('0x1'));var utils=require(_0x6956('0x2'));var dials={};function writeDB(_0x4189c4){utils[_0x6956('0x3')](util[_0x6956('0x4')](_0x6956('0x5'),_0x4189c4['uniqueid'],_0x4189c4[_0x6956('0x6')],_0x4189c4[_0x6956('0x7')],_0x4189c4['calleridnum'],_0x4189c4[_0x6956('0x8')],_0x4189c4['dialstatus']));utils[_0x6956('0x9')](_0x6956('0xa'),_0x4189c4);delete dials[_0x4189c4['uniqueid']];}exports['newexten']=function(_0x2e648a){try{utils[_0x6956('0xb')](util[_0x6956('0x4')](_0x6956('0xc'),_0x2e648a[_0x6956('0xd')]),_0x2e648a);utils[_0x6956('0x3')](util['format']('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0x2e648a['uniqueid'],_0x2e648a[_0x6956('0xe')],_0x2e648a['appdata']));if(_0x2e648a[_0x6956('0xe')]['toLowerCase']()==_0x6956('0xf')&&_[_0x6956('0x10')](_0x2e648a[_0x6956('0x11')][_0x6956('0x12')](),_0x6956('0x13'))){var _0x509f62=_0x2e648a[_0x6956('0x11')]['split']('=');dials[_0x2e648a[_0x6956('0xd')]]={'routeId':_0x509f62[0x1]};}}catch(_0x30d67d){utils[_0x6956('0x14')](util[_0x6956('0x4')](_0x6956('0xc'),_0x2e648a[_0x6956('0xd')]),_0x30d67d);}};exports[_0x6956('0x15')]=function(_0x2213a5){try{utils['debug'](util['format'](_0x6956('0x16'),_0x2213a5[_0x6956('0xd')]),_0x2213a5);if(!_[_0x6956('0x17')](_0x2213a5[_0x6956('0x18')]['outboundrouteid'])){utils[_0x6956('0x3')](util['format'](_0x6956('0x19'),_0x2213a5[_0x6956('0xd')],_0x2213a5[_0x6956('0x1a')]));dials[_0x2213a5['uniqueid']]={'routeId':_0x2213a5[_0x6956('0x1a')]};}}catch(_0x17bdda){utils['error'](util[_0x6956('0x4')](_0x6956('0x16'),_0x2213a5['uniqueid']),_0x17bdda);}};exports['dialbegin']=function(_0x1ab595){try{if(!_[_0x6956('0x17')](dials[_0x1ab595[_0x6956('0xd')]])){utils['debug'](util[_0x6956('0x4')](_0x6956('0x1b'),_0x1ab595[_0x6956('0xd')]),_0x1ab595);dials[_0x1ab595[_0x6956('0xd')]]=_[_0x6956('0x1c')](dials[_0x1ab595[_0x6956('0xd')]],_0x1ab595);dials[_0x1ab595[_0x6956('0xd')]]['starttime']=utils[_0x6956('0x1d')]();dials[_0x1ab595[_0x6956('0xd')]][_0x6956('0x1e')]=_0x6956('0x1f');utils[_0x6956('0x3')](util[_0x6956('0x4')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0x1ab595['uniqueid'],dials[_0x1ab595[_0x6956('0xd')]]['starttime']));}}catch(_0x30eb0b){utils[_0x6956('0x14')](util[_0x6956('0x4')]('[%s][dials][dialbegin]',_0x1ab595[_0x6956('0xd')]),_0x30eb0b);}};exports[_0x6956('0x20')]=function(_0x1ad2b5){try{if(!_[_0x6956('0x17')](dials[_0x1ad2b5[_0x6956('0xd')]])){utils[_0x6956('0xb')](util['format'](_0x6956('0x21'),_0x1ad2b5[_0x6956('0xd')]),_0x1ad2b5);dials[_0x1ad2b5['uniqueid']]['dialstatus']=_0x1ad2b5['dialstatus'];if(_0x1ad2b5[_0x6956('0x22')]==_0x6956('0x23')){dials[_0x1ad2b5[_0x6956('0xd')]]=_[_0x6956('0x1c')](dials[_0x1ad2b5[_0x6956('0xd')]],_0x1ad2b5);dials[_0x1ad2b5[_0x6956('0xd')]][_0x6956('0x24')]=utils[_0x6956('0x1d')]();dials[_0x1ad2b5[_0x6956('0xd')]][_0x6956('0x1e')]=_0x6956('0x25');utils[_0x6956('0x3')](util[_0x6956('0x4')](_0x6956('0x26'),_0x1ad2b5[_0x6956('0xd')],_0x1ad2b5['dialstatus'],dials[_0x1ad2b5[_0x6956('0xd')]][_0x6956('0x24')]));}else{utils[_0x6956('0x3')](util['format']('[%s][dials][dialend]\x20dialstatus:%s',_0x1ad2b5[_0x6956('0xd')],_0x1ad2b5['dialstatus']));}}}catch(_0xe46c50){utils[_0x6956('0x14')](util['format'](_0x6956('0x21'),_0x1ad2b5['uniqueid']),_0xe46c50);}};exports[_0x6956('0x27')]=function(_0x2332ea){try{if(!_[_0x6956('0x17')](dials[_0x2332ea[_0x6956('0xd')]])){utils[_0x6956('0xb')](util['format'](_0x6956('0x28'),_0x2332ea['uniqueid']),_0x2332ea);utils[_0x6956('0x3')](util[_0x6956('0x4')](_0x6956('0x29'),_0x2332ea[_0x6956('0xd')],_0x2332ea[_0x6956('0x2a')],_0x2332ea[_0x6956('0x2b')],_0x2332ea['cause-txt']));dials[_0x2332ea[_0x6956('0xd')]]=_[_0x6956('0x1c')](dials[_0x2332ea['uniqueid']],{'endtime':utils[_0x6956('0x1d')](),'lastevent':_0x6956('0x2c')});dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x2d')]=utils[_0x6956('0x2e')](dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x2f')],dials[_0x2332ea['uniqueid']][_0x6956('0x30')]);dials[_0x2332ea['uniqueid']][_0x6956('0x31')]=utils[_0x6956('0x2e')](dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x24')]||dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x2f')],dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x30')]);dials[_0x2332ea['uniqueid']][_0x6956('0x32')]=dials[_0x2332ea['uniqueid']]['answertime']?utils[_0x6956('0x2e')](dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x2f')],dials[_0x2332ea[_0x6956('0xd')]][_0x6956('0x24')]):0x0;writeDB(dials[_0x2332ea[_0x6956('0xd')]]);}}catch(_0x4a8eb4){utils['error'](util[_0x6956('0x4')](_0x6956('0x28'),_0x2332ea[_0x6956('0xd')]),_0x4a8eb4);}};