Built motion from commit c738b9ac.|2.6.25
[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 _0x79aa=['set','startsWith','cdr(routeid)','split','error','varset','[%s][dials][varset]','isNil','variable','[%s][dials][varset]\x20variable:outboundrouteid\x20value:%s','value','assign','starttime','lastevent','called','[%s][dials][hangup]\x20starttime:%s\x20lastevent:called','[%s][dials][dialend]','ANSWER','answertime','connect','[%s][dials][dialend]\x20dialstatus:%s\x20answertime:%s\x20lastevent:connect','[%s][dials][dialend]\x20dialstatus:%s','hangup','[%s][dials][hangup]','[%s][dials][hangup]\x20calleridnum:%s\x20calleridname:%s\x20lastevent:complete\x20reason:%s','calleridname','cause-txt','now','complete','diffTime','endtime','lodash','util','./utils','format','uniqueid','channel','dialstring','calleridnum','connectedlinenum','dialstatus','CreateVoiceDialReport','newexten','debug','[%s][dials][newexten]','info','[%s][dials][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase'];(function(_0x51ed62,_0x574379){var _0x34aee3=function(_0x2958bc){while(--_0x2958bc){_0x51ed62['push'](_0x51ed62['shift']());}};_0x34aee3(++_0x574379);}(_0x79aa,0xe7));var _0xa79a=function(_0x7b173,_0x539d7f){_0x7b173=_0x7b173-0x0;var _0x1c598c=_0x79aa[_0x7b173];return _0x1c598c;};'use strict';var _=require(_0xa79a('0x0'));var util=require(_0xa79a('0x1'));var utils=require(_0xa79a('0x2'));var dials={};function writeDB(_0x3ca007){utils['info'](util[_0xa79a('0x3')]('[%s][dials][writeDB]\x20channel:%s\x20dialstring:%s\x20calleridnum:%s\x20connectedlinenum:%s\x20dialstatus:%s',_0x3ca007[_0xa79a('0x4')],_0x3ca007[_0xa79a('0x5')],_0x3ca007[_0xa79a('0x6')],_0x3ca007[_0xa79a('0x7')],_0x3ca007[_0xa79a('0x8')],_0x3ca007[_0xa79a('0x9')]));utils['request'](_0xa79a('0xa'),_0x3ca007);delete dials[_0x3ca007[_0xa79a('0x4')]];}exports[_0xa79a('0xb')]=function(_0x4b1464){try{utils[_0xa79a('0xc')](util[_0xa79a('0x3')](_0xa79a('0xd'),_0x4b1464[_0xa79a('0x4')]),_0x4b1464);utils[_0xa79a('0xe')](util[_0xa79a('0x3')](_0xa79a('0xf'),_0x4b1464[_0xa79a('0x4')],_0x4b1464[_0xa79a('0x10')],_0x4b1464[_0xa79a('0x11')]));if(_0x4b1464['application'][_0xa79a('0x12')]()==_0xa79a('0x13')&&_[_0xa79a('0x14')](_0x4b1464[_0xa79a('0x11')]['toLowerCase'](),_0xa79a('0x15'))){var _0x49bb81=_0x4b1464[_0xa79a('0x11')][_0xa79a('0x16')]('=');dials[_0x4b1464[_0xa79a('0x4')]]={'routeId':_0x49bb81[0x1]};}}catch(_0x2ee07d){utils[_0xa79a('0x17')](util['format'](_0xa79a('0xd'),_0x4b1464[_0xa79a('0x4')]),_0x2ee07d);}};exports[_0xa79a('0x18')]=function(_0x55e06c){try{utils[_0xa79a('0xc')](util['format'](_0xa79a('0x19'),_0x55e06c[_0xa79a('0x4')]),_0x55e06c);if(!_[_0xa79a('0x1a')](_0x55e06c[_0xa79a('0x1b')]['outboundrouteid'])){utils[_0xa79a('0xe')](util[_0xa79a('0x3')](_0xa79a('0x1c'),_0x55e06c[_0xa79a('0x4')],_0x55e06c['value']));dials[_0x55e06c[_0xa79a('0x4')]]={'routeId':_0x55e06c[_0xa79a('0x1d')]};}}catch(_0x112f5e){utils['error'](util[_0xa79a('0x3')](_0xa79a('0x19'),_0x55e06c[_0xa79a('0x4')]),_0x112f5e);}};exports['dialbegin']=function(_0x43bef3){try{if(!_['isNil'](dials[_0x43bef3[_0xa79a('0x4')]])){utils[_0xa79a('0xc')](util[_0xa79a('0x3')]('[%s][dials][dialbegin]',_0x43bef3[_0xa79a('0x4')]),_0x43bef3);dials[_0x43bef3['uniqueid']]=_[_0xa79a('0x1e')](dials[_0x43bef3[_0xa79a('0x4')]],_0x43bef3);dials[_0x43bef3[_0xa79a('0x4')]][_0xa79a('0x1f')]=utils['now']();dials[_0x43bef3['uniqueid']][_0xa79a('0x20')]=_0xa79a('0x21');utils[_0xa79a('0xe')](util['format'](_0xa79a('0x22'),_0x43bef3[_0xa79a('0x4')],dials[_0x43bef3[_0xa79a('0x4')]][_0xa79a('0x1f')]));}}catch(_0x4b0bfd){utils['error'](util[_0xa79a('0x3')]('[%s][dials][dialbegin]',_0x43bef3[_0xa79a('0x4')]),_0x4b0bfd);}};exports['dialend']=function(_0x32723e){try{if(!_[_0xa79a('0x1a')](dials[_0x32723e[_0xa79a('0x4')]])){utils['debug'](util['format'](_0xa79a('0x23'),_0x32723e[_0xa79a('0x4')]),_0x32723e);dials[_0x32723e[_0xa79a('0x4')]][_0xa79a('0x9')]=_0x32723e[_0xa79a('0x9')];if(_0x32723e[_0xa79a('0x9')]==_0xa79a('0x24')){dials[_0x32723e[_0xa79a('0x4')]]=_[_0xa79a('0x1e')](dials[_0x32723e['uniqueid']],_0x32723e);dials[_0x32723e[_0xa79a('0x4')]][_0xa79a('0x25')]=utils['now']();dials[_0x32723e[_0xa79a('0x4')]]['lastevent']=_0xa79a('0x26');utils[_0xa79a('0xe')](util[_0xa79a('0x3')](_0xa79a('0x27'),_0x32723e[_0xa79a('0x4')],_0x32723e[_0xa79a('0x9')],dials[_0x32723e['uniqueid']][_0xa79a('0x25')]));}else{utils['info'](util[_0xa79a('0x3')](_0xa79a('0x28'),_0x32723e[_0xa79a('0x4')],_0x32723e[_0xa79a('0x9')]));}}}catch(_0x35094c){utils['error'](util['format'](_0xa79a('0x23'),_0x32723e[_0xa79a('0x4')]),_0x35094c);}};exports[_0xa79a('0x29')]=function(_0x373e9c){try{if(!_[_0xa79a('0x1a')](dials[_0x373e9c[_0xa79a('0x4')]])){utils[_0xa79a('0xc')](util[_0xa79a('0x3')](_0xa79a('0x2a'),_0x373e9c[_0xa79a('0x4')]),_0x373e9c);utils[_0xa79a('0xe')](util[_0xa79a('0x3')](_0xa79a('0x2b'),_0x373e9c['uniqueid'],_0x373e9c[_0xa79a('0x7')],_0x373e9c[_0xa79a('0x2c')],_0x373e9c[_0xa79a('0x2d')]));dials[_0x373e9c['uniqueid']]=_[_0xa79a('0x1e')](dials[_0x373e9c[_0xa79a('0x4')]],{'endtime':utils[_0xa79a('0x2e')](),'lastevent':_0xa79a('0x2f')});dials[_0x373e9c[_0xa79a('0x4')]]['duration']=utils[_0xa79a('0x30')](dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x31')],dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x1f')]);dials[_0x373e9c[_0xa79a('0x4')]]['holdtime']=utils[_0xa79a('0x30')](dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x25')]||dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x31')],dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x1f')]);dials[_0x373e9c[_0xa79a('0x4')]]['billableseconds']=dials[_0x373e9c[_0xa79a('0x4')]]['answertime']?utils[_0xa79a('0x30')](dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x31')],dials[_0x373e9c[_0xa79a('0x4')]][_0xa79a('0x25')]):0x0;writeDB(dials[_0x373e9c['uniqueid']]);}}catch(_0x31bfcf){utils['error'](util['format']('[%s][dials][hangup]',_0x373e9c[_0xa79a('0x4')]),_0x31bfcf);}};