In our method the caching that we made is based on a file when someone wants to load a file we just run :<br>&gt; reloadxml &quot;&lt;file_name.xml&gt;&quot;<br>I am keeping the aggregated XML inside the memory in a pre allocated area, and before and after each file I put an xml note :<br>

&lt;!-- TENANT_START_FILE_PATH = /opt/freeswitch/conf/autoload_configs/jingle_profiles/client.xml --&gt;<br>and in the end <br>&lt;!-- TENANT_EXIT_FILE_PATH = /opt/freeswitch/conf/autoload_configs/jingle_profiles/client.xml --&gt;<br>

When the user wants to load &quot;/opt/freeswitch/conf/autoload_configs/jingle_profiles/client.xml&quot; I just search for this file in the memory replace the content and then let the regular xml parser do its work <br>I will try the other options and if they give a better solution I will just use them if not I will add our changes to the HEAD <br>
Thanks,<br>Yiftach.<br><br><div class="gmail_quote">On Tue, Oct 23, 2012 at 11:01 AM, Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The philosophy on xml_curl is to leverage the resilience of existing http clusters so the complexity is left to that component.<div>

You have some choices:</div><div><br></div><div>1) Use the xml_curl and DB on the local box itself so you can not worry about losing connections to a db.</div>
<div>2) Use the xml dp file feature where you set the dialplan to XML:/path/to/file.xml which is same format of what xml_curl returns and is static.</div><div>3) Write an XML hook module in C using the same technique as xml_curl that takes  the search params and chooses the correct static files to parse.</div>


<div>4) Clean up your patch and try to get it into HEAD without breaking anything.</div><div><br></div><div>I would like to implement caching too but the challenge is you need to know which of the 100 input fields are relevant to the results returned so you can key the cache on those specific params.</div>


<div><br></div><div>I recommend you make sure you fully understand all of the above choices and make some educated decisions about what you want to do before you turn to surgery on the core of FS.</div><div> <br><br><div class="gmail_quote">


On Tue, Oct 23, 2012 at 10:53 AM, Yiftach Golan <span dir="ltr">&lt;<a href="mailto:yiftah@choochee.com" target="_blank">yiftah@choochee.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hi Seven,<br>Thanks for the reply<br>I have two problems with the mod_xml_curl : <br>1. We want to have some kind of caching mechanism so that if FreeSWITCH crushes and there is no connection to the web server FreeSWITCH still works (we are in a cloud environment)<br>



If I understand correctly with mod_xml_curl we cannot achieve that<br>2. How would it work from the lua script ? <br>Can I reloadxml from lua file by file? <br>3. We already have a very complicated xml structure to support all of our feature so probably converting the xmls will be pretty hard tasks<br>



Any ideas?<div><div><br><br><div class="gmail_quote">On Tue, Oct 23, 2012 at 12:17 AM, Seven Du <span dir="ltr">&lt;<a href="mailto:dujinfang@gmail.com" target="_blank">dujinfang@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

                <div>
                    I don&#39;t understand why you don&#39;t use mod_xml_curl, can you explain more?
                </div>
                <div><div><br></div><div>you could also try some lua binding which could pull from DB and generate XML on demand, not sure if it works for you.</div><div><br></div><div>-- </div><div>Seven Du</div><div>Sent with <a href="http://www.sparrowmailapp.com/?sig" target="_blank">Sparrow</a></div>



<div><br></div></div>
                 
                <p style="color:#a0a0a8">On Tuesday, October 23, 2012 at 8:56 AM, Yiftach Golan wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px">
                    <span><div><div>Hi FreeSWITCH community, <br>My name is Yiftah and I am working for ChooChee which is a hosted PBX solution company <br>We have been using FreeSWITCH for almost 2 years and we added a lot of code changes to the core and to the different modules<br>




Lately we have made a decision to get more close to the community so that we can enjoy the bug fixes and the new feature from the community and we can contribute our knowledge and bug fixes <br>I would please like to start with a very basic question :<br>




We are using dialplan xmls in order to load the configuration, we have a lot of users on each freeswitch (+4k), it took a very long time for the configuration to load (around 5 minutes) during this time no new calls could be served by FreeSWITCH<br>




In order to solve this problem we introduce reload xml that accepts file names and has the ability to load just one file name into the memory (we achieved 10ms loading time instead of 5 minutes) <br>The problem is that we had to introduce a lot of code in order to solve this problem, has anyone else encounter this problem? we do not want to use mod_xml_curl as we want to take care bringing the file to the machine <br>




Another approach that we thought is that a database might be much better fit in here, because every xml update includes the entire tenant (business) and has the potential in harming other users in the same tenant, also DB has much higher capacities then XMLs, did anyone think of enabling MySQL as a directory of parameters instead of xml?<br>




Thanks,<br>Yiftach.<br><br>
</div><div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services:</div><div><a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a></div>



<div><a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a></div><div><br></div><div>FreeSWITCH-powered IP PBX: The CudaTel Communication Server</div><div><a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a></div>



<div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></div><div><a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a></div>



<div><a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-users mailing list</div><div><a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a></div>



<div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a></div>



<div><a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>
            <br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>
</div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>


Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com" target="_blank">MSN:anthony_minessale@hotmail.com</a><br>

GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com" target="_blank">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch.org</a><br>

<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org" target="_blank">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:<a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a><br>
</div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>