02221c7660591699907a74b21df90387cd2d5b44
[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 _0x6597=['events','./error','127.0.0.1','emit','error','E_AGI_ARGUMENT_PORT','createServer','listening','connection','getConnections','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','E_AGI_SERVER_MAXCONNECTION','destroy','ready','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net'];(function(_0x121924,_0x17b8ad){var _0x2427e5=function(_0x23691a){while(--_0x23691a){_0x121924['push'](_0x121924['shift']());}};_0x2427e5(++_0x17b8ad);}(_0x6597,0x16e));var _0x7659=function(_0xceb328,_0x31de38){_0xceb328=_0xceb328-0x0;var _0x5b47e9=_0x6597[_0xceb328];return _0x5b47e9;};'use strict';var util=require(_0x7659('0x0'));var net=require(_0x7659('0x1'));var EventEmitter=require(_0x7659('0x2'))['EventEmitter'];var AGIError=require(_0x7659('0x3'));var AGIChannel=require('./channel');var AGIServer=function(_0x1502a2,_0x4f5b89,_0x5e96ed){var _0x576e8b=this,_0x1502a2=_0x1502a2||0x11dd,_0x4f5b89=_0x4f5b89||_0x7659('0x4'),_0x4e09cc=null,_0xb90fa2=0x0;EventEmitter['call'](_0x576e8b);function _0x5ae101(){if(!_0x1502a2){_0x576e8b[_0x7659('0x5')](_0x7659('0x6'),new AGIError(_0x7659('0x7')));return![];}_0x4e09cc=net[_0x7659('0x8')]();_0x4e09cc['listen'](_0x1502a2,_0x4f5b89);_0x4e09cc['on'](_0x7659('0x9'),function(){_0x576e8b[_0x7659('0x5')]('listening');});_0x4e09cc['on'](_0x7659('0xa'),function(_0x51127f){_0x4e09cc[_0x7659('0xb')](function(_0x592ff9,_0x148445){if(_0x592ff9){_0x576e8b[_0x7659('0x5')]('error',new AGIError(_0x7659('0xc'),_0x592ff9));}else if(_0x5e96ed&&_0x5e96ed<0x0){_0x576e8b[_0x7659('0x5')]('error',new AGIError(_0x7659('0xd')));_0x51127f['destroy']();}else if(_0x5e96ed&&_0x5e96ed>0x0&&_0x5e96ed<_0x148445){_0xb90fa2+=0x1;_0x576e8b['emit'](_0x7659('0x6'),new AGIError(_0x7659('0xe'),_0xb90fa2));_0x51127f[_0x7659('0xf')]();}else{var _0x8ebee=new AGIChannel(_0x51127f);_0x8ebee['on'](_0x7659('0x10'),function(){_0x576e8b['emit']('connection',_0x8ebee);});}});});_0x4e09cc['on'](_0x7659('0x6'),function(_0x2bea71){_0x576e8b[_0x7659('0x5')](_0x7659('0x6'),new AGIError(_0x7659('0xc'),_0x2bea71[_0x7659('0x11')]));});_0x4e09cc['on']('close',function(){_0x576e8b[_0x7659('0x5')](_0x7659('0x12'),new AGIError(_0x7659('0x13')));});}process[_0x7659('0x14')](function(){_0x5ae101();});};util[_0x7659('0x15')](AGIServer,EventEmitter);module[_0x7659('0x16')]=function(_0x1e12fa,_0x3d905e,_0x32edfb){return new AGIServer(_0x1e12fa,_0x3d905e,_0x32edfb);};