Built motion from commit 87cd5f02.|2.5.48
[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 _0x9936=['createServer','listen','listening','getConnections','E_AGI_SERVER_VOICE_DISABLED','destroy','ready','connection','E_AGI_SERVER_ERROR','close','E_AGI_SERVER_CLOSE','nextTick','inherits','util','net','EventEmitter','./error','./channel','127.0.0.1','emit','error','E_AGI_ARGUMENT_PORT'];(function(_0x1ad1c6,_0x2b8663){var _0x4fb7d3=function(_0x538440){while(--_0x538440){_0x1ad1c6['push'](_0x1ad1c6['shift']());}};_0x4fb7d3(++_0x2b8663);}(_0x9936,0x16d));var _0x6993=function(_0x5bfa44,_0x76dacc){_0x5bfa44=_0x5bfa44-0x0;var _0x43815f=_0x9936[_0x5bfa44];return _0x43815f;};'use strict';var util=require(_0x6993('0x0'));var net=require(_0x6993('0x1'));var EventEmitter=require('events')[_0x6993('0x2')];var AGIError=require(_0x6993('0x3'));var AGIChannel=require(_0x6993('0x4'));var AGIServer=function(_0x1130d2,_0x26274f,_0x32ee9a){var _0x5b9933=this,_0x1130d2=_0x1130d2||0x11dd,_0x26274f=_0x26274f||_0x6993('0x5'),_0x308079=null,_0x2c7931=0x0;EventEmitter['call'](_0x5b9933);function _0x53897e(){if(!_0x1130d2){_0x5b9933[_0x6993('0x6')](_0x6993('0x7'),new AGIError(_0x6993('0x8')));return![];}_0x308079=net[_0x6993('0x9')]();_0x308079[_0x6993('0xa')](_0x1130d2,_0x26274f);_0x308079['on'](_0x6993('0xb'),function(){_0x5b9933[_0x6993('0x6')](_0x6993('0xb'));});_0x308079['on']('connection',function(_0x388366){_0x308079[_0x6993('0xc')](function(_0x565bce,_0x46f413){if(_0x565bce){_0x5b9933['emit'](_0x6993('0x7'),new AGIError('E_AGI_SERVER_ERROR',_0x565bce));}else if(_0x32ee9a&&_0x32ee9a<0x0){_0x5b9933[_0x6993('0x6')](_0x6993('0x7'),new AGIError(_0x6993('0xd')));_0x388366[_0x6993('0xe')]();}else if(_0x32ee9a&&_0x32ee9a>0x0&&_0x32ee9a<_0x46f413){_0x2c7931+=0x1;_0x5b9933[_0x6993('0x6')](_0x6993('0x7'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x2c7931));_0x388366[_0x6993('0xe')]();}else{var _0x430e26=new AGIChannel(_0x388366);_0x430e26['on'](_0x6993('0xf'),function(){_0x5b9933['emit'](_0x6993('0x10'),_0x430e26);});}});});_0x308079['on'](_0x6993('0x7'),function(_0x334e2c){_0x5b9933[_0x6993('0x6')]('error',new AGIError(_0x6993('0x11'),_0x334e2c['code']));});_0x308079['on'](_0x6993('0x12'),function(){_0x5b9933[_0x6993('0x6')](_0x6993('0x12'),new AGIError(_0x6993('0x13')));});}process[_0x6993('0x14')](function(){_0x53897e();});};util[_0x6993('0x15')](AGIServer,EventEmitter);module['exports']=function(_0x37d7a6,_0x2d6d5d,_0x157905){return new AGIServer(_0x37d7a6,_0x2d6d5d,_0x157905);};