Built motion from commit (unavailable).|2.2.6
[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 _0x7d35=['originatecalleridnum','channel','destinationchannel','callerid','calleridname','monitor','monitors','monitorFilename','filename','createdAt','connectedlinename','membername','xcally-motion-dialer','voiceDialReport','startsWith','Local','indexOf','mobile','phone','findAgent','blindTransfer','attendedTransfer','exports','lodash','moment','util','../../../config/logger','ami','../ami','../rpc/voiceAgentReport','../rpc/voiceCallReport','../rpc/voiceDialReport','../rpc/memberReport','../rpc/voiceQueueReport','../rpc/voiceRecording','./voiceCallReport','./voiceAgentReport','./voiceDialReport','./userReport','realtime','agents','telephones','prototype','accountcode','name','isNil','find','interface','SIP/%s','voiceQueueReport','length','connectedlinenum','lastAssignedTo','format','queuecallercomplete','queuecallerexit','queuecallerexitAt','create','voiceCallReport','destination','exten','type','dialer','lastapplication','queue','lastdata','from-voip-provider','from-sip','xcally-motion-preview','calleridpreview','calleridnum'];(function(_0x1dca37,_0x20b74b){var _0x5c96fb=function(_0x31df7f){while(--_0x31df7f){_0x1dca37['push'](_0x1dca37['shift']());}};_0x5c96fb(++_0x20b74b);}(_0x7d35,0x17a));var _0x57d3=function(_0x3cf150,_0x178cb5){_0x3cf150=_0x3cf150-0x0;var _0x931f8b=_0x7d35[_0x3cf150];return _0x931f8b;};'use strict';var BPromise=require('bluebird');var _=require(_0x57d3('0x0'));var moment=require(_0x57d3('0x1'));var util=require(_0x57d3('0x2'));var logger=require(_0x57d3('0x3'))(_0x57d3('0x4'));var ami=require(_0x57d3('0x5'));var RpcVoiceAgentReport=require(_0x57d3('0x6'));var RpcVoiceCallReport=require(_0x57d3('0x7'));var RpcVoiceDialReport=require(_0x57d3('0x8'));var RpcMemberReport=require(_0x57d3('0x9'));var RpcVoiceQueueReport=require(_0x57d3('0xa'));var RpcVoiceRecording=require(_0x57d3('0xb'));var RpcVoiceTransferReport=require('../rpc/voiceTransferReport');var VoiceQueueReport=require('./voiceQueueReport');var VoiceCallReport=require(_0x57d3('0xc'));var VoiceAgentReport=require(_0x57d3('0xd'));var VoiceDialReport=require(_0x57d3('0xe'));var UserReport=require(_0x57d3('0xf'));function Report(_0x33c4f6){this[_0x57d3('0x10')]=_0x33c4f6;this[_0x57d3('0x11')]=_0x33c4f6[_0x57d3('0x11')];this[_0x57d3('0x12')]=_0x33c4f6[_0x57d3('0x12')];}Report[_0x57d3('0x13')]['sync']=function(_0x788325){var _0x42e3c0=new VoiceQueueReport(this[_0x57d3('0x10')]);var _0x2d5c7f=new VoiceAgentReport(this['realtime']);var _0x30b805=new VoiceDialReport(this[_0x57d3('0x10')]);var _0x543cf4=new VoiceCallReport(this[_0x57d3('0x10')]);var _0x10cba4=new UserReport(this[_0x57d3('0x10')]);};Report[_0x57d3('0x13')]['findAgent']=function(_0x259c77){var _0x681b46=undefined;_0x681b46=_['find'](this[_0x57d3('0x11')],function(_0x58b0fc){return _0x58b0fc[_0x57d3('0x14')]==_0x259c77||_0x58b0fc[_0x57d3('0x15')]==_0x259c77;});if(_[_0x57d3('0x16')](_0x681b46)){var _0x3d47d8=_[_0x57d3('0x17')](this[_0x57d3('0x12')],function(_0x1c3fdc){return _0x1c3fdc[_0x57d3('0x14')]==_0x259c77||_0x1c3fdc['name']==_0x259c77;});if(_0x3d47d8){_0x681b46=_[_0x57d3('0x17')](this[_0x57d3('0x11')],function(_0x5dd7ab){return _0x5dd7ab[_0x57d3('0x18')]==util['format'](_0x57d3('0x19'),_0x3d47d8[_0x57d3('0x15')]);});}}return _0x681b46;};Report[_0x57d3('0x13')][_0x57d3('0x1a')]=function(_0x4969e7){for(var _0xb178bf=0x0;_0xb178bf<_0x4969e7[_0x57d3('0x1b')];_0xb178bf+=0x1){var _0x51b074=this['findAgent'](_0x4969e7[_0xb178bf][_0x57d3('0x1c')]);if(_0x51b074){_0x4969e7[_0xb178bf]['accountcode']=_0x51b074['accountcode'];_0x4969e7[_0xb178bf]['assigned']=!![];_0x4969e7[_0xb178bf][_0x57d3('0x1d')]=_0x51b074[_0x57d3('0x15')];_0x4969e7[_0xb178bf][_0x57d3('0x18')]=_[_0x57d3('0x16')](_0x51b074['interface'])?util[_0x57d3('0x1e')]('SIP/%s',_0x51b074[_0x57d3('0x15')]):_0x51b074[_0x57d3('0x18')];if(_0x4969e7[_0xb178bf][_0x57d3('0x1f')]){_0x4969e7[_0xb178bf]['queuecallercompleteAt']=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');}if(_0x4969e7[_0xb178bf][_0x57d3('0x20')]){_0x4969e7[_0xb178bf][_0x57d3('0x21')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');}RpcMemberReport['voiceQueueReport'](_0x4969e7[_0xb178bf]);}RpcVoiceQueueReport[_0x57d3('0x22')](_0x4969e7[_0xb178bf]);}};function extractCalleridNumber(_0x547508){var _0x269c4b=_0x547508['match'](/<(.*?)>/);return _0x269c4b?_0x269c4b[0x1]:_0x547508;}Report['prototype'][_0x57d3('0x23')]=function(_0x19856f){_0x19856f[_0x57d3('0x24')]=_0x19856f['destination']||_0x19856f[_0x57d3('0x25')];if(_0x19856f[_0x57d3('0x26')]==_0x57d3('0x27')){_0x19856f[_0x57d3('0x28')]=_0x57d3('0x29');_0x19856f[_0x57d3('0x2a')]=_0x19856f[_0x57d3('0x29')];if(_0x19856f['context']==_0x57d3('0x2b')){_0x19856f[_0x57d3('0x14')]='';_0x19856f[_0x57d3('0x24')]=extractCalleridNumber(_0x19856f['callerid']);}else if(_0x19856f['context']==_0x57d3('0x2c')){if(_0x19856f['destination']==_0x57d3('0x2d')){_0x19856f[_0x57d3('0x24')]=extractCalleridNumber(_0x19856f[_0x57d3('0x2e')]);_0x19856f[_0x57d3('0x2f')]=_0x19856f[_0x57d3('0x30')];_0x19856f['destinationchannel']=[_0x19856f[_0x57d3('0x31')],_0x19856f[_0x57d3('0x31')]=_0x19856f[_0x57d3('0x32')]][0x0];_0x19856f[_0x57d3('0x33')]=_0x19856f[_0x57d3('0x2e')];}else{_0x19856f[_0x57d3('0x24')]=_0x19856f['calleridnum'];_0x19856f[_0x57d3('0x2f')]=_0x19856f['originatecalleridnum'];if(_0x19856f['disposition']=='ANSWERED'){_0x19856f[_0x57d3('0x14')]=_0x19856f['connectedlinenum'];}else{_0x19856f[_0x57d3('0x14')]='';}}}}else{_0x19856f[_0x57d3('0x33')]=util[_0x57d3('0x1e')]('\x22%s\x22\x20<%s>',_0x19856f[_0x57d3('0x34')],_0x19856f[_0x57d3('0x2f')]);}RpcVoiceCallReport[_0x57d3('0x22')](_0x19856f);if(_0x19856f[_0x57d3('0x35')]){for(var _0xcc806b=0x0;_0xcc806b<_0x19856f[_0x57d3('0x36')][_0x57d3('0x1b')];_0xcc806b+=0x1){_0x19856f[_0x57d3('0x37')]=_0x19856f['monitors'][_0xcc806b][_0x57d3('0x38')];_0x19856f[_0x57d3('0x39')]=_0x19856f[_0x57d3('0x36')][_0xcc806b][_0x57d3('0x39')];if(_0x19856f['exten']=='xcally-motion-preview'){_0x19856f[_0x57d3('0x2f')]=_0x19856f[_0x57d3('0x1c')];_0x19856f[_0x57d3('0x34')]=_0x19856f[_0x57d3('0x3a')];_0x19856f[_0x57d3('0x1c')]=_0x19856f['accountcode'];_0x19856f[_0x57d3('0x3a')]=_0x19856f[_0x57d3('0x3b')];_0x19856f[_0x57d3('0x25')]=_0x19856f[_0x57d3('0x30')];}else if(_0x19856f['exten']==_0x57d3('0x3c')){_0x19856f['calleridnum']=_0x19856f[_0x57d3('0x24')];_0x19856f[_0x57d3('0x25')]=_0x19856f['originatecalleridnum'];}RpcVoiceRecording[_0x57d3('0x22')](_0x19856f);}}};Report['prototype']['voiceAgentReport']=function(_0x1fead4){RpcVoiceAgentReport[_0x57d3('0x22')](_0x1fead4);};Report[_0x57d3('0x13')][_0x57d3('0x3d')]=function(_0x1a9eda){RpcVoiceDialReport[_0x57d3('0x22')](_0x1a9eda);var _0x187963=undefined;var _0x4be39b=_0x1a9eda[_0x57d3('0x31')];if(_[_0x57d3('0x3e')](_0x4be39b,_0x57d3('0x3f'))){var _0x4514f7=_0x4be39b['substring'](_0x4be39b['indexOf']('/')+0x1,_0x4be39b[_0x57d3('0x40')]('@'));_0x187963=_[_0x57d3('0x17')](this[_0x57d3('0x11')],function(_0x3e269a){return _0x3e269a[_0x57d3('0x41')]==_0x4514f7||_0x3e269a[_0x57d3('0x42')]==_0x4514f7||_0x3e269a['accountcode']==_0x4514f7;});}else{var _0x4514f7=_0x4be39b['substring'](_0x4be39b[_0x57d3('0x40')]('/')+0x1,_0x4be39b['lastIndexOf']('-'));_0x187963=this[_0x57d3('0x43')](_0x4514f7);}if(_0x187963){_0x1a9eda[_0x57d3('0x18')]=_['isNil'](_0x187963[_0x57d3('0x18')])?util['format'](_0x57d3('0x19'),_0x187963['name']):_0x187963[_0x57d3('0x18')];_0x1a9eda[_0x57d3('0x3b')]=_0x187963['name'];_0x1a9eda[_0x57d3('0x14')]=_0x187963[_0x57d3('0x14')];RpcMemberReport[_0x57d3('0x3d')](_0x1a9eda);}};Report[_0x57d3('0x13')]['blindTransfer']=function(_0x23ae7f){RpcVoiceTransferReport[_0x57d3('0x44')](_0x23ae7f);};Report[_0x57d3('0x13')][_0x57d3('0x45')]=function(_0x1e10dc){RpcVoiceTransferReport[_0x57d3('0x45')](_0x1e10dc);};module[_0x57d3('0x46')]=Report;