diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar')
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs | 72 |
1 files changed, 20 insertions, 52 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs index 23ae307..b04b076 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs | |||
@@ -38,7 +38,6 @@ using System.Collections.Generic; | |||
38 | using System.Reflection; | 38 | using System.Reflection; |
39 | using OpenMetaverse; | 39 | using OpenMetaverse; |
40 | using log4net; | 40 | using log4net; |
41 | using Mono.Addins; | ||
42 | using Nini.Config; | 41 | using Nini.Config; |
43 | using Nwc.XmlRpc; | 42 | using Nwc.XmlRpc; |
44 | using OpenSim.Framework; | 43 | using OpenSim.Framework; |
@@ -54,8 +53,7 @@ using System.Text.RegularExpressions; | |||
54 | 53 | ||
55 | namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | 54 | namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice |
56 | { | 55 | { |
57 | [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] | 56 | public class FreeSwitchVoiceModule : IRegionModule, IVoiceModule |
58 | public class FreeSwitchVoiceModule : ISharedRegionModule, IVoiceModule | ||
59 | { | 57 | { |
60 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 58 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
61 | 59 | ||
@@ -110,8 +108,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
110 | 108 | ||
111 | private IConfig m_config; | 109 | private IConfig m_config; |
112 | 110 | ||
113 | public void Initialise(IConfigSource config) | 111 | public void Initialise(Scene scene, IConfigSource config) |
114 | { | 112 | { |
113 | m_scene = scene; | ||
115 | m_config = config.Configs["FreeSwitchVoice"]; | 114 | m_config = config.Configs["FreeSwitchVoice"]; |
116 | 115 | ||
117 | if (null == m_config) | 116 | if (null == m_config) |
@@ -225,21 +224,17 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
225 | return; | 224 | return; |
226 | } | 225 | } |
227 | } | 226 | } |
228 | } | ||
229 | 227 | ||
230 | public void AddRegion(Scene scene) | 228 | if (m_pluginEnabled) |
231 | { | ||
232 | m_scene = scene; | ||
233 | if (m_pluginEnabled) | ||
234 | { | 229 | { |
235 | // we need to capture scene in an anonymous method | 230 | // we need to capture scene in an anonymous method |
236 | // here as we need it later in the callbacks | 231 | // here as we need it later in the callbacks |
237 | scene.EventManager.OnRegisterCaps += delegate(UUID agentID, Caps caps) | 232 | scene.EventManager.OnRegisterCaps += delegate(UUID agentID, Caps caps) |
238 | { | 233 | { |
239 | OnRegisterCaps(scene, agentID, caps); | 234 | OnRegisterCaps(scene, agentID, caps); |
240 | }; | 235 | }; |
241 | 236 | ||
242 | 237 | ||
243 | 238 | ||
244 | try | 239 | try |
245 | { | 240 | { |
@@ -259,53 +254,21 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
259 | m_log.Error("[FreeSwitchVoice]: Certificate validation handler change not supported. You may get ssl certificate validation errors teleporting from your region to some SSL regions."); | 254 | m_log.Error("[FreeSwitchVoice]: Certificate validation handler change not supported. You may get ssl certificate validation errors teleporting from your region to some SSL regions."); |
260 | } | 255 | } |
261 | } | 256 | } |
262 | 257 | ||
263 | } | 258 | } |
259 | } | ||
260 | |||
261 | public void PostInitialise() | ||
262 | { | ||
264 | if (m_pluginEnabled) | 263 | if (m_pluginEnabled) |
265 | { | 264 | { |
266 | m_log.Info("[FreeSwitchVoice] registering IVoiceModule with the scene"); | 265 | m_log.Info("[FreeSwitchVoice] registering IVoiceModule with the scene"); |
267 | 266 | ||
268 | // register the voice interface for this module, so the script engine can call us | 267 | // register the voice interface for this module, so the script engine can call us |
269 | m_scene.RegisterModuleInterface<IVoiceModule>(this); | 268 | m_scene.RegisterModuleInterface<IVoiceModule>(this); |
270 | } | 269 | } |
271 | } | 270 | } |
272 | 271 | ||
273 | public void RegionLoaded(Scene scene) | ||
274 | { | ||
275 | } | ||
276 | |||
277 | public void RemoveRegion(Scene scene) | ||
278 | { | ||
279 | if (UseProxy) | ||
280 | { | ||
281 | MainServer.Instance.RemoveHTTPHandler("", String.Format("{0}/", m_freeSwitchAPIPrefix)); | ||
282 | } | ||
283 | else | ||
284 | { | ||
285 | MainServer.Instance.RemoveHTTPHandler("", String.Format("{0}/viv_get_prelogin.php", m_freeSwitchAPIPrefix)); | ||
286 | |||
287 | MainServer.Instance.RemoveHTTPHandler("", String.Format("{0}/viv_signin.php", m_freeSwitchAPIPrefix)); | ||
288 | |||
289 | MainServer.Instance.RemoveHTTPHandler("", String.Format("{0}/freeswitch-config", m_freeSwitchAPIPrefix)); | ||
290 | |||
291 | MainServer.Instance.RemoveHTTPHandler("", String.Format("{0}/viv_buddy.php", m_freeSwitchAPIPrefix)); | ||
292 | } | ||
293 | scene.EventManager.OnRegisterCaps -= delegate(UUID agentID, Caps caps) | ||
294 | { | ||
295 | OnRegisterCaps(scene, agentID, caps); | ||
296 | }; | ||
297 | scene.UnregisterModuleInterface<IVoiceModule>(this); | ||
298 | } | ||
299 | |||
300 | public Type ReplaceableInterface | ||
301 | { | ||
302 | get { return null; } | ||
303 | } | ||
304 | |||
305 | public void PostInitialise() | ||
306 | { | ||
307 | } | ||
308 | |||
309 | public void Close() | 272 | public void Close() |
310 | { | 273 | { |
311 | } | 274 | } |
@@ -314,6 +277,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice | |||
314 | { | 277 | { |
315 | get { return "FreeSwitchVoiceModule"; } | 278 | get { return "FreeSwitchVoiceModule"; } |
316 | } | 279 | } |
280 | |||
281 | public bool IsSharedModule | ||
282 | { | ||
283 | get { return true; } | ||
284 | } | ||
317 | 285 | ||
318 | // <summary> | 286 | // <summary> |
319 | // implementation of IVoiceModule, called by osSetParcelSIPAddress script function | 287 | // implementation of IVoiceModule, called by osSetParcelSIPAddress script function |