da71871d580883858cb8b5176a3c4fea0cc83ff0
[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 _0xd49c=['createServer','listening','connection','getConnections','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','close','nextTick','inherits','exports','net','EventEmitter','./error','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT'];(function(_0x5a2507,_0x5c5298){var _0x2125ac=function(_0x86e881){while(--_0x86e881){_0x5a2507['push'](_0x5a2507['shift']());}};_0x2125ac(++_0x5c5298);}(_0xd49c,0x1d8));var _0xcd49=function(_0x2f033f,_0x418d26){_0x2f033f=_0x2f033f-0x0;var _0x5a2208=_0xd49c[_0x2f033f];return _0x5a2208;};'use strict';var util=require('util');var net=require(_0xcd49('0x0'));var EventEmitter=require('events')[_0xcd49('0x1')];var AGIError=require(_0xcd49('0x2'));var AGIChannel=require('./channel');var AGIServer=function(_0x1181d4,_0x52362d,_0x3a3034){var _0x4c36ab=this,_0x1181d4=_0x1181d4||0x11dd,_0x52362d=_0x52362d||_0xcd49('0x3'),_0x3296c7=null,_0x2a87f9=0x0;EventEmitter[_0xcd49('0x4')](_0x4c36ab);function _0x321013(){if(!_0x1181d4){_0x4c36ab[_0xcd49('0x5')](_0xcd49('0x6'),new AGIError(_0xcd49('0x7')));return![];}_0x3296c7=net[_0xcd49('0x8')]();_0x3296c7['listen'](_0x1181d4,_0x52362d);_0x3296c7['on'](_0xcd49('0x9'),function(){_0x4c36ab[_0xcd49('0x5')](_0xcd49('0x9'));});_0x3296c7['on'](_0xcd49('0xa'),function(_0x313c27){_0x3296c7[_0xcd49('0xb')](function(_0x433e00,_0x40849c){if(_0x433e00){_0x4c36ab[_0xcd49('0x5')](_0xcd49('0x6'),new AGIError('E_AGI_SERVER_ERROR',_0x433e00));}else if(_0x3a3034&&_0x3a3034<0x0){_0x4c36ab['emit'](_0xcd49('0x6'),new AGIError(_0xcd49('0xc')));_0x313c27[_0xcd49('0xd')]();}else if(_0x3a3034&&_0x3a3034>0x0&&_0x3a3034<_0x40849c){_0x2a87f9+=0x1;_0x4c36ab['emit'](_0xcd49('0x6'),new AGIError(_0xcd49('0xe'),_0x2a87f9));_0x313c27['destroy']();}else{var _0x26f20=new AGIChannel(_0x313c27);_0x26f20['on'](_0xcd49('0xf'),function(){_0x4c36ab[_0xcd49('0x5')](_0xcd49('0xa'),_0x26f20);});}});});_0x3296c7['on'](_0xcd49('0x6'),function(_0x328755){_0x4c36ab['emit']('error',new AGIError('E_AGI_SERVER_ERROR',_0x328755['code']));});_0x3296c7['on'](_0xcd49('0x10'),function(){_0x4c36ab[_0xcd49('0x5')](_0xcd49('0x10'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xcd49('0x11')](function(){_0x321013();});};util[_0xcd49('0x12')](AGIServer,EventEmitter);module[_0xcd49('0x13')]=function(_0x48fd54,_0x228841,_0x78aff9){return new AGIServer(_0x48fd54,_0x228841,_0x78aff9);};