fabadc2bef6e94bf927342853bd370488012e202
[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 _0x4fa1=['lastevent','called','dialend','[%s][dials][dialend]','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','assign','now','complete','diffTime','holdtime','endtime','billableseconds','lodash','util','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','application','toLowerCase','set','startsWith','appdata','[%s][dials][newexten]','varset','debug','[%s][dials][varset]','isNil','variable','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','error','[%s][dials][dialbegin]','starttime'];(function(_0x2c6cb3,_0x2cd18f){var _0xd2a3e7=function(_0x5d3036){while(--_0x5d3036){_0x2c6cb3['push'](_0x2c6cb3['shift']());}};_0xd2a3e7(++_0x2cd18f);}(_0x4fa1,0x139));var _0x14fa=function(_0x9206e8,_0x2876e7){_0x9206e8=_0x9206e8-0x0;var _0x1d3700=_0x4fa1[_0x9206e8];return _0x1d3700;};'use strict';var _=require(_0x14fa('0x0'));var util=require(_0x14fa('0x1'));var utils=require(_0x14fa('0x2'));var dials={};function writeDB(_0x33e304){utils[_0x14fa('0x3')](util[_0x14fa('0x4')](_0x14fa('0x5'),_0x33e304['uniqueid'],_0x33e304['channel'],_0x33e304[_0x14fa('0x6')],_0x33e304[_0x14fa('0x7')],_0x33e304[_0x14fa('0x8')],_0x33e304[_0x14fa('0x9')]));utils[_0x14fa('0xa')](_0x14fa('0xb'),_0x33e304);delete dials[_0x33e304[_0x14fa('0xc')]];}exports[_0x14fa('0xd')]=function(_0x31e6d5){try{utils['debug'](util[_0x14fa('0x4')]('[%s][dials][newexten]',_0x31e6d5[_0x14fa('0xc')]),_0x31e6d5);utils['info'](util[_0x14fa('0x4')]('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0x31e6d5[_0x14fa('0xc')],_0x31e6d5[_0x14fa('0xe')],_0x31e6d5['appdata']));if(_0x31e6d5['application'][_0x14fa('0xf')]()==_0x14fa('0x10')&&_[_0x14fa('0x11')](_0x31e6d5['appdata'][_0x14fa('0xf')](),'cdr(routeid)')){var _0x538e1d=_0x31e6d5[_0x14fa('0x12')]['split']('=');dials[_0x31e6d5[_0x14fa('0xc')]]={'routeId':_0x538e1d[0x1]};}}catch(_0x984dcc){utils['error'](util['format'](_0x14fa('0x13'),_0x31e6d5[_0x14fa('0xc')]),_0x984dcc);}};exports[_0x14fa('0x14')]=function(_0x2f2346){try{utils[_0x14fa('0x15')](util[_0x14fa('0x4')](_0x14fa('0x16'),_0x2f2346[_0x14fa('0xc')]),_0x2f2346);if(!_[_0x14fa('0x17')](_0x2f2346[_0x14fa('0x18')]['outboundrouteid'])){utils[_0x14fa('0x3')](util['format'](_0x14fa('0x19'),_0x2f2346[_0x14fa('0xc')],_0x2f2346[_0x14fa('0x1a')]));dials[_0x2f2346[_0x14fa('0xc')]]={'routeId':_0x2f2346[_0x14fa('0x1a')]};}}catch(_0x48938f){utils[_0x14fa('0x1b')](util[_0x14fa('0x4')](_0x14fa('0x16'),_0x2f2346['uniqueid']),_0x48938f);}};exports['dialbegin']=function(_0xee82a){try{if(!_[_0x14fa('0x17')](dials[_0xee82a[_0x14fa('0xc')]])){utils[_0x14fa('0x15')](util[_0x14fa('0x4')](_0x14fa('0x1c'),_0xee82a[_0x14fa('0xc')]),_0xee82a);dials[_0xee82a[_0x14fa('0xc')]]=_['assign'](dials[_0xee82a['uniqueid']],_0xee82a);dials[_0xee82a[_0x14fa('0xc')]][_0x14fa('0x1d')]=utils['now']();dials[_0xee82a[_0x14fa('0xc')]][_0x14fa('0x1e')]=_0x14fa('0x1f');utils[_0x14fa('0x3')](util[_0x14fa('0x4')]('[%s][dials][hangup]\x20starttime:%s\x20lastevent:called',_0xee82a[_0x14fa('0xc')],dials[_0xee82a[_0x14fa('0xc')]]['starttime']));}}catch(_0x314888){utils[_0x14fa('0x1b')](util[_0x14fa('0x4')](_0x14fa('0x1c'),_0xee82a[_0x14fa('0xc')]),_0x314888);}};exports[_0x14fa('0x20')]=function(_0x591dd2){try{if(!_['isNil'](dials[_0x591dd2[_0x14fa('0xc')]])){utils['debug'](util[_0x14fa('0x4')](_0x14fa('0x21'),_0x591dd2[_0x14fa('0xc')]),_0x591dd2);dials[_0x591dd2[_0x14fa('0xc')]]['dialstatus']=_0x591dd2[_0x14fa('0x9')];if(_0x591dd2[_0x14fa('0x9')]=='ANSWER'){dials[_0x591dd2[_0x14fa('0xc')]]=_['assign'](dials[_0x591dd2['uniqueid']],_0x591dd2);dials[_0x591dd2['uniqueid']][_0x14fa('0x22')]=utils['now']();dials[_0x591dd2[_0x14fa('0xc')]][_0x14fa('0x1e')]=_0x14fa('0x23');utils['info'](util['format'](_0x14fa('0x24'),_0x591dd2[_0x14fa('0xc')],_0x591dd2[_0x14fa('0x9')],dials[_0x591dd2[_0x14fa('0xc')]][_0x14fa('0x22')]));}else{utils['info'](util['format'](_0x14fa('0x25'),_0x591dd2[_0x14fa('0xc')],_0x591dd2[_0x14fa('0x9')]));}}}catch(_0x150f12){utils[_0x14fa('0x1b')](util[_0x14fa('0x4')](_0x14fa('0x21'),_0x591dd2['uniqueid']),_0x150f12);}};exports[_0x14fa('0x26')]=function(_0x17ddf8){try{if(!_[_0x14fa('0x17')](dials[_0x17ddf8[_0x14fa('0xc')]])){utils['debug'](util[_0x14fa('0x4')]('[%s][dials][hangup]',_0x17ddf8[_0x14fa('0xc')]),_0x17ddf8);utils[_0x14fa('0x3')](util['format'](_0x14fa('0x27'),_0x17ddf8[_0x14fa('0xc')],_0x17ddf8[_0x14fa('0x7')],_0x17ddf8[_0x14fa('0x28')],_0x17ddf8[_0x14fa('0x29')]));dials[_0x17ddf8[_0x14fa('0xc')]]=_[_0x14fa('0x2a')](dials[_0x17ddf8['uniqueid']],{'endtime':utils[_0x14fa('0x2b')](),'lastevent':_0x14fa('0x2c')});dials[_0x17ddf8['uniqueid']]['duration']=utils[_0x14fa('0x2d')](dials[_0x17ddf8[_0x14fa('0xc')]]['endtime'],dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x1d')]);dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x2e')]=utils[_0x14fa('0x2d')](dials[_0x17ddf8['uniqueid']][_0x14fa('0x22')]||dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x2f')],dials[_0x17ddf8['uniqueid']][_0x14fa('0x1d')]);dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x30')]=dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x22')]?utils[_0x14fa('0x2d')](dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x2f')],dials[_0x17ddf8[_0x14fa('0xc')]][_0x14fa('0x22')]):0x0;writeDB(dials[_0x17ddf8[_0x14fa('0xc')]]);}}catch(_0x28c07c){utils[_0x14fa('0x1b')](util[_0x14fa('0x4')]('[%s][dials][hangup]',_0x17ddf8[_0x14fa('0xc')]),_0x28c07c);}};