Built motion from commit ddca4d0d.|2.5.47
[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 _0xdbf8=['events','EventEmitter','./channel','127.0.0.1','emit','error','listening','connection','getConnections','E_AGI_SERVER_VOICE_DISABLED','E_AGI_SERVER_MAXCONNECTION','ready','E_AGI_SERVER_ERROR','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util'];(function(_0x29733c,_0x2da30b){var _0x49e72f=function(_0x405c92){while(--_0x405c92){_0x29733c['push'](_0x29733c['shift']());}};_0x49e72f(++_0x2da30b);}(_0xdbf8,0x1f3));var _0x8dbf=function(_0x22faf3,_0x92c544){_0x22faf3=_0x22faf3-0x0;var _0x228e50=_0xdbf8[_0x22faf3];return _0x228e50;};'use strict';var util=require(_0x8dbf('0x0'));var net=require('net');var EventEmitter=require(_0x8dbf('0x1'))[_0x8dbf('0x2')];var AGIError=require('./error');var AGIChannel=require(_0x8dbf('0x3'));var AGIServer=function(_0x412783,_0x26a7bd,_0x2174c6){var _0x351bcd=this,_0x412783=_0x412783||0x11dd,_0x26a7bd=_0x26a7bd||_0x8dbf('0x4'),_0x18e247=null,_0x49c25e=0x0;EventEmitter['call'](_0x351bcd);function _0x23bf2e(){if(!_0x412783){_0x351bcd[_0x8dbf('0x5')](_0x8dbf('0x6'),new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0x18e247=net['createServer']();_0x18e247['listen'](_0x412783,_0x26a7bd);_0x18e247['on'](_0x8dbf('0x7'),function(){_0x351bcd[_0x8dbf('0x5')]('listening');});_0x18e247['on'](_0x8dbf('0x8'),function(_0x1fa614){_0x18e247[_0x8dbf('0x9')](function(_0x403146,_0x5cf31b){if(_0x403146){_0x351bcd[_0x8dbf('0x5')](_0x8dbf('0x6'),new AGIError('E_AGI_SERVER_ERROR',_0x403146));}else if(_0x2174c6&&_0x2174c6<0x0){_0x351bcd['emit'](_0x8dbf('0x6'),new AGIError(_0x8dbf('0xa')));_0x1fa614['destroy']();}else if(_0x2174c6&&_0x2174c6>0x0&&_0x2174c6<_0x5cf31b){_0x49c25e+=0x1;_0x351bcd['emit']('error',new AGIError(_0x8dbf('0xb'),_0x49c25e));_0x1fa614['destroy']();}else{var _0xbfd121=new AGIChannel(_0x1fa614);_0xbfd121['on'](_0x8dbf('0xc'),function(){_0x351bcd['emit']('connection',_0xbfd121);});}});});_0x18e247['on'](_0x8dbf('0x6'),function(_0x34c378){_0x351bcd[_0x8dbf('0x5')]('error',new AGIError(_0x8dbf('0xd'),_0x34c378[_0x8dbf('0xe')]));});_0x18e247['on'](_0x8dbf('0xf'),function(){_0x351bcd[_0x8dbf('0x5')](_0x8dbf('0xf'),new AGIError(_0x8dbf('0x10')));});}process[_0x8dbf('0x11')](function(){_0x23bf2e();});};util[_0x8dbf('0x12')](AGIServer,EventEmitter);module[_0x8dbf('0x13')]=function(_0x103b86,_0x37c75d,_0x59f1a8){return new AGIServer(_0x103b86,_0x37c75d,_0x59f1a8);};