Built motion from commit (unavailable).|2.4.17
[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 _0xb332=['getConnections','error','E_AGI_SERVER_ERROR','destroy','ready','code','close','nextTick','util','events','EventEmitter','./channel','127.0.0.1','emit','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection'];(function(_0x4fa6dd,_0x14ccdc){var _0x3e6a94=function(_0x435e9a){while(--_0x435e9a){_0x4fa6dd['push'](_0x4fa6dd['shift']());}};_0x3e6a94(++_0x14ccdc);}(_0xb332,0xd9));var _0x2b33=function(_0x23ec06,_0x561142){_0x23ec06=_0x23ec06-0x0;var _0x2831d4=_0xb332[_0x23ec06];return _0x2831d4;};'use strict';var util=require(_0x2b33('0x0'));var net=require('net');var EventEmitter=require(_0x2b33('0x1'))[_0x2b33('0x2')];var AGIError=require('./error');var AGIChannel=require(_0x2b33('0x3'));var AGIServer=function(_0x548a70,_0x1fe6b1,_0x4c6634){var _0x34b111=this,_0x548a70=_0x548a70||0x11dd,_0x1fe6b1=_0x1fe6b1||_0x2b33('0x4'),_0x22d66=null,_0x478214=0x0;EventEmitter['call'](_0x34b111);function _0x5ccf2d(){if(!_0x548a70){_0x34b111[_0x2b33('0x5')]('error',new AGIError(_0x2b33('0x6')));return![];}_0x22d66=net[_0x2b33('0x7')]();_0x22d66[_0x2b33('0x8')](_0x548a70,_0x1fe6b1);_0x22d66['on'](_0x2b33('0x9'),function(){_0x34b111['emit'](_0x2b33('0x9'));});_0x22d66['on'](_0x2b33('0xa'),function(_0x1be19d){_0x22d66[_0x2b33('0xb')](function(_0x1989f3,_0xf1e5e5){if(_0x1989f3){_0x34b111[_0x2b33('0x5')](_0x2b33('0xc'),new AGIError(_0x2b33('0xd'),_0x1989f3));}else if(_0x4c6634&&_0x4c6634<0x0){_0x34b111[_0x2b33('0x5')](_0x2b33('0xc'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x1be19d[_0x2b33('0xe')]();}else if(_0x4c6634&&_0x4c6634>0x0&&_0x4c6634<_0xf1e5e5){_0x478214+=0x1;_0x34b111[_0x2b33('0x5')](_0x2b33('0xc'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x478214));_0x1be19d[_0x2b33('0xe')]();}else{var _0x4d39db=new AGIChannel(_0x1be19d);_0x4d39db['on'](_0x2b33('0xf'),function(){_0x34b111[_0x2b33('0x5')](_0x2b33('0xa'),_0x4d39db);});}});});_0x22d66['on']('error',function(_0x52693f){_0x34b111[_0x2b33('0x5')](_0x2b33('0xc'),new AGIError(_0x2b33('0xd'),_0x52693f[_0x2b33('0x10')]));});_0x22d66['on'](_0x2b33('0x11'),function(){_0x34b111['emit']('close',new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0x2b33('0x12')](function(){_0x5ccf2d();});};util['inherits'](AGIServer,EventEmitter);module['exports']=function(_0x42cfd7,_0x90b215,_0x205d8f){return new AGIServer(_0x42cfd7,_0x90b215,_0x205d8f);};