Built motion from commit f7863d46.|2.5.41
[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 _0x6d9d=['E_AGI_SERVER_ERROR','code','close','inherits','util','net','events','EventEmitter','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection','destroy','E_AGI_SERVER_MAXCONNECTION','ready'];(function(_0x1809c5,_0x46cabc){var _0x5254a4=function(_0xd1d319){while(--_0xd1d319){_0x1809c5['push'](_0x1809c5['shift']());}};_0x5254a4(++_0x46cabc);}(_0x6d9d,0x15a));var _0xd6d9=function(_0x41b5c4,_0x10167f){_0x41b5c4=_0x41b5c4-0x0;var _0x373da1=_0x6d9d[_0x41b5c4];return _0x373da1;};'use strict';var util=require(_0xd6d9('0x0'));var net=require(_0xd6d9('0x1'));var EventEmitter=require(_0xd6d9('0x2'))[_0xd6d9('0x3')];var AGIError=require('./error');var AGIChannel=require('./channel');var AGIServer=function(_0x4d2c17,_0x1e9553,_0x5d9af9){var _0x383460=this,_0x4d2c17=_0x4d2c17||0x11dd,_0x1e9553=_0x1e9553||'127.0.0.1',_0x58bbd4=null,_0x2d8a30=0x0;EventEmitter[_0xd6d9('0x4')](_0x383460);function _0x31d8e2(){if(!_0x4d2c17){_0x383460[_0xd6d9('0x5')](_0xd6d9('0x6'),new AGIError(_0xd6d9('0x7')));return![];}_0x58bbd4=net[_0xd6d9('0x8')]();_0x58bbd4[_0xd6d9('0x9')](_0x4d2c17,_0x1e9553);_0x58bbd4['on'](_0xd6d9('0xa'),function(){_0x383460['emit']('listening');});_0x58bbd4['on'](_0xd6d9('0xb'),function(_0x39a6ed){_0x58bbd4['getConnections'](function(_0x472fe4,_0x53b97a){if(_0x472fe4){_0x383460[_0xd6d9('0x5')](_0xd6d9('0x6'),new AGIError('E_AGI_SERVER_ERROR',_0x472fe4));}else if(_0x5d9af9&&_0x5d9af9<0x0){_0x383460[_0xd6d9('0x5')]('error',new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x39a6ed[_0xd6d9('0xc')]();}else if(_0x5d9af9&&_0x5d9af9>0x0&&_0x5d9af9<_0x53b97a){_0x2d8a30+=0x1;_0x383460['emit']('error',new AGIError(_0xd6d9('0xd'),_0x2d8a30));_0x39a6ed[_0xd6d9('0xc')]();}else{var _0x884bc=new AGIChannel(_0x39a6ed);_0x884bc['on'](_0xd6d9('0xe'),function(){_0x383460['emit']('connection',_0x884bc);});}});});_0x58bbd4['on'](_0xd6d9('0x6'),function(_0x485e3a){_0x383460[_0xd6d9('0x5')](_0xd6d9('0x6'),new AGIError(_0xd6d9('0xf'),_0x485e3a[_0xd6d9('0x10')]));});_0x58bbd4['on'](_0xd6d9('0x11'),function(){_0x383460[_0xd6d9('0x5')](_0xd6d9('0x11'),new AGIError('E_AGI_SERVER_CLOSE'));});}process['nextTick'](function(){_0x31d8e2();});};util[_0xd6d9('0x12')](AGIServer,EventEmitter);module['exports']=function(_0x170001,_0x1725a6,_0x18d50f){return new AGIServer(_0x170001,_0x1725a6,_0x18d50f);};