Built motion from commit db94841.|2.5.3
[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 _0x851e=['ready','code','close','nextTick','exports','util','net','events','./channel','127.0.0.1','call','emit','createServer','listen','listening','connection','getConnections','error','E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION'];(function(_0x2235bf,_0x3a06a7){var _0x4c3a64=function(_0x3b3bb6){while(--_0x3b3bb6){_0x2235bf['push'](_0x2235bf['shift']());}};_0x4c3a64(++_0x3a06a7);}(_0x851e,0x1e8));var _0xe851=function(_0x296923,_0x4adaed){_0x296923=_0x296923-0x0;var _0x29af70=_0x851e[_0x296923];return _0x29af70;};'use strict';var util=require(_0xe851('0x0'));var net=require(_0xe851('0x1'));var EventEmitter=require(_0xe851('0x2'))['EventEmitter'];var AGIError=require('./error');var AGIChannel=require(_0xe851('0x3'));var AGIServer=function(_0x11f06b,_0x16b38a,_0x326b34){var _0xe50306=this,_0x11f06b=_0x11f06b||0x11dd,_0x16b38a=_0x16b38a||_0xe851('0x4'),_0x2b36b5=null,_0xba0648=0x0;EventEmitter[_0xe851('0x5')](_0xe50306);function _0x4e1c59(){if(!_0x11f06b){_0xe50306[_0xe851('0x6')]('error',new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0x2b36b5=net[_0xe851('0x7')]();_0x2b36b5[_0xe851('0x8')](_0x11f06b,_0x16b38a);_0x2b36b5['on'](_0xe851('0x9'),function(){_0xe50306[_0xe851('0x6')]('listening');});_0x2b36b5['on'](_0xe851('0xa'),function(_0xd5d71c){_0x2b36b5[_0xe851('0xb')](function(_0x4e360f,_0xeedf07){if(_0x4e360f){_0xe50306['emit'](_0xe851('0xc'),new AGIError(_0xe851('0xd'),_0x4e360f));}else if(_0x326b34&&_0x326b34<0x0){_0xe50306['emit'](_0xe851('0xc'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0xd5d71c[_0xe851('0xe')]();}else if(_0x326b34&&_0x326b34>0x0&&_0x326b34<_0xeedf07){_0xba0648+=0x1;_0xe50306['emit'](_0xe851('0xc'),new AGIError(_0xe851('0xf'),_0xba0648));_0xd5d71c['destroy']();}else{var _0x391632=new AGIChannel(_0xd5d71c);_0x391632['on'](_0xe851('0x10'),function(){_0xe50306[_0xe851('0x6')]('connection',_0x391632);});}});});_0x2b36b5['on']('error',function(_0x11ba80){_0xe50306[_0xe851('0x6')](_0xe851('0xc'),new AGIError(_0xe851('0xd'),_0x11ba80[_0xe851('0x11')]));});_0x2b36b5['on'](_0xe851('0x12'),function(){_0xe50306['emit'](_0xe851('0x12'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xe851('0x13')](function(){_0x4e1c59();});};util['inherits'](AGIServer,EventEmitter);module[_0xe851('0x14')]=function(_0x51d5ba,_0x232957,_0x2d8015){return new AGIServer(_0x51d5ba,_0x232957,_0x2d8015);};