Built motion from commit (unavailable).|2.5.22
[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 _0x0f3c=['createServer','listen','listening','connection','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','E_AGI_SERVER_MAXCONNECTION','destroy','ready','close','E_AGI_SERVER_CLOSE','nextTick','exports','util','net','./channel','127.0.0.1','call','emit','error'];(function(_0xae7c2f,_0xf31e04){var _0x5d7001=function(_0x4eeadb){while(--_0x4eeadb){_0xae7c2f['push'](_0xae7c2f['shift']());}};_0x5d7001(++_0xf31e04);}(_0x0f3c,0x189));var _0xc0f3=function(_0x1b05a8,_0x59a2e5){_0x1b05a8=_0x1b05a8-0x0;var _0x2a6c1c=_0x0f3c[_0x1b05a8];return _0x2a6c1c;};'use strict';var util=require(_0xc0f3('0x0'));var net=require(_0xc0f3('0x1'));var EventEmitter=require('events')['EventEmitter'];var AGIError=require('./error');var AGIChannel=require(_0xc0f3('0x2'));var AGIServer=function(_0x4648a5,_0xa6a874,_0x2d1f5d){var _0x1be43d=this,_0x4648a5=_0x4648a5||0x11dd,_0xa6a874=_0xa6a874||_0xc0f3('0x3'),_0x256643=null,_0x4b76a0=0x0;EventEmitter[_0xc0f3('0x4')](_0x1be43d);function _0x48fc5d(){if(!_0x4648a5){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x6'),new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0x256643=net[_0xc0f3('0x7')]();_0x256643[_0xc0f3('0x8')](_0x4648a5,_0xa6a874);_0x256643['on'](_0xc0f3('0x9'),function(){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x9'));});_0x256643['on'](_0xc0f3('0xa'),function(_0x232e04){_0x256643['getConnections'](function(_0x345e75,_0x3493c3){if(_0x345e75){_0x1be43d[_0xc0f3('0x5')]('error',new AGIError(_0xc0f3('0xb'),_0x345e75));}else if(_0x2d1f5d&&_0x2d1f5d<0x0){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x6'),new AGIError(_0xc0f3('0xc')));_0x232e04['destroy']();}else if(_0x2d1f5d&&_0x2d1f5d>0x0&&_0x2d1f5d<_0x3493c3){_0x4b76a0+=0x1;_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x6'),new AGIError(_0xc0f3('0xd'),_0x4b76a0));_0x232e04[_0xc0f3('0xe')]();}else{var _0x37cad7=new AGIChannel(_0x232e04);_0x37cad7['on'](_0xc0f3('0xf'),function(){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0xa'),_0x37cad7);});}});});_0x256643['on'](_0xc0f3('0x6'),function(_0x215aed){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x6'),new AGIError(_0xc0f3('0xb'),_0x215aed['code']));});_0x256643['on'](_0xc0f3('0x10'),function(){_0x1be43d[_0xc0f3('0x5')](_0xc0f3('0x10'),new AGIError(_0xc0f3('0x11')));});}process[_0xc0f3('0x12')](function(){_0x48fc5d();});};util['inherits'](AGIServer,EventEmitter);module[_0xc0f3('0x13')]=function(_0x3b2a2c,_0x2f107b,_0x2ecdde){return new AGIServer(_0x3b2a2c,_0x2f107b,_0x2ecdde);};