4e99ed0bb2f11d20b89e568340b7092fd9b420db
[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 _0x0ba7=['getConnections','E_AGI_SERVER_VOICE_DISABLED','destroy','ready','E_AGI_SERVER_ERROR','code','close','exports','util','events','EventEmitter','./error','./channel','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen','connection'];(function(_0x56171e,_0x6c5a1e){var _0x1238b7=function(_0x2544a9){while(--_0x2544a9){_0x56171e['push'](_0x56171e['shift']());}};_0x1238b7(++_0x6c5a1e);}(_0x0ba7,0x16d));var _0x70ba=function(_0x4ca209,_0x324735){_0x4ca209=_0x4ca209-0x0;var _0x37a7d1=_0x0ba7[_0x4ca209];return _0x37a7d1;};'use strict';var util=require(_0x70ba('0x0'));var net=require('net');var EventEmitter=require(_0x70ba('0x1'))[_0x70ba('0x2')];var AGIError=require(_0x70ba('0x3'));var AGIChannel=require(_0x70ba('0x4'));var AGIServer=function(_0x5e5368,_0x319ca9,_0x3e20ab){var _0x3cb2e3=this,_0x5e5368=_0x5e5368||0x11dd,_0x319ca9=_0x319ca9||_0x70ba('0x5'),_0x3f9877=null,_0x17a00c=0x0;EventEmitter[_0x70ba('0x6')](_0x3cb2e3);function _0x1185cb(){if(!_0x5e5368){_0x3cb2e3[_0x70ba('0x7')](_0x70ba('0x8'),new AGIError(_0x70ba('0x9')));return![];}_0x3f9877=net[_0x70ba('0xa')]();_0x3f9877[_0x70ba('0xb')](_0x5e5368,_0x319ca9);_0x3f9877['on']('listening',function(){_0x3cb2e3[_0x70ba('0x7')]('listening');});_0x3f9877['on'](_0x70ba('0xc'),function(_0x258604){_0x3f9877[_0x70ba('0xd')](function(_0x3cf8ab,_0x593fe9){if(_0x3cf8ab){_0x3cb2e3['emit'](_0x70ba('0x8'),new AGIError('E_AGI_SERVER_ERROR',_0x3cf8ab));}else if(_0x3e20ab&&_0x3e20ab<0x0){_0x3cb2e3[_0x70ba('0x7')]('error',new AGIError(_0x70ba('0xe')));_0x258604[_0x70ba('0xf')]();}else if(_0x3e20ab&&_0x3e20ab>0x0&&_0x3e20ab<_0x593fe9){_0x17a00c+=0x1;_0x3cb2e3['emit'](_0x70ba('0x8'),new AGIError('E_AGI_SERVER_MAXCONNECTION',_0x17a00c));_0x258604[_0x70ba('0xf')]();}else{var _0x2728e1=new AGIChannel(_0x258604);_0x2728e1['on'](_0x70ba('0x10'),function(){_0x3cb2e3[_0x70ba('0x7')](_0x70ba('0xc'),_0x2728e1);});}});});_0x3f9877['on'](_0x70ba('0x8'),function(_0x232138){_0x3cb2e3[_0x70ba('0x7')](_0x70ba('0x8'),new AGIError(_0x70ba('0x11'),_0x232138[_0x70ba('0x12')]));});_0x3f9877['on'](_0x70ba('0x13'),function(){_0x3cb2e3[_0x70ba('0x7')](_0x70ba('0x13'),new AGIError('E_AGI_SERVER_CLOSE'));});}process['nextTick'](function(){_0x1185cb();});};util['inherits'](AGIServer,EventEmitter);module[_0x70ba('0x14')]=function(_0x2dd33a,_0x20c2aa,_0xb4dad){return new AGIServer(_0x2dd33a,_0x20c2aa,_0xb4dad);};