Built motion from commit 753c950e.|2.5.42
[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 _0x74ee=['emit','error','E_AGI_ARGUMENT_PORT','createServer','listen','listening','connection','getConnections','E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION','ready','close','E_AGI_SERVER_CLOSE','nextTick','exports','util','events','EventEmitter','./error','./channel','127.0.0.1','call'];(function(_0x27d447,_0x4bdeb6){var _0x1f47d0=function(_0x159d2b){while(--_0x159d2b){_0x27d447['push'](_0x27d447['shift']());}};_0x1f47d0(++_0x4bdeb6);}(_0x74ee,0x83));var _0xe74e=function(_0x1857ba,_0x59a84d){_0x1857ba=_0x1857ba-0x0;var _0xb48fe8=_0x74ee[_0x1857ba];return _0xb48fe8;};'use strict';var util=require(_0xe74e('0x0'));var net=require('net');var EventEmitter=require(_0xe74e('0x1'))[_0xe74e('0x2')];var AGIError=require(_0xe74e('0x3'));var AGIChannel=require(_0xe74e('0x4'));var AGIServer=function(_0x50a3e0,_0x543e17,_0x5604ac){var _0x15f7e1=this,_0x50a3e0=_0x50a3e0||0x11dd,_0x543e17=_0x543e17||_0xe74e('0x5'),_0x555b1c=null,_0x7b4311=0x0;EventEmitter[_0xe74e('0x6')](_0x15f7e1);function _0x24c52c(){if(!_0x50a3e0){_0x15f7e1[_0xe74e('0x7')](_0xe74e('0x8'),new AGIError(_0xe74e('0x9')));return![];}_0x555b1c=net[_0xe74e('0xa')]();_0x555b1c[_0xe74e('0xb')](_0x50a3e0,_0x543e17);_0x555b1c['on'](_0xe74e('0xc'),function(){_0x15f7e1[_0xe74e('0x7')]('listening');});_0x555b1c['on'](_0xe74e('0xd'),function(_0x6d7688){_0x555b1c[_0xe74e('0xe')](function(_0x368aff,_0x2c513f){if(_0x368aff){_0x15f7e1[_0xe74e('0x7')](_0xe74e('0x8'),new AGIError(_0xe74e('0xf'),_0x368aff));}else if(_0x5604ac&&_0x5604ac<0x0){_0x15f7e1[_0xe74e('0x7')](_0xe74e('0x8'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x6d7688[_0xe74e('0x10')]();}else if(_0x5604ac&&_0x5604ac>0x0&&_0x5604ac<_0x2c513f){_0x7b4311+=0x1;_0x15f7e1[_0xe74e('0x7')](_0xe74e('0x8'),new AGIError(_0xe74e('0x11'),_0x7b4311));_0x6d7688[_0xe74e('0x10')]();}else{var _0x319da1=new AGIChannel(_0x6d7688);_0x319da1['on'](_0xe74e('0x12'),function(){_0x15f7e1[_0xe74e('0x7')](_0xe74e('0xd'),_0x319da1);});}});});_0x555b1c['on'](_0xe74e('0x8'),function(_0x1b737d){_0x15f7e1[_0xe74e('0x7')](_0xe74e('0x8'),new AGIError('E_AGI_SERVER_ERROR',_0x1b737d['code']));});_0x555b1c['on'](_0xe74e('0x13'),function(){_0x15f7e1[_0xe74e('0x7')]('close',new AGIError(_0xe74e('0x14')));});}process[_0xe74e('0x15')](function(){_0x24c52c();});};util['inherits'](AGIServer,EventEmitter);module[_0xe74e('0x16')]=function(_0x539ad9,_0x214abe,_0x11c565){return new AGIServer(_0x539ad9,_0x214abe,_0x11c565);};