e8c44edca250eb4d637b79bea5427592ecef75f4
[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 _0x9ee6=['ready','E_AGI_SERVER_CLOSE','exports','net','events','./error','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','listen','listening','connection','getConnections','E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION'];(function(_0x5c2a2b,_0x22c94e){var _0x19921f=function(_0x3fb937){while(--_0x3fb937){_0x5c2a2b['push'](_0x5c2a2b['shift']());}};_0x19921f(++_0x22c94e);}(_0x9ee6,0x16b));var _0x69ee=function(_0x2d994d,_0x168a27){_0x2d994d=_0x2d994d-0x0;var _0xd54be4=_0x9ee6[_0x2d994d];return _0xd54be4;};'use strict';var util=require('util');var net=require(_0x69ee('0x0'));var EventEmitter=require(_0x69ee('0x1'))['EventEmitter'];var AGIError=require(_0x69ee('0x2'));var AGIChannel=require('./channel');var AGIServer=function(_0x1750ba,_0x50043d,_0x549ad4){var _0x3892c7=this,_0x1750ba=_0x1750ba||0x11dd,_0x50043d=_0x50043d||_0x69ee('0x3'),_0xdd8b67=null,_0x1a3ede=0x0;EventEmitter[_0x69ee('0x4')](_0x3892c7);function _0x4e12b5(){if(!_0x1750ba){_0x3892c7[_0x69ee('0x5')](_0x69ee('0x6'),new AGIError(_0x69ee('0x7')));return![];}_0xdd8b67=net['createServer']();_0xdd8b67[_0x69ee('0x8')](_0x1750ba,_0x50043d);_0xdd8b67['on'](_0x69ee('0x9'),function(){_0x3892c7[_0x69ee('0x5')](_0x69ee('0x9'));});_0xdd8b67['on'](_0x69ee('0xa'),function(_0x1cfee7){_0xdd8b67[_0x69ee('0xb')](function(_0x42f0e6,_0x56aadc){if(_0x42f0e6){_0x3892c7[_0x69ee('0x5')](_0x69ee('0x6'),new AGIError(_0x69ee('0xc'),_0x42f0e6));}else if(_0x549ad4&&_0x549ad4<0x0){_0x3892c7['emit'](_0x69ee('0x6'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x1cfee7[_0x69ee('0xd')]();}else if(_0x549ad4&&_0x549ad4>0x0&&_0x549ad4<_0x56aadc){_0x1a3ede+=0x1;_0x3892c7[_0x69ee('0x5')]('error',new AGIError(_0x69ee('0xe'),_0x1a3ede));_0x1cfee7[_0x69ee('0xd')]();}else{var _0x207b92=new AGIChannel(_0x1cfee7);_0x207b92['on'](_0x69ee('0xf'),function(){_0x3892c7[_0x69ee('0x5')](_0x69ee('0xa'),_0x207b92);});}});});_0xdd8b67['on'](_0x69ee('0x6'),function(_0x200070){_0x3892c7[_0x69ee('0x5')](_0x69ee('0x6'),new AGIError(_0x69ee('0xc'),_0x200070['code']));});_0xdd8b67['on']('close',function(){_0x3892c7[_0x69ee('0x5')]('close',new AGIError(_0x69ee('0x10')));});}process['nextTick'](function(){_0x4e12b5();});};util['inherits'](AGIServer,EventEmitter);module[_0x69ee('0x11')]=function(_0x3dde19,_0xbc0d2,_0x20d102){return new AGIServer(_0x3dde19,_0xbc0d2,_0x20d102);};