1338801de4a59fb29681715fe49dafa23f075fe9
[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 _0x0ef0=['destroy','connection','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net','EventEmitter','./error','./channel','127.0.0.1','emit','error','E_AGI_ARGUMENT_PORT','createServer','listening','E_AGI_SERVER_ERROR'];(function(_0x2d90e7,_0x5b7776){var _0xe89a9e=function(_0x3738e1){while(--_0x3738e1){_0x2d90e7['push'](_0x2d90e7['shift']());}};_0xe89a9e(++_0x5b7776);}(_0x0ef0,0x80));var _0x00ef=function(_0x4ac24c,_0x2791b9){_0x4ac24c=_0x4ac24c-0x0;var _0x3961b0=_0x0ef0[_0x4ac24c];return _0x3961b0;};'use strict';var util=require(_0x00ef('0x0'));var net=require(_0x00ef('0x1'));var EventEmitter=require('events')[_0x00ef('0x2')];var AGIError=require(_0x00ef('0x3'));var AGIChannel=require(_0x00ef('0x4'));var AGIServer=function(_0x20c074,_0xd4ab59,_0x92e0b){var _0x53bad3=this,_0x20c074=_0x20c074||0x11dd,_0xd4ab59=_0xd4ab59||_0x00ef('0x5'),_0x406d13=null,_0x471ebf=0x0;EventEmitter['call'](_0x53bad3);function _0x303c49(){if(!_0x20c074){_0x53bad3[_0x00ef('0x6')](_0x00ef('0x7'),new AGIError(_0x00ef('0x8')));return![];}_0x406d13=net[_0x00ef('0x9')]();_0x406d13['listen'](_0x20c074,_0xd4ab59);_0x406d13['on'](_0x00ef('0xa'),function(){_0x53bad3[_0x00ef('0x6')](_0x00ef('0xa'));});_0x406d13['on']('connection',function(_0x64f203){_0x406d13['getConnections'](function(_0x1e70af,_0xed42a9){if(_0x1e70af){_0x53bad3[_0x00ef('0x6')](_0x00ef('0x7'),new AGIError(_0x00ef('0xb'),_0x1e70af));}else if(_0x92e0b&&_0x92e0b<0x0){_0x53bad3['emit'](_0x00ef('0x7'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x64f203[_0x00ef('0xc')]();}else if(_0x92e0b&&_0x92e0b>0x0&&_0x92e0b<_0xed42a9){_0x471ebf+=0x1;_0x53bad3[_0x00ef('0x6')](_0x00ef('0x7'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x471ebf));_0x64f203[_0x00ef('0xc')]();}else{var _0x4aed97=new AGIChannel(_0x64f203);_0x4aed97['on']('ready',function(){_0x53bad3[_0x00ef('0x6')](_0x00ef('0xd'),_0x4aed97);});}});});_0x406d13['on'](_0x00ef('0x7'),function(_0x250c3d){_0x53bad3['emit'](_0x00ef('0x7'),new AGIError('E_AGI_SERVER_ERROR',_0x250c3d[_0x00ef('0xe')]));});_0x406d13['on'](_0x00ef('0xf'),function(){_0x53bad3[_0x00ef('0x6')]('close',new AGIError(_0x00ef('0x10')));});}process[_0x00ef('0x11')](function(){_0x303c49();});};util[_0x00ef('0x12')](AGIServer,EventEmitter);module[_0x00ef('0x13')]=function(_0x13e5b9,_0x4506aa,_0x437560){return new AGIServer(_0x13e5b9,_0x4506aa,_0x437560);};