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

<channel>
	<title></title>
	<atom:link href="http://bipinb.com/feed" rel="self" type="application/rss+xml" />
	<link>http://bipinb.com</link>
	<description></description>
	<lastBuildDate>Tue, 10 Aug 2010 02:14:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Setting up chan_ss7 between two Asterisk boxes</title>
		<link>http://bipinb.com/setting-up-chan_ss7-between-two-asterisk-boxes.htm</link>
		<comments>http://bipinb.com/setting-up-chan_ss7-between-two-asterisk-boxes.htm#comments</comments>
		<pubDate>Mon, 09 Aug 2010 17:04:30 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[asterisk ss7]]></category>
		<category><![CDATA[asterisk ss7 lab set up]]></category>
		<category><![CDATA[connecting two asterisk boxes]]></category>
		<category><![CDATA[connecting two digium cards for setting up ss7 network]]></category>
		<category><![CDATA[connneting two asterisk ss7 boxes]]></category>
		<category><![CDATA[Setting up chan_ss7 between two Asterisk boxes]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=239</guid>
		<description><![CDATA[




We can setup a test environment with chan_ss7 on a private SS7 test network, without the need for expensive SS7 test equipment.All we need is two machines 2 E1 cards, either digium/Sangoma and T1/PRI Crossover Cable. A normal call flow for a auto voice call to a mobile will be like as shown below.
Here the [...]]]></description>
			<content:encoded><![CDATA[<!-- Easy AdSense V2.83 -->
<!-- Post[count: 3] -->
<div class="ezAdsense adsense adsense-leadin" style="text-align:center;margin:12px;"><script type="text/javascript"><!--
google_ad_client = "pub-8516280820391538";
/* 468x60, created 6/14/10 */
google_ad_slot = "2348800126";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p style="text-align: justify;">We can setup a test environment with chan_ss7 on a private SS7 test network, without the need for expensive SS7 test equipment.All we need is two machines 2 E1 cards, either digium/Sangoma and <a onclick="javascript: pageTracker._trackPageview('/outgoing/wikipages/www.chebucto.ns.ca/Chebucto/Technical/Manuals/Max/max6000/gs/cables.htm#17372' );" href="http://www.chebucto.ns.ca/Chebucto/Technical/Manuals/Max/max6000/gs/cables.htm#17372">T1/PRI Crossover Cable.</a> A normal call flow for a auto voice call to a mobile will be like as shown below.</p>
<p style="text-align: justify;"><a href="http://bipinb.com/wp-content/uploads/2010/08/Diagram1.jpeg"><img class="aligncenter size-full wp-image-240" title="Diagram1" src="http://bipinb.com/wp-content/uploads/2010/08/Diagram1.jpeg" alt="" width="427" height="219" /></a>Here the local server will inititate the call to the MSC(Mobile Switching Center), the MSC will route call to the subscriber depending upon the called number.</p>
<p>The E1 or LAN cable pin configuration for setting up the same locally is as below.</p>
<p>1 &lt;&#8212;-&gt; 4<br />
2 &lt;&#8212;-&gt; 5<br />
4 &lt;&#8212;-&gt; 1<br />
5 &lt;&#8212;-&gt; 2</p>
<p style="text-align: justify;">Now compile the drivers in the order dahdi,asterisk,chan_ss7,wanpipe if you are using sangoma card or dahdi,asterisk,chan_ss7 if you are using a digium card.Now make one server as master and other a slave . The master will serve as MSC(<a href="http://en.wikipedia.org/wiki/Mobile_switching_centre_server">Mobile Switching Center)</a> for us and the slave will be our Call initiating machine or the local machine .The configuration files for the Master machine and slave machine is below.Note the local machine OPC(Orgination Point code) will be master machine DPC(Destination Point code) and DPC will be master machines OPC.</p>
<p>Master machine (Which serve as an MSC)<br />
system.conf</p>
<pre>span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
mtp2=16</pre>
<p>ss7.conf</p>
<pre>[linkset-siuc]
enabled =&gt; yes
enable_st =&gt; no
use_connect =&gt; yes
hunting_policy =&gt; even_mru
context =&gt; ss7
language =&gt; da
subservice =&gt; auto</pre>
<pre>[link-l1]
linkset =&gt; siuc
channels =&gt; 1-15,17-31
schannel =&gt; 16
firstcic =&gt; 1
enabled =&gt; yes</pre>
<pre>[link-l2]
linkset =&gt; siuc
channels =&gt; 1-15,17-31
schannel =&gt; 16
firstcic =&gt; 1
enabled =&gt; yes</pre>
<pre>[host-test-server1]
enabled =&gt; yes
opc =&gt; 0x1
dpc =&gt; siuc:0x2
links =&gt; l1:1

[host-test-server2]
enabled =&gt; yes
opc =&gt; 0x2
dpc =&gt; siuc:0x1
links =&gt; l2:1</pre>
<p>Slave machine configuration(Which serve as a call Initiation server)<br />
system.conf</p>
<pre>span=1,0,0,ccs,hdb3,crc4
bchan=1-15,17-31
mtp2=16</pre>
<p>ss7.conf</p>
<pre>[linkset-siuc]
enabled =&gt; yes
enable_st =&gt; no
use_connect =&gt; yes
hunting_policy =&gt; even_mru
context =&gt; ss7
language =&gt; da
subservice =&gt; auto</pre>
<pre>[link-l1]
linkset =&gt; siuc
channels =&gt; 1-15,17-31
schannel =&gt; 16
firstcic =&gt; 1
enabled =&gt; yes</pre>
<pre>[link-l2]
linkset =&gt; siuc
channels =&gt; 1-15,17-31
schannel =&gt; 16
firstcic =&gt; 1
enabled =&gt; yes</pre>
<pre>[host-test-server1]
enabled =&gt; yes
opc =&gt; 0x1
dpc =&gt; siuc:0x2</pre>
<pre>links =&gt; l1:1</pre>
<pre style="text-align: justify;">[host-test-server2]
enabled =&gt; yes
opc =&gt; 0x2
dpc =&gt; siuc:0x1
links =&gt; l2:1</pre>
<p style="text-align: justify;">Start asterisk on both machines you can see  GROUP RESET message coming and making the signaling link (16th time slot) INSERVICE and circuit idle.Configure a soft phone(Will act as a mobile for us).Make a callfile which initiate calls to the MSC from the localserver and we can see call terminating on the softphone.</p>
<p>The Master machine extensions.conf file should be like this.</p>
<pre>[ss7]
exten =&gt; _X.,1,Dial(SIP/${EXTEN})</pre>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/setting-up-chan_ss7-between-two-asterisk-boxes.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Adhearsion</title>
		<link>http://bipinb.com/playing-with-adhearsion.htm</link>
		<comments>http://bipinb.com/playing-with-adhearsion.htm#comments</comments>
		<pubDate>Mon, 07 Jun 2010 12:39:04 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Adhearsion]]></category>
		<category><![CDATA[Asterisk frame work]]></category>
		<category><![CDATA[installing adhearsion]]></category>
		<category><![CDATA[ruby asterisk]]></category>
		<category><![CDATA[ruby asterisk framework]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=227</guid>
		<description><![CDATA[
Fed up with using dialplans and AGI scripting in Asterisk? Here is a nice frame work called Adhearsion which is an licensed under open source (LGPL) that is designed to improve Asterisk solution development. It rests above an Asterisk system, handling parts or all of the dialplan and, in a few unique ways, manages access [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://bipinb.com/wp-content/uploads/2010/06/adhearsion12.jpg"><img class="aligncenter size-medium wp-image-228" title="adhearsion1" src="http://bipinb.com/wp-content/uploads/2010/06/adhearsion12-300x65.jpg" alt="" width="300" height="65" /></a></p>
<p style="text-align: justify;">Fed up with using dialplans and AGI scripting in Asterisk? Here is a nice frame work called Adhearsion which is an licensed under open source (LGPL) that is designed to improve Asterisk solution development. It rests above an Asterisk system, handling parts or all of the dialplan and, in a few unique ways, manages access to Asterisk with several improved interfaces.it runs as a separate daemon process and integrates through the already-present Gateway (AGI) and Manager (AMI) interfaces, configuring a context to use Adhearsion is as simple as adding a few lines to your dialplan or adding a user to manager.conf.</p>
<p>Object-oriented Ruby programming language is the core part of Adhearsion.</p>
<p>Installing Adhearsion</p>
<p>Im assuming that your system is intalled with gem,ruby and rails.if not installed it first then</p>
<pre>sudo apt-get install ruby</pre>
<pre>sudo apt-get install rails</pre>
<pre>sudo apt-get install rubygems</pre>
<pre>then install adhersion</pre>
<pre>gem install adhearsion</pre>
<p>Adhearsion will be installed then check ahn command is there if not find the installation path and add the path in bashrc file</p>
<pre>export PATH=$PATH:/var/lib/gems/1.8/bin</pre>
<p>Starting New Adhearsion Project</p>
<p>ahn create</p>
<p>will create the files</p>
<ul>
<li><strong>components</strong></li>
<li><strong>config</strong></li>
<li><strong>dialplan.rb </strong></li>
<li><strong> events.rb </strong></li>
<li><strong>log </strong></li>
<li><strong> Rakefile</strong></li>
<li><strong>README</strong></li>
</ul>
<p>Here dialplan.rb is the dialplan or programming part.</p>
<p>Config folder is the configuration part(Manger conffiguration,database connection etc)</p>
<p>Wirting first app</p>
<p>open dialplan.rb,copy paste the code.</p>
<pre>sample {
play "hello-world"
}</pre>
<p>Here sample is the context name that should be defined in the extensions.conf.Enable manger.conf add username and password in /etc/asterisk. Add the same in startup.rb in the config folder.Sample extension.conf will be like this</p>
<pre>[sample]
exten =&gt; 123,1,AGI(agi://127.0.0.1)</pre>
<p>start adhearsion: Enter into project folder then</p>
<pre>ahn start &lt;projectname&gt;</pre>
<p>Configure a SIP phone and make call to 123 extension we can see adhearsion answering the call. Have fun ..:)</p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/playing-with-adhearsion.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenBTS : An Opensource Telephone Network</title>
		<link>http://bipinb.com/openbts-an-opensource-telephone-network.htm</link>
		<comments>http://bipinb.com/openbts-an-opensource-telephone-network.htm#comments</comments>
		<pubDate>Tue, 02 Feb 2010 11:42:58 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[gnuradio]]></category>
		<category><![CDATA[Open source BTS]]></category>
		<category><![CDATA[OpenBTS]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=178</guid>
		<description><![CDATA[ 
Telecom industry is one of the rapid growing industry all over the world. The entrance of open-source team into the telcom industry  made a revolutionized change  in the industry. Asterisk was a typical example for it which was a featured PBX for home users, enterprises, VoIP service providers and telecoms in such a low [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --> <!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p style="margin-bottom: 0cm;">Telecom industry is one of the rapid growing industry all over the world. The entrance of open-source team into the telcom industry  made a revolutionized change  in the industry.<a href="www.asterisk.org" target="_blank"> Asterisk</a> was a typical example for it which was a featured PBX for home users, enterprises, VoIP service providers and telecoms in such a low cost that anyone even imagined.Asterisk is  both an Open Source Community and a commercial product from Digium.</p>
<p style="margin-bottom: 0cm;">Now again another open source coming which  allows standard GSM-compatible mobile phones to make telephone calls without using existing telecommunication providers&#8217; networks.ie we can build up our own network just like vodafone,airtel or any.The project was started by Harvind Samra<sup id="cite_ref-0"><a href="http://en.wikipedia.org/wiki/OpenBTS#cite_note-0"></a></sup> and David A. Burgess and named it as OpenBTS.. OpenBTS is notable for being the first free software implementation of the industry-standard GSM protocol stack.Thanks to them for making it possible.:)</p>
<p style="margin-bottom: 0cm;">A normal GSM network working is as follows.The end point of the system will be BTS (Base Transceiver Station) which send radio frequency singal to and from mobile devices or a modem.The BTScomes under BSC(Base station Controller) with makes the communication between there radio signals with  MSC/VLR.The MSC/VLR is responsible to authenticate the user against the database (HLR &#8211; Home Location Register, AuC -Authentication Center), call setup and call routing.A typical GSM network diagram is shown below.</p>
<p style="margin-bottom: 0cm; text-align: left;"><img class="aligncenter size-full wp-image-187" title="Screenshot-1" src="http://bipinb.com/wp-content/uploads/2010/01/Screenshot-12.jpeg" alt="Screenshot-1" width="613" height="174" /></p>
<p style="margin-bottom: 0cm; text-align: left;">The OpenBTS  replaces the entire setup with USRP(Universal Software Radio Peripheral), and a computer as hardware.USRP  to receive and transmit the GSM signaling(GNURadio is the driver software for this),OpenBTS package play the role of MSC/VLR and Asterisk software PBX will be used to connect calls.The below diagram shows a typical openBTS network.</p>
<p style="margin-bottom: 0cm; text-align: center;"><img class="aligncenter size-full wp-image-189" title="Screenshot" src="http://bipinb.com/wp-content/uploads/2010/02/Screenshot.jpeg" alt="Screenshot" width="620" height="169" /></p>
<p style="margin-bottom: 0cm; text-align: left;">Potential applications include:</p>
<ul>
<li>rural/village telephony and text messaging</li>
<li>cellular coverage in remote areas (e.g. ships, oil rigs)</li>
<li>law enforcement and security operations</li>
<li>rapidly deployable emergency communications</li>
<li>network emulation and handset testing.</li>
</ul>
<p>To know more click <a href="http://openbts.sourceforge.net/" target="_blank">here.</a></p>
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
<p style="margin-bottom: 0cm;">
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/openbts-an-opensource-telephone-network.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using ORACLE and PHP in Ubuntu</title>
		<link>http://bipinb.com/using-oracle-and-php-in-ubuntu.htm</link>
		<comments>http://bipinb.com/using-oracle-and-php-in-ubuntu.htm#comments</comments>
		<pubDate>Fri, 04 Dec 2009 05:29:34 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php binding with oracle database]]></category>
		<category><![CDATA[php oracle API]]></category>
		<category><![CDATA[php with oracle]]></category>
		<category><![CDATA[php with oracle database]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=163</guid>
		<description><![CDATA[
Last week i got a chance to try ORACLE API, as i was a fresher in oracle at that time i was having little idea how to use it.After googling a while i got the way to use it.The steps i followed are written below in future hope this will find helpful for someone .
For [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-166" title="oracle-php" src="http://bipinb.com/wp-content/uploads/2009/12/oracle-php.jpg" alt="oracle-php" width="300" height="233" /></p>
<p>Last week i got a chance to try ORACLE API, as i was a fresher in oracle at that time i was having little idea how to use it.After googling a while i got the way to use it.The steps i followed are written below in future hope this will find helpful for someone .<br />
For setting up in local machine we need to install oracle Oracle Express Edition first. Please note my machine was , Ubuntu 9.04 and this worked for me.<br />
<strong>Installing  Oracle Express Edition</strong><br />
First you need to add this line to your /etc/apt/sources.lst</p>
<pre>deb http://oss.oracle.com/debian unstable main non-free</pre>
<p>Run</p>
<pre>sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | apt-key add -
sudo apt-get update
sudo apt-get install oracle-xe</pre>
<p>Then run</p>
<pre>sudo /etc/init.d/oracle-xe configure</pre>
<p><strong>PHP-Oracle Binding</strong><br />
Now install PHP-oracle binding,  will get it from<a href="http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html"> here</a></p>
<p>Convert the rpm packages into debian packge using alien program if its not installed in your machine please install it using</p>
<pre>sudo apt-get install alien</pre>
<p>Run the commend in the downloaded packege folder</p>
<pre>sudo alien oracle*.rpm</pre>
<p>You’ll need the ‘pecl’ command, which is available in php-pear, php5-dev</p>
<pre>sudo apt-get install php-pear php5-dev
sudo pecl install oci8</pre>
<p>Enter 1 and check the oracle client lib path will be like this.</p>
<p>instantclient,/usr/lib/oracle/11.2/client/lib</p>
<p>Hit enter again and wait for a while.After completion add &#8220;extension=oci8.so&#8221; in your php.ini( both apache and cli) .Restart apache2 and check phpinfo();Okey our machine is ready to make calls to oracle binding functions and remote APIs.</p>
<p>The rest you can try out from <a href="http://wiki.oracle.com/page/PHP+Oracle+FAQ">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/using-oracle-and-php-in-ubuntu.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mtr &#8211; A network diagnostic tool</title>
		<link>http://bipinb.com/mtr-a-network-diagnostic-tool.htm</link>
		<comments>http://bipinb.com/mtr-a-network-diagnostic-tool.htm#comments</comments>
		<pubDate>Sat, 21 Nov 2009 10:32:10 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[finding packet loss]]></category>
		<category><![CDATA[mtr]]></category>
		<category><![CDATA[network diagnostic tool.traceroute]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=150</guid>
		<description><![CDATA[
mtr(My Trace Route) is a nice network diagnostic tool combines the functionality of the &#8216;traceroute&#8217; and &#8216;ping&#8217; programs and can see even the packet  in the network. It comes along with default installtion if ubuntu. To know more type man mtr or follow here . Typical example if usage is below.
Syntax::
 mtr &#60;IP&#62; -n
Below shows [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-157" title="bitw1" src="http://bipinb.com/wp-content/uploads/2009/11/bitw11.gif" alt="bitw1" width="150" height="231" /></p>
<p>mtr(My Trace Route) is a nice network diagnostic tool combines the functionality of the &#8216;traceroute&#8217; and &#8216;ping&#8217; programs and can see even the packet  in the network. It comes along with default installtion if ubuntu. To know more type man mtr or follow <a href="http://www.bitwizard.nl/mtr/">here</a> . Typical example if usage is below.<br />
Syntax::
<pre> mtr &lt;IP&gt; -n</pre>
<p>Below shows the trace to an IP with mtr tool</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-151" title="Screenshot" src="http://bipinb.com/wp-content/uploads/2009/11/Screenshot.jpeg" alt="Screenshot" width="640" height="390" /></p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/mtr-a-network-diagnostic-tool.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell inspiron 14 Sound issue in Linux :Solution</title>
		<link>http://bipinb.com/dell-inspiron-14-sound-issue-in-linux-solution.htm</link>
		<comments>http://bipinb.com/dell-inspiron-14-sound-issue-in-linux-solution.htm#comments</comments>
		<pubDate>Tue, 27 Oct 2009 15:12:52 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Micellanious]]></category>
		<category><![CDATA[Dell inspiron 14 Sound issue]]></category>
		<category><![CDATA[Dell inspiron 14 Sound issue in linux]]></category>
		<category><![CDATA[Dell inspiron 14 Sound issue in ubuntu]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=138</guid>
		<description><![CDATA[
Recently i bought DELL inspiron 14 and made it as dual boot with Windows Vista and Ubuntu 9.04 and faced a strange issue. I can hear sound Vista in headphone as well as speakers. But in case of ubuntu i can hear sound in headphone only and no speaker sound and the strange thing is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-140" title="laptop-inspiron-14-right-black-alt-314" src="http://bipinb.com/wp-content/uploads/2009/10/laptop-inspiron-14-right-black-alt-3141.jpg" alt="laptop-inspiron-14-right-black-alt-314" width="314" height="314" /></p>
<p>Recently i bought DELL inspiron 14 and made it as dual boot with Windows Vista and Ubuntu 9.04 and faced a strange issue. I can hear sound Vista in headphone as well as speakers. But in case of ubuntu i can hear sound in headphone only and no speaker sound and the strange thing is that when i first boot windows and then boot ubuntu both the mic and speakers will work properly . But when i first boot ubuntu i can hear sound from the headphone only .After some googlesearch and forum posts atlast i sloved the issue.Didnt got the exact issue yet but got the solution <img src='http://bipinb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>The log files of both working and non working sound in the system seemed to be the same <img src='http://bipinb.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . At last tried an experiment by upgrading the ALSA driver and this time it got worked. Now i can hear sound in mic as well as in speakers&#8230;:).Anyone facing the same issue can give a try on this fix.</p>
<pre>cat /proc/asound/version</pre>
<p>will give the ALSA version details, mine was Version 1.0.18 and i upgraded to Version 1.0.21</p>
<p>Upgradation details is avilable here ::  <a href="http://ubuntuforums.org/showthread.php?p=6589810">Click </a></p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/dell-inspiron-14-sound-issue-in-linux-solution.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YAML parser kit &#8212; PHP5 bindings</title>
		<link>http://bipinb.com/yaml-parser-kit-php5-bindings.htm</link>
		<comments>http://bipinb.com/yaml-parser-kit-php5-bindings.htm#comments</comments>
		<pubDate>Fri, 02 Oct 2009 15:24:01 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=130</guid>
		<description><![CDATA[YAML(tm) (rhymes with &#8216;camel&#8217;) is a straightforward machine parsable data serialization format designed for human readability and interaction with scripting languages such as PHP, Perl and Python. YAML is optimized for data serialization,formatted dumping, configuration files, log files, Internet messaging and filtering. This specification describes the YAML information model and serialization format. PHP library packege [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">YAML(tm) (rhymes with &#8216;camel&#8217;) is a straightforward machine parsable data serialization format designed for human readability and interaction with scripting languages such as PHP, Perl and Python. YAML is optimized for data serialization,formatted dumping, configuration files, log files, Internet messaging and filtering. This specification describes the YAML information model and serialization format. PHP library packege php5-sync here parses YAML strings and converts them to PHP arrays. It can also converts PHP arrays to YAML strings.</p>
<p>Installing PHP binding of yaml</p>
<pre style="text-align: justify;">sudo apt-get install php5-sysc</pre>
<p style="text-align: justify;">Now you are ready to use YAML.</p>
<p>It&#8217;s tempting to think of YAML as being similar to XML, but in reality it&#8217;s not. Unlike XML, YAML doesn&#8217;t use elements and attributes to mark up data; rather, indentation is used to denote nested relationships, and punctuation elements like dashes (-) and colons (:) are used to mark lists and hashes of data items. To illustrate, consider the following simple YAML document, which sets up a hash containing five key-value pairs:<br />
example of yaml file.</p>
<pre>name : John Doe
tel  : 123-4567
fax  : 987-6543
email:
- john@domain.com
- jdoe@domain.com</pre>
<p>Using yaml in php</p>
<p>Save the above example as sample.yaml</p>
<pre>&lt;?php
// get YAML data
$yaml = file_get_contents('sample.yaml');

// convert to PHP data structure and print
$data = syck_load($yaml);
print_r($data);
?&gt;</pre>
<p>will print the yaml in array format in the program</p>
<p>The reverse process will be like this.</p>
<pre>&lt;?php
// define PHP array
$data = array (
    'droids' =
array('r2d2', 'c3po'),
'heroes' =&gt;
array(
'one' =&gt; array('luke', 'leia'),
'two' =&gt; array('han', 'chewbacca'))
);

// convert to YAML and print
$yaml = syck_dump($data);
echo $yaml;
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/yaml-parser-kit-php5-bindings.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOX : The audio manipulation tool</title>
		<link>http://bipinb.com/sox-the-audio-manipulation-tool.htm</link>
		<comments>http://bipinb.com/sox-the-audio-manipulation-tool.htm#comments</comments>
		<pubDate>Sat, 12 Sep 2009 06:02:21 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[audio converter in linux]]></category>
		<category><![CDATA[gsm player]]></category>
		<category><![CDATA[gsm player in linux]]></category>
		<category><![CDATA[sound converter in linux]]></category>
		<category><![CDATA[sox]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=119</guid>
		<description><![CDATA[Sox(Sound eXchange, the Swiss Army knife of audio manipulation) is a strong audio manipulation too in linux. SoX reads and writes audio files in most popular formats and can optionally apply effects to them; it can combine multiple input sources, synthesise audio, and, on many systems, act as a general purpose audio player or a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Sox(Sound eXchange, the Swiss Army knife of audio manipulation) is a strong audio manipulation too in linux. SoX reads and writes audio files in most popular formats and can optionally apply effects to them; it can combine multiple input sources, synthesise audio, and, on many systems, act as a general purpose audio player or a multi-track audio recorder. So it can be told as audio player as well as converter.Till some days before i was searching a linux tool for playing gsm files eventhough i were using sox for sound conversion i didnt noticed that it can play sound files allmost in all format for that we just need to install corresponding codecs .</p>
<p>To install sox</p>
<pre><span style="color: #000000;">$ sudo apt-get install sox</span></pre>
<p>sox supported formats are</p>
<p>AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb au avi avr caf cdda cdr cvs cvsd dat dvms f4 f8 fap ffmpeg flac fssd gsm hcom htk ima ircam la lpc lpc10 lu m4a mat mat4 mat5 maud mp2 mp3 mp4 mpg nist ogg paf prc pvf raw s1 s2 s3 s4 sb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u2 u3 u4 ub ul uw vms voc vorbis vox w64 wav wavpcm wmv wv wve xa xi PLAYLIST FORMATS: m3u pls AUDIO DEVICE DRIVERS: alsa ao oss ossdsp</p>
<p>to get support of all this formats install</p>
<pre>$ apt-get install libsox-fmt-all</pre>
<p>We can play specified file format using the play command which come along with sox.</p>
<p>Eg:</p>
<p><img class="alignnone size-full wp-image-121" title="sox" src="http://bipinb.com/wp-content/uploads/2009/09/sox1.jpeg" alt="sox" width="625" height="195" /></p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/sox-the-audio-manipulation-tool.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play youtube on chrome : Linux</title>
		<link>http://bipinb.com/play-youtube-on-chrome-linux.htm</link>
		<comments>http://bipinb.com/play-youtube-on-chrome-linux.htm#comments</comments>
		<pubDate>Sun, 23 Aug 2009 06:27:50 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Play youtube on chrome : Linux.]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=111</guid>
		<description><![CDATA[
Few days back i installed the debian version of chrome in my laptop seems to be very fast than any other browser.Fased an issue like unable to play youtube videos on the browser got a message like
&#8220;Hello, you either have JavaScript turned off or an old version of Macromedia&#8217;s Flash Player. Get the latest Flash [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-112" title="Chorme" src="http://bipinb.com/wp-content/uploads/2009/08/screenshot.jpeg" alt="Chorme" width="633" height="459" /></p>
<p>Few days back i installed the debian version of <a href="http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb" target="_blank">chrome</a> in my laptop seems to be very fast than any other browser.Fased an issue like unable to play youtube videos on the browser got a message like</p>
<h3>&#8220;Hello, you either have JavaScript turned off or an old version of Macromedia&#8217;s Flash Player. Get the latest Flash player.&#8221;</h3>
<p>Solution :</p>
<p>The chrome is not idetifying the  the path of flash player or the flash player is not installed. If not installed please install it first and if it is installed already enter into the default path of chorme installation ie /opt/google/chrome<br />
find the location of flash module</p>
<pre>sudo find / -name  libflashplayer.so</pre>
<p>Give a softlink to the chrome folder .ie if you are in the chrome folder it will be like</p>
<pre>sudo ln -s /usr/lib/adobe-flashplugin/libflashplayer.so .</pre>
<p>Start the bowser with &#8211;enable-plugins to turn on the plugin.</p>
<p>Enjoy youtubing&#8230;..:)</p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/play-youtube-on-chrome-linux.htm/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Load Balancing Asterisk Servers</title>
		<link>http://bipinb.com/load-balancing-asterisk-servers.htm</link>
		<comments>http://bipinb.com/load-balancing-asterisk-servers.htm#comments</comments>
		<pubDate>Fri, 17 Apr 2009 13:01:57 +0000</pubDate>
		<dc:creator>Bipin Balakrishnan</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Asterisk Tuning]]></category>
		<category><![CDATA[Load Balancing Asterisk Servers]]></category>
		<category><![CDATA[Optimizing Asterisk servers.]]></category>

		<guid isPermaLink="false">http://bipinb.com/?p=99</guid>
		<description><![CDATA[
Some of  common question among the asterisk users  are.

What is the minimum hardware to setup asterisk ?
How many simultaneous call can asterisk machine can handle?
How many E1s can be plugged to a single machine?
Which is the best server for call making?
How an asterisk machine can be tuned?

Lets start to Discuss from one by one.
Minimum Hardware [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://bipinb.com/wp-content/uploads/2009/04/high-server-load-wordpress.jpg" alt="high-server-load-wordpress.jpg" /></p>
<p>Some of  common question among the asterisk users  are.</p>
<ul>
<li>What is the minimum hardware to setup asterisk ?</li>
<li>How many simultaneous call can asterisk machine can handle?</li>
<li>How many E1s can be plugged to a single machine?</li>
<li>Which is the best server for call making?</li>
<li>How an asterisk machine can be tuned?</li>
</ul>
<p>Lets start to Discuss from one by one.</p>
<p><strong>Minimum Hardware to setup Asterisk</strong></p>
<p>The answer is simple.All we need is a normal PC installed with any of the Linux flavour in it and a lan card  if we are trying to make SIP calls only.Not a single extra hard ware required.</p>
<p>How to make asterisk sip calls, i have mentioned in my previous posts.</p>
<p><strong>Simultaneous call can asterisk machine can handle / Max E1s</strong></p>
<p><strong>Asterisk 1.2</strong> start to run into problems around 220 concurrent SIP calls. <strong>Asterisk 1.4</strong> scales much better and can handle nearly double the call setups/second as well as total concurrent traffic with a hard ware of dual core processor with 4GB RAM</p>
<p>Digium  claims asterisk can  handle up to<strong> 240 calls</strong> simultaneous in both SIP/ Zap channels.I have experience of setting of server for outdialing application which can make 240 simultaneous calls at a time, ie with 2 quad span card connected to<strong> 8 PRI lines</strong>.</p>
<p>Hardware configiration is :</p>
<p>Server : IBM System x3400</p>
<p>Card : Digium TE420P</p>
<p>RAM : 4GB</p>
<p>Processor : <span class="small">Dual-Core <a href="http:///" onclick="JavaScript:win=window.open('http://syndication.intel.com/DistributeModule.aspx?ppc_cid=WTM_00799067501','00799067501','resizable=1,sc rollbars=0,width=340,height=150');win.focus();return false">Intel</a> Xeon Processor</span></p>
<p><strong>Best server for call making</strong></p>
<p>I have tried IBM System x3400, HP Proliant 110 G4 ,   IBM System x3200 for our IVR and outdialing application which handles minimum of 120 calls at a time and its running smooth without any issues.</p>
<p><strong>Tuning asterisk Machine </strong></p>
<p>The best practice to make your asterisk sever to get it maximum performance are</p>
<p><em>Try to implement almost every logic in dailplan itself.</em></p>
<p>Dial Plans are just like shell script, we can implement almost all our logic with it.Go forAGI if and only if we are 100% sure that i cant be done with dail plan only.The communication between the AGI scripts and Asterisk was via standard input and standard output writing and reading cause a large memory and CPU usage.</p>
<p><em>Tur</em><em>n off Log files. </em></p>
<p>Asterisk uses a too many log files while running.Logs files are good when used for debugging but once we got a stable asterisk running you can turn it off or make log rotate to empty log file once in a week.This will make huge difference in the load in the machine.</p>
<p>Can tun off the logging by editing /etc/asterisk/asterisk.conf also.</p>
<p><em>Tune mysql to its best</em></p>
<p>If we are using MySQL as our DB in the<a href="http://www.voip-info.org/wiki-Asterisk+AGI"> AGI</a> scripts tuning will give us better performance. It can be done  indexing in tables,increasing concurrent connection parameter, threading parameter in the my.cnf file</p>
<p><em>Use FastAGI</em></p>
<p>Implements the Asterisk Gateway Interface (<a href="http://www.voip-info.org/wiki/view/Asterisk+AGI" title="Asterisk AGI">AGI</a>) over TCP sockets. This can help alleviate CPU load on your telephony server by relocating resource hungry scripts to another networked server. In order to instruct Asterisk to attempt a network connection, you must supply the hostname or IP address of the server where your FastAGI service is hosted and preface it with <em>agi://</em>:</p>
<p>Those having similar experience  can share their questions and experiences here&#8230;.:)</p>
]]></content:encoded>
			<wfw:commentRss>http://bipinb.com/load-balancing-asterisk-servers.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
