Built motion from commit 3e059bc2.|2.5.32
[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 _0x3194=['request','CreateVoiceDialReport','uniqueid','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','cdr(routeid)','split','error','isNil','variable','outboundrouteid','value','[%s][dials][varset]','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialend]','answertime','connect','calleridname','complete','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','lodash','./utils','info','format','channel','dialstring','calleridnum','connectedlinenum','dialstatus'];(function(_0x5f0d74,_0xf3c095){var _0x1fda61=function(_0x2c59af){while(--_0x2c59af){_0x5f0d74['push'](_0x5f0d74['shift']());}};_0x1fda61(++_0xf3c095);}(_0x3194,0x16f));var _0x4319=function(_0x201f86,_0x2a2ab6){_0x201f86=_0x201f86-0x0;var _0x5a60f0=_0x3194[_0x201f86];return _0x5a60f0;};'use strict';var _=require(_0x4319('0x0'));var util=require('util');var utils=require(_0x4319('0x1'));var dials={};function writeDB(_0x44e359){utils[_0x4319('0x2')](util[_0x4319('0x3')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x44e359['uniqueid'],_0x44e359[_0x4319('0x4')],_0x44e359[_0x4319('0x5')],_0x44e359[_0x4319('0x6')],_0x44e359[_0x4319('0x7')],_0x44e359[_0x4319('0x8')]));utils[_0x4319('0x9')](_0x4319('0xa'),_0x44e359);delete dials[_0x44e359[_0x4319('0xb')]];}exports[_0x4319('0xc')]=function(_0x8a6d1d){try{utils[_0x4319('0xd')](util[_0x4319('0x3')](_0x4319('0xe'),_0x8a6d1d[_0x4319('0xb')]),_0x8a6d1d);utils[_0x4319('0x2')](util[_0x4319('0x3')](_0x4319('0xf'),_0x8a6d1d[_0x4319('0xb')],_0x8a6d1d[_0x4319('0x10')],_0x8a6d1d[_0x4319('0x11')]));if(_0x8a6d1d[_0x4319('0x10')][_0x4319('0x12')]()==_0x4319('0x13')&&_['startsWith'](_0x8a6d1d[_0x4319('0x11')][_0x4319('0x12')](),_0x4319('0x14'))){var _0x1434f5=_0x8a6d1d[_0x4319('0x11')][_0x4319('0x15')]('=');dials[_0x8a6d1d['uniqueid']]={'routeId':_0x1434f5[0x1]};}}catch(_0x1250a6){utils[_0x4319('0x16')](util[_0x4319('0x3')](_0x4319('0xe'),_0x8a6d1d[_0x4319('0xb')]),_0x1250a6);}};exports['varset']=function(_0x106dc7){try{utils['debug'](util[_0x4319('0x3')]('[%s][dials][varset]',_0x106dc7[_0x4319('0xb')]),_0x106dc7);if(!_[_0x4319('0x17')](_0x106dc7[_0x4319('0x18')][_0x4319('0x19')])){utils[_0x4319('0x2')](util[_0x4319('0x3')]('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x106dc7[_0x4319('0xb')],_0x106dc7['value']));dials[_0x106dc7[_0x4319('0xb')]]={'routeId':_0x106dc7[_0x4319('0x1a')]};}}catch(_0x24286e){utils[_0x4319('0x16')](util[_0x4319('0x3')](_0x4319('0x1b'),_0x106dc7['uniqueid']),_0x24286e);}};exports[_0x4319('0x1c')]=function(_0x50d591){try{if(!_[_0x4319('0x17')](dials[_0x50d591[_0x4319('0xb')]])){utils[_0x4319('0xd')](util[_0x4319('0x3')](_0x4319('0x1d'),_0x50d591[_0x4319('0xb')]),_0x50d591);dials[_0x50d591[_0x4319('0xb')]]=_[_0x4319('0x1e')](dials[_0x50d591['uniqueid']],_0x50d591);dials[_0x50d591[_0x4319('0xb')]][_0x4319('0x1f')]=utils[_0x4319('0x20')]();dials[_0x50d591[_0x4319('0xb')]][_0x4319('0x21')]=_0x4319('0x22');utils['info'](util[_0x4319('0x3')](_0x4319('0x23'),_0x50d591[_0x4319('0xb')],dials[_0x50d591[_0x4319('0xb')]][_0x4319('0x1f')]));}}catch(_0x5964b0){utils[_0x4319('0x16')](util[_0x4319('0x3')](_0x4319('0x1d'),_0x50d591[_0x4319('0xb')]),_0x5964b0);}};exports['dialend']=function(_0x42167b){try{if(!_[_0x4319('0x17')](dials[_0x42167b[_0x4319('0xb')]])){utils[_0x4319('0xd')](util[_0x4319('0x3')](_0x4319('0x24'),_0x42167b[_0x4319('0xb')]),_0x42167b);dials[_0x42167b[_0x4319('0xb')]][_0x4319('0x8')]=_0x42167b[_0x4319('0x8')];if(_0x42167b['dialstatus']=='ANSWER'){dials[_0x42167b[_0x4319('0xb')]]=_[_0x4319('0x1e')](dials[_0x42167b[_0x4319('0xb')]],_0x42167b);dials[_0x42167b[_0x4319('0xb')]][_0x4319('0x25')]=utils[_0x4319('0x20')]();dials[_0x42167b['uniqueid']][_0x4319('0x21')]=_0x4319('0x26');utils[_0x4319('0x2')](util[_0x4319('0x3')]('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x42167b['uniqueid'],_0x42167b[_0x4319('0x8')],dials[_0x42167b['uniqueid']][_0x4319('0x25')]));}else{utils[_0x4319('0x2')](util[_0x4319('0x3')]('[%s][dials][dialend]\x20dialstatus:%s',_0x42167b['uniqueid'],_0x42167b[_0x4319('0x8')]));}}}catch(_0x4c123a){utils[_0x4319('0x16')](util[_0x4319('0x3')](_0x4319('0x24'),_0x42167b['uniqueid']),_0x4c123a);}};exports['hangup']=function(_0x5f3315){try{if(!_[_0x4319('0x17')](dials[_0x5f3315[_0x4319('0xb')]])){utils[_0x4319('0xd')](util[_0x4319('0x3')]('[%s][dials][hangup]',_0x5f3315[_0x4319('0xb')]),_0x5f3315);utils[_0x4319('0x2')](util[_0x4319('0x3')]('[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s',_0x5f3315['uniqueid'],_0x5f3315[_0x4319('0x6')],_0x5f3315[_0x4319('0x27')],_0x5f3315['cause-txt']));dials[_0x5f3315[_0x4319('0xb')]]=_[_0x4319('0x1e')](dials[_0x5f3315[_0x4319('0xb')]],{'endtime':utils[_0x4319('0x20')](),'lastevent':_0x4319('0x28')});dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x29')]=utils[_0x4319('0x2a')](dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x2b')],dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x1f')]);dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x2c')]=utils[_0x4319('0x2a')](dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x25')]||dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x2b')],dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x1f')]);dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x2d')]=dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x25')]?utils[_0x4319('0x2a')](dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x2b')],dials[_0x5f3315[_0x4319('0xb')]][_0x4319('0x25')]):0x0;writeDB(dials[_0x5f3315['uniqueid']]);}}catch(_0x9f8066){utils[_0x4319('0x16')](util[_0x4319('0x3')](_0x4319('0x2e'),_0x5f3315[_0x4319('0xb')]),_0x9f8066);}};