aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs')
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs48
1 files changed, 21 insertions, 27 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
index 5d90a8f..0a9f69d 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
@@ -38,18 +38,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
38 private static readonly ILog m_log = 38 private static readonly ILog m_log =
39 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 39 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
40 40
41 public Hashtable HandleDirectoryRequest(string Context, string Realm, Hashtable request) 41 public Hashtable HandleDirectoryRequest(Hashtable request)
42 { 42 {
43 Hashtable response = new Hashtable();
44 string domain = (string) request["domain"];
45 if (domain != Realm) {
46 response["content_type"] = "text/xml";
47 response["keepalive"] = false;
48 response["int_response_code"] = 200;
49 response["str_response_string"] = "";
50 } else {
51 m_log.DebugFormat("[FreeSwitchDirectory] HandleDirectoryRequest called with {0}",request.ToString()); 43 m_log.DebugFormat("[FreeSwitchDirectory] HandleDirectoryRequest called with {0}",request.ToString());
52 44
45 Hashtable response = new Hashtable();
46
53 // information in the request we might be interested in 47 // information in the request we might be interested in
54 48
55 // Request 1 sip_auth for users account 49 // Request 1 sip_auth for users account
@@ -91,11 +85,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
91 85
92 if (sipAuthMethod == "REGISTER") 86 if (sipAuthMethod == "REGISTER")
93 { 87 {
94 response = HandleRegister(Context, Realm, request); 88 response = HandleRegister(request);
95 } 89 }
96 else if (sipAuthMethod == "INVITE") 90 else if (sipAuthMethod == "INVITE")
97 { 91 {
98 response = HandleInvite(Context, Realm, request); 92 response = HandleInvite(request);
99 } 93 }
100 else 94 else
101 { 95 {
@@ -107,19 +101,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
107 } 101 }
108 else if (eventCallingFunction == "switch_xml_locate_user") 102 else if (eventCallingFunction == "switch_xml_locate_user")
109 { 103 {
110 response = HandleLocateUser(Realm, request); 104 response = HandleLocateUser(request);
111 } 105 }
112 else if (eventCallingFunction == "user_data_function") // gets called when an avatar to avatar call is made 106 else if (eventCallingFunction == "user_data_function") // gets called when an avatar to avatar call is made
113 { 107 {
114 response = HandleLocateUser(Realm, request); 108 response = HandleLocateUser(request);
115 } 109 }
116 else if (eventCallingFunction == "user_outgoing_channel") 110 else if (eventCallingFunction == "user_outgoing_channel")
117 { 111 {
118 response = HandleRegister(Context, Realm, request); 112 response = HandleRegister(request);
119 } 113 }
120 else if (eventCallingFunction == "config_sofia") // happens once on freeswitch startup 114 else if (eventCallingFunction == "config_sofia") // happens once on freeswitch startup
121 { 115 {
122 response = HandleConfigSofia(Context, Realm, request); 116 response = HandleConfigSofia(request);
123 } 117 }
124 else if (eventCallingFunction == "switch_load_network_lists") 118 else if (eventCallingFunction == "switch_load_network_lists")
125 { 119 {
@@ -137,11 +131,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
137 response["content_type"] = "text/xml"; 131 response["content_type"] = "text/xml";
138 response["str_response_string"] = ""; 132 response["str_response_string"] = "";
139 } 133 }
140 }
141 return response; 134 return response;
142 } 135 }
143 136
144 private Hashtable HandleRegister(string Context, string Realm, Hashtable request) 137 private Hashtable HandleRegister(Hashtable request)
145 { 138 {
146 m_log.Info("[FreeSwitchDirectory] HandleRegister called"); 139 m_log.Info("[FreeSwitchDirectory] HandleRegister called");
147 140
@@ -166,19 +159,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
166 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" + 159 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
167 "</params>\r\n" + 160 "</params>\r\n" +
168 "<variables>\r\n" + 161 "<variables>\r\n" +
169 "<variable name=\"user_context\" value=\"{3}\" />\r\n" + 162 "<variable name=\"user_context\" value=\"default\" />\r\n" +
170 "<variable name=\"presence_id\" value=\"{1}@{0}\"/>"+ 163 "<variable name=\"presence_id\" value=\"{1}@{0}\"/>"+
171 "</variables>\r\n" + 164 "</variables>\r\n" +
172 "</user>\r\n" + 165 "</user>\r\n" +
173 "</domain>\r\n" + 166 "</domain>\r\n" +
174 "</section>\r\n" + 167 "</section>\r\n" +
175 "</document>\r\n", 168 "</document>\r\n",
176 domain , user, password, Context); 169 domain , user, password);
177 170
178 return response; 171 return response;
179 } 172 }
180 173
181 private Hashtable HandleInvite(string Context, string Realm, Hashtable request) 174 private Hashtable HandleInvite(Hashtable request)
182 { 175 {
183 m_log.Info("[FreeSwitchDirectory] HandleInvite called"); 176 m_log.Info("[FreeSwitchDirectory] HandleInvite called");
184 177
@@ -203,7 +196,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
203 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${1}@${{dialed_domain}}}}${{sofia_contact(${1}@${{dialed_domain}})}}\"/>\r\n" + 196 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${1}@${{dialed_domain}}}}${{sofia_contact(${1}@${{dialed_domain}})}}\"/>\r\n" +
204 "</params>\r\n" + 197 "</params>\r\n" +
205 "<variables>\r\n" + 198 "<variables>\r\n" +
206 "<variable name=\"user_context\" value=\"{4}\" />\r\n" + 199 "<variable name=\"user_context\" value=\"default\" />\r\n" +
207 "<variable name=\"presence_id\" value=\"{1}@$${{domain}}\"/>"+ 200 "<variable name=\"presence_id\" value=\"{1}@$${{domain}}\"/>"+
208 "</variables>\r\n" + 201 "</variables>\r\n" +
209 "</user>\r\n" + 202 "</user>\r\n" +
@@ -213,19 +206,20 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
213 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${3}@${{dialed_domain}}}}${{sofia_contact(${3}@${{dialed_domain}})}}\"/>\r\n" + 206 "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${3}@${{dialed_domain}}}}${{sofia_contact(${3}@${{dialed_domain}})}}\"/>\r\n" +
214 "</params>\r\n" + 207 "</params>\r\n" +
215 "<variables>\r\n" + 208 "<variables>\r\n" +
216 "<variable name=\"user_context\" value=\"{4}\" />\r\n" + 209 "<variable name=\"user_context\" value=\"default\" />\r\n" +
217 "<variable name=\"presence_id\" value=\"{3}@$${{domain}}\"/>"+ 210 "<variable name=\"presence_id\" value=\"{3}@$${{domain}}\"/>"+
218 "</variables>\r\n" + 211 "</variables>\r\n" +
219 "</user>\r\n" + 212 "</user>\r\n" +
220 "</domain>\r\n" + 213 "</domain>\r\n" +
221 "</section>\r\n" + 214 "</section>\r\n" +
222 "</document>\r\n", 215 "</document>\r\n",
223 domain , user, password,sipRequestUser, Context); 216 domain , user, password,sipRequestUser);
224 217
225 return response; 218 return response;
226 } 219 }
227 220
228 private Hashtable HandleLocateUser(String Realm, Hashtable request) 221
222 private Hashtable HandleLocateUser(Hashtable request)
229 { 223 {
230 m_log.Info("[FreeSwitchDirectory] HandleLocateUser called"); 224 m_log.Info("[FreeSwitchDirectory] HandleLocateUser called");
231 225
@@ -259,7 +253,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
259 return response; 253 return response;
260 } 254 }
261 255
262 private Hashtable HandleConfigSofia(string Context, string Realm, Hashtable request) 256 private Hashtable HandleConfigSofia(Hashtable request)
263 { 257 {
264 m_log.Info("[FreeSwitchDirectory] HandleConfigSofia called"); 258 m_log.Info("[FreeSwitchDirectory] HandleConfigSofia called");
265 259
@@ -292,7 +286,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
292 "<param name=\"retry-seconds\" value=\"30\"/>\r\n"+ 286 "<param name=\"retry-seconds\" value=\"30\"/>\r\n"+
293 "<param name=\"extension\" value=\"$${{default_provider_contact}}\"/>\r\n"+ 287 "<param name=\"extension\" value=\"$${{default_provider_contact}}\"/>\r\n"+
294 "<param name=\"contact-params\" value=\"domain_name=$${{domain}}\"/>\r\n"+ 288 "<param name=\"contact-params\" value=\"domain_name=$${{domain}}\"/>\r\n"+
295 "<param name=\"context\" value=\"{1}\"/>\r\n"+ 289 "<param name=\"context\" value=\"public\"/>\r\n"+
296 "</gateway>\r\n"+ 290 "</gateway>\r\n"+
297 "</gateways>\r\n"+ 291 "</gateways>\r\n"+
298 "<params>\r\n"+ 292 "<params>\r\n"+
@@ -307,7 +301,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
307 "</domain>\r\n" + 301 "</domain>\r\n" +
308 "</section>\r\n" + 302 "</section>\r\n" +
309 "</document>\r\n", 303 "</document>\r\n",
310 domain, Context); 304 domain);
311 305
312 return response; 306 return response;
313 } 307 }