Built motion from commit (unavailable).|2.4.18
[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 _0x5309=['exports','util','net','events','EventEmitter','./error','./channel','127.0.0.1','emit','E_AGI_ARGUMENT_PORT','createServer','listen','listening','getConnections','error','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','connection','code','close','E_AGI_SERVER_CLOSE','nextTick'];(function(_0x3f6b1b,_0x58d3d6){var _0x4a3d2b=function(_0x5648f0){while(--_0x5648f0){_0x3f6b1b['push'](_0x3f6b1b['shift']());}};_0x4a3d2b(++_0x58d3d6);}(_0x5309,0x1aa));var _0x9530=function(_0x4b4638,_0xe99cda){_0x4b4638=_0x4b4638-0x0;var _0x59e92b=_0x5309[_0x4b4638];return _0x59e92b;};'use strict';var util=require(_0x9530('0x0'));var net=require(_0x9530('0x1'));var EventEmitter=require(_0x9530('0x2'))[_0x9530('0x3')];var AGIError=require(_0x9530('0x4'));var AGIChannel=require(_0x9530('0x5'));var AGIServer=function(_0x322ca0,_0x13abba,_0x169a84){var _0x41a9c1=this,_0x322ca0=_0x322ca0||0x11dd,_0x13abba=_0x13abba||_0x9530('0x6'),_0x1cb512=null,_0x187678=0x0;EventEmitter['call'](_0x41a9c1);function _0x5f5c1d(){if(!_0x322ca0){_0x41a9c1[_0x9530('0x7')]('error',new AGIError(_0x9530('0x8')));return![];}_0x1cb512=net[_0x9530('0x9')]();_0x1cb512[_0x9530('0xa')](_0x322ca0,_0x13abba);_0x1cb512['on'](_0x9530('0xb'),function(){_0x41a9c1[_0x9530('0x7')](_0x9530('0xb'));});_0x1cb512['on']('connection',function(_0x5e2a4b){_0x1cb512[_0x9530('0xc')](function(_0x26b0e0,_0x46825d){if(_0x26b0e0){_0x41a9c1[_0x9530('0x7')](_0x9530('0xd'),new AGIError(_0x9530('0xe'),_0x26b0e0));}else if(_0x169a84&&_0x169a84<0x0){_0x41a9c1[_0x9530('0x7')](_0x9530('0xd'),new AGIError(_0x9530('0xf')));_0x5e2a4b[_0x9530('0x10')]();}else if(_0x169a84&&_0x169a84>0x0&&_0x169a84<_0x46825d){_0x187678+=0x1;_0x41a9c1[_0x9530('0x7')]('error',new AGIError(_0x9530('0x11'),_0x187678));_0x5e2a4b['destroy']();}else{var _0x3b1c4f=new AGIChannel(_0x5e2a4b);_0x3b1c4f['on'](_0x9530('0x12'),function(){_0x41a9c1['emit'](_0x9530('0x13'),_0x3b1c4f);});}});});_0x1cb512['on'](_0x9530('0xd'),function(_0x4e08cc){_0x41a9c1[_0x9530('0x7')](_0x9530('0xd'),new AGIError(_0x9530('0xe'),_0x4e08cc[_0x9530('0x14')]));});_0x1cb512['on'](_0x9530('0x15'),function(){_0x41a9c1['emit']('close',new AGIError(_0x9530('0x16')));});}process[_0x9530('0x17')](function(){_0x5f5c1d();});};util['inherits'](AGIServer,EventEmitter);module[_0x9530('0x18')]=function(_0x460dab,_0x3800d6,_0x4ea7a3){return new AGIServer(_0x460dab,_0x3800d6,_0x4ea7a3);};