d7f1535efb9eb8bed1c919a548355fa3f9d56039
[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 _0xd468=['connection','getConnections','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','E_AGI_SERVER_ERROR','code','close','nextTick','exports','util','net','events','./error','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen','listening'];(function(_0x543084,_0x4337f5){var _0x306a57=function(_0x2769ed){while(--_0x2769ed){_0x543084['push'](_0x543084['shift']());}};_0x306a57(++_0x4337f5);}(_0xd468,0xda));var _0x8d46=function(_0x4e7b46,_0x1e5718){_0x4e7b46=_0x4e7b46-0x0;var _0x309599=_0xd468[_0x4e7b46];return _0x309599;};'use strict';var util=require(_0x8d46('0x0'));var net=require(_0x8d46('0x1'));var EventEmitter=require(_0x8d46('0x2'))['EventEmitter'];var AGIError=require(_0x8d46('0x3'));var AGIChannel=require('./channel');var AGIServer=function(_0x255ad5,_0x2dd230,_0x563ce6){var _0x4d90a1=this,_0x255ad5=_0x255ad5||0x11dd,_0x2dd230=_0x2dd230||_0x8d46('0x4'),_0x1fab8c=null,_0x18eed8=0x0;EventEmitter[_0x8d46('0x5')](_0x4d90a1);function _0x3aad80(){if(!_0x255ad5){_0x4d90a1[_0x8d46('0x6')](_0x8d46('0x7'),new AGIError(_0x8d46('0x8')));return![];}_0x1fab8c=net[_0x8d46('0x9')]();_0x1fab8c[_0x8d46('0xa')](_0x255ad5,_0x2dd230);_0x1fab8c['on'](_0x8d46('0xb'),function(){_0x4d90a1[_0x8d46('0x6')](_0x8d46('0xb'));});_0x1fab8c['on'](_0x8d46('0xc'),function(_0xb08113){_0x1fab8c[_0x8d46('0xd')](function(_0x2c75cd,_0x16c2bd){if(_0x2c75cd){_0x4d90a1['emit'](_0x8d46('0x7'),new AGIError('E_AGI_SERVER_ERROR',_0x2c75cd));}else if(_0x563ce6&&_0x563ce6<0x0){_0x4d90a1['emit'](_0x8d46('0x7'),new AGIError(_0x8d46('0xe')));_0xb08113[_0x8d46('0xf')]();}else if(_0x563ce6&&_0x563ce6>0x0&&_0x563ce6<_0x16c2bd){_0x18eed8+=0x1;_0x4d90a1[_0x8d46('0x6')]('error',new AGIError(_0x8d46('0x10'),_0x18eed8));_0xb08113[_0x8d46('0xf')]();}else{var _0x18d72b=new AGIChannel(_0xb08113);_0x18d72b['on'](_0x8d46('0x11'),function(){_0x4d90a1[_0x8d46('0x6')](_0x8d46('0xc'),_0x18d72b);});}});});_0x1fab8c['on']('error',function(_0x3dde08){_0x4d90a1[_0x8d46('0x6')](_0x8d46('0x7'),new AGIError(_0x8d46('0x12'),_0x3dde08[_0x8d46('0x13')]));});_0x1fab8c['on'](_0x8d46('0x14'),function(){_0x4d90a1['emit'](_0x8d46('0x14'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0x8d46('0x15')](function(){_0x3aad80();});};util['inherits'](AGIServer,EventEmitter);module[_0x8d46('0x16')]=function(_0x23998d,_0x865a82,_0xa84279){return new AGIServer(_0x23998d,_0x865a82,_0xa84279);};