Built motion from commit 10af8726.|2.6.34
[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 _0x8cb9=['hangup','[%s][dials][hangup]','calleridname','cause-txt','complete','diffTime','endtime','billableseconds','lodash','util','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','calleridnum','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','startsWith','cdr(routeid)','split','error','[%s][dials][newexten]','varset','[%s][dials][varset]','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','assign','starttime','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','dialstatus','ANSWER','answertime','now','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect'];(function(_0x19572c,_0x245578){var _0x4f6641=function(_0x1156bb){while(--_0x1156bb){_0x19572c['push'](_0x19572c['shift']());}};_0x4f6641(++_0x245578);}(_0x8cb9,0x10c));var _0x98cb=function(_0x4fae4b,_0x1e30df){_0x4fae4b=_0x4fae4b-0x0;var _0x463c94=_0x8cb9[_0x4fae4b];return _0x463c94;};'use strict';var _=require(_0x98cb('0x0'));var util=require(_0x98cb('0x1'));var utils=require(_0x98cb('0x2'));var dials={};function writeDB(_0xe226ca){utils[_0x98cb('0x3')](util[_0x98cb('0x4')](_0x98cb('0x5'),_0xe226ca[_0x98cb('0x6')],_0xe226ca[_0x98cb('0x7')],_0xe226ca[_0x98cb('0x8')],_0xe226ca[_0x98cb('0x9')],_0xe226ca['connectedlinenum'],_0xe226ca['dialstatus']));utils['request'](_0x98cb('0xa'),_0xe226ca);delete dials[_0xe226ca[_0x98cb('0x6')]];}exports[_0x98cb('0xb')]=function(_0x525656){try{utils[_0x98cb('0xc')](util[_0x98cb('0x4')]('[%s][dials][newexten]',_0x525656[_0x98cb('0x6')]),_0x525656);utils[_0x98cb('0x3')](util[_0x98cb('0x4')](_0x98cb('0xd'),_0x525656[_0x98cb('0x6')],_0x525656[_0x98cb('0xe')],_0x525656[_0x98cb('0xf')]));if(_0x525656['application'][_0x98cb('0x10')]()=='set'&&_[_0x98cb('0x11')](_0x525656['appdata'][_0x98cb('0x10')](),_0x98cb('0x12'))){var _0x4f5040=_0x525656[_0x98cb('0xf')][_0x98cb('0x13')]('=');dials[_0x525656[_0x98cb('0x6')]]={'routeId':_0x4f5040[0x1]};}}catch(_0x21ed87){utils[_0x98cb('0x14')](util[_0x98cb('0x4')](_0x98cb('0x15'),_0x525656[_0x98cb('0x6')]),_0x21ed87);}};exports[_0x98cb('0x16')]=function(_0x3b6101){try{utils[_0x98cb('0xc')](util[_0x98cb('0x4')](_0x98cb('0x17'),_0x3b6101[_0x98cb('0x6')]),_0x3b6101);if(!_[_0x98cb('0x18')](_0x3b6101[_0x98cb('0x19')][_0x98cb('0x1a')])){utils[_0x98cb('0x3')](util[_0x98cb('0x4')](_0x98cb('0x1b'),_0x3b6101[_0x98cb('0x6')],_0x3b6101['value']));dials[_0x3b6101[_0x98cb('0x6')]]={'routeId':_0x3b6101[_0x98cb('0x1c')]};}}catch(_0x161b13){utils[_0x98cb('0x14')](util['format'](_0x98cb('0x17'),_0x3b6101['uniqueid']),_0x161b13);}};exports[_0x98cb('0x1d')]=function(_0x514605){try{if(!_[_0x98cb('0x18')](dials[_0x514605[_0x98cb('0x6')]])){utils[_0x98cb('0xc')](util['format'](_0x98cb('0x1e'),_0x514605[_0x98cb('0x6')]),_0x514605);dials[_0x514605[_0x98cb('0x6')]]=_[_0x98cb('0x1f')](dials[_0x514605[_0x98cb('0x6')]],_0x514605);dials[_0x514605['uniqueid']][_0x98cb('0x20')]=utils['now']();dials[_0x514605[_0x98cb('0x6')]][_0x98cb('0x21')]=_0x98cb('0x22');utils[_0x98cb('0x3')](util[_0x98cb('0x4')](_0x98cb('0x23'),_0x514605[_0x98cb('0x6')],dials[_0x514605['uniqueid']][_0x98cb('0x20')]));}}catch(_0x36a00d){utils[_0x98cb('0x14')](util[_0x98cb('0x4')](_0x98cb('0x1e'),_0x514605[_0x98cb('0x6')]),_0x36a00d);}};exports[_0x98cb('0x24')]=function(_0x1c23ad){try{if(!_[_0x98cb('0x18')](dials[_0x1c23ad[_0x98cb('0x6')]])){utils['debug'](util[_0x98cb('0x4')](_0x98cb('0x25'),_0x1c23ad['uniqueid']),_0x1c23ad);dials[_0x1c23ad[_0x98cb('0x6')]]['dialstatus']=_0x1c23ad[_0x98cb('0x26')];if(_0x1c23ad['dialstatus']==_0x98cb('0x27')){dials[_0x1c23ad[_0x98cb('0x6')]]=_[_0x98cb('0x1f')](dials[_0x1c23ad['uniqueid']],_0x1c23ad);dials[_0x1c23ad[_0x98cb('0x6')]][_0x98cb('0x28')]=utils[_0x98cb('0x29')]();dials[_0x1c23ad[_0x98cb('0x6')]][_0x98cb('0x21')]=_0x98cb('0x2a');utils[_0x98cb('0x3')](util['format'](_0x98cb('0x2b'),_0x1c23ad[_0x98cb('0x6')],_0x1c23ad[_0x98cb('0x26')],dials[_0x1c23ad[_0x98cb('0x6')]][_0x98cb('0x28')]));}else{utils[_0x98cb('0x3')](util[_0x98cb('0x4')]('[%s][dials][dialend]\x20dialstatus:%s',_0x1c23ad[_0x98cb('0x6')],_0x1c23ad['dialstatus']));}}}catch(_0x49ec3e){utils[_0x98cb('0x14')](util['format']('[%s][dials][dialend]',_0x1c23ad[_0x98cb('0x6')]),_0x49ec3e);}};exports[_0x98cb('0x2c')]=function(_0x524b49){try{if(!_[_0x98cb('0x18')](dials[_0x524b49[_0x98cb('0x6')]])){utils['debug'](util[_0x98cb('0x4')](_0x98cb('0x2d'),_0x524b49[_0x98cb('0x6')]),_0x524b49);utils[_0x98cb('0x3')](util['format']('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x524b49[_0x98cb('0x6')],_0x524b49[_0x98cb('0x9')],_0x524b49[_0x98cb('0x2e')],_0x524b49[_0x98cb('0x2f')]));dials[_0x524b49[_0x98cb('0x6')]]=_[_0x98cb('0x1f')](dials[_0x524b49['uniqueid']],{'endtime':utils[_0x98cb('0x29')](),'lastevent':_0x98cb('0x30')});dials[_0x524b49[_0x98cb('0x6')]]['duration']=utils[_0x98cb('0x31')](dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x32')],dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x20')]);dials[_0x524b49['uniqueid']]['holdtime']=utils[_0x98cb('0x31')](dials[_0x524b49[_0x98cb('0x6')]]['answertime']||dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x32')],dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x20')]);dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x33')]=dials[_0x524b49[_0x98cb('0x6')]][_0x98cb('0x28')]?utils[_0x98cb('0x31')](dials[_0x524b49[_0x98cb('0x6')]]['endtime'],dials[_0x524b49[_0x98cb('0x6')]]['answertime']):0x0;writeDB(dials[_0x524b49[_0x98cb('0x6')]]);}}catch(_0x16e2de){utils[_0x98cb('0x14')](util[_0x98cb('0x4')](_0x98cb('0x2d'),_0x524b49[_0x98cb('0x6')]),_0x16e2de);}};