c3f5efeaed6e4dac97bda16c4364104b0e3d7bcb
[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 _0xd4fc=['ready','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net','events','EventEmitter','./channel','127.0.0.1','call','emit','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection','getConnections','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','error','E_AGI_SERVER_MAXCONNECTION','destroy'];(function(_0x5a671f,_0x4b1d7c){var _0x3454ac=function(_0x195478){while(--_0x195478){_0x5a671f['push'](_0x5a671f['shift']());}};_0x3454ac(++_0x4b1d7c);}(_0xd4fc,0x6f));var _0xcd4f=function(_0x13f7dc,_0x4a70bf){_0x13f7dc=_0x13f7dc-0x0;var _0x49220e=_0xd4fc[_0x13f7dc];return _0x49220e;};'use strict';var util=require(_0xcd4f('0x0'));var net=require(_0xcd4f('0x1'));var EventEmitter=require(_0xcd4f('0x2'))[_0xcd4f('0x3')];var AGIError=require('./error');var AGIChannel=require(_0xcd4f('0x4'));var AGIServer=function(_0x34ea75,_0x3a93fc,_0x110498){var _0x57b39c=this,_0x34ea75=_0x34ea75||0x11dd,_0x3a93fc=_0x3a93fc||_0xcd4f('0x5'),_0x28d17c=null,_0x254853=0x0;EventEmitter[_0xcd4f('0x6')](_0x57b39c);function _0x360657(){if(!_0x34ea75){_0x57b39c[_0xcd4f('0x7')]('error',new AGIError(_0xcd4f('0x8')));return![];}_0x28d17c=net[_0xcd4f('0x9')]();_0x28d17c[_0xcd4f('0xa')](_0x34ea75,_0x3a93fc);_0x28d17c['on'](_0xcd4f('0xb'),function(){_0x57b39c['emit'](_0xcd4f('0xb'));});_0x28d17c['on'](_0xcd4f('0xc'),function(_0x264989){_0x28d17c[_0xcd4f('0xd')](function(_0x40ca19,_0x473776){if(_0x40ca19){_0x57b39c[_0xcd4f('0x7')]('error',new AGIError(_0xcd4f('0xe'),_0x40ca19));}else if(_0x110498&&_0x110498<0x0){_0x57b39c[_0xcd4f('0x7')]('error',new AGIError(_0xcd4f('0xf')));_0x264989['destroy']();}else if(_0x110498&&_0x110498>0x0&&_0x110498<_0x473776){_0x254853+=0x1;_0x57b39c[_0xcd4f('0x7')](_0xcd4f('0x10'),new AGIError(_0xcd4f('0x11'),_0x254853));_0x264989[_0xcd4f('0x12')]();}else{var _0x416dcb=new AGIChannel(_0x264989);_0x416dcb['on'](_0xcd4f('0x13'),function(){_0x57b39c[_0xcd4f('0x7')]('connection',_0x416dcb);});}});});_0x28d17c['on'](_0xcd4f('0x10'),function(_0x20b9e6){_0x57b39c[_0xcd4f('0x7')]('error',new AGIError(_0xcd4f('0xe'),_0x20b9e6[_0xcd4f('0x14')]));});_0x28d17c['on'](_0xcd4f('0x15'),function(){_0x57b39c['emit'](_0xcd4f('0x15'),new AGIError(_0xcd4f('0x16')));});}process[_0xcd4f('0x17')](function(){_0x360657();});};util[_0xcd4f('0x18')](AGIServer,EventEmitter);module[_0xcd4f('0x19')]=function(_0x13be82,_0x44e433,_0x10b3a4){return new AGIServer(_0x13be82,_0x44e433,_0x10b3a4);};