9b25bffebc5198dfb4f5bbc11108d6c18f26fa15
[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 _0x9bde=['error','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection','getConnections','E_AGI_SERVER_ERROR','destroy','ready','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','net','EventEmitter','./channel','127.0.0.1','call','emit'];(function(_0x26cb28,_0x17e7e7){var _0x10061a=function(_0xf77cab){while(--_0xf77cab){_0x26cb28['push'](_0x26cb28['shift']());}};_0x10061a(++_0x17e7e7);}(_0x9bde,0xe1));var _0xe9bd=function(_0x232326,_0x453414){_0x232326=_0x232326-0x0;var _0x18c4a2=_0x9bde[_0x232326];return _0x18c4a2;};'use strict';var util=require('util');var net=require(_0xe9bd('0x0'));var EventEmitter=require('events')[_0xe9bd('0x1')];var AGIError=require('./error');var AGIChannel=require(_0xe9bd('0x2'));var AGIServer=function(_0x3005aa,_0x131f6a,_0x1c1b34){var _0x10822d=this,_0x3005aa=_0x3005aa||0x11dd,_0x131f6a=_0x131f6a||_0xe9bd('0x3'),_0x4fd7b8=null,_0x4763e9=0x0;EventEmitter[_0xe9bd('0x4')](_0x10822d);function _0xa66ae2(){if(!_0x3005aa){_0x10822d[_0xe9bd('0x5')](_0xe9bd('0x6'),new AGIError(_0xe9bd('0x7')));return![];}_0x4fd7b8=net[_0xe9bd('0x8')]();_0x4fd7b8[_0xe9bd('0x9')](_0x3005aa,_0x131f6a);_0x4fd7b8['on'](_0xe9bd('0xa'),function(){_0x10822d['emit']('listening');});_0x4fd7b8['on'](_0xe9bd('0xb'),function(_0x145521){_0x4fd7b8[_0xe9bd('0xc')](function(_0x581ab9,_0x12c96e){if(_0x581ab9){_0x10822d[_0xe9bd('0x5')](_0xe9bd('0x6'),new AGIError(_0xe9bd('0xd'),_0x581ab9));}else if(_0x1c1b34&&_0x1c1b34<0x0){_0x10822d['emit'](_0xe9bd('0x6'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x145521[_0xe9bd('0xe')]();}else if(_0x1c1b34&&_0x1c1b34>0x0&&_0x1c1b34<_0x12c96e){_0x4763e9+=0x1;_0x10822d[_0xe9bd('0x5')](_0xe9bd('0x6'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x4763e9));_0x145521['destroy']();}else{var _0x46a95e=new AGIChannel(_0x145521);_0x46a95e['on'](_0xe9bd('0xf'),function(){_0x10822d[_0xe9bd('0x5')](_0xe9bd('0xb'),_0x46a95e);});}});});_0x4fd7b8['on'](_0xe9bd('0x6'),function(_0x389e7b){_0x10822d[_0xe9bd('0x5')]('error',new AGIError(_0xe9bd('0xd'),_0x389e7b[_0xe9bd('0x10')]));});_0x4fd7b8['on'](_0xe9bd('0x11'),function(){_0x10822d['emit'](_0xe9bd('0x11'),new AGIError(_0xe9bd('0x12')));});}process[_0xe9bd('0x13')](function(){_0xa66ae2();});};util[_0xe9bd('0x14')](AGIServer,EventEmitter);module['exports']=function(_0x20ec32,_0x50a5e8,_0xc6b661){return new AGIServer(_0x20ec32,_0x50a5e8,_0xc6b661);};