1ea872f547a54bef66f7517449d5a5973fce366e
[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 _0x78cc=['listening','connection','getConnections','E_AGI_SERVER_ERROR','E_AGI_SERVER_VOICE_DISABLED','destroy','E_AGI_SERVER_MAXCONNECTION','ready','code','close','nextTick','inherits','exports','util','net','events','EventEmitter','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen'];(function(_0x5d6761,_0x32e550){var _0x152d7a=function(_0x20a8fb){while(--_0x20a8fb){_0x5d6761['push'](_0x5d6761['shift']());}};_0x152d7a(++_0x32e550);}(_0x78cc,0x1d5));var _0xc78c=function(_0x6468db,_0x522231){_0x6468db=_0x6468db-0x0;var _0x434e8a=_0x78cc[_0x6468db];return _0x434e8a;};'use strict';var util=require(_0xc78c('0x0'));var net=require(_0xc78c('0x1'));var EventEmitter=require(_0xc78c('0x2'))[_0xc78c('0x3')];var AGIError=require('./error');var AGIChannel=require('./channel');var AGIServer=function(_0x3fed99,_0x50ddc6,_0x5ece03){var _0x1eaad1=this,_0x3fed99=_0x3fed99||0x11dd,_0x50ddc6=_0x50ddc6||_0xc78c('0x4'),_0x23afcd=null,_0xd15447=0x0;EventEmitter[_0xc78c('0x5')](_0x1eaad1);function _0x370223(){if(!_0x3fed99){_0x1eaad1[_0xc78c('0x6')](_0xc78c('0x7'),new AGIError(_0xc78c('0x8')));return![];}_0x23afcd=net[_0xc78c('0x9')]();_0x23afcd[_0xc78c('0xa')](_0x3fed99,_0x50ddc6);_0x23afcd['on'](_0xc78c('0xb'),function(){_0x1eaad1['emit'](_0xc78c('0xb'));});_0x23afcd['on'](_0xc78c('0xc'),function(_0x5bb48f){_0x23afcd[_0xc78c('0xd')](function(_0x32c1e0,_0xc30318){if(_0x32c1e0){_0x1eaad1[_0xc78c('0x6')](_0xc78c('0x7'),new AGIError(_0xc78c('0xe'),_0x32c1e0));}else if(_0x5ece03&&_0x5ece03<0x0){_0x1eaad1[_0xc78c('0x6')]('error',new AGIError(_0xc78c('0xf')));_0x5bb48f[_0xc78c('0x10')]();}else if(_0x5ece03&&_0x5ece03>0x0&&_0x5ece03<_0xc30318){_0xd15447+=0x1;_0x1eaad1[_0xc78c('0x6')](_0xc78c('0x7'),new AGIError(_0xc78c('0x11'),_0xd15447));_0x5bb48f[_0xc78c('0x10')]();}else{var _0x266053=new AGIChannel(_0x5bb48f);_0x266053['on'](_0xc78c('0x12'),function(){_0x1eaad1[_0xc78c('0x6')](_0xc78c('0xc'),_0x266053);});}});});_0x23afcd['on'](_0xc78c('0x7'),function(_0x177e53){_0x1eaad1['emit']('error',new AGIError(_0xc78c('0xe'),_0x177e53[_0xc78c('0x13')]));});_0x23afcd['on']('close',function(){_0x1eaad1['emit'](_0xc78c('0x14'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xc78c('0x15')](function(){_0x370223();});};util[_0xc78c('0x16')](AGIServer,EventEmitter);module[_0xc78c('0x17')]=function(_0x20e4e9,_0x9e0e55,_0x2513d5){return new AGIServer(_0x20e4e9,_0x9e0e55,_0x2513d5);};