823445c92eff7612ac8d934af4954537db3c907a
[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 _0xc45b=['E_AGI_SERVER_MAXCONNECTION','ready','code','close','nextTick','exports','util','net','events','./error','./channel','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen','listening','getConnections','E_AGI_SERVER_ERROR','destroy'];(function(_0x43e0e6,_0x4c73c9){var _0x3694b5=function(_0x5c99f6){while(--_0x5c99f6){_0x43e0e6['push'](_0x43e0e6['shift']());}};_0x3694b5(++_0x4c73c9);}(_0xc45b,0x17c));var _0xbc45=function(_0x166e63,_0x2a5059){_0x166e63=_0x166e63-0x0;var _0x5d15b7=_0xc45b[_0x166e63];return _0x5d15b7;};'use strict';var util=require(_0xbc45('0x0'));var net=require(_0xbc45('0x1'));var EventEmitter=require(_0xbc45('0x2'))['EventEmitter'];var AGIError=require(_0xbc45('0x3'));var AGIChannel=require(_0xbc45('0x4'));var AGIServer=function(_0xf82f99,_0x740494,_0x2433e0){var _0x2047f8=this,_0xf82f99=_0xf82f99||0x11dd,_0x740494=_0x740494||_0xbc45('0x5'),_0x396974=null,_0x14888c=0x0;EventEmitter[_0xbc45('0x6')](_0x2047f8);function _0x165a5b(){if(!_0xf82f99){_0x2047f8[_0xbc45('0x7')](_0xbc45('0x8'),new AGIError(_0xbc45('0x9')));return![];}_0x396974=net[_0xbc45('0xa')]();_0x396974[_0xbc45('0xb')](_0xf82f99,_0x740494);_0x396974['on'](_0xbc45('0xc'),function(){_0x2047f8[_0xbc45('0x7')](_0xbc45('0xc'));});_0x396974['on']('connection',function(_0x3b145e){_0x396974[_0xbc45('0xd')](function(_0x436d9b,_0x359dfe){if(_0x436d9b){_0x2047f8['emit'](_0xbc45('0x8'),new AGIError(_0xbc45('0xe'),_0x436d9b));}else if(_0x2433e0&&_0x2433e0<0x0){_0x2047f8[_0xbc45('0x7')](_0xbc45('0x8'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x3b145e[_0xbc45('0xf')]();}else if(_0x2433e0&&_0x2433e0>0x0&&_0x2433e0<_0x359dfe){_0x14888c+=0x1;_0x2047f8[_0xbc45('0x7')](_0xbc45('0x8'),new AGIError(_0xbc45('0x10'),_0x14888c));_0x3b145e[_0xbc45('0xf')]();}else{var _0x4c687c=new AGIChannel(_0x3b145e);_0x4c687c['on'](_0xbc45('0x11'),function(){_0x2047f8[_0xbc45('0x7')]('connection',_0x4c687c);});}});});_0x396974['on']('error',function(_0x16de5c){_0x2047f8[_0xbc45('0x7')](_0xbc45('0x8'),new AGIError(_0xbc45('0xe'),_0x16de5c[_0xbc45('0x12')]));});_0x396974['on']('close',function(){_0x2047f8[_0xbc45('0x7')](_0xbc45('0x13'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xbc45('0x14')](function(){_0x165a5b();});};util['inherits'](AGIServer,EventEmitter);module[_0xbc45('0x15')]=function(_0xb13d24,_0x2820dd,_0x114b0f){return new AGIServer(_0xb13d24,_0x2820dd,_0x114b0f);};