Built motion from commit (unavailable).|2.5.8
[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 _0x388d=['[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','error','dialbegin','[%s][dials][dialbegin]','assign','starttime','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','dialend','[%s][dials][dialend]','ANSWER','answertime','lastevent','connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','now','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','./utils','info','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','calleridnum','connectedlinenum','dialstatus','CreateVoiceDialReport','uniqueid','newexten','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','appdata','cdr(routeid)','varset','debug','[%s][dials][varset]','isNil','variable','outboundrouteid'];(function(_0x37ce88,_0x19209d){var _0x3d2f2f=function(_0x35d597){while(--_0x35d597){_0x37ce88['push'](_0x37ce88['shift']());}};_0x3d2f2f(++_0x19209d);}(_0x388d,0x146));var _0xd388=function(_0x3d5390,_0x31d180){_0x3d5390=_0x3d5390-0x0;var _0x3a0ffb=_0x388d[_0x3d5390];return _0x3a0ffb;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0xd388('0x0'));var dials={};function writeDB(_0x538af9){utils[_0xd388('0x1')](util[_0xd388('0x2')](_0xd388('0x3'),_0x538af9['uniqueid'],_0x538af9[_0xd388('0x4')],_0x538af9[_0xd388('0x5')],_0x538af9[_0xd388('0x6')],_0x538af9[_0xd388('0x7')],_0x538af9[_0xd388('0x8')]));utils['request'](_0xd388('0x9'),_0x538af9);delete dials[_0x538af9[_0xd388('0xa')]];}exports[_0xd388('0xb')]=function(_0x48773b){try{utils['debug'](util[_0xd388('0x2')](_0xd388('0xc'),_0x48773b[_0xd388('0xa')]),_0x48773b);utils[_0xd388('0x1')](util[_0xd388('0x2')](_0xd388('0xd'),_0x48773b[_0xd388('0xa')],_0x48773b[_0xd388('0xe')],_0x48773b['appdata']));if(_0x48773b[_0xd388('0xe')][_0xd388('0xf')]()=='set'&&_['startsWith'](_0x48773b[_0xd388('0x10')]['toLowerCase'](),_0xd388('0x11'))){var _0x17eb36=_0x48773b[_0xd388('0x10')]['split']('=');dials[_0x48773b[_0xd388('0xa')]]={'routeId':_0x17eb36[0x1]};}}catch(_0x3abfae){utils['error'](util[_0xd388('0x2')](_0xd388('0xc'),_0x48773b[_0xd388('0xa')]),_0x3abfae);}};exports[_0xd388('0x12')]=function(_0x5429eb){try{utils[_0xd388('0x13')](util['format'](_0xd388('0x14'),_0x5429eb[_0xd388('0xa')]),_0x5429eb);if(!_[_0xd388('0x15')](_0x5429eb[_0xd388('0x16')][_0xd388('0x17')])){utils[_0xd388('0x1')](util[_0xd388('0x2')](_0xd388('0x18'),_0x5429eb['uniqueid'],_0x5429eb[_0xd388('0x19')]));dials[_0x5429eb[_0xd388('0xa')]]={'routeId':_0x5429eb['value']};}}catch(_0x303365){utils[_0xd388('0x1a')](util['format'](_0xd388('0x14'),_0x5429eb['uniqueid']),_0x303365);}};exports[_0xd388('0x1b')]=function(_0xf520ad){try{if(!_[_0xd388('0x15')](dials[_0xf520ad[_0xd388('0xa')]])){utils[_0xd388('0x13')](util[_0xd388('0x2')](_0xd388('0x1c'),_0xf520ad[_0xd388('0xa')]),_0xf520ad);dials[_0xf520ad['uniqueid']]=_[_0xd388('0x1d')](dials[_0xf520ad[_0xd388('0xa')]],_0xf520ad);dials[_0xf520ad['uniqueid']][_0xd388('0x1e')]=utils['now']();dials[_0xf520ad[_0xd388('0xa')]]['lastevent']=_0xd388('0x1f');utils[_0xd388('0x1')](util[_0xd388('0x2')](_0xd388('0x20'),_0xf520ad['uniqueid'],dials[_0xf520ad[_0xd388('0xa')]][_0xd388('0x1e')]));}}catch(_0x5b88d7){utils[_0xd388('0x1a')](util[_0xd388('0x2')](_0xd388('0x1c'),_0xf520ad[_0xd388('0xa')]),_0x5b88d7);}};exports[_0xd388('0x21')]=function(_0x1b1d37){try{if(!_[_0xd388('0x15')](dials[_0x1b1d37['uniqueid']])){utils[_0xd388('0x13')](util['format'](_0xd388('0x22'),_0x1b1d37['uniqueid']),_0x1b1d37);dials[_0x1b1d37[_0xd388('0xa')]][_0xd388('0x8')]=_0x1b1d37[_0xd388('0x8')];if(_0x1b1d37['dialstatus']==_0xd388('0x23')){dials[_0x1b1d37[_0xd388('0xa')]]=_[_0xd388('0x1d')](dials[_0x1b1d37[_0xd388('0xa')]],_0x1b1d37);dials[_0x1b1d37[_0xd388('0xa')]][_0xd388('0x24')]=utils['now']();dials[_0x1b1d37[_0xd388('0xa')]][_0xd388('0x25')]=_0xd388('0x26');utils['info'](util[_0xd388('0x2')]('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x1b1d37[_0xd388('0xa')],_0x1b1d37[_0xd388('0x8')],dials[_0x1b1d37[_0xd388('0xa')]][_0xd388('0x24')]));}else{utils[_0xd388('0x1')](util[_0xd388('0x2')](_0xd388('0x27'),_0x1b1d37['uniqueid'],_0x1b1d37[_0xd388('0x8')]));}}}catch(_0x30cf20){utils[_0xd388('0x1a')](util[_0xd388('0x2')](_0xd388('0x22'),_0x1b1d37[_0xd388('0xa')]),_0x30cf20);}};exports[_0xd388('0x28')]=function(_0x5abe50){try{if(!_['isNil'](dials[_0x5abe50[_0xd388('0xa')]])){utils[_0xd388('0x13')](util[_0xd388('0x2')]('[%s][dials][hangup]',_0x5abe50[_0xd388('0xa')]),_0x5abe50);utils['info'](util[_0xd388('0x2')](_0xd388('0x29'),_0x5abe50[_0xd388('0xa')],_0x5abe50[_0xd388('0x6')],_0x5abe50[_0xd388('0x2a')],_0x5abe50['cause-txt']));dials[_0x5abe50[_0xd388('0xa')]]=_[_0xd388('0x1d')](dials[_0x5abe50[_0xd388('0xa')]],{'endtime':utils[_0xd388('0x2b')](),'lastevent':'complete'});dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x2c')]=utils[_0xd388('0x2d')](dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x2e')],dials[_0x5abe50[_0xd388('0xa')]]['starttime']);dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x2f')]=utils['diffTime'](dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x24')]||dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x2e')],dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x1e')]);dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x30')]=dials[_0x5abe50['uniqueid']][_0xd388('0x24')]?utils['diffTime'](dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x2e')],dials[_0x5abe50[_0xd388('0xa')]][_0xd388('0x24')]):0x0;writeDB(dials[_0x5abe50[_0xd388('0xa')]]);}}catch(_0x31864e){utils[_0xd388('0x1a')](util[_0xd388('0x2')](_0xd388('0x31'),_0x5abe50['uniqueid']),_0x31864e);}};