5fd39d3391e34bef390693b3e2c4172698aaefa8
[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 _0xc571=['dialbegin','now','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','starttime','dialend','[%s][dials][dialend]','ANSWER','assign','answertime','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','complete','duration','diffTime','endtime','holdtime','billableseconds','[%s][dials][hangup]','lodash','util','./utils','format','[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s','channel','dialstring','calleridnum','dialstatus','request','CreateVoiceDialReport','uniqueid','newexten','debug','[%s][dials][newexten]','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','toLowerCase','startsWith','appdata','cdr(routeid)','varset','isNil','variable','outboundrouteid','info','value','error','[%s][dials][varset]'];(function(_0x144b30,_0x77072d){var _0x1bb7bc=function(_0x1082cc){while(--_0x1082cc){_0x144b30['push'](_0x144b30['shift']());}};_0x1bb7bc(++_0x77072d);}(_0xc571,0x1eb));var _0x1c57=function(_0x1df7b8,_0x2fe5e5){_0x1df7b8=_0x1df7b8-0x0;var _0x29d911=_0xc571[_0x1df7b8];return _0x29d911;};'use strict';var _=require(_0x1c57('0x0'));var util=require(_0x1c57('0x1'));var utils=require(_0x1c57('0x2'));var dials={};function writeDB(_0x168f8e){utils['info'](util[_0x1c57('0x3')](_0x1c57('0x4'),_0x168f8e['uniqueid'],_0x168f8e[_0x1c57('0x5')],_0x168f8e[_0x1c57('0x6')],_0x168f8e[_0x1c57('0x7')],_0x168f8e['connectedlinenum'],_0x168f8e[_0x1c57('0x8')]));utils[_0x1c57('0x9')](_0x1c57('0xa'),_0x168f8e);delete dials[_0x168f8e[_0x1c57('0xb')]];}exports[_0x1c57('0xc')]=function(_0xa212a9){try{utils[_0x1c57('0xd')](util['format'](_0x1c57('0xe'),_0xa212a9[_0x1c57('0xb')]),_0xa212a9);utils['info'](util[_0x1c57('0x3')](_0x1c57('0xf'),_0xa212a9[_0x1c57('0xb')],_0xa212a9['application'],_0xa212a9['appdata']));if(_0xa212a9[_0x1c57('0x10')][_0x1c57('0x11')]()=='set'&&_[_0x1c57('0x12')](_0xa212a9[_0x1c57('0x13')][_0x1c57('0x11')](),_0x1c57('0x14'))){var _0x1f7f8c=_0xa212a9[_0x1c57('0x13')]['split']('=');dials[_0xa212a9[_0x1c57('0xb')]]={'routeId':_0x1f7f8c[0x1]};}}catch(_0x598ef3){utils['error'](util[_0x1c57('0x3')](_0x1c57('0xe'),_0xa212a9['uniqueid']),_0x598ef3);}};exports[_0x1c57('0x15')]=function(_0x2ac3c5){try{utils[_0x1c57('0xd')](util[_0x1c57('0x3')]('[%s][dials][varset]',_0x2ac3c5[_0x1c57('0xb')]),_0x2ac3c5);if(!_[_0x1c57('0x16')](_0x2ac3c5[_0x1c57('0x17')][_0x1c57('0x18')])){utils[_0x1c57('0x19')](util['format']('[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s',_0x2ac3c5[_0x1c57('0xb')],_0x2ac3c5[_0x1c57('0x1a')]));dials[_0x2ac3c5[_0x1c57('0xb')]]={'routeId':_0x2ac3c5[_0x1c57('0x1a')]};}}catch(_0x4a076a){utils[_0x1c57('0x1b')](util[_0x1c57('0x3')](_0x1c57('0x1c'),_0x2ac3c5[_0x1c57('0xb')]),_0x4a076a);}};exports[_0x1c57('0x1d')]=function(_0x342d42){try{if(!_[_0x1c57('0x16')](dials[_0x342d42[_0x1c57('0xb')]])){utils[_0x1c57('0xd')](util[_0x1c57('0x3')]('[%s][dials][dialbegin]',_0x342d42[_0x1c57('0xb')]),_0x342d42);dials[_0x342d42[_0x1c57('0xb')]]=_['assign'](dials[_0x342d42['uniqueid']],_0x342d42);dials[_0x342d42[_0x1c57('0xb')]]['starttime']=utils[_0x1c57('0x1e')]();dials[_0x342d42['uniqueid']][_0x1c57('0x1f')]=_0x1c57('0x20');utils[_0x1c57('0x19')](util[_0x1c57('0x3')](_0x1c57('0x21'),_0x342d42['uniqueid'],dials[_0x342d42['uniqueid']][_0x1c57('0x22')]));}}catch(_0x4b7e52){utils[_0x1c57('0x1b')](util[_0x1c57('0x3')]('[%s][dials][dialbegin]',_0x342d42['uniqueid']),_0x4b7e52);}};exports[_0x1c57('0x23')]=function(_0x2b57b9){try{if(!_[_0x1c57('0x16')](dials[_0x2b57b9[_0x1c57('0xb')]])){utils[_0x1c57('0xd')](util['format'](_0x1c57('0x24'),_0x2b57b9['uniqueid']),_0x2b57b9);dials[_0x2b57b9[_0x1c57('0xb')]][_0x1c57('0x8')]=_0x2b57b9[_0x1c57('0x8')];if(_0x2b57b9['dialstatus']==_0x1c57('0x25')){dials[_0x2b57b9['uniqueid']]=_[_0x1c57('0x26')](dials[_0x2b57b9[_0x1c57('0xb')]],_0x2b57b9);dials[_0x2b57b9[_0x1c57('0xb')]][_0x1c57('0x27')]=utils[_0x1c57('0x1e')]();dials[_0x2b57b9[_0x1c57('0xb')]][_0x1c57('0x1f')]='connect';utils[_0x1c57('0x19')](util[_0x1c57('0x3')]('[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect',_0x2b57b9[_0x1c57('0xb')],_0x2b57b9[_0x1c57('0x8')],dials[_0x2b57b9[_0x1c57('0xb')]][_0x1c57('0x27')]));}else{utils['info'](util[_0x1c57('0x3')](_0x1c57('0x28'),_0x2b57b9[_0x1c57('0xb')],_0x2b57b9[_0x1c57('0x8')]));}}}catch(_0x45381){utils[_0x1c57('0x1b')](util[_0x1c57('0x3')](_0x1c57('0x24'),_0x2b57b9[_0x1c57('0xb')]),_0x45381);}};exports[_0x1c57('0x29')]=function(_0x16d5f9){try{if(!_[_0x1c57('0x16')](dials[_0x16d5f9[_0x1c57('0xb')]])){utils[_0x1c57('0xd')](util[_0x1c57('0x3')]('[%s][dials][hangup]',_0x16d5f9[_0x1c57('0xb')]),_0x16d5f9);utils[_0x1c57('0x19')](util['format'](_0x1c57('0x2a'),_0x16d5f9[_0x1c57('0xb')],_0x16d5f9['calleridnum'],_0x16d5f9[_0x1c57('0x2b')],_0x16d5f9[_0x1c57('0x2c')]));dials[_0x16d5f9[_0x1c57('0xb')]]=_[_0x1c57('0x26')](dials[_0x16d5f9[_0x1c57('0xb')]],{'endtime':utils[_0x1c57('0x1e')](),'lastevent':_0x1c57('0x2d')});dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x2e')]=utils[_0x1c57('0x2f')](dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x30')],dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x22')]);dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x31')]=utils[_0x1c57('0x2f')](dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x27')]||dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x30')],dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x22')]);dials[_0x16d5f9['uniqueid']][_0x1c57('0x32')]=dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x27')]?utils[_0x1c57('0x2f')](dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x30')],dials[_0x16d5f9[_0x1c57('0xb')]][_0x1c57('0x27')]):0x0;writeDB(dials[_0x16d5f9[_0x1c57('0xb')]]);}}catch(_0x3c1ee0){utils['error'](util[_0x1c57('0x3')](_0x1c57('0x33'),_0x16d5f9[_0x1c57('0xb')]),_0x3c1ee0);}};