Built motion from commit (unavailable).|2.5.3
[motion2.git] / server / services / ami / report / index.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 _0x9326=['calleridname','connectedlinename','membername','xcally-motion-dialer','forEach','startsWith','Local','substring','indexOf','mobile','phone','lastIndexOf','blindTransfer','attendedTransfer','exports','bluebird','moment','util','../ami','../rpc/voiceAgentReport','../rpc/voiceCallReport','../rpc/voiceDialReport','../rpc/memberReport','../rpc/voiceQueueReport','../rpc/voiceRecording','./voiceQueueReport','./voiceCallReport','./voiceAgentReport','./voiceDialReport','realtime','agents','telephones','prototype','sync','disabled','custom:voiceQueueReport','voiceQueueReport','custom:voiceCallReport','custom:voiceAgentReport','voiceAgentReport','voiceDialReport','blindtransfer','bind','find','accountcode','name','isNil','interface','format','SIP/%s','length','findAgent','connectedlinenum','assigned','lastAssignedTo','queuecallercomplete','queuecallercompleteAt','YYYY-MM-DD\x20HH:mm:ss','queuecallerexit','destination','exten','lastapplication','lastdata','queue','context','from-voip-provider','callerid','from-sip','xcally-motion-preview','calleridpreview','calleridnum','originatecalleridnum','destinationchannel','channel','disposition','ANSWERED','\x22%s\x22\x20<%s>','create','monitor','monitors','monitorFilename','filename','createdAt'];(function(_0x273647,_0x5219db){var _0x2fbb08=function(_0x3f22c9){while(--_0x3f22c9){_0x273647['push'](_0x273647['shift']());}};_0x2fbb08(++_0x5219db);}(_0x9326,0x15b));var _0x6932=function(_0xbe200f,_0x4b50eb){_0xbe200f=_0xbe200f-0x0;var _0x192597=_0x9326[_0xbe200f];return _0x192597;};'use strict';var BPromise=require(_0x6932('0x0'));var _=require('lodash');var moment=require(_0x6932('0x1'));var util=require(_0x6932('0x2'));var config=require('../../../config/environment');var logger=require('../../../config/logger')('ami');var ami=require(_0x6932('0x3'));var RpcVoiceAgentReport=require(_0x6932('0x4'));var RpcVoiceCallReport=require(_0x6932('0x5'));var RpcVoiceDialReport=require(_0x6932('0x6'));var RpcMemberReport=require(_0x6932('0x7'));var RpcVoiceQueueReport=require(_0x6932('0x8'));var RpcVoiceRecording=require(_0x6932('0x9'));var RpcVoiceTransferReport=require('../rpc/voiceTransferReport');var VoiceQueueReport=require(_0x6932('0xa'));var VoiceCallReport=require(_0x6932('0xb'));var VoiceAgentReport=require(_0x6932('0xc'));var VoiceDialReport=require(_0x6932('0xd'));var UserReport=require('./userReport');function Report(_0x2530b6){this[_0x6932('0xe')]=_0x2530b6;this[_0x6932('0xf')]=_0x2530b6[_0x6932('0xf')];this[_0x6932('0x10')]=_0x2530b6[_0x6932('0x10')];}Report[_0x6932('0x11')][_0x6932('0x12')]=function(_0x44b2ed){var _0xf18311=new VoiceQueueReport(this[_0x6932('0xe')]);var _0xafdff=new VoiceAgentReport(this[_0x6932('0xe')]);var _0x3d0f57=new VoiceDialReport(this[_0x6932('0xe')]);var _0x56c94b=new VoiceCallReport(this['realtime']);var _0x38c182=new UserReport(this[_0x6932('0xe')]);if(config['xdr']&&config['xdr'][_0x6932('0x13')]){ami['on'](_0x6932('0x14'),this[_0x6932('0x15')]['bind'](this));ami['on'](_0x6932('0x16'),this['voiceCallReport']['bind'](this));ami['on'](_0x6932('0x17'),this[_0x6932('0x18')]['bind'](this));ami['on']('custom:voiceDialReport',this[_0x6932('0x19')]['bind'](this));ami['on'](_0x6932('0x1a'),this['blindTransfer'][_0x6932('0x1b')](this));ami['on']('attendedtransfer',this['attendedTransfer']['bind'](this));}};Report['prototype']['findAgent']=function(_0x270a62){var _0x41cb9c=undefined;_0x41cb9c=_[_0x6932('0x1c')](this[_0x6932('0xf')],function(_0xf7cc44){return _0xf7cc44[_0x6932('0x1d')]==_0x270a62||_0xf7cc44[_0x6932('0x1e')]==_0x270a62;});if(_[_0x6932('0x1f')](_0x41cb9c)){var _0x1059d1=_[_0x6932('0x1c')](this[_0x6932('0x10')],function(_0x44ca5c){return _0x44ca5c[_0x6932('0x1d')]==_0x270a62||_0x44ca5c[_0x6932('0x1e')]==_0x270a62;});if(_0x1059d1){_0x41cb9c=_['find'](this[_0x6932('0xf')],function(_0x37bb49){return _0x37bb49[_0x6932('0x20')]==util[_0x6932('0x21')](_0x6932('0x22'),_0x1059d1[_0x6932('0x1e')]);});}}return _0x41cb9c;};Report[_0x6932('0x11')]['voiceQueueReport']=function(_0x19cd81){for(var _0x46d440=0x0;_0x46d440<_0x19cd81[_0x6932('0x23')];_0x46d440+=0x1){var _0x23117d=this[_0x6932('0x24')](_0x19cd81[_0x46d440][_0x6932('0x25')]);if(_0x23117d){_0x19cd81[_0x46d440][_0x6932('0x1d')]=_0x23117d[_0x6932('0x1d')];_0x19cd81[_0x46d440][_0x6932('0x26')]=!![];_0x19cd81[_0x46d440][_0x6932('0x27')]=_0x23117d['name'];_0x19cd81[_0x46d440][_0x6932('0x20')]=_[_0x6932('0x1f')](_0x23117d[_0x6932('0x20')])?util[_0x6932('0x21')](_0x6932('0x22'),_0x23117d[_0x6932('0x1e')]):_0x23117d[_0x6932('0x20')];if(_0x19cd81[_0x46d440][_0x6932('0x28')]){_0x19cd81[_0x46d440][_0x6932('0x29')]=moment()[_0x6932('0x21')](_0x6932('0x2a'));}if(_0x19cd81[_0x46d440][_0x6932('0x2b')]){_0x19cd81[_0x46d440]['queuecallerexitAt']=moment()[_0x6932('0x21')](_0x6932('0x2a'));}RpcMemberReport[_0x6932('0x15')](_0x19cd81[_0x46d440]);}RpcVoiceQueueReport['create'](_0x19cd81[_0x46d440]);}};function extractCalleridNumber(_0x5741ff){var _0x3c507a=_0x5741ff['match'](/<(.*?)>/);return _0x3c507a?_0x3c507a[0x1]:_0x5741ff;}Report['prototype']['voiceCallReport']=function(_0x3eb4e6){_0x3eb4e6[_0x6932('0x2c')]=_0x3eb4e6[_0x6932('0x2c')]||_0x3eb4e6[_0x6932('0x2d')];if(_0x3eb4e6['type']=='dialer'){_0x3eb4e6[_0x6932('0x2e')]='queue';_0x3eb4e6[_0x6932('0x2f')]=_0x3eb4e6[_0x6932('0x30')];if(_0x3eb4e6[_0x6932('0x31')]==_0x6932('0x32')){_0x3eb4e6[_0x6932('0x1d')]='';_0x3eb4e6[_0x6932('0x2c')]=extractCalleridNumber(_0x3eb4e6[_0x6932('0x33')]);}else if(_0x3eb4e6[_0x6932('0x31')]==_0x6932('0x34')){if(_0x3eb4e6['destination']==_0x6932('0x35')){_0x3eb4e6[_0x6932('0x2c')]=extractCalleridNumber(_0x3eb4e6[_0x6932('0x36')]);_0x3eb4e6[_0x6932('0x37')]=_0x3eb4e6[_0x6932('0x38')];_0x3eb4e6[_0x6932('0x39')]=[_0x3eb4e6['channel'],_0x3eb4e6[_0x6932('0x3a')]=_0x3eb4e6[_0x6932('0x39')]][0x0];_0x3eb4e6[_0x6932('0x33')]=_0x3eb4e6[_0x6932('0x36')];}else{_0x3eb4e6[_0x6932('0x2c')]=_0x3eb4e6[_0x6932('0x37')];_0x3eb4e6[_0x6932('0x37')]=_0x3eb4e6[_0x6932('0x38')];if(_0x3eb4e6[_0x6932('0x3b')]==_0x6932('0x3c')){_0x3eb4e6[_0x6932('0x1d')]=_0x3eb4e6[_0x6932('0x25')];}else{_0x3eb4e6['accountcode']='';}}}}else{_0x3eb4e6['callerid']=util[_0x6932('0x21')](_0x6932('0x3d'),_0x3eb4e6['calleridname'],_0x3eb4e6[_0x6932('0x37')]);}RpcVoiceCallReport[_0x6932('0x3e')](_0x3eb4e6);if(_0x3eb4e6[_0x6932('0x3f')]){for(var _0x45031e=0x0;_0x45031e<_0x3eb4e6[_0x6932('0x40')][_0x6932('0x23')];_0x45031e+=0x1){_0x3eb4e6[_0x6932('0x41')]=_0x3eb4e6[_0x6932('0x40')][_0x45031e][_0x6932('0x42')];_0x3eb4e6['createdAt']=_0x3eb4e6[_0x6932('0x40')][_0x45031e][_0x6932('0x43')];if(_0x3eb4e6[_0x6932('0x2d')]==_0x6932('0x35')){_0x3eb4e6[_0x6932('0x37')]=_0x3eb4e6['connectedlinenum'];_0x3eb4e6[_0x6932('0x44')]=_0x3eb4e6[_0x6932('0x45')];_0x3eb4e6['connectedlinenum']=_0x3eb4e6['accountcode'];_0x3eb4e6[_0x6932('0x45')]=_0x3eb4e6[_0x6932('0x46')];_0x3eb4e6['exten']=_0x3eb4e6[_0x6932('0x38')];}else if(_0x3eb4e6[_0x6932('0x2d')]==_0x6932('0x47')){_0x3eb4e6[_0x6932('0x37')]=_0x3eb4e6[_0x6932('0x2c')];_0x3eb4e6['exten']=_0x3eb4e6[_0x6932('0x38')];}RpcVoiceRecording[_0x6932('0x3e')](_0x3eb4e6);}}};Report[_0x6932('0x11')][_0x6932('0x18')]=function(_0x14e94b){if(_['isArray'](_0x14e94b)){_0x14e94b[_0x6932('0x48')](function(_0xf91de5){RpcVoiceAgentReport['create'](_0xf91de5);});}else{RpcVoiceAgentReport[_0x6932('0x3e')](_0x14e94b);}};Report[_0x6932('0x11')][_0x6932('0x19')]=function(_0x26e0e0){RpcVoiceDialReport[_0x6932('0x3e')](_0x26e0e0);var _0x3ecce2=undefined;var _0x2204b9=_0x26e0e0[_0x6932('0x3a')];if(_[_0x6932('0x49')](_0x2204b9,_0x6932('0x4a'))){var _0x5eed48=_0x2204b9[_0x6932('0x4b')](_0x2204b9['indexOf']('/')+0x1,_0x2204b9[_0x6932('0x4c')]('@'));_0x3ecce2=_[_0x6932('0x1c')](this[_0x6932('0xf')],function(_0x3147f5){return _0x3147f5[_0x6932('0x4d')]==_0x5eed48||_0x3147f5[_0x6932('0x4e')]==_0x5eed48||_0x3147f5[_0x6932('0x1d')]==_0x5eed48;});}else{var _0x5eed48=_0x2204b9[_0x6932('0x4b')](_0x2204b9[_0x6932('0x4c')]('/')+0x1,_0x2204b9[_0x6932('0x4f')]('-'));_0x3ecce2=this[_0x6932('0x24')](_0x5eed48);}if(_0x3ecce2){_0x26e0e0[_0x6932('0x20')]=_[_0x6932('0x1f')](_0x3ecce2[_0x6932('0x20')])?util[_0x6932('0x21')](_0x6932('0x22'),_0x3ecce2[_0x6932('0x1e')]):_0x3ecce2[_0x6932('0x20')];_0x26e0e0[_0x6932('0x46')]=_0x3ecce2[_0x6932('0x1e')];_0x26e0e0['accountcode']=_0x3ecce2[_0x6932('0x1d')];RpcMemberReport['voiceDialReport'](_0x26e0e0);}};Report[_0x6932('0x11')][_0x6932('0x50')]=function(_0x2782a9){RpcVoiceTransferReport['blindTransfer'](_0x2782a9);};Report[_0x6932('0x11')]['attendedTransfer']=function(_0x505785){RpcVoiceTransferReport[_0x6932('0x51')](_0x505785);};module[_0x6932('0x52')]=Report;