Built motion from commit (unavailable).|2.5.29
[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 _0x303a=['nextTick','exports','util','events','EventEmitter','./error','./channel','127.0.0.1','call','E_AGI_ARGUMENT_PORT','createServer','listening','getConnections','error','emit','E_AGI_SERVER_VOICE_DISABLED','E_AGI_SERVER_MAXCONNECTION','destroy','ready','connection','E_AGI_SERVER_ERROR','code','close'];(function(_0x2aefbd,_0xbaa7a0){var _0x4b09ea=function(_0x2c2cb4){while(--_0x2c2cb4){_0x2aefbd['push'](_0x2aefbd['shift']());}};_0x4b09ea(++_0xbaa7a0);}(_0x303a,0x1a0));var _0xa303=function(_0x3b0b34,_0xe6a14f){_0x3b0b34=_0x3b0b34-0x0;var _0x5f5496=_0x303a[_0x3b0b34];return _0x5f5496;};'use strict';var util=require(_0xa303('0x0'));var net=require('net');var EventEmitter=require(_0xa303('0x1'))[_0xa303('0x2')];var AGIError=require(_0xa303('0x3'));var AGIChannel=require(_0xa303('0x4'));var AGIServer=function(_0x594b49,_0x46c56b,_0x26b47c){var _0x38a354=this,_0x594b49=_0x594b49||0x11dd,_0x46c56b=_0x46c56b||_0xa303('0x5'),_0x1c7ee9=null,_0x2bc3d7=0x0;EventEmitter[_0xa303('0x6')](_0x38a354);function _0x5d95fd(){if(!_0x594b49){_0x38a354['emit']('error',new AGIError(_0xa303('0x7')));return![];}_0x1c7ee9=net[_0xa303('0x8')]();_0x1c7ee9['listen'](_0x594b49,_0x46c56b);_0x1c7ee9['on'](_0xa303('0x9'),function(){_0x38a354['emit'](_0xa303('0x9'));});_0x1c7ee9['on']('connection',function(_0x29cd60){_0x1c7ee9[_0xa303('0xa')](function(_0x382cfd,_0x3a8467){if(_0x382cfd){_0x38a354['emit'](_0xa303('0xb'),new AGIError('E_AGI_SERVER_ERROR',_0x382cfd));}else if(_0x26b47c&&_0x26b47c<0x0){_0x38a354[_0xa303('0xc')](_0xa303('0xb'),new AGIError(_0xa303('0xd')));_0x29cd60['destroy']();}else if(_0x26b47c&&_0x26b47c>0x0&&_0x26b47c<_0x3a8467){_0x2bc3d7+=0x1;_0x38a354[_0xa303('0xc')](_0xa303('0xb'),new AGIError(_0xa303('0xe'),_0x2bc3d7));_0x29cd60[_0xa303('0xf')]();}else{var _0xed0420=new AGIChannel(_0x29cd60);_0xed0420['on'](_0xa303('0x10'),function(){_0x38a354[_0xa303('0xc')](_0xa303('0x11'),_0xed0420);});}});});_0x1c7ee9['on']('error',function(_0x2c2939){_0x38a354[_0xa303('0xc')](_0xa303('0xb'),new AGIError(_0xa303('0x12'),_0x2c2939[_0xa303('0x13')]));});_0x1c7ee9['on'](_0xa303('0x14'),function(){_0x38a354['emit'](_0xa303('0x14'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0xa303('0x15')](function(){_0x5d95fd();});};util['inherits'](AGIServer,EventEmitter);module[_0xa303('0x16')]=function(_0x5ac3ec,_0x419575,_0xe263f9){return new AGIServer(_0x5ac3ec,_0x419575,_0xe263f9);};