Implement a method to allow regions to query the gridwide Freeswitch
configuration from ROBUSTviewer-2-initial-appearance
parent
b43a01179e
commit
2b0ef9ad1d
|
@ -35,6 +35,8 @@ using OpenSim.Services.Interfaces;
|
||||||
using OpenSim.Framework.Servers.HttpServer;
|
using OpenSim.Framework.Servers.HttpServer;
|
||||||
using OpenSim.Server.Handlers.Base;
|
using OpenSim.Server.Handlers.Base;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using OpenMetaverse;
|
||||||
|
using OpenMetaverse.StructuredData;
|
||||||
|
|
||||||
namespace OpenSim.Server.Handlers.Freeswitch
|
namespace OpenSim.Server.Handlers.Freeswitch
|
||||||
{
|
{
|
||||||
|
@ -67,12 +69,16 @@ namespace OpenSim.Server.Handlers.Freeswitch
|
||||||
ServerUtils.LoadPlugin<IFreeswitchService>(freeswitchService, args);
|
ServerUtils.LoadPlugin<IFreeswitchService>(freeswitchService, args);
|
||||||
|
|
||||||
server.AddHTTPHandler(String.Format("{0}/freeswitch-config", m_freeSwitchAPIPrefix), FreeSwitchConfigHTTPHandler);
|
server.AddHTTPHandler(String.Format("{0}/freeswitch-config", m_freeSwitchAPIPrefix), FreeSwitchConfigHTTPHandler);
|
||||||
|
server.AddHTTPHandler(String.Format("{0}/region-config", m_freeSwitchAPIPrefix), RegionConfigHTTPHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Hashtable FreeSwitchConfigHTTPHandler(Hashtable request)
|
public Hashtable FreeSwitchConfigHTTPHandler(Hashtable request)
|
||||||
{
|
{
|
||||||
Hashtable response = new Hashtable();
|
Hashtable response = new Hashtable();
|
||||||
response["str_response_string"] = string.Empty;
|
response["str_response_string"] = string.Empty;
|
||||||
|
response["content_type"] = "text/plain";
|
||||||
|
response["keepalive"] = false;
|
||||||
|
response["int_response_code"] = 500;
|
||||||
|
|
||||||
Hashtable requestBody = ParseRequestBody((string) request["body"]);
|
Hashtable requestBody = ParseRequestBody((string) request["body"]);
|
||||||
|
|
||||||
|
@ -105,5 +111,18 @@ namespace OpenSim.Server.Handlers.Freeswitch
|
||||||
|
|
||||||
return bodyParams;
|
return bodyParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Hashtable RegionConfigHTTPHandler(Hashtable request)
|
||||||
|
{
|
||||||
|
Hashtable response = new Hashtable();
|
||||||
|
response["content_type"] = "text/json";
|
||||||
|
response["keepalive"] = false;
|
||||||
|
response["int_response_code"] = 200;
|
||||||
|
|
||||||
|
response["str_response_string"] = m_FreeswitchService.GetJsonConfig();
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ using OpenSim.Framework;
|
||||||
using OpenSim.Data;
|
using OpenSim.Data;
|
||||||
using OpenSim.Services.Interfaces;
|
using OpenSim.Services.Interfaces;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using OpenMetaverse.StructuredData;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|
||||||
namespace OpenSim.Services.FreeswitchService
|
namespace OpenSim.Services.FreeswitchService
|
||||||
|
@ -384,5 +385,24 @@ namespace OpenSim.Services.FreeswitchService
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetJsonConfig()
|
||||||
|
{
|
||||||
|
OSDMap map = new OSDMap(11);
|
||||||
|
|
||||||
|
map.Add("Realm", m_freeSwitchRealm);
|
||||||
|
map.Add("SIPProxy", m_freeSwitchSIPProxy);
|
||||||
|
map.Add("AttemptUseSTUN", m_freeSwitchAttemptUseSTUN);
|
||||||
|
map.Add("EchoServer", m_freeSwitchEchoServer);
|
||||||
|
map.Add("EchoPort", m_freeSwitchEchoPort);
|
||||||
|
map.Add("DefaultWellKnownIP", m_freeSwitchDefaultWellKnownIP);
|
||||||
|
map.Add("DefaultTimeout", m_freeSwitchDefaultTimeout);
|
||||||
|
map.Add("Context", m_freeSwitchContext);
|
||||||
|
map.Add("ServerUser", m_freeSwitchServerUser);
|
||||||
|
map.Add("ServerPass", m_freeSwitchServerPass);
|
||||||
|
map.Add("APIPrefix", m_freeSwitchAPIPrefix);
|
||||||
|
|
||||||
|
return OSDParser.SerializeJsonString(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ namespace OpenSim.Services.Interfaces
|
||||||
{
|
{
|
||||||
Hashtable HandleDirectoryRequest(Hashtable requestBody);
|
Hashtable HandleDirectoryRequest(Hashtable requestBody);
|
||||||
Hashtable HandleDialplanRequest(Hashtable requestBody);
|
Hashtable HandleDialplanRequest(Hashtable requestBody);
|
||||||
|
string GetJsonConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1023,6 +1023,7 @@
|
||||||
<ReferencePath>../../../bin/</ReferencePath>
|
<ReferencePath>../../../bin/</ReferencePath>
|
||||||
<Reference name="System"/>
|
<Reference name="System"/>
|
||||||
<Reference name="OpenMetaverseTypes" path="../../../bin/"/>
|
<Reference name="OpenMetaverseTypes" path="../../../bin/"/>
|
||||||
|
<Reference name="OpenMetaverse.StructuredData" path="../../../bin/"/>
|
||||||
<Reference name="OpenMetaverse" path="../../../bin/"/>
|
<Reference name="OpenMetaverse" path="../../../bin/"/>
|
||||||
<Reference name="OpenSim.Framework"/>
|
<Reference name="OpenSim.Framework"/>
|
||||||
<Reference name="OpenSim.Framework.Console"/>
|
<Reference name="OpenSim.Framework.Console"/>
|
||||||
|
|
Loading…
Reference in New Issue