5664ee71d241ffe7c809c94049ad6d725238e4f0
[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 _0xe80c=['connection','getConnections','emit','E_AGI_SERVER_VOICE_DISABLED','E_AGI_SERVER_MAXCONNECTION','destroy','close','E_AGI_SERVER_CLOSE','nextTick','inherits','net','events','EventEmitter','./error','./channel','127.0.0.1','error','createServer','listen','listening'];(function(_0x5988ef,_0x17235b){var _0x3a87d9=function(_0x9d219c){while(--_0x9d219c){_0x5988ef['push'](_0x5988ef['shift']());}};_0x3a87d9(++_0x17235b);}(_0xe80c,0x1c2));var _0xce80=function(_0x20ecdc,_0x3b315c){_0x20ecdc=_0x20ecdc-0x0;var _0x4cc620=_0xe80c[_0x20ecdc];return _0x4cc620;};'use strict';var util=require('util');var net=require(_0xce80('0x0'));var EventEmitter=require(_0xce80('0x1'))[_0xce80('0x2')];var AGIError=require(_0xce80('0x3'));var AGIChannel=require(_0xce80('0x4'));var AGIServer=function(_0x589448,_0x40be3f,_0xd0d912){var _0x411d5e=this,_0x589448=_0x589448||0x11dd,_0x40be3f=_0x40be3f||_0xce80('0x5'),_0xb10325=null,_0x150f6a=0x0;EventEmitter['call'](_0x411d5e);function _0x2e1dc6(){if(!_0x589448){_0x411d5e['emit'](_0xce80('0x6'),new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0xb10325=net[_0xce80('0x7')]();_0xb10325[_0xce80('0x8')](_0x589448,_0x40be3f);_0xb10325['on']('listening',function(){_0x411d5e['emit'](_0xce80('0x9'));});_0xb10325['on'](_0xce80('0xa'),function(_0x490265){_0xb10325[_0xce80('0xb')](function(_0x1737ac,_0x2441d5){if(_0x1737ac){_0x411d5e[_0xce80('0xc')](_0xce80('0x6'),new AGIError('E_AGI_SERVER_ERROR',_0x1737ac));}else if(_0xd0d912&&_0xd0d912<0x0){_0x411d5e[_0xce80('0xc')](_0xce80('0x6'),new AGIError(_0xce80('0xd')));_0x490265['destroy']();}else if(_0xd0d912&&_0xd0d912>0x0&&_0xd0d912<_0x2441d5){_0x150f6a+=0x1;_0x411d5e['emit'](_0xce80('0x6'),new AGIError(_0xce80('0xe'),_0x150f6a));_0x490265[_0xce80('0xf')]();}else{var _0x3cac82=new AGIChannel(_0x490265);_0x3cac82['on']('ready',function(){_0x411d5e[_0xce80('0xc')]('connection',_0x3cac82);});}});});_0xb10325['on'](_0xce80('0x6'),function(_0x48796f){_0x411d5e[_0xce80('0xc')](_0xce80('0x6'),new AGIError('E_AGI_SERVER_ERROR',_0x48796f['code']));});_0xb10325['on']('close',function(){_0x411d5e[_0xce80('0xc')](_0xce80('0x10'),new AGIError(_0xce80('0x11')));});}process[_0xce80('0x12')](function(){_0x2e1dc6();});};util[_0xce80('0x13')](AGIServer,EventEmitter);module['exports']=function(_0x1bf7c4,_0xc459ce,_0x4d4345){return new AGIServer(_0x1bf7c4,_0xc459ce,_0x4d4345);};