Built motion from commit 5b761a7b.|2.5.36
[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 _0xea4d=['./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','debug','[%s][dials][newexten]','application','appdata','set','startsWith','toLowerCase','cdr(routeid)','error','varset','[%s][dials][varset]','isNil','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','dialbegin','[%s][dials][dialbegin]','starttime','now','lastevent','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','assign','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','calleridnum','calleridname','cause-txt','complete','duration','holdtime','diffTime','billableseconds','endtime','[%s][dials][hangup]','lodash','util'];(function(_0x299608,_0x56c606){var _0x41d9c2=function(_0x295757){while(--_0x295757){_0x299608['push'](_0x299608['shift']());}};_0x41d9c2(++_0x56c606);}(_0xea4d,0x142));var _0xdea4=function(_0x5e58d0,_0xa89fd7){_0x5e58d0=_0x5e58d0-0x0;var _0x1663e0=_0xea4d[_0x5e58d0];return _0x1663e0;};'use strict';var _=require(_0xdea4('0x0'));var util=require(_0xdea4('0x1'));var utils=require(_0xdea4('0x2'));var dials={};function writeDB(_0x3be64a){utils[_0xdea4('0x3')](util[_0xdea4('0x4')](_0xdea4('0x5'),_0x3be64a['uniqueid'],_0x3be64a[_0xdea4('0x6')],_0x3be64a['dialstring'],_0x3be64a['calleridnum'],_0x3be64a[_0xdea4('0x7')],_0x3be64a[_0xdea4('0x8')]));utils[_0xdea4('0x9')](_0xdea4('0xa'),_0x3be64a);delete dials[_0x3be64a[_0xdea4('0xb')]];}exports[_0xdea4('0xc')]=function(_0x23b199){try{utils[_0xdea4('0xd')](util[_0xdea4('0x4')](_0xdea4('0xe'),_0x23b199['uniqueid']),_0x23b199);utils[_0xdea4('0x3')](util['format']('[%s][dials][newexten]\x20application:%s\x20appdata:%s',_0x23b199[_0xdea4('0xb')],_0x23b199[_0xdea4('0xf')],_0x23b199[_0xdea4('0x10')]));if(_0x23b199[_0xdea4('0xf')]['toLowerCase']()==_0xdea4('0x11')&&_[_0xdea4('0x12')](_0x23b199['appdata'][_0xdea4('0x13')](),_0xdea4('0x14'))){var _0x53f143=_0x23b199[_0xdea4('0x10')]['split']('=');dials[_0x23b199[_0xdea4('0xb')]]={'routeId':_0x53f143[0x1]};}}catch(_0x299d50){utils[_0xdea4('0x15')](util[_0xdea4('0x4')]('[%s][dials][newexten]',_0x23b199[_0xdea4('0xb')]),_0x299d50);}};exports[_0xdea4('0x16')]=function(_0x57876e){try{utils['debug'](util[_0xdea4('0x4')](_0xdea4('0x17'),_0x57876e[_0xdea4('0xb')]),_0x57876e);if(!_[_0xdea4('0x18')](_0x57876e['variable'][_0xdea4('0x19')])){utils[_0xdea4('0x3')](util[_0xdea4('0x4')](_0xdea4('0x1a'),_0x57876e[_0xdea4('0xb')],_0x57876e[_0xdea4('0x1b')]));dials[_0x57876e[_0xdea4('0xb')]]={'routeId':_0x57876e[_0xdea4('0x1b')]};}}catch(_0x2fdbf5){utils[_0xdea4('0x15')](util[_0xdea4('0x4')]('[%s][dials][varset]',_0x57876e[_0xdea4('0xb')]),_0x2fdbf5);}};exports[_0xdea4('0x1c')]=function(_0x4d0f82){try{if(!_[_0xdea4('0x18')](dials[_0x4d0f82['uniqueid']])){utils[_0xdea4('0xd')](util[_0xdea4('0x4')](_0xdea4('0x1d'),_0x4d0f82[_0xdea4('0xb')]),_0x4d0f82);dials[_0x4d0f82[_0xdea4('0xb')]]=_['assign'](dials[_0x4d0f82[_0xdea4('0xb')]],_0x4d0f82);dials[_0x4d0f82['uniqueid']][_0xdea4('0x1e')]=utils[_0xdea4('0x1f')]();dials[_0x4d0f82[_0xdea4('0xb')]][_0xdea4('0x20')]='called';utils['info'](util[_0xdea4('0x4')](_0xdea4('0x21'),_0x4d0f82[_0xdea4('0xb')],dials[_0x4d0f82[_0xdea4('0xb')]][_0xdea4('0x1e')]));}}catch(_0x510a49){utils[_0xdea4('0x15')](util[_0xdea4('0x4')](_0xdea4('0x1d'),_0x4d0f82[_0xdea4('0xb')]),_0x510a49);}};exports[_0xdea4('0x22')]=function(_0x1f7282){try{if(!_[_0xdea4('0x18')](dials[_0x1f7282[_0xdea4('0xb')]])){utils[_0xdea4('0xd')](util[_0xdea4('0x4')](_0xdea4('0x23'),_0x1f7282['uniqueid']),_0x1f7282);dials[_0x1f7282[_0xdea4('0xb')]][_0xdea4('0x8')]=_0x1f7282[_0xdea4('0x8')];if(_0x1f7282[_0xdea4('0x8')]==_0xdea4('0x24')){dials[_0x1f7282['uniqueid']]=_[_0xdea4('0x25')](dials[_0x1f7282[_0xdea4('0xb')]],_0x1f7282);dials[_0x1f7282[_0xdea4('0xb')]][_0xdea4('0x26')]=utils[_0xdea4('0x1f')]();dials[_0x1f7282[_0xdea4('0xb')]]['lastevent']=_0xdea4('0x27');utils[_0xdea4('0x3')](util[_0xdea4('0x4')](_0xdea4('0x28'),_0x1f7282[_0xdea4('0xb')],_0x1f7282['dialstatus'],dials[_0x1f7282[_0xdea4('0xb')]][_0xdea4('0x26')]));}else{utils[_0xdea4('0x3')](util[_0xdea4('0x4')](_0xdea4('0x29'),_0x1f7282[_0xdea4('0xb')],_0x1f7282['dialstatus']));}}}catch(_0x218329){utils[_0xdea4('0x15')](util['format']('[%s][dials][dialend]',_0x1f7282[_0xdea4('0xb')]),_0x218329);}};exports[_0xdea4('0x2a')]=function(_0x313aae){try{if(!_['isNil'](dials[_0x313aae['uniqueid']])){utils['debug'](util[_0xdea4('0x4')]('[%s][dials][hangup]',_0x313aae[_0xdea4('0xb')]),_0x313aae);utils[_0xdea4('0x3')](util[_0xdea4('0x4')](_0xdea4('0x2b'),_0x313aae[_0xdea4('0xb')],_0x313aae[_0xdea4('0x2c')],_0x313aae[_0xdea4('0x2d')],_0x313aae[_0xdea4('0x2e')]));dials[_0x313aae[_0xdea4('0xb')]]=_[_0xdea4('0x25')](dials[_0x313aae['uniqueid']],{'endtime':utils['now'](),'lastevent':_0xdea4('0x2f')});dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x30')]=utils['diffTime'](dials[_0x313aae['uniqueid']]['endtime'],dials[_0x313aae['uniqueid']]['starttime']);dials[_0x313aae['uniqueid']][_0xdea4('0x31')]=utils[_0xdea4('0x32')](dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x26')]||dials[_0x313aae[_0xdea4('0xb')]]['endtime'],dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x1e')]);dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x33')]=dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x26')]?utils['diffTime'](dials[_0x313aae['uniqueid']][_0xdea4('0x34')],dials[_0x313aae[_0xdea4('0xb')]][_0xdea4('0x26')]):0x0;writeDB(dials[_0x313aae['uniqueid']]);}}catch(_0x2ca578){utils[_0xdea4('0x15')](util[_0xdea4('0x4')](_0xdea4('0x35'),_0x313aae[_0xdea4('0xb')]),_0x2ca578);}};