Built motion from commit (unavailable).|2.4.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 _0xe55f=['channel','dialstring','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','newexten','application','toLowerCase','set','startsWith','appdata','cdr(routeid)','split','error','stack','varset','isNil','variable','outboundrouteid','value','dialbegin','assign','starttime','lastevent','called','dialend','ANSWER','answertime','now','connect','hangup','complete','diffTime','holdtime','endtime','lodash','info','format','DIAL|%s|%s|%s|%s|%s|%s','uniqueid'];(function(_0x4122d5,_0x1a53b8){var _0x4be5cb=function(_0x3b0d72){while(--_0x3b0d72){_0x4122d5['push'](_0x4122d5['shift']());}};_0x4be5cb(++_0x1a53b8);}(_0xe55f,0x1f3));var _0xfe55=function(_0x137cd7,_0x28f679){_0x137cd7=_0x137cd7-0x0;var _0x9ca7cd=_0xe55f[_0x137cd7];return _0x9ca7cd;};'use strict';var _=require(_0xfe55('0x0'));var util=require('util');var utils=require('./utils');var dials={};function writeDB(_0xa71b34){utils[_0xfe55('0x1')](util[_0xfe55('0x2')](_0xfe55('0x3'),_0xa71b34[_0xfe55('0x4')],_0xa71b34[_0xfe55('0x5')],_0xa71b34[_0xfe55('0x6')],_0xa71b34[_0xfe55('0x7')],_0xa71b34[_0xfe55('0x8')],_0xa71b34[_0xfe55('0x9')]));utils[_0xfe55('0xa')](_0xfe55('0xb'),_0xa71b34);delete dials[_0xa71b34['uniqueid']];}exports[_0xfe55('0xc')]=function(_0x578f63){try{if(_0x578f63[_0xfe55('0xd')][_0xfe55('0xe')]()==_0xfe55('0xf')&&_[_0xfe55('0x10')](_0x578f63[_0xfe55('0x11')][_0xfe55('0xe')](),_0xfe55('0x12'))){var _0x559465=_0x578f63[_0xfe55('0x11')][_0xfe55('0x13')]('=');dials[_0x578f63['uniqueid']]={'routeId':_0x559465[0x1]};}}catch(_0x5e6eda){utils[_0xfe55('0x14')](_0x5e6eda[_0xfe55('0x15')]);}};exports[_0xfe55('0x16')]=function(_0x4935f4){try{if(!_[_0xfe55('0x17')](_0x4935f4[_0xfe55('0x18')][_0xfe55('0x19')])){dials[_0x4935f4['uniqueid']]={'routeId':_0x4935f4[_0xfe55('0x1a')]};}}catch(_0x1ac32c){utils[_0xfe55('0x14')](_0x1ac32c[_0xfe55('0x15')]);}};exports[_0xfe55('0x1b')]=function(_0x905e0b){try{if(!_[_0xfe55('0x17')](dials[_0x905e0b['uniqueid']])){dials[_0x905e0b[_0xfe55('0x4')]]=_[_0xfe55('0x1c')](dials[_0x905e0b[_0xfe55('0x4')]],_0x905e0b);dials[_0x905e0b['uniqueid']][_0xfe55('0x1d')]=utils['now']();dials[_0x905e0b['uniqueid']][_0xfe55('0x1e')]=_0xfe55('0x1f');}}catch(_0x263d83){utils['error'](_0x263d83['stack']);}};exports[_0xfe55('0x20')]=function(_0x3ed5b9){try{if(!_[_0xfe55('0x17')](dials[_0x3ed5b9[_0xfe55('0x4')]])){dials[_0x3ed5b9[_0xfe55('0x4')]][_0xfe55('0x9')]=_0x3ed5b9[_0xfe55('0x9')];if(_0x3ed5b9[_0xfe55('0x9')]==_0xfe55('0x21')){dials[_0x3ed5b9[_0xfe55('0x4')]]=_['assign'](dials[_0x3ed5b9[_0xfe55('0x4')]],_0x3ed5b9);dials[_0x3ed5b9[_0xfe55('0x4')]][_0xfe55('0x22')]=utils[_0xfe55('0x23')]();dials[_0x3ed5b9['uniqueid']][_0xfe55('0x1e')]=_0xfe55('0x24');}}}catch(_0x49c7cf){utils[_0xfe55('0x14')](_0x49c7cf[_0xfe55('0x15')]);}};exports[_0xfe55('0x25')]=function(_0x470044){try{if(!_[_0xfe55('0x17')](dials[_0x470044[_0xfe55('0x4')]])){dials[_0x470044['uniqueid']]=_['assign'](dials[_0x470044[_0xfe55('0x4')]],{'endtime':utils[_0xfe55('0x23')](),'lastevent':_0xfe55('0x26')});dials[_0x470044[_0xfe55('0x4')]]['duration']=utils[_0xfe55('0x27')](dials[_0x470044[_0xfe55('0x4')]]['endtime'],dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x1d')]);dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x28')]=utils[_0xfe55('0x27')](dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x22')]||dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x29')],dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x1d')]);dials[_0x470044['uniqueid']]['billableseconds']=dials[_0x470044[_0xfe55('0x4')]]['answertime']?utils[_0xfe55('0x27')](dials[_0x470044[_0xfe55('0x4')]][_0xfe55('0x29')],dials[_0x470044['uniqueid']][_0xfe55('0x22')]):0x0;writeDB(dials[_0x470044['uniqueid']]);}}catch(_0x34e9e0){utils['error'](_0x34e9e0['stack']);}};