Built motion from commit (unavailable).|2.4.19
[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 _0x0cae=['newexten','application','toLowerCase','set','appdata','cdr(routeid)','error','isNil','outboundrouteid','stack','dialbegin','assign','starttime','now','called','dialend','ANSWER','answertime','lastevent','connect','hangup','diffTime','endtime','billableseconds','lodash','util','format','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','CreateVoiceDialReport'];(function(_0x4d6e57,_0x5d11ab){var _0x9d825b=function(_0x56eeac){while(--_0x56eeac){_0x4d6e57['push'](_0x4d6e57['shift']());}};_0x9d825b(++_0x5d11ab);}(_0x0cae,0xa4));var _0xe0ca=function(_0xe13b76,_0x3c82d){_0xe13b76=_0xe13b76-0x0;var _0x29e824=_0x0cae[_0xe13b76];return _0x29e824;};'use strict';var _=require(_0xe0ca('0x0'));var util=require(_0xe0ca('0x1'));var utils=require('./utils');var dials={};function writeDB(_0x45e962){utils['info'](util[_0xe0ca('0x2')](_0xe0ca('0x3'),_0x45e962[_0xe0ca('0x4')],_0x45e962[_0xe0ca('0x5')],_0x45e962[_0xe0ca('0x6')],_0x45e962[_0xe0ca('0x7')],_0x45e962[_0xe0ca('0x8')],_0x45e962[_0xe0ca('0x9')]));utils['request'](_0xe0ca('0xa'),_0x45e962);delete dials[_0x45e962['uniqueid']];}exports[_0xe0ca('0xb')]=function(_0x56fd34){try{if(_0x56fd34[_0xe0ca('0xc')][_0xe0ca('0xd')]()==_0xe0ca('0xe')&&_['startsWith'](_0x56fd34[_0xe0ca('0xf')][_0xe0ca('0xd')](),_0xe0ca('0x10'))){var _0x441501=_0x56fd34[_0xe0ca('0xf')]['split']('=');dials[_0x56fd34[_0xe0ca('0x4')]]={'routeId':_0x441501[0x1]};}}catch(_0x5a3111){utils[_0xe0ca('0x11')](_0x5a3111['stack']);}};exports['varset']=function(_0x3275c1){try{if(!_[_0xe0ca('0x12')](_0x3275c1['variable'][_0xe0ca('0x13')])){dials[_0x3275c1[_0xe0ca('0x4')]]={'routeId':_0x3275c1['value']};}}catch(_0x11720a){utils['error'](_0x11720a[_0xe0ca('0x14')]);}};exports[_0xe0ca('0x15')]=function(_0x10d7c3){try{if(!_[_0xe0ca('0x12')](dials[_0x10d7c3[_0xe0ca('0x4')]])){dials[_0x10d7c3['uniqueid']]=_[_0xe0ca('0x16')](dials[_0x10d7c3[_0xe0ca('0x4')]],_0x10d7c3);dials[_0x10d7c3[_0xe0ca('0x4')]][_0xe0ca('0x17')]=utils[_0xe0ca('0x18')]();dials[_0x10d7c3[_0xe0ca('0x4')]]['lastevent']=_0xe0ca('0x19');}}catch(_0x2b8e23){utils[_0xe0ca('0x11')](_0x2b8e23[_0xe0ca('0x14')]);}};exports[_0xe0ca('0x1a')]=function(_0x2bf395){try{if(!_[_0xe0ca('0x12')](dials[_0x2bf395[_0xe0ca('0x4')]])){dials[_0x2bf395[_0xe0ca('0x4')]][_0xe0ca('0x9')]=_0x2bf395[_0xe0ca('0x9')];if(_0x2bf395[_0xe0ca('0x9')]==_0xe0ca('0x1b')){dials[_0x2bf395[_0xe0ca('0x4')]]=_[_0xe0ca('0x16')](dials[_0x2bf395['uniqueid']],_0x2bf395);dials[_0x2bf395[_0xe0ca('0x4')]][_0xe0ca('0x1c')]=utils[_0xe0ca('0x18')]();dials[_0x2bf395['uniqueid']][_0xe0ca('0x1d')]=_0xe0ca('0x1e');}}}catch(_0x4ede32){utils[_0xe0ca('0x11')](_0x4ede32[_0xe0ca('0x14')]);}};exports[_0xe0ca('0x1f')]=function(_0x5bc513){try{if(!_[_0xe0ca('0x12')](dials[_0x5bc513['uniqueid']])){dials[_0x5bc513[_0xe0ca('0x4')]]=_['assign'](dials[_0x5bc513[_0xe0ca('0x4')]],{'endtime':utils[_0xe0ca('0x18')](),'lastevent':'complete'});dials[_0x5bc513['uniqueid']]['duration']=utils[_0xe0ca('0x20')](dials[_0x5bc513[_0xe0ca('0x4')]]['endtime'],dials[_0x5bc513['uniqueid']][_0xe0ca('0x17')]);dials[_0x5bc513[_0xe0ca('0x4')]]['holdtime']=utils[_0xe0ca('0x20')](dials[_0x5bc513[_0xe0ca('0x4')]]['answertime']||dials[_0x5bc513[_0xe0ca('0x4')]][_0xe0ca('0x21')],dials[_0x5bc513[_0xe0ca('0x4')]][_0xe0ca('0x17')]);dials[_0x5bc513['uniqueid']][_0xe0ca('0x22')]=dials[_0x5bc513[_0xe0ca('0x4')]]['answertime']?utils[_0xe0ca('0x20')](dials[_0x5bc513[_0xe0ca('0x4')]]['endtime'],dials[_0x5bc513[_0xe0ca('0x4')]][_0xe0ca('0x1c')]):0x0;writeDB(dials[_0x5bc513[_0xe0ca('0x4')]]);}}catch(_0x3dd12a){utils[_0xe0ca('0x11')](_0x3dd12a[_0xe0ca('0x14')]);}};