From dc640465a834c3ddb586d6a7850fd1805ea2e48f Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Thu, 23 Apr 2009 05:22:02 +0000
Subject: * Tweaking the dialstring so the sip_contact_user variable is set to
 the dialed user.    This stops the client from complaining and might be
 useful later.   Resolves the 'unable to parse id from mod_sofia@ip:port'
 message.

---
 .../Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs       | 11 ++++++-----
 .../Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs     |  5 ++++-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
index c131a7f..11797f6 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchDirectory.cs
@@ -153,7 +153,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                             "<user id=\"{1}\">\r\n" +
                                 "<params>\r\n" +
                                     "<param name=\"password\" value=\"{2}\" />\r\n" +
-                                    "<param name=\"dial-string\" value=\"{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
+                                    "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
                                 "</params>\r\n" +
                                 "<variables>\r\n" +
                                     "<variable name=\"user_context\" value=\"default\" />\r\n" +
@@ -190,7 +190,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                             "<user id=\"{1}\">\r\n" +
                                 "<params>\r\n" +
                                     "<param name=\"password\" value=\"{2}\" />\r\n" +
-                                    "<param name=\"dial-string\" value=\"{{presence_id=${1}@${{dialed_domain}}}}${{sofia_contact(${1}@${{dialed_domain}})}}\"/>\r\n" +
+                                    "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${1}@${{dialed_domain}}}}${{sofia_contact(${1}@${{dialed_domain}})}}\"/>\r\n" +
                                 "</params>\r\n" +
                                 "<variables>\r\n" +
                                     "<variable name=\"user_context\" value=\"default\" />\r\n" +
@@ -200,7 +200,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                             "<user id=\"{3}\">\r\n" +
                                 "<params>\r\n" +
                                     "<param name=\"password\" value=\"{2}\" />\r\n" +
-                                    "<param name=\"dial-string\" value=\"{{presence_id=${3}@${{dialed_domain}}}}${{sofia_contact(${3}@${{dialed_domain}})}}\"/>\r\n" +
+                                    "<param name=\"dial-string\" value=\"{{sip_contact_user={1}}}{{presence_id=${3}@${{dialed_domain}}}}${{sofia_contact(${3}@${{dialed_domain}})}}\"/>\r\n" +
                                 "</params>\r\n" +
                                 "<variables>\r\n" +
                                     "<variable name=\"user_context\" value=\"default\" />\r\n" +
@@ -234,7 +234,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                     "<section name=\"directory\" description=\"User Directory\">\r\n" +
                         "<domain name=\"{0}\">\r\n" +
                             "<params>\r\n" +
-                                "<param name=\"dial-string\" value=\"{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
+                                "<param name=\"dial-string\" value=\"{{sip_contact_user=${{dialed_user}}}}{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
                             "</params>\r\n" +
                             "<user id=\"{1}\">\r\n" +
                             "<variables>\r\n"+
@@ -267,7 +267,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                     "<section name=\"directory\" description=\"User Directory\">\r\n" +
                         "<domain name=\"{0}\">\r\n" +
                             "<params>\r\n" +
-                                "<param name=\"dial-string\" value=\"{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
+                                "<param name=\"dial-string\" value=\"{{sip_contact_user=${{dialed_user}}}}{{presence_id=${{dialed_user}}@${{dialed_domain}}}}${{sofia_contact(${{dialed_user}}@${{dialed_domain}})}}\"/>\r\n" +
                             "</params>\r\n" +
                             "<groups name=\"default\">\r\n"+
                                 "<users>\r\n"+
@@ -302,6 +302,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
              
             return response;    
         }    
+
         
 //        private Hashtable HandleLoadNetworkLists(Hashtable request)
 //        {
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
index 358f1cd..58f1b3a 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
@@ -45,6 +45,7 @@ using OpenSim.Framework.Servers;
 using OpenSim.Region.Framework.Interfaces;
 using OpenSim.Region.Framework.Scenes;
 using Caps = OpenSim.Framework.Communications.Capabilities.Caps;
+using System.Text.RegularExpressions;
 
 namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
 {
@@ -511,7 +512,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
             //      -> TODO Initialise(): keep track of regions via events
             //      re-generate accounts for all avatars 
             //      -> TODO Initialise(): keep track of avatars via events
-            m_log.DebugFormat("[FreeSwitchVoice] FreeSwitchConfigHTTPHandler return {0}",response["str_response_string"]);
+            Regex normalizeEndLines = new Regex(@"\r\n", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.Multiline);
+
+            m_log.DebugFormat("[FreeSwitchVoice] FreeSwitchConfigHTTPHandler return {0}",normalizeEndLines.Replace(((string)response["str_response_string"]), ""));
             return response;
         }
         
-- 
cgit v1.1