<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5629128021946869470</id><updated>2011-11-27T16:30:58.793-08:00</updated><title type='text'>A Voice from within ......</title><subtitle type='html'>You may not speak.... But the heart and mind from within say something...... It can't be hidden... 
it will eventually show itself from the dawn ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6607462711547643533</id><published>2011-11-07T12:11:00.000-08:00</published><updated>2011-11-07T12:27:12.910-08:00</updated><title type='text'>Monitoring VMware ESXi and vSphere with Nagios</title><content type='html'>&lt;b&gt;Requirements&lt;/b&gt;    &lt;ul style="margin-top: 0in;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Perl      5.8&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Several      supporting Perl modules: &lt;/li&gt;&lt;ul style="margin-top: 0in;" type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;Crypt-SSLeay       (0.51) [Crypt::SSLeay]&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Data-Dumper       (2.102) [Data::Dumper]&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;MethodMaker       (2.0.8) [Class::MethodMaker] &lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;XML-LibXML       (1.60) [XML::LibXML]&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;libwww-perl       (5.805) [LWP]&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;This article describes how to monitor a &lt;a href="http://www.vmware.com/products/vsphere-hypervisor/index.html"&gt;VMWare ESXi&lt;/a&gt; or vSphere host with &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt;, using the &lt;a href="http://www.op5.org/community/plugin-inventory/op5-projects/check-esx-plugin"&gt;OP5 Check ESX Plugin&lt;/a&gt; written in &lt;a href="http://en.wikipedia.org/wiki/Perl"&gt;PERL&lt;/a&gt;.  The plugin can monitor either a single ESXi/vSphere server or a  VirtualCenter/vCenter Server and individual virtual machines. We’ll see  here how to monitor an ESXi 4 host.&lt;br /&gt;The following tutorial has been made on a &lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt; server, you may have to adapt some paths with other distributions.&lt;br /&gt;&lt;br /&gt;Install all the dependencies of Perl SDK.&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;perl -MCPAN -e shell&lt;br /&gt;&lt;br /&gt;The above command shall bring you to the perl cpan install CLI. This will allow you to install requirements for Perl.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;cpan&amp;gt; install &lt;/tt&gt;Crypt::SSLeay&lt;br /&gt;&lt;br /&gt;This article describes how to monitor a &lt;a href="http://www.vmware.com/products/vsphere-hypervisor/index.html"&gt;VMWare ESXi&lt;/a&gt; or vSphere host with &lt;a href="http://www.nagios.org/"&gt;Nagios&lt;/a&gt;, using the &lt;a href="http://www.op5.org/community/plugin-inventory/op5-projects/check-esx-plugin"&gt;OP5 Check ESX Plugin&lt;/a&gt; written in &lt;a href="http://en.wikipedia.org/wiki/Perl"&gt;PERL&lt;/a&gt;.  The plugin can monitor either a single ESXi/vSphere server or a  VirtualCenter/vCenter Server and individual virtual machines. We’ll see  here how to monitor an ESXi 4 host.&lt;br /&gt;&lt;p&gt; The following tutorial has been made on a &lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt; server, you may have to adapt some paths with other distributions.&lt;/p&gt;&lt;p&gt;&lt;span id="more-516"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;Installation&lt;/h4&gt;&lt;p&gt; The prerequisite for the plugin to work is to install the &lt;a href="http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vsphere_4/4#drivers_tools"&gt;VMWare Perl SDK&lt;/a&gt; available on the manufacturer website.&lt;br /&gt;Download the file on your server, for example in the root directory, untar it and run the installer that way :&lt;/p&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="bash"  style="font-family:monospace;"&gt;&lt;span style=" font-style: italic;color:#666666;" &gt;# cd /root&lt;/span&gt; &lt;span style=" font-style: italic;color:#666666;" &gt;# tar xvzf VMware-vSphere-Perl-SDK-4.1.0-254719.i386.tar.gz &lt;/span&gt; &lt;span style=" font-style: italic;color:#666666;" &gt;# cd vmware-vsphere-cli-distrib/&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); font-style: italic;"&gt;# ./vmware-install.pl&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;"Creating a new vSphere CLI installer database using the tar4 format.&lt;br /&gt;&lt;br /&gt;Installing vSphere CLI.&lt;br /&gt;&lt;br /&gt;You must read and accept the vSphere CLI End User License Agreement to continue.&lt;br /&gt;Press enter to display it." &lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;"Read through the License Agreement"&lt;br /&gt;&lt;br /&gt;"Do you accept? (yes/no)" &lt;/span&gt;&lt;/p&gt;      &lt;span style="font-size:11pt;"&gt;yes&lt;/span&gt;      &lt;p class="MsoNormal" style=""&gt;&lt;span style=""&gt;&lt;br /&gt;"In which directory do you want to install the executable files?&lt;br /&gt;[/usr/bin]" &lt;/span&gt;&lt;/p&gt;        &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style=""&gt;&lt;br /&gt;"The following Perl modules were found on the system but may be too old to work&lt;br /&gt;with vSphere CLI:&lt;br /&gt;&lt;br /&gt;Crypt::SSLeay&lt;br /&gt;Compress::Zlib&lt;br /&gt;&lt;br /&gt;The installation of vSphere CLI 4.0.0 build-161974 for Linux&lt;br /&gt;completed successfully. You can decide to remove this software from your system&lt;br /&gt;at any time by invoking the following command:&lt;br /&gt;"/usr/bin/vmware-uninstall-vSphere-CLI.pl".&lt;br /&gt;&lt;br /&gt;Enjoy,&lt;br /&gt;&lt;br /&gt;--the VMware team"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;If ever you're having an issue installing the SDK and complaining about http_proxy, issue the following command:&lt;br /&gt;&lt;pre class="bash" style="font-family: monospace;"&gt;&lt;/pre&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Run commands before vmware-install.pl:&lt;/p&gt;&lt;p&gt;export http_proxy=&lt;/p&gt;&lt;p&gt;export ftp_proxy=&lt;/p&gt;&lt;span style="font-size:11pt;"&gt;Download nagios check plugin check_esx3.pl from &lt;a href="http://www.op5.org/community/projects/op5-plugins"&gt;op5.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;http://www.op5.org/community/plugin-inventory/op5-projects/op5-plugins&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt; Follow the instructions given by the script. Depending on your  setup, some PERL dependencies must be installed prior for the SDK to  work correctly. When it’s done, we can get the plugin &lt;a href="http://www.op5.org/community/plugin-inventory/op5-projects/check-esx-plugin"&gt;here&lt;/a&gt;, and copy it to &lt;code&gt;/usr/lib/nagios/plugins/&lt;/code&gt;. Make it executable :&lt;/p&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="bash"  style="font-family:monospace;"&gt;&lt;span style=" font-style: italic;color:#666666;" &gt;# cd /usr/lib/nagios/plugins/&lt;/span&gt; &lt;span style=" font-style: italic;color:#666666;" &gt;# chmod a+x check_esx&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4&gt;Take NOTE: change check_esx to check_esx3.pl&lt;br /&gt;&lt;/h4&gt;&lt;h4&gt;Configuration&lt;/h4&gt;&lt;p&gt;  Now, we can start the real configuration for Nagios. We’ll need a  username and password to access the ESXi host, let’s define those Nagios  variables in a safe place in &lt;code&gt;/etc/nagios/resource.cfg&lt;/code&gt;, so that this information will be hidden from the CGIs :&lt;/p&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="bash"  style="font-family:monospace;"&gt;&lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$=username &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$=password&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;  In this tutorial, we’ll be monitoring these resources : CPU, memory  usage, net usage, runtime status and IO/read/write. But some more are  available, see the &lt;a href="http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-esxi-vsphere-4-and-vcenter-server"&gt;references here&lt;/a&gt;. Below are the new commands related to ESXi to add in the &lt;code&gt;/etc/nagios/objects/command.cfg&lt;/code&gt; file (these are the ESXi related commands only, NOT the full &lt;code&gt;command.cfg&lt;/code&gt;, you may append this at the end of the file) :&lt;/p&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="bash"  style="font-family:monospace;"&gt;&lt;span style=" font-style: italic;color:#666666;" &gt;# check vmware esxi machine&lt;/span&gt; &lt;span style=" font-style: italic;color:#666666;" &gt;# check cpu&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_cpu         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; cpu &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; usage &lt;span style="color:#660033;"&gt;-w&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG1&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-c&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG2&lt;/span&gt;$         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check memory usage&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_mem         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; mem &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; usage &lt;span style="color:#660033;"&gt;-w&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG1&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-c&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG2&lt;/span&gt;$         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check net usage&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_net         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; net &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; usage &lt;span style="color:#660033;"&gt;-w&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG1&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-c&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG2&lt;/span&gt;$         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check runtime status&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_runtime         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; runtime &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; status         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check io read&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_ioread         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; io &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; &lt;span style=" font-weight: bold;color:#c20cb9;" &gt;read&lt;/span&gt; &lt;span style="color:#660033;"&gt;-w&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG1&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-c&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG2&lt;/span&gt;$         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check io write&lt;/span&gt; define &lt;span style=" font-weight: bold;color:#7a0874;" &gt;command&lt;/span&gt;&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         command_name check_esx_iowrite         command_line &lt;span style="color:#007800;"&gt;$USER1&lt;/span&gt;$&lt;span style=" font-weight: bold;color:#000000;" &gt;/&lt;/span&gt;check_esx &lt;span style="color:#660033;"&gt;-H&lt;/span&gt; &lt;span style="color:#007800;"&gt;$HOSTADDRESS&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-u&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER11&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-p&lt;/span&gt; &lt;span style="color:#007800;"&gt;$USER12&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-l&lt;/span&gt; io &lt;span style="color:#660033;"&gt;-s&lt;/span&gt; &lt;span style=" font-weight: bold;color:#c20cb9;" &gt;write&lt;/span&gt; &lt;span style="color:#660033;"&gt;-w&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG1&lt;/span&gt;$ &lt;span style="color:#660033;"&gt;-c&lt;/span&gt; &lt;span style="color:#007800;"&gt;$ARG2&lt;/span&gt;$         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt; And an example of the configuration for a Nagios host called esxi01 in &lt;code&gt;/etc/nagios/hosts/esxi01.cfg&lt;/code&gt; :&lt;/p&gt;&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="bash"  style="font-family:monospace;"&gt;&lt;span style=" font-style: italic;color:#666666;" &gt;# Host esx01&lt;/span&gt; define host&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                     linux-server         host_name               esxi01         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;alias&lt;/span&gt;                   VMWare ESXi 01         address                 192.168.1.100         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# Define a service to "ping" the local machine&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             PING         check_command                   check_ping&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;100.0&lt;/span&gt;,&lt;span style="color:#000000;"&gt;20&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;%!&lt;/span&gt;&lt;span style="color:#000000;"&gt;500.0&lt;/span&gt;,&lt;span style="color:#000000;"&gt;60&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;%&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# VMWare&lt;/span&gt; &lt;span style=" font-style: italic;color:#666666;" &gt;# check cpu&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi CPU Load         check_command                   check_esx_cpu&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;80&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;90&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check memory usage&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi Memory usage         check_command                   check_esx_mem&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;80&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;90&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check net&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi Network usage         check_command                   check_esx_net&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;102400&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;204800&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check runtime status&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi Runtime status         check_command                   check_esx_runtime         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check io read&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi IO &lt;span style=" font-weight: bold;color:#c20cb9;" &gt;read&lt;/span&gt;         check_command                   check_esx_ioread&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;40&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;90&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;   &lt;span style=" font-style: italic;color:#666666;" &gt;# check io write&lt;/span&gt; define service&lt;span style=" font-weight: bold;color:#7a0874;" &gt;{&lt;/span&gt;         use                             generic-service         host_name                       esxi01         service_description             ESXi IO &lt;span style=" font-weight: bold;color:#c20cb9;" &gt;write&lt;/span&gt;         check_command                   check_esx_iowrite&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;40&lt;/span&gt;&lt;span style=" font-weight: bold;color:#000000;" &gt;!&lt;/span&gt;&lt;span style="color:#000000;"&gt;90&lt;/span&gt;         &lt;span style=" font-weight: bold;color:#7a0874;" &gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;It’s done. Restart Nagios and wait a while (or re-schedule) for the new resources to be monitored.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6607462711547643533?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6607462711547643533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6607462711547643533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6607462711547643533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6607462711547643533'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/11/monitoring-vmware-esxi-and-vsphere-with.html' title='Monitoring VMware ESXi and vSphere with Nagios'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6221922095166773704</id><published>2011-10-18T05:23:00.000-07:00</published><updated>2011-10-18T05:30:17.227-07:00</updated><title type='text'>NuSOAP WSDL Complex Data</title><content type='html'>&lt;p&gt;Source: http://www.koopman.me/2008/01/nusoap-wsdl-service-return-array-of-complex-data/&lt;/p&gt;&lt;p&gt;I’m just getting the code in the post for now… hopefully I’ll have  time to come back and document it for you. I am excluding my config.php  on purpose, you’ll need to define you’re own constants in there.&lt;/p&gt;&lt;div class="container"&gt;&lt;div class="line number1 index0 alt2"&gt;&lt;code class="php plain"&gt;&lt;!--?php&lt;/code--&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number3 index2 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;require_once&lt;/code&gt;&lt;code class="php plain"&gt;(“config.php”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number4 index3 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;require_once&lt;/code&gt;&lt;code class="php plain"&gt;(“nusoap.php”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number5 index4 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number6 index5 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;/*&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number7 index6 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;* This function takes an $email address and returns an array of email addresses&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number8 index7 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;* that are the given email address’s recent contacts from their address book.&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number9 index8 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;*&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number10 index9 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;* @param string $email (the email address of the user)&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number11 index10 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;*  @param string $token (a password that is used for authentication for  use of this function, it is NOT the email users password.)&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number12 index11 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;*/&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number13 index12 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;function&lt;/code&gt; &lt;code class="php plain"&gt;getAutocompleteContacts( &lt;/code&gt;&lt;code class="php variable"&gt;$email&lt;/code&gt;&lt;code class="php plain"&gt;, &lt;/code&gt;&lt;code class="php variable"&gt;$num&lt;/code&gt;&lt;code class="php plain"&gt;, &lt;/code&gt;&lt;code class="php variable"&gt;$token&lt;/code&gt; &lt;code class="php plain"&gt;) {&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number14 index13 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php spaces"&gt;  &lt;/code&gt;&lt;code class="php keyword"&gt;if&lt;/code&gt; &lt;code class="php plain"&gt;(&lt;/code&gt;&lt;code class="php variable"&gt;$token&lt;/code&gt; &lt;code class="php plain"&gt;!= SOAP_TOKEN)&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number15 index14 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php spaces"&gt;    &lt;/code&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt; &lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soap_fault(‘Server’, ”, “Supplied token does not match our records”,”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number16 index15 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number17 index16 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$email&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php functions"&gt;strtolower&lt;/code&gt;&lt;code class="php plain"&gt;(trim(&lt;/code&gt;&lt;code class="php variable"&gt;$email&lt;/code&gt;&lt;code class="php plain"&gt;));&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number18 index17 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number19 index18 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;if&lt;/code&gt; &lt;code class="php plain"&gt;( ! &lt;/code&gt;&lt;code class="php functions"&gt;ereg&lt;/code&gt;&lt;code class="php plain"&gt;( ‘^’.email_reg.’$', &lt;/code&gt;&lt;code class="php variable"&gt;$email&lt;/code&gt;&lt;code class="php plain"&gt;) )&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number20 index19 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt; &lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soap_fault(‘Client’, ”, “Must supply a valid email address: &lt;/code&gt;&lt;code class="php variable"&gt;$email&lt;/code&gt; &lt;code class="php plain"&gt;not valid”,”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number21 index20 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number22 index21 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$aDB&lt;/code&gt; &lt;code class="php plain"&gt;= DB::connect( ADDR_DSN );&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number23 index22 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;if&lt;/code&gt; &lt;code class="php plain"&gt;( DB::isError(&lt;/code&gt;&lt;code class="php variable"&gt;$aDB&lt;/code&gt;&lt;code class="php plain"&gt;) ) {&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number24 index23 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt; &lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soap_fault(‘Server’, ”, ‘Service temporarily unavailable: could not connect to ADDR_DSN DB’,”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number25 index24 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;}&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number26 index25 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$aDB&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;setFetchMode( DB_FETCHMODE_ASSOC );&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number27 index26 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number28 index27 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;// REALLY YOU SHOULD DO YOU’RE OWN QUERY, BUT FOR THE SAKE&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number29 index28 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;// OF THIS EXAMPLE, I’M JUST GOING TO INJECT A COUPLE RESULTS:&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number30 index29 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$result&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;();&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number31 index30 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$result&lt;/code&gt;&lt;code class="php plain"&gt;[] = &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;( ‘contact’ =&amp;gt; ‘Chaos Captain’, ‘email’ =&amp;gt; ‘choas@sdfusidfousdf.com’);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number32 index31 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$result&lt;/code&gt;&lt;code class="php plain"&gt;[] = &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;( ‘contact’ =&amp;gt; ‘Joe Joe’, ‘email’ =&amp;gt; ‘choas@sdf768sdf798s7df987.com’);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number33 index32 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number34 index33 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt; &lt;code class="php variable"&gt;$result&lt;/code&gt;&lt;code class="php plain"&gt;;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number35 index34 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number36 index35 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;#&lt;/code&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt; &lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soap_fault(‘Server’, ”, ‘Fallthrough error, should have faulted on invalid type above’,”);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number37 index36 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number38 index37 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;}&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number39 index38 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number40 index39 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$HTTP_RAW_POST_DATA&lt;/code&gt; &lt;code class="php plain"&gt;= isset(&lt;/code&gt;&lt;code class="php variable"&gt;$HTTP_RAW_POST_DATA&lt;/code&gt;&lt;code class="php plain"&gt;) ? &lt;/code&gt;&lt;code class="php variable"&gt;$HTTP_RAW_POST_DATA&lt;/code&gt; &lt;code class="php plain"&gt;: ”;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number41 index40 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soap_server;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number42 index41 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;configureWSDL(‘addressbook1′, ‘urn:’.&lt;/code&gt;&lt;code class="php variable"&gt;$_SERVER&lt;/code&gt;&lt;code class="php plain"&gt;[&lt;/code&gt;&lt;code class="php string"&gt;'SCRIPT_URI'&lt;/code&gt;&lt;code class="php plain"&gt;]);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number43 index42 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;wsdl-&amp;gt;addComplexType(&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number44 index43 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘Contact’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number45 index44 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘complexType’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number46 index45 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘struct’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number47 index46 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘all’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number48 index47 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;”,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number49 index48 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number50 index49 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘contact’ =&amp;gt; &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘name’ =&amp;gt; ‘contact’, ‘type’ =&amp;gt; ‘xsd:string’),&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number51 index50 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘email’ =&amp;gt; &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘name’ =&amp;gt; ‘email’, ‘type’ =&amp;gt; ‘xsd:string’),&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number52 index51 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;)&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number53 index52 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number54 index53 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number55 index54 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;wsdl-&amp;gt;addComplexType(&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number56 index55 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘ContactArray’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number57 index56 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘complexType’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number58 index57 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘&lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number59 index58 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;”,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number60 index59 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘SOAP-ENC:Array’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number61 index60 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(),&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number62 index61 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number63 index62 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘ref’=&amp;gt;’SOAP-ENC:arrayType’,'wsdl:arrayType’=&amp;gt;’tns:Contact[]‘)&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number64 index63 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;),&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number65 index64 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘tns:Contact’&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number66 index65 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number67 index66 alt2"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number68 index67 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;register(‘getAutocompleteContacts’,&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number69 index68 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘email’ =&amp;gt; ‘xsd:string’, ‘num’ =&amp;gt; ‘xsd:int’, ‘token’ =&amp;gt; ‘xsd:string’), &lt;/code&gt;&lt;code class="php comments"&gt;// input parameters&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number70 index69 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘&lt;/code&gt;&lt;code class="php keyword"&gt;return&lt;/code&gt;&lt;code class="php plain"&gt;’ =&amp;gt; ‘tns:ContactArray’),&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number71 index70 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘urn:’.&lt;/code&gt;&lt;code class="php variable"&gt;$_SERVER&lt;/code&gt;&lt;code class="php plain"&gt;[&lt;/code&gt;&lt;code class="php string"&gt;'SCRIPT_URI'&lt;/code&gt;&lt;code class="php plain"&gt;], &lt;/code&gt;&lt;code class="php comments"&gt;// namespace&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number72 index71 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘urn:’.&lt;/code&gt;&lt;code class="php variable"&gt;$_SERVER&lt;/code&gt;&lt;code class="php plain"&gt;[&lt;/code&gt;&lt;code class="php string"&gt;'SCRIPT_URI'&lt;/code&gt;&lt;code class="php plain"&gt;].”#getAutocompleteContacts”, &lt;/code&gt;&lt;code class="php comments"&gt;// soapaction&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number73 index72 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘rpc’, &lt;/code&gt;&lt;code class="php comments"&gt;// style&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number74 index73 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘encoded’, &lt;/code&gt;&lt;code class="php comments"&gt;// use&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number75 index74 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;‘Fetch &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt; &lt;code class="php plain"&gt;of address book contacts &lt;/code&gt;&lt;code class="php keyword"&gt;for&lt;/code&gt; &lt;code class="php keyword"&gt;use&lt;/code&gt; &lt;code class="php plain"&gt;in autocomplete’); &lt;/code&gt;&lt;code class="php comments"&gt;// documentation&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number76 index75 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number77 index76 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;#&lt;/code&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;wsdl-&amp;gt;schemaTargetNamespace = &lt;/code&gt;&lt;code class="php variable"&gt;$_SERVER&lt;/code&gt;&lt;code class="php plain"&gt;[&lt;/code&gt;&lt;code class="php string"&gt;'SCRIPT_URI'&lt;/code&gt;&lt;code class="php plain"&gt;];&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number78 index77 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$server&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;service(&lt;/code&gt;&lt;code class="php variable"&gt;$HTTP_RAW_POST_DATA&lt;/code&gt;&lt;code class="php plain"&gt;);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number79 index78 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php functions"&gt;exit&lt;/code&gt;&lt;code class="php plain"&gt;();&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number80 index79 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Client Code:&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="container"&gt;&lt;div class="line number1 index0 alt2"&gt;&lt;code class="php plain"&gt;&lt;!--?php&lt;/code--&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;require_once&lt;/code&gt;&lt;code class="php plain"&gt;(‘config.php’);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number3 index2 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;require_once&lt;/code&gt;&lt;code class="php plain"&gt;(‘nusoap.php’);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number4 index3 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number5 index4 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$client&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php keyword"&gt;new&lt;/code&gt; &lt;code class="php plain"&gt;soapclient(SOAP_SERVER_WSDL_URL, true);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number6 index5 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number7 index6 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;// Check for an error&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number8 index7 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$err&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php variable"&gt;$client&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;getError();&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number9 index8 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php keyword"&gt;if&lt;/code&gt; &lt;code class="php plain"&gt;(&lt;/code&gt;&lt;code class="php variable"&gt;$err&lt;/code&gt;&lt;code class="php plain"&gt;) {&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number10 index9 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;// Display the error&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number11 index10 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php functions"&gt;echo&lt;/code&gt; &lt;code class="php plain"&gt;‘&lt;h2&gt;Constructor error&lt;/h2&gt;&lt;/code&gt;&lt;pre&gt;&lt;code class="php plain"&gt;’ . &lt;/code&gt;&lt;code class="php variable"&gt;$err&lt;/code&gt; &lt;code class="php plain"&gt;. ‘&lt;/code&gt;&lt;/pre&gt;&lt;code class="php plain"&gt;’;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number12 index11 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php comments"&gt;// At this point, you know the call that follows will fail&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number13 index12 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;}&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number14 index13 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number15 index14 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php variable"&gt;$result&lt;/code&gt; &lt;code class="php plain"&gt;= &lt;/code&gt;&lt;code class="php variable"&gt;$client&lt;/code&gt;&lt;code class="php plain"&gt;-&amp;gt;call(‘getAutocompleteContacts’, &lt;/code&gt;&lt;code class="php keyword"&gt;array&lt;/code&gt;&lt;code class="php plain"&gt;(‘email’=&amp;gt;’something@asdf97s9d8f7sdf.com’, ‘num’=&amp;gt;5, ‘token’=&amp;gt;SOAP_TOKEN) );&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number16 index15 alt1"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;div class="line number17 index16 alt2"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;print_r(&lt;/code&gt;&lt;code class="php variable"&gt;$result&lt;/code&gt;&lt;code class="php plain"&gt;);&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number18 index17 alt1"&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Result is as follows:&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="container"&gt;&lt;div class="line number1 index0 alt2"&gt;&lt;code class="plain plain"&gt;Array&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="plain plain"&gt;(&lt;/code&gt;&lt;/div&gt;&lt;div class="line number3 index2 alt2"&gt;&lt;code class="plain plain"&gt;[0] =&amp;gt; Array&lt;/code&gt;&lt;/div&gt;&lt;div class="line number4 index3 alt1"&gt;&lt;code class="plain plain"&gt;(&lt;/code&gt;&lt;/div&gt;&lt;div class="line number5 index4 alt2"&gt;&lt;code class="plain plain"&gt;[contact] =&amp;gt; Chaos Captain&lt;/code&gt;&lt;/div&gt;&lt;div class="line number6 index5 alt1"&gt;&lt;code class="plain plain"&gt;[email] =&amp;gt; choas@sdfusidfousdf.com&lt;/code&gt;&lt;/div&gt;&lt;div class="line number7 index6 alt2"&gt;&lt;code class="plain plain"&gt;)&lt;/code&gt;&lt;/div&gt;&lt;div class="line number8 index7 alt1"&gt; &lt;/div&gt;&lt;div class="line number9 index8 alt2"&gt;&lt;code class="plain plain"&gt;[1] =&amp;gt; Array&lt;/code&gt;&lt;/div&gt;&lt;div class="line number10 index9 alt1"&gt;&lt;code class="plain plain"&gt;(&lt;/code&gt;&lt;/div&gt;&lt;div class="line number11 index10 alt2"&gt;&lt;code class="plain plain"&gt;[contact] =&amp;gt; Joe Joe&lt;/code&gt;&lt;/div&gt;&lt;div class="line number12 index11 alt1"&gt;&lt;code class="plain plain"&gt;[email] =&amp;gt; choas@sdf768sdf798s7df987.com&lt;/code&gt;&lt;/div&gt;&lt;div class="line number13 index12 alt2"&gt;&lt;code class="plain plain"&gt;)&lt;/code&gt;&lt;/div&gt;&lt;div class="line number14 index13 alt1"&gt; &lt;/div&gt;&lt;div class="line number15 index14 alt2"&gt;&lt;code class="plain plain"&gt;)&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;code class="php plain"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;code class="php plain"&gt;&lt;code class="php plain"&gt; &lt;/code&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6221922095166773704?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6221922095166773704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6221922095166773704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6221922095166773704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6221922095166773704'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/10/nusoap-wsdl-complex-data.html' title='NuSOAP WSDL Complex Data'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-371616205151021746</id><published>2011-09-06T07:39:00.000-07:00</published><updated>2011-09-06T08:11:06.679-07:00</updated><title type='text'>Setup SNMP on an Asterisk server</title><content type='html'>Posted on March 1, 2011 by Zeeshan A Zakaria&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today I happened to troubleshoot a server in a remote part of the world, which I had shipped with SNMP and MRTG installed. It was a very wise decision to do this at that time, as it made an important troubleshooting very simple, which otherwise could have wasted days and still yielded no results.&lt;br /&gt;&lt;br /&gt;While going over my notes in this regard, I thought to put this information here as well if it could help someone else who is looking to do a similar setup. But you should know that setting up SNMP can be tricky and the following might not work for you.&lt;br /&gt;&lt;br /&gt;SNMP – Simple Network Monitoring Protocol, as it name suggests, is a protocol used to monitor various properties of network equipment. These properties are identified by something called OIDs (Object Identifiers) which are long numeric strings and identify various things, like hardware version, time on the device, data flow rate, and tons of other stuff. OIDs and grouped in what is called a MIB (Management Information Base). Asterisk has a list of its own OIDs which provide various pieces of information over the SNMP when requested by a software or hardware which is interested in that information. More on SNMP you can read on the Internet.&lt;br /&gt;&lt;br /&gt;The following assumes that you do have SNMP module installed with your asterisk installation. You select this when running the #make menuselect just before the installation of asterisk. See my blog on asterisk installation for more details.&lt;br /&gt;SNMP Setup&lt;br /&gt;&lt;br /&gt;Following are the steps which I used on this CentOS 5.3/Asterisk 1.4 machine to setup SNMP:&lt;br /&gt;1    yum install net-snmp-util&lt;br /&gt;&lt;br /&gt;Created /etc/snmp/snmpd.conf with the following:&lt;br /&gt;&lt;br /&gt;; Add this at the bottom&lt;br /&gt;master agentx&lt;br /&gt;agentXSocket /var/agentx/master&lt;br /&gt;agentXPerms 0660 0550 nobody asterisk&lt;br /&gt;&lt;br /&gt;; main configuration of the snmp&lt;br /&gt;com2sec local   localhost       public&lt;br /&gt;com2sec mynetwork       192.168.1.0/24  public&lt;br /&gt;&lt;br /&gt;group   notConfigGroup v1           notConfigUser&lt;br /&gt;group   notConfigGroup v2c           notConfigUser&lt;br /&gt;group   MyROGroup       v1      local&lt;br /&gt;group   MyROGroup       v2c     local&lt;br /&gt;group   MyROGroup       v1      mynetwork&lt;br /&gt;group   MyROGroup       v2c     mynetwork&lt;br /&gt;&lt;br /&gt;view    all     included        .1      80&lt;br /&gt;&lt;br /&gt;access  MyROGroup       ""      any     noauth  exact   all     all     none&lt;br /&gt;&lt;br /&gt;Going into the detail of what all these lines mean is not the goal here, but the words in bold red are the ones which will be specific to your own network. The word ‘public’ is like a password, and almost all SNMP devices come preconfigured with this password. The user is ‘asterisk’, in your setup it might be ‘root’ or some other user.&lt;br /&gt;Asterisk SNMP Config&lt;br /&gt;&lt;br /&gt;Now add the following in /etc/asterisk/res_snmp.conf. If the file doesn’t exist, create one:&lt;br /&gt;1    [general]&lt;br /&gt;2    subagent = yes&lt;br /&gt;3    enabled = yes&lt;br /&gt;&lt;br /&gt;And now copy the Asterisk related MIB to the SNMP folder:&lt;br /&gt;1    cp /usr/share/doc/asterisk-1.4.22/digium-mib.txt /usr/share/snmp/mibs&lt;br /&gt;2    cp /usr/share/doc/asterisk-1.4.22/asterisk-mib.txt /usr/share/snmp/mibs&lt;br /&gt;&lt;br /&gt;It is possible that these files don’t exist on your system, in which case you’ll have to get them from the Internet.&lt;br /&gt;&lt;br /&gt;Next do the following:&lt;br /&gt;1    export MIBS=+ASTERISK-MIB&lt;br /&gt;2    chmod 755 /var/agentx&lt;br /&gt;Done&lt;br /&gt;&lt;br /&gt;This is all. Now restart asterisk, add snmpd and snmptrapd in chkconfig and start these services as daemons:&lt;br /&gt;1    chkconfig snmpd on&lt;br /&gt;2    chkconfig snmptrapd on&lt;br /&gt;3    service snmpd start&lt;br /&gt;4    service snmptrapd start&lt;br /&gt;Testing it&lt;br /&gt;&lt;br /&gt;In order to test if SNMP is properly installed, do the following:&lt;br /&gt;1    snmpwalk -On -c public -v 2c localhost asterisk&lt;br /&gt;&lt;br /&gt;and it’ll give you a list of the asterisk related MIBS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-371616205151021746?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/371616205151021746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=371616205151021746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/371616205151021746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/371616205151021746'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/09/setup-snmp-on-asterisk-server.html' title='Setup SNMP on an Asterisk server'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-1768983030304274263</id><published>2011-08-12T06:48:00.000-07:00</published><updated>2011-08-12T06:50:47.142-07:00</updated><title type='text'>Using Wireshark to Troubleshoot VoIP</title><content type='html'>&lt;header&gt;                                                                   &lt;h1&gt;&lt;span class="Apple-style-span" style="font-weight: normal; font-size: small; "&gt;&lt;a href="http://www.wireshark.org/" target="_blank"&gt;Wireshark&lt;/a&gt; (also known as ethereal or tethereal) is a "&lt;span style="line-height: 17px;"&gt;network  protocol analyzer. It lets you capture and interactively browse the  traffic running on a computer network." If you want a definitive answer  on what is causing problems with your VoIP calls, you need to learn how  to use Wireshark. Thankfully, it's pretty simple for anyone with basic  knowledge of networking.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/header&gt;&lt;div class="body"&gt;&lt;div class="inner"&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;There are two  parts to successfully running a network trace: capturing the traffic and  viewing the results. I'll go through capturing traffic on different  operating systems and viewing the results on a Windows PC using  Wireshark.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Capturing traffic on a Linux-based PBX&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;Assuming you're running CentOS, which is the default for most PBX software, you will need to install the Wireshark package:&lt;/span&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;&lt;em&gt; yum install wireshark&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;Run the following  commands on your PBX to capture all traffic, SIP (signalling) and RTP  (audio), between the PBX and your provider's server into file  /root/my.cap. While the capture is running, restart your PBX software so  it will attempt to register with your provider. Then attempt an  outgoing phone call and an incoming phone call. Type Ctrl-C after  running these tests to stop the capture.&lt;/span&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;&lt;em&gt;tshark host server.provider.com -w /root/my.cap&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;Run the following command to compress your capture file my.cap into a compressed my.cap.gz file:&lt;/span&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;&lt;em&gt;gzip /root/my.cap&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;From your Windows  PC, run the following to copy that capture file from your PBX's IP  address to your Windows PC's C: drive. You will need to have the pscp  program, which is available &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank"&gt;here&lt;/a&gt;. You will be prompted for the PBX's root password. Replace 192.168.1.2 with the IP address of your PBX.&lt;/span&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="line-height: 17px; font-size: small;"&gt;&lt;em&gt;pscp &lt;a href="mailto:root@192.168.1.2"&gt;root@192.168.1.2&lt;/a&gt;:/root/my.cap.gz c:\&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;div style="font-size: 12px; line-height: 17px;"&gt;&lt;span style="font-size: small;"&gt;Your  capture file is now ready to be viewed from your Windows PC. Run  Wireshark and open the capture file (Wireshark can open compressed  capture files).&lt;/span&gt;&lt;/div&gt; &lt;p&gt; &lt;/p&gt;&lt;div style="font-size: 12px; line-height: 17px;"&gt;&lt;span style="font-size: small;"&gt;&lt;strong&gt;Capturing traffic on a Windows PC&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;&lt;span style="font-size: small;"&gt;If you have a Windows PC on the same  network as your Voice over IP adapter, you can use it to capture all  traffic between the adapter and your provider. Since a &lt;a href="http://en.wikipedia.org/wiki/Network_switch" target="_blank"&gt;network switch&lt;/a&gt; isolates the traffic on each port, you cannot capture another device's traffic from your PC (unless it supports &lt;a href="http://en.wikipedia.org/wiki/Port_mirroring" target="_blank"&gt;port mirroring&lt;/a&gt;). Instead, the easiest way to capture traffic on your local network is to get a cheap &lt;a href="http://en.wikipedia.org/wiki/Ethernet_hub" target="_blank"&gt;Ethernet hub&lt;/a&gt;.  A hub repeats all traffic coming into one port on all of the other  ports. This means any device plugged into a hub can view the traffic  to/from every other device on the same hub.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: small;"&gt;Plug your hub into your router and your PC and adapter into the hub, as shown below:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FlnlwfooDztpellpkjhqvcdagIvEDztagfHrwCsHmcuzsmsJwJICaeljCComf%2FNetwork_Diagram_2.png.scaled1000.png%22%2C%22originalWidth%22%3A%22680%22%2C%22largeWidth%22%3A%22680%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FlnlwfooDztpellpkjhqvcdagIvEDztagfHrwCsHmcuzsmsJwJICaeljCComf%2FNetwork_Diagram_2.png.thumb.png%22%2C%22originalHeight%22%3A%22550%22%2C%22largeHeight%22%3A%22550%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22481%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FlnlwfooDztpellpkjhqvcdagIvEDztagfHrwCsHmcuzsmsJwJICaeljCComf%2FNetwork_Diagram_2.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%22108%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FlnlwfooDztpellpkjhqvcdagIvEDztagfHrwCsHmcuzsmsJwJICaeljCComf%2FNetwork_Diagram_2.png%22%2C%22width%22%3A%22595%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt;&lt;a class="posterousGalleryMainlink" href="http://integrationfanatics.posterous.com/using-wireshark-to-troubleshoot-voip#"&gt;&lt;img id="mainImage" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/lnlwfooDztpellpkjhqvcdagIvEDztagfHrwCsHmcuzsmsJwJICaeljCComf/Network_Diagram_2.png.scaled595.png" height="481" width="595" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #ff6600;"&gt;&lt;strong&gt;Tip: &lt;/strong&gt;&lt;/span&gt;&lt;em&gt;A  more advanced method of capturing traffic would be to plug the hub into  your cable modem, so it sits between the modem and router. However,  anything else you plug into the hub (like the PC running Wireshark) will  be unprotected and open to all traffic from the Internet. &lt;/em&gt;&lt;/p&gt; &lt;p&gt;Start Wireshark and click on Capture Options. This will allow us to  select the proper network card to capture traffic from, the host to  capture traffic to/from (your provider's gateway) and a place to save  the capture file. You must run the capture in "promiscuous" mode, which  means Wireshark will "look" at any traffic it sees on the network, not  just traffic to/from the host it's running on (your PC).&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FrpushtDfslnlqJFBCtgsAwJrmstaCChhwdywneyEbzldpDGfkcgrEApDcHDI%2FScreenshot_1.png.scaled1000.png%22%2C%22originalWidth%22%3A%22580%22%2C%22largeWidth%22%3A%22580%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FrpushtDfslnlqJFBCtgsAwJrmstaCChhwdywneyEbzldpDGfkcgrEApDcHDI%2FScreenshot_1.png.thumb.png%22%2C%22originalHeight%22%3A%22546%22%2C%22largeHeight%22%3A%22546%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22546%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FrpushtDfslnlqJFBCtgsAwJrmstaCChhwdywneyEbzldpDGfkcgrEApDcHDI%2FScreenshot_1.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%2262%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FrpushtDfslnlqJFBCtgsAwJrmstaCChhwdywneyEbzldpDGfkcgrEApDcHDI%2FScreenshot_1.png%22%2C%22width%22%3A%22580%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt; &lt;img alt="Screenshot_1" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/rpushtDfslnlqJFBCtgsAwJrmstaCChhwdywneyEbzldpDGfkcgrEApDcHDI/Screenshot_1.png.scaled595.png" height="546" width="580" /&gt;  &lt;/div&gt; While the capture is running, reboot your adapter so it will attempt to  re-register with your provider. Also, attempt to make an incoming and  outgoing call. After running these tests, click on the "Stop the running  live capture" button. Your capture will already be loaded for viewing.&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Reading and understanding a VoIP traffic capture&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Now that you've captured the traffic between your adapter (or PBX)  and your provider, you have enough information to figure out what is  causing the problem. For most people, the easiest thing to do now is  send the capture file to your provider. An experienced technical support  agent will be able to immediately tell you what is causing the problem  and how to fix it. As I mentioned in an earlier post (&lt;a href="http://integrationfanatics.posterous.com/voice-over-ip-dropped-registrations-missed-ca" target="_blank"&gt;VoIP, no dial tone, missed calls &amp;amp; port forwarding&lt;/a&gt;), there's a 90% chance the the problem is your router.&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #ff6600;"&gt;&lt;strong&gt;Tip: &lt;/strong&gt;&lt;/span&gt;&lt;em&gt;Unless  you have significant networking experience, stop here and send the  capture to your provider. It will be tremendously helpful to them in  troubleshooting the issue and you can save yourself a few hours of time.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;If you'd like to dig into the details and see exactly what is  happening, then continue on. When you open your capture file, you'll see  a split-screen with each Ethernet frame on the top, a user-readable  drill-down of the contents in the middle, and the raw data on the  bottom.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;A working SIP REGISTER conversation&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Scroll down in the top panel until you reach the first REGISTER  attempt from your adapter to your provider. Select the frame and in the  middle window, right-click on the "Session Initiation Protocol" section  and pick "Expand Subtrees". Find the line starting with "Call-ID",  right-click on it, and select Apply as Filter &amp;gt; Selected. The Filter  box above the first window pane will now show something like  "sip.Call-ID == "&lt;a href="mailto:5b1c8fdb-90c4f2a3@10.0.1.100"&gt;5b1c8fdb-90c4f2a3@10.0.1.100&lt;/a&gt;"",  meaning only the frames that contain that Call-ID will be shown. This  makes it easier to filter out one conversation from a capture that may  have a lot of extraneous traffic. This is what a proper REGISTER attempt  will look like:&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FjwuuwpDxCklClsEEglrAomIahpvbHaCgfDoaswAedAgnxqecBsfhsFaBilEa%2F2.png%22%2C%22originalWidth%22%3A%22386%22%2C%22largeWidth%22%3A%22386%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FjwuuwpDxCklClsEEglrAomIahpvbHaCgfDoaswAedAgnxqecBsfhsFaBilEa%2F2.png.thumb.png%22%2C%22originalHeight%22%3A%2282%22%2C%22largeHeight%22%3A%2282%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%2282%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FjwuuwpDxCklClsEEglrAomIahpvbHaCgfDoaswAedAgnxqecBsfhsFaBilEa%2F2.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%223%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FjwuuwpDxCklClsEEglrAomIahpvbHaCgfDoaswAedAgnxqecBsfhsFaBilEa%2F2.png%22%2C%22width%22%3A%22386%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt; &lt;img alt="2" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/jwuuwpDxCklClsEEglrAomIahpvbHaCgfDoaswAedAgnxqecBsfhsFaBilEa/2.png.scaled595.png" height="82" width="386" /&gt;  &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Your adapter will attempt to register, but it doesn't send any  Authorization data the first time. The provider will respond with a 401  Unauthorized and will include information such as the realm, nonce,  algorithm values. The adapter will then use these values, along with  your SIP password, to &lt;a href="http://en.wikipedia.org/wiki/Digest_access_authentication#SIP_digest_authentication" target="_blank"&gt;form an encrypted response&lt;/a&gt;  which it will use when re-registering. Since the second register  attempt has Authorization information, the provider will accept the  registration and reply with a 200 OK.&lt;/p&gt; &lt;p&gt;You can dig into each SIP request and response to see exactly how the  registration conversation works. Now that you know what a working  REGISTER conversation looks like, you can identify one that is broken.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;A broken SIP REGISTER conversation&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The most common cause for an adapter not being able to register is a  router/firewall issue. If the provider's 401 Unauthorized response never  makes it back to the device, it can never properly send Authorization  information to the provider to register.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FoHiFalqJJBhkdAuzlDDGjyesBFvcdnFgIqFbBlgkeqzIzikcmsfwlqGyHuBc%2F3.png%22%2C%22originalWidth%22%3A%22350%22%2C%22largeWidth%22%3A%22350%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FoHiFalqJJBhkdAuzlDDGjyesBFvcdnFgIqFbBlgkeqzIzikcmsfwlqGyHuBc%2F3.png.thumb.png%22%2C%22originalHeight%22%3A%22133%22%2C%22largeHeight%22%3A%22133%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22133%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FoHiFalqJJBhkdAuzlDDGjyesBFvcdnFgIqFbBlgkeqzIzikcmsfwlqGyHuBc%2F3.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%222%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FoHiFalqJJBhkdAuzlDDGjyesBFvcdnFgIqFbBlgkeqzIzikcmsfwlqGyHuBc%2F3.png%22%2C%22width%22%3A%22350%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt; &lt;img alt="3" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/oHiFalqJJBhkdAuzlDDGjyesBFvcdnFgIqFbBlgkeqzIzikcmsfwlqGyHuBc/3.png.scaled595.png" height="133" width="350" /&gt;  &lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;As you can see in the registration attempt above, the adapter never  gets the 401 Unauthorized, so it keeps trying without success. If your  provider was looking at a trace from their end, they'd see a 401  Unauthorized being sent, but no REGISTER with an Authorization section,  clearly indicating that the 401 was being blocked by the  router/firewall.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Working outgoing &amp;amp; incoming calls&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Most providers configure their adapters to only play a dial-tone when  the adapter is registered. Therefore, once you are registered, you will  probably have no issues making an outbound call. Also, an outbound call  is a connection initiated from your private network, so there are  usually no firewall issues to deal with either.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FHaACHmgnjGbakehcIfnnuaIwymdHiliAJclxnEAHxynkowiEpuJEzFaBxxgr%2F4.png.scaled1000.png%22%2C%22originalWidth%22%3A%22688%22%2C%22largeWidth%22%3A%22688%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FHaACHmgnjGbakehcIfnnuaIwymdHiliAJclxnEAHxynkowiEpuJEzFaBxxgr%2F4.png.thumb.png%22%2C%22originalHeight%22%3A%22197%22%2C%22largeHeight%22%3A%22197%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22170%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FHaACHmgnjGbakehcIfnnuaIwymdHiliAJclxnEAHxynkowiEpuJEzFaBxxgr%2F4.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%228%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FHaACHmgnjGbakehcIfnnuaIwymdHiliAJclxnEAHxynkowiEpuJEzFaBxxgr%2F4.png%22%2C%22width%22%3A%22595%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt;&lt;a class="posterousGalleryMainlink" href="http://integrationfanatics.posterous.com/using-wireshark-to-troubleshoot-voip#"&gt;&lt;img id="mainImage" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/HaACHmgnjGbakehcIfnnuaIwymdHiliAJclxnEAHxynkowiEpuJEzFaBxxgr/4.png.scaled595.png" height="170" width="595" /&gt;&lt;/a&gt;&lt;/div&gt; An outgoing call is initiated by an INVITE request sent from your  adapter to the provider. The provider will reply with a 100 Trying and a  407 Proxy Authentication Required. This is similar to the 401  Unauthorized during the REGISTER request, except with a  Proxy-Authenticate section instead of an Authorization section. Your  adapter will re-send the INVITE with your credentials. The provider will  respond with a 100 Trying, 183 Session Progress (which will cause you  to hear ringing), and 200 OK when the call is answered. Your adapter  will acknowledge the answer and the conversation will begin. Finally,  when one of the sides hangs up, a few BYE messages will be sent and  acknowledged.&lt;p&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;span style="color: #ff6600;"&gt;&lt;strong&gt;Tip: &lt;/strong&gt;&lt;/span&gt;&lt;em&gt;You  may not see this exact sequence of events, depending on how your  provider handles the call and if it's actually answered. A busy or  invalid number will return different responses than a 200 OK.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;A working incoming call looks similar to an outgoing call, with INVITEs, 100s, 183s, and 200s.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Broken outgoing &amp;amp; incoming call&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;It's rare to have an issue with outgoing calls if you have a  dial-tone. However, a capture will show what's going wrong if you do.&lt;/p&gt; &lt;p&gt;If you're not receiving incoming calls at all, chances are you won't  see anything on the capture, which is still useful information! A common  problem is that you will receive incoming calls for a few minutes after  your adapter is first powered on (and registers), but then your  incoming calls don't ring through. If you can capture this entire  sequence (register, successful incoming call, failed incoming call 15  minutes later), it will clearly demonstrate that there is a  router/firewall issue.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Analyzing calls with Wireshark&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Wireshark has telephony-specific features that may come in handy for  troubleshooting VoIP calls. After opening your capture file, go to  Telephony &amp;gt; VoIP Calls. Wireshark will automatically detect all of  the calls in your capture.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FposuAszBmtqfnfqwcdggxmGdADsCtvfaDsnoGxplBgBJclfjFpipJtACyjxk%2F5.png.scaled1000.png%22%2C%22originalWidth%22%3A%22885%22%2C%22largeWidth%22%3A%22885%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FposuAszBmtqfnfqwcdggxmGdADsCtvfaDsnoGxplBgBJclfjFpipJtACyjxk%2F5.png.thumb.png%22%2C%22originalHeight%22%3A%22242%22%2C%22largeHeight%22%3A%22242%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22163%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FposuAszBmtqfnfqwcdggxmGdADsCtvfaDsnoGxplBgBJclfjFpipJtACyjxk%2F5.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%2277%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FposuAszBmtqfnfqwcdggxmGdADsCtvfaDsnoGxplBgBJclfjFpipJtACyjxk%2F5.png%22%2C%22width%22%3A%22595%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt;&lt;a class="posterousGalleryMainlink" href="http://integrationfanatics.posterous.com/using-wireshark-to-troubleshoot-voip#"&gt;&lt;img id="mainImage" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/posuAszBmtqfnfqwcdggxmGdADsCtvfaDsnoGxplBgBJclfjFpipJtACyjxk/5.png.scaled595.png" height="163" width="595" /&gt;&lt;/a&gt;&lt;/div&gt; You can then click "Prepare Filter" to easily view just the frames  associated with a particular call, click "Flow" to see the conversation  between your adapter and provider, or click "Player" to listen to one or  both sides of the conversation in the capture.&lt;p&gt;&lt;/p&gt; &lt;p&gt;Also, you can go to Telephony &amp;gt; RTP &amp;gt; Show All Streams. Select  an RTP stream (the audio from one side of a phone call), click Find  Reverse, click on Analyze. You can now see and graph statistics like how  many RTP packets were lost or the max and mean jitter.&lt;/p&gt; &lt;p&gt;Finally, if you want to cut/paste a UDP SIP conversation into a  support ticket with your provider, you can right-click on one of the  frames in the conversation and select Follow UDP Stream. Change the  radio button to ASCII before copying or saving the data.&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;div class="posterousGalleryMainDiv p_embed p_image_embed" list="%5B%7B%22large%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FExzquCwrEkAItrisFjkCexEbkwwFoIClhapkutlHtlxAFexcJfIwqCHmDbdA%2F6.png.scaled1000.png%22%2C%22originalWidth%22%3A%221116%22%2C%22largeWidth%22%3A%221000%22%2C%22thumb%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FExzquCwrEkAItrisFjkCexEbkwwFoIClhapkutlHtlxAFexcJfIwqCHmDbdA%2F6.png.thumb.png%22%2C%22originalHeight%22%3A%22916%22%2C%22largeHeight%22%3A%22821%22%2C%22thumbWidth%22%3A%2236%22%2C%22height%22%3A%22488%22%2C%22main%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FExzquCwrEkAItrisFjkCexEbkwwFoIClhapkutlHtlxAFexcJfIwqCHmDbdA%2F6.png.scaled595.png%22%2C%22thumbHeight%22%3A%2236%22%2C%22originalSize%22%3A%2243%22%2C%22original%22%3A%22http%3A%2F%2Fposterous.com%2Fgetfile%2Ffiles.posterous.com%2Ftemp-2011-01-19%2FExzquCwrEkAItrisFjkCexEbkwwFoIClhapkutlHtlxAFexcJfIwqCHmDbdA%2F6.png%22%2C%22width%22%3A%22595%22%7D%5D" initialized="true" gallery="true" options="%7B%22zipFile%22%3Anull%2C%22zipFileSize%22%3Anull%2C%22external_url%22%3Anull%2C%22showDownload%22%3Atrue%2C%22url_slug%22%3A%22using-wireshark-to-troubleshoot-voip%22%7D"&gt;&lt;a class="posterousGalleryMainlink" href="http://integrationfanatics.posterous.com/using-wireshark-to-troubleshoot-voip#"&gt;&lt;img id="mainImage" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-19/ExzquCwrEkAItrisFjkCexEbkwwFoIClhapkutlHtlxAFexcJfIwqCHmDbdA/6.png.scaled595.png" height="488" width="595" /&gt;&lt;/a&gt;&lt;/div&gt; &lt;strong&gt;Conclusion&lt;/strong&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;Now that you know how to capture and analyze your Voice over IP  traffic using Wireshark, you have the ability to do some troubleshooting  on your own that goes beyond rebooting the adapter. However, as I've  mentioned before, sometimes it's far easier and faster to let your  provider take over after you've provided them with a helpful capture  showing the problem.&lt;/p&gt; &lt;p&gt;Please don't take this as an opportunity to hassle your provider over  issues that don't cause any noticeable problems in your phone calls.  There will be jitter; there will be dropped RTP packets. That is the  nature of voice over IP and there are numerous methods of ensuring voice  quality despite these network-level problems. Your provider is focused  on providing you with clear phone calls, not on optimizing the  statistics generated by Wireshark.&lt;/p&gt; &lt;p&gt;If you're interested in the inner-workings of voice over IP and SIP,  there's no better way to dig in than running a Wireshark capture and  figuring out exactly what is going on.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-1768983030304274263?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/1768983030304274263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=1768983030304274263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/1768983030304274263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/1768983030304274263'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/08/using-wireshark-to-troubleshoot-voip.html' title='Using Wireshark to Troubleshoot VoIP'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8682698135187997304</id><published>2011-07-20T08:51:00.001-07:00</published><updated>2011-07-20T09:14:00.014-07:00</updated><title type='text'>Install 64 Bit Package via Yum</title><content type='html'>I had a task to install Ralus (Backup_exec agent) on linux. I had an issue where there is incompatibility issue on the c compiler. I had to install a compiler that works with the Ralus. I did yum install on a certain package as follows:&lt;br /&gt;&lt;br /&gt;yum install libstdc++.so.5&lt;br /&gt;&lt;br /&gt;The above command did install the compat-libstdc++-33-3.2.3-61 but still the Ralus didn't work. Until I realized that I am running 64 bit machine so I had to do force install of 64 bit of the compat-libstdc package.&lt;br /&gt;&lt;br /&gt;yum install compat-libstdc++-33-3.2.3-61.x86_64&lt;br /&gt;&lt;br /&gt;So the lesson here if ever there is a necessity or something happened where it didn't download and install the package in 64 bit, do as follows:&lt;br /&gt;&lt;br /&gt;yum install packagename.x86_64&lt;br /&gt;&lt;br /&gt;And you should be good.&lt;br /&gt;&lt;br /&gt;Hope you find this helpful. Thanks, Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8682698135187997304?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8682698135187997304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8682698135187997304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8682698135187997304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8682698135187997304'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/07/install-64-bit-package-via-yum.html' title='Install 64 Bit Package via Yum'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-1359248613136971260</id><published>2011-06-06T10:57:00.000-07:00</published><updated>2011-06-06T10:58:22.275-07:00</updated><title type='text'>Someday</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;div style="text-align: center; "&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;I don’t know how much longer&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;That I have to put up with everything&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;I’ve been hiding all the truth inside my heart&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;Everytime we meet&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;Everytime you turn face to me&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;Though I look indifferent&lt;/div&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 21px; "&gt;&lt;div style="text-align: center; "&gt;Do you know how much i have to force myself?&lt;/div&gt;&lt;/span&gt;&lt;div style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 17px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; "&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 17px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; "&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear my heart calling for you, loving you?&lt;/div&gt;&lt;div style="text-align: center; "&gt;But I can’t open my heart for anyone to know&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear it?&lt;/div&gt;&lt;div style="text-align: center; "&gt;My heart keeps waiting there for you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Waiting for you open it&lt;/div&gt;&lt;div style="text-align: center; "&gt;and hope you will realize..&lt;/div&gt;&lt;div style="text-align: center; "&gt;Someday&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 17px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; "&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;Though I love you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Though I feel&lt;/div&gt;&lt;div style="text-align: center; "&gt;but deep down inside, I don’t dare to tell you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Everytime we meet&lt;/div&gt;&lt;div style="text-align: center; "&gt;Everytime you turn face to me&lt;/div&gt;&lt;div style="text-align: center; "&gt;Though I look indifferent&lt;/div&gt;&lt;div style="text-align: center; "&gt;Do you know how much i have to force myself?&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 17px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; "&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear my heart calling for you, loving you?&lt;/div&gt;&lt;div style="text-align: center; "&gt;But I can’t open my heart for anyone to know&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear it?&lt;/div&gt;&lt;div style="text-align: center; "&gt;My heart keeps waiting there for you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Waiting for you open it&lt;/div&gt;&lt;div style="text-align: center; "&gt;and hope you will realize..&lt;/div&gt;&lt;div style="text-align: center; "&gt;Someday&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: Arial, Verdana, Tahoma, Georgia, serif; font-size: 12px; line-height: 17px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify; "&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear my heart calling for you, loving you?&lt;/div&gt;&lt;div style="text-align: center; "&gt;But I can’t open my heart for anyone to know&lt;/div&gt;&lt;div style="text-align: center; "&gt;Can you hear it?&lt;/div&gt;&lt;div style="text-align: center; "&gt;My heart keeps waiting there for you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Waiting for you open it&lt;/div&gt;&lt;div style="text-align: center; "&gt;And I hope you will realize&lt;/div&gt;&lt;div style="text-align: center; "&gt;That this person loves you&lt;/div&gt;&lt;div style="text-align: center; "&gt;Please I hope you will know&lt;/div&gt;&lt;div style="text-align: center; "&gt;Someday&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-1359248613136971260?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/1359248613136971260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=1359248613136971260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/1359248613136971260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/1359248613136971260'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/06/someday.html' title='Someday'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6149584526524447105</id><published>2011-05-06T12:42:00.000-07:00</published><updated>2011-05-06T12:43:35.039-07:00</updated><title type='text'>Compiling the Linux Kernel – CentOS</title><content type='html'>&lt;p&gt;Steps:&lt;/p&gt; &lt;p&gt;#yum -y  install kernel-devel kernel-headers&lt;/p&gt; &lt;p&gt;#yum -y groupinstall “Development-Tools”&lt;/p&gt; &lt;p&gt;#cd /usr/src&lt;/p&gt; &lt;p&gt;#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.2.tar.bz2&lt;/p&gt; &lt;p&gt;#tar -jxvf linux-2.6.30.2.tar.bz2&lt;/p&gt; &lt;p&gt;#cd /usr/src/linux-2.6.30.2/&lt;/p&gt; &lt;p&gt;#make menuconfig&lt;/p&gt; &lt;p&gt;#make clean&lt;/p&gt; &lt;p&gt;*#make dep (is no more necessary)&lt;/p&gt; &lt;p&gt;#make bzImage&lt;/p&gt; &lt;p&gt;#make modules&lt;/p&gt; &lt;p&gt;#make modules_install&lt;/p&gt; &lt;p&gt;#make install&lt;/p&gt; &lt;p&gt;*make install will copy the files: System.map, vmlinuz and the  initial ram disk initrd-2.6.30.2.img to /boot. It will also add the  lines you will need on grub, now just restart your computer and choose  the new kernel on the grub screen.&lt;/p&gt; &lt;p&gt;Have Fun !!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6149584526524447105?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6149584526524447105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6149584526524447105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6149584526524447105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6149584526524447105'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/05/compiling-linux-kernel-centos.html' title='Compiling the Linux Kernel – CentOS'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7560057366663972586</id><published>2011-04-29T12:51:00.000-07:00</published><updated>2011-04-29T13:04:26.841-07:00</updated><title type='text'>Setting up SendMail as SMTP Relay Server</title><content type='html'>Here are the steps to take in order to use Sendmail as SMTP relay server:&lt;br /&gt;&lt;br /&gt;By default relay on sendmail is disabled.&lt;br /&gt;&lt;br /&gt;So when you do relay on it by doing telnet&lt;br /&gt;&lt;br /&gt;220 nagios.gowireless.net ESMTP Sendmail 8.13.8/8.13.8; Fri, 29 Apr 2011 11:59:2&lt;br /&gt;3 -0700&lt;br /&gt;HELO&lt;br /&gt;501 5.0.0 HELO requires domain address&lt;br /&gt;MAIL FROM:test@test.com&lt;br /&gt;250 2.1.0 test@test.com... Sender ok&lt;br /&gt;relaying denied&lt;br /&gt;&lt;br /&gt;So to allow relay on SendMail do as follows:&lt;br /&gt;&lt;br /&gt;1. First allow the sendmail to listen to all at port 25. (Allow incoming smtp connections)&lt;br /&gt;&lt;br /&gt;- Edit /etc/mail/sendmail.mc&lt;br /&gt;&lt;br /&gt;Change...&lt;br /&gt;&lt;br /&gt;DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl&lt;br /&gt;&lt;br /&gt;To..&lt;br /&gt;&lt;br /&gt;DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl&lt;br /&gt;&lt;br /&gt;- save it&lt;br /&gt;&lt;br /&gt;and then do&lt;br /&gt;&lt;br /&gt;make -C /etc/mail&lt;br /&gt;&lt;br /&gt;- restart sendmail service&lt;br /&gt;&lt;br /&gt;service sendmail restart&lt;br /&gt;&lt;br /&gt;2. Allow or open port 25 on the firewall.&lt;br /&gt;&lt;br /&gt;3. Now we will include IP based authentication&lt;br /&gt;&lt;br /&gt;- Edit /etc/mail/access and add the IP / IP block to allow relay from&lt;br /&gt;&lt;br /&gt;Connect:localhost.localdomain           RELAY&lt;br /&gt;Connect:localhost                       RELAY&lt;br /&gt;Connect:127.0.0.1                       RELAY&lt;br /&gt;Connect:10.1                            RELAY&lt;br /&gt;Connect:1.1                             RELAY&lt;br /&gt;&lt;br /&gt;- save it&lt;br /&gt;&lt;br /&gt;- then recompile the access.db&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;makemap hash /etc/mail/access.db &amp;lt; /etc/mail/access&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: lucida grande;"&gt;- then do restart sendmail&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;font-size:130%;" &gt;&lt;br /&gt;4. To test do as follow from a different pc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;telnet 10.1.10.13 25&lt;br /&gt;220 nagios.gowireless.net ESMTP Sendmail 8.13.8/8.13.8; Fri, 29 Apr 2011 11:59:2&lt;br /&gt;3 -0700&lt;br /&gt;HELO&lt;br /&gt;501 5.0.0 HELO requires domain address&lt;br /&gt;MAIL FROM:test@test.com&lt;br /&gt;250 2.1.0 test@test.com... Sender ok&lt;br /&gt;RCPT TO:rowell.rufino@gowireless.com&lt;br /&gt;250 2.1.5 rowell.rufino@gowireless.com... Recipient ok&lt;br /&gt;DATA&lt;br /&gt;354 Enter mail, end with "." on a line by itself&lt;br /&gt;testing&lt;br /&gt;.&lt;br /&gt;250 2.0.0 p3TIxNH1002876 Message accepted for delivery&lt;br /&gt;quit&lt;br /&gt;221 2.0.0 nagios.gowireless.net closing connection&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;Hopefully you find this helpful. Thanks. Take Care and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7560057366663972586?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7560057366663972586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7560057366663972586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7560057366663972586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7560057366663972586'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/04/setting-up-sendmail-as-smtp-relay.html' title='Setting up SendMail as SMTP Relay Server'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4588878568544257447</id><published>2011-04-08T08:34:00.000-07:00</published><updated>2011-04-08T10:15:17.248-07:00</updated><title type='text'>Setting Up Mail Server on Linux</title><content type='html'>There came a time where I was asked by my boss to setup a Mail server for a certain client.  At first I was astounded because I am not sure how to do it. But thankfully I found some helpful sites that guided me to establish a complete Email Server. In this blog I wanted to share them with you to help those who would like to setup their own Mail server.&lt;br /&gt;&lt;br /&gt;The mail server that I have setup is composed of the following components:&lt;br /&gt;&lt;br /&gt;- a Linux OS (preferably Red Hat Enterprise or CentOS)&lt;br /&gt;- Dovecot for IMAP / POP3&lt;br /&gt;- Postfix for SMTP&lt;br /&gt;- ClamAV for antivirus&lt;br /&gt;- SpamAssassin&lt;br /&gt;- MailScanner&lt;br /&gt;&lt;br /&gt;&lt;h2 id="basic"&gt;&lt;span style="font-size:100%;"&gt;How to install SMTP, POP3, IMAP and Webmail service&lt;/span&gt;&lt;/h2&gt;Postfix will be providing the SMTP service, Dovecot will provide the  POP3 and IMAP service, while Apache and SquirrelMail will provide the  Webmail service.&lt;br /&gt;&lt;br /&gt;The following are the steps we will take on setting up the mail server:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.linuxmail.info/postfix-smtp-server-howto-centos-5/"&gt;1. How to install and setup Postfix SMTP server.&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2. &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.linuxmail.info/install-setup-dovecot-centos-5/"&gt;How to install and setup Dovecot POP3 and IMAP server.&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3. &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.linuxmail.info/postfix-smtp-auth-dovecot-sasl/"&gt;Configure Postfix SMTP Authentication using Dovecot SASL.&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4. &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.linuxmail.info/squirrelmail-webmail-setup-howto-in-centos-5/"&gt;How to install and setup SquirrelMail WebMail.&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;5. &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.linuxmail.info/firewall-configuration-centos-5/"&gt;How to configure the firewall.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to install and setup Postfix SMTP server&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;We need to install 2 packages here namely:&lt;br /&gt;&lt;br /&gt;- postfix and system-switch-mail&lt;br /&gt;&lt;br /&gt;To do so, issue the following command:&lt;br /&gt;&lt;br /&gt;#  yum install postfix system-switch-mail&lt;br /&gt;&lt;br /&gt;By default the MTA on Linux is sendmail so we need to switch from sendmail to postfix. Use the system-switch-mail tool to switch to postfix.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure Postfix&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Edit the postfix configuration file.&lt;br /&gt;&lt;br /&gt;# vi /etc/postfix/main.cf&lt;br /&gt;&lt;br /&gt;&lt;div class="clearfix"&gt;&lt;div&gt;Find the following keys and change its values as follows&lt;/div&gt; &lt;pre class="steps"&gt;inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain home_mailbox = Maildir/ &lt;/pre&gt; &lt;/div&gt;&lt;br /&gt;Make sure that all &lt;tt&gt;mail_spool_directory&lt;/tt&gt; lines are commented out. Otherwise, it will override the setting in the &lt;tt&gt;home_mailbox&lt;/tt&gt; line above.&lt;br /&gt;&lt;br /&gt;2. Restart postfix service&lt;br /&gt;&lt;br /&gt;# service postfix restart&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Postfix&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. For testing purposes, create a linux user.&lt;br /&gt;&lt;br /&gt;# useradd johndoe&lt;br /&gt;&lt;br /&gt;Sample postfix session. Replace &lt;strong&gt;johndoe&lt;/strong&gt; with any valid user account. The dot after the line &lt;strong&gt;test&lt;/strong&gt; is a command that should be typed in.&lt;br /&gt;&lt;br /&gt;2. Perform testing.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;[root@mail ~]# &lt;span class="h"&gt;telnet localhost smtp&lt;/span&gt; Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 mail.acme.local ESMTP Postfix &lt;span class="h"&gt;ehlo localhost&lt;/span&gt; 250-mail.acme.local 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN &lt;span class="h"&gt;mail from:&lt;johndoe&gt;&lt;/johndoe&gt;&lt;/span&gt; 250 2.1.0 Ok &lt;span class="h"&gt;rcpt to:&lt;johndoe&gt;&lt;/johndoe&gt;&lt;/span&gt; 250 2.1.5 Ok &lt;span class="h"&gt;data&lt;/span&gt; 354 End data with &lt;cr&gt;&lt;lf&gt;.&lt;cr&gt;&lt;lf&gt; &lt;span class="h"&gt;test&lt;/span&gt; &lt;span class="h"&gt;.&lt;/span&gt; 250 2.0.0 Ok: queued as 9729067C17 &lt;span class="h"&gt;quit&lt;/span&gt; 221 2.0.0 Bye Connection closed by foreign host. [root@mail ~]#&lt;/lf&gt;&lt;/cr&gt;&lt;/lf&gt;&lt;/cr&gt;&lt;/pre&gt;To check if the mail indeed exists&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;[root@mail ~]# &lt;span class="h"&gt;cd /home/johndoe/Maildir/new&lt;/span&gt; [root@mail new]# &lt;span class="h"&gt;ls&lt;/span&gt; 1185669817.Vfd00I18012M795756.mail.acme.local [root@mail new]# &lt;span class="h"&gt;cat 1185669817.Vfd00I18012M795756.mail.acme.local&lt;/span&gt;&lt;/pre&gt;Don’t worry, you don’t have to type in the whole filename above. Just type in the first few characters say &lt;tt&gt;118&lt;/tt&gt; then press Tab to activate automatic completion.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;From johndoe@mail.acme.local  Thu Feb 22 21:48:28 2007 Return-Path: &lt;johndoe@mail.acme.local&gt; X-Original-To: johndoe Delivered-To: johndoe@mail.acme.local Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])         by mail.acme.local (Postfix) with SMTP id 9729067C17         for &lt;johndoe&gt;; Thu, 22 Feb 2007 21:48:26 -0500 (EST) Message-Id: &amp;lt;20070222134827.9729067C17@mail.acme.local&amp;gt; Date: Thu, 22 Feb 2007 21:48:26 -0500 (EST) From: johndoe@mail.acme.local To: undisclosed-recipients:;  test  [root@mail mail]#&lt;/johndoe&gt;&lt;/johndoe@mail.acme.local&gt;&lt;/pre&gt;If you encounter any problems, check the log file at &lt;em&gt;/var/log/maillog.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;a style="color: rgb(0, 0, 0); font-weight: bold;" href="http://www.linuxmail.info/install-setup-dovecot-centos-5/"&gt;How to install and setup Dovecot POP3 and IMAP server&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;To install dovecot:&lt;br /&gt;&lt;br /&gt;# yum install dovecot&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure Dovecot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Edit the dovecot configuration file&lt;br /&gt;&lt;br /&gt;# vi /etc/dovecot.conf&lt;br /&gt;&lt;br /&gt;Find the following keys and change its values as follows&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;protocols = pop3 pop3s imap imaps mail_location = maildir:~/Maildir/ pop3_uidl_format = %08Xu%08Xv imap_client_workarounds = delay-newmail outlook-idle netscape-eoh pop3_client_workarounds = outlook-no-nuls oe-ns-eoh&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;2. Start Dovecot server&lt;br /&gt;&lt;br /&gt;# service dovecot start&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Dovecot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sample dovecot session. Replace &lt;strong&gt;johndoe&lt;/strong&gt; and &lt;strong&gt;password&lt;/strong&gt; with any valid user name and password.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;root@mail ~]# &lt;span class="h"&gt;telnet localhost pop3&lt;/span&gt; +OK dovecot ready. &lt;span class="h"&gt;user johndoe&lt;/span&gt; +OK &lt;span class="h"&gt;pass password&lt;/span&gt; +OK Logged in. &lt;span class="h"&gt;list&lt;/span&gt; +OK 1 messages: 1 622 . &lt;span class="h"&gt;retr 1&lt;/span&gt; +OK 622 octets Return-Path: &lt;johndoe@mail.acme.local&gt; X-Original-To: johndoe Delivered-To: johndoe@mail.acme.local Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])         by mail.acme.local (Postfix) with SMTP id 9729067C17         for &lt;johndoe&gt;; Thu, 22 Feb 2007 09:06:37 -0500 (EST) Message-Id: &amp;lt;20070222140640.9729067C17@mail.acme.local&amp;gt; Date: Thu, 22 Feb 2007 09:06:37 -0500 (EST) From: johndoe@mail.acme.local To: undisclosed-recipients:; X-IMAPbase: 1172153557 1 Status: O X-UID: 1 Content-Length: 5 X-Keywords:   test . &lt;span class="h"&gt;quit&lt;/span&gt; +OK Logging out. Connection closed by foreign host. [root@mail ~]#&lt;/johndoe&gt;&lt;/johndoe@mail.acme.local&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0); font-weight: bold;" href="http://www.linuxmail.info/postfix-smtp-auth-dovecot-sasl/"&gt;Configure Postfix SMTP Authentication using Dovecot SASL&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SMTP Authentication (SMTP Auth)&lt;/strong&gt; provides an access  control mechanism that can be used to allow legitimate users to relay  mail while denying relay service to unauthorized users, such as  spammers.&lt;br /&gt;&lt;br /&gt;Thanks to the new SASL support in Dovecot 1.0 and the new Dovecot SASL  support in Postfix 2.3, setting up SMTP authentication is now easier.  Instead of setting up two separate authentication for Postfix and  Dovecot, we can now just setup the authentication in Dovecot and just  let Postfix talk to Dovecot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure Postfix and Dovecot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Edit the file &lt;em&gt;/etc/dovecot.conf&lt;/em&gt; and make sure your &lt;em&gt;auth default&lt;/em&gt; section has the lines below.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;auth default {    socket listen {     client {    path = /var/spool/postfix/private/auth    mode = 0660    user = postfix    group = postfix     }   }    mechanisms = plain login }&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. Edit &lt;em&gt;/etc/postfix/main.cf&lt;/em&gt;, find the keys below and change  its values as follows or add it at the bottom of the file if the key  (the word before the = sign) cannot be found.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;mynetworks = 127.0.0.0/8 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions =  permit_mynetworks,      permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes&lt;/pre&gt;The first line says trust only localhost, meaning only localhost can  send email outside the network (relay). The last line is there to  support old clients like Microsoft Outlook Express 4.0 and Microsoft  Exchange 5.0 just in case someone is still using it.&lt;br /&gt;&lt;br /&gt;3. Restart the Dovecot and Postfix service. But if you installed MailScanner, restart MailScanner instead of Postfix.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Postfix&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sample postfix session&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;[root@mail ~]# &lt;span class="h"&gt;telnet mail smtp&lt;/span&gt;&lt;/pre&gt;Replace &lt;strong&gt;mail&lt;/strong&gt; with the name of your server. We should  not use localhost since localhost is a trusted client ip address. And  make sure the domain name you specified does not resolve to 127.0.0.1  which is the IP address of localhost.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;Trying 192.168.0.1... Connected to mail.acme.local (192.168.0.1). Escape character is '^]'. 220 mail.acme.local ESMTP Postfix &lt;span class="h"&gt;ehlo localhost&lt;/span&gt; 250-mail.acme.local 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN&lt;/pre&gt;Note the new &lt;tt&gt;250-AUTH&lt;/tt&gt; lines.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;&lt;span class="h"&gt;mail from:&lt;johndoe&gt;&lt;/johndoe&gt;&lt;/span&gt; 250 2.1.0 Ok &lt;span class="h"&gt;rcpt to:&lt;test@example.com&gt;&lt;/test@example.com&gt;&lt;/span&gt; 554 5.7.1 &lt;test@example.com&gt;: Relay access denied&lt;/test@example.com&gt;&lt;/pre&gt;It works, now to check if we can send it after authenticating.&lt;br /&gt;&lt;br /&gt;&lt;pre class="steps"&gt;&lt;span class="h"&gt;auth plain AGpvaG5kb2UAcGFzc3dvcmQ=&lt;/span&gt; 235 2.0.0 Authentication successful &lt;span class="h"&gt;rcpt to:&lt;test@example.com&gt;&lt;/test@example.com&gt;&lt;/span&gt; 250 2.1.5 Ok &lt;span class="h"&gt;quit&lt;/span&gt; 221 2.0.0 Bye Connection closed by foreign host. [root@mail ~]#&lt;/pre&gt;The gibberish text after &lt;strong&gt;AUTH PLAIN&lt;/strong&gt; is the base64 encoded value of the user name &lt;em&gt;johndoe&lt;/em&gt; and password &lt;em&gt;password&lt;/em&gt;. You can generate your own base64 text using the form below.&lt;br /&gt;&lt;br /&gt;http://www.linuxmail.info/postfix-smtp-auth-dovecot-sasl/&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0); font-weight: bold;" href="http://www.linuxmail.info/squirrelmail-webmail-setup-howto-in-centos-5/"&gt;How to install and setup SquirrelMail WebMail.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.squirrelmail.org/"&gt;SquirrelMail&lt;/a&gt; is an open source  standards-based webmail package written in PHP. When installed,  SquirrelMail is ready out of the box. All it needs is an installed web  server like Apache, SMTP server like Postfix, and IMAP server like  Dovecot.&lt;br /&gt;&lt;br /&gt;1. Get the latest stable release of Squirrelmail&lt;br /&gt;&lt;br /&gt;# cd /usr/src&lt;br /&gt;&lt;br /&gt;# wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;# tar xvzf &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.tar.gz"&gt;squirrelmail-1.4.21.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;# mv &lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.tar.gz"&gt;squirrelmail-1.4.21&lt;/a&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; /usr/local/&lt;/span&gt;&lt;a style="color: rgb(0, 0, 0);" href="http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.21.tar.gz"&gt;squirrelmail&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Prepare SquirrelMail directories&lt;/h3&gt;Make sure to change "nogroup" to whatever group Apache will be running as. You can check what that is by looking at the value of the "Group" setting in your Apache main configuration file (probably &lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt;).&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;# mkdir /usr/local/squirrelmail # cd /usr/local/squirrelmail # mkdir data temp # chgrp nogroup data temp # chmod 0730 data temp&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Unpack SquirrelMail&lt;/h3&gt;  &lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;# cd /usr/local/squirrelmail # tar --bzip2 -xvf /usr/local/src/downloads/squirrelmail-1.4.17.tar.bz2 # mv squirrelmail-1.4.17 www &lt;/pre&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;h3&gt;Configure SquirrelMail&lt;/h3&gt;  &lt;p&gt;Run the SquirrelMail configuration utility.&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;# cd /usr/local/squirrelmail # www/configure &lt;/pre&gt; &lt;/blockquote&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;Select the "D" option and then configure SquirrelMail with the "uw" preset. Also make sure to set the data and attachment directory settings ("&lt;code&gt;/usr/local/squirrelmail/data&lt;/code&gt;" and "&lt;code&gt;/usr/local/squirrelmail/temp&lt;/code&gt;" respectively) under "&lt;code&gt;4. General Options&lt;/code&gt;".  Make any other changes as you see fit, select "S" to save and then "Q" to quit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure access to SquirrelMail in Apache&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Modify your main Apache configuration file (typically &lt;code&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt;) by adding the following:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;pre&gt;"Alias /squirrelmail /usr/local/squirrelmail/www &lt;directory usr="" local="" squirrelmail="" www=""&gt;   Options None   AllowOverride None   DirectoryIndex index.php   Order Allow,Deny   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www=""&gt;   Deny from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" images=""&gt;   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" plugins=""&gt;   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" src=""&gt;   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" templates=""&gt;   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" themes=""&gt;   Allow from all &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" contrib=""&gt;   Order Deny,Allow   Deny from All   Allow from 127   Allow from 10   Allow from 192 &lt;/directory&gt; &lt;directory usr="" local="" squirrelmail="" www="" doc=""&gt;   Order Deny,Allow   Deny from All   Allow from 127   Allow from 10   Allow from 192 &lt;/directory&gt;"&lt;/pre&gt; &lt;p&gt; &lt;/p&gt;Restart apache&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;http://www.linuxmail.info/squirrelmail-webmail-setup-howto-in-centos-5/&lt;br /&gt;http://squirrelmail.org/docs/admin/admin-3.html#ss3.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4588878568544257447?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4588878568544257447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4588878568544257447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4588878568544257447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4588878568544257447'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/04/setting-up-mail-server-on-linux.html' title='Setting Up Mail Server on Linux'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8184248014657015636</id><published>2011-01-27T08:02:00.000-08:00</published><updated>2011-01-27T08:07:41.071-08:00</updated><title type='text'>How to set 100% table height</title><content type='html'>One of the suggestions I have read across the web that really works for me on table layout, is setting the table height. This is useful most specially if you are dealing with nested tables where you want the table inside to maximize the height of the cell. In order to do this, you must make use of style property of table. Here is how:&lt;br /&gt;&lt;br /&gt;table width="100%" border="1" &lt;span style="font-weight: bold;"&gt;style="height: 100%;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hopefully you find this tip useful. Thank you. Take care and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8184248014657015636?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8184248014657015636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8184248014657015636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8184248014657015636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8184248014657015636'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/01/how-to-set-100-table-height.html' title='How to set 100% table height'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8236061700682263128</id><published>2011-01-18T13:29:00.000-08:00</published><updated>2011-01-27T16:12:41.721-08:00</updated><title type='text'>Automated Backup Script Using tar and FTP</title><content type='html'>&lt;code&gt;&lt;br /&gt;I am posting here a script I made to automate backup via tar ang FTP. I hope that you may find this helpful. In the next post, I will try to explain each entries on the script. Thanks, take care and God Bless!!!&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# A Simple (Poor Man) disk based backup script&lt;br /&gt;# Will backup all user home directories in seperate archives&lt;br /&gt;# as a single /home backup file can be quite large and unwieldly.&lt;br /&gt;# Does not need to be modified if users are added/deleted&lt;br /&gt;&lt;br /&gt;# Step - 1 Create Timestamp and set up variables and functions&lt;br /&gt;# BUDTSTAMP = Backup Date/Time Stamp&lt;br /&gt;BUTDSTAMP=$(date +%Y%m%d)&lt;br /&gt;&lt;br /&gt;# variable holding directories containing files to backup eg: BACKUPTHESE="/home /root /etc"&lt;br /&gt;BACKUPTHESE="/var/www/html/adldap"&lt;br /&gt;&lt;br /&gt;# Backup base  place the back up base&lt;br /&gt;&lt;br /&gt;B_BASE="/trynga"&lt;br /&gt;&lt;br /&gt;cd $B_BASE&lt;br /&gt;&lt;br /&gt;mkdir $B_BASE/vol&lt;br /&gt;mkdir $B_BASE/vol/backup&lt;br /&gt;mkdir $B_BASE/vol/backup/daily&lt;br /&gt;mkdir $B_BASE/vol/backup/yesterday&lt;br /&gt;mkdir $B_BASE/vol/backup/database&lt;br /&gt;&lt;br /&gt;#directory containing today's backup&lt;br /&gt;BKUPDIR="$B_BASE/vol/backup/daily"&lt;br /&gt;#directory containing yesterday's backup&lt;br /&gt;YDBKUPDIR="$B_BASE/vol/backup/yesterday"&lt;br /&gt;#directory containing the day before yesterday's backup&lt;br /&gt;DBBKUPDIR="$B_BASE/vol/backup/daybefore"&lt;br /&gt;# DATABASE BACKUP DIR&lt;br /&gt;DATABASEBACKUP="$B_BASE/vol/backup/database"&lt;br /&gt;NCFTP="/usr/local/bin"&lt;br /&gt;&lt;br /&gt;# device to monitor upon backup&lt;br /&gt;DEVICE="/"&lt;br /&gt;&lt;br /&gt;# recipient to send the backup report&lt;br /&gt;#EMAILADD="backupadmin"&lt;br /&gt;EMAILADD="rowell@mindragon.com"&lt;br /&gt;&lt;br /&gt;# FTP SetUP&lt;br /&gt;FTPS="192.168.1.118"&lt;br /&gt;FTPU="rowell"&lt;br /&gt;FTPP="mdi2005!"&lt;br /&gt;NOW=$(date +"%d-%m-%Y")&lt;br /&gt;BACKUP="$B_BASE/vol/backup/daily"&lt;br /&gt;FTPD="serbackupfiles"&lt;br /&gt;&lt;br /&gt;### MySQL Setup ###&lt;br /&gt;MUSER="root"&lt;br /&gt;MPASS="mdi2009!"&lt;br /&gt;MHOST="localhost"&lt;br /&gt;MYSQL="$(which mysql)"&lt;br /&gt;MYSQLDUMP="$(which mysqldump)"&lt;br /&gt;GZIP="$(which gzip)"&lt;br /&gt;&lt;br /&gt;# log files&lt;br /&gt;LOG="/var/log/mail.txt"&lt;br /&gt;ERRORLOG="/var/log/ERROR.txt"&lt;br /&gt;&lt;br /&gt;# tag for backup file name&lt;br /&gt;TAG="OpenSERbackup"&lt;br /&gt;&lt;br /&gt;# function that quits and logs on error&lt;br /&gt;exiterror()&lt;br /&gt;{&lt;br /&gt;# use this function by supplying $LINENO as first arg&lt;br /&gt;echo "Fatal error caused by line ${1} of ${0}" &amp;gt;&amp;gt; $ERRORLOG&lt;br /&gt;mail $EMAILADD -s "Backup Job ERROR" -v &amp;lt; $ERRORLOG&lt;br /&gt;mail $EMAILADD -s "Backup Job Report" -v &amp;lt; $LOG&lt;br /&gt;exit 1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Step - 2 Start Email Message To Be Sent&lt;br /&gt;&lt;br /&gt;# Remove mail message from previous backup&lt;br /&gt;# I do this at the beginning of the script instead of the end&lt;br /&gt;# in case the mail does not send for whatever reason or&lt;br /&gt;# I need to debug it&lt;br /&gt;&lt;br /&gt;rm $LOG &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;echo "System Backup $BUTDSTAMP" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;# The email sends a user friendly note showing the start and&lt;br /&gt;# end time/dates. This is important so you can compare logs&lt;br /&gt;# and see if a backup ran ok.&lt;br /&gt;&lt;br /&gt;echo "Backup Began $(date)" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;# Step - 3 Rotate Backups&lt;br /&gt;# Simple three backupset rotation, keeps only last three&lt;br /&gt;# Use directory /vol/backup as an example, make sure you change this path&lt;br /&gt;# to fit your local settings. Have three directories in /vol/backup named daily,&lt;br /&gt;# yesterday and daybefore.&lt;br /&gt;# Make sure /vol/backup is on a different disk (preferably a different machine)&lt;br /&gt;# than the files you are backing up&lt;br /&gt;&lt;br /&gt;#looks specifically for backup files in case other files are kept in these directories&lt;br /&gt;#for bkfile in $DBBKUPDIR/*; do&lt;br /&gt;#echo $bkfile | grep $TAG &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;#(rm $bkfile || exiterror $LINENO )&lt;br /&gt;#done&lt;br /&gt;for bkfile in $YDBKUPDIR/*; do&lt;br /&gt;echo $bkfile | grep $TAG &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;#(mv $bkfile $DBBKUPDIR/ || exiterror $LINENO )&lt;br /&gt;(rm $bkfile || exiterror $LINENO )&lt;br /&gt;done&lt;br /&gt;for bkfile in $BKUPDIR/*; do&lt;br /&gt;echo $bkfile | grep $TAG &amp;gt;/dev/null &amp;amp;&amp;amp;&lt;br /&gt;(mv $bkfile $YDBKUPDIR/ || exiterror $LINENO )&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# Step - 4 Archive Home Directories&lt;br /&gt;# Creates a seperate tar file for each directory in the directories in $BACKUPTHESE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# change to dir to backup. Check in case cd failed for some reason.&lt;br /&gt;cd $BACKUPTHIS || exiterror $LINENO&lt;br /&gt;#backup all files listed in BACKUPTHESE&lt;br /&gt;#for DIRTOBACKUP in $BACKUPTHESE; do&lt;br /&gt;#for FOLDERNAME in $DIRTOBACKUP/*&lt;br /&gt;#do&lt;br /&gt;# Archives are created in the format someuser-$TAG-datetime.tar.gz&lt;br /&gt;# basename is used here so as not to include absolute paths&lt;br /&gt;# -p preserves permissions&lt;br /&gt;#echo -e "-------------------\n&amp;gt;&amp;gt;&amp;gt;taring ${FOLDERNAME}\n\n" &amp;gt;&amp;gt; $LOG&lt;br /&gt;#tar -czvpf ${BKUPDIR}/$( basename $FOLDERNAME )-${TAG}-${BUTDSTAMP}.tar.gz ${FOLDERNAME} &amp;gt;&amp;gt; $LOG || exiterror $LINENO&lt;br /&gt;#done&lt;br /&gt;#done&lt;br /&gt;&lt;br /&gt;for FOLDERNAME in $BACKUPTHESE; do&lt;br /&gt;echo -e "-------------------\n&amp;gt;&amp;gt;&amp;gt;taring ${FOLDERNAME}\n\n" &amp;gt;&amp;gt; $LOG&lt;br /&gt;#tar -czvpf ${BKUPDIR}/$( basename $FOLDERNAME )-${TAG}-${BUTDSTAMP}.tar.gz ${FOLDERNAME} &amp;gt;&amp;gt; $LOG || exiterror $LINENO&lt;br /&gt;tar -czvpf ${BKUPDIR}/$( basename $FOLDERNAME )-${TAG}-${BUTDSTAMP}.tar.gz ${FOLDERNAME} &amp;gt; /dev/null 2&amp;gt;&amp;amp;1  || exiterror $LINENO&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# For MySQL backup database&lt;br /&gt;echo -e "------------------\n&amp;gt;&amp;gt;&amp;gt;&amp;gt;back up the database\n\n" &amp;gt;&amp;gt; $LOG&lt;br /&gt;### Start MySQL Backup ###&lt;br /&gt;# Get all databases name&lt;br /&gt;&lt;br /&gt;#mkdir $BACKUP/$NOW&lt;br /&gt;mkdir $DATABASEBACKUP/$NOW&lt;br /&gt;&lt;br /&gt;DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"&lt;br /&gt;echo "$DBS \n\n " &amp;gt;&amp;gt; $LOG&lt;br /&gt;for db in $DBS&lt;br /&gt;do&lt;br /&gt;#FILE=$BACKUP/mysql-$db.$NOW-$(date +"%T").gz&lt;br /&gt;FILE=$DATABASEBACKUP/$NOW/mysql-$db.${BUTDSTAMP}.gz&lt;br /&gt;$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 &amp;gt; $FILE&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# Step - 5 FTP backup start&lt;br /&gt;&lt;br /&gt;echo -e "------------------\n&amp;gt;&amp;gt;&amp;gt;&amp;gt;Transfer backups to FTP server\n\n" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;# not yet done Do an an FTP back up&lt;br /&gt;# set the settings for FTP&lt;br /&gt;&lt;br /&gt;### Dump backup using FTP ###&lt;br /&gt;#Start FTP backup using ncftp&lt;br /&gt;RETVAL=`$NCFTP/ncftp -u"$FTPU" -p"$FTPP" $FTPS &amp;lt;&amp;lt;EOF&lt;br /&gt;mkdir $FTPD&lt;br /&gt;mkdir $FTPD/$NOW&lt;br /&gt;cd $FTPD/$NOW&lt;br /&gt;lcd $BACKUP&lt;br /&gt;mput *&lt;br /&gt;lcd $DATABASEBACKUP/$NOW&lt;br /&gt;mput *&lt;br /&gt;quit&lt;br /&gt;EOF`&lt;br /&gt;&lt;br /&gt;echo -e "$RETVAL \n\n"  &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;##### Let us use a a different version&lt;br /&gt;#mkdir $FTPD&lt;br /&gt;#mkdir $FTPD/$NOW&lt;br /&gt;#ncftpput -m -z -u "$FTPU" -p "$FTPP" $FTPS&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Step - 6 Finish Email Report and Send&lt;br /&gt;&lt;br /&gt;echo "Backup ended $(date)" &amp;gt;&amp;gt; $LOG&lt;br /&gt;&lt;br /&gt;# df -h includes a human readable disk usage report of the media that /vol/backup&lt;br /&gt;# is mounted on. Good to now if your backup disk is running out of space.&lt;br /&gt;# Of course /dev/hdb1 is the device I use, modify it for your local settings&lt;br /&gt;&lt;br /&gt;df -h $DEVICE &amp;gt;&amp;gt; $LOG&lt;br /&gt;mail $EMAILADD -s "Backup Job Report" -v &amp;lt; $LOG&lt;br /&gt;&lt;br /&gt;# Step - 7 All Done&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8236061700682263128?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8236061700682263128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8236061700682263128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8236061700682263128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8236061700682263128'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2011/01/automated-backup-script-using-tar-and.html' title='Automated Backup Script Using tar and FTP'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6378541088343128040</id><published>2009-08-29T05:00:00.000-07:00</published><updated>2009-08-29T05:35:49.665-07:00</updated><title type='text'>Installing and setting up phpPgAdmin</title><content type='html'>In this blog, I'll discuss on how to setup phpPgAdmin. But before going any further where can phpPgAdmin be used? PhpPgAdmin is a counter part of phpMyAdmin. If phpMyAdmin is the web admin user interface  managing MySQL server then phpPgAdmin is for PostgreSQL. PhpPgAdmin was created to ease the administration of PostgreSQL.  Below are the requirements needed to build the admin.&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;br /&gt;-  PHP installed&lt;br /&gt;-  PostgreSQL installed (for instruction on how to install postgreSQL server see http://www.designmagick.com/article/2/Starting-Out/Installing-PostgreSQL)&lt;br /&gt;&lt;br /&gt;- if you are running CentOS distro or the like then you can just do yum to install all of these needed packages.&lt;br /&gt;&lt;br /&gt;Note: by default the installation of Postgres creates user postgres with no password (postgres by default is the superuser for PostgreSQL).&lt;br /&gt;&lt;br /&gt;Here are the steps to take to be able to make phpPgAdmin running:&lt;br /&gt;&lt;br /&gt;1. Download phpPgAdmin&lt;br /&gt;&lt;br /&gt;# cd /usr/src/&lt;br /&gt;# wget http://downloads.sourceforge.net/project/phppgadmin/phpPgAdmin%20%5Bstable%5D/phpPgAdmin-4.2.2/phpPgAdmin-4.2.2.tar.gz?use_mirror=nchc&lt;br /&gt;&lt;br /&gt;2. Extract the package&lt;br /&gt;&lt;br /&gt;# tar xvzf phpPgAdmin-4.2.2.tar.gz&lt;br /&gt;&lt;br /&gt;3.  Rename the folder and move folder to the web server document root (assuming your document root is at /var/www/html)&lt;br /&gt;&lt;br /&gt;# mv phpPgAdmin-4.2.2 /var/www/html/phpPgAdmin&lt;br /&gt;&lt;br /&gt;4. You should be able to browse phpPgAdmin on browser&lt;br /&gt;&lt;br /&gt;http://xxx.xxx.xxx.xxx/phpPgAdmin/&lt;br /&gt;&lt;br /&gt;5. Notice that what ever you put you always get "Login Failed". To correct that edit config.inc.php (located at /var/www/html/phpPgAdmin/conf/config.inc.php), set $conf['extra_login_security'] to false for now.&lt;br /&gt;&lt;br /&gt;from&lt;br /&gt;&lt;br /&gt; $conf['extra_login_security'] = true;&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt; $conf['extra_login_security'] = false;&lt;br /&gt;&lt;br /&gt;6. Do also the changes as follow on config.inc.php&lt;br /&gt;&lt;br /&gt;from&lt;br /&gt;&lt;br /&gt;  $conf['servers'][0]['host'] = '';&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;  $conf['servers'][0]['host'] = 'localhost';  // this is to allow tcp login&lt;br /&gt;&lt;br /&gt;7. Now  login to phpPgAdmin using username postgres without password&lt;br /&gt;&lt;br /&gt;8. Create a user  with password. (Another admin since it is advisable to use other super user account to avoid hack).&lt;br /&gt;&lt;br /&gt;9.  Once a new admin user has been created. Logout from the phpPgAdmin.&lt;br /&gt;&lt;br /&gt;10. Edit the postgreSQL configuration (pg_hba.conf) to set md5 authentication for all connecting client via tcp. (By default all created user are trusted even without authentication). Do the changes as follow.&lt;br /&gt;&lt;br /&gt;# vi /var/lib/pgsql/data/pg_hba.conf&lt;br /&gt;&lt;br /&gt;from&lt;br /&gt;&lt;br /&gt;host    all         all         127.0.0.1         255.255.255.255   trust&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt;host    all     postgres        127.0.0.1       255.255.255.255 trust&lt;br /&gt;host    all         all         127.0.0.1         255.255.255.255   md5&lt;br /&gt;&lt;br /&gt;save the file and restart postgresql&lt;br /&gt;&lt;br /&gt;# service postgresql restart&lt;br /&gt;&lt;br /&gt;11. Edit again the config.inc.php and do the changes as follow:&lt;br /&gt;&lt;br /&gt;# vi /var/www/html/conf/config.inc.php&lt;br /&gt;&lt;br /&gt;from&lt;br /&gt;&lt;br /&gt; $conf['extra_login_security'] = false;&lt;br /&gt;&lt;br /&gt;to&lt;br /&gt;&lt;br /&gt; $conf['extra_login_security'] = true;&lt;br /&gt;&lt;br /&gt;12. Now you should be able to login using the new admin account created with password. Postgres super user will always be denied to login on phpPgAdmin for security reason.&lt;br /&gt;&lt;br /&gt;All should be working fine from this point. You now have a running phpPgAdmin. I hope this helps for those who are establishing their PostgreSQL web admin. Cheers, Take care and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6378541088343128040?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6378541088343128040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6378541088343128040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6378541088343128040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6378541088343128040'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/08/installing-and-setting-up-phppgadmin.html' title='Installing and setting up phpPgAdmin'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6830796564040953505</id><published>2009-08-18T05:41:00.000-07:00</published><updated>2009-08-18T05:49:54.649-07:00</updated><title type='text'>Doing FTP in PHP</title><content type='html'>I had an issue during a development of one of my projects. One of the modules deals with FTP'ing files from one server to another. My script was able to login with no issues but I wondered why it was not able to write or ftp_put anything. I googled for few hours finding out how to overcome this issue that I have and came over with these links...&lt;br /&gt;&lt;br /&gt;http://www.php.net/manual/en/function.ftp-pasv.php&lt;br /&gt;http://us.php.net/manual/en/function.ftp-put.php#73168&lt;br /&gt;&lt;br /&gt;Both of these links tell that you have to use ftp_pasv to set the ftp connection in passive mode. Meaning the ftp connection will be initiated from the client instead from the server. Also take note that ftp_pasv should be done immediately after calling the ftp_login.&lt;br /&gt;&lt;br /&gt;Here is the comment I read there which gave or shed me the light for succesfully getting around with my problem.&lt;br /&gt;&lt;br /&gt;"&lt;code&gt;&lt;span class="html"&gt;If you are having timeouts uploading a file, even very small files, you might have a look at ftp_pasv()&lt;br /&gt;&lt;br /&gt;And don't forget to do it after your ftp_login();"&lt;br /&gt;&lt;br /&gt;The sample code below shows how to do it.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="example-contents programlisting"&gt; &lt;div class="phpcode"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="color: rgb(0, 0, 187);"&gt;&lt;?php&lt;br /&gt;$file &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'somefile.txt'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$remote_file &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'readme.txt'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;// set up basic connection&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conn_id &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ftp_connect&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$ftp_server&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;// login with username and password&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$login_result &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;= &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ftp_login&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conn_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$ftp_user_name&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$ftp_user_pass&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;// turn passive mode on&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ftp_pasv&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conn_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;// upload a file&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;if (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ftp_put&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conn_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$remote_file&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;FTP_ASCII&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;)) {&lt;br /&gt; echo &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"successfully uploaded &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\n"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;} else {&lt;br /&gt; echo &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"There was a problem while uploading &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$file&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;\n"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 128, 0);"&gt;// close the connection&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;ftp_close&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$conn_id&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;?&gt;&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/div&gt;     &lt;/div&gt;&lt;br /&gt;I hope this experience that I had and I shared with you will help you out fixing issues doing FTP in PHP. Thanks, Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6830796564040953505?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6830796564040953505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6830796564040953505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6830796564040953505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6830796564040953505'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/08/doing-ftp-in-php.html' title='Doing FTP in PHP'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-773982328624937289</id><published>2009-08-04T18:10:00.000-07:00</published><updated>2009-08-04T18:11:57.430-07:00</updated><title type='text'>Silky Heart</title><content type='html'>Every hour of the day&lt;br /&gt;Whenever I think about you&lt;br /&gt;This impatient feelings&lt;br /&gt;Just overflow&lt;br /&gt;&lt;br /&gt;It would be easier if I just tell you that I love you&lt;br /&gt;But when you appear in front of me&lt;br /&gt;my personality stands up and interferes&lt;br /&gt;&lt;br /&gt;I can usually pull through with my assertiveness&lt;br /&gt;That's just the way I am&lt;br /&gt;But no matter how hard I try, I can't break the wall that's between us&lt;br /&gt;&lt;br /&gt;I want you to realize my feelings&lt;br /&gt;That's why I always gaze at you with the message of...&lt;br /&gt;"I love you"&lt;br /&gt;With all of my courage!&lt;br /&gt;&lt;br /&gt;My heart made of silk feels like it's about to rip apart&lt;br /&gt;After meeting you, I finally realized&lt;br /&gt;That I'm really clumsy when it comes to love&lt;br /&gt;My scars from love that I've almost forgotten&lt;br /&gt;Have started to ache all of a sudden&lt;br /&gt;someday, like how I normally would...&lt;br /&gt;I must tell you that I love you, or&lt;br /&gt;else I'll become even weaker&lt;br /&gt;&lt;br /&gt;If I say ‘I love you’, then I can be at ease&lt;br /&gt;The truth is, even though I know that&lt;br /&gt;When I sound it out, you seem to leave me&lt;br /&gt;&lt;br /&gt;I wonder, what do you think&lt;br /&gt;Of me?&lt;br /&gt;At our current distance we’re merely friends, right?&lt;br /&gt;&lt;br /&gt;I just might be whitewashing it&lt;br /&gt;But I don’t want to get hurt, it’s just that alone…&lt;br /&gt;Or so I persuaded myself&lt;br /&gt;And I just ran away&lt;br /&gt;&lt;br /&gt;If my flimsy silky heart&lt;br /&gt;Gets hurt this time, then I’m sure&lt;br /&gt;I won’t be able to love anyone ever again&lt;br /&gt;The splitting sound that echoes in my chest&lt;br /&gt;Is at the bottom of my memories, I’m sure&lt;br /&gt;The sewing kit that I forgot to put away&lt;br /&gt;On that day should be around somewhere…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-773982328624937289?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/773982328624937289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=773982328624937289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/773982328624937289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/773982328624937289'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/08/silky-heart.html' title='Silky Heart'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7071160462566746293</id><published>2009-06-22T21:48:00.000-07:00</published><updated>2009-06-22T21:53:20.862-07:00</updated><title type='text'>I’m going to meet you now</title><content type='html'>&lt;p&gt;Within the people I simply brush by&lt;br /&gt;I wanted to find more than anyone&lt;br /&gt;The eyes welled up with tears, that voice&lt;br /&gt;I only want to hold you&lt;br /&gt;If I miss you and call out to you my dear&lt;br /&gt;Wherever I may be, it is for you&lt;/p&gt; &lt;p&gt;I’m calling your name again&lt;br /&gt;Because I’m like this&lt;br /&gt;Because your are the one I love&lt;br /&gt;I’m going to see you again&lt;br /&gt;A love deeper than my tears&lt;/p&gt; &lt;p&gt;The lamp on the street where we&lt;br /&gt;First spoke shines a light on my heart&lt;br /&gt;Evething that catches my eyes,everything&lt;br /&gt;Are memories that remind me of you&lt;br /&gt;If I tell you that I’ve gotten too really like you&lt;br /&gt;Will you feel unsettled? I wonder&lt;/p&gt; &lt;p&gt;I’m calling your name again&lt;br /&gt;Because I’m like this&lt;br /&gt;Because you are the one I love&lt;br /&gt;I’m going to see you again&lt;br /&gt;A love deeper than my tears&lt;/p&gt; &lt;p&gt;With only you&lt;br /&gt;No matter how many things&lt;br /&gt;Even if I’m reborn&lt;br /&gt;Will you feel insettled? I wonder&lt;/p&gt; &lt;p&gt;I love you more than anyone&lt;br /&gt;Inside my heart,&lt;br /&gt;Because you live in my heart&lt;br /&gt;I’m going to meet you now&lt;br /&gt;Bringing along the promise of forever&lt;br /&gt;I’m so happy to be loving you&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i294.photobucket.com/albums/mm96/javabeans122/drama/kkot/kkot10-051.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 363px; height: 199px;" src="http://i294.photobucket.com/albums/mm96/javabeans122/drama/kkot/kkot10-051.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7071160462566746293?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7071160462566746293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7071160462566746293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7071160462566746293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7071160462566746293'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/06/im-going-to-meet-you-now.html' title='I’m going to meet you now'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4763038429757675683</id><published>2009-06-12T21:06:00.001-07:00</published><updated>2009-06-12T21:06:58.921-07:00</updated><title type='text'>Hikbi ng Pusong Umaasa</title><content type='html'>alam kong mahirap pero kailangang gawin&lt;br /&gt;di ko alam kung matatagalan ko at mapaninindigan ang nais ko&lt;br /&gt;ang lumayo sa kanya at limutin na ng tuluyan ang nararamdaman ko&lt;br /&gt;marahil ito yung tamang paraan, marahil ito ang solusyon&lt;br /&gt;&lt;br /&gt;marahil panahon na para limutin ang lahat&lt;br /&gt;ang mga panahon na nangarap akong maging kami kahit minsan&lt;br /&gt;dahil alam ko naman ang katotohanang di magkakatotoo ang panaginip ko&lt;br /&gt;ang panaginip na minsan ay nagbigay ng kahit kunting ngiti sa puso ko&lt;br /&gt;&lt;br /&gt;sadya sigurong ganito pero sa katagalan makakalimutan ko rin sya&lt;br /&gt;kahit mahirap kakayanin dahil kailangan&lt;br /&gt;kailangan na akong magising sa katotothan at harapin ang realidad ng buhay&lt;br /&gt;&lt;br /&gt;Pero di pa rin titigil ang pusong ito na umasa kahit pasaglit saglit lang&lt;br /&gt;Pero pagod na rin ang pusong ito, pagod na itong isipan ko sa mga ilusyon&lt;br /&gt;Pagod na rin ako sa kakaasa .....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4763038429757675683?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4763038429757675683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4763038429757675683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4763038429757675683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4763038429757675683'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/06/hikbi-ng-pusong-umaasa.html' title='Hikbi ng Pusong Umaasa'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7209447603168940978</id><published>2009-06-11T01:19:00.000-07:00</published><updated>2009-06-11T01:20:12.364-07:00</updated><title type='text'>Kainis lang</title><content type='html'>Naiinis ako di ko alam kung ano ba dapat kong gawin&lt;br /&gt;Masyado na ba akong naiinip sa pagdating nya&lt;br /&gt;Masyado na ba akong matagal naghihintay&lt;br /&gt;Di ko alam kung bulag ba ako manhid o kung anuman&lt;br /&gt;baka naman nasa paligid lang sya pero ayokong tingnan&lt;br /&gt;baka naman matagal na pala syang nasa paligid&lt;br /&gt;Pero nagbubulag bulagan lang ako&lt;br /&gt;Masyado lang ba akong takot na makita ko sya&lt;br /&gt;O masyado lang akong nadala sa nangyari sa nakaraan&lt;br /&gt;pero ayoko mawalan ng pag asa sa buhay&lt;br /&gt;ayokong sayangin ung natitira kong pag asa na makita sya&lt;br /&gt;ganito ba ako kabulag at di ko makita kung nasan sya&lt;br /&gt;di ko alam nandito na ba sya sa paligid ko&lt;br /&gt;O kailangan ko po syang hanapin&lt;br /&gt;Wla akong clue na nakikita eh&lt;br /&gt;O tanga lang ako na obvious ng nasa paligid&lt;br /&gt;Pero nag mamaang ma angan lang ako&lt;br /&gt;ewan ko ba ano ba dapat kong gawin&lt;br /&gt;napaka gulo di ko maintindihan&lt;br /&gt;palibhasa di ko pa nararanasan ung magmahal at mahalin ka&lt;br /&gt;ewan ko ang gulo ano&lt;br /&gt;kainis kasi napaka torpe ko&lt;br /&gt;tapos parang wala pa kong ganon katatag na confidence sa sarili&lt;br /&gt;baka kasi ung hinahanap ng mga babae sa paligid ko&lt;br /&gt;ung mga alam mo na ung mga guwapo ung mga pang matinee idol baga&lt;br /&gt;ayoko naman na tumandang binata&lt;br /&gt;nakakatakot din, pero eto naman akong engot&lt;br /&gt;wla namang magawang aksyon kung anong gagawin&lt;br /&gt;kakainis lang ng konti pero minsan&lt;br /&gt;ayoko ng paniwalaan pa ung nararamdaman ko&lt;br /&gt;baka makuryente na nman ako&lt;br /&gt;tapos haun uuwi na naman luhaan&lt;br /&gt;kainis kung pwde lang sana lagi sure ball&lt;br /&gt;pero hindi rin  eh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7209447603168940978?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7209447603168940978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7209447603168940978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7209447603168940978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7209447603168940978'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/06/kainis-lang.html' title='Kainis lang'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8384043565868418839</id><published>2009-05-21T04:24:00.001-07:00</published><updated>2009-05-21T04:24:35.049-07:00</updated><title type='text'>Connecting Two Asterisk via IAX2 with VPN</title><content type='html'>On my previous blog I discussed how to install and set up OpenVPN. Now will take a look on how we could be able to use VPN to&lt;br /&gt;&lt;br /&gt;connect Asterisk vi IAX2 servers.&lt;br /&gt;&lt;br /&gt;1. Assuming this scenario&lt;br /&gt;&lt;br /&gt;The OpenVPN server(Asterisk A) is at 10.8.0.1&lt;br /&gt;The OpenVPN client(Asterisk B) is at 10.8.0.10&lt;br /&gt;&lt;br /&gt;(At server B)&lt;br /&gt;&lt;br /&gt;Add an entry on the iax.conf like this&lt;br /&gt;&lt;br /&gt;[MdPhone2]&lt;br /&gt;type=friend&lt;br /&gt;auth=plaintext&lt;br /&gt;username=MdPhil2&lt;br /&gt;secret=md2004&lt;br /&gt;context=incoming&lt;br /&gt;canreinvite=yes&lt;br /&gt;host=10.8.0.1&lt;br /&gt;disallow=all&lt;br /&gt;allow=ulaw&lt;br /&gt;jitterbuffer=yes&lt;br /&gt;&lt;br /&gt;(At server A)&lt;br /&gt;[MdPhil2]&lt;br /&gt;type=friend&lt;br /&gt;auth=plaintext&lt;br /&gt;username=MdPhone2&lt;br /&gt;secret=md2004&lt;br /&gt;context=MDI-Phones&lt;br /&gt;canreinvite=no&lt;br /&gt;host=10.8.0.10&lt;br /&gt;host=dynamic&lt;br /&gt;disallow=all&lt;br /&gt;allow=ulaw&lt;br /&gt;qualify=4000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Next add this on your dialplan route&lt;br /&gt;&lt;br /&gt;(At server B)&lt;br /&gt;&lt;br /&gt;exten =&gt; _1XX,1,Answer()&lt;br /&gt;exten =&gt; _1XX,2,Dial(IAX2/MdPhil2@MdPhone2/${EXTEN}@MDI-Phones)&lt;br /&gt;exten =&gt; _1XX,3,Hangup&lt;br /&gt;&lt;br /&gt;(At server A)&lt;br /&gt;exten =&gt; _1XX,1,Answer()&lt;br /&gt;exten =&gt; _1XX,2,Dial(IAX2/MdPhone2@MdPhil2/${EXTEN}@incoming,90,t)&lt;br /&gt;exten =&gt; _1XX,3,Hangup&lt;br /&gt;&lt;br /&gt;3. Go to the asterisk console&lt;br /&gt;&lt;br /&gt;/usr/sbin/asterisk -r&lt;br /&gt;&lt;br /&gt;Issue command:&lt;br /&gt;&lt;br /&gt;iax2 reload&lt;br /&gt;&lt;br /&gt;dialplan reload&lt;br /&gt;&lt;br /&gt;And you are done. You have now Asterisk with IAX2 connection via VPN.&lt;br /&gt;&lt;br /&gt;Hope you find this useful. Thanks, Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8384043565868418839?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8384043565868418839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8384043565868418839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8384043565868418839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8384043565868418839'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/connecting-two-asterisk-via-iax2-with.html' title='Connecting Two Asterisk via IAX2 with VPN'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7688659222391798837</id><published>2009-05-21T04:08:00.000-07:00</published><updated>2009-05-21T04:09:27.475-07:00</updated><title type='text'>Securing Your VOIP Connections with VPN (Installation and SetUp of OpenVPN)</title><content type='html'>In this tutorial I'll be discussing on how to install and setup OpenVPN.&lt;br /&gt;&lt;br /&gt;What is VPN anyway? VPN stands for Virtual Private Network. It is a network within a network. A VPN allows the creation of a virtual network that can use other networks (e.g. the public internet) for transport. VPNs often encrypt any data they send over the transport network. In other words data being transmitted of WAN is encrypted thus it is secured.&lt;br /&gt;&lt;br /&gt;For the instruction on how to install Asterisk, kindly refer to my other tutorials on this blog (http://consciencespeaks.blogspot.com/2009/01/asterisk-installation.html).&lt;br /&gt;&lt;br /&gt;Before getting any further we will first discuss a quick start on how to setup the OpenVPN. So here are the steps:&lt;br /&gt;&lt;br /&gt;1. Install the OpenVPN package. You may have it via yum or you can have it from source.&lt;br /&gt;&lt;br /&gt;    yum install openvpn&lt;br /&gt;&lt;br /&gt;2. Copy configuration files.&lt;br /&gt;&lt;br /&gt;#cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/&lt;br /&gt;#cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/&lt;br /&gt;&lt;br /&gt;3. Make all the files under directory easy-rsa executables&lt;br /&gt;&lt;br /&gt;chmod -R 755 /etc/openvpn/easy-rsa&lt;br /&gt;&lt;br /&gt;4. CA configuration&lt;br /&gt;&lt;br /&gt;cd /etc/openvpn/easy-rsa/&lt;br /&gt;vi vars&lt;br /&gt;&lt;br /&gt;then scroll down to the bottom, edit as you like.&lt;br /&gt;&lt;br /&gt;    export KEY_COUNTRY=US&lt;br /&gt;    export KEY_PROVINCE=CA&lt;br /&gt;    export KEY_CITY=CALIFORNIA&lt;br /&gt;    export KEY_ORG=”LINUX”&lt;br /&gt;    export KEY_EMAIL=”rowell@mindragon.com”&lt;br /&gt;&lt;br /&gt;    #.  ./vars (note a space between . . )&lt;br /&gt;    #./clean-all&lt;br /&gt;&lt;br /&gt;5. Build CA&lt;br /&gt;&lt;br /&gt;    #./build-ca&lt;br /&gt;&lt;br /&gt;    Generating a 1024 bit RSA private key&lt;br /&gt;    ………………………++++++&lt;br /&gt;    …………………….++++++&lt;br /&gt;    writing new private key to ‘ca.key’&lt;br /&gt;    —–&lt;br /&gt;    You are about to be asked to enter information that will be incorporated&lt;br /&gt;    into your certificate request.&lt;br /&gt;    What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;    There are quite a few fields but you can leave some blank&lt;br /&gt;    For some fields there will be a default value,&lt;br /&gt;    If you enter ‘.’, the field will be left blank.&lt;br /&gt;    —–&lt;br /&gt;    Country Name (2 letter code) [AU]:&lt;br /&gt;    State or Province Name (full name) [VIC]:&lt;br /&gt;    Locality Name (eg, city) [MELBOURNE]:&lt;br /&gt;    Organization Name (eg, company) [THROXVPN]:&lt;br /&gt;    Organizational Unit Name (eg, section) []:Throx&lt;br /&gt;    Common Name (eg, your name or your server’s hostname) []:throx.net&lt;br /&gt;    Email Address [name@mail.com]:&lt;br /&gt;&lt;br /&gt;Some information above already entered in step 4, hust hit enter and go to next line.&lt;br /&gt;&lt;br /&gt;6. Next we will build the server key and certificate&lt;br /&gt;&lt;br /&gt;./build-key-server asteriskus&lt;br /&gt;&lt;br /&gt;7. Building Diffie Hellman&lt;br /&gt;&lt;br /&gt;    #./build-dh&lt;br /&gt;&lt;br /&gt;    Generating DH parameters, 1024 bit long safe prime, generator 2&lt;br /&gt;    This is going to take a long time&lt;br /&gt;&lt;br /&gt;(Wait until it finished)&lt;br /&gt;&lt;br /&gt;8. Next edit the server.conf to point all the generated files to the proper path. Take note that the keys and certificate are located at /etc/openvpn/easy-rsa/keys&lt;br /&gt;&lt;br /&gt;you should have something like this:&lt;br /&gt;&lt;br /&gt;port 1194&lt;br /&gt;proto udp&lt;br /&gt;dev tun&lt;br /&gt;ca easy-rsa/keys/ca.crt&lt;br /&gt;cert easy-rsa/keys/asteriskus.crt&lt;br /&gt;key easy-rsa/keys/asteriskus.key&lt;br /&gt;dh easy-rsa/keys/dh1024.pem&lt;br /&gt;server 10.8.0.0 255.255.255.0&lt;br /&gt;ifconfig-pool-persist ipp.txt&lt;br /&gt;client-config-dir ccd    ; note we will need this so as to have a fix IP address for each connecting vpn clients&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Save the file&lt;br /&gt;&lt;br /&gt;9. Next we will generate the key and certificate for our connecting clients.&lt;br /&gt;&lt;br /&gt;./build-key asteriskph&lt;br /&gt;&lt;br /&gt;Here you will be asked somewhat similat to what we had at step 5 but assigned a different "Common Name" for this / each client. Say for instance I assigned this as with common name asteriskph. (we will use this later on)&lt;br /&gt;&lt;br /&gt;We will have the following files&lt;br /&gt;&lt;br /&gt;asteriskph.crt, asteriskph.key, asteriskph.csr&lt;br /&gt;&lt;br /&gt;10. Now create a directory ccd so as to have&lt;br /&gt;&lt;br /&gt;/etc/openvpn/ccd&lt;br /&gt;&lt;br /&gt;then under that directory create a file with filename equal to the Common Name of cert of the connectiong client (which we created at step 9.&lt;br /&gt;&lt;br /&gt;so&lt;br /&gt;&lt;br /&gt;vi /etc/openvpn/ccd/asteriskph&lt;br /&gt;&lt;br /&gt;then add this entry&lt;br /&gt;&lt;br /&gt;ifconfig-push 10.8.0.10 10.8.0.11   ; in this case the client will have an IP address of 10.8.0.10 everytime it connects to VPN&lt;br /&gt;&lt;br /&gt;11. Now you can start the openvpn by issuing&lt;br /&gt;&lt;br /&gt;/sbin/service openvpn start&lt;br /&gt;&lt;br /&gt;12. Be sure to open up the port 1194 on the firewall to allow connections&lt;br /&gt;&lt;br /&gt;Next will set up the VPN at the client side.&lt;br /&gt;&lt;br /&gt;1. Download and install OpenVPN at the client side&lt;br /&gt;&lt;br /&gt;2. Copy the client key, csr and crt and ca.crt from the OpenVPN server to the client server.&lt;br /&gt;&lt;br /&gt;3. Copy the client configuration file&lt;br /&gt;&lt;br /&gt;cp /usr/share/doc/openvpn-2.0.9/sample-config-files/client.conf /etc/openvpn/&lt;br /&gt;&lt;br /&gt;4. create keys directory under openvpn folder so as to have /etc/openvpn/keys&lt;br /&gt;&lt;br /&gt;copy or move all the client's key, crt and ca.crt to that folder&lt;br /&gt;&lt;br /&gt;5. Edit the client.conf&lt;br /&gt;&lt;br /&gt;You must have something like this:&lt;br /&gt;&lt;br /&gt;client&lt;br /&gt;dev tun&lt;br /&gt;proto udp&lt;br /&gt;remote XXX.XXX.XXX.XXX 1194  ; here the IP of the remote (OpenVPN server)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. Then you may now start the openvpn client&lt;br /&gt;&lt;br /&gt;/sbin/service openvpn start&lt;br /&gt;&lt;br /&gt;7. In order to verify that your vpn client is running, issue&lt;br /&gt;&lt;br /&gt;/sbin/ifconfig&lt;br /&gt;&lt;br /&gt;and you should have something like:&lt;br /&gt;&lt;br /&gt;tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00&lt;br /&gt;          inet addr:10.8.0.10  P-t-P:10.8.0.11  Mask:255.255.255.255&lt;br /&gt;          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1&lt;br /&gt;          RX packets:4774 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;          TX packets:4759 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;          collisions:0 txqueuelen:100&lt;br /&gt;          RX bytes:876230 (855.6 KiB)  TX bytes:884454 (863.7 KiB)&lt;br /&gt;&lt;br /&gt;if you want to verify also of that of server you can issue the same command and something like above should show up.&lt;br /&gt;&lt;br /&gt;Of course to verify further ping the other server using the VPN IP address assigned. (e.g. ping 10.8.0.1 it should have reply...)&lt;br /&gt;&lt;br /&gt;[rowell@MDPHAsterisk openvpn]$ ping 10.8.0.1&lt;br /&gt;PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.&lt;br /&gt;64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=202 ms&lt;br /&gt;64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=203 ms&lt;br /&gt;64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=204 ms&lt;br /&gt;&lt;br /&gt;Now you have a running OpenVPN. Hope you find this stuffs useful. Thanks, Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7688659222391798837?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7688659222391798837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7688659222391798837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7688659222391798837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7688659222391798837'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/securing-your-voip-connections-with-vpn.html' title='Securing Your VOIP Connections with VPN (Installation and SetUp of OpenVPN)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8900580787666128744</id><published>2009-05-19T03:43:00.001-07:00</published><updated>2009-05-19T03:43:50.652-07:00</updated><title type='text'>The Return of the OpenSER (OpenSIPs)</title><content type='html'>It has been long while that I've been silent on doing stuffs about OpenSER, ahm I mean OpenSIPs. Ok since there were lot of changes and progress happened with this project and I was not able to keep an eye on this, well let us start from the very beginning. From the point of where we should suppose to start and yes it's about installation.&lt;br /&gt;&lt;br /&gt;Alright to begin with,&lt;br /&gt;&lt;br /&gt;1. Install all the Linux packages/dependencies needed (please refer to my old blog on this http://consciencespeaks.blogspot.com/2008/06/getting-started-with-openser.html).&lt;br /&gt;&lt;br /&gt;2. Get the latest source package of OpenSIPs (currently it's 1.5.x series)&lt;br /&gt;&lt;br /&gt;wget http://opensips.org/pub/opensips/1.5.0/src/opensips-1.5.0-tls_src.tar.gz&lt;br /&gt;&lt;br /&gt;3. Unzip and extract the files&lt;br /&gt;&lt;br /&gt;tar xvzf opensips-1.5.0-tls_src.tar.gz&lt;br /&gt;&lt;br /&gt;4. cd to the source directory&lt;br /&gt;&lt;br /&gt;cd opensips-1.5.0-tls&lt;br /&gt;&lt;br /&gt;5. Do following for compilation and installation&lt;br /&gt;&lt;br /&gt;make clean&lt;br /&gt;make all&lt;br /&gt;make install    ; it seems to be simplified ah ;-) by default everything will be installed at /usr/local&lt;br /&gt;&lt;br /&gt;6. Now edit first openserctlrc&lt;br /&gt;&lt;br /&gt;vi /usr/local/etc/opensips/opensipsctlrc&lt;br /&gt;&lt;br /&gt;uncomment the line that says&lt;br /&gt;&lt;br /&gt;DBENGINE=MYSQL&lt;br /&gt;&lt;br /&gt;7. Now we can create the database for the OpenSIPs&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/opensipsdbctl create&lt;br /&gt;&lt;br /&gt;; this will prompt for mysql root password&lt;br /&gt;&lt;br /&gt;*Note that upon execution of this command it will create 2 users for OpenSIPs&lt;br /&gt;&lt;br /&gt;; by default the mysql database user created is:&lt;br /&gt;&lt;br /&gt;username: opensips&lt;br /&gt;password: opensipsrw&lt;br /&gt;&lt;br /&gt;8. Now edit opensips.cfg&lt;br /&gt;&lt;br /&gt;vi /usr/local/etc/opensips/opensips.cfg&lt;br /&gt;&lt;br /&gt;uncomment all lines in configuration file opensips.cfg which are related to&lt;br /&gt;    authentication:&lt;br /&gt;    - loadmodule "/usr/lib/opensips/modules/db_mysql.so"&lt;br /&gt;    - loadmodule "/usr/lib/opensips/modules/auth.so"&lt;br /&gt;    - loadmodule "/usr/lib/opensips/modules/auth_db.so"&lt;br /&gt;    - modparam("usrloc", "db_mode", 2)&lt;br /&gt;    - modparam("auth", "calculate_ha1", yes)&lt;br /&gt;    - modparam("auth_db", "password_column", "password")&lt;br /&gt;    - if (!www_authorize("sip.org", "subscriber")) {&lt;br /&gt;        www_challenge("sip.org", "0");&lt;br /&gt;        break;&lt;br /&gt;&lt;br /&gt;Make sure you change the two sip.org instances in the above config, to your&lt;br /&gt;domain, or realm. In my case, I changed this to 192.168.2.235 which was the&lt;br /&gt;IP address of this box.&lt;br /&gt;&lt;br /&gt;Also, be sure to comment out the following line:&lt;br /&gt;&lt;br /&gt;modparam("usrloc", "db_mode", 0)&lt;br /&gt;&lt;br /&gt;9. Now let us copy the init script so as to start OpenSIPs as service ( such as starting it at boot). Copy the openser.init which can be found on the base directory of the OpenSIPs source. In my case it is at /usr/src&lt;br /&gt;&lt;br /&gt;cp /usr/src/opensips-1.5.0-tls/packaging/rpm/opensips.init /etc/init.d/openser&lt;br /&gt;&lt;br /&gt;chmod 755 /etc/init.d/opensips&lt;br /&gt;/sbin/chkconfig --add opensips&lt;br /&gt;&lt;br /&gt;also before you start the openser correct the path of its service execution&lt;br /&gt;&lt;br /&gt;vi /etc/init.d/opensips&lt;br /&gt;&lt;br /&gt;change the following line&lt;br /&gt;&lt;br /&gt;osips=/usr/sbin/opensips&lt;br /&gt;&lt;br /&gt;with this one since we installed the binaries on path /usr/local&lt;br /&gt;&lt;br /&gt;osips=/usr/local/sbin/opensips&lt;br /&gt;&lt;br /&gt;10. Now you can start OpenSIPs service&lt;br /&gt;&lt;br /&gt;/sbin/service opensips start&lt;br /&gt;&lt;br /&gt;To check if it is running issue&lt;br /&gt;&lt;br /&gt;ps aux|grep opensips&lt;br /&gt;&lt;br /&gt;you should see something like this&lt;br /&gt;&lt;br /&gt;root      4210  0.3  0.6  43048  3548 ?        S    21:21   0:00 /usr/local/sbin/opensips -P /var/run/opensips.pid&lt;br /&gt;root      4214  0.0  0.2  43048  1216 ?        S    21:21   0:00 /usr/local/sbin/opensips -P /var/run/opensips.pid&lt;br /&gt;root      4217  0.0  0.2  43048  1140 ?        S    21:21   0:00 /usr/local/sbin/opensips -P /var/run/opensips.pid&lt;br /&gt;&lt;br /&gt;11. To test we will create user / SIP account to test our set up. We can do this by using the opensipsctl tool&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/opensipsctl add mytest 'abc123!@#'&lt;br /&gt;&lt;br /&gt;*Note you might encounter problem once you issued the command above and complaining for the SIP_DOMAiN. To fix that,&lt;br /&gt;issue the command as follows:&lt;br /&gt;&lt;br /&gt;export SIP_DOMAIN=192.168.2.235&lt;br /&gt;&lt;br /&gt;Now re issue the command for adding new user / SIP account&lt;br /&gt;&lt;br /&gt;12. Test it by registering a softphone and filling up the phone's registration info's. You should be able to register already.&lt;br /&gt;&lt;br /&gt;Here are some more helpful links:&lt;br /&gt;&lt;br /&gt;http://opensips.svn.sourceforge.net/viewvc/opensips/trunk/INSTALL&lt;br /&gt;&lt;br /&gt;Hope you find these stuffs useful. Thanks, Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8900580787666128744?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8900580787666128744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8900580787666128744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8900580787666128744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8900580787666128744'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/return-of-openser-opensips.html' title='The Return of the OpenSER (OpenSIPs)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6586089223266636506</id><published>2009-05-14T01:57:00.000-07:00</published><updated>2009-05-14T01:58:15.628-07:00</updated><title type='text'>Gumising sa katotohanan</title><content type='html'>I have to admit to myself na wla syang nararamdaman para sakin&lt;br /&gt;It's all illusion that I am trying to portray&lt;br /&gt;Everything is a false belief&lt;br /&gt;Everything is just a dream and fantasy&lt;br /&gt;&lt;br /&gt;Tama na ang ilusyon I have to face the truth&lt;br /&gt;Kailangan na akong mabuhay sa katotohanang di sya para sakin&lt;br /&gt;And there will be no chance para maging kami&lt;br /&gt;&lt;br /&gt;Napakahibang ko at nagpapaloko ako sa sarili kong ilusyon&lt;br /&gt;As if everything may come into reality&lt;br /&gt;Pero hinde eh&lt;br /&gt;Enough is enough for all these insanity&lt;br /&gt;For making myself to believe in the story telling I have in mind&lt;br /&gt;&lt;br /&gt;I am just hurting myself to realize that everything is just form of my imagination&lt;br /&gt;Kahibangang kailangan ng tigilan&lt;br /&gt;It is too much ... sobra na ang sakit...&lt;br /&gt;Ayoko ng umasa sa isang istoryang wla rin namang katuturan&lt;br /&gt;&lt;br /&gt;Ayoko ko ng mamuhay sa mundong puro pangarap na lng&lt;br /&gt;Let's stop this craziness, it's all worthless and futile&lt;br /&gt;Isara mo na ang telon ng pagkukunwari&lt;br /&gt;Ilibing ang damdamin na wla rin namang kapupuntahan&lt;br /&gt;&lt;br /&gt;Tma na ang ilusyon&lt;br /&gt;Gumising ka......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6586089223266636506?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6586089223266636506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6586089223266636506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6586089223266636506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6586089223266636506'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/gumising-sa-katotohanan.html' title='Gumising sa katotohanan'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5514319193818449736</id><published>2009-05-12T02:27:00.001-07:00</published><updated>2009-05-12T02:28:12.493-07:00</updated><title type='text'>Ngiti</title><content type='html'>Minamasdan kita&lt;br /&gt;Nang hindi mo alam&lt;br /&gt;Pinapangarap kong ikaw ay akin&lt;br /&gt;Mapupulang labi&lt;br /&gt;At matinkad mong ngiti&lt;br /&gt;Umaabot hanggang sa langit&lt;br /&gt;&lt;br /&gt;Huwag ka lang titingin sa akin&lt;br /&gt;At baka matunaw ang puso kong sabik&lt;br /&gt;&lt;br /&gt;Sa iyong ngiti ako'y nahuhumaling&lt;br /&gt;At sa tuwing ikaw ay gagalaw&lt;br /&gt;Ang mundo ko'y tumitigil&lt;br /&gt;Para lang sayo&lt;br /&gt;Ang awit ng aking puso&lt;br /&gt;Sana'y mapansin mo rin&lt;br /&gt;Ang lihim kong pagtingin&lt;br /&gt;&lt;br /&gt;Minamahal kita ng di mo alam&lt;br /&gt;Huwag ka sanang magagalit&lt;br /&gt;Tinamaan yata talaga ang aking puso&lt;br /&gt;Na dati akala ko'y manhid&lt;br /&gt;&lt;br /&gt;Hindi pa rin makalapit&lt;br /&gt;Inuunahan ng kaba sa aking dibdib&lt;br /&gt;&lt;br /&gt;Sa iyong ngiti ako'y nahuhumaling&lt;br /&gt;At sa tuwing ikaw ay lalapit&lt;br /&gt;Ang mundo ko'y tumitigil&lt;br /&gt;Ang pangalan mo sinisigaw ng puso&lt;br /&gt;Sana'y madama mo rin&lt;br /&gt;Ang lihim kong pagtingin&lt;br /&gt;&lt;br /&gt;Sa iyong ngiti ako'y nahuhumaling&lt;br /&gt;(Sa iyong ngiti)&lt;br /&gt;Sa tuwing ikaw ay gagalaw&lt;br /&gt;Ang mundo ko'y tumitigil&lt;br /&gt;Para lang sa'yo...&lt;br /&gt;(Para lang sa'yo ang awit ng aking puso)&lt;br /&gt;Sana ay mapansin mo rin...&lt;br /&gt;Ang lihim kong pagtingin&lt;br /&gt;Sa iyong ngiti...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5514319193818449736?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5514319193818449736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5514319193818449736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5514319193818449736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5514319193818449736'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/ngiti.html' title='Ngiti'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6339800773742280256</id><published>2009-05-12T02:22:00.000-07:00</published><updated>2009-05-12T02:25:22.988-07:00</updated><title type='text'>Lihim na Pagtingin</title><content type='html'>nahihiya akong aminin ang nararamdaman ko sayo&lt;br /&gt;di ko alam kung dapat ko bang ipagtapat sa yo&lt;br /&gt;O habang buhay ko na lng na itatago&lt;br /&gt;&lt;br /&gt;May bahagi sa puso ko na gusto ng magsalita&lt;br /&gt;Pero tikom ang bibig ko at halos wlang masabi&lt;br /&gt;Pilit na kinukubli ang tunay na nararamdaman&lt;br /&gt;Damdamin na matagal ng naghihintay ng pagkakataon&lt;br /&gt;Damdamin na umaasang magmahal at mahalin din&lt;br /&gt;&lt;br /&gt;Masaya akong araw araw kang pagmasdan&lt;br /&gt;Pero Masakit din dahil hanggang tanaw lang ang kaya kong magawa&lt;br /&gt;Umaasang darating ang araw na magkakalakas din ng loob&lt;br /&gt;Umaasang Magkakaroon din ng tapang balang araw&lt;br /&gt;&lt;br /&gt;Pero sa bawat pagkakataong ninais kong humakbang&lt;br /&gt;Di man lng ako makakilos at makapagsalita&lt;br /&gt;Para akong binuhasan ng yelo&lt;br /&gt;Para akong inawitan ng adarna at naging bato&lt;br /&gt;Wlang imik at tanging mga biro lng ang kayang sambitin&lt;br /&gt;&lt;br /&gt;Hindi ko alam kung bakit at parang may takot na pumipigil&lt;br /&gt;Takot na baka sa pagkakataong malaman mo&lt;br /&gt;Doon na mag iiba ang lahat&lt;br /&gt;Takot na sa pagkakataong masambit ng aking labi&lt;br /&gt;Ang mga bagay na tunay na nilalaman nito&lt;br /&gt;Iyon na ang magiging hudyat ng katapusan&lt;br /&gt;&lt;br /&gt;Mga pangarap na bigla na lang maglalaho na parang bula&lt;br /&gt;Mga panaginip na madalas kong himlayan ng mga pangarap&lt;br /&gt;Mga pangarap na minsa'y nanaginip na maging tayo man lng&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6339800773742280256?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6339800773742280256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6339800773742280256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6339800773742280256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6339800773742280256'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/05/lihim-na-pagtingin.html' title='Lihim na Pagtingin'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8812253032333627739</id><published>2009-03-20T21:30:00.000-07:00</published><updated>2009-03-20T21:31:29.189-07:00</updated><title type='text'>Enabling JSON on you PHP-Apache</title><content type='html'>Here are the steps to take to enable JSON on PHP. These instructions are specific for Linux OS.&lt;br /&gt;&lt;br /&gt;1. Install Pear&lt;br /&gt;&lt;br /&gt;    yum install php-pear&lt;br /&gt;&lt;br /&gt;2. Install PHP-devel&lt;br /&gt;&lt;br /&gt;    yum install php-devel   ; for phpize&lt;br /&gt;&lt;br /&gt;3. Install json extension&lt;br /&gt;&lt;br /&gt;    pecl install json  ;or&lt;br /&gt;    pear install json&lt;br /&gt;&lt;br /&gt;4. Edit php.ini and add on extension list&lt;br /&gt;&lt;br /&gt;    extension=json.so&lt;br /&gt;&lt;br /&gt;5. Save this and restart Apache&lt;br /&gt;&lt;br /&gt;And you're done. You now have json enabled on your LAMP server.&lt;br /&gt;&lt;br /&gt;Hope you find these useful. Thanks, CHeers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8812253032333627739?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8812253032333627739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8812253032333627739' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8812253032333627739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8812253032333627739'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/03/enabling-json-on-you-php-apache.html' title='Enabling JSON on you PHP-Apache'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4623889285166564404</id><published>2009-02-06T22:26:00.000-08:00</published><updated>2009-02-06T22:35:21.474-08:00</updated><title type='text'>Setting up a scheduler in Linux (Cron Jobs: Crontab tutorial)</title><content type='html'>There are cases wherein we have to execute a command or a script say for daily basis for some maintenance purposes. In Linux there is a way that we could do it. It is through crontab (a cron job).&lt;br /&gt;&lt;br /&gt;Assuming that we want to execute a command. Say we want to reset and resync our clock time with NTP server pool.&lt;br /&gt;&lt;br /&gt;a.) Set up for scheduling command&lt;br /&gt;&lt;br /&gt;The first thing to do is to locate the complete path of the command. So for our example let us locate where the complete path for ntpdate command is. Issue this command:&lt;br /&gt;&lt;br /&gt;  # whereis ntpdate&lt;br /&gt;&lt;br /&gt;This will show you the different paths like this:&lt;br /&gt;&lt;br /&gt;ntpdate: /usr/sbin/ntpdate /usr/share/man/man8/ntpdate.8.gz&lt;br /&gt;&lt;br /&gt;Just take note of the bin or sbin path of the command. So in our case it is /usr/sbin/ntpdate.&lt;br /&gt;&lt;br /&gt;b.) for scripts here's the set up&lt;br /&gt;&lt;br /&gt;First create your script. If it is a shell script then on the first line of code you must have this. For other scripts like PHP just google out there and surely you will find many.&lt;br /&gt;&lt;br /&gt;  #!/bin/sh&lt;br /&gt;&lt;br /&gt;Save your script. Set the file permission to 775 by issuing:&lt;br /&gt;&lt;br /&gt;  # chmod 775 (script)&lt;br /&gt;&lt;br /&gt;Take note of the path where you saved the script we need this later on.&lt;br /&gt;&lt;br /&gt;Next we'll open the crontab file by issuing this command.&lt;br /&gt;&lt;br /&gt;  # crontab -e&lt;br /&gt;&lt;br /&gt;The flag 'e' signifies editing of the crontab file.&lt;br /&gt;&lt;br /&gt;Once you're prompted on a file like this&lt;br /&gt;&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;"/tmp/crontab.XXXXtkRgpi" 7L, 546C&lt;br /&gt;&lt;br /&gt;Press 'i' or insert key then you can start writing your schedules. When you are done. Just press escape key then press colon then 'w' and 'q' (:wq (a vi editor way of saving remember..)).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Before we proceed let me just discuss the format of the syntax that you will be enterring here.&lt;br /&gt;&lt;br /&gt;* * * * * /complete/path/to/script/(command / filename of script to execute)&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt;*/1 * * * * /usr/sbin/ntpdate north-america.pool.ntp.org &gt; /dev/null 2&gt;&amp;amp;1&lt;br /&gt;&lt;br /&gt;Let me explain...&lt;br /&gt;&lt;br /&gt;the first * denotes minute (it can be from 0 - 59) minute&lt;br /&gt;the second * denotes hour (military time 0 - 23) hour&lt;br /&gt;the third is day of month (1 - 31)&lt;br /&gt;4th is month (1 - 12)&lt;br /&gt;5th the last one is day of week (0 - 6) 0 = Sunday&lt;br /&gt;&lt;br /&gt;Say you want a schedule everyday at 12 midnight... here is an example&lt;br /&gt;&lt;br /&gt;0 0 * * * /complete/path/to/script/(command / filename of script to execute)&lt;br /&gt;&lt;br /&gt;If you want to execute per minute, here is how&lt;br /&gt;&lt;br /&gt;*/1 * * * * /usr/sbin/ntpdate north-america.pool.ntp.org &gt; /dev/null 2&gt;&amp;amp;1&lt;br /&gt;&lt;br /&gt;To list your current active cron jobs, issue:&lt;br /&gt;&lt;br /&gt;  # crontab -l&lt;br /&gt;&lt;br /&gt;I hope you find these stuffs useful. Thanks, Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4623889285166564404?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4623889285166564404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4623889285166564404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4623889285166564404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4623889285166564404'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/02/setting-up-scheduler-in-linux-cron-jobs.html' title='Setting up a scheduler in Linux (Cron Jobs: Crontab tutorial)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5608532736159351402</id><published>2009-02-05T01:52:00.000-08:00</published><updated>2009-02-05T01:58:05.009-08:00</updated><title type='text'>Fixed PHP compile error: Note that the MySQL client library is not bundled anymore!</title><content type='html'>Just a note that is worth be reminded for all CentOS version 5 users. One of the issues being encountered on compiling PHP with MySQL is the error:&lt;br /&gt;&lt;br /&gt;&lt;pre class="note"&gt;Note that the MySQL client library is not bundled anymore!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now how are you going to fix this?? Here's how.&lt;br /&gt;&lt;br /&gt;On your configure command just locate or point the mysql lib base dir in my case it is on /usr&lt;br /&gt;&lt;br /&gt;so just do ./configure --with-mysql=/usr&lt;br /&gt;&lt;br /&gt;That will resolve your problem.&lt;br /&gt;&lt;br /&gt;Hope this helps. Thanks, Cheers and God Bless!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5608532736159351402?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5608532736159351402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5608532736159351402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5608532736159351402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5608532736159351402'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/02/fixed-php-compile-error-note-that-mysql.html' title='Fixed PHP compile error: Note that the MySQL client library is not bundled anymore!'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-3132733983307684265</id><published>2009-02-05T00:47:00.000-08:00</published><updated>2009-02-05T00:54:17.712-08:00</updated><title type='text'>Hardening PHP (Protecting your PHP from Flaws)</title><content type='html'>There are rumors going on out there that PHP has some pitfalls. This could lead up to some security risk most especially if you have a PHP application dealing with the outside world. To avoid this, some nice guys out there developed a 'guardian angel' for PHP. The guardian angel I am referring into is the suhosin. Yes suhosin is a korean word which mean 'guardian angel'. It is a PHP extension the secures PHP from its pitfalls or vulnerability.&lt;br /&gt;&lt;br /&gt;I will discuss here on how to have this cool stuff on your PHP settings.&lt;br /&gt;&lt;br /&gt;1. First download the suhosin signature key. Goto /usr/src then issue this command&lt;br /&gt;&lt;br /&gt;  # wget http://www.hardened-php.net/hardened-php-signature-key.asc&lt;br /&gt;&lt;br /&gt;2. Import it into the GNU Privacy Guard&lt;br /&gt;&lt;br /&gt;  # gpg --import &lt; hardened-php-signature-key.asc&lt;br /&gt;&lt;br /&gt;3. Download the suhosin source&lt;br /&gt;&lt;br /&gt;  # wget http://download.suhosin.org/suhosin-0.9.27.tgz&lt;br /&gt;&lt;br /&gt;4. Unpack the package&lt;br /&gt;&lt;br /&gt;  # tar xvzf suhosin-0.9.27.tgz&lt;br /&gt;&lt;br /&gt;5. cd suhosin-0.9.27&lt;br /&gt;&lt;br /&gt;6. After getting into the suhosin directory, issue the following&lt;br /&gt;&lt;br /&gt;  # phpize&lt;br /&gt;  # ./configure&lt;br /&gt;  # make&lt;br /&gt;  # make install&lt;br /&gt;&lt;br /&gt;7. The library suhosin.so is most likely installed on /usr/src/suhosin-0.9.27/modules or it can be on /usr/local/lib/php/extensions/no-debug-non-zts-20060613/suhosin.so&lt;br /&gt;&lt;br /&gt;8. copy the suhosin.so to /usr/local/lib/php/extensions that is if you have installed php from source. Check other resources if you did not.&lt;br /&gt;&lt;br /&gt;  # cp /usr/src/suhosin-0.9.27/modules/suhosin.so /usr/local/lib/php/extensions&lt;br /&gt;&lt;br /&gt;9. Open the php.ini&lt;br /&gt;&lt;br /&gt;  # vi /usr/local/lib/php.ini&lt;br /&gt;&lt;br /&gt;10. Set the following parameters on php.ini&lt;br /&gt;&lt;br /&gt;  extension_dir = "/usr/local/lib/php/extensions/"&lt;br /&gt;&lt;br /&gt;  extension=suhosin.so&lt;br /&gt;&lt;br /&gt;11. save it then restart apache&lt;br /&gt;&lt;br /&gt;12. You should now see the suhosin among the enabled extension on your PHP. Check on the phpinfo for this.&lt;br /&gt;&lt;br /&gt;Hope you find these info useful. Cheers, Thanks and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-3132733983307684265?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/3132733983307684265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=3132733983307684265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3132733983307684265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3132733983307684265'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/02/hardening-php-protecting-your-php-from.html' title='Hardening PHP (Protecting your PHP from Flaws)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5856738148544556787</id><published>2009-02-03T00:03:00.000-08:00</published><updated>2009-02-03T00:06:29.145-08:00</updated><title type='text'>Smart Host: Relaying Mails from Sendmail to Gmail</title><content type='html'>There are cases wherein the mails that are being sent from server does not arrive at the recipient's inbox. One possible cause is that the mail was considered a spam. One solution that can be done, dealing with this issue, is to relay the emails to a trusted SMTP host say like Gmail. How are we going to do it here is how.&lt;br /&gt;&lt;br /&gt;First you need to have sendmail a native MTA for Linux. Here are the packages you need to have&lt;br /&gt;&lt;br /&gt;  - sendmail&lt;br /&gt;  - senmail-cf  &lt;br /&gt;  - sendmail-devel&lt;br /&gt;&lt;br /&gt;All of these packages can be installed via yum.&lt;br /&gt;&lt;br /&gt;Next enable the smart host feature on sendmail. Open the sendmail configuration file.&lt;br /&gt;&lt;br /&gt;  vi /etc/mail/sendmail.mc&lt;br /&gt;&lt;br /&gt;Change this:&lt;br /&gt;&lt;br /&gt;dnl define(`SMART_HOST',`smtp.gmail.com')dnl&lt;br /&gt;&lt;br /&gt;to:&lt;br /&gt;&lt;br /&gt;define(`SMART_HOST',`smtp.gmail.com')dnl&lt;br /&gt;&lt;br /&gt;Next add this entry before the entry of smart host.&lt;br /&gt;&lt;br /&gt;FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl&lt;br /&gt;&lt;br /&gt;If you don't have an /etc/mail/auth directory, as root, create one like this:&lt;br /&gt;&lt;br /&gt;  # mkdir -p /etc/mail/auth&lt;br /&gt;  # chmod 700 /etc/mail/auth&lt;br /&gt;&lt;br /&gt;You won't have the next client-info files so you'll have to create it (with you favorite Unix editor). Change the permissions on the client-info file like this:&lt;br /&gt;&lt;br /&gt;  # chmod 600 client-info&lt;br /&gt;&lt;br /&gt;So using my user_id@gmail.com email ID and password I made the following entry in /etc/mail/auth/client-info:&lt;br /&gt;&lt;br /&gt;  # cat /etc/mail/auth/client-info&lt;br /&gt;  AuthInfo:smtp.gmail.com "U:smmsp" "I:user_id" "P:password" "M:PLAIN"&lt;br /&gt;  AuthInfo:smtp.gmail.com:587 "U:smmsp" "I:user_id" "P:password" "M:PLAIN"&lt;br /&gt;&lt;br /&gt;Yes, password is plain text. It is possible to encode the password but I don't have those instructions here.&lt;br /&gt;&lt;br /&gt;Remember to replace user_id with your Gmail email ID (your email addresse without the @gmail.com) and password with your email password. Also make sure that the client-info file has a&lt;br /&gt;&lt;br /&gt;How to compile it into a db file:&lt;br /&gt;&lt;br /&gt;  # cd /etc/mail/auth&lt;br /&gt;  # makemap -r hash client-info.db &lt;&gt; sendmail.cf&lt;br /&gt;&lt;br /&gt;And lastly restart sendmail:&lt;br /&gt;&lt;br /&gt;  # /sbin/service sendmail restart&lt;br /&gt;&lt;br /&gt;Now you can test it....&lt;br /&gt;&lt;br /&gt;Hope you find this useful. Thanks, Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5856738148544556787?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5856738148544556787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5856738148544556787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5856738148544556787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5856738148544556787'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/02/smart-host-relaying-mails-from-sendmail.html' title='Smart Host: Relaying Mails from Sendmail to Gmail'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4333678534212117052</id><published>2009-02-02T19:08:00.000-08:00</published><updated>2009-02-02T19:11:02.642-08:00</updated><title type='text'>Some Linux Network Configurations and Files</title><content type='html'>I just wanted to list some of the common files or configurations in Linux for networking.&lt;br /&gt;&lt;br /&gt;NETWORK Stuff&lt;br /&gt;&lt;br /&gt;1.) /etc/sysconfig/network&lt;br /&gt;  -this one contains the hostname configuration of the machine so if you want to change the machine hostname do it here&lt;br /&gt;  - Sometimes the GATEWAY is configured here&lt;br /&gt;&lt;br /&gt;2.) /etc/sysconfig/network-scripts/ifcfg-eth#&lt;br /&gt;&lt;br /&gt;  Ex. ifcfg-eth0 means eth0 , ifcfg-eth1 means eth1 or ethernet 1 or NIC 1&lt;br /&gt;  - the Network / LAN configuration of the machine where its IP is configured&lt;br /&gt;  - ifcfg-eth0:0 when there is a colon it means it is a virtual ethernet&lt;br /&gt;&lt;br /&gt;3.) /etc/hosts&lt;br /&gt;  -local base bind or name service to resolve hostname&lt;br /&gt;&lt;br /&gt;4.) /etc/resolv.conf&lt;br /&gt;  - DNS settings of the local machine&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4333678534212117052?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4333678534212117052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4333678534212117052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4333678534212117052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4333678534212117052'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/02/some-linux-network-configurations-and.html' title='Some Linux Network Configurations and Files'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6211841144794846306</id><published>2009-01-29T20:39:00.000-08:00</published><updated>2009-01-29T20:40:54.039-08:00</updated><title type='text'>Fixing Error "cannot open shared object file: No such file or directory"</title><content type='html'>There are instances during our installation that a shared object, commonly on .so files, cannot be openned or located. To fix this issue here are the steps to take.&lt;br /&gt;&lt;br /&gt;1. locate the .so or object file that cannot be opened&lt;br /&gt;   &lt;br /&gt;    locate (objectname).so&lt;br /&gt;&lt;br /&gt;    Ex. locate libmp4.so&lt;br /&gt;&lt;br /&gt;    -you will get the path&lt;br /&gt;&lt;br /&gt;    /usr/local/lib/libmp4.so.0&lt;br /&gt;&lt;br /&gt;2. Take note of its path&lt;br /&gt;&lt;br /&gt;3. Open ld.so.conf, usually it is on /etc/ld.so.conf&lt;br /&gt;&lt;br /&gt;    vi /etc/ld.so.conf&lt;br /&gt;&lt;br /&gt;4. Add at the end the path of the shared object&lt;br /&gt;&lt;br /&gt;    include ld.so.conf.d/*.conf&lt;br /&gt;    /usr/local/lib/&lt;br /&gt;&lt;br /&gt;5. Save it then issue this command&lt;br /&gt;&lt;br /&gt;    /sbin/ldconfig&lt;br /&gt;&lt;br /&gt;-- You're done&lt;br /&gt;&lt;br /&gt;Hope you find this helpful. Thanks and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6211841144794846306?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6211841144794846306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6211841144794846306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6211841144794846306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6211841144794846306'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/fixing-error-cannot-open-shared-object.html' title='Fixing Error &quot;cannot open shared object file: No such file or directory&quot;'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6782674630438144446</id><published>2009-01-29T02:16:00.000-08:00</published><updated>2009-02-05T02:31:25.314-08:00</updated><title type='text'>Setting up a LAMP Server</title><content type='html'>It is a common task for Linux System Administrators to set up and to establish a web server. On Linux Systems it is common to have Linux, Apache, MySQL and PHP for production. In this tutorial I'll show you on how to set up LAMP with the latest Httpd (Apache), MySQL, and PHP. Here I'll be using CentOS 4.7.&lt;br /&gt;&lt;br /&gt;Actually you can have a LAMP running Apache 2.0, PHP 5.1 and MySQL 5.0 on CentOS 4/RH4 easily with yum. How?&lt;br /&gt;Here it is:&lt;br /&gt;&lt;br /&gt;To install apache 2.0&lt;br /&gt;yum --enablerepo=centosplus install httpd&lt;br /&gt;To install mysql 5.1&lt;br /&gt;yum --enablerepo=centosplus install mysql mysql-server&lt;br /&gt;To install PHP 5.1&lt;br /&gt;yum --enablerepo=centosplus install php&lt;br /&gt;&lt;br /&gt;Then you are done you have a CentOS 4.x running Apache 2.0 MySQL 5.1 and PHP 5.1. Hmmm quite nice isn't it.&lt;br /&gt;&lt;br /&gt;But how about if you really insist to have the latest. Well then here is how.&lt;br /&gt;&lt;br /&gt;Of course you have to remove all the old Apache, PHP and MySQL instances. Here's how to do it.&lt;br /&gt;&lt;br /&gt;1. First check if they are currently installed&lt;br /&gt;rpm -qa|grep httpd  ;to check if Apache is installed&lt;br /&gt;rpm -qa|grep mysql  ; to check if mysql is installed&lt;br /&gt;rpm -qa|grep php ; to check if php is installed&lt;br /&gt;&lt;br /&gt;2. If they are installed then remove them&lt;br /&gt;yum remove httpd&lt;br /&gt;yum remove mysql&lt;br /&gt;yum remove php&lt;br /&gt;&lt;br /&gt;3. Remove the remaining traces or dependencies of it&lt;br /&gt;rpm -qa|grep php&lt;br /&gt;&lt;br /&gt;you will see here like&lt;br /&gt;&lt;br /&gt;php-common&lt;br /&gt;php-pdo&lt;br /&gt;&lt;br /&gt;remove them via&lt;br /&gt;&lt;br /&gt;rpm -e php-common php-pdo&lt;br /&gt;&lt;br /&gt;do the same thing on httpd and mysql&lt;br /&gt;&lt;br /&gt;rpm -qa|grep (packagename)&lt;br /&gt;&lt;br /&gt;then remove remaining traces&lt;br /&gt;&lt;br /&gt;rpm -e (packagename)&lt;br /&gt;&lt;br /&gt;4. Once all is clean we can start downloading all the latest packages for our new LAMP&lt;br /&gt;&lt;br /&gt;Installing Apache&lt;br /&gt;&lt;br /&gt;1. Goto /usr/src&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;&lt;br /&gt;1. Get the latest apache server say 2.2.x&lt;br /&gt;&lt;br /&gt;wget http://apache.mirrors.biblionix.com/httpd/httpd-2.2.11.tar.gz&lt;br /&gt;&lt;br /&gt;2. Extract it&lt;br /&gt;&lt;br /&gt;tar xvzf httpd-2.2.11.tar.gz&lt;br /&gt;&lt;br /&gt;3. cd httpd-2.2.11&lt;br /&gt;&lt;br /&gt;4. then under the httpd folder do the following&lt;br /&gt;&lt;br /&gt;./configure&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;br /&gt;By default the apache is installed at /usr/local/apache2 folder&lt;br /&gt;&lt;br /&gt;5. Set the necessary configuration you want for your web server&lt;br /&gt;&lt;br /&gt;vi /usr/local/apache2/conf/httpd.conf&lt;br /&gt;&lt;br /&gt;in my case I set my document root on /var/www/html&lt;br /&gt;to avoid directoy listing do this&lt;br /&gt;On directory directive you will see this&lt;br /&gt;&lt;br /&gt;Options Indexes FollowSymLinks&lt;br /&gt;&lt;br /&gt;make it like this&lt;br /&gt;&lt;br /&gt;Options -Indexes FollowSymLinks&lt;br /&gt;&lt;br /&gt;well enough on httpd configurations we'll have more on our next discussions to follow&lt;br /&gt;&lt;br /&gt;6. To make the httd start at boot, we'll put it on Linux services. How?&lt;br /&gt;&lt;br /&gt;- copy first the apachectl script from the httpd folder&lt;br /&gt;&lt;br /&gt;cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd&lt;br /&gt;&lt;br /&gt;- we put it on under init.d since all start up scripts are under this folder and being executed upon boot&lt;br /&gt;&lt;br /&gt;- we're not done yet. Open httpd startup script.&lt;br /&gt;&lt;br /&gt;vi /etc/init.d/httpd&lt;br /&gt;&lt;br /&gt;- Add the following entries after the second line&lt;br /&gt;&lt;br /&gt;# chkconfig: - 85 15&lt;br /&gt;# description: Apache Web server&lt;br /&gt;&lt;br /&gt;- let us add it on the Linux services&lt;br /&gt;&lt;br /&gt;/sbin/chkconfig --add httpd&lt;br /&gt;&lt;br /&gt;- then set it to start on running levels 345&lt;br /&gt;&lt;br /&gt;/sbin/chkconfig --level 345 httpd on&lt;br /&gt;&lt;br /&gt;- check if it is set well&lt;br /&gt;&lt;br /&gt;/sbin/chkconfig --list|grep httpd&lt;br /&gt;&lt;br /&gt;- you should see this&lt;br /&gt;&lt;br /&gt;httpd           0:off   1:off   2:off   3:on    4:on    5:on    6:off&lt;br /&gt;&lt;br /&gt;7. Now start the httpd service by&lt;br /&gt;&lt;br /&gt;/sbin/service httpd start&lt;br /&gt;&lt;br /&gt;8. to check if it is running&lt;br /&gt;&lt;br /&gt;/sbin/service httpd status  (only works for apache installed via rpm or yum)&lt;br /&gt;&lt;br /&gt;or do&lt;br /&gt;&lt;br /&gt;ps aux|grep httpd (works for all so just do this in our case)&lt;br /&gt;&lt;br /&gt;- you should see either of the following&lt;br /&gt;&lt;br /&gt;root     27093  0.0  0.1  4108 1808 ?        Ss   14:31   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27114  0.0  0.1  4108 1640 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27115  0.0  0.1  4108 1300 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27116  0.0  0.1  4120 1648 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27117  0.0  0.1  4108 1648 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27118  0.0  0.1  4108 1300 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;apache   27119  0.0  0.1  4108 1300 ?        S    14:32   0:00 /usr/local/apache2/bin/httpd -k start&lt;br /&gt;&lt;br /&gt;-- now you have a running Apache server version 2.2&lt;br /&gt;&lt;br /&gt;Installing MySQL&lt;br /&gt;&lt;br /&gt;We'll do the RPM way of installing this one.&lt;br /&gt;&lt;br /&gt;1. First you have to know what version of CentOS you have and what platform are you working in with.&lt;br /&gt;- to know what platform are you working with issue the command&lt;br /&gt;&lt;br /&gt;uname -i ; this will display or echo the platfrom in my case its i386&lt;br /&gt;&lt;br /&gt;- to know what OS version are you running with open this file or just do cat&lt;br /&gt;&lt;br /&gt;cat /etc/redhat-release ; this will display the OS version in my case it's CentOS release 4.7 (Final)&lt;br /&gt;&lt;br /&gt;2. Since we're running i386 platform and version 4.x CentOS we'll download the necessary MySQL rpm packages suitable to this platfrom. In this case it is x86 or Red Hat Enterprise Linux 4 RPM (x86) downloads. Here are the things we need.&lt;br /&gt;&lt;br /&gt;- MySQL-server-community-5.1.30-0.rhel4.i386.rpm&lt;br /&gt;- MySQL-client-community-5.1.30-0.rhel4.i386.rpm&lt;br /&gt;- MySQL-devel-community-5.1.30-0.rhel4.i386.rpm&lt;br /&gt;- MySQL-shared-community-5.1.30-0.rhel4.i386.rpm&lt;br /&gt;&lt;br /&gt;- so let's download them&lt;br /&gt;&lt;br /&gt;wget http://(Mirror-linkname)/(rpmpackagename)&lt;br /&gt;&lt;br /&gt;3. Once all neede packages are downloaded we can now install them. Issue the following command&lt;br /&gt;&lt;br /&gt;- to install each of the packages issue this&lt;br /&gt;&lt;br /&gt;rpm -ivh (packagename)&lt;br /&gt;&lt;br /&gt;Ex. rpm -ivh MySQL-server-community-5.1.30-0.rhel4.i386.rpm&lt;br /&gt;&lt;br /&gt;4. Then ensure that mysql service can start at boot.&lt;br /&gt;&lt;br /&gt;/sbin/chkconfig --list|grep mysql&lt;br /&gt;&lt;br /&gt;- you should see this&lt;br /&gt;&lt;br /&gt;mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off&lt;br /&gt;&lt;br /&gt;- if it is not then make sure it runs / start on run level 345&lt;br /&gt;&lt;br /&gt;/sbin/chkconfig --level 345 mysql on&lt;br /&gt;&lt;br /&gt;5. Start MySQL service&lt;br /&gt;&lt;br /&gt;/sbin/service mysql start&lt;br /&gt;&lt;br /&gt;6. By default MySQL root has no password so just set its password say by installing first phpMyAdmin then reset password there or just go using the mysqladmin or mysql console command to reset password.&lt;br /&gt;&lt;br /&gt;-- Now you have a running MySQL server version 5.1.x&lt;br /&gt;&lt;br /&gt;Installation of PHP&lt;br /&gt;&lt;br /&gt;Before we proceed on installing PHP we need the following to be installed first. These packages are known and commonly used on web development such as XML, web service and others&lt;br /&gt;&lt;br /&gt;- curl  (compile from source or you can do yum)&lt;br /&gt;- curl-devel (if you did yum on curl)&lt;br /&gt;- zlib    (compile from source or do yum)&lt;br /&gt;- libxml2   (compile from source or do yum)&lt;br /&gt;- libxml2-devel (if you did yum on libxml2)&lt;br /&gt;- openssl  (you can do yum on this one)&lt;br /&gt;- libpng (do yum here)&lt;br /&gt;- libpng-devel (do yum here)&lt;br /&gt;- gd (do yum)&lt;br /&gt;- gd-devel (do yum)&lt;br /&gt;&lt;br /&gt;Once all of these package are installed we can proceed on php installation.&lt;br /&gt;&lt;br /&gt;1. Get the latest PHP packages from php.net&lt;br /&gt;&lt;br /&gt;2. Goto /usr/src&lt;br /&gt;&lt;br /&gt;3. Extract it there&lt;br /&gt;&lt;br /&gt;4. cd php-5.x/&lt;br /&gt;&lt;br /&gt;5. then issue this&lt;br /&gt;&lt;br /&gt;./configure --with-mysql --enable-soap --with-apxs2=/usr/local/apache2/bin/apxs --enable-ftp --with-curl --with-curlwrappers --with-zlib --with-gettext --with-gd&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;make install&lt;br /&gt;&lt;br /&gt;6. You now have installed PHP 5.x&lt;br /&gt;&lt;br /&gt;7. There are things to verify to make PHP5 really running. How? Create you phpinfo.&lt;br /&gt;&lt;br /&gt;8. If phpinfo is not displaying any content at all then there must have any problem on the httpd configuration. Here are the things that you should ensure to have on you httpd.conf&lt;br /&gt;&lt;br /&gt;LoadModule php5_module        modules/libphp5.so   ; by default this is placed by PHP installer&lt;br /&gt;&lt;br /&gt;DirectoryIndex index.php index.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;AddType application/x-httpd-php .php&lt;br /&gt;&lt;br /&gt;AddHandler php5-script .php&lt;br /&gt;&lt;br /&gt;AddType text/html .shtml .php&lt;br /&gt;&lt;br /&gt;9. Save your changes on the httpd.conf and restart apache.&lt;br /&gt;&lt;br /&gt;10. Check again your phpinfo it should display the current PHP and apache settings.&lt;br /&gt;&lt;br /&gt;11. By the way sometimes php.ini is not set up so just copy the php.ini to the configuration path check phpinfo for the right path&lt;br /&gt;&lt;br /&gt;- on phpinfo you will see&lt;br /&gt;&lt;br /&gt;Configuration File (php.ini) Path     /usr/local/lib&lt;br /&gt;&lt;br /&gt;- copy the recommended php.ini settings&lt;br /&gt;&lt;br /&gt;cp /usr/src/php-5.X/php.ini-recommended /usr/local/lib/php.ini&lt;br /&gt;&lt;br /&gt;-by the way you should always restart your Apache service after saving any changes you applied on php.ini.&lt;br /&gt;&lt;br /&gt;=== Now you have the latest LAMP running.&lt;br /&gt;&lt;br /&gt;Hope you find these useful. Thanks, Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6782674630438144446?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6782674630438144446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6782674630438144446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6782674630438144446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6782674630438144446'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/setting-up-lamp-server.html' title='Setting up a LAMP Server'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-9097086084773899536</id><published>2009-01-29T02:14:00.000-08:00</published><updated>2009-01-29T02:15:35.538-08:00</updated><title type='text'>Local Channel in Asterisk</title><content type='html'>Local channel in asterisk is usually use to connect two or more call legs. It is usually done via Manager API, AGI or thru a call file dumped on /var/spool/asterisk/outgoing/&lt;br /&gt;&lt;br /&gt;If you're going to call Local channel and want to monitor its call durations use the '/n' flag.&lt;br /&gt;&lt;br /&gt;Here it is&lt;br /&gt;&lt;br /&gt;Local/extension@context[/n]&lt;br /&gt;&lt;br /&gt;Here is an example, a snippet of a script&lt;br /&gt;&lt;br /&gt;fputs($socket, "Channel: Local/1$number@wakeout&lt;span style="font-weight: bold;"&gt;/n&lt;/span&gt;\r\n"); &lt;br /&gt;fputs($socket, "Context: wakeout\r\n");&lt;br /&gt;fputs($socket, "Exten: waketest\r\n");&lt;br /&gt;fputs($socket, "Priority: 1\r\n");&lt;br /&gt;&lt;br /&gt;This is important most especially for billing purposes.&lt;br /&gt;&lt;br /&gt;Hope you find this helpful. Thanks, CHeers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-9097086084773899536?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/9097086084773899536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=9097086084773899536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/9097086084773899536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/9097086084773899536'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/local-channel-in-asterisk.html' title='Local Channel in Asterisk'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-154204150894945921</id><published>2009-01-27T18:51:00.000-08:00</published><updated>2009-01-27T18:52:42.522-08:00</updated><title type='text'>Resolve False Hangup Detection on TDM400 on Asterisk</title><content type='html'>One of the issue I have encountered on digium card specifically TDM is the hangup detection. Some indications that you have this problem are: 1.) Random hangups 2.) Incoming calls still get through even if the outside caller has already hangup. Here are the possible solutions that can be done with it.&lt;br /&gt;&lt;br /&gt;Set the following entries on your chan_dahdi.conf (that is if it is dahdi if not it is zapata.conf)&lt;br /&gt;&lt;br /&gt;; first is the polarity switching&lt;br /&gt;; most of the countries supports polarity reversal whenever answer or hangup happens&lt;br /&gt;&lt;br /&gt;hanguponpolarityswitch = yes&lt;br /&gt;answeronpolarityswitch = yes&lt;br /&gt;&lt;br /&gt;;detect busy&lt;br /&gt;busydetect = yes&lt;br /&gt;;count the busy tones&lt;br /&gt;busycount = 6&lt;br /&gt;;set call progess works in mine&lt;br /&gt;callprogress = yes&lt;br /&gt;; set progress zone&lt;br /&gt;progzone=ph ; in my case it's Philippines&lt;br /&gt;&lt;br /&gt;After that you have to restart Asterisk for the changes to take effect. Then test the result.&lt;br /&gt;&lt;br /&gt;I do hope you find these helpful. Thanks, Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-154204150894945921?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/154204150894945921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=154204150894945921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/154204150894945921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/154204150894945921'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/resolve-false-hangup-detection-on.html' title='Resolve False Hangup Detection on TDM400 on Asterisk'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8254374403241421678</id><published>2009-01-24T00:51:00.000-08:00</published><updated>2009-01-24T01:51:28.072-08:00</updated><title type='text'>Basics Sometimes are forgotten (Fixing few Windows issue)</title><content type='html'>I was really upset when I found my workstation not booting up. I just  learned that my workstation got a virus. It was infected when I plug my USB drive. The worst is I don't have any anti-virus on my workstation. By the way the workstation that I have at the office is Windows based. Then I don't have any idea what to do next since my workstation does not resume or load the login window. A co-worker of mine told me of this basics. He told me that I can load back or boot my windows workstation on the last working configuration. Hmmmm I didn't know that. So here was what he suggested me to do.&lt;br /&gt;&lt;br /&gt;1. Reboot / reset the windows machine&lt;br /&gt;2. Upon boot press repeatedly the F8 to go to the advance windows menu configuration&lt;br /&gt;3. Select "Last Working Configuration"&lt;br /&gt;4. Then you're done...&lt;br /&gt;&lt;br /&gt;But if ever you have to repair the windows OS then you have to use an installation CD to fix your problem.&lt;br /&gt;&lt;br /&gt;1. Reset your machine&lt;br /&gt;2. Upon booting press repeatedly the delete button to goto the BIOS settings&lt;br /&gt;3. Select to boot first on the CD-ROM&lt;br /&gt;4. Then there you go ...&lt;br /&gt;&lt;br /&gt;Hope you find this helpful. Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8254374403241421678?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8254374403241421678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8254374403241421678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8254374403241421678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8254374403241421678'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/basics-sometimes-are-forgotten.html' title='Basics Sometimes are forgotten (Fixing few Windows issue)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-6455313141401295153</id><published>2009-01-24T00:48:00.000-08:00</published><updated>2009-01-24T00:50:25.434-08:00</updated><title type='text'>Protecting Your Linux Systems</title><content type='html'>ALthough Linux is said to be a very secured OS. It is still highly recommended to install applications that will enhance its security and integrity. There are many kinds of threats out there that could really trip up a system. To name few are virus, rootkits, brute force attack and etc.&lt;br /&gt;&lt;br /&gt;Here are some softwares that you can install on your Linux system and few of them are must to have.&lt;br /&gt;&lt;br /&gt;- Netfilter's IPTables  (firewall) ; of course you should enable it and set your rules&lt;br /&gt;- fail2ban ; need this if ever there are ports / services that will be openned to the public say ssh&lt;br /&gt;- chkrootkit  ; this one is like a check up of the Linux files integrity&lt;br /&gt;- clamav (optional) -  this one is an anti virus but actually Linux sometimes does not require it&lt;br /&gt;&lt;br /&gt;Ok those are just few that I know you can have on your system.&lt;br /&gt;&lt;br /&gt;Hope you find this brief discussion helpful. Cheers and God Bless!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-6455313141401295153?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/6455313141401295153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=6455313141401295153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6455313141401295153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/6455313141401295153'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/protecting-your-linux-systems.html' title='Protecting Your Linux Systems'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-3049306522571468486</id><published>2009-01-23T01:15:00.000-08:00</published><updated>2009-01-23T01:17:03.313-08:00</updated><title type='text'>Asterisk DTMF Issue Fixed</title><content type='html'>One of the issues that is known with Asterisk is the reliability on how it handles DTMF. By the way what is DTMF. DTMF in layman's term is touch tone. This are the digits being dialed. We usually encounter this when we call a customer service where we're asked to dial a certain option. Say "Press 1 for sales .....".&lt;br /&gt;&lt;br /&gt;One problem that I encountered on this was how poorly the Asterisk server accepts DTMF or send DTMF. Actually this is not an Asterisk issue but the way how the Asterisk is configured.&lt;br /&gt;&lt;br /&gt;Is there a resolution to it? Well, there is.&lt;br /&gt;&lt;br /&gt;Here's are some notes and how.&lt;br /&gt;&lt;br /&gt;There are 4 modes where asterisk can handle DTMF. We have rfc2833, info, inband and auto. Among these modes, based on majority suggestions out there, it is recommended to use RFC2833.RFC2833 is said to work perfectly with asterisk. By the way RFC2833 is an out-of-band DTMF mode.&lt;br /&gt;&lt;br /&gt;To set Asterisk to use RFC2833 then set on the configuration files (sip.conf, iax.conf and chan_dahdi (I am not sure here...)) and look for this option.&lt;br /&gt;&lt;br /&gt;dtmfmode=(mode)&lt;br /&gt;&lt;br /&gt;Set it to:&lt;br /&gt;&lt;br /&gt;dtmfmode = rfc2833&lt;br /&gt;rfc2833compensate = yes&lt;br /&gt;relaxdmtf = no ; should be no because setting it to yes cause talkoff&lt;br /&gt;&lt;br /&gt;then reload the module say 'sip reload'&lt;br /&gt;&lt;br /&gt;Another suggestion is to use:&lt;br /&gt;&lt;br /&gt;dtmfmode=auto&lt;br /&gt;&lt;br /&gt;Here Asterisk will use RFC2833 first as its default way of relaying DMTF. If the remote side does not suppor it, then it will switch to Inband mode. But a note on this. If you plan to use this mode, make sure that you are only using ulaw codec as the Inband mode is very problematic on non ulaw codec.&lt;br /&gt;&lt;br /&gt;Personally I recommend just using the RFC2833 as your mode for DTMF handling because it is proven to work perfectly and reliably on Asterisk. It is your choice to use auto also.&lt;br /&gt;&lt;br /&gt;Hope this discussion will be helpful. Cheers and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-3049306522571468486?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/3049306522571468486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=3049306522571468486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3049306522571468486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3049306522571468486'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/asterisk-dtmf-issue-fixed.html' title='Asterisk DTMF Issue Fixed'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-558612550203584558</id><published>2009-01-20T22:02:00.001-08:00</published><updated>2009-01-20T22:06:08.687-08:00</updated><title type='text'>PHP Native Session Handling</title><content type='html'>#native php session handling&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// initializes session handling in php&lt;br /&gt;session_start();&lt;br /&gt;&lt;br /&gt;// assign and set session variables&lt;br /&gt;$_SESSION['varname'] = 'value';&lt;br /&gt;&lt;br /&gt;// unset a certain variable&lt;br /&gt;unset($_SESSION['varname']);&lt;br /&gt;&lt;br /&gt;// free all session variables&lt;br /&gt;session_unset();&lt;br /&gt;&lt;br /&gt;// terminate or kill session handling&lt;br /&gt;session_destroy();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-558612550203584558?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/558612550203584558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=558612550203584558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/558612550203584558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/558612550203584558'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/php-native-session-handling.html' title='PHP Native Session Handling'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-3222700369213294686</id><published>2009-01-13T20:24:00.000-08:00</published><updated>2009-02-06T01:52:37.315-08:00</updated><title type='text'>Asterisk Installation</title><content type='html'>Asterisk is known to be the leading open source IP PBX. It has been the best choice alternative to expensive and proprietary&lt;br /&gt;&lt;br /&gt;type of PBX server. What's nice about Asterisk is that it is open source and it is free!!! When we say open source this&lt;br /&gt;&lt;br /&gt;software has been made by collaborating ideas of different developers around the globe. So expect the cool stuff that can be&lt;br /&gt;&lt;br /&gt;done with it. The other nice thing about it, is that it is customizable, flexible and cross platform.&lt;br /&gt;&lt;br /&gt;Asterisk can be obtained from various sources. You can have it in a installable CD (ISO) or you could have it from other&lt;br /&gt;&lt;br /&gt;communities out there who have developed friendly UI where you could tweak the server easily. If I were to ask I would prefer&lt;br /&gt;&lt;br /&gt;to have it from source. Why? Cause templated Asterisk though user friendly can't be extended the way you wish it.&lt;br /&gt;&lt;br /&gt;So let us have the Asterisk (raw) and install it on Linux (preferably CentOS).&lt;br /&gt;&lt;br /&gt;Before you can compile Asterisk you need the following stuffs on Linux.&lt;br /&gt;&lt;br /&gt;Linux Requirements  &lt;br /&gt;&lt;br /&gt;GCC 3.x&lt;br /&gt;ncurses-devel&lt;br /&gt;libtermcap-devel&lt;br /&gt;Kernel Development Headers&lt;br /&gt;Kernel Development Headers (SMP)&lt;br /&gt;GCC C++ 3.x&lt;br /&gt;bison&lt;br /&gt;OpenSSL (optional)&lt;br /&gt;newt-devel (optional)&lt;br /&gt;zlib-devel (optional)&lt;br /&gt;libtool (optional; recommended)&lt;br /&gt;GNU make (version 3.80 or higher)&lt;br /&gt;libnewt&lt;br /&gt;&lt;br /&gt;Here is how we can have them&lt;br /&gt;&lt;br /&gt;Install command&lt;br /&gt;&lt;br /&gt;yum install -y gcc&lt;br /&gt;yum install -y ncurses-devel&lt;br /&gt;yum install -y libtermcap-devel&lt;br /&gt;yum install -y kernel-devel&lt;br /&gt;yum install -y kernel-smp-devel&lt;br /&gt;yum install -y gcc-c++&lt;br /&gt;yum install -y bison&lt;br /&gt;yum install -y openssl-devel&lt;br /&gt;yum install -y newt-devel&lt;br /&gt;yum install -y zlib-devel&lt;br /&gt;yum install -y libtool&lt;br /&gt;yum install -y make&lt;br /&gt;yum install -y libnewt&lt;br /&gt;&lt;br /&gt;Once done we can get the sources from asterisk.org using wget.&lt;br /&gt;&lt;br /&gt;# wget http://downloads.digium.com/pub/libpri/releases/libpri(version)tar.gz&lt;br /&gt;# wget http://downloads.digium.com/pub/libpri/releases/dahdi-linux(version)tar.gz&lt;br /&gt;# wget http://downloads.digium.com/pub/libpri/releases/dahdi-tools(version)tar.gz&lt;br /&gt;# wget http://downloads.digium.com/pub/libpri/releases/asterisk(version)tar.gz&lt;br /&gt;# wget http://downloads.digium.com/pub/libpri/releases/asterisk-addons(version)tar.gz&lt;br /&gt;&lt;br /&gt;then extract each of the packages&lt;br /&gt;&lt;br /&gt;# tar xvzf  &lt;packagename&gt;(packagename)&lt;br /&gt;&lt;br /&gt;then compile each packages&lt;br /&gt;&lt;br /&gt;for libri and dahdi-linux&lt;br /&gt;&lt;br /&gt;# make&lt;br /&gt;# make install&lt;br /&gt;&lt;br /&gt;for dahdi-tools&lt;br /&gt;&lt;br /&gt;# ./configure&lt;br /&gt;# make&lt;br /&gt;# make install&lt;br /&gt;# make config&lt;br /&gt;&lt;br /&gt;for asterisk&lt;br /&gt;&lt;br /&gt;# ./configure&lt;br /&gt;# make menuselect        ;this is optional but when run just save the default settings, in my case I used to issue it to check out the different options available&lt;br /&gt;# make&lt;br /&gt;# make install&lt;br /&gt;# make samples&lt;br /&gt;# make config&lt;br /&gt;&lt;br /&gt;for asterisk-addons (this is important if you want to have some applications like DB, WakeUp Call, streaming audio/video)&lt;br /&gt;# ./configure&lt;br /&gt;&lt;/packagename&gt;# make&lt;br /&gt;# make install&lt;br /&gt;# make samples&lt;br /&gt;&lt;packagename&gt;&lt;br /&gt;To start asterisk the first time (for debugging purposes)&lt;br /&gt;&lt;br /&gt;/usr/sbin/asterisk -vvvvgc&lt;br /&gt;&lt;br /&gt;If you did not receive any errors stop asterisk and then start asterisk the normal way&lt;br /&gt;&lt;br /&gt;/sbin/service asterisk start&lt;br /&gt;&lt;br /&gt;to enter the asterisk console issue this command&lt;br /&gt;&lt;br /&gt;for root&lt;br /&gt;&lt;br /&gt;asterisk -r&lt;br /&gt;&lt;br /&gt;for non-root&lt;br /&gt;&lt;br /&gt;/usr/sbin/asterisk -r&lt;br /&gt;&lt;br /&gt;Now you have a running Asterisk IP PBX&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Note: If you want to recompile asterisk say you want to upgrade then recompile asterisk-addons after that as well because sometimes a recompiled asterisk will not load the asterisk-addons module.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;BTW there are also other addons / extensions available out there that works with Asterisk like the app_conference (an alternative for MeetMe, capable for doing video conferencing), app_mp4 from sip.fontventa (for recording mp4 video)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Hope you find these helpful. Thanks, Cheers and God Bless!!!!&lt;/packagename&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-3222700369213294686?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/3222700369213294686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=3222700369213294686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3222700369213294686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/3222700369213294686'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2009/01/asterisk-installation.html' title='Asterisk Installation'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8028060836683241295</id><published>2008-12-18T00:33:00.000-08:00</published><updated>2008-12-18T02:06:53.804-08:00</updated><title type='text'>Mounting Linux Share via CIFS</title><content type='html'>In this tutorial, I'll discuss on how to mount shared folder under Linux via CIFS. First, let us list the packages or things needed to get us started. Here are they:&lt;br /&gt;&lt;br /&gt;For the server:&lt;br /&gt;&lt;br /&gt;- kernel that supports CIFS (Most Linux Distro's come with this)&lt;br /&gt;- Samba server&lt;br /&gt;&lt;br /&gt;For the client&lt;br /&gt;- kernel that supports also CIFS&lt;br /&gt;- Samba client (optional)&lt;br /&gt;&lt;br /&gt;Next, we have to consider what ports to be openned for the mount to work. Here are they all of which are tcp:&lt;br /&gt;&lt;br /&gt;- 2049 or nfs&lt;br /&gt;- 53&lt;br /&gt;- 445&lt;br /&gt;- 139&lt;br /&gt;&lt;br /&gt;Once the said ports are openned we can now proceed on the installation&lt;br /&gt;&lt;br /&gt;On the server side:&lt;br /&gt;&lt;br /&gt;1. First install Samba&lt;br /&gt;&lt;br /&gt;yum install samba&lt;br /&gt;&lt;br /&gt;2. start samba&lt;br /&gt;&lt;br /&gt;/sbin/service smb start&lt;br /&gt;&lt;br /&gt;3. Then we'll add a new samba user&lt;br /&gt;&lt;br /&gt;smbpasswd -a smbuser1&lt;br /&gt;&lt;br /&gt;;this will prompt for password so take note of this&lt;br /&gt;&lt;br /&gt;4. create the folder to share&lt;br /&gt;&lt;br /&gt;mkdir /home/smbusershare&lt;br /&gt;&lt;br /&gt;5. edit samba configuration file locate at /etc/samba/smb.conf&lt;br /&gt;&lt;br /&gt;vi /etc/samba/smb.conf&lt;br /&gt;&lt;br /&gt;6. Add an entry like this&lt;br /&gt;&lt;br /&gt;[sharename]&lt;br /&gt;  path = /home/smbusershare&lt;br /&gt;  read only = no&lt;br /&gt;  valid users = smbuser1&lt;br /&gt;&lt;br /&gt;7. Restart Samba&lt;br /&gt;&lt;br /&gt;/sbin/service smb restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the client side:&lt;br /&gt;&lt;br /&gt;1. Follow the first 2 steps on the server side procedure.&lt;br /&gt;&lt;br /&gt;2. Create the mounting point&lt;br /&gt;&lt;br /&gt;mkdir /home/client/mnt&lt;br /&gt;&lt;br /&gt;3. Mount the filesystem via CIFS. Issue this command:&lt;br /&gt;&lt;br /&gt;mount -t cifs //server ip/&lt;server&gt;sharename /home/client/mnt -o username=smbuser1,password=password&lt;password&gt;&lt;br /&gt;&lt;br /&gt;4. It should now map the mounted filesystem&lt;br /&gt;&lt;br /&gt;5. To check&lt;br /&gt;&lt;br /&gt;either issue&lt;br /&gt;&lt;br /&gt;df -h&lt;br /&gt;&lt;br /&gt;you should see like this&lt;br /&gt;&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/hda3              73G  2.2G   67G   4% /&lt;br /&gt;/dev/hda1             244M   18M  213M   8% /boot&lt;br /&gt;none                  506M     0  506M   0% /dev/shm&lt;br /&gt;//server ip&lt;server&gt;/sharename   36G   17G   18G  48% /home/client/mnt&lt;br /&gt;&lt;br /&gt;or check /etc/mtab&lt;br /&gt;&lt;br /&gt;vi /etc/mtab&lt;br /&gt;&lt;br /&gt;you should see this entry&lt;br /&gt;&lt;br /&gt;//server ip&lt;server&gt;/sharename /home/client/mnt cifs rw,mand 0 0&lt;br /&gt;&lt;br /&gt;6. To mount it at boot just add the complete command for mounting at /etc/rc.local&lt;br /&gt;&lt;br /&gt;Hope you find this discussion helpful. Thanks!!! Cheers and God Bless!!!!&lt;/server&gt;&lt;/server&gt;&lt;/password&gt;&lt;/server&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8028060836683241295?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8028060836683241295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8028060836683241295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8028060836683241295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8028060836683241295'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/12/mounting-linux-share-via-cifs.html' title='Mounting Linux Share via CIFS'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7977062148579077024</id><published>2008-11-24T19:34:00.000-08:00</published><updated>2008-11-24T20:04:12.334-08:00</updated><title type='text'>Creating Default Firewall on Linux using IPTables</title><content type='html'>Firewall is very important and a must for every servers as this secures the box from any intruders that might want to breach or hack your server. One way that you could put up your default firewall rules in IPtables is via system-config-securitylevel-tui. It is a dos-based like UI that allows you to specify what ports are to be opened. Off course you have to do this only for creating your default firewall but to add up more security you have to use the iptables command line options.&lt;br /&gt;&lt;br /&gt;So once you have defined you're open ports and rules via the UI. There's one more thing to do with it. The default rule created by the system-tui is not completely secured at all. There is a slight bug on it.&lt;br /&gt;Try to issue this command:&lt;br /&gt;&lt;br /&gt;/sbin/iptables -L&lt;br /&gt;&lt;br /&gt;If you will notice the first two lines on the firewall rule RH-Firewall-1-INPUT chain,&lt;br /&gt;you will see there duplicate entry&lt;br /&gt;&lt;br /&gt;ACCEPT     all  --  anywhere             anywhere               ;this is needed for the server's services&lt;br /&gt;ACCEPT     all  --  anywhere             anywhere               ; this is the hole&lt;br /&gt;&lt;br /&gt;This one is a hole in the firewall as it allows others to enter/ to access your box from anywhere (like in ssh). To avoid this security breach/security risk, we will delete the other entry.&lt;br /&gt;&lt;br /&gt;To do so, first you have to identify the line number in which the duplicate occurs by issuing:&lt;br /&gt;&lt;br /&gt;/sbin/iptables -L --line-number&lt;br /&gt;&lt;br /&gt;Take note of the line number.&lt;br /&gt;&lt;br /&gt;Then we can now delete it. Say the duplicate occurred on line 2, we then issue the command:&lt;br /&gt;&lt;br /&gt;/sbin/iptables -D RH-Firewall-1-INPUT 2&lt;br /&gt;&lt;br /&gt;Then save your firewall&lt;br /&gt;&lt;br /&gt;/sbin/service iptables save&lt;br /&gt;&lt;br /&gt;Now you're box has a secured default firewall rulings.&lt;br /&gt;&lt;br /&gt;Hope you find it useful. Thanks, Cheers and God Bless!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7977062148579077024?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7977062148579077024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7977062148579077024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7977062148579077024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7977062148579077024'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/11/creating-default-firewall-on-linux.html' title='Creating Default Firewall on Linux using IPTables'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5295079139235103893</id><published>2008-11-07T01:33:00.001-08:00</published><updated>2008-11-07T01:49:20.792-08:00</updated><title type='text'>Securing FTP server on Linux</title><content type='html'>Securing Linux FTP Server&lt;br /&gt;&lt;br /&gt;On my previous blog I've shown on how to set up a FTP server. But the default settings that are in a default installation are&lt;br /&gt;&lt;br /&gt;not that tight or secured yet. To mention few, one of the risk is that the default settings allow anonymous logins. Another&lt;br /&gt;&lt;br /&gt;is that the user can navigate anywhere on the server.&lt;br /&gt;&lt;br /&gt;On this blog I'll show you on how to make your FTP server more secured.&lt;br /&gt;&lt;br /&gt;a.) Disallow anonymous logins&lt;br /&gt;&lt;br /&gt;1. First is to disallow anonymous logins. To do this, open the vsftpd.conf using any text editor.&lt;br /&gt;&lt;br /&gt;vi /etc/vsftpd/vsftpd.conf&lt;br /&gt;&lt;br /&gt;2. Change&lt;br /&gt;&lt;br /&gt;anonymous_enable=YES&lt;br /&gt;&lt;br /&gt;TO&lt;br /&gt;anonymous_enable=NO&lt;br /&gt;&lt;br /&gt;3.   Then restart vsftpd&lt;br /&gt;&lt;br /&gt;if sudoer&lt;br /&gt;&lt;br /&gt;/sbin/service vsftpd restart&lt;br /&gt;&lt;br /&gt;if root&lt;br /&gt;&lt;br /&gt;service vsftpd restart&lt;br /&gt;&lt;br /&gt;b.) Never allow your ftp users to navigate on other folders except the one he owns&lt;br /&gt;&lt;br /&gt;1. Comment this line on vsftpd.conf&lt;br /&gt;&lt;br /&gt;from:&lt;br /&gt;chroot_list_file=/etc/vsftpd.chroot_list&lt;br /&gt;to:&lt;br /&gt;#chroot_list_file=/etc/vsftpd.chroot_list&lt;br /&gt;&lt;br /&gt;2. Set the following settings:&lt;br /&gt;&lt;br /&gt;chroot_local_user=YES&lt;br /&gt;chroot_list_enable=NO&lt;br /&gt;&lt;br /&gt;3. Then finally restart the vsftpd for the changes to take effect&lt;br /&gt;&lt;br /&gt;Here is a link of other settings you can play with:&lt;br /&gt;&lt;br /&gt;http://vsftpd.beasts.org/vsftpd_conf.html&lt;br /&gt;&lt;br /&gt;Hope you find this helpful. Cheers!!!! and God Bless!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5295079139235103893?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5295079139235103893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5295079139235103893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5295079139235103893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5295079139235103893'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/11/securing-ftp-server-on-linux.html' title='Securing FTP server on Linux'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7643145864279320087</id><published>2008-11-07T00:51:00.001-08:00</published><updated>2008-11-07T01:36:41.997-08:00</updated><title type='text'>INSTALLATION and SET UP of FTP Server on Linux</title><content type='html'>On this blog I'll be showing you the steps on how to set up FTP Server in Linux specifically for CentOS/RedHat distro.&lt;br /&gt;&lt;br /&gt;For this tutorial I'll be using VSFTP for our FTP server although you can choose to install other FTP server like ProFTP and&lt;br /&gt;&lt;br /&gt;others.&lt;br /&gt;&lt;br /&gt;What is VSFTPD by the way. VSFTPD is a very secure and fast FTP server for Linux. This is the reason why I chose it to be the&lt;br /&gt;&lt;br /&gt;one to discuss in here. So let's get started.&lt;br /&gt;&lt;br /&gt;1. First download the VSFTPD package and install it. In my case I just did it via yum&lt;br /&gt;&lt;br /&gt;   yum install vsftpd&lt;br /&gt;&lt;br /&gt;2. Now once the vsftpd has been successfully installed, we can now start the vsftpd service. No worries the default&lt;br /&gt;&lt;br /&gt;configuration settings of vsftpd are good to make the FTP server up and running. (But we'll do few more tweaks later on)&lt;br /&gt;&lt;br /&gt;3. To start vsftpd issue&lt;br /&gt;&lt;br /&gt;   if sudoer&lt;br /&gt;&lt;br /&gt;       /sbin/service vsftpd start&lt;br /&gt;&lt;br /&gt;   if root&lt;br /&gt; &lt;br /&gt;       service vsftpd start&lt;br /&gt;&lt;br /&gt;4. But don't forget to allow the necessary ports for FTP service. The following are the ports needed to be openned for FTP&lt;br /&gt;&lt;br /&gt;   Port no.    Details&lt;br /&gt;      21         ftp port&lt;br /&gt;      20         ftp-data port (use for active mode FTP connection)&lt;br /&gt;   50000 - 50004     ftp-data (for passive mode) Note: it can be any port higher than 1024&lt;br /&gt;&lt;br /&gt;5. Now we're going to add an FTP user&lt;br /&gt;&lt;br /&gt;   First add new group where FTP members will be in&lt;br /&gt;&lt;br /&gt;   groupadd ftp-users&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;6. Make directory from where FTP users will upload download anything&lt;br /&gt;&lt;br /&gt;   mkdir /home/ftp-docs&lt;br /&gt;&lt;br /&gt;7. If the directory has been created or if a directory is already existing just set the permission and owner privileges&lt;br /&gt;&lt;br /&gt;   chmod /home/ftp-docs&lt;br /&gt;   chown root:ftp-users /home/ftp-docs&lt;br /&gt;&lt;br /&gt;8. Then we'll add the ftp user&lt;br /&gt;&lt;br /&gt;   useradd -g ftp-users -d /home/ftp-docs user1&lt;br /&gt;   passwd user1&lt;br /&gt;&lt;br /&gt;9. Now we can login to the FTP server via the user1 credentials we made. (You may use any FTP software client such like&lt;br /&gt;&lt;br /&gt;Filezilla, WinSCP, ProFTP and others)&lt;br /&gt;&lt;br /&gt;CHeers!!! And God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7643145864279320087?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7643145864279320087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7643145864279320087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7643145864279320087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7643145864279320087'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/11/installation-and-set-up-of-ftp-server.html' title='INSTALLATION and SET UP of FTP Server on Linux'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5396015620713582573</id><published>2008-10-28T22:25:00.000-07:00</published><updated>2008-10-28T22:36:41.351-07:00</updated><title type='text'>PHP: Always have Return on function</title><content type='html'>I had once experienced and almost freaked out locating a bug on my script, just to find out that it was just a no returning value or return on my function. The lesson I've learned here is to always use return inside functions even if it does not have to return something. This is a good programming practice to exercise. As much as possible use return();&lt;br /&gt;&lt;br /&gt;Let me give some examples where the function will immediately return to the line from which it was called. Here are they:&lt;br /&gt;&lt;br /&gt;(1)  Use echo&lt;br /&gt;function helloworld()&lt;br /&gt;{&lt;br /&gt;   // scripts....&lt;br /&gt;   echo "hello World";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(2) Return boolean value (just if necessary)&lt;br /&gt;function helloworld()&lt;br /&gt;{&lt;br /&gt;   // scripts......&lt;br /&gt;&lt;br /&gt;   return true;&lt;br /&gt;   // or false&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(3) if function will not return anything then just use return&lt;br /&gt;function helloworld()&lt;br /&gt;{&lt;br /&gt;   // scripts....&lt;br /&gt;   return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Hope it helps everyone. Thanks and God Bless us all!!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5396015620713582573?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5396015620713582573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5396015620713582573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5396015620713582573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5396015620713582573'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/10/php-always-return-in-function.html' title='PHP: Always have Return on function'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4604137301029179367</id><published>2008-10-15T02:44:00.000-07:00</published><updated>2008-10-15T02:46:54.250-07:00</updated><title type='text'>Installation of Bind and WMBind on Linux (A Draft)</title><content type='html'>INstallation of Bind (DNS Server) and WMBind&lt;br /&gt;&lt;br /&gt;1.) Install first Bind&lt;br /&gt;    # yum install bind&lt;br /&gt;&lt;br /&gt;2.) On CentOS 4.x there are default named.conf installed but not on CentOS 5.x&lt;br /&gt;&lt;br /&gt;    so for CentOS 5 either&lt;br /&gt;        a.) Copy the sample config from CentOS 4&lt;br /&gt;        b.) Copy the samples at /usr/share/bind/.... or locate name.conf.sample or sample folder&lt;br /&gt;&lt;br /&gt;    Firewall concern&lt;br /&gt;&lt;br /&gt;    Allow the ffg: ports&lt;br /&gt;&lt;br /&gt;    953 both udp and tcp&lt;br /&gt;    53 both udp and tcp&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;3.) Once the bind is installed, download and install Wmbind package&lt;br /&gt;4.) make sure to read and follow what's on README on this package (espescially about the apache user)&lt;br /&gt;    a.) adding apache on group named&lt;br /&gt;    gpasswd -a apache named&lt;br /&gt;&lt;br /&gt;5.) Enable mod rewrite on Apache by setting the following:&lt;br /&gt;&lt;br /&gt;    ;From&lt;br /&gt;    AllowOverride None&lt;br /&gt;    ;To&lt;br /&gt;    AllowOverride All&lt;br /&gt;&lt;br /&gt;    then restart apache&lt;br /&gt;&lt;br /&gt;6.) Now see to it that named.conf and rndc.conf do have similar rndc-key values like as follows:&lt;br /&gt;&lt;br /&gt;rndc.conf&lt;br /&gt;&lt;br /&gt;key "rndc-key" {&lt;br /&gt;        algorithm hmac-md5;&lt;br /&gt;        secret "j2gS+6XTSeycPM8A+Fe5Tg==";&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;options {&lt;br /&gt;        default-key "rndc-key";&lt;br /&gt;        default-server 127.0.0.1;&lt;br /&gt;        default-port 953;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;named.conf&lt;br /&gt;&lt;br /&gt;key rndc-key {&lt;br /&gt;        algorithm hmac-md5;&lt;br /&gt;        secret "j2gS+6XTSeycPM8A+Fe5Tg==";&lt;br /&gt;        };&lt;br /&gt;&lt;br /&gt;controls {&lt;br /&gt;        inet 127.0.0.1 allow { localhost; } keys { rndc-key; };&lt;br /&gt;        inet 192.168.2.3 port 953 allow { 192.168.2.0; } keys { rndc-key; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Restart named by&lt;br /&gt;    /sbin/service named restart&lt;br /&gt;&lt;br /&gt;also make sure that the rndc.conf and rndckeys are readable by group named where apache is a member.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4604137301029179367?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4604137301029179367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4604137301029179367' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4604137301029179367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4604137301029179367'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/10/installation-of-bind-and-wmbind-on.html' title='Installation of Bind and WMBind on Linux (A Draft)'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5675025012930296760</id><published>2008-07-02T18:08:00.001-07:00</published><updated>2008-11-06T19:19:47.417-08:00</updated><title type='text'>Mailap na Panahon ng Pag-ibig</title><content type='html'>marahil di pa panahon ng tagsibol&lt;br /&gt;maaaring di pa ito ang tinakdang oras&lt;br /&gt;maaring iba ang binubulong ng hangin&lt;br /&gt;at wari'y may ibang laan para sa akin&lt;br /&gt;&lt;br /&gt;panahon na siguro para kita'y limutin&lt;br /&gt;ito na siguro ang tamang araw, ang tamang hudyat&lt;br /&gt;upang ang puso ko'y tuluyan ko nang talikuran&lt;br /&gt;&lt;br /&gt;ngunit sadya yatang mapagbiro ang tadhana&lt;br /&gt;na tila di kayang manindigan ng aking dibdib&lt;br /&gt;patuloy na sumisigaw ang damdamin&lt;br /&gt;di ko mapigilan, di ko maipinid&lt;br /&gt;&lt;br /&gt;mahirap man na tanggapin&lt;br /&gt;ngunit sadyang ganito ang tinakda ng tadhana&lt;br /&gt;upang ako'y magpatuloy sa lakad ng buhay&lt;br /&gt;patuloy na maglakbay&lt;br /&gt;at baka sakaling may makikitang liwanag&lt;br /&gt;&lt;br /&gt;humayo ka aking mahal&lt;br /&gt;humayo ka sa landas ng yong kaligayahan&lt;br /&gt;tupdin mo ang sinisigaw ng yong puso&lt;br /&gt;pakinggan mo ang binubulong ng yong dibdib&lt;br /&gt;&lt;br /&gt;masaya ako na makita kitang masaya&lt;br /&gt;lumilipad ng mataas at matayog&lt;br /&gt;lumipad ka lng aking irog... lumipad ka...&lt;br /&gt;patuloy kitang pagmamasdan sa kalangitan&lt;br /&gt;&lt;br /&gt;kahit malayo ka na't halos di na makita&lt;br /&gt;kahit malayo na at matakpan ng mga ulap&lt;br /&gt;aasa at aasa akong masisilayan kang muli&lt;br /&gt;kahit isang hibla ng pakpak ang saki'y bumalik&lt;br /&gt;&lt;br /&gt;wag mo sana akong lilimutin&lt;br /&gt;kahit man lng sana sa akin panaginip ay ako'y bisitahin&lt;br /&gt;dalangin kong ikaw ay maging maligaya&lt;br /&gt;maging maayos ka sayong patutunguhan&lt;br /&gt;&lt;br /&gt;at kung sakali man na ika'y mahapo&lt;br /&gt;kung sa pagkakataon ika'y maubusan ng lakas&lt;br /&gt;at hindi mo na halos maikampay ang yong pakpak&lt;br /&gt;bumalik ka lng at ako sa yo'y naghihintay..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5675025012930296760?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5675025012930296760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5675025012930296760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5675025012930296760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5675025012930296760'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/07/marahil-di-pa-panahon-ng-tagsibol.html' title='Mailap na Panahon ng Pag-ibig'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-7160866176801872077</id><published>2008-07-01T01:11:00.001-07:00</published><updated>2008-11-06T19:21:27.901-08:00</updated><title type='text'>Ang Maling Pagsinta</title><content type='html'>alam ko naman na may mahal ka ng iba&lt;br /&gt;pero ewan ko ba, bakit pilit pa rin&lt;br /&gt;ikaw ang hanap ng puso&lt;br /&gt;kahit ilang beses yatang sabihan ko ang aking sarili&lt;br /&gt;na tama na eh lalo naman nahuhulog ang loob ko sayo&lt;br /&gt;pinipiplit ko na limutin ka at ibaon na lng sa limot ang lahat&lt;br /&gt;pero sadya yatang tinarak ni kupido ang puso ko at di na makaiwas pa&lt;br /&gt;lubha yata akong tinamaan sayo&lt;br /&gt;ewan ko ba, matagal ko na rin di naranasan ang umibig&lt;br /&gt;kahit alam kong iba na ang laman ng isip mo&lt;br /&gt;ikaw pa rin ang sinisigaw at tinitibok ng aking puso&lt;br /&gt;di ko hinahangad na suklian mo ang pag-ibig na alay ko&lt;br /&gt;makita lng kita bawat araw na ika'y masaya&lt;br /&gt;malaking kiliti na ang nagagawa nito sa puso ko&lt;br /&gt;makita ko lng ang kislap ng yong mata&lt;br /&gt;ang ganda ng yong ngiti&lt;br /&gt;labis na ang kagalakan hatid sakin&lt;br /&gt;mhal na nga yata kita&lt;br /&gt;pero ako yatat mahina ang loob n sabihin ito sayo&lt;br /&gt;pero bakit ko pa nga ba sasabihin kung ang atensyon at pandinig moy&lt;br /&gt;nasa piling na ng iba&lt;br /&gt;para yatang sumisigaw lng ang damdamin ko sa ilang&lt;br /&gt;umaasa na may tutugon may makaririnig&lt;br /&gt;di man tayo laan sa isat isa&lt;br /&gt;malaking bahagi na ng buhay ko ay binigyan mo ng kulay&lt;br /&gt;mahal na nga yata kita&lt;br /&gt;di ka man mapasa akin&lt;br /&gt;kahit man lng sana sa panaginip ay maging tayo&lt;br /&gt;sapat na sakin ang malamang ikaw kasama ko&lt;br /&gt;sapat na ikay namamasdan ko&lt;br /&gt;mapuno man ako ng luha sa tuwing kasama mo sya&lt;br /&gt;puso koy di magbabago&lt;br /&gt;patuloy akong magmamahal sa yo&lt;br /&gt;&lt;br /&gt;"aking anghel&lt;br /&gt;ang maganda kong anghel&lt;br /&gt;ang nagliliwanag kong anghel&lt;br /&gt;ang walang katulad na si ____&lt;br /&gt;mahal ko ang anghel na ito&lt;br /&gt;kung pwede lng babaliin ko na ang pakpak ng aking anghel para lagi lng syang nsa tabi ko&lt;br /&gt;pero magiging makasarili naman ako&lt;br /&gt;.......lumipad ka aking anghel....&lt;br /&gt;lumipad ka ng mataas at malayo.......&lt;br /&gt;at su tuwing kailangan mo lng magpahinga...&lt;br /&gt;bumalik ka lng,... bumalik ka lng sakin&lt;br /&gt;dahil mahal kita .... mahal kita..."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-7160866176801872077?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/7160866176801872077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=7160866176801872077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7160866176801872077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/7160866176801872077'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/07/alam-ko-naman-na-may-mahal-ka-ng-iba.html' title='Ang Maling Pagsinta'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-8391723218916762265</id><published>2008-07-01T00:36:00.000-07:00</published><updated>2008-07-01T00:37:21.139-07:00</updated><title type='text'>So In Love</title><content type='html'>Spring, summer, fall &amp;amp; winter dreams.&lt;br /&gt;Those are shinning like a star&lt;br /&gt;They keep whispering,&lt;br /&gt;"I'm so in love with you"&lt;br /&gt;&lt;br /&gt;Spring, summer, fall &amp;amp; winter love&lt;br /&gt;It is breezing to my heart and it keeps telling,&lt;br /&gt;"I'll make you rainbow smile"&lt;br /&gt;&lt;br /&gt;I remember when we were angels,&lt;br /&gt;when we dreamed about us&lt;br /&gt;All my days were happy&lt;br /&gt;just like a snowy Christmas&lt;br /&gt;I wish i'd have them always.&lt;br /&gt;&lt;br /&gt;Every step I make writes a story&lt;br /&gt;It is full of the heart&lt;br /&gt;feeling love of my life and&lt;br /&gt;missing friends of my time&lt;br /&gt;I wish i'd have them all. ?&lt;br /&gt;&lt;br /&gt;In Spring, summer, fall &amp;amp; winter days.&lt;br /&gt;We've been sharing all the hearts&lt;br /&gt;Love shines in my eyes&lt;br /&gt;Love just won't fade away&lt;br /&gt;&lt;br /&gt;If you'd all the way show me the world&lt;br /&gt;Where I will stay in love&lt;br /&gt;All my days will be white&lt;br /&gt;Just like a snowy Christmas&lt;br /&gt;You're just all I need.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-8391723218916762265?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/8391723218916762265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=8391723218916762265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8391723218916762265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/8391723218916762265'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/07/so-in-love.html' title='So In Love'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-871254468581700762</id><published>2008-06-23T19:17:00.000-07:00</published><updated>2008-11-06T19:22:59.794-08:00</updated><title type='text'>Wanderer's Love</title><content type='html'>It has been long while that my heart beats not&lt;br /&gt;It has been so long that my love wanders&lt;br /&gt;I've been searching for you everywhere&lt;br /&gt;Till I find myself staring at you&lt;br /&gt;&lt;br /&gt;I never noticed you before&lt;br /&gt;But every now and then&lt;br /&gt;In everyday I see you face to face&lt;br /&gt;You seems to get prettier each day&lt;br /&gt;&lt;br /&gt;Let me tell you how beautiful you are&lt;br /&gt;Let me express how truly I love you&lt;br /&gt;I love to see every details that you do&lt;br /&gt;The way you talk, the way you smile&lt;br /&gt;It's making me crazy as I get near you&lt;br /&gt;&lt;br /&gt;Couldn't explain how I feel when I see you&lt;br /&gt;How I wish you could be the right one&lt;br /&gt;That my heart has been praying for&lt;br /&gt;But I am too reluctant to tell you&lt;br /&gt;How much I always dream of you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-871254468581700762?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/871254468581700762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=871254468581700762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/871254468581700762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/871254468581700762'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/06/it-has-been-long-while-that-my-heart.html' title='Wanderer&apos;s Love'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4028740221707696874</id><published>2008-06-06T20:32:00.000-07:00</published><updated>2008-06-06T20:33:53.334-07:00</updated><title type='text'>Route Calls from Openser to Asterisk</title><content type='html'>Last time we talked about on how to install and set up the OpenSER and to make it work. Now we're going to discuss on how are we going to integrate OpenSER with the Powerful Asterisk PBX. By the way, why do we need to integrate it anyway? OpenSER is just use as a SIP Proxy, SIP Server and can only communicate using SIP protocol and has no way to access such as PSTN lines. Another thing to mention is that it doesn't have that rich features just like what a PBX could offer. This is the point where Asterisk comes into the scene.&lt;br /&gt;&lt;br /&gt;Now let's prepare things first for the Asterisk.&lt;br /&gt;&lt;br /&gt;1. Create the SIP trunk where the OpenSER will connect to the Asterisk Server. We can do this in 2 ways.&lt;br /&gt;   Either we register the Asterisk server as a SIP UA to OpenSER or we will statically declare a SIP trunk to the Asterisk Server. So we will choose the latter.&lt;br /&gt;&lt;br /&gt;   Edit sip.conf using your favorite text editor (for me it's vi)&lt;br /&gt;&lt;br /&gt;    # vi /etc/asterisk/sip.conf&lt;br /&gt;&lt;br /&gt;    [openser]&lt;br /&gt;    type=friend&lt;br /&gt;    context=incoming&lt;br /&gt;    host=192.168.2.235   ; replace this with the IP address of your SIP server (OpenSER)&lt;br /&gt;    fromdomain=192.168.2.235  ; same thing here&lt;br /&gt;    insecure=port,invite&lt;br /&gt;&lt;br /&gt;    # vi /etc/asterisk/extensions.conf&lt;br /&gt;&lt;br /&gt;    [incoming]&lt;br /&gt;&lt;br /&gt;    exten =&gt; 205,1,Dial(SIP/205,60)  ; note that the UA 205 is registered on the Asterisk server not on the OpenSER&lt;br /&gt;    exten =&gt; 205,n,Hangup&lt;br /&gt;&lt;br /&gt;   Offcourse you have to reload asterisk so the changes would take effect then&lt;br /&gt;&lt;br /&gt;2. Alright now it's time to tweak our OpenSER.&lt;br /&gt;&lt;br /&gt;    # vi /usr/local/etc/openser/openser.cfg&lt;br /&gt;&lt;br /&gt;    ;note that we're using the default configuration of openser ( we'll discuss on our future tutorial on how to make use of the sipwise wizard )&lt;br /&gt;&lt;br /&gt;    ;look for this line&lt;br /&gt;&lt;br /&gt;     if (is_method("INVITE")) {&lt;br /&gt;                setflag(1); # do accouting&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    ;make it like this one&lt;br /&gt;&lt;br /&gt;     if (is_method("INVITE")) {&lt;br /&gt;                setflag(1); # do accouting&lt;br /&gt;&lt;br /&gt;                if (uri=~"sip:205@192.168.2.235")&lt;br /&gt;                {&lt;br /&gt;                        route(2);&lt;br /&gt;                }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    Hey what does this stuff mean??&lt;br /&gt;&lt;br /&gt;    Let me explain everytime a SIP UA initiate a call it sends an INVITE message sending also the uri being requested in our case it is "sip:205@192.168.2.235". Again change the IP here with the IP of your SIP server. Here I've used static value '205' but you can actually make use of pattern matching here say for instance all numbers beginning with 1 followed by 1 or 2 we can represent this by "sip:1[1-2]@192.168.235"&lt;br /&gt;&lt;br /&gt;    What's the next stuff?&lt;br /&gt;&lt;br /&gt;    route(2)  ====&gt; this one refer to a routing block which contains lines of rules&lt;br /&gt;&lt;br /&gt;    so we have to add at the end of the file the following to define our route(2). Here's how?&lt;br /&gt;&lt;br /&gt;    route[2] {&lt;br /&gt;&lt;br /&gt;         rewritehostport("192.168.2.2:5060");   # change the IP here with the IP of your Asterisk Server&lt;br /&gt;         t_relay();&lt;br /&gt;         exit;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;3. Offcourse you have to reload or restart OpenSER&lt;br /&gt;&lt;br /&gt;4. Now you're done and let us test the things that we have done.&lt;br /&gt;&lt;br /&gt;    register a SIP UA to Asterisk Server with username 205&lt;br /&gt;    register a SIP UA to OpenSER with username of what you like (Please refer to my previous tutorial on how to add new UA subscriber)&lt;br /&gt;&lt;br /&gt;    Using your phone registered to OpenSER dial 205.....&lt;br /&gt;&lt;br /&gt;    It should now ring the local extension registered on your Asterisk Server.  :-)&lt;br /&gt;&lt;br /&gt;5. Same principle I guess to use if you want to route your PSTN calls from OpenSER to your Asterisk PBX which is capable to access PSTN network.&lt;br /&gt;&lt;br /&gt;Okey that's all for this tutorial. I just hope that you find it useful.&lt;br /&gt;&lt;br /&gt;CHeers!!!!!! Take Care and God Bless!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4028740221707696874?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4028740221707696874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4028740221707696874' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4028740221707696874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4028740221707696874'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/06/route-calls-from-openser-to-asterisk.html' title='Route Calls from Openser to Asterisk'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-207821819179250050</id><published>2008-06-03T21:56:00.000-07:00</published><updated>2008-06-05T01:11:50.061-07:00</updated><title type='text'>Getting Started with OpenSER:  INSTALLATION OF OpenSER on Linux ( CentOS )</title><content type='html'>INSTALLATION OF OpenSER on Linux ( CentOS )&lt;br /&gt;&lt;br /&gt;1. First install the following dependencies that will be needed to compile OpenSER sources:&lt;br /&gt;&lt;br /&gt;  - bison&lt;br /&gt;  - flex&lt;br /&gt;  - mysql&lt;br /&gt;  - mysql-devel&lt;br /&gt;  - subversion (if you intend to use subversion to get its sources&lt;br /&gt;&lt;br /&gt;  *you can install the said sources via tarballs or rpms or via yum which I did :-)&lt;br /&gt;&lt;br /&gt;2. Now get the source OpenSER package ( I get the latest one which is 1.3.x)&lt;br /&gt;&lt;br /&gt;  svn co http://openser.svn.sourceforge.net/svnroot/openser/branches/1.3 sip-server&lt;br /&gt;&lt;br /&gt;  or via&lt;br /&gt;&lt;br /&gt;  wget http://www.openser.org/pub/openser/latest/src/openser-1.3.2-tls_src.tar.gz&lt;br /&gt;&lt;br /&gt;3. Unzip and extract the files&lt;br /&gt;&lt;br /&gt;  tar xvzf openser-1.3.2-tls_src.tar.gz&lt;br /&gt;&lt;br /&gt;4. cd to the source directory&lt;br /&gt;&lt;br /&gt;  cd openser-1.3.2-tls&lt;br /&gt;&lt;br /&gt;5. Do following for compilation and installation&lt;br /&gt;&lt;br /&gt;  make clean&lt;br /&gt;  make all include_modules="mysql"&lt;br /&gt;  make prefix=/usr/local install include_modules="mysql"&lt;br /&gt;&lt;br /&gt;6. Now edit first openserctlrc&lt;br /&gt;&lt;br /&gt;  vi /usr/local/etc/openser/openserctlrc&lt;br /&gt;&lt;br /&gt;  uncomment the line that says&lt;br /&gt;&lt;br /&gt;   DBENGINE=MYSQL&lt;br /&gt;&lt;br /&gt;7. Now we can create the database for the OpenSER&lt;br /&gt;&lt;br /&gt;  /usr/local/sbin/openserdbctl create&lt;br /&gt;&lt;br /&gt;  *Note that upon execution of this command it will create 2 users for OpenSER&lt;br /&gt;&lt;br /&gt;8. Now we wil edit first the openser.cfg to enable MySQL support.&lt;br /&gt;&lt;br /&gt;  vi /usr/local/etc/opernser.cfg&lt;br /&gt;&lt;br /&gt;  You will have to uncomment the following lines:&lt;br /&gt;&lt;br /&gt;  - loadmodule "/usr/lib/openser/modules/mysql.so"&lt;br /&gt;&lt;br /&gt;  - loadmodule "/usr/lib/openser/modules/auth.so"&lt;br /&gt;&lt;br /&gt;  - loadmodule "/usr/lib/openser/modules/auth_db.so"&lt;br /&gt;&lt;br /&gt;  - modparam("usrloc", "db_mode", 2)&lt;br /&gt;&lt;br /&gt;  - modparam("auth", "calculate_ha1", yes)&lt;br /&gt;&lt;br /&gt;  - modparam("auth_db", "password_column", "password")&lt;br /&gt;&lt;br /&gt;  - if (!www_authorize("sip.org", "subscriber")) {&lt;br /&gt;  - www_challenge("sip.org", "0");&lt;br /&gt;  - break;&lt;br /&gt;  - };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure you change the two sip.org instances in the above config, to your&lt;br /&gt;domain, or realm. In my case, I changed this to 192.168.2.235 which was the&lt;br /&gt;IP address of this box.&lt;br /&gt;&lt;br /&gt;Also, be sure to comment out the following line:&lt;br /&gt;&lt;br /&gt;modparam("usrloc", "db_mode",   0)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. Now let us copy the init script so as to start OpenSER as service ( such as starting it at boot). Copy the openser.init which can be found on the base directory of the OpenSER source. In my case I installed the source on root directory&lt;br /&gt;&lt;br /&gt;  cp /root/openser-1.3.2-tls/packaging/rpm/openser.init /etc/init.d/openser&lt;br /&gt;  chmod 755 /etc/init.d/openser&lt;br /&gt;  /sbin/chkconfig --add openser&lt;br /&gt;&lt;br /&gt;also before you start the openser correct the path of its service execution&lt;br /&gt;&lt;br /&gt;vi /etc/init.d/openser&lt;br /&gt;&lt;br /&gt;change the following line&lt;br /&gt;&lt;br /&gt;oser=/usr/sbin/openser&lt;br /&gt;&lt;br /&gt;with this one since we installed the binaries on path /usr/local&lt;br /&gt;&lt;br /&gt;oser=/usr/local/sbin/openser&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. Now you can start the openser service&lt;br /&gt;&lt;br /&gt;  /sbin/service openser start&lt;br /&gt;&lt;br /&gt;11. To test we will create user / SIP account to test our set up. We can do this by using the openserctl tool&lt;br /&gt;&lt;br /&gt;  openserctl add test testpasswd test@192.168.2.235&lt;br /&gt;&lt;br /&gt;  *Note you might encounter problem once you issued the command above and complaining for the SIP_DOMAiN. To fix that,&lt;br /&gt;  issue the command as follows:&lt;br /&gt;&lt;br /&gt;  export SIP_DOMAIN=192.168.2.235&lt;br /&gt;&lt;br /&gt;  Now re issue the command for adding new user / SIP account&lt;br /&gt;&lt;br /&gt;12. Test it by registering a softphone and filling up the phone's registration info's. You should be able to register already.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  "Now you have a working SIP Server". Actually I am still exploring it too..... I'll give you some more additional infos whatever turns out during my studied on this software. I am more familiar with tweaking Asterisk not this one. But I heard that using Asterisk/OpenSER tandem is great for offering VOIP services.&lt;br /&gt;&lt;br /&gt;  Okey that' all for this tutorial hope this help for those who are just about to start with SER/OpenSER. Cheers to all!!!! And God Bless!!!!!  :-)&lt;br /&gt;&lt;br /&gt;Here are some more helpful links:&lt;br /&gt;&lt;br /&gt;http://www.openser.org/dokuwiki/doku.php/install:openser-from-svn&lt;br /&gt;http://www.openser.org/mos/view/-OpenSER-Installation-Notes/&lt;br /&gt;http://www.oldskoolphreak.com/tfiles/voip/beginners_openser.txt&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-207821819179250050?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/207821819179250050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=207821819179250050' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/207821819179250050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/207821819179250050'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/06/getting-started-with-openser.html' title='Getting Started with OpenSER:  INSTALLATION OF OpenSER on Linux ( CentOS )'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-4579359479949605504</id><published>2008-04-11T23:59:00.000-07:00</published><updated>2008-04-12T00:00:25.247-07:00</updated><title type='text'>Anime Nostalgia</title><content type='html'>It's nice to remember, reminiscing our childhood days. Specially those cartoons that we used to catch and to watch every episodes.&lt;br /&gt;I still remember then when I was in elementary I used to come early so that not even a single episode could be missed.&lt;br /&gt;&lt;br /&gt;Well there were many cartoon series that I could still remember and sometimes they linger on my memories.&lt;br /&gt;&lt;br /&gt;Some of these cartoons are cedie (ang munting prinsipe), The Dog of Landers (sad ending huhuhuhuh), Blink ( the blue pony who tried to help a young boy to have his father back sad ending too), Julio at Julia (ang kambal ng tadhana) and their quest to go to mainland to save their parents, thunderjet - somehow my favorite ( just have a centimental value on me don't dare to know what it is), Cinderella (a nice love story cartoon series), Remi, Peter Pan, I forgot the title about Artemian and the three musketeers, Sarah (ang munting prinsesa) and too many to mention or maybe these were just some that still stayed on my contention hehehhe (memory gap??!!!).&lt;br /&gt;&lt;br /&gt;"Tahakin ang landas ng kalawakan&lt;br /&gt;Iwagayway ang bandila ng makata&lt;br /&gt;Pagdating ng araw ng digmaan&lt;br /&gt;Tungo sa dulo ng kalawakan&lt;br /&gt;Dugo't mga kamatayan para sa'ting kalayaan&lt;br /&gt;Bangon sa pagkakagupili&lt;br /&gt;Hanggang sa ating kalayaan"&lt;br /&gt;&lt;br /&gt;"Ako si Blink&lt;br /&gt;sa lahat ng oras nariyan&lt;br /&gt;....." I forgot it hrrrrr&lt;br /&gt;&lt;br /&gt;"Si Julio at Julia Kambal ng tadhana&lt;br /&gt;Di susuko sa pagsubok"&lt;br /&gt;&lt;br /&gt;"Maglalakbay ako patungo sa kawalan&lt;br /&gt;upang makamtan ko pangarap sa buhay&lt;br /&gt;susuungin ko itong kadiliman&lt;br /&gt;makita ko lamang ang liwanag ng katarungan&lt;br /&gt;chen chen chen......"&lt;br /&gt;&lt;br /&gt;"Humayo ka kaibigang Tom Sawyer&lt;br /&gt;maglakbay kung saan mo man naisin"&lt;br /&gt;&lt;br /&gt;"Ngunit hanggang kailan hanggang kailan&lt;br /&gt;ito mananatiling panaginip&lt;br /&gt;isang monghang walang pangalan&lt;br /&gt;sabik na akong ikaw ay makilala ko"&lt;br /&gt;&lt;br /&gt;"Aking ina mahal kong ina&lt;br /&gt;pagmamahal mo aking ina&lt;br /&gt;yakap mo sa akin hinahanap ko&lt;br /&gt;init ng pag-ibig kumot ng bunso&lt;br /&gt;sa gitna ng pagkakahimbing yakap mo ang gigising..."&lt;br /&gt;&lt;br /&gt;Haaayyyy :-( this is just an indication that I am getting old already. Anyways nice to reminisce isn't it???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-4579359479949605504?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/4579359479949605504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=4579359479949605504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4579359479949605504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/4579359479949605504'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/04/anime-nostalgia.html' title='Anime Nostalgia'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-5521560526725785890</id><published>2008-04-10T02:25:00.001-07:00</published><updated>2008-04-10T02:25:32.016-07:00</updated><title type='text'>Ang bunga ng walang magawa</title><content type='html'>wla na naman akong magawa&lt;br /&gt;basa ng basa ng email na ilang beses ng binasa&lt;br /&gt;nag iisip ng magagawa&lt;br /&gt;pam patid ng inip sa walang magawa&lt;br /&gt;ayun nag search about dun sa bida ng hana kimi ng Japan&lt;br /&gt;maganda pala at cute sya pero bata pa&lt;br /&gt;nag search na naman at nag type ng "nice thing to do when bored"&lt;br /&gt;heheheh nakakatawa ung mga nakapost&lt;br /&gt;me top ten pa silang nilagay&lt;br /&gt;puro naman kalokohan hahahha&lt;br /&gt;ganito talaga meron talaga akong dapat gagawin&lt;br /&gt;pero parang ayaw ko pang gawin&lt;br /&gt;katatapos lng kasi nung isang project&lt;br /&gt;pero ang alam ko me pinapagwa pa tong boss ko&lt;br /&gt;ung UI daw na para ma iset ung date ng mga holiday nila&lt;br /&gt;gagawin ko sana kaya lng ayoko naman galawin ung nagawa ko na&lt;br /&gt;stable na un at gumagana&lt;br /&gt;gusto ko muna sanang gawin to dito sa test server&lt;br /&gt;ung test server naman patay di naka on&lt;br /&gt;tinanggal pa dun sa puwesto nya&lt;br /&gt;wla tuloy akong mpaggawaan at mapagtestingan&lt;br /&gt;bago ko iapply dun sa pixelgate nang sa ganoon&lt;br /&gt;e tested na dito bago ko i apply dun&lt;br /&gt;so far kasi gumagana na at stable&lt;br /&gt;delikado naman na dun ako maggagalaw ng mga scripts ko&lt;br /&gt;baka me madamay pa ayos na nga ung sa taas eh&lt;br /&gt;dagdag na feature na lng na request ni Sir J&lt;br /&gt;pero sabi ko nga e sa test server muna&lt;br /&gt;so far oks na oks ung Pixelgate sa ngayon&lt;br /&gt;pag siguro na ayos na ni Sir Eric ung test server&lt;br /&gt;at gumagana na ulit pwede na ako balik sa mga tasks&lt;br /&gt;nandun kasi lahat ung dapat kong mga gagawin&lt;br /&gt;ung Pixelgate server new features saka Video IVR&lt;br /&gt;pero so far stable at secured naman lahat&lt;br /&gt;kaya petiks muna tayo at mag relax&lt;br /&gt;mga 2 araw pa lng naman na nabakante ako sa mga task&lt;br /&gt;pero bugbog naman ako ng mga tasks for the past months&lt;br /&gt;ngayon ko lng yata naransan na maging idle ulit&lt;br /&gt;hehhee kaya basa basa muna&lt;br /&gt;malay natin baka marami pa tayong mapulot sa pagbabasa&lt;br /&gt;hay eto na naman search ng mga tips for boredom&lt;br /&gt;heheheh pero oks din kasi nagawa ko naman ung mga trabaho ko&lt;br /&gt;so I guess just to restore my strength that was used up on previous tasks&lt;br /&gt;gusto ko sana na mag browse ng mga pics&lt;br /&gt;pero I can be seen from my Boss's desk hehehe di pwede&lt;br /&gt;gusto ko rin sanang makinig ng music o mga prieching&lt;br /&gt;pero wala naman akong headset :-(&lt;br /&gt;hehehhehe :-) basta ok naman sa alright so far&lt;br /&gt;till next tasks ulit hehehheheheh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-5521560526725785890?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/5521560526725785890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=5521560526725785890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5521560526725785890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/5521560526725785890'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/04/ang-bunga-ng-walang-magawa.html' title='Ang bunga ng walang magawa'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-452404887219985100</id><published>2008-04-09T23:27:00.000-07:00</published><updated>2008-04-09T23:29:45.780-07:00</updated><title type='text'>I'm Yours</title><content type='html'>Who am I?That the Lord of all the earth,Would care to know my name,Would care to feel my hurt.?&lt;br /&gt;Who am I?&lt;br /&gt;That the bright and morning star,&lt;br /&gt;Would choose to light the way,&lt;br /&gt;For my ever wandering heart.&lt;br /&gt;&lt;br /&gt;Bridge:&lt;br /&gt;Not because of who I am,&lt;br /&gt;But because of what you've done.&lt;br /&gt;Not because of what I've done,&lt;br /&gt;But because of who you are.&lt;br /&gt;&lt;br /&gt;Chorus:&lt;br /&gt;I am a flower quickly fading,&lt;br /&gt;Here today and gone tomorrow,&lt;br /&gt;A wave tossed in the ocean,&lt;br /&gt;A vapor in the wind.&lt;br /&gt;Still you hear me when I'm calling,&lt;br /&gt;Lord, you catch me when I'm falling,&lt;br /&gt;And you've told me who I am.&lt;br /&gt;I am yours.&lt;br /&gt;I am yours.&lt;br /&gt;&lt;br /&gt;Who am I?&lt;br /&gt;That the eyes that see my sin&lt;br /&gt;Would look on me with love&lt;br /&gt;And watch me rise again.&lt;br /&gt;Who am I?&lt;br /&gt;That the voice that calmed the sea,&lt;br /&gt;Would call out through the rain,&lt;br /&gt;And calm the storm in me.&lt;br /&gt;&lt;br /&gt;Bridge&amp;amp;Chorus 2x&lt;br /&gt;&lt;br /&gt;I am yours.&lt;br /&gt;&lt;br /&gt;Whom shall I fear?&lt;br /&gt;Whom shall I fear?&lt;br /&gt;'Cause I am yours.&lt;br /&gt;I am yours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-452404887219985100?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/452404887219985100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=452404887219985100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/452404887219985100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/452404887219985100'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/04/im-yours.html' title='I&apos;m Yours'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-76073059502961718</id><published>2008-04-09T23:19:00.000-07:00</published><updated>2008-04-09T23:20:59.860-07:00</updated><title type='text'>Chain Letters</title><content type='html'>How foolish are those who believe on chain letters&lt;br /&gt;Believing on this is as if believing on devil's lies&lt;br /&gt;Sometimes they make use of Holy Images just to make people believe&lt;br /&gt;No one can predetermine our fate nor our future except God&lt;br /&gt;And who so ever is the source of this foolishness shall perish&lt;br /&gt;For he/she fools every single person for believing on this kind of insanity&lt;br /&gt;&lt;br /&gt;My friends do not bear on these false beliefs&lt;br /&gt;Nor be persuaded by their mischievousness&lt;br /&gt;Break the chain of those messages &lt;br /&gt;Life and death can not be dictated by just a letter made by man's hand&lt;br /&gt;Focus on your faith, do not be disturbed by the mess of other's letter&lt;br /&gt;The curse that they are telling on will all fall back on them&lt;br /&gt;the Lord sees all hidden and bad desire of humans&lt;br /&gt;Put all your trust in Him cause He cares for you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-76073059502961718?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/76073059502961718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=76073059502961718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/76073059502961718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/76073059502961718'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/04/chain-letters.html' title='Chain Letters'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5629128021946869470.post-2192352338915952754</id><published>2008-04-09T22:58:00.000-07:00</published><updated>2008-04-09T23:02:11.249-07:00</updated><title type='text'>Paghihintay ...</title><content type='html'>hindi ko alam kung kailan ka darating&lt;br /&gt;pero pilit pa rin akong maghihintay&lt;br /&gt;di ko alam kung saan at kailan&lt;br /&gt;pero umaasa pa rin ako na balang araw&lt;br /&gt;makakadaupang palad din tayo&lt;br /&gt;maraming taon na ang lumilipas&lt;br /&gt;at dumarating na ako sa edad&lt;br /&gt;pero di pa rin nawawalan ng pag asa&lt;br /&gt;alam kong naririnig mo ang aking tinig&lt;br /&gt;kahit di ko alam kung sino ka&lt;br /&gt;kahit di ko alam kung kailan at saan&lt;br /&gt;maghihintay ako...maghihintay ako&lt;br /&gt;kahit abutin na akong ng paglubog ng araw&lt;br /&gt;datnan man ako ng katandaan&lt;br /&gt;aasa at aasa akong darating ka&lt;br /&gt;laging laman ng aking panaginip ang yong mukha&lt;br /&gt;sigaw ng aking puso'y ikaw ang hanap&lt;br /&gt;kahit na madalas akong naglalakbay sa ilang&lt;br /&gt;Pag-asang makita ay nagbibigay lakas&lt;br /&gt;2 taon na lng.... 2 taon na lng....&lt;br /&gt;bago maupos ang aking buhay&lt;br /&gt;na tila kandilang malapit ng mawalan ng liwanag&lt;br /&gt;matagal na panahon na&lt;br /&gt;pero wla ka pa rin&lt;br /&gt;Ayokong bumitiw sa natitirang pag-asa na meron ako&lt;br /&gt;Hahanapin kita kahit saan ka pa magmula&lt;br /&gt;Di ako titigil di ako susuko&lt;br /&gt;Puso ko'y di mahihimlay hanggat di ito mamahinga sa piling mo&lt;br /&gt;Hanggat nabubuhay pa ako hanggat sumisikat pa ang bawat umaga&lt;br /&gt;Wlang hanggan ako'y maghihintay&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5629128021946869470-2192352338915952754?l=consciencespeaks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://consciencespeaks.blogspot.com/feeds/2192352338915952754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5629128021946869470&amp;postID=2192352338915952754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/2192352338915952754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5629128021946869470/posts/default/2192352338915952754'/><link rel='alternate' type='text/html' href='http://consciencespeaks.blogspot.com/2008/04/paghihintay.html' title='Paghihintay ...'/><author><name>Rugarai</name><uri>http://www.blogger.com/profile/11826981462901326447</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_EM5jdOtiyfM/SRAWL4UigLI/AAAAAAAAAAs/2Ed4CIHlO84/S220/chichiri2.jpg'/></author><thr:total>0</thr:total></entry></feed>
