Built motion from commit (unavailable).|2.5.18
[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 _0x76f2=['hangup','calleridnum','calleridname','cause-txt','now','complete','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','uniqueid','channel','dialstring','connectedlinenum','dialstatus','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','set','startsWith','cdr(routeid)','appdata','split','error','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','ANSWER','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','[%s][dials][dialend]'];(function(_0x312e97,_0x3f7edd){var _0xd35c52=function(_0x9b8443){while(--_0x9b8443){_0x312e97['push'](_0x312e97['shift']());}};_0xd35c52(++_0x3f7edd);}(_0x76f2,0xb1));var _0x276f=function(_0x75e6a0,_0x1689aa){_0x75e6a0=_0x75e6a0-0x0;var _0xf677c=_0x76f2[_0x75e6a0];return _0xf677c;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0x276f('0x0'));var dials={};function writeDB(_0x2a10ad){utils[_0x276f('0x1')](util[_0x276f('0x2')](_0x276f('0x3'),_0x2a10ad[_0x276f('0x4')],_0x2a10ad[_0x276f('0x5')],_0x2a10ad[_0x276f('0x6')],_0x2a10ad['calleridnum'],_0x2a10ad[_0x276f('0x7')],_0x2a10ad[_0x276f('0x8')]));utils['request'](_0x276f('0x9'),_0x2a10ad);delete dials[_0x2a10ad[_0x276f('0x4')]];}exports[_0x276f('0xa')]=function(_0x3acefd){try{utils[_0x276f('0xb')](util[_0x276f('0x2')](_0x276f('0xc'),_0x3acefd[_0x276f('0x4')]),_0x3acefd);utils[_0x276f('0x1')](util[_0x276f('0x2')](_0x276f('0xd'),_0x3acefd[_0x276f('0x4')],_0x3acefd[_0x276f('0xe')],_0x3acefd['appdata']));if(_0x3acefd[_0x276f('0xe')][_0x276f('0xf')]()==_0x276f('0x10')&&_[_0x276f('0x11')](_0x3acefd['appdata'][_0x276f('0xf')](),_0x276f('0x12'))){var _0xfe4d53=_0x3acefd[_0x276f('0x13')][_0x276f('0x14')]('=');dials[_0x3acefd[_0x276f('0x4')]]={'routeId':_0xfe4d53[0x1]};}}catch(_0x3c83cd){utils[_0x276f('0x15')](util['format']('[%s][dials][newexten]',_0x3acefd[_0x276f('0x4')]),_0x3c83cd);}};exports[_0x276f('0x16')]=function(_0x3349e0){try{utils['debug'](util['format'](_0x276f('0x17'),_0x3349e0[_0x276f('0x4')]),_0x3349e0);if(!_[_0x276f('0x18')](_0x3349e0[_0x276f('0x19')][_0x276f('0x1a')])){utils[_0x276f('0x1')](util[_0x276f('0x2')](_0x276f('0x1b'),_0x3349e0[_0x276f('0x4')],_0x3349e0[_0x276f('0x1c')]));dials[_0x3349e0['uniqueid']]={'routeId':_0x3349e0[_0x276f('0x1c')]};}}catch(_0x361170){utils[_0x276f('0x15')](util['format'](_0x276f('0x17'),_0x3349e0['uniqueid']),_0x361170);}};exports[_0x276f('0x1d')]=function(_0x3c4a12){try{if(!_[_0x276f('0x18')](dials[_0x3c4a12[_0x276f('0x4')]])){utils[_0x276f('0xb')](util[_0x276f('0x2')](_0x276f('0x1e'),_0x3c4a12[_0x276f('0x4')]),_0x3c4a12);dials[_0x3c4a12[_0x276f('0x4')]]=_[_0x276f('0x1f')](dials[_0x3c4a12[_0x276f('0x4')]],_0x3c4a12);dials[_0x3c4a12[_0x276f('0x4')]][_0x276f('0x20')]=utils['now']();dials[_0x3c4a12[_0x276f('0x4')]][_0x276f('0x21')]=_0x276f('0x22');utils[_0x276f('0x1')](util[_0x276f('0x2')](_0x276f('0x23'),_0x3c4a12[_0x276f('0x4')],dials[_0x3c4a12[_0x276f('0x4')]][_0x276f('0x20')]));}}catch(_0x390515){utils[_0x276f('0x15')](util[_0x276f('0x2')](_0x276f('0x1e'),_0x3c4a12[_0x276f('0x4')]),_0x390515);}};exports[_0x276f('0x24')]=function(_0x2c0ff1){try{if(!_['isNil'](dials[_0x2c0ff1[_0x276f('0x4')]])){utils[_0x276f('0xb')](util[_0x276f('0x2')]('[%s][dials][dialend]',_0x2c0ff1[_0x276f('0x4')]),_0x2c0ff1);dials[_0x2c0ff1['uniqueid']][_0x276f('0x8')]=_0x2c0ff1[_0x276f('0x8')];if(_0x2c0ff1['dialstatus']==_0x276f('0x25')){dials[_0x2c0ff1['uniqueid']]=_['assign'](dials[_0x2c0ff1[_0x276f('0x4')]],_0x2c0ff1);dials[_0x2c0ff1['uniqueid']]['answertime']=utils['now']();dials[_0x2c0ff1['uniqueid']][_0x276f('0x21')]=_0x276f('0x26');utils[_0x276f('0x1')](util[_0x276f('0x2')](_0x276f('0x27'),_0x2c0ff1[_0x276f('0x4')],_0x2c0ff1[_0x276f('0x8')],dials[_0x2c0ff1[_0x276f('0x4')]][_0x276f('0x28')]));}else{utils[_0x276f('0x1')](util['format'](_0x276f('0x29'),_0x2c0ff1[_0x276f('0x4')],_0x2c0ff1[_0x276f('0x8')]));}}}catch(_0x28b1d6){utils[_0x276f('0x15')](util[_0x276f('0x2')](_0x276f('0x2a'),_0x2c0ff1[_0x276f('0x4')]),_0x28b1d6);}};exports[_0x276f('0x2b')]=function(_0x53a100){try{if(!_[_0x276f('0x18')](dials[_0x53a100[_0x276f('0x4')]])){utils[_0x276f('0xb')](util[_0x276f('0x2')]('[%s][dials][hangup]',_0x53a100[_0x276f('0x4')]),_0x53a100);utils[_0x276f('0x1')](util[_0x276f('0x2')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x53a100[_0x276f('0x4')],_0x53a100[_0x276f('0x2c')],_0x53a100[_0x276f('0x2d')],_0x53a100[_0x276f('0x2e')]));dials[_0x53a100['uniqueid']]=_[_0x276f('0x1f')](dials[_0x53a100['uniqueid']],{'endtime':utils[_0x276f('0x2f')](),'lastevent':_0x276f('0x30')});dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x31')]=utils[_0x276f('0x32')](dials[_0x53a100['uniqueid']][_0x276f('0x33')],dials[_0x53a100['uniqueid']][_0x276f('0x20')]);dials[_0x53a100['uniqueid']][_0x276f('0x34')]=utils[_0x276f('0x32')](dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x28')]||dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x33')],dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x20')]);dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x35')]=dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x28')]?utils[_0x276f('0x32')](dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x33')],dials[_0x53a100[_0x276f('0x4')]][_0x276f('0x28')]):0x0;writeDB(dials[_0x53a100['uniqueid']]);}}catch(_0x186237){utils[_0x276f('0x15')](util[_0x276f('0x2')](_0x276f('0x36'),_0x53a100[_0x276f('0x4')]),_0x186237);}};