<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux and Unix technical recipes</title>
	<atom:link href="http://www.howtonix.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.howtonix.com</link>
	<description>Linux Tutorial and Guide</description>
	<lastBuildDate>Wed, 01 Sep 2010 00:58:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>IVR Application in Lua for Freeswitch</title>
		<link>http://www.howtonix.com/ivr-application-lua-freeswitch/</link>
		<comments>http://www.howtonix.com/ivr-application-lua-freeswitch/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 00:57:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeSWITCH]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[IVR Lua FreeSWITCH]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=173</guid>
		<description><![CDATA[1. Create a New file name 01_Custom.xml and add the following new extension: &#60;extension name=&#8221;Read Back Entered Digits&#8221;&#62; &#60;condition field=&#8221;destination_number&#8221; expression=&#8221;^(9910)$&#8221;&#62; &#60;action application=&#8221;lua&#8221; data=&#8221;test1.lua&#8221;/&#62; &#60;/condition&#62; &#60;/extension&#62; 2. Save the file. Launch fs_cli and issue reload_xml, or press F6. Our Dialplan is now ready to call the Lua script named test1.lua. Create this new script as [...]]]></description>
			<content:encoded><![CDATA[
<!-- Quick Adsense WordPress Plugin: http://techmilieu.com/quick-adsense -->
<div style="float:none;margin:10px 0 10px 0;text-align:center;">
<script type="text/javascript"><!--
google_ad_client = "pub-4492234592142803";
/* 468x60, created 9/1/10 howtonix */
google_ad_slot = "5691725759";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<p>1.   Create a New file name 01_Custom.xml and add the following new extension:</p>
<blockquote><p>&lt;extension name=&#8221;Read Back Entered Digits&#8221;&gt;<br />
&lt;condition field=&#8221;destination_number&#8221; expression=&#8221;^(9910)$&#8221;&gt;<br />
&lt;action application=&#8221;lua&#8221; data=&#8221;test1.lua&#8221;/&gt;<br />
&lt;/condition&gt;<br />
&lt;/extension&gt;</p></blockquote>
<p>2.   Save the file. Launch fs_cli and issue reload_xml,         or press F6.</p>
<p>Our Dialplan is now ready to call the Lua script named test1.lua. Create this new script as follows:</p>
<p>1.   Using your text editor, create test1.lua in the freeswitch/scripts/ directory and add the following lines:</p>
<blockquote><p>&#8211; test1.lua<br />
&#8211; Answer call, play a prompt, hangup</p>
<p>&#8211; Set the path separator<br />
pathsep = &#8216;/&#8217;         &#8212; Windows users do this instead:<br />
&#8211; pathsep = &#8216;\&#8217;</p>
<p>&#8211;Answer the call<br />
session:answer()</p>
<p>&#8211;Create a string with path and filename of a sound file<br />
prompt = &#8220;ivr&#8221; .. pathsep  .. &#8220;ivr-welcome_to_freeswitch.wav&#8221;</p>
<p>&#8211; Print a log message<br />
freeswitch.consoleLog(&#8220;INFO&#8221;,&#8221;Prompt file is &#8216;&#8221; .. prompt .. &#8220;&#8216;\<br />
n&#8221;)</p>
<p>&#8211;Play the prompt<br />
session:streamFile(prompt)</p>
<p>&#8211; Hangup<br />
session:hangup()</p></blockquote>
<p>2.   Save the file.</p>
<p>Now dialer 9910 and you will get IVR.</p>

<div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div>]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/ivr-application-lua-freeswitch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lua Tutorial for Freeswitch</title>
		<link>http://www.howtonix.com/lua-tutorial-freeswitch/</link>
		<comments>http://www.howtonix.com/lua-tutorial-freeswitch/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 00:52:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeSWITCH]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Lua Tutorial]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=171</guid>
		<description><![CDATA[Lua is very lightweight programing language.Lua has a simple syntax that is easy both to learn and to read. Following is a simple script: &#8212; This is a sample Lua script &#8212; Single line comments begin with two dashes &#8211;[[ This is a multi-line comment. Everything between the double square brackets is part of the [...]]]></description>
			<content:encoded><![CDATA[<p>Lua is very lightweight programing language.Lua has a simple syntax that is easy both to learn and to read. Following is a<br />
simple script: </p>
<p>    &#8212; This is a sample Lua script<br />
    &#8212; Single line comments begin with two dashes </p>
<p>    &#8211;[[<br />
       This is a multi-line comment.<br />
       Everything between the double square brackets<br />
         is part of the comment block.<br />
    ]] </p>
<p>    &#8212; Lua is loosely typed<br />
    var = 1             &#8212; This is a comment<br />
    var = �alpha�       &#8212; Another comment<br />
    var = �A1�          &#8212; You get the idea&#8230; </p>
<p>    &#8211;[[<br />
       When the Lua script is called from the dialplan<br />
       you have a few magic objects. A handy one is<br />
       the 'freeswitch' object which lets you do things<br />
       like this:<br />
       freeswitch.consoleLog(�INFO�,�This is a log line\n�) </p>
<p>       Another important one is the 'session' object which<br />
       Lets you manipulate the call:<br />
       session:answer()<br />
       session:hangup()<br />
    ]] </p>
<p>    &#8212; Lua makes extensive use of tables<br />
    &#8212; Tables are a hybrid of arrays and associative arrays<br />
    my_table = {<br />
          key1 = val1,<br />
          key2 = val2,<br />
           �index 1�,<br />
           �index 2�<br />
     }<br />
    freeswitch.consoleLog(�my_table key1 is &#8216;� .. my_table[key1] .. �&#8217;\n�)<br />
    freeswitch.consoleLog(�my_table index 1 is &#8216;� .. my_table[1] .. �&#8217;\n�) </p>
<p>    &#8212; Access arguments passed in<br />
    arg1 = argv[1]           &#8212; First argument<br />
    arg2 = argv[2]           &#8212; Second argument </p>
<p>    &#8212; Simple if/then<br />
    if ( var == �A1� ) then<br />
       freeswitch.consoleLog(�INFO�,�var is &#8216;A1&#8242;\n�)<br />
    end </p>
<p>    &#8212; Simple if/then/else<br />
    if ( var == �A1� ) then<br />
       freeswitch.consoleLog(�INFO�,�var is &#8216;A1&#8242;\n�)<br />
    else<br />
       freeswitch.consoleLog(�INFO�,�var is not &#8216;A1&#8242;!\n�)<br />
    end </p>
<p>    &#8212; String concatenation uses ..<br />
    var = �This � .. � and � .. �that�<br />
    freeswitch.consoleLog(�INFO�,�var contains &#8216;� .. var .. �&#8217;\n�) </p>
<p>    &#8212; The end </p>
<p>Every Lua script that is executed from the Dialplan receives the session object,<br />
which represents the call leg that is being processed. The session object is the<br />
primary means of manipulating the call, and is used extensively in Lua scripting. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/lua-tutorial-freeswitch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Getting started with Lua in FreeSWITCH</title>
		<link>http://www.howtonix.com/started-lua-freeswitch/</link>
		<comments>http://www.howtonix.com/started-lua-freeswitch/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 00:49:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeSWITCH]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Lua FreeSWITCH]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=168</guid>
		<description><![CDATA[Enabling Lua (via mod_lua) is very easier process.It is done in the following way: 1. Open modules.conf in the FreeSWITCH source directory and locate the following line: #languages/mod_lua Remove the # and save the file. 2. Open modules.conf.xml in the conf/autoload_configs directory and locate the following line: tags and save the file. 3. Build and [...]]]></description>
			<content:encoded><![CDATA[<p>Enabling Lua (via mod_lua) is very easier process.It is done in the<br />
following way:</p>
<p>1.   Open modules.conf in the FreeSWITCH source directory and locate the<br />
following line:</p>
<blockquote><p>#languages/mod_lua</p></blockquote>
<p>Remove the # and save the file.</p>
<p>2.   Open modules.conf.xml in the conf/autoload_configs directory and<br />
locate the following line:</p>
<blockquote><p><!-- <load module=�mod_lua� /> &#8211;></p></blockquote>
<p>Remove the <!-- and  --> tags and save the file.</p>
<p>3.   Build and compile mod_lua from the FreeSWITCH source directory:</p>
<blockquote><p>make mod_lua-install</p></blockquote>
<p>4.   Wait for the installation to finish, and then restart FreeSWITCH. Launch<br />
fs_cli and type show application. If Lua loaded successfully, then you<br />
will see that lua is now available as a Dialplan application as follows:</p>
<blockquote><p>lua,Launch LUA ivr,<script type="text/javascript">// <![CDATA[
,mod_lua </p>
</blockquote>
<p>You are almost ready to write scripts in Lua.
// ]]&gt;</script></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/started-lua-freeswitch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use Jquery with Smarty Template Engine</title>
		<link>http://www.howtonix.com/jquery-smarty-template-engine/</link>
		<comments>http://www.howtonix.com/jquery-smarty-template-engine/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 23:11:00 +0000</pubDate>
		<dc:creator>emran</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Jquery Smarty]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=161</guid>
		<description><![CDATA[Smarty is the template engine which is fast and nicely design for php programmers. Smarty makes your PHP code cleaner and promotes the V in MVC. Jquery is the another lightweight JavaScript Library for rapid web development. Anyway, do you see the problem that might arise when you try to embed your jQuery code or [...]]]></description>
			<content:encoded><![CDATA[<p>Smarty is the template engine which  is fast and nicely design for php programmers. Smarty makes your PHP code cleaner and promotes the V in MVC.</p>
<p>Jquery is the another lightweight JavaScript Library for rapid web development.</p>
<p>Anyway, do you see the problem that might arise when you try to embed your jQuery code or any other javascript library (like Prototype, MooTools, Extjs, etc.) that uses $ as a function name in the ?</p>
<p><strong>The solution:</strong><br />
Use Smarty’s {literal}&#8230;{/literal} directives to tell Smarty parsing engine that it should not interpret the code within the block. Smarty will not parse the code which is inside of literal block.</p>
<p><strong>Example:</strong></p>
<blockquote><p>User<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;// &lt;![CDATA[<br />
{literal}<br />
$(document).ready(function(){<br />
$(".clazz").css("color", "red");<br />
});<br />
{/literal}<br />
// ]]&gt;&lt;/script&gt;</p>
<p>User Information:</p>
<p>Name: {$name}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/jquery-smarty-template-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squid Proxy Server Mac Address based filtering</title>
		<link>http://www.howtonix.com/squid-proxy-server-mac-address-based-filtering/</link>
		<comments>http://www.howtonix.com/squid-proxy-server-mac-address-based-filtering/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:44:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Squid Proxy server Mac Filtering]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=158</guid>
		<description><![CDATA[To set up ACL&#8217;s based on MAC address: Open squid.conf: # vi /etc/squid/squid.conf Local acl, section and append ACL as follows: acl macf1 arp mac-address acl macf2 arp 00:11:22:33:44:55 http_access allow macf1 http_access allow macf2 http_access deny all Save and close the file. Restart squid server: # /etc/init.d/squid restart]]></description>
			<content:encoded><![CDATA[<h2>To set up ACL&#8217;s based on MAC address:</h2>
<p>Open squid.conf:</p>
<blockquote>
<p># vi /etc/squid/squid.conf</p></blockquote>
<p>Local acl, section and append ACL as follows:</p>
<blockquote><p>acl macf1 arp mac-address<br />
acl macf2 arp 00:11:22:33:44:55<br />
http_access allow macf1<br />
http_access allow macf2<br />
http_access deny all
</p></blockquote>
<p>Save and close the file. Restart squid server:</p>
<blockquote><p># /etc/init.d/squid restart</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/squid-proxy-server-mac-address-based-filtering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to disable SELinux in CentOS?</title>
		<link>http://www.howtonix.com/disable-selinux-centos/</link>
		<comments>http://www.howtonix.com/disable-selinux-centos/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:32:30 +0000</pubDate>
		<dc:creator>emran</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[SELinux Security Firewall]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=154</guid>
		<description><![CDATA[In Fedora Core and RedHat Enterprise or CentOS, edit /etc/selinux/config and change the SELINUX line to SELINUX=disabled That&#8217;s all.]]></description>
			<content:encoded><![CDATA[<p>In Fedora Core and RedHat Enterprise or CentOS, edit /etc/selinux/config and change the SELINUX line to SELINUX=disabled</p>
<p>That&#8217;s all. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/disable-selinux-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Block DDoS attack on SIP Server</title>
		<link>http://www.howtonix.com/block-ddos-attack-sip-server/</link>
		<comments>http://www.howtonix.com/block-ddos-attack-sip-server/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:29:45 +0000</pubDate>
		<dc:creator>emran</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[FreeSWITCH]]></category>
		<category><![CDATA[Kamailio]]></category>
		<category><![CDATA[OpenSIPS]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[Yate]]></category>
		<category><![CDATA[DDoS Attach on SIP Server]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=150</guid>
		<description><![CDATA[Sometimes SIP Server attacked by hacker with huge number of SIP Registration.Which make mad the SIP Server.Full service can be get down. It can be blocked easily by IPTables. IPTables will work as Session Border Controller(SBC) for SIP Server. This script will work only with SIP.it will not work for TLS or SIPS. #!/bin/sh # [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes SIP Server attacked by hacker with huge number of  SIP Registration.Which make mad the SIP Server.Full service can be get down. It can be blocked easily by IPTables. IPTables will work as Session Border Controller(SBC) for SIP Server. This script will work only with SIP.it will not work for TLS or SIPS.</p>
<blockquote><p>
#!/bin/sh<br />
#<br />
# INVITE rate, per host.  Remember a successful (authenticated) call requires 2 INVITEs-<br />
# Initial INVITE, 407 auth required (w/ nonce), INVITE with nonce and authentication.<br />
IRATE=4/minute</p>
<p># REGISTER rate, per host.<br />
RRATE=2/minute</p>
<p># All other SIP methods rate, per host.  Be careful with SUBSCRIBEs, OPTIONS, CANCELs, etc.<br />
ORATE=10/minute</p>
<p># Methods for this script to ignore.  These SIP methods are always allowed.<br />
IGMETH=&#8221;OPTIONS&#8221;</p>
<p># Burst<br />
BURST=1</p>
<p># Interface(s) to protect on INPUT. Seperate multiple interfaces with spaces.<br />
# This will protect SIP services on THIS HOST.<br />
IFACE=&#8221;eth0&#8243;</p>
<p># Reject/drop action &#8211; usually something like DROP or REJECT.<br />
# Use ACCEPT to use this script to not filter traffic but still collect statistics.<br />
DACTION=DROP</p>
<p># Protocol(s) to filter &#8211; can be either tcp or udp or both. Seperate multiples with spaces.<br />
PROTOCOLS=&#8221;udp tcp&#8221;</p>
<p># Enable logging.<br />
#LOG=YES</p>
<p># Block tel: URIs completely?<br />
# P.S. &#8211; tel: sucks!<br />
BLOCKTEL=yes</p>
<p># Interface(s) to protect on FORWARD. Seperate multiple interfaces with spaces.<br />
# The same hashtable will protect the entire network from the same host(s).<br />
# Destination IP is NOT taken into consideration.<br />
# This will protect any SIP services running on the network that uses this machine<br />
# as a router (as long as you get the interfaces right).<br />
#FIFACE=&#8221;eth0&#8243;</p>
<p># Location of iptables binary.<br />
IPTABLES=`which iptables`</p>
<p># Search packet to this location. A larger offset looks further into the packet<br />
# and takes more time but could catch more attacks (and false alarms).<br />
# Remember, the method to match on is always in the beginning of the packet.<br />
OFFSET=65</p>
<p># SIP port<br />
SPORT=5060</p>
<p>if [ ! "$1" ]<br />
then<br />
echo &#8220;SIP DoS/DDoS mitigation script for iptables<br />
See top of script for configuration</p>
<p>Usage:<br />
$0 [start|stop|status]&#8221;<br />
exit 1<br />
fi</p>
<p>if [ "$1" = "status" ]<br />
then<br />
$IPTABLES -L -v -n<br />
exit<br />
fi</p>
<p># Setup iptables<br />
$IPTABLES -F sipdos 2&gt; /dev/null<br />
$IPTABLES -X sipdos 2&gt; /dev/null<br />
$IPTABLES -N sipdos 2&gt; /dev/null</p>
<p>if [ "$1" = "stop" ]<br />
then<br />
echo &#8220;Clearing iptables rules&#8230;&#8221;<br />
if [ "$FIFACE" ]<br />
then<br />
$IPTABLES -F FORWARD 2&gt; /dev/null<br />
fi<br />
$IPTABLES -F INPUT 2&gt; /dev/null<br />
exit<br />
fi</p>
<p># Send the right traffic through our chain<br />
for i in $IFACE<br />
do<br />
for l in $PROTOCOLS<br />
do<br />
$IPTABLES -A INPUT -i $i -m $l -p $l &#8211;dport $SPORT -j sipdos<br />
done<br />
done</p>
<p># Send the right forwarded traffic through our chain<br />
if [ "$FIFACE" ]<br />
then<br />
for j in $FIFACE<br />
do<br />
for l in $PROTOCOLS<br />
do<br />
$IPTABLES -A FORWARD -i $j -m $l -p $l &#8211;dport $SPORT -j sipdos<br />
done<br />
done<br />
fi</p>
<p># &#8220;Handle&#8221; tel: URIs<br />
if [ "$BLOCKTEL" ]<br />
then<br />
$IPTABLES -A sipdos -m string &#8211;string &#8220;tel:&#8221; &#8211;algo bm &#8211;to $OFFSET -j $DACTION<br />
fi</p>
<p># Ignore certain (configured) methods<br />
if [ "$IGMETH" ]<br />
then<br />
for k in $IGMETH<br />
do<br />
$IPTABLES -A sipdos -m string &#8211;string &#8220;$k sip:&#8221; &#8211;algo bm &#8211;to $OFFSET -j ACCEPT<br />
done<br />
fi</p>
<p># Finally set some limits&#8230;</p>
<p># INVITE limit<br />
$IPTABLES -A sipdos -m string &#8211;string &#8220;INVITE sip:&#8221; &#8211;algo bm &#8211;to $OFFSET \<br />
-m hashlimit &#8211;hashlimit $IRATE &#8211;hashlimit-burst $BURST \<br />
&#8211;hashlimit-mode srcip,dstport &#8211;hashlimit-name sip_i_limit -j ACCEPT</p>
<p># REGISTER limit<br />
$IPTABLES -A sipdos -m string &#8211;string &#8220;REGISTER sip:&#8221; &#8211;algo bm &#8211;to $OFFSET \<br />
-m hashlimit &#8211;hashlimit $RRATE &#8211;hashlimit-burst $BURST \<br />
&#8211;hashlimit-mode srcip,dstport &#8211;hashlimit-name sip_r_limit -j ACCEPT</p>
<p># All other SIP packets&#8230;<br />
$IPTABLES -A sipdos -m hashlimit &#8211;hashlimit $ORATE &#8211;hashlimit-burst $BURST \<br />
&#8211;hashlimit-mode srcip,dstport &#8211;hashlimit-name sip_o_limit -j ACCEPT</p>
<p># Take action on everything else<br />
if [ $LOG ]<br />
then<br />
$IPTABLES -A sipdos -j LOG<br />
fi</p>
<p>$IPTABLES -A sipdos -j $DACTION</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/block-ddos-attack-sip-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Increase Private Memory Size on OpenSIPS</title>
		<link>http://www.howtonix.com/increase-private-memory-size-opensips/</link>
		<comments>http://www.howtonix.com/increase-private-memory-size-opensips/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:59:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSIPS]]></category>
		<category><![CDATA[opensips memory]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=145</guid>
		<description><![CDATA[By default the size of private memory chunk used by each OpenSIPS process is 1 MB. To increase the size of private memory you need to compile OpenSIPS from sources. Once you get the sources from SVN or the opensips.org&#8217;s download site, do the following steps: - edit the file &#8220;config.h&#8221; and search for the [...]]]></description>
			<content:encoded><![CDATA[<p>By default the size of private memory chunk used by each OpenSIPS process is 1 MB.</p>
<p>To increase the size of private memory you need to compile OpenSIPS from sources. Once you get the sources from SVN or the opensips.org&#8217;s download site, do the following steps:</p>
<p>- edit the file &#8220;config.h&#8221; and search for the next lines:</p>
<blockquote><p>/*used only if PKG_MALLOC is defined*/<br />
#define PKG_MEM_POOL_SIZE 1024*1024</p></blockquote>
<p>- change the value of PKG_MEM_POOL_SIZE to desired size, for example to have 4MB of private memory:</p>
<blockquote><p>#define PKG_MEM_POOL_SIZE 4*1024*1024</p></blockquote>
<p>- recompile and reinstall OpenSIPS</p>
<blockquote><p>make all; make install;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/increase-private-memory-size-opensips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Increase Share Memory Size on OpenSIPS</title>
		<link>http://www.howtonix.com/increase-share-memory-size-opensips/</link>
		<comments>http://www.howtonix.com/increase-share-memory-size-opensips/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:54:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSIPS]]></category>
		<category><![CDATA[opensips]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=142</guid>
		<description><![CDATA[To increase the share memory size use &#8216;-m&#8217; command line parameter of OpenSIPS. opensips -m 256 # this will run OpenSIPS with 256MB of share memory]]></description>
			<content:encoded><![CDATA[<p>To increase the share memory size use &#8216;-m&#8217; command line parameter of OpenSIPS.</p>
<blockquote><p>opensips -m 256</p></blockquote>
<p># this will run OpenSIPS with 256MB of share memory</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/increase-share-memory-size-opensips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make money from Twitter</title>
		<link>http://www.howtonix.com/money-twitter/</link>
		<comments>http://www.howtonix.com/money-twitter/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 03:23:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter Ad Make Money]]></category>

		<guid isPermaLink="false">http://www.howtonix.com/?p=117</guid>
		<description><![CDATA[If you have a twitter account with many followers or just a few, you still can make money through a Twitter advertising company called Ad.ly. You set the price and once an advertiser is interested to put an ad in your tweet, you’ll earn money. For how much? It depends on how much price you [...]]]></description>
			<content:encoded><![CDATA[<div id="mainwrapper">
<div id="leftcontent">
<div>
<div>If you have a twitter account with many followers or just a few, you still can make money through a Twitter advertising company called <a rel="nofollow" href="http://ad.ly/publisher/refer/203451986322176562" target="_blank">Ad.ly.</a></div>
</div>
<div>
<p>You set the price and once an advertiser is interested to put an ad in your tweet, you’ll earn money. For how much? It depends on how much price you have set.</p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.howtonix.com/money-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
