Built motion from commit 0900f080.|2.5.45
[motion2.git] / server / services / agi / server.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 _0xa1ee=['error','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection','emit','E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION','ready','close','nextTick','inherits','exports','util','net','events','EventEmitter','./channel','127.0.0.1','call'];(function(_0x4e8874,_0x27fb0e){var _0x967dce=function(_0x42ecbe){while(--_0x42ecbe){_0x4e8874['push'](_0x4e8874['shift']());}};_0x967dce(++_0x27fb0e);}(_0xa1ee,0x7d));var _0xea1e=function(_0x837dad,_0x1d9098){_0x837dad=_0x837dad-0x0;var _0x1d62d3=_0xa1ee[_0x837dad];return _0x1d62d3;};'use strict';var util=require(_0xea1e('0x0'));var net=require(_0xea1e('0x1'));var EventEmitter=require(_0xea1e('0x2'))[_0xea1e('0x3')];var AGIError=require('./error');var AGIChannel=require(_0xea1e('0x4'));var AGIServer=function(_0x233bad,_0x3fed6a,_0x438a9f){var _0x9c6335=this,_0x233bad=_0x233bad||0x11dd,_0x3fed6a=_0x3fed6a||_0xea1e('0x5'),_0x3cfdd7=null,_0x2f6205=0x0;EventEmitter[_0xea1e('0x6')](_0x9c6335);function _0x524bd4(){if(!_0x233bad){_0x9c6335['emit'](_0xea1e('0x7'),new AGIError(_0xea1e('0x8')));return![];}_0x3cfdd7=net[_0xea1e('0x9')]();_0x3cfdd7[_0xea1e('0xa')](_0x233bad,_0x3fed6a);_0x3cfdd7['on'](_0xea1e('0xb'),function(){_0x9c6335['emit'](_0xea1e('0xb'));});_0x3cfdd7['on'](_0xea1e('0xc'),function(_0x30df4e){_0x3cfdd7['getConnections'](function(_0x12fb2d,_0x5f0cda){if(_0x12fb2d){_0x9c6335[_0xea1e('0xd')](_0xea1e('0x7'),new AGIError(_0xea1e('0xe'),_0x12fb2d));}else if(_0x438a9f&&_0x438a9f<0x0){_0x9c6335[_0xea1e('0xd')]('error',new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x30df4e[_0xea1e('0xf')]();}else if(_0x438a9f&&_0x438a9f>0x0&&_0x438a9f<_0x5f0cda){_0x2f6205+=0x1;_0x9c6335[_0xea1e('0xd')](_0xea1e('0x7'),new AGIError(_0xea1e('0x10'),_0x2f6205));_0x30df4e[_0xea1e('0xf')]();}else{var _0x19dfe7=new AGIChannel(_0x30df4e);_0x19dfe7['on'](_0xea1e('0x11'),function(){_0x9c6335[_0xea1e('0xd')]('connection',_0x19dfe7);});}});});_0x3cfdd7['on'](_0xea1e('0x7'),function(_0x46a6cb){_0x9c6335[_0xea1e('0xd')](_0xea1e('0x7'),new AGIError(_0xea1e('0xe'),_0x46a6cb['code']));});_0x3cfdd7['on'](_0xea1e('0x12'),function(){_0x9c6335[_0xea1e('0xd')](_0xea1e('0x12'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xea1e('0x13')](function(){_0x524bd4();});};util[_0xea1e('0x14')](AGIServer,EventEmitter);module[_0xea1e('0x15')]=function(_0x52d6da,_0x1a5f16,_0x266dec){return new AGIServer(_0x52d6da,_0x1a5f16,_0x266dec);};