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.Server.Handlers.Base;
|
||||
using log4net;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.StructuredData;
|
||||
|
||||
namespace OpenSim.Server.Handlers.Freeswitch
|
||||
{
|
||||
|
@ -67,12 +69,16 @@ namespace OpenSim.Server.Handlers.Freeswitch
|
|||
ServerUtils.LoadPlugin<IFreeswitchService>(freeswitchService, args);
|
||||
|
||||
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)
|
||||
{
|
||||
Hashtable response = new Hashtable();
|
||||
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"]);
|
||||
|
||||
|
@ -105,5 +111,18 @@ namespace OpenSim.Server.Handlers.Freeswitch
|
|||
|
||||
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.Services.Interfaces;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.StructuredData;
|
||||
using System.Collections;
|
||||
|
||||
namespace OpenSim.Services.FreeswitchService
|
||||
|
@ -384,5 +385,24 @@ namespace OpenSim.Services.FreeswitchService
|
|||
|
||||
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 HandleDialplanRequest(Hashtable requestBody);
|
||||
string GetJsonConfig();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1023,6 +1023,7 @@
|
|||
<ReferencePath>../../../bin/</ReferencePath>
|
||||
<Reference name="System"/>
|
||||
<Reference name="OpenMetaverseTypes" path="../../../bin/"/>
|
||||
<Reference name="OpenMetaverse.StructuredData" path="../../../bin/"/>
|
||||
<Reference name="OpenMetaverse" path="../../../bin/"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
|
|
Loading…
Reference in New Issue