Built motion from commit (unavailable).|2.5.26
[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 _0x50a8=['E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','E_AGI_SERVER_ERROR','code','close','E_AGI_SERVER_CLOSE','nextTick','exports','util','./error','127.0.0.1','emit','error','E_AGI_ARGUMENT_PORT','createServer','listening','connection','getConnections'];(function(_0x3d93de,_0x531e99){var _0x4d2eac=function(_0x38f81d){while(--_0x38f81d){_0x3d93de['push'](_0x3d93de['shift']());}};_0x4d2eac(++_0x531e99);}(_0x50a8,0x198));var _0x850a=function(_0x15f972,_0x4a1fc7){_0x15f972=_0x15f972-0x0;var _0x3d916e=_0x50a8[_0x15f972];return _0x3d916e;};'use strict';var util=require(_0x850a('0x0'));var net=require('net');var EventEmitter=require('events')['EventEmitter'];var AGIError=require(_0x850a('0x1'));var AGIChannel=require('./channel');var AGIServer=function(_0x204954,_0xd9cbd,_0x2109b0){var _0x3df4c3=this,_0x204954=_0x204954||0x11dd,_0xd9cbd=_0xd9cbd||_0x850a('0x2'),_0xb85c1a=null,_0x442316=0x0;EventEmitter['call'](_0x3df4c3);function _0x488676(){if(!_0x204954){_0x3df4c3[_0x850a('0x3')](_0x850a('0x4'),new AGIError(_0x850a('0x5')));return![];}_0xb85c1a=net[_0x850a('0x6')]();_0xb85c1a['listen'](_0x204954,_0xd9cbd);_0xb85c1a['on'](_0x850a('0x7'),function(){_0x3df4c3['emit']('listening');});_0xb85c1a['on'](_0x850a('0x8'),function(_0x931343){_0xb85c1a[_0x850a('0x9')](function(_0x208812,_0x2b3ccd){if(_0x208812){_0x3df4c3['emit']('error',new AGIError('E_AGI_SERVER_ERROR',_0x208812));}else if(_0x2109b0&&_0x2109b0<0x0){_0x3df4c3[_0x850a('0x3')]('error',new AGIError(_0x850a('0xa')));_0x931343[_0x850a('0xb')]();}else if(_0x2109b0&&_0x2109b0>0x0&&_0x2109b0<_0x2b3ccd){_0x442316+=0x1;_0x3df4c3[_0x850a('0x3')](_0x850a('0x4'),new AGIError(_0x850a('0xc'),_0x442316));_0x931343['destroy']();}else{var _0x355a31=new AGIChannel(_0x931343);_0x355a31['on']('ready',function(){_0x3df4c3['emit']('connection',_0x355a31);});}});});_0xb85c1a['on']('error',function(_0x3e6e81){_0x3df4c3['emit'](_0x850a('0x4'),new AGIError(_0x850a('0xd'),_0x3e6e81[_0x850a('0xe')]));});_0xb85c1a['on'](_0x850a('0xf'),function(){_0x3df4c3[_0x850a('0x3')](_0x850a('0xf'),new AGIError(_0x850a('0x10')));});}process[_0x850a('0x11')](function(){_0x488676();});};util['inherits'](AGIServer,EventEmitter);module[_0x850a('0x12')]=function(_0x4bdd56,_0x4c70ab,_0x49690e){return new AGIServer(_0x4bdd56,_0x4c70ab,_0x49690e);};