aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Server/Handlers/Freeswitch/FreeswitchServerConnector.cs19
-rw-r--r--OpenSim/Services/FreeswitchService/FreeswitchService.cs20
-rw-r--r--OpenSim/Services/Interfaces/IFreeswitchService.cs1
3 files changed, 40 insertions, 0 deletions
diff --git a/OpenSim/Server/Handlers/Freeswitch/FreeswitchServerConnector.cs b/OpenSim/Server/Handlers/Freeswitch/FreeswitchServerConnector.cs
index 150df45..da56b87 100644
--- a/OpenSim/Server/Handlers/Freeswitch/FreeswitchServerConnector.cs
+++ b/OpenSim/Server/Handlers/Freeswitch/FreeswitchServerConnector.cs
@@ -35,6 +35,8 @@ using OpenSim.Services.Interfaces;
35using OpenSim.Framework.Servers.HttpServer; 35using OpenSim.Framework.Servers.HttpServer;
36using OpenSim.Server.Handlers.Base; 36using OpenSim.Server.Handlers.Base;
37using log4net; 37using log4net;
38using OpenMetaverse;
39using OpenMetaverse.StructuredData;
38 40
39namespace OpenSim.Server.Handlers.Freeswitch 41namespace OpenSim.Server.Handlers.Freeswitch
40{ 42{
@@ -67,12 +69,16 @@ namespace OpenSim.Server.Handlers.Freeswitch
67 ServerUtils.LoadPlugin<IFreeswitchService>(freeswitchService, args); 69 ServerUtils.LoadPlugin<IFreeswitchService>(freeswitchService, args);
68 70
69 server.AddHTTPHandler(String.Format("{0}/freeswitch-config", m_freeSwitchAPIPrefix), FreeSwitchConfigHTTPHandler); 71 server.AddHTTPHandler(String.Format("{0}/freeswitch-config", m_freeSwitchAPIPrefix), FreeSwitchConfigHTTPHandler);
72 server.AddHTTPHandler(String.Format("{0}/region-config", m_freeSwitchAPIPrefix), RegionConfigHTTPHandler);
70 } 73 }
71 74
72 public Hashtable FreeSwitchConfigHTTPHandler(Hashtable request) 75 public Hashtable FreeSwitchConfigHTTPHandler(Hashtable request)
73 { 76 {
74 Hashtable response = new Hashtable(); 77 Hashtable response = new Hashtable();
75 response["str_response_string"] = string.Empty; 78 response["str_response_string"] = string.Empty;
79 response["content_type"] = "text/plain";
80 response["keepalive"] = false;
81 response["int_response_code"] = 500;
76 82
77 Hashtable requestBody = ParseRequestBody((string) request["body"]); 83 Hashtable requestBody = ParseRequestBody((string) request["body"]);
78 84
@@ -105,5 +111,18 @@ namespace OpenSim.Server.Handlers.Freeswitch
105 111
106 return bodyParams; 112 return bodyParams;
107 } 113 }
114
115 public Hashtable RegionConfigHTTPHandler(Hashtable request)
116 {
117 Hashtable response = new Hashtable();
118 response["content_type"] = "text/json";
119 response["keepalive"] = false;
120 response["int_response_code"] = 200;
121
122 response["str_response_string"] = m_FreeswitchService.GetJsonConfig();
123
124 return response;
125 }
126
108 } 127 }
109} 128}
diff --git a/OpenSim/Services/FreeswitchService/FreeswitchService.cs b/OpenSim/Services/FreeswitchService/FreeswitchService.cs
index b62a65a..21518f3 100644
--- a/OpenSim/Services/FreeswitchService/FreeswitchService.cs
+++ b/OpenSim/Services/FreeswitchService/FreeswitchService.cs
@@ -34,6 +34,7 @@ using OpenSim.Framework;
34using OpenSim.Data; 34using OpenSim.Data;
35using OpenSim.Services.Interfaces; 35using OpenSim.Services.Interfaces;
36using OpenMetaverse; 36using OpenMetaverse;
37using OpenMetaverse.StructuredData;
37using System.Collections; 38using System.Collections;
38 39
39namespace OpenSim.Services.FreeswitchService 40namespace OpenSim.Services.FreeswitchService
@@ -384,5 +385,24 @@ namespace OpenSim.Services.FreeswitchService
384 385
385 return response; 386 return response;
386 } 387 }
388
389 public string GetJsonConfig()
390 {
391 OSDMap map = new OSDMap(11);
392
393 map.Add("Realm", m_freeSwitchRealm);
394 map.Add("SIPProxy", m_freeSwitchSIPProxy);
395 map.Add("AttemptUseSTUN", m_freeSwitchAttemptUseSTUN);
396 map.Add("EchoServer", m_freeSwitchEchoServer);
397 map.Add("EchoPort", m_freeSwitchEchoPort);
398 map.Add("DefaultWellKnownIP", m_freeSwitchDefaultWellKnownIP);
399 map.Add("DefaultTimeout", m_freeSwitchDefaultTimeout);
400 map.Add("Context", m_freeSwitchContext);
401 map.Add("ServerUser", m_freeSwitchServerUser);
402 map.Add("ServerPass", m_freeSwitchServerPass);
403 map.Add("APIPrefix", m_freeSwitchAPIPrefix);
404
405 return OSDParser.SerializeJsonString(map);
406 }
387 } 407 }
388} 408}
diff --git a/OpenSim/Services/Interfaces/IFreeswitchService.cs b/OpenSim/Services/Interfaces/IFreeswitchService.cs
index 2b3ffeb..e7941d5 100644
--- a/OpenSim/Services/Interfaces/IFreeswitchService.cs
+++ b/OpenSim/Services/Interfaces/IFreeswitchService.cs
@@ -35,5 +35,6 @@ namespace OpenSim.Services.Interfaces
35 { 35 {
36 Hashtable HandleDirectoryRequest(Hashtable requestBody); 36 Hashtable HandleDirectoryRequest(Hashtable requestBody);
37 Hashtable HandleDialplanRequest(Hashtable requestBody); 37 Hashtable HandleDialplanRequest(Hashtable requestBody);
38 string GetJsonConfig();
38 } 39 }
39} 40}