Built motion from commit (unavailable).|2.5.23
[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 _0x967f=['now','lastevent','called','dialend','[%s][dials][dialend]','ANSWER','assign','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','complete','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','lodash','util','./utils','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','connectedlinenum','dialstatus','CreateVoiceDialReport','newexten','debug','format','[%s][dials][newexten]','uniqueid','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','startsWith','appdata','split','error','varset','[%s][dials][varset]','variable','outboundrouteid','info','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','isNil','[%s][dials][dialbegin]','starttime'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x967f,0xe9));var _0xf967=function(_0x269800,_0x397af7){_0x269800=_0x269800-0x0;var _0x21f7ed=_0x967f[_0x269800];return _0x21f7ed;};'use strict';var _=require(_0xf967('0x0'));var util=require(_0xf967('0x1'));var utils=require(_0xf967('0x2'));var dials={};function writeDB(_0x1853d3){utils['info'](util['format'](_0xf967('0x3'),_0x1853d3['uniqueid'],_0x1853d3[_0xf967('0x4')],_0x1853d3[_0xf967('0x5')],_0x1853d3['calleridnum'],_0x1853d3[_0xf967('0x6')],_0x1853d3[_0xf967('0x7')]));utils['request'](_0xf967('0x8'),_0x1853d3);delete dials[_0x1853d3['uniqueid']];}exports[_0xf967('0x9')]=function(_0x5ba4d8){try{utils[_0xf967('0xa')](util[_0xf967('0xb')](_0xf967('0xc'),_0x5ba4d8[_0xf967('0xd')]),_0x5ba4d8);utils['info'](util[_0xf967('0xb')](_0xf967('0xe'),_0x5ba4d8[_0xf967('0xd')],_0x5ba4d8[_0xf967('0xf')],_0x5ba4d8['appdata']));if(_0x5ba4d8['application'][_0xf967('0x10')]()=='set'&&_[_0xf967('0x11')](_0x5ba4d8[_0xf967('0x12')][_0xf967('0x10')](),'cdr(routeid)')){var _0x51e4bd=_0x5ba4d8[_0xf967('0x12')][_0xf967('0x13')]('=');dials[_0x5ba4d8[_0xf967('0xd')]]={'routeId':_0x51e4bd[0x1]};}}catch(_0x358d58){utils[_0xf967('0x14')](util[_0xf967('0xb')](_0xf967('0xc'),_0x5ba4d8[_0xf967('0xd')]),_0x358d58);}};exports[_0xf967('0x15')]=function(_0x4f1d0f){try{utils[_0xf967('0xa')](util[_0xf967('0xb')](_0xf967('0x16'),_0x4f1d0f[_0xf967('0xd')]),_0x4f1d0f);if(!_['isNil'](_0x4f1d0f[_0xf967('0x17')][_0xf967('0x18')])){utils[_0xf967('0x19')](util[_0xf967('0xb')](_0xf967('0x1a'),_0x4f1d0f[_0xf967('0xd')],_0x4f1d0f[_0xf967('0x1b')]));dials[_0x4f1d0f[_0xf967('0xd')]]={'routeId':_0x4f1d0f['value']};}}catch(_0x394a5a){utils[_0xf967('0x14')](util[_0xf967('0xb')](_0xf967('0x16'),_0x4f1d0f['uniqueid']),_0x394a5a);}};exports[_0xf967('0x1c')]=function(_0x25473a){try{if(!_[_0xf967('0x1d')](dials[_0x25473a[_0xf967('0xd')]])){utils['debug'](util[_0xf967('0xb')](_0xf967('0x1e'),_0x25473a[_0xf967('0xd')]),_0x25473a);dials[_0x25473a['uniqueid']]=_['assign'](dials[_0x25473a[_0xf967('0xd')]],_0x25473a);dials[_0x25473a[_0xf967('0xd')]][_0xf967('0x1f')]=utils[_0xf967('0x20')]();dials[_0x25473a[_0xf967('0xd')]][_0xf967('0x21')]=_0xf967('0x22');utils[_0xf967('0x19')](util[_0xf967('0xb')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0x25473a['uniqueid'],dials[_0x25473a[_0xf967('0xd')]][_0xf967('0x1f')]));}}catch(_0x6294ce){utils[_0xf967('0x14')](util[_0xf967('0xb')]('[%s][dials][dialbegin]',_0x25473a[_0xf967('0xd')]),_0x6294ce);}};exports[_0xf967('0x23')]=function(_0x456727){try{if(!_[_0xf967('0x1d')](dials[_0x456727['uniqueid']])){utils[_0xf967('0xa')](util[_0xf967('0xb')](_0xf967('0x24'),_0x456727['uniqueid']),_0x456727);dials[_0x456727[_0xf967('0xd')]]['dialstatus']=_0x456727[_0xf967('0x7')];if(_0x456727[_0xf967('0x7')]==_0xf967('0x25')){dials[_0x456727[_0xf967('0xd')]]=_[_0xf967('0x26')](dials[_0x456727[_0xf967('0xd')]],_0x456727);dials[_0x456727[_0xf967('0xd')]]['answertime']=utils[_0xf967('0x20')]();dials[_0x456727[_0xf967('0xd')]][_0xf967('0x21')]='connect';utils['info'](util['format'](_0xf967('0x27'),_0x456727[_0xf967('0xd')],_0x456727[_0xf967('0x7')],dials[_0x456727[_0xf967('0xd')]][_0xf967('0x28')]));}else{utils[_0xf967('0x19')](util['format'](_0xf967('0x29'),_0x456727[_0xf967('0xd')],_0x456727[_0xf967('0x7')]));}}}catch(_0x2f2180){utils[_0xf967('0x14')](util[_0xf967('0xb')](_0xf967('0x24'),_0x456727[_0xf967('0xd')]),_0x2f2180);}};exports[_0xf967('0x2a')]=function(_0x4e21ab){try{if(!_[_0xf967('0x1d')](dials[_0x4e21ab[_0xf967('0xd')]])){utils[_0xf967('0xa')](util[_0xf967('0xb')]('[%s][dials][hangup]',_0x4e21ab[_0xf967('0xd')]),_0x4e21ab);utils[_0xf967('0x19')](util[_0xf967('0xb')](_0xf967('0x2b'),_0x4e21ab[_0xf967('0xd')],_0x4e21ab['calleridnum'],_0x4e21ab[_0xf967('0x2c')],_0x4e21ab[_0xf967('0x2d')]));dials[_0x4e21ab[_0xf967('0xd')]]=_[_0xf967('0x26')](dials[_0x4e21ab['uniqueid']],{'endtime':utils[_0xf967('0x20')](),'lastevent':_0xf967('0x2e')});dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x2f')]=utils[_0xf967('0x30')](dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x31')],dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x1f')]);dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x32')]=utils[_0xf967('0x30')](dials[_0x4e21ab[_0xf967('0xd')]]['answertime']||dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x31')],dials[_0x4e21ab['uniqueid']][_0xf967('0x1f')]);dials[_0x4e21ab[_0xf967('0xd')]][_0xf967('0x33')]=dials[_0x4e21ab[_0xf967('0xd')]]['answertime']?utils[_0xf967('0x30')](dials[_0x4e21ab['uniqueid']][_0xf967('0x31')],dials[_0x4e21ab[_0xf967('0xd')]]['answertime']):0x0;writeDB(dials[_0x4e21ab['uniqueid']]);}}catch(_0x2b24ff){utils[_0xf967('0x14')](util['format'](_0xf967('0x34'),_0x4e21ab['uniqueid']),_0x2b24ff);}};