Built motion from commit (unavailable).|2.5.0
[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 _0x953d=['hangup','complete','duration','diffTime','endtime','starttime','holdtime','util','./utils','format','DIAL|%s|%s|%s|%s|%s|%s','uniqueid','channel','dialstring','calleridnum','dialstatus','CreateVoiceDialReport','toLowerCase','startsWith','appdata','cdr(routeid)','error','stack','varset','isNil','variable','outboundrouteid','dialbegin','assign','now','lastevent','called','dialend','answertime','connect'];(function(_0x1a219d,_0x405933){var _0x5f133b=function(_0x3ccf2a){while(--_0x3ccf2a){_0x1a219d['push'](_0x1a219d['shift']());}};_0x5f133b(++_0x405933);}(_0x953d,0x93));var _0xd953=function(_0x586184,_0x57c05e){_0x586184=_0x586184-0x0;var _0xaafcdb=_0x953d[_0x586184];return _0xaafcdb;};'use strict';var _=require('lodash');var util=require(_0xd953('0x0'));var utils=require(_0xd953('0x1'));var dials={};function writeDB(_0x92b0c5){utils['info'](util[_0xd953('0x2')](_0xd953('0x3'),_0x92b0c5[_0xd953('0x4')],_0x92b0c5[_0xd953('0x5')],_0x92b0c5[_0xd953('0x6')],_0x92b0c5[_0xd953('0x7')],_0x92b0c5['connectedlinenum'],_0x92b0c5[_0xd953('0x8')]));utils['request'](_0xd953('0x9'),_0x92b0c5);delete dials[_0x92b0c5['uniqueid']];}exports['newexten']=function(_0x4a77b6){try{if(_0x4a77b6['application'][_0xd953('0xa')]()=='set'&&_[_0xd953('0xb')](_0x4a77b6[_0xd953('0xc')][_0xd953('0xa')](),_0xd953('0xd'))){var _0x251cd7=_0x4a77b6[_0xd953('0xc')]['split']('=');dials[_0x4a77b6[_0xd953('0x4')]]={'routeId':_0x251cd7[0x1]};}}catch(_0x2aaebf){utils[_0xd953('0xe')](_0x2aaebf[_0xd953('0xf')]);}};exports[_0xd953('0x10')]=function(_0xec346d){try{if(!_[_0xd953('0x11')](_0xec346d[_0xd953('0x12')][_0xd953('0x13')])){dials[_0xec346d[_0xd953('0x4')]]={'routeId':_0xec346d['value']};}}catch(_0x82a8ae){utils['error'](_0x82a8ae[_0xd953('0xf')]);}};exports[_0xd953('0x14')]=function(_0x5c1fd1){try{if(!_[_0xd953('0x11')](dials[_0x5c1fd1[_0xd953('0x4')]])){dials[_0x5c1fd1[_0xd953('0x4')]]=_[_0xd953('0x15')](dials[_0x5c1fd1[_0xd953('0x4')]],_0x5c1fd1);dials[_0x5c1fd1['uniqueid']]['starttime']=utils[_0xd953('0x16')]();dials[_0x5c1fd1[_0xd953('0x4')]][_0xd953('0x17')]=_0xd953('0x18');}}catch(_0x13749b){utils['error'](_0x13749b['stack']);}};exports[_0xd953('0x19')]=function(_0x3beeea){try{if(!_['isNil'](dials[_0x3beeea[_0xd953('0x4')]])){dials[_0x3beeea[_0xd953('0x4')]][_0xd953('0x8')]=_0x3beeea['dialstatus'];if(_0x3beeea[_0xd953('0x8')]=='ANSWER'){dials[_0x3beeea[_0xd953('0x4')]]=_[_0xd953('0x15')](dials[_0x3beeea[_0xd953('0x4')]],_0x3beeea);dials[_0x3beeea['uniqueid']][_0xd953('0x1a')]=utils['now']();dials[_0x3beeea[_0xd953('0x4')]]['lastevent']=_0xd953('0x1b');}}}catch(_0x2dee7c){utils['error'](_0x2dee7c[_0xd953('0xf')]);}};exports[_0xd953('0x1c')]=function(_0x4cf97c){try{if(!_[_0xd953('0x11')](dials[_0x4cf97c['uniqueid']])){dials[_0x4cf97c['uniqueid']]=_[_0xd953('0x15')](dials[_0x4cf97c[_0xd953('0x4')]],{'endtime':utils[_0xd953('0x16')](),'lastevent':_0xd953('0x1d')});dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x1e')]=utils[_0xd953('0x1f')](dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x20')],dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x21')]);dials[_0x4cf97c['uniqueid']][_0xd953('0x22')]=utils[_0xd953('0x1f')](dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x1a')]||dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x20')],dials[_0x4cf97c[_0xd953('0x4')]][_0xd953('0x21')]);dials[_0x4cf97c[_0xd953('0x4')]]['billableseconds']=dials[_0x4cf97c[_0xd953('0x4')]]['answertime']?utils[_0xd953('0x1f')](dials[_0x4cf97c['uniqueid']][_0xd953('0x20')],dials[_0x4cf97c['uniqueid']]['answertime']):0x0;writeDB(dials[_0x4cf97c[_0xd953('0x4')]]);}}catch(_0x5eeed3){utils[_0xd953('0xe')](_0x5eeed3[_0xd953('0xf')]);}};