0fd9ef2171eb7db10e7c495360111173c242df30
[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 _0xc770=['emit','E_AGI_SERVER_ERROR','E_AGI_SERVER_MAXCONNECTION','destroy','connection','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net','./error','./channel','127.0.0.1','error','E_AGI_ARGUMENT_PORT','createServer','listening'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0xc770,0xd3));var _0x0c77=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc770[_0x3dd15e];return _0x231fd0;};'use strict';var util=require(_0x0c77('0x0'));var net=require(_0x0c77('0x1'));var EventEmitter=require('events')['EventEmitter'];var AGIError=require(_0x0c77('0x2'));var AGIChannel=require(_0x0c77('0x3'));var AGIServer=function(_0x3eaca5,_0x23ae87,_0xdcfb07){var _0x18e293=this,_0x3eaca5=_0x3eaca5||0x11dd,_0x23ae87=_0x23ae87||_0x0c77('0x4'),_0x575bb3=null,_0x26a0ff=0x0;EventEmitter['call'](_0x18e293);function _0x221281(){if(!_0x3eaca5){_0x18e293['emit'](_0x0c77('0x5'),new AGIError(_0x0c77('0x6')));return![];}_0x575bb3=net[_0x0c77('0x7')]();_0x575bb3['listen'](_0x3eaca5,_0x23ae87);_0x575bb3['on'](_0x0c77('0x8'),function(){_0x18e293[_0x0c77('0x9')]('listening');});_0x575bb3['on']('connection',function(_0x2784dd){_0x575bb3['getConnections'](function(_0x145e17,_0x831896){if(_0x145e17){_0x18e293['emit'](_0x0c77('0x5'),new AGIError(_0x0c77('0xa'),_0x145e17));}else if(_0xdcfb07&&_0xdcfb07<0x0){_0x18e293[_0x0c77('0x9')](_0x0c77('0x5'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x2784dd['destroy']();}else if(_0xdcfb07&&_0xdcfb07>0x0&&_0xdcfb07<_0x831896){_0x26a0ff+=0x1;_0x18e293['emit'](_0x0c77('0x5'),new AGIError(_0x0c77('0xb'),_0x26a0ff));_0x2784dd[_0x0c77('0xc')]();}else{var _0x29b1d0=new AGIChannel(_0x2784dd);_0x29b1d0['on']('ready',function(){_0x18e293[_0x0c77('0x9')](_0x0c77('0xd'),_0x29b1d0);});}});});_0x575bb3['on']('error',function(_0x15fe04){_0x18e293[_0x0c77('0x9')]('error',new AGIError('E_AGI_SERVER_ERROR',_0x15fe04[_0x0c77('0xe')]));});_0x575bb3['on'](_0x0c77('0xf'),function(){_0x18e293['emit']('close',new AGIError(_0x0c77('0x10')));});}process[_0x0c77('0x11')](function(){_0x221281();});};util[_0x0c77('0x12')](AGIServer,EventEmitter);module[_0x0c77('0x13')]=function(_0x4c5d2a,_0x152b9b,_0xef65a){return new AGIServer(_0x4c5d2a,_0x152b9b,_0xef65a);};