0c5bf96b2d2d25d838faedd0790476292125d435
[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 _0x4b18=['E_AGI_ARGUMENT_PORT','listen','listening','connection','getConnections','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','code','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','net','events','EventEmitter','./channel','127.0.0.1','call','emit','error'];(function(_0x4571bf,_0x108b74){var _0x3199f5=function(_0x36d79f){while(--_0x36d79f){_0x4571bf['push'](_0x4571bf['shift']());}};_0x3199f5(++_0x108b74);}(_0x4b18,0x187));var _0x84b1=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x4b18[_0x3dd15e];return _0x231fd0;};'use strict';var util=require(_0x84b1('0x0'));var net=require(_0x84b1('0x1'));var EventEmitter=require(_0x84b1('0x2'))[_0x84b1('0x3')];var AGIError=require('./error');var AGIChannel=require(_0x84b1('0x4'));var AGIServer=function(_0x3acc6d,_0x38bd13,_0x2d9438){var _0x1874a5=this,_0x3acc6d=_0x3acc6d||0x11dd,_0x38bd13=_0x38bd13||_0x84b1('0x5'),_0x4b7ba0=null,_0x2cb5ad=0x0;EventEmitter[_0x84b1('0x6')](_0x1874a5);function _0x226192(){if(!_0x3acc6d){_0x1874a5[_0x84b1('0x7')](_0x84b1('0x8'),new AGIError(_0x84b1('0x9')));return![];}_0x4b7ba0=net['createServer']();_0x4b7ba0[_0x84b1('0xa')](_0x3acc6d,_0x38bd13);_0x4b7ba0['on'](_0x84b1('0xb'),function(){_0x1874a5['emit'](_0x84b1('0xb'));});_0x4b7ba0['on'](_0x84b1('0xc'),function(_0x35a947){_0x4b7ba0[_0x84b1('0xd')](function(_0x5da65e,_0x54de03){if(_0x5da65e){_0x1874a5[_0x84b1('0x7')]('error',new AGIError(_0x84b1('0xe'),_0x5da65e));}else if(_0x2d9438&&_0x2d9438<0x0){_0x1874a5[_0x84b1('0x7')](_0x84b1('0x8'),new AGIError(_0x84b1('0xf')));_0x35a947[_0x84b1('0x10')]();}else if(_0x2d9438&&_0x2d9438>0x0&&_0x2d9438<_0x54de03){_0x2cb5ad+=0x1;_0x1874a5[_0x84b1('0x7')](_0x84b1('0x8'),new AGIError(_0x84b1('0x11'),_0x2cb5ad));_0x35a947[_0x84b1('0x10')]();}else{var _0x52675b=new AGIChannel(_0x35a947);_0x52675b['on'](_0x84b1('0x12'),function(){_0x1874a5['emit'](_0x84b1('0xc'),_0x52675b);});}});});_0x4b7ba0['on']('error',function(_0x455db7){_0x1874a5[_0x84b1('0x7')](_0x84b1('0x8'),new AGIError(_0x84b1('0xe'),_0x455db7[_0x84b1('0x13')]));});_0x4b7ba0['on'](_0x84b1('0x14'),function(){_0x1874a5['emit'](_0x84b1('0x14'),new AGIError(_0x84b1('0x15')));});}process[_0x84b1('0x16')](function(){_0x226192();});};util[_0x84b1('0x17')](AGIServer,EventEmitter);module[_0x84b1('0x18')]=function(_0xeb677d,_0x1813f7,_0x6a7628){return new AGIServer(_0xeb677d,_0x1813f7,_0x6a7628);};