Built motion from commit (unavailable).|2.5.4
[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 _0x5ec1=['ANSWER','answertime','connect','complete','duration','diffTime','endtime','holdtime','lodash','util','./utils','info','format','uniqueid','channel','calleridnum','connectedlinenum','dialstatus','request','CreateVoiceDialReport','application','set','startsWith','appdata','toLowerCase','error','stack','varset','isNil','variable','outboundrouteid','value','dialbegin','assign','starttime','now','lastevent','called','dialend'];(function(_0x22e47a,_0x4ea10c){var _0x15a12a=function(_0x4a097f){while(--_0x4a097f){_0x22e47a['push'](_0x22e47a['shift']());}};_0x15a12a(++_0x4ea10c);}(_0x5ec1,0xa4));var _0x15ec=function(_0x2aee2f,_0xad9887){_0x2aee2f=_0x2aee2f-0x0;var _0x19337f=_0x5ec1[_0x2aee2f];return _0x19337f;};'use strict';var _=require(_0x15ec('0x0'));var util=require(_0x15ec('0x1'));var utils=require(_0x15ec('0x2'));var dials={};function writeDB(_0x6bbc07){utils[_0x15ec('0x3')](util[_0x15ec('0x4')]('DIAL|%s|%s|%s|%s|%s|%s',_0x6bbc07[_0x15ec('0x5')],_0x6bbc07[_0x15ec('0x6')],_0x6bbc07['dialstring'],_0x6bbc07[_0x15ec('0x7')],_0x6bbc07[_0x15ec('0x8')],_0x6bbc07[_0x15ec('0x9')]));utils[_0x15ec('0xa')](_0x15ec('0xb'),_0x6bbc07);delete dials[_0x6bbc07['uniqueid']];}exports['newexten']=function(_0x178f74){try{if(_0x178f74[_0x15ec('0xc')]['toLowerCase']()==_0x15ec('0xd')&&_[_0x15ec('0xe')](_0x178f74[_0x15ec('0xf')][_0x15ec('0x10')](),'cdr(routeid)')){var _0x591af0=_0x178f74[_0x15ec('0xf')]['split']('=');dials[_0x178f74[_0x15ec('0x5')]]={'routeId':_0x591af0[0x1]};}}catch(_0x323b30){utils[_0x15ec('0x11')](_0x323b30[_0x15ec('0x12')]);}};exports[_0x15ec('0x13')]=function(_0xac93c8){try{if(!_[_0x15ec('0x14')](_0xac93c8[_0x15ec('0x15')][_0x15ec('0x16')])){dials[_0xac93c8[_0x15ec('0x5')]]={'routeId':_0xac93c8[_0x15ec('0x17')]};}}catch(_0x124fd9){utils['error'](_0x124fd9[_0x15ec('0x12')]);}};exports[_0x15ec('0x18')]=function(_0xd98260){try{if(!_[_0x15ec('0x14')](dials[_0xd98260[_0x15ec('0x5')]])){dials[_0xd98260['uniqueid']]=_[_0x15ec('0x19')](dials[_0xd98260[_0x15ec('0x5')]],_0xd98260);dials[_0xd98260['uniqueid']][_0x15ec('0x1a')]=utils[_0x15ec('0x1b')]();dials[_0xd98260[_0x15ec('0x5')]][_0x15ec('0x1c')]=_0x15ec('0x1d');}}catch(_0x20fac){utils[_0x15ec('0x11')](_0x20fac[_0x15ec('0x12')]);}};exports[_0x15ec('0x1e')]=function(_0x5b9773){try{if(!_[_0x15ec('0x14')](dials[_0x5b9773['uniqueid']])){dials[_0x5b9773[_0x15ec('0x5')]][_0x15ec('0x9')]=_0x5b9773['dialstatus'];if(_0x5b9773[_0x15ec('0x9')]==_0x15ec('0x1f')){dials[_0x5b9773[_0x15ec('0x5')]]=_[_0x15ec('0x19')](dials[_0x5b9773[_0x15ec('0x5')]],_0x5b9773);dials[_0x5b9773[_0x15ec('0x5')]][_0x15ec('0x20')]=utils[_0x15ec('0x1b')]();dials[_0x5b9773[_0x15ec('0x5')]][_0x15ec('0x1c')]=_0x15ec('0x21');}}}catch(_0x260771){utils['error'](_0x260771['stack']);}};exports['hangup']=function(_0x2ad399){try{if(!_['isNil'](dials[_0x2ad399[_0x15ec('0x5')]])){dials[_0x2ad399['uniqueid']]=_[_0x15ec('0x19')](dials[_0x2ad399[_0x15ec('0x5')]],{'endtime':utils[_0x15ec('0x1b')](),'lastevent':_0x15ec('0x22')});dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x23')]=utils[_0x15ec('0x24')](dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x25')],dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x1a')]);dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x26')]=utils[_0x15ec('0x24')](dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x20')]||dials[_0x2ad399['uniqueid']][_0x15ec('0x25')],dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x1a')]);dials[_0x2ad399[_0x15ec('0x5')]]['billableseconds']=dials[_0x2ad399['uniqueid']][_0x15ec('0x20')]?utils[_0x15ec('0x24')](dials[_0x2ad399[_0x15ec('0x5')]][_0x15ec('0x25')],dials[_0x2ad399[_0x15ec('0x5')]]['answertime']):0x0;writeDB(dials[_0x2ad399[_0x15ec('0x5')]]);}}catch(_0x281d87){utils[_0x15ec('0x11')](_0x281d87[_0x15ec('0x12')]);}};