Built motion from commit 3e059bc2.|2.5.32
[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 _0xd2cf=['net','events','./error','./channel','call','error','createServer','listening','emit','E_AGI_SERVER_ERROR','connection','code','close','nextTick','inherits','exports','util'];(function(_0x1ecfe9,_0x3070d8){var _0x27d4fe=function(_0x4a0d69){while(--_0x4a0d69){_0x1ecfe9['push'](_0x1ecfe9['shift']());}};_0x27d4fe(++_0x3070d8);}(_0xd2cf,0x65));var _0xfd2c=function(_0xf04c6d,_0xe98786){_0xf04c6d=_0xf04c6d-0x0;var _0x4a804e=_0xd2cf[_0xf04c6d];return _0x4a804e;};'use strict';var util=require(_0xfd2c('0x0'));var net=require(_0xfd2c('0x1'));var EventEmitter=require(_0xfd2c('0x2'))['EventEmitter'];var AGIError=require(_0xfd2c('0x3'));var AGIChannel=require(_0xfd2c('0x4'));var AGIServer=function(_0x53cf97,_0xc1e2eb,_0x428a91){var _0x406f1f=this,_0x53cf97=_0x53cf97||0x11dd,_0xc1e2eb=_0xc1e2eb||'127.0.0.1',_0x58a007=null,_0x270053=0x0;EventEmitter[_0xfd2c('0x5')](_0x406f1f);function _0x2d84c9(){if(!_0x53cf97){_0x406f1f['emit'](_0xfd2c('0x6'),new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0x58a007=net[_0xfd2c('0x7')]();_0x58a007['listen'](_0x53cf97,_0xc1e2eb);_0x58a007['on'](_0xfd2c('0x8'),function(){_0x406f1f[_0xfd2c('0x9')](_0xfd2c('0x8'));});_0x58a007['on']('connection',function(_0x462970){_0x58a007['getConnections'](function(_0xd55193,_0x3e84a5){if(_0xd55193){_0x406f1f[_0xfd2c('0x9')](_0xfd2c('0x6'),new AGIError(_0xfd2c('0xa'),_0xd55193));}else if(_0x428a91&&_0x428a91<0x0){_0x406f1f[_0xfd2c('0x9')](_0xfd2c('0x6'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x462970['destroy']();}else if(_0x428a91&&_0x428a91>0x0&&_0x428a91<_0x3e84a5){_0x270053+=0x1;_0x406f1f[_0xfd2c('0x9')](_0xfd2c('0x6'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x270053));_0x462970['destroy']();}else{var _0x2a8381=new AGIChannel(_0x462970);_0x2a8381['on']('ready',function(){_0x406f1f[_0xfd2c('0x9')](_0xfd2c('0xb'),_0x2a8381);});}});});_0x58a007['on'](_0xfd2c('0x6'),function(_0x285d8d){_0x406f1f['emit'](_0xfd2c('0x6'),new AGIError(_0xfd2c('0xa'),_0x285d8d[_0xfd2c('0xc')]));});_0x58a007['on'](_0xfd2c('0xd'),function(){_0x406f1f[_0xfd2c('0x9')]('close',new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xfd2c('0xe')](function(){_0x2d84c9();});};util[_0xfd2c('0xf')](AGIServer,EventEmitter);module[_0xfd2c('0x10')]=function(_0x5682ab,_0x52de1f,_0x46edb5){return new AGIServer(_0x5682ab,_0x52de1f,_0x46edb5);};