Built motion from commit (unavailable).|2.5.25
[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 _0x6e12=['E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION','ready','connection','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net','events','EventEmitter','./channel','127.0.0.1','emit','error','E_AGI_ARGUMENT_PORT','createServer','listening','getConnections'];(function(_0xeed9eb,_0x535347){var _0x1691db=function(_0x1d430f){while(--_0x1d430f){_0xeed9eb['push'](_0xeed9eb['shift']());}};_0x1691db(++_0x535347);}(_0x6e12,0x154));var _0x26e1=function(_0x29f898,_0x19e965){_0x29f898=_0x29f898-0x0;var _0xe54e4c=_0x6e12[_0x29f898];return _0xe54e4c;};'use strict';var util=require(_0x26e1('0x0'));var net=require(_0x26e1('0x1'));var EventEmitter=require(_0x26e1('0x2'))[_0x26e1('0x3')];var AGIError=require('./error');var AGIChannel=require(_0x26e1('0x4'));var AGIServer=function(_0x374765,_0x23bd68,_0x47f8ce){var _0x4f55d8=this,_0x374765=_0x374765||0x11dd,_0x23bd68=_0x23bd68||_0x26e1('0x5'),_0x18467c=null,_0x2073c9=0x0;EventEmitter['call'](_0x4f55d8);function _0x3d543a(){if(!_0x374765){_0x4f55d8[_0x26e1('0x6')](_0x26e1('0x7'),new AGIError(_0x26e1('0x8')));return![];}_0x18467c=net[_0x26e1('0x9')]();_0x18467c['listen'](_0x374765,_0x23bd68);_0x18467c['on'](_0x26e1('0xa'),function(){_0x4f55d8[_0x26e1('0x6')](_0x26e1('0xa'));});_0x18467c['on']('connection',function(_0x28eec6){_0x18467c[_0x26e1('0xb')](function(_0x308002,_0x61ccb8){if(_0x308002){_0x4f55d8[_0x26e1('0x6')]('error',new AGIError(_0x26e1('0xc'),_0x308002));}else if(_0x47f8ce&&_0x47f8ce<0x0){_0x4f55d8[_0x26e1('0x6')](_0x26e1('0x7'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x28eec6[_0x26e1('0xd')]();}else if(_0x47f8ce&&_0x47f8ce>0x0&&_0x47f8ce<_0x61ccb8){_0x2073c9+=0x1;_0x4f55d8[_0x26e1('0x6')](_0x26e1('0x7'),new AGIError(_0x26e1('0xe'),_0x2073c9));_0x28eec6['destroy']();}else{var _0x532aee=new AGIChannel(_0x28eec6);_0x532aee['on'](_0x26e1('0xf'),function(){_0x4f55d8[_0x26e1('0x6')](_0x26e1('0x10'),_0x532aee);});}});});_0x18467c['on'](_0x26e1('0x7'),function(_0x438eca){_0x4f55d8['emit'](_0x26e1('0x7'),new AGIError(_0x26e1('0xc'),_0x438eca['code']));});_0x18467c['on'](_0x26e1('0x11'),function(){_0x4f55d8[_0x26e1('0x6')](_0x26e1('0x11'),new AGIError(_0x26e1('0x12')));});}process[_0x26e1('0x13')](function(){_0x3d543a();});};util[_0x26e1('0x14')](AGIServer,EventEmitter);module[_0x26e1('0x15')]=function(_0x53d189,_0x491137,_0x2b5c48){return new AGIServer(_0x53d189,_0x491137,_0x2b5c48);};