b5b0096f0bc5caa7f7f22fe49d19b9ec968366d7
[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 _0x2b84=['./error','./channel','127.0.0.1','error','listen','listening','emit','connection','getConnections','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','close','E_AGI_SERVER_CLOSE','nextTick','inherits','exports','util','events','EventEmitter'];(function(_0x513adf,_0x28a8bc){var _0x48654a=function(_0x50fedb){while(--_0x50fedb){_0x513adf['push'](_0x513adf['shift']());}};_0x48654a(++_0x28a8bc);}(_0x2b84,0x105));var _0x42b8=function(_0x4cf98e,_0xba4b79){_0x4cf98e=_0x4cf98e-0x0;var _0x1623ac=_0x2b84[_0x4cf98e];return _0x1623ac;};'use strict';var util=require(_0x42b8('0x0'));var net=require('net');var EventEmitter=require(_0x42b8('0x1'))[_0x42b8('0x2')];var AGIError=require(_0x42b8('0x3'));var AGIChannel=require(_0x42b8('0x4'));var AGIServer=function(_0x5b5cec,_0x1d40a2,_0x14cc6b){var _0x1561c3=this,_0x5b5cec=_0x5b5cec||0x11dd,_0x1d40a2=_0x1d40a2||_0x42b8('0x5'),_0x396739=null,_0x25b33e=0x0;EventEmitter['call'](_0x1561c3);function _0x17bf95(){if(!_0x5b5cec){_0x1561c3['emit'](_0x42b8('0x6'),new AGIError('E_AGI_ARGUMENT_PORT'));return![];}_0x396739=net['createServer']();_0x396739[_0x42b8('0x7')](_0x5b5cec,_0x1d40a2);_0x396739['on'](_0x42b8('0x8'),function(){_0x1561c3[_0x42b8('0x9')](_0x42b8('0x8'));});_0x396739['on'](_0x42b8('0xa'),function(_0x54821a){_0x396739[_0x42b8('0xb')](function(_0x253ff2,_0x16e771){if(_0x253ff2){_0x1561c3['emit'](_0x42b8('0x6'),new AGIError(_0x42b8('0xc'),_0x253ff2));}else if(_0x14cc6b&&_0x14cc6b<0x0){_0x1561c3[_0x42b8('0x9')]('error',new AGIError(_0x42b8('0xd')));_0x54821a[_0x42b8('0xe')]();}else if(_0x14cc6b&&_0x14cc6b>0x0&&_0x14cc6b<_0x16e771){_0x25b33e+=0x1;_0x1561c3['emit'](_0x42b8('0x6'),new AGIError(_0x42b8('0xf'),_0x25b33e));_0x54821a[_0x42b8('0xe')]();}else{var _0xe8c8fd=new AGIChannel(_0x54821a);_0xe8c8fd['on'](_0x42b8('0x10'),function(){_0x1561c3[_0x42b8('0x9')](_0x42b8('0xa'),_0xe8c8fd);});}});});_0x396739['on']('error',function(_0x4ea974){_0x1561c3[_0x42b8('0x9')](_0x42b8('0x6'),new AGIError(_0x42b8('0xc'),_0x4ea974['code']));});_0x396739['on'](_0x42b8('0x11'),function(){_0x1561c3[_0x42b8('0x9')]('close',new AGIError(_0x42b8('0x12')));});}process[_0x42b8('0x13')](function(){_0x17bf95();});};util[_0x42b8('0x14')](AGIServer,EventEmitter);module[_0x42b8('0x15')]=function(_0x1a90dd,_0x40cee4,_0x17e10b){return new AGIServer(_0x1a90dd,_0x40cee4,_0x17e10b);};