3e3b3e9247ec7e60bedb04d95b4d4c25c7a19589
[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 _0x7ec2=['listening','connection','getConnections','E_AGI_SERVER_ERROR','destroy','E_AGI_SERVER_MAXCONNECTION','ready','code','close','nextTick','inherits','exports','util','net','events','./error','./channel','127.0.0.1','call','emit','error','E_AGI_ARGUMENT_PORT','createServer','listen'];(function(_0x27d904,_0x1fa564){var _0x1497e2=function(_0x15bd07){while(--_0x15bd07){_0x27d904['push'](_0x27d904['shift']());}};_0x1497e2(++_0x1fa564);}(_0x7ec2,0x15c));var _0x27ec=function(_0x5d1618,_0x2110bd){_0x5d1618=_0x5d1618-0x0;var _0x2fd93d=_0x7ec2[_0x5d1618];return _0x2fd93d;};'use strict';var util=require(_0x27ec('0x0'));var net=require(_0x27ec('0x1'));var EventEmitter=require(_0x27ec('0x2'))['EventEmitter'];var AGIError=require(_0x27ec('0x3'));var AGIChannel=require(_0x27ec('0x4'));var AGIServer=function(_0x53ad30,_0x45b293,_0x340231){var _0x3e1120=this,_0x53ad30=_0x53ad30||0x11dd,_0x45b293=_0x45b293||_0x27ec('0x5'),_0x2f5fcb=null,_0x2ac546=0x0;EventEmitter[_0x27ec('0x6')](_0x3e1120);function _0x1ad634(){if(!_0x53ad30){_0x3e1120[_0x27ec('0x7')](_0x27ec('0x8'),new AGIError(_0x27ec('0x9')));return![];}_0x2f5fcb=net[_0x27ec('0xa')]();_0x2f5fcb[_0x27ec('0xb')](_0x53ad30,_0x45b293);_0x2f5fcb['on'](_0x27ec('0xc'),function(){_0x3e1120[_0x27ec('0x7')](_0x27ec('0xc'));});_0x2f5fcb['on'](_0x27ec('0xd'),function(_0x2abdc6){_0x2f5fcb[_0x27ec('0xe')](function(_0x56c2af,_0x21952a){if(_0x56c2af){_0x3e1120[_0x27ec('0x7')](_0x27ec('0x8'),new AGIError(_0x27ec('0xf'),_0x56c2af));}else if(_0x340231&&_0x340231<0x0){_0x3e1120['emit'](_0x27ec('0x8'),new AGIError('E_AGI_SERVER_VOICE_DISABLED'));_0x2abdc6[_0x27ec('0x10')]();}else if(_0x340231&&_0x340231>0x0&&_0x340231<_0x21952a){_0x2ac546+=0x1;_0x3e1120[_0x27ec('0x7')](_0x27ec('0x8'),new AGIError(_0x27ec('0x11'),_0x2ac546));_0x2abdc6[_0x27ec('0x10')]();}else{var _0x14cde9=new AGIChannel(_0x2abdc6);_0x14cde9['on'](_0x27ec('0x12'),function(){_0x3e1120['emit'](_0x27ec('0xd'),_0x14cde9);});}});});_0x2f5fcb['on'](_0x27ec('0x8'),function(_0x486dae){_0x3e1120['emit'](_0x27ec('0x8'),new AGIError('E_AGI_SERVER_ERROR',_0x486dae[_0x27ec('0x13')]));});_0x2f5fcb['on'](_0x27ec('0x14'),function(){_0x3e1120[_0x27ec('0x7')](_0x27ec('0x14'),new AGIError('E_AGI_SERVER_CLOSE'));});}process[_0x27ec('0x15')](function(){_0x1ad634();});};util[_0x27ec('0x16')](AGIServer,EventEmitter);module[_0x27ec('0x17')]=function(_0x5ac6cd,_0x37210b,_0x16dc74){return new AGIServer(_0x5ac6cd,_0x37210b,_0x16dc74);};