c2978731d4148bae9bca3ba4b4e4a382a2c1a90e
[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 _0x932d=['calleridnum','calleridname','cause-txt','duration','diffTime','endtime','holdtime','lodash','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','dialstatus','uniqueid','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','appdata','application','set','startsWith','toLowerCase','cdr(routeid)','split','error','varset','isNil','variable','outboundrouteid','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','[%s][dials][varset]','dialbegin','[%s][dials][dialbegin]','assign','starttime','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s'];(function(_0x39e84d,_0x11931d){var _0x1991bc=function(_0xc81e32){while(--_0xc81e32){_0x39e84d['push'](_0x39e84d['shift']());}};_0x1991bc(++_0x11931d);}(_0x932d,0xd7));var _0xd932=function(_0x10fe9e,_0x1bba66){_0x10fe9e=_0x10fe9e-0x0;var _0xae2c51=_0x932d[_0x10fe9e];return _0xae2c51;};'use strict';var _=require(_0xd932('0x0'));var util=require('util');var utils=require(_0xd932('0x1'));var dials={};function writeDB(_0x5d757a){utils[_0xd932('0x2')](util[_0xd932('0x3')](_0xd932('0x4'),_0x5d757a['uniqueid'],_0x5d757a[_0xd932('0x5')],_0x5d757a[_0xd932('0x6')],_0x5d757a['calleridnum'],_0x5d757a['connectedlinenum'],_0x5d757a[_0xd932('0x7')]));utils['request']('CreateVoiceDialReport',_0x5d757a);delete dials[_0x5d757a[_0xd932('0x8')]];}exports['newexten']=function(_0x33d7e7){try{utils[_0xd932('0x9')](util[_0xd932('0x3')](_0xd932('0xa'),_0x33d7e7[_0xd932('0x8')]),_0x33d7e7);utils[_0xd932('0x2')](util['format'](_0xd932('0xb'),_0x33d7e7['uniqueid'],_0x33d7e7['application'],_0x33d7e7[_0xd932('0xc')]));if(_0x33d7e7[_0xd932('0xd')]['toLowerCase']()==_0xd932('0xe')&&_[_0xd932('0xf')](_0x33d7e7[_0xd932('0xc')][_0xd932('0x10')](),_0xd932('0x11'))){var _0x390971=_0x33d7e7[_0xd932('0xc')][_0xd932('0x12')]('=');dials[_0x33d7e7['uniqueid']]={'routeId':_0x390971[0x1]};}}catch(_0x557f2f){utils[_0xd932('0x13')](util[_0xd932('0x3')](_0xd932('0xa'),_0x33d7e7['uniqueid']),_0x557f2f);}};exports[_0xd932('0x14')]=function(_0x98ceb2){try{utils['debug'](util['format']('[%s][dials][varset]',_0x98ceb2[_0xd932('0x8')]),_0x98ceb2);if(!_[_0xd932('0x15')](_0x98ceb2[_0xd932('0x16')][_0xd932('0x17')])){utils['info'](util[_0xd932('0x3')](_0xd932('0x18'),_0x98ceb2['uniqueid'],_0x98ceb2['value']));dials[_0x98ceb2[_0xd932('0x8')]]={'routeId':_0x98ceb2[_0xd932('0x19')]};}}catch(_0x2c9b1c){utils[_0xd932('0x13')](util[_0xd932('0x3')](_0xd932('0x1a'),_0x98ceb2['uniqueid']),_0x2c9b1c);}};exports[_0xd932('0x1b')]=function(_0x3dc213){try{if(!_[_0xd932('0x15')](dials[_0x3dc213[_0xd932('0x8')]])){utils[_0xd932('0x9')](util[_0xd932('0x3')](_0xd932('0x1c'),_0x3dc213[_0xd932('0x8')]),_0x3dc213);dials[_0x3dc213[_0xd932('0x8')]]=_[_0xd932('0x1d')](dials[_0x3dc213[_0xd932('0x8')]],_0x3dc213);dials[_0x3dc213['uniqueid']][_0xd932('0x1e')]=utils[_0xd932('0x1f')]();dials[_0x3dc213[_0xd932('0x8')]][_0xd932('0x20')]=_0xd932('0x21');utils[_0xd932('0x2')](util['format'](_0xd932('0x22'),_0x3dc213[_0xd932('0x8')],dials[_0x3dc213['uniqueid']][_0xd932('0x1e')]));}}catch(_0x1d73e1){utils['error'](util[_0xd932('0x3')](_0xd932('0x1c'),_0x3dc213[_0xd932('0x8')]),_0x1d73e1);}};exports[_0xd932('0x23')]=function(_0xc65d1){try{if(!_[_0xd932('0x15')](dials[_0xc65d1[_0xd932('0x8')]])){utils[_0xd932('0x9')](util[_0xd932('0x3')](_0xd932('0x24'),_0xc65d1[_0xd932('0x8')]),_0xc65d1);dials[_0xc65d1[_0xd932('0x8')]][_0xd932('0x7')]=_0xc65d1['dialstatus'];if(_0xc65d1[_0xd932('0x7')]==_0xd932('0x25')){dials[_0xc65d1[_0xd932('0x8')]]=_['assign'](dials[_0xc65d1[_0xd932('0x8')]],_0xc65d1);dials[_0xc65d1[_0xd932('0x8')]]['answertime']=utils[_0xd932('0x1f')]();dials[_0xc65d1[_0xd932('0x8')]][_0xd932('0x20')]=_0xd932('0x26');utils[_0xd932('0x2')](util[_0xd932('0x3')](_0xd932('0x27'),_0xc65d1[_0xd932('0x8')],_0xc65d1[_0xd932('0x7')],dials[_0xc65d1[_0xd932('0x8')]][_0xd932('0x28')]));}else{utils[_0xd932('0x2')](util[_0xd932('0x3')](_0xd932('0x29'),_0xc65d1[_0xd932('0x8')],_0xc65d1[_0xd932('0x7')]));}}}catch(_0x24a2d5){utils[_0xd932('0x13')](util[_0xd932('0x3')](_0xd932('0x24'),_0xc65d1[_0xd932('0x8')]),_0x24a2d5);}};exports[_0xd932('0x2a')]=function(_0x136e58){try{if(!_['isNil'](dials[_0x136e58[_0xd932('0x8')]])){utils['debug'](util[_0xd932('0x3')](_0xd932('0x2b'),_0x136e58[_0xd932('0x8')]),_0x136e58);utils[_0xd932('0x2')](util[_0xd932('0x3')](_0xd932('0x2c'),_0x136e58[_0xd932('0x8')],_0x136e58[_0xd932('0x2d')],_0x136e58[_0xd932('0x2e')],_0x136e58[_0xd932('0x2f')]));dials[_0x136e58['uniqueid']]=_[_0xd932('0x1d')](dials[_0x136e58[_0xd932('0x8')]],{'endtime':utils[_0xd932('0x1f')](),'lastevent':'complete'});dials[_0x136e58['uniqueid']][_0xd932('0x30')]=utils[_0xd932('0x31')](dials[_0x136e58[_0xd932('0x8')]][_0xd932('0x32')],dials[_0x136e58[_0xd932('0x8')]][_0xd932('0x1e')]);dials[_0x136e58[_0xd932('0x8')]][_0xd932('0x33')]=utils[_0xd932('0x31')](dials[_0x136e58['uniqueid']][_0xd932('0x28')]||dials[_0x136e58['uniqueid']][_0xd932('0x32')],dials[_0x136e58[_0xd932('0x8')]][_0xd932('0x1e')]);dials[_0x136e58[_0xd932('0x8')]]['billableseconds']=dials[_0x136e58[_0xd932('0x8')]]['answertime']?utils[_0xd932('0x31')](dials[_0x136e58[_0xd932('0x8')]][_0xd932('0x32')],dials[_0x136e58['uniqueid']]['answertime']):0x0;writeDB(dials[_0x136e58[_0xd932('0x8')]]);}}catch(_0x55b607){utils[_0xd932('0x13')](util[_0xd932('0x3')]('[%s][dials][hangup]',_0x136e58[_0xd932('0x8')]),_0x55b607);}};