18e3534108678b7bd3d97344e64511abd2b1391e
[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 _0xd8d7=['lodash','util','./utils','info','dialstring','connectedlinenum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','toLowerCase','set','startsWith','appdata','cdr(routeid)','split','error','stack','isNil','variable','outboundrouteid','value','dialbegin','starttime','now','lastevent','called','ANSWER','assign','answertime','hangup','complete','diffTime','endtime','billableseconds'];(function(_0x57f8c0,_0x136cf6){var _0x117f08=function(_0x426cd4){while(--_0x426cd4){_0x57f8c0['push'](_0x57f8c0['shift']());}};_0x117f08(++_0x136cf6);}(_0xd8d7,0x1d4));var _0x7d8d=function(_0x3d38ae,_0x51102b){_0x3d38ae=_0x3d38ae-0x0;var _0x3757ee=_0xd8d7[_0x3d38ae];return _0x3757ee;};'use strict';var _=require(_0x7d8d('0x0'));var util=require(_0x7d8d('0x1'));var utils=require(_0x7d8d('0x2'));var dials={};function writeDB(_0x2d7baf){utils[_0x7d8d('0x3')](util['format']('DIAL|%s|%s|%s|%s|%s|%s',_0x2d7baf['uniqueid'],_0x2d7baf['channel'],_0x2d7baf[_0x7d8d('0x4')],_0x2d7baf['calleridnum'],_0x2d7baf[_0x7d8d('0x5')],_0x2d7baf[_0x7d8d('0x6')]));utils[_0x7d8d('0x7')](_0x7d8d('0x8'),_0x2d7baf);delete dials[_0x2d7baf[_0x7d8d('0x9')]];}exports[_0x7d8d('0xa')]=function(_0x1bac2e){try{if(_0x1bac2e['application'][_0x7d8d('0xb')]()==_0x7d8d('0xc')&&_[_0x7d8d('0xd')](_0x1bac2e[_0x7d8d('0xe')][_0x7d8d('0xb')](),_0x7d8d('0xf'))){var _0x2a0f33=_0x1bac2e['appdata'][_0x7d8d('0x10')]('=');dials[_0x1bac2e[_0x7d8d('0x9')]]={'routeId':_0x2a0f33[0x1]};}}catch(_0xe1ca5f){utils[_0x7d8d('0x11')](_0xe1ca5f[_0x7d8d('0x12')]);}};exports['varset']=function(_0x1ba2b9){try{if(!_[_0x7d8d('0x13')](_0x1ba2b9[_0x7d8d('0x14')][_0x7d8d('0x15')])){dials[_0x1ba2b9[_0x7d8d('0x9')]]={'routeId':_0x1ba2b9[_0x7d8d('0x16')]};}}catch(_0x56d307){utils[_0x7d8d('0x11')](_0x56d307[_0x7d8d('0x12')]);}};exports[_0x7d8d('0x17')]=function(_0x365044){try{if(!_[_0x7d8d('0x13')](dials[_0x365044['uniqueid']])){dials[_0x365044[_0x7d8d('0x9')]]=_['assign'](dials[_0x365044[_0x7d8d('0x9')]],_0x365044);dials[_0x365044['uniqueid']][_0x7d8d('0x18')]=utils[_0x7d8d('0x19')]();dials[_0x365044[_0x7d8d('0x9')]][_0x7d8d('0x1a')]=_0x7d8d('0x1b');}}catch(_0x31be40){utils[_0x7d8d('0x11')](_0x31be40[_0x7d8d('0x12')]);}};exports['dialend']=function(_0x110c59){try{if(!_[_0x7d8d('0x13')](dials[_0x110c59[_0x7d8d('0x9')]])){dials[_0x110c59[_0x7d8d('0x9')]][_0x7d8d('0x6')]=_0x110c59[_0x7d8d('0x6')];if(_0x110c59[_0x7d8d('0x6')]==_0x7d8d('0x1c')){dials[_0x110c59[_0x7d8d('0x9')]]=_[_0x7d8d('0x1d')](dials[_0x110c59[_0x7d8d('0x9')]],_0x110c59);dials[_0x110c59[_0x7d8d('0x9')]][_0x7d8d('0x1e')]=utils[_0x7d8d('0x19')]();dials[_0x110c59['uniqueid']]['lastevent']='connect';}}}catch(_0xb4361d){utils[_0x7d8d('0x11')](_0xb4361d[_0x7d8d('0x12')]);}};exports[_0x7d8d('0x1f')]=function(_0x43e4d0){try{if(!_['isNil'](dials[_0x43e4d0[_0x7d8d('0x9')]])){dials[_0x43e4d0[_0x7d8d('0x9')]]=_[_0x7d8d('0x1d')](dials[_0x43e4d0[_0x7d8d('0x9')]],{'endtime':utils[_0x7d8d('0x19')](),'lastevent':_0x7d8d('0x20')});dials[_0x43e4d0[_0x7d8d('0x9')]]['duration']=utils[_0x7d8d('0x21')](dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x22')],dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x18')]);dials[_0x43e4d0['uniqueid']]['holdtime']=utils[_0x7d8d('0x21')](dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x1e')]||dials[_0x43e4d0['uniqueid']][_0x7d8d('0x22')],dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x18')]);dials[_0x43e4d0['uniqueid']][_0x7d8d('0x23')]=dials[_0x43e4d0[_0x7d8d('0x9')]]['answertime']?utils[_0x7d8d('0x21')](dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x22')],dials[_0x43e4d0[_0x7d8d('0x9')]][_0x7d8d('0x1e')]):0x0;writeDB(dials[_0x43e4d0['uniqueid']]);}}catch(_0x47960c){utils[_0x7d8d('0x11')](_0x47960c[_0x7d8d('0x12')]);}};