Built motion from commit (unavailable).|2.4.21
[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 _0xea7c=['CreateVoiceDialReport','newexten','application','toLowerCase','set','appdata','cdr(routeid)','split','stack','varset','variable','outboundrouteid','error','dialbegin','isNil','assign','now','lastevent','called','dialend','ANSWER','connect','hangup','duration','endtime','starttime','holdtime','diffTime','billableseconds','answertime','./utils','info','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','request'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0xea7c,0xe6));var _0xcea7=function(_0x59ee6f,_0x450239){_0x59ee6f=_0x59ee6f-0x0;var _0x4c0979=_0xea7c[_0x59ee6f];return _0x4c0979;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0xcea7('0x0'));var dials={};function writeDB(_0x548f02){utils[_0xcea7('0x1')](util['format'](_0xcea7('0x2'),_0x548f02[_0xcea7('0x3')],_0x548f02[_0xcea7('0x4')],_0x548f02[_0xcea7('0x5')],_0x548f02[_0xcea7('0x6')],_0x548f02[_0xcea7('0x7')],_0x548f02[_0xcea7('0x8')]));utils[_0xcea7('0x9')](_0xcea7('0xa'),_0x548f02);delete dials[_0x548f02['uniqueid']];}exports[_0xcea7('0xb')]=function(_0x2ab570){try{if(_0x2ab570[_0xcea7('0xc')][_0xcea7('0xd')]()==_0xcea7('0xe')&&_['startsWith'](_0x2ab570[_0xcea7('0xf')]['toLowerCase'](),_0xcea7('0x10'))){var _0x274578=_0x2ab570[_0xcea7('0xf')][_0xcea7('0x11')]('=');dials[_0x2ab570[_0xcea7('0x3')]]={'routeId':_0x274578[0x1]};}}catch(_0x110812){utils['error'](_0x110812[_0xcea7('0x12')]);}};exports[_0xcea7('0x13')]=function(_0x4bea82){try{if(!_['isNil'](_0x4bea82[_0xcea7('0x14')][_0xcea7('0x15')])){dials[_0x4bea82['uniqueid']]={'routeId':_0x4bea82['value']};}}catch(_0x3840b2){utils[_0xcea7('0x16')](_0x3840b2[_0xcea7('0x12')]);}};exports[_0xcea7('0x17')]=function(_0x4b3710){try{if(!_[_0xcea7('0x18')](dials[_0x4b3710[_0xcea7('0x3')]])){dials[_0x4b3710[_0xcea7('0x3')]]=_[_0xcea7('0x19')](dials[_0x4b3710['uniqueid']],_0x4b3710);dials[_0x4b3710[_0xcea7('0x3')]]['starttime']=utils[_0xcea7('0x1a')]();dials[_0x4b3710[_0xcea7('0x3')]][_0xcea7('0x1b')]=_0xcea7('0x1c');}}catch(_0x8e7d0e){utils[_0xcea7('0x16')](_0x8e7d0e[_0xcea7('0x12')]);}};exports[_0xcea7('0x1d')]=function(_0x13045b){try{if(!_[_0xcea7('0x18')](dials[_0x13045b[_0xcea7('0x3')]])){dials[_0x13045b[_0xcea7('0x3')]]['dialstatus']=_0x13045b[_0xcea7('0x8')];if(_0x13045b[_0xcea7('0x8')]==_0xcea7('0x1e')){dials[_0x13045b['uniqueid']]=_[_0xcea7('0x19')](dials[_0x13045b[_0xcea7('0x3')]],_0x13045b);dials[_0x13045b['uniqueid']]['answertime']=utils[_0xcea7('0x1a')]();dials[_0x13045b[_0xcea7('0x3')]][_0xcea7('0x1b')]=_0xcea7('0x1f');}}}catch(_0x250c62){utils[_0xcea7('0x16')](_0x250c62[_0xcea7('0x12')]);}};exports[_0xcea7('0x20')]=function(_0x917584){try{if(!_[_0xcea7('0x18')](dials[_0x917584[_0xcea7('0x3')]])){dials[_0x917584[_0xcea7('0x3')]]=_[_0xcea7('0x19')](dials[_0x917584['uniqueid']],{'endtime':utils['now'](),'lastevent':'complete'});dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x21')]=utils['diffTime'](dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x22')],dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x23')]);dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x24')]=utils[_0xcea7('0x25')](dials[_0x917584[_0xcea7('0x3')]]['answertime']||dials[_0x917584['uniqueid']]['endtime'],dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x23')]);dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x26')]=dials[_0x917584['uniqueid']]['answertime']?utils[_0xcea7('0x25')](dials[_0x917584[_0xcea7('0x3')]]['endtime'],dials[_0x917584[_0xcea7('0x3')]][_0xcea7('0x27')]):0x0;writeDB(dials[_0x917584[_0xcea7('0x3')]]);}}catch(_0xdb6736){utils['error'](_0xdb6736[_0xcea7('0x12')]);}};