<?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>HOWTO :: VoIP: Whosesale :: Calling Card :: OpenSer :: Radius :: Asterisk :: FreeSwitch :: A2Billing :: IVR :: Colo :: Colocations :: GADGETS &#187; VoIP Tutorial</title>
	<atom:link href="http://callsolutions.org/category/voip-tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://callsolutions.org</link>
	<description>You can also find CCNA :: CCNAP :: Exam, Brandump, CheatSheet, Sample Exams</description>
	<lastBuildDate>Thu, 29 Apr 2010 14:23:16 +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>Installing Asterisk2Billing A2b 1.7.0 in CentOS 5.4</title>
		<link>http://callsolutions.org/installing-asterisk2billing-a2b-1-7-0-in-centos-5-4/</link>
		<comments>http://callsolutions.org/installing-asterisk2billing-a2b-1-7-0-in-centos-5-4/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 14:02:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[A2Billing]]></category>
		<category><![CDATA[1.7.0]]></category>
		<category><![CDATA[a2b]]></category>
		<category><![CDATA[a2b 1.7.0]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[asterisk2billing]]></category>
		<category><![CDATA[centos]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=74</guid>
		<description><![CDATA[Below is a step by step procedure how to install Asterisk2Billing or A2b 1.7.0 in CentOS 5.
Installation Prerequisites
It is assumed that you have already installed Asterisk on a suitable machine. This tutorial does not cover that part of the installation. If you are unfamiliar with the
install of Asterisk, it may be better to start with [...]]]></description>
			<content:encoded><![CDATA[<p>Below is a step by step procedure how to install Asterisk2Billing or A2b 1.7.0 in CentOS 5.</p>
<p>Installation Prerequisites</p>
<p>It is assumed that you have already installed Asterisk on a suitable machine. This tutorial does not cover that part of the installation. If you are unfamiliar with the<br />
install of Asterisk, it may be better to start with a pre-built distribution, e.g.</p>
<p>PBX in a Flash &#8211; www.pbxinaflash.com, or FonicaPABX &#8211; www.fonicaprojects.com may provide a secure base on which to build A2Billing.</p>
<p>Asterisk Now, Elastix and Trixbox are other possibilities to provide a base as part of the family of Asterisk / FreePBX / CentOS distributions. However, the author has<br />
no knowledge of the security measures in place with these distributions, and indeed, Trixbox do recommend that their system is secured behind a firewall, so may not be<br />
suitable for connection directly to the Internet without some remedial work.</p>
<p>Alternatively, Support and Managed Installation and Training services are available through http://www.star2billing.com</p>
<p>The distributions mentioned are based on Centos, so these instructions are Centos biased.</p>
<p>These distributions can be installed on a VMWare image for testing if no hardware is available.</p>
<p>If you have hand-rolled your own distribution, and are familiar with 1.3.4, then the we assume that you have the necessary dependencies already installed.</p>
<p>Install Dependencies</p>
<p>yum -y install perl-DBD-Pg subversion</p>
<p>get A2Billing</p>
<p>mkdir /usr/local/src/a2billing<br />
cd /usr/local/src/a2billing<br />
svn co &#8211;username guest &#8211;password guest http://svn.a2billing.net/svn/asterisk2billing/trunk/ /usr/local/src/a2billing</p>
<p>copy a2billing.conf in /usr/local/src/a2billing/a2billing.conf to /etc/a2billing.conf</p>
<p>Edit a2billing.conf to suit your installation. e.g. change dbtype to mysql.</p>
<p>Install Database</p>
<p>Note that for Piaf and FonicaPABX, the database password is passw0rd and the location is localhost<br />
cd /usr/local/src/a2billing/DataBase/mysql-5.x<br />
./install-db.sh</p>
<p>Answer the questions appropriately with reference to /etc/a2billing.conf</p>
<p>You should now have a database called mya2billing with over 70 tables in it.</p>
<p>Install the AGI and Sound Files</p>
<p>So that we can easily update the system when changes are made during this period of change, we are going to use links back to the location where we installed the SVN<br />
download, so that an update from the SVN will immediately reflect in your A2Billing install.</p>
<p>Note that Database changes will not be included using this methodology, so these will have to be done by hand.</p>
<p>This is not the usual way of doing it, but for testing, it works well. You can also simply move or copy the files into the appropriate location.<br />
ln -s /usr/local/src/a2billing/AGI/a2billing.php /var/lib/asterisk/agi-bin/a2billing.php</p>
<p>set ownership and permissions on AGI</p>
<p>chown asterisk:asterisk /var/lib/asterisk/agi-bin/a2billing.php<br />
chmod +x /var/lib/asterisk/agi-bin/a2billing.php</p>
<p>Set up sounds</p>
<p>cd /usr/local/src/a2billing/addons/sounds<br />
./install_a2b_sounds.sh</p>
<p>set ownership on sounds</p>
<p>chown -R asterisk:asterisk /var/lib/asterisk/</p>
<p>Asterisk Manager</p>
<p>Now edit /etc/asterisk/manager_custom.conf (or manager.conf for those not using a pre-rolled distribution including FreePBX). Add the following lines<br />
[myasterisk]<br />
secret = mycode<br />
deny=0.0.0.0/0.0.0.0<br />
permit=127.0.0.1/255.255.255.0<br />
read = system,call,log,verbose,command,agent,user<br />
write = system,call,log,verbose,command,agent,user</p>
<p>Install Web Pages</p>
<p>Assumption is that apache2 root folder is /var/www/html</p>
<p>Common</p>
<p>ln -s /usr/local/src/a2billing/common /var/www/html/a2billing/common</p>
<p>Admin pages</p>
<p>ln -s /usr/local/src/a2billing/admin /var/www/html/a2billing/admin</p>
<p>Agent</p>
<p>ln -s /usr/local/src/a2billing/agent /var/www/html/a2billing/agent</p>
<p>Customer</p>
<p>ln -s /usr/local/src/a2billing/customer /var/www/html/a2billing/customer</p>
<p>Now we need to set permissions for Apache.</p>
<p>If you are using a pre-rolled Distro, then web group and ownership are asterisk and asterisk, if you are not using a distro, then you probably know what to set anyway.<br />
chown -R asterisk:asterisk /var/www/html/a2billing/<br />
chown -R asterisk:asterisk /usr/local/src/a2billing/common<br />
chown -R asterisk:asterisk /usr/local/src/a2billing/admin<br />
chown -R asterisk:asterisk /usr/local/src/a2billing/customer<br />
chown -R asterisk:asterisk /usr/local/src/a2billing/agent</p>
<p>Cronjobs</p>
<p>echo &#8221;<br />
# Automatically added for A2Billing<br />
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php<br />
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_archive_data_cront.php<br />
0 10 21 * * php /usr/local/src/a2billing/Cronjobs/a2billing_autorefill.php<br />
#Batch process at 00:20 each day<br />
20 0 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php<br />
#Bill DID usage at 00:00 each day<br />
0 0 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_bill_diduse.php<br />
#Generate Invoices at 6am everyday<br />
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_billing.php<br />
#Check if balance below preset value, and email user if so.<br />
1 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_notify_account.php<br />
#Charge subscriptions at 06:05 on the 1st of each month<br />
0 6 1 * * php /usr/local/src/a2billing/Cronjobs/a2billing_subscription_fee.php<br />
#Update currencies at 01:00 each day<br />
0 1 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php<br />
&#8221; &gt;&gt; /var/spool/cron/asterisk</p>
<p>Add directory for monitoring Script</p>
<p>mkdir -p /var/lib/a2billing/script<br />
mkdir -p /var/run/a2billing</p>
<p>Create Log Files</p>
<p>Log files and Permissions</p>
<p>touch /var/log/asterisk/a2billing-daemon-callback.log<br />
touch /var/log/a2billing-daemon-callback.log<br />
touch /var/log/cront_a2b_alarm.log<br />
touch /var/log/cront_a2b_autorefill.log<br />
touch /var/log/cront_a2b_batch_process.log<br />
touch /var/log/cront_a2b_bill_diduse.log<br />
touch /var/log/cront_a2b_subscription_fee.log<br />
touch /var/log/cront_a2b_currency_update.log<br />
touch /var/log/cront_a2b_invoice.log<br />
touch /var/log/a2billing_paypal.log<br />
touch /var/log/a2billing_epayment.log<br />
touch /var/log/api_ecommerce_request.log<br />
touch /var/log/api_callback_request.log<br />
touch /var/log/a2billing_agi.log</p>
<p>Callback</p>
<p>Here is a little script to install the call-back Daemon. Change the LOAD_LOC variable to reflect where you have downloaded A2Billing.</p>
<p>Callback Daemon installation Script</p>
<p>LOAD_LOC=/usr/local/src/a2billing</p>
<p>yum -y install python-setuptools.noarch<br />
yum -y install MySQL-python<br />
easy_install sqlalchemy</p>
<p>cd $LOAD_LOC/Callback/callback-daemon-py<br />
cp $LOAD_LOC/CallBack/callback-daemon-py/build/lib/callback_daemon/a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemon<br />
chmod +x /etc/init.d/a2b-callback-daemon</p>
<p>cd $LOAD_LOC/CallBack/callback-daemon-py/<br />
python setup.py build<br />
python setup.py bdist_egg<br />
easy_install dist/callback_daemon-1.0.prod_r1528-py2.4.egg<br />
chkconfig &#8211;add a2b-callback-daemon<br />
service a2b-callback-daemon start<br />
chkconfig a2b-callback-daemon on</p>
<p>Dialplan</p>
<p>The dialplan you put into Asterisk is the same as it was for A2Billing 1.3.4. I&#8217;ve not got round to writing the dialplan as yet.</p>
<p>Reboot</p>
<p>Login</p>
<p>http://Your-Switch/a2billing</p>
<p>Log into the admin pages with root and changepassword</p>
<p>General Setup</p>
<p>The general setup is similar to 1.3.4, and the order of events is approximately similar</p>
<p>* Set up trunk * Set up callplan * Setup rate plan * add rate table to callplan * add rates * add customer * test.</p>
<p>Guidelines</p>
<p>Keep an eye on the development of A2Billing here.</p>
<p>http://www.asterisk2billing.org/cgi-bin/trac.cgi/browser/trunk</p>
<p>Make sure that you are running the latest version before reporting a bug by periodically running.</p>
<p>Bugs can be dicussed in the bugs section here &#8211; http://forum.asterisk2billing.org/viewforum.php?f=22 before reporting them on the bug tracker.</p>
<p>Bugs tracking and reporting can be done here:- http://www.asterisk2billing.org/cgi-bin/trac.cgi/report</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/installing-asterisk2billing-a2b-1-7-0-in-centos-5-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS 5.4 or 5.5 + Asterisk 1.4 + G729 + G723</title>
		<link>http://callsolutions.org/centos-5-4-or-5-5-asterisk-1-4-g729-g723/</link>
		<comments>http://callsolutions.org/centos-5-4-or-5-5-asterisk-1-4-g729-g723/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 05:12:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk PBX]]></category>
		<category><![CDATA[asterisk install]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[centos 5.4]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=66</guid>
		<description><![CDATA[This tutorial will teach you how to install Asterisk 1.4 on a fresh install of CentOS 5.4 / 5.5 with g729 and g723 supported codec.
yum update
yum upgrade
yum groupinstall &#8216;Development Tools&#8217;
yum groupinstall &#8216;Development Libraries&#8217;
yum install -y kernel kernel-devel
cd /usr/src
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz
tar xvzf asterisk-1.4-current.tar.gz &#38;&#38; tar xvzf zaptel-1.4-current.tar.gz &#38;&#38; tar xvzf libpri-1.4-current.tar.gz &#38;&#38; tar xvzf [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial will teach you how to install Asterisk 1.4 on a fresh install of CentOS 5.4 / 5.5 with g729 and g723 supported codec.</p>
<p>yum update</p>
<p>yum upgrade</p>
<p>yum groupinstall &#8216;Development Tools&#8217;</p>
<p>yum groupinstall &#8216;Development Libraries&#8217;</p>
<p>yum install -y kernel kernel-devel</p>
<p>cd /usr/src</p>
<p>wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz</p>
<p>tar xvzf asterisk-1.4-current.tar.gz &amp;&amp; tar xvzf zaptel-1.4-current.tar.gz &amp;&amp; tar xvzf libpri-1.4-current.tar.gz &amp;&amp; tar xvzf asterisk-addons-1.4-current.tar.gz</p>
<p>a) Installing Zaptel</p>
<p>cd /usr/src/zaptel-1.4*<br />
./install_prereq test<br />
./install_prereq install<br />
./configure<br />
make<br />
make install<br />
make config<br />
modprobe ztdummy</p>
<p>b) Installing Libpri</p>
<p>cd /usr/src/libpri-1.4*<br />
make &amp;&amp; make install</p>
<p>c) Installing Asterisk</p>
<p>c) Installing Asterisk</p>
<p>cd /usr/src/asterisk-1.4*</p>
<p>./configure</p>
<p>Comment: The next step is not mandatory. To install core and extra sounds in different languages:</p>
<p>make menuselect</p>
<p>Comment: Select the core-sounds you would like to play and extra sounds. Exit with ï¿½xï¿½ to save.</p>
<p>make<br />
make install<br />
make samples<br />
make config<br />
asterisk -vvvc<br />
stop now<br />
echo ï¿½ztdummyï¿½ &gt;&gt; /etc/modules</p>
<p>d) Installing Asterisk Addons</p>
<p>cd /usr/src/asterisk-addons*<br />
./configure &amp;&amp; make &amp;&amp; make install<br />
make samples</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/centos-5-4-or-5-5-asterisk-1-4-g729-g723/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to earn from CNAM Revenue Sharing</title>
		<link>http://callsolutions.org/how-to-earn-from-cnam-revenue-sharing/</link>
		<comments>http://callsolutions.org/how-to-earn-from-cnam-revenue-sharing/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 14:52:58 +0000</pubDate>
		<dc:creator>jfanning</dc:creator>
				<category><![CDATA[CNAM]]></category>
		<category><![CDATA[CNAM DIP Fees]]></category>
		<category><![CDATA[CNAM Revenue Share]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=59</guid>
		<description><![CDATA[Every time a call is made to a phone in the U.S. that has caller-id enabled, the terminating phone company does a lookup in one of several national Â databases that contain all the U.S. caller-id names and numbers. Â This database lookup is called a CNAM dip. Â When this database is being â€˜dippedâ€™ the originating local [...]]]></description>
			<content:encoded><![CDATA[<p>Every time a call is made to a phone in the U.S. that has caller-id enabled, the terminating phone company does a lookup in one of several national Â databases that contain all the U.S. caller-id names and numbers. Â This database lookup is called a CNAM dip. Â When this database is being â€˜dippedâ€™ the originating local phone company getâ€™s compensated. Each and every time â€“ even is the call is not answered.</p>
<p>CNAM Revenue Sharing is when parties receiving CNAM revenue share this with other parties responsible for generating the CNAM revenue.</p>
<p>With SIP VoIP calls Â there usually is no CNAM caller id information published to the CNAM database because the <a href="http://www.ezcallinc.com">Wholesale VoIP Provider</a> does not gain anything from publishing this information. Therefor most of the time these VoIP calls do not generate any CNAM dips and thus no revenue.</p>
<p>CNAM dip revenue is very little per individual dip, we are talking about pennies or even sub-penny level. Therefor collecting CNAM revenue is only applicable for users with a high volume of outbound traffic terminating in the United States. Telemarketing companies, calling card providers, SIP Termination wholesalers etc. make good candidates for CNAM revenue share programs.</p>
<h2>CNAM Revenue Share Programs</h2>
<p>With CNAM revenue share programs, the customer gets assigned a numer of virtual ANIsÂ <em>(simplified you can see ANIs as telephone numbers)</em>. They then program these ANIs to be displayed on their outbound calls as their caller id, the number that shows what number is calling you.</p>
<p>Because this is simply a flag passed on to the SS7 network, it is something that is very easy to do. It does not require the customer to change anything else in their calling paths. Only the programming of the ANI flag with the ANI provided by the CNAM revenue sharing program.</p>
<p>The customer then provides the CNAM revenue sharing party with the caller name (CNAM) they would like to be displayed when they call someone. The CNAM is then distributed to the different CNAM databases where all phone companies get their CNAM data from.</p>
<p>After this, the customer simply gets paid for each call they place that dips into the CNAM database. This can add up to very significant five or even six figure CNAM revenue share commissions.</p>
<p>For more information, please read more about Â <a href="http://www.grnvoip.com/index.php/wholesale-solutions/cnam-revenue-share/">CNAM Revenue Share</a> from grnVoIP&#8217;s website.</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/how-to-earn-from-cnam-revenue-sharing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Installing Asterisk2Billing A2B 1.6 in Debian Lenny 5.0.4</title>
		<link>http://callsolutions.org/installing-asterisk2billing-1-6-in-debian-lenny-5-0-4/</link>
		<comments>http://callsolutions.org/installing-asterisk2billing-1-6-in-debian-lenny-5-0-4/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 11:19:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[A2Billing]]></category>
		<category><![CDATA[Asterisk PBX]]></category>
		<category><![CDATA[a2b]]></category>
		<category><![CDATA[asterisk2billing]]></category>
		<category><![CDATA[debin]]></category>
		<category><![CDATA[lenny]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=56</guid>
		<description><![CDATA[I assumed that Debian Lenny is already installed on the system. This is a step-by-step procedure how to install Asterisk2Billing or A2B in Debian Lenny. This HowTo is just a  copy/paste procedure. Let me know if you run into trouble installing this.
apt-get update
apt-get upgrade
aptitude install ssh ntp screen
aptitude install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc [...]]]></description>
			<content:encoded><![CDATA[<p>I assumed that Debian Lenny is already installed on the system. This is a step-by-step procedure how to install Asterisk2Billing or A2B in Debian Lenny. This HowTo is just a  copy/paste procedure. Let me know if you run into trouble installing this.</p>
<p>apt-get update<br />
apt-get upgrade<br />
aptitude install ssh ntp screen<br />
aptitude install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev flex xsltproc linux-headers-`uname -r` g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core flex bison<br />
cd /usr/src/<br />
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz<br />
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz<br />
tar xvfz asterisk-1.4-current.tar.gz<br />
tar xvzf asterisk-1.4-current.tar.gz &#038;&#038; tar xvzf zaptel-1.4-current.tar.gz &#038;&#038; tar xvzf libpri-1.4-current.tar.gz &#038;&#038; tar xvzf asterisk-addons-1.4-current.tar.gz tar<br />
tar xvfz zaptel-1.4.12.1/<br />
cd zaptel-1.4.12.1/<br />
./install_prereq test<br />
./install_prereq install<br />
./configure<br />
make<br />
make install<br />
make config<br />
modprobe ztdummy<br />
cd ../libpri-1.4.10.2/<br />
make &#038;&#038; make install<br />
cd ../asterisk-1.4.30/<br />
./configure<br />
make<br />
make install<br />
make samples<br />
make config<br />
asterisk -vvvvvvvvvvvvgc<br />
echo &#8220;ztdummy&#8221;<br />
echo &#8220;ztdummy&#8221; >> /etc/modules<br />
cd ../asterisk-addons-1.4-current.tar.gz<br />
cd ..<br />
tar xvfz asterisk-addons-1.4-current.tar.gz<br />
cd asterisk-addons-1.4.10/<br />
./configure &#038;&#038; make &#038;&#038; make install<br />
make samples<br />
apt-get install apache2 php5 mysql-server<br />
cd /var/www/<br />
wget http://www.asterisk2billing.org/downloads/A2Billing_1.6.0.tar.gz<br />
tar xvfz A2Billing_1.6.0.tar.gz<br />
mv A2Billing_1.6.0.tar.gz /tmp/<br />
apt-get install libapache2-mod-php5 php5 php5-common<br />
apt-get install php5-cli php5-mysql mysql-server apache2 php5-gd<br />
apt-get install openssh-server subversion<br />
apt-get install php5-mcrypt<br />
mysql -u root -p < DataBase/mysql-5.x/a2billing-createdb-user.sql<br />
mysql -u a2billinguser -p mya2billing<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/a2billing-schema-v1.4.0.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.0-to-v1.4.1.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.1-to-v1.4.2.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.2-to-v1.4.3.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.3-to-v1.4.4.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.4-to-v1.4.4.1.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.4.1-to-v1.4.5.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.4.5-to-v1.5.0.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.5.0-to-v1.5.1.sql<br />
mysql -u root -p mya2billing < DataBase/mysql-5.x/UPDATE-a2billing-v1.5.1-to-v1.6.0.sql<br />
mysql -u a2billinguser -p mya2billing<br />
cp a2billing.conf /etc/</p>
<p>touch /etc/asterisk/additional_a2billing_iax.conf<br />
touch /etc/asterisk/additional_a2billing_sip.conf<br />
echo \#include additional_a2billing_sip.conf >> /etc/asterisk/sip.conf<br />
echo \#include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf<br />
chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf<br />
chown -Rf www-data /etc/asterisk/additional_a2billing_sip.conf<br />
cd addons/sounds/<br />
./install_a2b_sounds.sh<br />
chown -R asterisk:asterisk  /var/lib/asterisk/sounds/<br />
vi /etc/asterisk/manager.conf</p>
<p>   Notice that we are using the default values (myasterisk, mycode) in this section. The configuration should look like this<br />
[general]<br />
enabled = yes<br />
port = 5038<br />
bindaddr = 0.0.0.0</p>
<p>[myasterisk]<br />
secret=mycode<br />
read=system,call,log,verbose,command,agent,user<br />
write=system,call,log,verbose,command,agent,user</p>
<p>cd AGI/<br />
cp a2billing.php /var/lib/asterisk/agi-bin/<br />
cp -rf ../common/lib /var/lib/asterisk/agi-bin/<br />
chmod +x /var/lib/asterisk/agi-bin/a2billing.php<br />
mkdir /var/www/a2billing<br />
chown www-data:www-data /var/www/a2billing<br />
mkdir -p /var/lib/a2billing/script<br />
mkdir -p /var/run/a2billing<br />
mv admin a2billing/<br />
mv agent a2billing/<br />
mv customer a2billing/<br />
mv common a2billing/<br />
chmod 755 a2billing/admin/templates_c<br />
chmod 755 a2billing/customer/templates_c<br />
chmod 755 a2billing/agent/templates_c<br />
chown -Rf www-data:www-data /var/www/a2billing/admin/templates_c<br />
chown -Rf www-data:www-data /var/www/a2billing/customer/templates_c/<br />
chown -Rf www-data:www-data /var/www/a2billing/customer/templates_c<br />
chown -Rf www-data:www-data /var/www/a2billing/agent/templates_c<br />
/etc/init.d/apache2 status<br />
/etc/init.d/apache2 restart<br />
apt-get install python-setuptools python-mysqldb python-psycopg2 python-sqlalchemy<br />
easy_install callback-daemon-py/dist/callback_daemon-1.0.prod_r1527-py2.5.egg</p>
<p>Direct a browser to the administrative web interface (http://<ip-addr>/a2billing/admin) and login as administrator. Default passwords are:<br />
user: root<br />
pass: changepassword</p>
<p>vi /etc/asterisk/extensions.conf</p>
<p>[default]</p>
<p>include => a2billing</p>
<p>[a2billing]<br />
; CallingCard application<br />
exten => _X.,1,Answer<br />
exten => _X.,2,Wait,2<br />
exten => _X.,3,DeadAGI,a2billing.php<br />
exten => _X.,4,Wait,2<br />
exten => _X.,5,Hangup</p>
<p>[did]<br />
; CallingCard application<br />
exten => _X.,1,DeadAGI(a2billing.php|1|did)</p>
<p>crontab -e</p>
<p># update the currency table<br />
0 6 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php</p>
<p># manage the monthly services subscription<br />
0 6 1 * * php /usr/local/src/a2billing/Cronjobs/a2billing_subscription_fee.php</p>
<p># To check account of each Users and send an email if the balance is less than the user have choice.<br />
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_notify_account.php</p>
<p># this script will browse all the DID that are reserve and check if the customer need to pay for it<br />
# bill them or warn them per email to know if they want to pay in order to keep their DIDs<br />
0 2 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_bill_diduse.php</p>
<p># This script will take care of the recurring service.<br />
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php</p>
<p>#Generate Invoices at 6am everyday<br />
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_billing.php</p>
<p># to proceed the autodialer<br />
*/5 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_autodialer.php</p>
<p># manage alarms<br />
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php</p>
<p>This is the initial installation for Asterisk2Billing 1.6 in Debian Lenny 5.0.4</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/installing-asterisk2billing-1-6-in-debian-lenny-5-0-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeSwitch Installation</title>
		<link>http://callsolutions.org/freeswitch-installation/</link>
		<comments>http://callsolutions.org/freeswitch-installation/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 00:00:43 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[FreeSwitch]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=37</guid>
		<description><![CDATA[FreeSwitch Installation Howto:
This FreeSwitch Installation is derived from FreeSwitch Wiki Installation. I used this to install to my Debian Etch Server that runs in AMD Opteron Dual Proc Server.
Download Source Tarball

 Unix Source freeswitch-1.0.1.tar.gz
 Nightly Snapshot of SVN Source freeswitch-snapshot.tar.gz


FreeSWITCH 1.0.1 &#8220;Phoenix&#8221; Release
Here is the much awaited Freeswitch 1.0.1 &#8220;Phoenix&#8221; tarball located at http://files.freeswitch.org/
Follow the [...]]]></description>
			<content:encoded><![CDATA[<h2><a href="http://callsolutions.org/voip-tutorial/freeswitch/freeswitch-softswitch/">FreeSwitch</a> Installation Howto:</h2>
<p>This <strong>FreeSwitch</strong> Installation is derived from FreeSwitch Wiki Installation. I used this to install to my Debian Etch Server that runs in AMD Opteron Dual Proc Server.</p>
<h2><strong>Download Source Tarball</strong></h2>
<ul>
<li> Unix Source <a class="external text" title="http://files.freeswitch.org/freeswitch-1.0.1.tar.gz" rel="nofollow" href="http://files.freeswitch.org/freeswitch-1.0.1.tar.gz">freeswitch-1.0.1.tar.gz</a></li>
<li> Nightly Snapshot of SVN Source <a class="external text" title="http://files.freeswitch.org/freeswitch-snapshot.tar.gz" rel="nofollow" href="http://files.freeswitch.org/freeswitch-snapshot.tar.gz">freeswitch-snapshot.tar.gz</a></li>
</ul>
<p><a name="FreeSWITCH_1.0.1_.22Phoenix.22_Release"></a></p>
<h2><strong><a href="http://callsolutions.org/voip-tutorial/freeswitch/freeswitch-softswitch/">FreeSWITCH</a> 1.0.1 &#8220;Phoenix&#8221; Release</strong></h2>
<p>Here is the much awaited Freeswitch 1.0.1 &#8220;Phoenix&#8221; tarball located at <a class="external free" title="http://files.freeswitch.org/" rel="nofollow" href="http://files.freeswitch.org/">http://files.freeswitch.org/</a></p>
<p>Follow the instructions below to be a proud user:</p>
<pre>wget http://files.freeswitch.org/freeswitch-1.0.1.tar.gz
tar xvfz freeswitch-1.0.1.tar.gz
cd &lt;freeswitch dir&gt;</pre>
<pre>./configure
make all install</pre>
<p><a name="Quick_and_Dirty_Install_for_the_Impatient_Ones"></a></p>
<h2>Quick and Dirty Install for the Impatient Ones</h2>
<p>If you are impatient and know Linux at least moderately well then hop over to the <a title="Quick and Dirty Install" href="http://wiki.freeswitch.org/wiki/Quick_and_Dirty_Install">quick and dirty install</a> page!</p>
<p><a name="Binary_Installation_or_ISO_CD-ROM_Installation"></a></p>
<h2>Binary Installation or ISO CD-ROM Installation</h2>
<p>The FreeSWITCH™ project maintains binary packages for a number of Linux distributions on the <a class="external text" title="http://opensuse.org" rel="nofollow" href="http://opensuse.org/">openSUSE</a> <a class="external text" title="http://build.opensuse.org" rel="nofollow" href="http://build.opensuse.org/">Build Service</a>. All external dependencies required by these FreeSWITCH™ packages are either part of the base Linux distros or available in the repository at: <a class="external free" title="http://software.opensuse.org/download/network:/telephony/" rel="nofollow" href="http://software.opensuse.org/download/network:/telephony/">http://software.opensuse.org/download/network:/telephony/</a></p>
<p>There are unofficial Ubuntu Hardy packages available at;</p>
<pre>deb <a class="external free" title="http://ppa.launchpad.net/hads/ubuntu" rel="nofollow" href="http://ppa.launchpad.net/hads/ubuntu">http://ppa.launchpad.net/hads/ubuntu</a> hardy main</pre>
<p>Another option is the <a class="external text" title="http://www.trixswitch.org" rel="nofollow" href="http://www.trixswitch.org/">trixswitch</a> ISO install package, a <a class="external text" title="http://centos.org" rel="nofollow" href="http://centos.org/">CentOS</a>-based CD-ROM image that creates a boot CD that will automatically install CentOS and FreeSWITCH™.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Warning" href="http://wiki.freeswitch.org/wiki/Image:Warning.png"><img longdesc="/wiki/Image:Warning.png" src="http://wiki.freeswitch.org/images/thumb/c/cb/Warning.png/64px-Warning.png" alt="Warning" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />installing trixswitch will erase the hard drive!<br />
<hr /></div>
</div>
<p>If your preferred Linux distro and version is listed there, then we recommend you use these packages. If however you wish to build the source yourself, continue reading.</p>
<p><a name="Obtaining_the_Source_Code"></a></p>
<h2>Obtaining the Source Code</h2>
<p>Ensure that you have met the dependencies listed below. Once that is completed, you have two methods to obtain the source code. Via subversion (svn) or by downloading a tarball. Subversion provides access to the latest features and bug fixes, while the tarballs are created nightly. There are subversion clients for windows as well as Unix-like systems. This document assumes that you are using a command-line subversion client. You will want to save the source somewhere convenient, execute the following from the directory appropriate for your operating system eg c:\source, /usr/local/src or /usr/src .</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>svn checkout <a class="external free" title="http://svn.freeswitch.org/svn/freeswitch/trunk" rel="nofollow" href="http://svn.freeswitch.org/svn/freeswitch/trunk">http://svn.freeswitch.org/svn/freeswitch/trunk</a> freeswitch</pre>
</div>
</div>
<p>You can download Freeswitch 1.0.1 release source in a tarball from the following links.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre><a class="external free" title="http://files.freeswitch.org/freeswitch-1.0.1.tar.gz" rel="nofollow" href="http://files.freeswitch.org/freeswitch-1.0.1.tar.gz">http://files.freeswitch.org/freeswitch-1.0.1.tar.gz</a></pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre><a class="external free" title="http://files.freeswitch.org/freeswitch-1.0.1.tar.bz2" rel="nofollow" href="http://files.freeswitch.org/freeswitch-1.0.1.tar.bz2">http://files.freeswitch.org/freeswitch-1.0.1.tar.bz2</a></pre>
</div>
</div>
<p>You can download the latest tagged release source in a tarball from the following link.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre><a class="external free" title="http://files.freeswitch.org/freeswitch-1.0.latest.tar.gz" rel="nofollow" href="http://files.freeswitch.org/freeswitch-1.0.latest.tar.gz">http://files.freeswitch.org/freeswitch-1.0.latest.tar.gz</a></pre>
</div>
</div>
<p>Or you may download other tarballs from marked releases or binary releases from the following link</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre><a class="external free" title="http://files.freeswitch.org/" rel="nofollow" href="http://files.freeswitch.org/">http://files.freeswitch.org/</a></pre>
</div>
</div>
<p>If you download the tarball you will need to untar it, in Windows you may use a tool like <a class="external text" title="http://www.winzip.com" rel="nofollow" href="http://www.winzip.com/">WinZip</a> Unix-like systems come with tar preinstalled (and most modern ones with gunzip). If you are in a Unix-like system execute the following:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>tar zxvf freeswitch-snapshot.tar.gz</pre>
</div>
</div>
<p>If you are facing problems because of web proxy you could try something like this:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>svn co <a class="external free" title="http://svn.freeswitch.org/svn/freeswitch/trunk" rel="nofollow" href="http://svn.freeswitch.org/svn/freeswitch/trunk">http://svn.freeswitch.org/svn/freeswitch/trunk</a> freeswitch.trunk
 cd freeswitch.trunk
 svn propedit svn:externals . --editor-cmd=[your favorite editor here]
 remove the :81 from both externals urls
 save/exit
 svn update</pre>
</div>
</div>
<p><a name="Compiling_the_Source_Code"></a></p>
<h2>Compiling the Source Code</h2>
<p><a name="Windows"></a></p>
<h3>Windows</h3>
<ul>
<li> Open Freeswitch.sln</li>
<li> Right click the main solution node at the top of the Solution Explorer</li>
<li> Right click and select Build</li>
</ul>
<p>Note that building for Windows within a tree that has previously been built for a different platform will result in numerous errors and build failures. To resolve, delete the following generated files:</p>
<ul>
<li> libs/apr/include/apr.h</li>
<li> libs/js/config.h</li>
<li> libs/js/src/jsautocfg.h</li>
<li> libs/js/nsprpub/pr/include/prcpucfg.h</li>
<li> libs/iksemel/include/config.h</li>
<li> libs/xmlrpc/xmlrpc_config.h</li>
<li> libs/libsndfile/src/sfconfig.h; also rename libs/win32/libsndfile/config.h to libs/win32/libsndfile/sfconfig.h</li>
<li> libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h</li>
</ul>
<p>then Rebuild the solution.</p>
<p>Building under VS 2008 may require that you disable &#8220;Enable Minimal Rebuild&#8221; in the properties pane for FreeSwitchCoreLib project if VS reports an internal compilation error in SimpleGlob.h.</p>
<p>You may also need to &#8220;Enable default libraries&#8221; in the properties pane for XML Interfaces\mod_xml_rpc if VS complains of numerous unresolved external symbols, e.g., _memset, _strcmp.</p>
<p>After following the instructions above to build for Windows, you will need to delete &#8220;libs/js/nsprpub/pr/include/prcpucfg.h&#8221; and rerun &#8220;./bootstrap.sh&#8221; before building for another platform.</p>
<p><a name="Unix-like_systems_.28Linux.2C_BSD.2C_OS_X.29"></a></p>
<h3>Unix-like systems (Linux, BSD, OS X)</h3>
<p>All commands should be executed from within the main source repository. If you downloaded a tarball you may skip this step, jumping to ./configure</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>./bootstrap.sh</pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Informational Tip" href="http://wiki.freeswitch.org/wiki/Image:Info.png"><img longdesc="/wiki/Image:Info.png" src="http://wiki.freeswitch.org/images/thumb/b/b3/Info.png/64px-Info.png" alt="Informational Tip" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />Some Linux distributions (Debian, for example) include both autoconf2.13 and autoconf2.50 along with a script called &#8220;autoconf&#8221; that automatically selects between the two. The numbers appended to the programs show which flavor of autoconf it provides, but autoconf2.50 can actually be autoconf version 2.61. bootstrap.sh checks for the version of autoconf, but the autoconf script returns version 2.13 by default. If bootstrap.sh fails with a complaint about needing autoconf 2.59 or above and you have installed the prerequisites listed below, try:</p>
<hr /></div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>AUTOCONF=/usr/bin/autoconf ./bootstrap.sh</pre>
</div>
</div>
<p>By default FreeSWITCH is installed in the /usr/local/freeswitch prefix. To configure:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>./configure</pre>
</div>
</div>
<p>If you don’t have root access add &#8211;prefix=~/freeswitch to the command. For configuring with ODBC support see <a title="Mod spidermonkey odbc" href="http://wiki.freeswitch.org/wiki/Mod_spidermonkey_odbc">here</a>.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>./configure --prefix=/usr/local/freeswitch</pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Informational Tip" href="http://wiki.freeswitch.org/wiki/Image:Info.png"><img longdesc="/wiki/Image:Info.png" src="http://wiki.freeswitch.org/images/thumb/b/b3/Info.png/64px-Info.png" alt="Informational Tip" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />Not all Debian releases have /usr/bin/gcc. Instead you can find something like /usr/bin/gcc-X.Y so ./configure will fail, if it is missing. To execute without problem ./configure, try:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>ln -s /usr/bin/gcc-X.Y /usr/bin/gcc</pre>
</div>
</div>
<p>on such a release. Remember to change X.Y with the correct numbers. It will work like a charm.</p>
<hr /></div>
</div>
<p>On ubuntu hardy, configure will complain about missng curses library. libcurses5 is installed by default, so just make a symbolic link:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>ln -s /lib/libncurses.so.5 /lib/libncurses.so</pre>
</div>
</div>
<p>You should now create a modules.conf.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cp build/modules.conf.in modules.conf</pre>
</div>
</div>
<p>Edit modules.conf so that it will build the modules you desire. If you are unsure, leave this to the defaults. FreeSWITCH™ comes with a good set of modules as the default, until you become more familiar with FreeSWITCH™ it is advised that you not edit modules.conf. A # at the beginning will omit that module from being built. A list of the modules can be obtained from the <a title="Modules" href="http://wiki.freeswitch.org/wiki/Modules">Modules</a> page.</p>
<p>Once you are done configuring the build environment you need to run the following commands:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make
make install
make sounds-install
make moh-install</pre>
</div>
</div>
<p><strong>Suse 10.3 Note:</strong> Compiling on Suse 10.3 if you get this error:</p>
<pre>libtool: link: `src/jsapi.lo' is not a valid libtool object
make[6]: *** [libjs.la] Error 1
make[5]: *** [/usr/src/freeswitch.trunk/libs/js/libjs.la] Error 2
make[4]: *** [all] Error 1
make[3]: *** [mod_spidermonkey-all] Error 1
make[2]: *** [all-recursive] Error 1</pre>
<p>Try the following procedure:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd libs/js/
make clean
make
cd ../..
make</pre>
</div>
</div>
<p>I don&#8217;t know why it won&#8217;t build correctly on Suse 10.3 the first time around, but bkw suggested that as a workaround mid July 2008 and it seems to work for both the x86 and x86_64 platforms.<br />
There are also higher bitrate sounds available for download and installation with:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make uhd-sounds-install
make uhd-moh-install
make hd-sounds-install
make hd-moh-install</pre>
</div>
</div>
<p><a name="FreeBSD"></a></p>
<h3>FreeBSD</h3>
<p><strong>Installing FreeBSD dependencies:</strong></p>
<p>SVN: Several Choices.</p>
<p>GNUMAKE: The GNU version of make. (will be installed automatically as a dependency to autoconf)</p>
<p>AUTOCONF: Version 2.50 or higher. Note that version 2.62 does <strong>not</strong> seem to work (at the time writing at least), <tt>./configure</tt> will fail in libsndfile if you are using that version. Version 2.61 seems to work just fine.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r autoconf261</pre>
</div>
</div>
<p>GCC: Version 3.95 or higher</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r gcc34</pre>
</div>
</div>
<p>WGET: Almost any version</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r wget</pre>
</div>
</div>
<p>AUTOMAKE:  Version 1.70 or higher</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r automake19</pre>
</div>
</div>
<p>GLIBTOOL:  Version 1.5.14 or higher</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r libtool</pre>
</div>
</div>
<p>LIBNCURSES:  Almost any version</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r ncurses</pre>
</div>
</div>
<p>SVN:  Subversion</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>pkg_add -r subversion</pre>
</div>
</div>
<p>Get source with wget:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd /usr/src
/usr/local/bin/wget <a class="external free" title="http://files.freeswitch.org/freeswitch-snapshot.tar.gz" rel="nofollow" href="http://files.freeswitch.org/freeswitch-snapshot.tar.gz">http://files.freeswitch.org/freeswitch-snapshot.tar.gz</a>
tar zxvf freeswitch-snapshot.tar.gz
cd freeswitch-snapshot</pre>
</div>
</div>
<p>Note: ./bootstrap.sh has already been run for Full and Release Candidate versions.<br />
Or get source with SVN</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd /usr/src
/usr/local/bin/svn co <a class="external free" title="http://svn.freeswitch.org/svn/freeswitch/trunk" rel="nofollow" href="http://svn.freeswitch.org/svn/freeswitch/trunk">http://svn.freeswitch.org/svn/freeswitch/trunk</a> freeswitch.trunk
cd freeswitch.trunk</pre>
</div>
</div>
<p><strong>Build Process</strong> After downloading the source with svn or with wget</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>./bootstrap.sh
./configure
gmake install
gmake samples
gmake sounds-install
gmake moh-install</pre>
</div>
</div>
<p>Make sure you are using gmake and not make, it does not build properly with make at the moment on FreeBSD.</p>
<p><strong>Run Freeswitch</strong></p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd /usr/local/freeswitch/bin
./freeswitch</pre>
</div>
</div>
<p><a name="Cross_Compiling_for_ARM_on_Linux"></a></p>
<h3>Cross Compiling for ARM on Linux</h3>
<p>These instructions were tested on Linux 2.6.18 (Centos 5) Cross compiling Linux 2.6.21 for ARM using gcc 3.4.6</p>
<p>All commands should be executed from within the main source repository.</p>
<p>Create a modules.conf. (this can be done after configure but it is convenient to do it now)</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cp build/modules.conf.in modules.conf</pre>
</div>
</div>
<p>Decide if you want to include cpp code, if you are running on a small embedded system and don&#8217;t want to install the 2+MBytes libstdc++.so edit Makefile.am in the root of the source repository and remove all references to switch_cpp.cpp and switch_cpp.h, there is one of each. This will also disable all of FreeSWITCH&#8217;s language modules, edit modules.conf and comment out all the language modules, that is all the lines starting with &#8220;language&#8221;. You can still write C applications with the cpp disabled.</p>
<p>I was not able to get javascript working so you should comment out languages/mod_spidermonkey* from modules.conf and comment out the line &#8220;AC_CONFIG_SUBDIRS(libs/js)&#8221; in the file configure.in. If you figure out a way to get it working update this page, I wasn&#8217;t motivated as I did not intend to use it.</p>
<p>If you want to reduce the build time you can comment out other support libraries from configure.in, I only used and tested the following, it saves a lot of build time and I don&#8217;t know if the other libraries will build: libs/srtp libs/sqlite libs/libresample libs/libedit libs/pcre libs/apr libs/apr-util libs/codec/ilbc libs/sofia-sip libs/libsndfile libs/voipcodecs I already had a version of curl cross compiled so I did not use the version that comes with FreeSWITCH.<br />
Run this command next, it will create all the configure scripts</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>./bootstrap.sh</pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Informational Tip" href="http://wiki.freeswitch.org/wiki/Image:Info.png"><img longdesc="/wiki/Image:Info.png" src="http://wiki.freeswitch.org/images/thumb/b/b3/Info.png/64px-Info.png" alt="Informational Tip" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />Some Linux distributions (Debian, for example) include both autoconf2.13 and autoconf2.50 along with a script called &#8220;autoconf&#8221; that automatically selects between the two. The numbers appended to the programs show which flavor of autoconf it provides, but autoconf2.50 can actually be autoconf version 2.61. bootstrap.sh checks for the version of autoconf, but the autoconf script returns version 2.13 by default. If bootstrap.sh fails with a complaint about needing autoconf 2.59 or above and you have installed the prerequisites listed below, try:</p>
<hr /></div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>AUTOCONF=/usr/bin/autoconf ./bootstrap.sh</pre>
</div>
</div>
<p>Several of the packages cannot detect capabilities of the Cross Compile environment correctly so configure needs to be called with many options to get it to work correctly. Check that the options I have match your Cross Compile environment. Prior to running this the following environment variables must be set: TARGET_CC &#8211; the cross compiler HOSTCC &#8211; the host compiler CFLAGS &#8211; CFLAGS for the cross compiler CPPFLAGS &#8211; CPPFLAGS for the cross compiler LDFLAGS &#8211; LDFLAGS for the cross compiler These environment variables also need to be set to point to the appropriate tool in the cross compiler&#8217;s toolchain CC, CXX, AR, LD, GCC, AS, NM, RANLIB, STRIP, SIZE, OBJCOPY &amp; OBJDUMP. Not sure if they are all used, but this is what worked for me.</p>
<p>You will need to adjust some setting to fit your environment, set the &#8220;path&#8221; in ac_cv_path__libcurl_config and &#8211;with-curl, or remove them if you use the version that comes with FreeSWITCH. Set &#8211;with-modinstdir to point to where the FreeSWITCH modules will be on the target filesystem.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>export config_TARGET_CC="$(TARGET_CC)"; \
   export config_BUILD_CC="$(HOSTCC)"; \
   export config_TARGET_CFLAGS="$(CFLAGS)"; \
   export config_TARGET_LIBS="$(LDFLAGS)"; \
   export CC_FOR_BUILD="$(HOSTCC)"; \
   export CFLAGS_FOR_BUILD=" "; \
   export ac_cv_file__dev_zero=no; \
   export apr_cv_tcp_nodelay_with_cork=yes; \
   export ac_cv_sizeof_ssize_t=4; \
   export ac_cv_file_dbd_apr_dbd_mysql_c=yes; \
   export ac_cv_path__libcurl_config=/path/curl-config; \
   export apr_cv_mutex_recursive=yes; \
   export ac_cv_func_pthread_rwlock_init=yes; \
   export apr_cv_type_rwlock_t=yes; \
       ./configure \
       --target=$(GNU_TARGET_NAME) \
       --host=$(GNU_TARGET_NAME) \
       --build=$(GNU_HOST_NAME) \
       --with-libcurl=/path/install \
       --with-devrandom=/dev/urandom \
       --with-modinstdir=/mod \</pre>
</div>
</div>
<p>If you have not done so edit modules.conf so that it will build the modules you desire. If you are unsure, leave this to the defaults. FreeSWITCH™ comes with a good set of modules as the default, until you become more familiar with FreeSWITCH™ it is advised that you not edit modules.conf. A # at the beginning will omit that module from being built. A list of the modules can be obtained from the <a title="Modules" href="http://wiki.freeswitch.org/wiki/Modules">Modules</a> page.</p>
<p>Once you are done configuring the build environment you need to run the following command. (Your PATH must point to the cross compiler toolchain)</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make</pre>
</div>
</div>
<p>I found little use for make install as I didn&#8217;t want the Cross Compiled version installed on the build system. You will need to copy the freeswitch binary, library and modules directly out of the build tree into where ever you need them.</p>
<p><a name="Compile_Errors.3F"></a></p>
<h2>Compile Errors?</h2>
<p>Did you get any compile errors or notice any bugs? Remember FreeSWITCH is still in development and requires contribution from everybody. If you encounter a bug please file a bug report at <a class="external free" title="http://jira.freeswitch.org" rel="nofollow" href="http://jira.freeswitch.org/">http://jira.freeswitch.org</a> or email freeswitch-dev@lists.freeswitch.org (we prefer that you use Jira so that we can track all issues). Sometimes bugs are fixed by the time you notice them, if you do encounter a bug you may wish to get a more recent version of the source code and rebuild.</p>
<p><a name="Rebuilding"></a></p>
<h2>Rebuilding</h2>
<p>After doing a &#8220;svn update&#8221; or changing some source files, you may want to clean out your build area. To ensure that your build is clean, you should execute:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make clean modwipe</pre>
</div>
</div>
<p>Alternatively, you can simply execute &#8220;make current&#8221; which will handle the svn up, clean up, and rebuild in one step:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make current</pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Warning" href="http://wiki.freeswitch.org/wiki/Image:Warning.png"><img longdesc="/wiki/Image:Warning.png" src="http://wiki.freeswitch.org/images/thumb/c/cb/Warning.png/64px-Warning.png" alt="Warning" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />NOTE: make current will take a while as it <strong>completely</strong> cleans the build environment and rebuilds FreeSWITCH!<br />
<hr /></div>
</div>
<p>Also, the clean targets leave the &#8220;modules.conf&#8221; file. To see if there are any new modules you may want to execute</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>diff build/modules.conf.in modules.conf</pre>
</div>
</div>
<p>Once you are satisfied with your options, follow the build directions above. If you have enabled a module that was not previously enabled, and you want to build just that module, or rebuild one that has changed, you may execute the following:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>make mod_name-install</pre>
</div>
</div>
<p>where mod_name is the name of the module you wish to rebuild.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Informational Tip" href="http://wiki.freeswitch.org/wiki/Image:Info.png"><img longdesc="/wiki/Image:Info.png" src="http://wiki.freeswitch.org/images/thumb/b/b3/Info.png/64px-Info.png" alt="Informational Tip" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />that doing a &#8220;make install&#8221; will not overwrite any existing files in $(PREFIX)/conf if there already exists a $(PREFIX)/conf/freeswitch.xml file.</p>
<hr /></div>
</div>
<p><a name="Prerequisites"></a></p>
<h2>Prerequisites</h2>
<p>In order to build FreeSWITCH™ from the source code, you will need to have several tools installed. The list varies from platform to platform, and are listed here. Some distributions come with these requirements while others require you to obtain them.</p>
<p><a name="Unix-like_systems"></a></p>
<h3>Unix-like systems</h3>
<ul>
<li> <strong>SVN</strong>: an SVN client gives you access to the current code repository. Alternatively you may select to get a nightly tarball of the source instead of using SVN.</li>
<li> <strong>GNUMAKE</strong>: The GNU version of make.</li>
<li> <strong>AUTOCONF</strong>: Version 2.50 or higher</li>
<li> <strong>AUTOMAKE</strong>: Version 1.70 or higher</li>
<li> <strong>GLIBTOOL</strong>: Version 1.5.14 or higher</li>
<li> <strong>GCC</strong>: Version 3.95 or higher</li>
<li> <strong>WGET</strong>: Almost any version</li>
<li> <strong>LIBNCURSES</strong>: Almost any version</li>
</ul>
<p><a name="Mac_OS_X"></a></p>
<h4>Mac OS X</h4>
<p>You will need to install the Apple <a class="external text" title="http://connect.apple.com" rel="nofollow" href="http://connect.apple.com/">XCode development software</a> (which requires registration, but is free).  This should be performed first.</p>
<p>One easy way to install any missing tools is by using <a class="external text" title="http://www.finkproject.org" rel="nofollow" href="http://www.finkproject.org/">Fink</a>. Fink is a MacOS X tool that allows you to download convenient, pre-compiled binaries as well as source code for over 1,700 software packages.</p>
<p>The standard &#8220;fink install&#8221; includes the 1.5.10 version of glibtool, in order to get the 1.5.14 or later version, you must tell Fink to use the unstable branch (fink.conf man page), which then leads to an automatic download and install of the latest glibtool version.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>"fink install svn-client make automake1.9 autoconf2.5 libtool14 wget"</pre>
</div>
</div>
<p>However you install these tools, you will need to make certain they&#8217;re on your PATH.</p>
<p><a name="pfSense_package_with_GUI"></a></p>
<h4>pfSense package with GUI</h4>
<p>pfSense FreeSWITCH package is available for pfSense 1.2.1. The package includes a GUI for FreeSWITCH&#8217;s configuration. The naming convention for the GUI has been designed to closely match the XML tag names and file names used in the default XML configuration as closely as possible. Install pfSense 1.2.1 based on FreeBSD7, Then go to System -&gt; Packages and click the &#8216;+&#8217; add button on the right to install FreeSWITCH from the packages list. The package is around 50mb because it includes 8khz, and 16khz sounds and music on hold. After the installation FreeSWITCH will automatically start. By default it will bind to the WAN IP.</p>
<p>To download pfSense 1.2.1 go to: <a class="external free" title="http://www.pfsense.com/" rel="nofollow" href="http://www.pfsense.com/">http://www.pfsense.com/</a></p>
<p>The pfSense FreeeSWITCH package is being used on several live systems on dedicated hardware. It also has been tested and used from VMware and the audio quality is great.</p>
<p>If you already have a firewall in place and just want to use this package as an easy FreeSWITCH install you can turn off the firewall in pfSense by going to System -&gt; Advanced -&gt; Disable Firewall then put a check mark in &#8216;Disable all packet filtering.&#8217;</p>
<p>A pfSense based FreeSWITCH appliance under development and coming soon.</p>
<p><a name="Trixswitch_ISO"></a></p>
<h4>Trixswitch ISO</h4>
<p>To work with souce, you will need to install the c++ compiler: yum install gcc-c++ and also for trixswitch v.0.4 (at least) yum install subversion yum install make</p>
<p>After the foregoing are installed, you can use the &#8220;svn&#8221; i.e. subversion system to download the source as described in the main article, above.</p>
<p>Then, you must run the following files to install automake,autoconf, and libtool:</p>
<p>fixlibtool.sh fixautomake.sh fixautoconf.sh</p>
<p>You can find these scripts in freeswitch/bin/trunk/build/</p>
<p>If you do wind up installing gcc-c++ after an aborted build, you must start back at the beginning with ./configure</p>
<p><a name="Debian_Linux"></a></p>
<h4>Debian Linux</h4>
<p><a class="external text" title="http://www.debian.org" rel="nofollow" href="http://www.debian.org/">Debian</a> uses the aptitude <em>a.k.a. “apt”</em> package manager.  This allows you to quickly and easily install the prerequisites.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install subversion subversion-tools automake1.9 gcc-4.1 autoconf make wget libtool g++ libncurses5 libncurses5-dev</pre>
</div>
</div>
<p>For Python integration, the following will work. Ensure you update /usr/bin/python to point at /usr/bin/python2.5 afterwards and configure will find a working Python library.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install python2.5 python2.5-dev</pre>
</div>
</div>
<p>For TLS to work (needed to use Dingaling with gmail.com), also GNUTLS is necessary.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install libgnutls-dev</pre>
</div>
</div>
<p>The source tree includes a <strong>debian/</strong> directory, so you can build a package using standard debian tools. First, do the svn checkout into a directory named after the version in the debian/changelog (i.e. freeswitch-1.0~beta3) or move it there immediately after the svn checkout. Then you still need to start with the ./bootstrap.sh step, and once done you <strong>SHOULD NOT</strong> move the directory, as explicit paths will have been inserted into some of the Makefiles (don&#8217;t run bootstrap.sh if you are going to use the <strong>debuild</strong> tool since its not needed, it will do it for you).</p>
<p>One of the several ways of then building the package is:</p>
<ul>
<li> ensure that you have the <a class="external text" title="http://packages.debian.org/stable/devscripts" rel="nofollow" href="http://packages.debian.org/stable/devscripts">devscripts</a> package installed.</li>
</ul>
<ul>
<li> Then (optionally) change the package version to something that includes the SVN version you&#8217;re building. This can be done by running <strong>dch -i</strong> and setting the version to something like: 1.0~beta3-0~svn7245</li>
</ul>
<ul>
<li> Perhaps (if you know what you&#8217;re doing) edit the modules to build that are set near the start of <strong>debian/rules</strong></li>
</ul>
<ul>
<li> then just run <strong>debuild -i -us -uc -b</strong> (which might tell you that there are some build dependencies missing, in which case, just install them and try again)</li>
</ul>
<p>After that, you should have a several <em>.deb</em> files in the directory above the source directory which can be installed with <strong>dpkg -i <em>packagename.</em>deb</strong></p>
<p><a name="Experience_compiling_FreeSwitch_1.0.1"></a></p>
<h5>Experience compiling FreeSwitch 1.0.1</h5>
<p>Another way is to first install the &#8220;build-essential&#8221; package:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install build-essential</pre>
</div>
</div>
<p>Then run &#8220;dpkg-buildpackage&#8221; to build all the required .deb files:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>dpkg-buildpackage</pre>
</div>
</div>
<p>(Start dpkg-buildpackage in the freeswitch source directory.) dpkg-buildpackage will complain about missing dependencies, use the list of missing packages as indicated above; for example:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install debhelper automake1.9 autoconf libtool unixodbc-dev libasound2-dev libcurl4-openssl-dev libssl-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev libgnutls-dev</pre>
</div>
</div>
<p>and restart &#8220;dpkg-buildpackage&#8221; to finish building the Debian packages.</p>
<p>Recommend packages are freeswitch_1.0.1-1_i386.deb and freeswitch-lang-de_1.0.1-1_i386.deb, the packages freeswitch-spidermonkey, freeswitch-lua, freeswitch-perl, freeswitch-sounds-music-8000 and monit are suggested by the base freeswitch package. The package monit have to be installed from the standard repository.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>dpkg -i freeswitch_1.0.1-1_i386.deb freeswitch-lang-en_1.0.1-1_i386.deb freeswitch-spidermonkey_1.0.1-1_i386.deb freeswitch-lua_1.0.1-1_i386.deb freeswitch-perl_1.0.1-1_i386.deb freeswitch-sounds-music-8000_1.0.1-1_i386.deb</pre>
</div>
</div>
<p>Installing monit with aptitude:</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>aptitude install monit</pre>
</div>
</div>
<p>Monit is used to monitor the fs process and restart it if it dies, but it won&#8217;t start unless it is configured. First you have to activate it in &#8220;/etc/default/monit&#8221; with setting the value startup to 1. The second step is to uncomment &#8220;set daemon 120&#8243; in /etc/monit/monitrc and add &#8220;include /etc/monit/freeswitch.monitrc&#8221; in the end of the file. After all you should be able to start monit with the provided init-script.</p>
<p>Note: Once you install the packages (using &#8220;dpkg -i freeswitch_1.0.1-1_i386.deb&#8221;, etc.), the installation is non-standard since freeswitch will end up in /opt/freeswitch. The configuration files will be in /opt/freeswitch/conf.</p>
<p><a name="For_a_Novice.2C_Another_Debian_Way_1.0.2"></a></p>
<h5>For a Novice, Another Debian Way 1.0.2</h5>
<p>I also found this guy&#8217;s instructions rather very simple for a novice  courtsey of <a class="external free" title="http://madhawa.com/?p=10" rel="nofollow" href="http://madhawa.com/?p=10">http://madhawa.com/?p=10</a></p>
<p><a name="CentOS"></a></p>
<h4>CentOS</h4>
<p><a class="external text" title="http://www.centos.org" rel="nofollow" href="http://www.centos.org/">CentOS</a> uses yum as a package manager; the following installs the required prerequisites on a base install of CentOS 5.0 and 5.1.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>yum install subversion autoconf automake libtool gcc-c++ ncurses-devel make</pre>
</div>
</div>
<p><a name="Fedora"></a></p>
<h4>Fedora</h4>
<p><a class="external text" title="http://www.fedoraproject.org" rel="nofollow" href="http://www.fedoraproject.org/">Fedora</a> also uses yum as a package manager; the following installs the required prerequisites on a base install of Fedora Core 8 and 9.</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>yum install subversion autoconf automake libtool gcc-c++ ncurses-devel make</pre>
</div>
</div>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Informational Tip" href="http://wiki.freeswitch.org/wiki/Image:Info.png"><img longdesc="/wiki/Image:Info.png" src="http://wiki.freeswitch.org/images/thumb/b/b3/Info.png/64px-Info.png" alt="Informational Tip" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr />Note: if you are building <a title="Mod xml curl" href="http://wiki.freeswitch.org/wiki/Mod_xml_curl">mod_xml_curl</a>, be aware that the latest Fedora releases have a broken libcurl shipped with yum and you will end up with an unloadable mod_xml_curl module due to missing symbols. You will probably need to configure FreeSWITCH using the &#8211;without-libcurl switch, this will make the build process to download and compile its own libcurl version, and then link the mod_xml_curl module with that.</p>
<hr /></div>
</div>
<p><a name="Gentoo_Linux"></a></p>
<h4>Gentoo Linux</h4>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Warning" href="http://wiki.freeswitch.org/wiki/Image:Warning.png"><img longdesc="/wiki/Image:Warning.png" src="http://wiki.freeswitch.org/images/thumb/c/cb/Warning.png/64px-Warning.png" alt="Warning" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<hr /><strong>The FreeSWITCH ebuild has been removed from the Gentoo voip overlay, please use one of the supported binary-only distributions (or the manual installation method, if it really has to be Gentoo).</strong><br />
<hr /></div>
</div>
<div style="text-align: center;">Or use a local overlay, I tested the following ebuilds and they work for me. &#8211;<a class="new" title="User:Cjc" href="http://wiki.freeswitch.org/index.php?title=User:Cjc&amp;action=edit">Cjc</a> 04:48, 6 September 2008 (EDT)<br />
There are some <a class="external text" title="http://oss.axsentis.de/gitweb/?p=axsentis-overlay.git;a=tree;f=net-misc;hb=HEAD" rel="nofollow" href="http://oss.axsentis.de/gitweb/?p=axsentis-overlay.git;a=tree;f=net-misc;hb=HEAD">ebuilds available from axsentis.de</a>.<br />
See Gentoo bug <a class="external text" title="http://bugs.gentoo.org/show_bug.cgi?id=150527" rel="nofollow" href="http://bugs.gentoo.org/show_bug.cgi?id=150527">#150527</a> and <a class="external text" title="http://bugs.gentoo.org/show_bug.cgi?id=233174" rel="nofollow" href="http://bugs.gentoo.org/show_bug.cgi?id=233174">#233174</a> for more information.</div>
<p><a name="Solaris"></a></p>
<h4>Solaris</h4>
<p><a class="external text" title="http://www.sun.com" rel="nofollow" href="http://www.sun.com/">Solaris</a> use the <a class="external text" title="http://opensolaris.org/os/project/jds/contributing/building/#jds-cbe" rel="nofollow" href="http://opensolaris.org/os/project/jds/contributing/building/#jds-cbe">jds-cbe</a> environment or fix path to working tr (as per <a class="external text" title="http://jira.freeswitch.org/browse/FSBUILD-30" rel="nofollow" href="http://jira.freeswitch.org/browse/FSBUILD-30">FSBUILD-30</a>).</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>export PATH=/usr/xpg4/bin:$PATH</pre>
</div>
</div>
<ul>
<li> Use <a class="external text" title="http://developers.sun.com/sunstudio/index.jsp" rel="nofollow" href="http://developers.sun.com/sunstudio/index.jsp">SunStudio 12</a></li>
<li> Install <a class="external text" title="http://pkgbuild.sourceforge.net/spec-files-extra/" rel="nofollow" href="http://pkgbuild.sourceforge.net/spec-files-extra/">SFE (Spec Files Extra)</a></li>
<li> Add SFEunixODBC to your Solaris installation</li>
</ul>
<p><a name="OpenSolaris_Nevada"></a></p>
<h4>OpenSolaris Nevada</h4>
<p>This is the distribution from the opensolaris.org guys, do not mix that up with os200805 which is the new OpenSolaris based distro from SUN.</p>
<ul>
<li> Select your development user. I will assume for the time being that the user is called freeswitch.</li>
<li> Create the target directory for freeswitch</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>mkdir /opt/freeswitch; chown freeswitch /opt/freeswitch</pre>
</div>
</div>
<ul>
<li> Give your build and development user software installation rights</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>usermod -P "Software Installation" freeswitch</pre>
</div>
</div>
<ul>
<li> log out and log back in as the freeswitch user (so that the new permissions become active)</li>
</ul>
<ul>
<li> download and unpack the new jds-cbe beta package:</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>/usr/sfw/bin/wget <a class="external free" title="http://dlc.sun.com/osol/jds/downloads/cbe/test/desktop-cbe-1.7.0-rc1-x86.tar.bz2" rel="nofollow" href="http://dlc.sun.com/osol/jds/downloads/cbe/test/desktop-cbe-1.7.0-rc1-x86.tar.bz2">http://dlc.sun.com/osol/jds/downloads/cbe/test/desktop-cbe-1.7.0-rc1-x86.tar.bz2</a>
gtar xvfz desktop-cbe-1.7.0-rc1-x86.tar.bz2"</pre>
</div>
</div>
<p>Install JDS-CBE</p>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd desktop-cbe-1.7.0-rc1
./cbe-install</pre>
</div>
</div>
<ul>
<li> leave everything as default. Select the SunStudio compiler as your default compiler.</li>
</ul>
<ul>
<li> Download the spec-files-extra repository into a subdirectory called SFE</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>svn co <a class="external free" title="https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk" rel="nofollow" href="https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk">https://pkgbuild.svn.sourceforge.net/svnroot/pkgbuild/spec-files-extra/trunk</a> SFE</pre>
</div>
</div>
<ul>
<li> Load the jds-cbe environment</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>. /opt/dtbld/bin/env.sh</pre>
</div>
</div>
<ul>
<li> Compile and install SFEunixodbc</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd SFE
pkgtool --download build SFEunixodbc.spec</pre>
</div>
</div>
<ul>
<li> Download freeswitch trunk</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>svn co <a class="external free" title="http://svn.freeswitch.org/svn/freeswitch/trunk" rel="nofollow" href="http://svn.freeswitch.org/svn/freeswitch/trunk">http://svn.freeswitch.org/svn/freeswitch/trunk</a> fstrunk</pre>
</div>
</div>
<ul>
<li> Prepare the freeswitch sources</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>cd fstrunk; ./bootstrap.sh</pre>
</div>
</div>
<ul>
<li> and edit the modules.conf file to select which modules you would like to have installed</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>vim modules.conf</pre>
</div>
</div>
<ul>
<li> Configure freeswitch sources for 64bit</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>CFLAGS=-m64 CXXYFLAGS=-m64 LDFLAGS=-m64 ./configure --prefix=/opt/freeswitch --enable-core-odbc-support \
--enable-core-libedit-support --enable-64 --with-openssl=/usr/sfw</pre>
</div>
</div>
<ul>
<li> or for 32bit</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>CFLAGS=-m32 CXXYFLAGS=-m32 LDFLAGS=-m32 ./configure --prefix=/opt/freeswitch --enable-core-odbc-support \
--enable-core-libedit-support --with-openssl=/usr/sfw</pre>
</div>
</div>
<ul>
<li> Drink a cup of coffee</li>
</ul>
<ul>
<li> run make :)</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>gmake</pre>
</div>
</div>
<ul>
<li> Install freeswitch into its target directory</li>
</ul>
<div style="float: left; width: 100%;">
<div class="floatleft"><span><a class="image" title="Type This" href="http://wiki.freeswitch.org/wiki/Image:Keyboard.png"><img longdesc="/wiki/Image:Keyboard.png" src="http://wiki.freeswitch.org/images/thumb/a/a9/Keyboard.png/64px-Keyboard.png" alt="Type This" width="64" height="64" /></a></span></div>
<div style="float: left; width: 90%;">
<pre>gmake install</pre>
</div>
</div>
<p>You are done :)</p>
<div class="editsection" style="float: right; margin-left: 5px;">[<a title="Edit section: Windows" href="http://wiki.freeswitch.org/index.php?title=Download_%26_Installation_Guide&amp;action=edit&amp;section=26">edit</a>]</div>
<p><a name="Windows_2"></a></p>
<h3>Windows</h3>
<div class="editsection" style="float: right; margin-left: 5px;">[<a title="Edit section: Precompiled Binaries" href="http://wiki.freeswitch.org/index.php?title=Download_%26_Installation_Guide&amp;action=edit&amp;section=27">edit</a>]</div>
<p><a name="Precompiled_Binaries"></a></p>
<h4>Precompiled Binaries</h4>
<p>For those that do not want to compile, I&#8217;ve put together an MSI install file for Windows (currently SVN 10175 &#8211; 10/27/08). Direct link: <a class="external free" title="http://files.freeswitch.org/freeswitch.msi" rel="nofollow" href="http://files.freeswitch.org/freeswitch.msi">http://files.freeswitch.org/freeswitch.msi</a></p>
<p>This build includes the standard modules and libraries. In addition:</p>
<p><a class="external text" title="http://wiki.freeswitch.org/wiki/Mod_cepstral" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_cepstral">mod_cepstral</a> (if you plan to enable this module you&#8217;ll need the Windows release of Cepstral installed).<br />
<a class="external text" title="http://wiki.freeswitch.org/wiki/Mod_flite" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_flite">mod_flite</a><br />
<a class="external text" title="http://wiki.freeswitch.org/wiki/Mod_pocketsphinx" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_pocketsphinx">mod_pocketsphinx</a><br />
<a class="external text" title="http://wiki.freeswitch.org/wiki/Mod_shout" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_shout">mod_shout</a><br />
8khz sound files</p>
<p>Before starting up FreeSwitch, make sure you have the Microsoft VC++ 2008 redistributable library installed:</p>
<pre><a class="external free" title="http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&amp;displaylang=en" rel="nofollow" href="http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&amp;displaylang=en</a>   (free download)</pre>
<p>If you let the MSI install under the default path, it&#8217;ll place everything in &#8220;C:\Program Files\FreeSWITCH&#8221;. The main executable is under this folder, the MSI will setup a program group with a shortcut to this exe.</p>
<p>Also, this build has the mod_cepstral module compiled so if you have the Windows version of Cepstral installed you&#8217;ll want to make sure you enable this module (enable it from modules.conf.xml in c:\program files\freeswitch\conf\autoload_configs). If you&#8217;re coming from the Asterisk world think of the conf folder as /etc/asterisk. Since most of the config files are built from *nix machines, you&#8217;ll probably need Microsoft Word to edit them.</p>
<p>You&#8217;ll note there&#8217;s a large repository of scripts under the scripts folder. All of these are examples from the src. You might be interested in checking out the wiki page I wrote up on <a class="external text" title="http://wiki.freeswitch.org/wiki/Mod_rss" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_rss">mod_rss</a>. It makes great use of mod_cepstral for TTS tranlations of RSS news feeds. You can replace all the references to /opt/freeswitch on that page to &#8220;C:\Program Files\FreeSWITCH&#8221;.</p>
<div class="editsection" style="float: right; margin-left: 5px;">[<a title="Edit section: Windows quick start" href="http://wiki.freeswitch.org/index.php?title=Download_%26_Installation_Guide&amp;action=edit&amp;section=28">edit</a>]</div>
<p><a name="Windows_quick_start"></a></p>
<h4>Windows quick start</h4>
<p>It would probably help to know some basic console commands! Once you launch the FreeSWITCH exe you will be placed in the console. From here:</p>
<p>&#8220;help&#8221; displays all available console commands.</p>
<p>&#8220;sofia status&#8221; will display all sip profiles, gateways and their status.</p>
<p>You can drill down and say &#8220;sofia status profile internal&#8221; to list the internal profile and all registered internal endpoints.</p>
<p>&#8220;show channels&#8221; will display all active sessions.</p>
<p>&#8220;status&#8221; gives you uptime information.</p>
<p>&#8220;version&#8221; will display version information.</p>
<p>&#8220;shutdown&#8221; will bring down the switch. You cannot exit from the initial console that starts the switch without shutting it down. There is a socket based perl script in scripts/socket folder (fsconsole.pl) which will allow you to remotely connect to the console.</p>
<p>&#8220;load &lt;module&gt;&#8221; and &#8220;unload &lt;module&#8221; work similar to the Asterisk equivalent.</p>
<p>&#8220;reloadxml&#8221; is useful when editing your dialplan and can&#8217;t afford to restart the server. Just be aware of some restrictions: <a class="external free" title="http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ#Q:_Does_reloadxml_reload_all_xml_files.3F" rel="nofollow" href="http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ#Q:_Does_reloadxml_reload_all_xml_files.3F">http://wiki.freeswitch.org/wiki/FreeSwitch_FAQ#Q:_Does_reloadxml_reload_all_xml_files.3F</a></p>
<p>All of the console commands are covered on this wiki page: <a class="external free" title="http://wiki.freeswitch.org/wiki/Mod_commands#Core_Commands" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Mod_commands#Core_Commands">http://wiki.freeswitch.org/wiki/Mod_commands#Core_Commands</a></p>
<p>Finally, the Getting Started wiki page has some useful extensions to try out <a class="external free" title="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21">http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Some_stuff_to_try_out.21</a> The default configuration includes 20 endpoint definitions in <em>prefix</em>\conf\directory\default (1000-1019).xml. More information on endpoints: <a class="external free" title="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#User_Configuration" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#User_Configuration">http://wiki.freeswitch.org/wiki/Getting_Started_Guide#User_Configuration</a></p>
<p>See here to configure a trunk (gateway) &#8211; <a class="external free" title="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Sample_Gateway_Configuration" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Sample_Gateway_Configuration">http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Sample_Gateway_Configuration</a></p>
<p>And to dial out via your newly created gateway &#8211; <a class="external free" title="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Dialing_out_via_Gateway" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Dialing_out_via_Gateway">http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Dialing_out_via_Gateway</a></p>
<p>Finally, receiving inbound calls from your gateway &#8211; <a class="external free" title="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Receiving_an_inbound_call_from_a_Gateway" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Receiving_an_inbound_call_from_a_Gateway">http://wiki.freeswitch.org/wiki/Getting_Started_Guide#Receiving_an_inbound_call_from_a_Gateway</a></p>
<div class="editsection" style="float: right; margin-left: 5px;">[<a title="Edit section: Voicemail via email" href="http://wiki.freeswitch.org/index.php?title=Download_%26_Installation_Guide&amp;action=edit&amp;section=29">edit</a>]</div>
<p><a name="Voicemail_via_email"></a></p>
<h4>Voicemail via email</h4>
<p>A recent svn release of FreeSWITCH includes sending voicemail via SMTP from Windows (this was not possible before). See this page for more information: <a class="external free" title="http://wiki.freeswitch.org/wiki/Windows_email" rel="nofollow" href="http://wiki.freeswitch.org/wiki/Windows_email">http://wiki.freeswitch.org/wiki/Windows_email</a></p>
<p><a name="Building_from_source"></a></p>
<h4>Building from source</h4>
<p>To compile FreeSWITCH on Windows, you will need Visual C++ 2005 and if you are installing the Express Edition, the platform SDK (see these instructions for more details).</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/freeswitch-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeSwitch Softswitch</title>
		<link>http://callsolutions.org/freeswitch-softswitch/</link>
		<comments>http://callsolutions.org/freeswitch-softswitch/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 23:49:37 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[FreeSwitch]]></category>
		<category><![CDATA[free switch]]></category>
		<category><![CDATA[free switch h323]]></category>
		<category><![CDATA[freeswitch h323]]></category>
		<category><![CDATA[freeswitch sip]]></category>
		<category><![CDATA[soft switch]]></category>
		<category><![CDATA[softswitch]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=35</guid>
		<description><![CDATA[What is FreeSWITCH?
Here is from freeswitch.org
FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch.  It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple [...]]]></description>
			<content:encoded><![CDATA[<h1>What is FreeSWITCH?</h1>
<p>Here is from <strong>freeswitch.org</strong></p>
<blockquote><p><span><strong>FreeSWITCH</strong> is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch.  It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow.</p>
<p>We support various communication technologies such as SIP, H.323, IAX2 and GoogleTalk making it easy to interface with other open source PBX systems such as sipX, OpenPBX, Bayonne, YATE or <a title="asterisk" href="http://callsolutions.org/category/voip-tutorial/asterisk-pbx/installation/" target="_blank">Asterisk</a>.</p>
<p><strong>FreeSWITCH</strong> supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP. It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols.</p>
<p><strong>FreeSWITCH</strong> supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future. The voice channels and the conference bridge module all can operate at 8, 16 or 32 kilohertz and can bridge channels of different rates.</p>
<p><strong>FreeSWITCH</strong> builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.</p>
<p>Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including openSER, sipX, The Asterisk Open Source PBX and Call Weaver.</span></p></blockquote>
<h2>Possible Uses</h2>
<ul>
<li>Rating &amp; Routing Server</li>
<li>Transcoding B2BUA</li>
<li>IVR &amp; Announcement Server</li>
<li>Conference Server</li>
<li>Voicemail Server</li>
<li>SBC (Session Border Controller)</li>
<li>Basic Topology Hiding Session Border Controller</li>
<li>Zaptel, Sangoma, Rhino, PIKA Hardware Support (Analog and PRI)</li>
</ul>
<p><a name="Features"></a></p>
<h2>Features</h2>
<ul>
<li>Centralized User/Domain Directory (directory.xml)</li>
<li>Nano Second CDR granularity</li>
<li>Call recording (In Stereo caller/callee left/right)</li>
<li>High Performance Multi-Threaded Core engine</li>
<li>Configuration via CURL to your http server (xml_curl).</li>
<li>XML Config files for easy parsing.</li>
<li>Protocol Agnostic</li>
<li>Configurable RFC2833 Payload type</li>
<li>Inband DTMF generation and detection.</li>
<li>Software based Conference (no hardware requirement)</li>
<li>Wideband Conferencing</li>
<li>Media / No Media modes</li>
<li>Proper ENUM/ISN dialing built in</li>
<li>Detailed CDR in XML</li>
<li>Radius CDR</li>
<li>Subscription server
<ul>
<li>Shared Line Appearances</li>
<li>Bridged Line Appearances</li>
</ul>
</li>
<li>Enterprise/Carrier grade Eventing Engine.  (XML Events, Name Value Events, Multicast Events)</li>
<li>Loadable File formats and streaming</li>
<li>Stream to Shoutcast</li>
<li>Multi-lingual Speech Phrase Interface</li>
<li>ASR/TTS support (native and via MRCP)</li>
<li>Basic IP/PBX features</li>
<li>Automated Attendant</li>
<li>Custom Ring Back Tones</li>
<li>XML RPC support</li>
<li>Multiple format CDR&#8217;s supported</li>
<li>SQL Engine provides session persistence</li>
<li>Thread Isolation</li>
<li>Parallel Hunting</li>
<li>Serial Hunting</li>
<li>Mozilla Public License</li>
<li>Support
<ul>
<li>Paid support available</li>
<li>Free support via IRC &amp; e-mail</li>
</ul>
</li>
<li>Many supported codecs
<ul>
<li>G.722 (wideband)</li>
<li>G.711</li>
<li>G.726 (16k,24k,32k,48k) AAL2 and RFC3551</li>
<li>G.723.1 (passthru)</li>
<li>G.729 (passthru)</li>
<li>AMR (passthru)</li>
<li>iLBC</li>
<li>speex (narrow and wideband)</li>
<li>lpc10</li>
<li>DVI4 (ADPCM) 8khz and 16khz</li>
</ul>
</li>
</ul>
<p><a name="Applications"></a></p>
<h2>Applications</h2>
<ul>
<li>Voicemail
<ul>
<li>Multitenancy &#8211; Enterprise/Carrier configuration</li>
<li>Time of Day Greetings</li>
<li>Urgent Message Tagging</li>
<li>EMail Delivery</li>
<li>Playback and Rerecord messages before delivery.</li>
<li>Keys are templates so you can rearrange to fit your needs.</li>
<li>Callback support from inside voicemail.</li>
<li>Podcast of Voicemail (RSS)</li>
<li>Message Waiting Indicator (MWI)</li>
</ul>
</li>
<li>Support for Queues (via mod_fifo)</li>
<li>Parking (via mod_fifo)</li>
<li>Conference
<ul>
<li>Software based Conferencing without any hardware requirements.</li>
<li>Wideband conferences.</li>
<li>Multiple on-demand or scheduled conferences with entry/exit announcements</li>
<li>Play files into the conference or a single member.</li>
<li>Relationships</li>
<li>TTS integration</li>
<li>Transfers</li>
<li>Outbound Calling</li>
<li>Configurable Key Lay</li>
<li>Volume, Gain and Energy level per call.</li>
<li>Bridge to Conference trasition</li>
<li>Multi Party outbound dialing.</li>
</ul>
</li>
<li>RSS Reader</li>
<li>T.30 Audio Fax (via <a title="Mod fax" href="http://wiki.freeswitch.org/wiki/Mod_fax">mod_fax</a>)</li>
</ul>
<p><a name="Protocols"></a></p>
<h2>Protocols</h2>
<ul>
<li>SIP
<ul>
<li>UDP, TCP, SCTP and TLS transports for full sip compliance.</li>
<li>IPv6 Support</li>
<li>SIP Session timers</li>
<li>RTP Timers</li>
<li>RFC3263 (SRV and NAPTR)</li>
<li>SRTP via SDES (works with polycom, snom, linksys and grandstream)</li>
<li>Blind SIP Registration</li>
<li>STUN Support</li>
<li>Jitter buffer</li>
<li>NAT Support</li>
<li>Distributed sip registrations</li>
<li>Late Codec Negotiation</li>
<li>Multiple sip registrations per user account.</li>
<li>Multitenancy &#8211; Multiple sip UAs</li>
<li>SIP Reinvites.</li>
<li>Can act as an SBC (session border controller)</li>
<li>Manage Presence</li>
<li>SIP/SIMPLE (can gateway to other chat protocols)</li>
<li>SIP Multicast Paging support for Linksys and Snom</li>
<li>Intercom/AutoAnswer support.</li>
<li>Call features like Call Hold(Re-INVITE), Blind Transfer(REFER), Call Forward(302) etc.</li>
</ul>
</li>
</ul>
<ul>
<li>IAX (Via a modified libiax2.)</li>
</ul>
<ul>
<li>Jingle
<ul>
<li>Interop with GoogleTalk and <a class="external text" title="http://telepathy.freedesktop.org/wiki/" rel="nofollow" href="http://telepathy.freedesktop.org/wiki/">Telepathy</a></li>
</ul>
</li>
</ul>
<ul>
<li>h.323 (Currently only supports H.323 via the Woomera protocol.  This should change soon.)</li>
</ul>
<p><a name="Languages"></a></p>
<h2>Languages</h2>
<ul>
<li>Javascript (Using the Spidermonkey Javascripting engine.)
<ul>
<li>ODBC Support from inside your Javascript</li>
<li>Extendable modules for Javascript</li>
<li>Tone Generation</li>
</ul>
</li>
</ul>
<ul>
<li>Python</li>
<li>Perl</li>
<li>Lua</li>
</ul>
<p><a name="Cross_Platform"></a></p>
<h2>Cross Platform</h2>
<ul>
<li>Builds native on Windows in MSVC</li>
<li>Builds on Mac OS X, Linux, Solaris and *BSD.</li>
</ul>
<p><a name="Minimum.2FRecommended_System_Requirements"></a></p>
<h2>Minimum/Recommended System Requirements</h2>
<ul>
<li>32bit OS (64bit recommended)</li>
<li>512MB Ram (1GB recommended)</li>
<li>50MB of Disk Space</li>
</ul>
<p>System requirements depend on your deployment needs.  We recommend you plan for 50% duty cycle.</p>
<p><a name="Performance"></a></p>
<h2>Performance</h2>
<ul>
<li>Tested under load for over 100 hours</li>
<li>10,000,000+ calls</li>
<li>At rates exceeding 50 CPS</li>
</ul>
<p>Performance will vary depending on application.  You will need to test for your particular situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/freeswitch-softswitch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is VoIP?</title>
		<link>http://callsolutions.org/what-is-voip/</link>
		<comments>http://callsolutions.org/what-is-voip/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 05:34:01 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[VoIP Tutorial]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[what is voip]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=24</guid>
		<description><![CDATA[What is VoIP? Voice over Internet Protocol (VoIP) is the ability to transmit voice over the Internet to either a receiving computer, telephone or even a mobile phone. VoIP phone is becoming the popular worldwide telephone service for both consumer and the business communities. VoIP works by using a network technology known as Packet Switching [...]]]></description>
			<content:encoded><![CDATA[<p><span class="style2"><strong>What is VoIP</strong>? <strong>Voice over Internet Protocol (VoIP</strong>) is the ability to transmit voice over the Internet to either a receiving computer, telephone or even a mobile phone. <strong>VoIP</strong> phone is becoming the popular worldwide telephone service for both consumer and the business communities. <strong>VoIP</strong> works by using a network technology known as Packet Switching Network whereas landline telephones use the Circuit Switching Network. This is referred to as the Public Switched Telephone Network.</p>
<p><strong>What&#8217;s the difference between VoIP normal phones</strong>?</p>
<p>The main difference between Packet Switching and Circuit Switching, is that Packet Switching uses (data) or Packets and sends them over the Internet while Circuit Switching is accomplished by using electrical circuits to make a telephone connection. Circuit Switching is like the old switchboard operators, frantically trying to connect the right caller with the receiver. Packet Switching is used to transfer data all across the Internet including E-mail. Packet Switching converts audio formats into data packets and transmits them over the Internet, then reassembles them on the other person’s phone or computer in real time. By using a Broadband Internet Connection, microphone and speakers a conversation can take place similar to traditional telephone.</p>
<p>VoIP phones have been round for sometime, but increases in technology it is becoming increasingly popular. Several years ago many applications were available offering some form of free VoIP phone service. Majority of these have gone or now charge a fee for the use of their service as VoIP phone provider. Moreover, VoIP is developing higher standards of quality every day, and it has proved that it is a viable force for telecommunication for the future.</p>
<p><strong>Who is providing VoIP phone service?</strong></p>
<p>Telephone and Internet service provider companies are expanding to allow for monthly VoIP phone services. Companies such as AOL, Verizon and Sprint have VoIP phone offerings. Recently eBay has joined the ranks of VoIP phone service providers by purchasing skype VoIP software, with its vast membership base the VoIP message will soon reach the man on the street.</p>
<p><strong>What&#8217;s special about VoIP?</strong></p>
<p>Instant messaging programs such as MSN massager have been using VoIP technology for years. Now, most of these messaging programs come with voice enabled features which allow you to call a member of your buddy list. By using a microphone and speakers, you will be able to converse anywhere in the world, by VoIP and your Instant Messaging program.</p>
<p>With instant messaging VoIP incorporates different areas into one program. With your voice enabled programs, you can hook up a digital camera,web cam and use video, while you are speaking on your microphone and listening to on your speakers, and you can type back and forth with your chat program. You could even write an email at the same time. The potential for VoIP phones use is nearly limitless.</p>
<p>VoIP has this unique ability to integrate many forms of telecommunication applications into one package can handle data, audio, video, E-Mail, and web based applications simultaneously. This makes VoIP an incredible boost to business world and provides a cost effective choice of telephone service.</p>
<p>VoIP phone service providers are increasing in popularity with many people discovering all of the benefits available to them by switching from using their land line telephones to VoIP service. First, VoIP phone services costs significantly less than standard phone service, and this is a great attraction for bringing in new customers. Many VoIP phone plans will let you make unlimited long distance calls or provide you with a plan for very inexpensive rates. Many of the features that are often included for a fee with traditional phone service are often included for free with VoIP services. Features such as Call Waiting, Call Block, Call Forwarding, Conference Calling, Voice Mail are usually charged as extras by the traditional phone companies but these are usually free with the VoIP phone packages.Another benefit to VoIP services is that you can usually keep your existing phone number, or allow you to select a new area code. The means if you select an area where most of your friends and family live, a call to you will be treated as local call. For a remote business VoIP service can give the perception of having multiple office locations.<br />
<strong><br />
What&#8217;s the future for VoIP ?</strong></p>
<p>Make no mistake about it VoIP phone services is a the emerging contender in the telecommunication world.It is a proven technology, can seamlessly integrate into many existing applications, does not require special equipment anyone with a PC with a microphone and speakers can use the service and it is very cost effective. Talk will be cheap! </span></p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/what-is-voip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Asterisk CDR + MYSQL</title>
		<link>http://callsolutions.org/howto-asterisk-cdr-mysql/</link>
		<comments>http://callsolutions.org/howto-asterisk-cdr-mysql/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 03:31:15 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[Asterisk CDR + MYSQL]]></category>
		<category><![CDATA[Asterisk CDR]]></category>
		<category><![CDATA[CDR + MYSQL]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=6</guid>
		<description><![CDATA[This tutorial will teach you how to configure Asterisk to store its CDR in MYSQL Database. Im using Debian Etch as my Operating System.
Installing Mysql Server 5 and Client

apt-get install mysql-server mysql-common php5-mysql mysql-client-5.0  mysql-client libmysqlclient15-dev

Creating a Database, Tables and Permissions

asterisk88:~# mysql -u root -p &#60;enter&#62;
 Enter password:  &#60;enter&#62;
 Welcome to the MySQL [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial will teach you how to configure Asterisk to store its CDR in MYSQL Database. Im using Debian Etch as my Operating System.</p>
<p><strong>Installing Mysql Server 5 and Client</strong></p>
<blockquote><p>
apt-get install mysql-server mysql-common php5-mysql mysql-client-5.0  mysql-client libmysqlclient15-dev
</p></blockquote>
<p><strong>Creating a Database, Tables and Permissions</strong></p>
<blockquote><p>
asterisk88:~# mysql -u root -p <strong>&lt;enter&gt;</strong><br />
 Enter password:  <strong>&lt;enter&gt;</strong><br />
 Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 26<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; create database asterisk;<br />
 mysql&gt; use asterisk;<br />
 mysql&gt;   CREATE TABLE cdr (<br />
 calldate datetime NOT NULL default &#8216;0000-00-00 00:00:00&#8242;,<br />
 clid varchar(80) NOT NULL default &#8221;,<br />
 src varchar(80) NOT NULL default &#8221;,<br />
 dst varchar(80) NOT NULL default &#8221;,<br />
 dcontext varchar(80) NOT NULL default &#8221;,<br />
 channel varchar(80) NOT NULL default &#8221;,<br />
 dstchannel varchar(80) NOT NULL default &#8221;,<br />
 lastapp varchar(80) NOT NULL default &#8221;,<br />
 lastdata varchar(80) NOT NULL default &#8221;,<br />
 duration int(11) NOT NULL default &#8216;0&#8242;,<br />
 billsec int(11) NOT NULL default &#8216;0&#8242;,<br />
 disposition varchar(45) NOT NULL default &#8221;,<br />
 amaflags int(11) NOT NULL default &#8216;0&#8242;,<br />
 accountcode varchar(20) NOT NULL default &#8221;,<br />
 userfield varchar(255) NOT NULL default &#8221;,<br />
 uniqueid varchar(32) NOT NULL default &#8221;<br />
 );</p>
<p>ALTER TABLE cdr ADD INDEX ( calldate );<br />
 ALTER TABLE cdr ADD INDEX ( dst );<br />
 ALTER TABLE cdr ADD INDEX ( uniqueid );</p>
<p>You can add more indices if you want.</p>
<p>mysql&gt;  \q</p>
<p><span id="more-6"></span></p>
<p>asterisk88:~# mysql_setpermission <strong>&lt;enter&gt;</strong><br />
 Password for user  to connect to MySQL: <strong>&lt;enter&gt;</strong><br />
 ######################################################################<br />
 ## Welcome to the permission setter 1.3 for MySQL.<br />
 ## made by Luuk de Boer<br />
 ######################################################################<br />
 What would you like to do:<br />
 1. Set password for an existing user.<br />
 2. Create a database + user privilege for that database<br />
 and host combination (user can only do SELECT)<br />
 3. Create/append user privilege for an existing database<br />
 and host combination (user can only do SELECT)<br />
 4. Create/append broader user privileges for an existing<br />
 database and host combination<br />
 (user can do SELECT,INSERT,UPDATE,DELETE)<br />
 5. Create/append quite extended user privileges for an<br />
 existing database and host combination (user can do<br />
 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,<br />
 LOCK TABLES,CREATE TEMPORARY TABLES)<br />
 6. Create/append database administrative privileges for an<br />
 existing database and host combination (user can do<br />
 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,<br />
 CREATE TEMPORARY TABLES,SHOW DATABASES,PROCESS)<br />
 7. Create/append full privileges for an existing database<br />
 and host combination (user has FULL privilege)<br />
 8. Remove all privileges for for an existing database and<br />
 host combination.<br />
 (user will have all permission fields set to N)<br />
 0. exit this program</p>
<p>Make your choice [1,2,3,4,5,6,7,0]: <strong>5</strong> <strong>&lt;enter&gt;</strong></p>
<p>Which database from existing databases would you like to select:<br />
 You can choose from:<br />
 &#8211; information_schema<br />
 &#8211; asterisk<br />
 &#8211; mysql<br />
 Which database will it be (case sensitive). Type * for any:<br />
 asterisk <strong>&lt;type &#8216;asterisk&#8217; then &lt;enter&gt; &gt;</strong><br />
 The database asterisk will be used.</p>
<p>What username is to be created: administrator<br />
 Username = administrator <strong>&lt;username to be created&gt; &lt;enter&gt;</strong><br />
 Would you like to set a password for administrator [y/n]: <strong>y &lt;enter&gt;</strong><br />
 What password do you want to specify for administrator:  <strong>&lt;enter password then enter&gt;</strong><br />
 Type the password again: <strong>&lt;retype password then enter&gt;</strong><br />
 We now need to know from what host(s) the user will connect.<br />
 Keep in mind that % means &#8216;from any host&#8217; &#8230;<br />
 The host please: <strong>% &lt;type &#8216;%&#8217; for anyhost&gt;</strong><br />
 Would you like to add another host [yes/no]: <strong>no</strong> <strong>&lt;enter&gt;</strong><br />
 Okay we keep it with this &#8230;<br />
 The following host(s) will be used: %.<br />
 ######################################################################</p>
<p>That was it &#8230; here is an overview of what you gave to me:<br />
 The database name       : asterisk<br />
 The username            : administrator<br />
 The host(s)             : %<br />
 ######################################################################</p>
<p>Are you pretty sure you would like to implement this [yes/no]: <strong>yes &lt;enter&gt;</strong><br />
 Okay &#8230; let&#8217;s go then &#8230;</p>
<p>Everything is inserted and mysql privileges have been reloaded.</p>
<p>Make your choice [1,2,3,4,5,6,7,0]:  <strong>0</strong> <strong>&lt;enter&gt;</strong>
</p></blockquote>
<p><strong>Now lets test the connection:</strong></p>
<blockquote><p>
asterisk88:~# mysql -h localhost -u administrator -p asterisk</p>
<p>Enter password: <strong>&lt;enter newly created password for &#8216;administrator&#8217;&gt;</strong></p>
<p>Reading table information for completion of table and column names<br />
 You can turn off this feature to get a quicker startup with -A</p>
<p>Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 29<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; show tables;<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | Tables_in_asterisk |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | cdr                |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 1 row in set (0.00 sec)</p>
<p>mysql&gt; desc cdr;<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 | Field       | Type         | Null | Key | Default             | Extra |<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 | calldate    | datetime     | NO   | MUL | 0000-00-00 00:00:00 |       |<br />
 | clid        | varchar(80)  | NO   |     |                     |       |<br />
 | src         | varchar(80)  | NO   |     |                     |       |<br />
 | dst         | varchar(80)  | NO   | MUL |                     |       |<br />
 | dcontext    | varchar(80)  | NO   |     |                     |       |<br />
 | channel     | varchar(80)  | NO   |     |                     |       |<br />
 | dstchannel  | varchar(80)  | NO   |     |                     |       |<br />
 | lastapp     | varchar(80)  | NO   |     |                     |       |<br />
 | lastdata    | varchar(80)  | NO   |     |                     |       |<br />
 | duration    | int(11)      | NO   |     | 0                   |       |<br />
 | billsec     | int(11)      | NO   |     | 0                   |       |<br />
 | disposition | varchar(45)  | NO   |     |                     |       |<br />
 | amaflags    | int(11)      | NO   |     | 0                   |       |<br />
 | accountcode | varchar(20)  | NO   |     |                     |       |<br />
 | userfield   | varchar(255) | NO   |     |                     |       |<br />
 | uniqueid    | varchar(32)  | NO   | MUL |                     |       |<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 16 rows in set (0.00 sec)</p>
<p>mysql&gt;
</p></blockquote>
<p>Our database is now ready for use with Asterisk. Now, Let&#8217;s configure Asterisk to save its CDR to this database:</p>
<p><strong>Download Asterisk-addons from Digium:</strong></p>
<blockquote><p>
<script type="text/javascript"><!--
google_ad_client = "pub-0448452892049658";
/* 468x60, created 7/4/08 */
google_ad_slot = "4595393016";
google_ad_width = 468;
google_ad_height = 60;
//-->
// --&gt;</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>cd /usr/src<br />
 wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.7.tar.gz<br />
 tar xvfz asterisk-addons-1.4.7.tar.gz<br />
 cd asterisk-addons-1.4.7/cdr/<br />
 vi cdr_addon_mysql.c<br />
 add <strong>#define MYSQL_LOGUNIQUEID</strong> after <strong>#define DATE_FORMAT &#8220;%Y-%m-%d %T&#8221;</strong></p>
<p>cd ..<br />
 ./configure<br />
 make menuselect</p>
<p>Check the following if selected:</p>
<p>&#8212;&gt; 1.  Applications<br />
 [*] 1.  app_addon_sql_mysql<br />
 2.  Call Detail Recording<br />
 [*] 1.  cdr_addon_mysql<br />
 3.  Channel Drivers<br />
 4.  Format Interpreters<br />
 5.  Resource Mod</p>
<p>then <strong>q (quit) and S (save)</strong>
</p></blockquote>
<blockquote><p>
make &amp;&amp; make install
</p></blockquote>
<p>Edit /etc/asterisk/cdr.conf</p>
<blockquote><p>
vi /etc/asterisk/cdr.conf</p>
<p>[general]<br />
 enable=yes
</p></blockquote>
<p>Edit /etc/asterisk/cdr_mysql.conf</p>
<blockquote><p>
[global]<br />
 hostname=localhost<br />
 dbname=asterisk<br />
 table=cdr<br />
 password=need2fix<br />
 user=admin<br />
 port=3306<br />
 ;sock=/tmp/mysql.sock<br />
 ;userfield=1
</p></blockquote>
<p>Edit /etc/asterisk/modules.conf</p>
<blockquote><p>
vi /etc/asterisk/modules.conf</p>
<p>add the entry below:</p>
<p>load =&gt; cdr_addon_mysql.so
</p></blockquote>
<p>We&#8217;re finished! Restart asterisk and check if mysql module is loaded</p>
<blockquote><p>
asterisk88# <strong>asterisk -r</strong><br />
 Asterisk 1.4.20, Copyright (C) 1999 &#8211; 2008 Digium, Inc. and others.<br />
 Created by Mark Spencer &lt;markster@digium.com&gt;<br />
 Asterisk comes with ABSOLUTELY NO WARRANTY; type &#8216;core show warranty&#8217; for details.<br />
 This is free software, with components licensed under the GNU General Public<br />
 License version 2 and other licenses; you are welcome to redistribute it under<br />
 certain conditions. Type &#8216;core show license&#8217; for details.<br />
 =========================================================================<br />
 Connected to Asterisk 1.4.20 currently running on asterisk88 (pid = 26648)<br />
 Verbosity is at least 3<br />
 asterisk88*CLI&gt; <strong>stop now</strong><br />
 asterisk88*CLI&gt;<br />
 Disconnected from Asterisk server<br />
 asterisk88# <strong>safe_asterisk</strong><br />
 asterisk88# <strong>asterisk -r</strong><br />
 Asterisk 1.4.20, Copyright (C) 1999 &#8211; 2008 Digium, Inc. and others.<br />
 Created by Mark Spencer &lt;markster@digium.com&gt;<br />
 Asterisk comes with ABSOLUTELY NO WARRANTY; type &#8216;core show warranty&#8217; for details.<br />
 This is free software, with components licensed under the GNU General Public<br />
 License version 2 and other licenses; you are welcome to redistribute it under<br />
 certain conditions. Type &#8216;core show license&#8217; for details.<br />
 =========================================================================<br />
 Connected to Asterisk 1.4.20 currently running on asterisk88 (pid = 26880)<br />
 Verbosity is at least 3<br />
 asterisk88*CLI&gt; <strong>cdr mysql status </strong><br />
 Connected to asterisk@localhost, port 3306 using table cdr for 15 seconds.<br />
 Wrote 0 records since last restart.<br />
 asterisk88*CLI&gt; <strong>quit</strong>
</p></blockquote>
<p>Make a successful test call and see if it CDR is placed in DB:</p>
<p>To check:</p>
<blockquote><p>
asterisk88:/usr/src/asterisk-addons-1.4.7# mysql -u administrator -p asterisk<br />
 Enter password:<br />
 Reading table information for completion of table and column names<br />
 You can turn off this feature to get a quicker startup with -A</p>
<p>Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 32<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; select * from cdr;<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | calldate            | clid                      | src        | dst         | dcontext | channel              | dstchannel  | lastapp | lastdata                 | duration | billsec | disposition | amaflags | accountcode | userfield | uniqueid     |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | 2008-07-08 05:03:25 | &#8220;XXXXXXXXXX&#8221; &lt;XXXXXXXXXX&gt; | 0117913501 | 12127773456 | default  | IAX2/0117913501-8484 | H323/CARRIER-1 | Dial    | H323/XXXXXXXXXX@Carrier||R |       19 |       0 | NO ANSWER   |        3 |             |           | 1215518605.1 |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 1 row in set (0.00 sec)</p>
<p>mysql&gt;
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/howto-asterisk-cdr-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VoiceMaster Installation</title>
		<link>http://callsolutions.org/voicemaster-installation/</link>
		<comments>http://callsolutions.org/voicemaster-installation/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 07:58:34 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[VoiceMaster]]></category>
		<category><![CDATA[Asterisk Installation]]></category>
		<category><![CDATA[Crack]]></category>
		<category><![CDATA[Sysmater]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=5</guid>
		<description><![CDATA[For those users who has a voicemaster image (crack version). This howto will show you how to install VoiceMaster-&#60;release&#62;.tar.bz2 on a new machine.

1. Prepare the Machine where VM to be install.
Hardware Requirements:
. Pentium 4 3GHz or better
. 1 GB of RAM or Higher
. 10/100 LAN Card
. 80 GB of IDE Hardisk
Download and get VoiceMaster Image [...]]]></description>
			<content:encoded><![CDATA[<p>For those users who has a voicemaster image (crack version). This howto will show you how to install VoiceMaster-&lt;release&gt;.tar.bz2 on a new machine.</p>
<p><span id="more-5"></span><br />
1. Prepare the Machine where VM to be install.</p>
<p>Hardware Requirements:</p>
<p>. Pentium 4 3GHz or better<br />
. 1 GB of RAM or Higher<br />
. 10/100 LAN Card<br />
. 80 GB of IDE Hardisk</p>
<p>Download and get VoiceMaster Image (copy and paste this in the Internet Browser)</p>
<p>VoiceMaster-2.01SF.tar.bz2</p>
<p>2. Download and Burn gentoo Linux</p>
<p>. http://bouncer.gentoo.org/?product=gentoo-2006.0-minimal&amp;os=x86</p>
<p>3. Boot from Gentoo Linux on the new machine.</p>
<p>Set up networking:</p>
<p>4. Type the ff: command:</p>
<p>gentoo# ifconfig eth0 192.168.10.1 netmask 255.255.255.0</p>
<p>gentoo# passwd<br />
Enter new UNIX password: gentoo &lt;enter&gt;<br />
Retype new UNIX password: gentoo &lt;enter&gt;<br />
passwd: password updated successfully<br />
gentoo#<br />
gentoo# /etc/init.d/sshd start &lt;enter&gt;</p>
<p>4. Partition the Hardisk.</p>
<p>Make sure to delete all partition first:<br />
livecd root # fdisk /dev/hda<br />
The number of cylinders for this disk is set to 4865.<br />
There is nothing wrong with that, but this is larger than 1024,<br />
and could in certain setups cause problems with:</p>
<p>1) software that runs at boot time (e.g., old versions of LILO)</p>
<p>2) booting and partitioning software from other OSs</p>
<p>(e.g., DOS FDISK, OS/2 FDISK)</p>
<p>Command (m for help): p<br />
Disk /dev/hda: 40.0 GB, 40020664320 bytes<br />
255 heads, 63 sectors/track, 4865 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System<br />
/dev/hda1   *           1          10       80293+  83  Linux<br />
/dev/hda2              11         135     1004062+  82  Linux swap / Solaris<br />
/dev/hda3             136        4865    37993725   83  Linux</p>
<p>To delete partitions: labaled: hda3, hda2 and hda1</p>
<p>Command (m for help): d<br />
Partition number (1-4): 3</p>
<p>Command (m for help): d<br />
Partition number (1-4): 2</p>
<p>Command (m for help): d<br />
Selected partition 1</p>
<p>Lets print it again to check if there is still partition define:</p>
<p>Disk /dev/hda: 40.0 GB, 40020664320 bytes<br />
255 heads, 63 sectors/track, 4865 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System</p>
<p>Command (m for help):</p>
<p>Now, we create partitions:</p>
<p>Type the ff:</p>
<p>Command (m for help): n<br />
Command action<br />
e   extended<br />
p   primary partition (1-4) p<br />
Partition number (1-4): 1<br />
First cylinder (1-4865, default 1): 1<br />
Last cylinder or +size or +sizeM or +sizeK (1-4865, default 4865): +100M</p>
<p>Command (m for help): n<br />
Command action<br />
e   extended<br />
p   primary partition (1-4) p<br />
Partition number (1-4): 2<br />
First cylinder (14-4865, default 14): &lt; enter &gt;<br />
Using default value 14<br />
Last cylinder or +size or +sizeM or +sizeK (14-4865, default 4865): +2048M</p>
<p>Command (m for help): n<br />
Command action<br />
e   extended<br />
p   primary partition (1-4) p<br />
Partition number (1-4): 3<br />
First cylinder (264-4865, default 264): &lt; enter &gt;<br />
Using default value 264<br />
Last cylinder or +size or +sizeM or +sizeK (264-4865, default 4865): &lt; enter &gt;<br />
Using default value 4865</p>
<p>Command (m for help): p</p>
<p>Disk /dev/hda: 40.0 GB, 40020664320 bytes<br />
255 heads, 63 sectors/track, 4865 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System<br />
/dev/hda1               1          13      104391   83  Linux<br />
/dev/hda2              14         263     2008125   83  Linux<br />
/dev/hda3             264        4865    36965565   83  Linux</p>
<p>Command (m for help):</p>
<p>Change the Filesystem type</p>
<p>Command (m for help): t<br />
Partition number (1-4): 2<br />
Hex code (type L to list codes): 82<br />
Changed system type of partition 2 to 82 (Linux swap / Solaris)</p>
<p>Command (m for help): p</p>
<p>Disk /dev/hda: 40.0 GB, 40020664320 bytes<br />
255 heads, 63 sectors/track, 4865 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System<br />
/dev/hda1               1          13      104391   83  Linux<br />
/dev/hda2              14         263     2008125   82  Linux swap / Solaris<br />
/dev/hda3             264        4865    36965565   83  Linux</p>
<p>Configure to boot from Hda1</p>
<p>Command (m for help): a<br />
Partition number (1-4): 1</p>
<p>Command (m for help): p</p>
<p>Disk /dev/hda: 40.0 GB, 40020664320 bytes<br />
255 heads, 63 sectors/track, 4865 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>
<p>Device Boot      Start         End      Blocks   Id  System<br />
/dev/hda1   *           1          13      104391   83  Linux<br />
/dev/hda2              14         263     2008125   82  Linux swap / Solaris<br />
/dev/hda3             264        4865    36965565   83  Linux</p>
<p>Command (m for help):</p>
<p>Save Settings:</p>
<p>Command (m for help): w<br />
The partition table has been altered!</p>
<p>Calling ioctl() to re-read partition table.<br />
Syncing disks.</p>
<p>Creating ext3 and swap filesystems</p>
<p>livecd root # mkfs.ext3 /dev/hda3<br />
mke2fs 1.35 (28-Feb-2004)<br />
Filesystem label=<br />
OS type: Linux<br />
Block size=4096 (log=2)<br />
Fragment size=4096 (log=2)<br />
4627616 inodes, 9241391 blocks<br />
462069 blocks (5.00%) reserved for the super user<br />
First data block=0<br />
283 block groups<br />
32768 blocks per group, 32768 fragments per group<br />
16352 inodes per group<br />
Superblock backups stored on blocks:<br />
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,<br />
4096000, 7962624</p>
<p>Writing inode tables: done<br />
Creating journal (8192 blocks): done<br />
Writing superblocks and filesystem accounting information: done</p>
<p>This filesystem will be automatically checked every 28 mounts or<br />
180 days, whichever comes first.  Use tune2fs -c or -i to override.<br />
livecd root # mkfs.ext3 /dev/hda1<br />
mke2fs 1.35 (28-Feb-2004)<br />
Filesystem label=<br />
OS type: Linux<br />
Block size=1024 (log=0)<br />
Fragment size=1024 (log=0)<br />
26104 inodes, 104388 blocks<br />
5219 blocks (5.00%) reserved for the super user<br />
First data block=1<br />
13 block groups<br />
8192 blocks per group, 8192 fragments per group<br />
2008 inodes per group<br />
Superblock backups stored on blocks:<br />
8193, 24577, 40961, 57345, 73729</p>
<p>Writing inode tables: done<br />
Creating journal (4096 blocks): done<br />
Writing superblocks and filesystem accounting information: done<br />
This filesystem will be automatically checked every 26 mounts or<br />
180 days, whichever comes first.  Use tune2fs -c or -i to override.<br />
livecd root # mkswap /dev/hda2<br />
Setting up swapspace version 1, size = 2056314 kB</p>
<p>Mounting Filesystems</p>
<p>livecd root # mount /dev/hda3 /mnt/gentoo<br />
livecd root # mkdir /mnt/gentoo/boot<br />
livecd root # mount /dev/hda1 /mnt/gentoo/boot<br />
livecd root # swapon /dev/hda2<br />
livecd root #</p>
<p>Now, save the file VoiceMaster-2.01SF.tar.bz2in the machine (I used WinSCP to copy it). Can be downloaded here: http://winscp.net/download/winscp380setup.exe</p>
<p>Save it under /mnt/gentoo/</p>
<p>Goto the directory:</p>
<p>livecd root # cd /mnt/gentoo/<br />
livecd gentoo # ls<br />
VoiceMaster-2.01SF.tar.bz2 boot  lost+found<br />
livecd gentoo #</p>
<p>and extract the file</p>
<p>livecd gentoo # tar xvpfj VoiceMaster-2.01SF.tar.bz2</p>
<p>After extracting. Type the ff: command</p>
<p>livecd gentoo # chroot /mnt/gentoo /bin/bash<br />
oot@livecd:/# source /etc/profile<br />
oot@livecd:/# lilo -v<br />
ILO version 22.3.4, Copyright (C) 1992-1998 Werner Almesberger<br />
evelopment beyond version 21 Copyright (C) 1999-2002 John Coffman<br />
eleased 01-Nov-2002 and compiled at 15:00:20 on Nov 22 2002.</p>
<p>Reading boot sector from /dev/hda<br />
sing MENU secondary loader<br />
alling map_insert_data</p>
<p>Boot image: /boot/2420rc32VM.img<br />
dded vm *</p>
<p>/boot/boot.0300 exists &#8211; no backup copy made.<br />
Writing boot sector.</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/voicemaster-installation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Debian: OpenSer Installation</title>
		<link>http://callsolutions.org/debian-openser-installation/</link>
		<comments>http://callsolutions.org/debian-openser-installation/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 05:23:06 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[OpenSer Installation]]></category>
		<category><![CDATA[debian Etch OpenSer]]></category>
		<category><![CDATA[OpenSer]]></category>
		<category><![CDATA[OpenSer Config]]></category>
		<category><![CDATA[Openser install]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=4</guid>
		<description><![CDATA[This tutorial will teach you how to install and run OpenSer as quickly as possible under Debian Etch Linux: Other Linux Distribution can also use this tutorial.
Introduction:
From the website.
OpenSER is a project spawned from FhG FOKUS SIP Express Router (SER). The reason for this new venture is the lack of progressing and contributions to the [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial will teach you how to install and run OpenSer as quickly as possible under Debian Etch Linux: Other Linux Distribution can also use this tutorial.</p>
<p><strong>Introduction:</strong></p>
<p>From the <a class="external" href="http://www.openser.org/">website</a>.</p>
<p><a href="http://www.voip-info.org/wiki/view/OpenSER">OpenSER</a> is a project spawned from FhG FOKUS SIP Express Router (SER). The reason for this new venture is the lack of progressing and contributions to the SER project from the other SER team members as well as the reticence to new contributions from project&#8217;s community members. We want to accelerate the integration of public contributions to the SER project.</p>
<p><span id="more-4"></span></p>
<p>OpenSER promotes a new management policy (OPEN) -for new code acceptance and code-through propagation- and development approach -design and architecture. We have decided to bring more dynamics into SIP world by creating this new project that can benefit of TLS and so many other contributions. We welcome your contributions to the success of this project.</p>
<p>The project is managed by three of SER developers: Bogdan-Andrei Iancu (core developer of SER), Daniel-Constantin Mierla (core developer of SER) and Elena-Ramona Modroiu (main contributor of SER). You all like SER so we will do our best to maintain our exiting work and help the users of our solutions. We will therefore maintain close contacts with our former colleagues and SER project.</p>
<p>The project is leaded by <a class="external" href="http://www.openser.org/index.php?option=com_content&amp;task=view&amp;id=30&amp;Itemid=45">OpenSER Management Board</a> and its history is summarized <a class="external" href="http://www.openser.org/index.php?option=com_content&amp;task=view&amp;id=40&amp;Itemid=61">here</a>.</p>
<p><strong>Download OpenSer:</strong></p>
<p>wget http://www.openser.org/pub/openser/latest/bin/openser-1.3.2-notls_linux_i386.tar.gz</p>
<p><strong>Installing OpenSer:</strong></p>
<p>cd /usr/local<br />
tar xvfz openser-1.3.2-notls_linux_i386.tar.gz -C /</p>
<p>Note: This will extract all openser packages in / and will store the necessary files in the correct directory.</p>
<p><strong>Running OpenSer:</strong></p>
<p>The startup script is found in /usr/local/bin/openserctl. To start OpenSer just type:</p>
<p>openserctl start / stop / restart</p>
<p>Thats it! Next is to learn how to configure OpenSer for your specific needs.</p>
<p><strong>Directory Listing for OpenSer:</strong></p>
<p>main:/usr/local# tar xvfz openser-1.3.2-notls_linux_i386.tar.gz -C /<br />
./<br />
./usr/<br />
./usr/local/<br />
./usr/local/etc/<br />
./usr/local/etc/openser/<br />
./usr/local/etc/openser/openser.cfg<br />
./usr/local/etc/openser/dictionary.radius<br />
./usr/local/etc/openser/openserctlrc<br />
./usr/local/sbin/<br />
./usr/local/sbin/openser<br />
./usr/local/sbin/openserctl<br />
./usr/local/sbin/openserdbctl<br />
./usr/local/sbin/openserunix<br />
./usr/local/lib/<br />
./usr/local/lib/openser/<br />
./usr/local/lib/openser/modules/<br />
./usr/local/lib/openser/modules/acc.so<br />
./usr/local/lib/openser/modules/alias_db.so<br />
./usr/local/lib/openser/modules/auth.so<br />
./usr/local/lib/openser/modules/auth_db.so<br />
./usr/local/lib/openser/modules/auth_diameter.so<br />
./usr/local/lib/openser/modules/avpops.so<br />
./usr/local/lib/openser/modules/benchmark.so<br />
./usr/local/lib/openser/modules/cfgutils.so<br />
./usr/local/lib/openser/modules/dbtext.so<br />
./usr/local/lib/openser/modules/dialog.so<br />
./usr/local/lib/openser/modules/dialplan.so<br />
./usr/local/lib/openser/modules/dispatcher.so<br />
./usr/local/lib/openser/modules/diversion.so<br />
./usr/local/lib/openser/modules/domain.so<br />
./usr/local/lib/openser/modules/domainpolicy.so<br />
./usr/local/lib/openser/modules/drouting.so<br />
./usr/local/lib/openser/modules/enum.so<br />
./usr/local/lib/openser/modules/exec.so<br />
./usr/local/lib/openser/modules/flatstore.so<br />
./usr/local/lib/openser/modules/gflags.so<br />
./usr/local/lib/openser/modules/group.so<br />
./usr/local/lib/openser/modules/imc.so<br />
./usr/local/lib/openser/modules/lcr.so<br />
./usr/local/lib/openser/modules/mangler.so<br />
./usr/local/lib/openser/modules/maxfwd.so<br />
./usr/local/lib/openser/modules/mediaproxy.so<br />
./usr/local/lib/openser/modules/mi_datagram.so<br />
./usr/local/lib/openser/modules/mi_fifo.so<br />
./usr/local/lib/openser/modules/msilo.so<br />
./usr/local/lib/openser/modules/nathelper.so<br />
./usr/local/lib/openser/modules/options.so<br />
./usr/local/lib/openser/modules/path.so<br />
./usr/local/lib/openser/modules/pdt.so<br />
./usr/local/lib/openser/modules/permissions.so<br />
./usr/local/lib/openser/modules/pike.so<br />
./usr/local/lib/openser/modules/registrar.so<br />
./usr/local/lib/openser/modules/rr.so<br />
./usr/local/lib/openser/modules/siptrace.so<br />
./usr/local/lib/openser/modules/sl.so<br />
./usr/local/lib/openser/modules/sms.so<br />
./usr/local/lib/openser/modules/speeddial.so<br />
./usr/local/lib/openser/modules/sst.so<br />
./usr/local/lib/openser/modules/statistics.so<br />
./usr/local/lib/openser/modules/textops.so<br />
./usr/local/lib/openser/modules/tm.so<br />
./usr/local/lib/openser/modules/uac.so<br />
./usr/local/lib/openser/modules/uac_redirect.so<br />
./usr/local/lib/openser/modules/uri.so<br />
./usr/local/lib/openser/modules/uri_db.so<br />
./usr/local/lib/openser/modules/usrloc.so<br />
./usr/local/lib/openser/modules/xlog.so<br />
./usr/local/lib/openser/openserctl/<br />
./usr/local/lib/openser/openserctl/openserctl.base<br />
./usr/local/lib/openser/openserctl/openserctl.ctlbase<br />
./usr/local/lib/openser/openserctl/openserctl.fifo<br />
./usr/local/lib/openser/openserctl/openserctl.unixsock<br />
./usr/local/lib/openser/openserctl/openserctl.sqlbase<br />
./usr/local/lib/openser/openserctl/openserctl.dbtext<br />
./usr/local/lib/openser/openserctl/openserdbctl.base<br />
./usr/local/lib/openser/openserctl/openserdbctl.dbtext<br />
./usr/local/share/<br />
./usr/local/share/doc/<br />
./usr/local/share/doc/openser/<br />
./usr/local/share/doc/openser/INSTALL<br />
./usr/local/share/doc/openser/README.acc<br />
./usr/local/share/doc/openser/README.alias_db<br />
./usr/local/share/doc/openser/README.auth<br />
./usr/local/share/doc/openser/README.auth_db<br />
./usr/local/share/doc/openser/README.auth_diameter<br />
./usr/local/share/doc/openser/README.avpops<br />
./usr/local/share/doc/openser/README.benchmark<br />
./usr/local/share/doc/openser/README.cfgutils<br />
./usr/local/share/doc/openser/README.dbtext<br />
./usr/local/share/doc/openser/README.dialog<br />
./usr/local/share/doc/openser/README.dialplan<br />
./usr/local/share/doc/openser/README.dispatcher<br />
./usr/local/share/doc/openser/README.diversion<br />
./usr/local/share/doc/openser/README.domain<br />
./usr/local/share/doc/openser/README.domainpolicy<br />
./usr/local/share/doc/openser/README.enum<br />
./usr/local/share/doc/openser/README.exec<br />
./usr/local/share/doc/openser/README.flatstore<br />
./usr/local/share/doc/openser/README.gflags<br />
./usr/local/share/doc/openser/README.group<br />
./usr/local/share/doc/openser/README.imc<br />
./usr/local/share/doc/openser/README.lcr<br />
./usr/local/share/doc/openser/README.mangler<br />
./usr/local/share/doc/openser/README.maxfwd<br />
./usr/local/share/doc/openser/README.mediaproxy<br />
./usr/local/share/doc/openser/README.mi_datagram<br />
./usr/local/share/doc/openser/README.mi_fifo<br />
./usr/local/share/doc/openser/README.msilo<br />
./usr/local/share/doc/openser/README.nathelper<br />
./usr/local/share/doc/openser/README.options<br />
./usr/local/share/doc/openser/README.path<br />
./usr/local/share/doc/openser/README.pdt<br />
./usr/local/share/doc/openser/README.permissions<br />
./usr/local/share/doc/openser/README.pike<br />
./usr/local/share/doc/openser/README.registrar<br />
./usr/local/share/doc/openser/README.rr<br />
./usr/local/share/doc/openser/README.siptrace<br />
./usr/local/share/doc/openser/README.sl<br />
./usr/local/share/doc/openser/README.sms<br />
./usr/local/share/doc/openser/README.speeddial<br />
./usr/local/share/doc/openser/README.sst<br />
./usr/local/share/doc/openser/README.statistics<br />
./usr/local/share/doc/openser/README.textops<br />
./usr/local/share/doc/openser/README.tm<br />
./usr/local/share/doc/openser/README.uac<br />
./usr/local/share/doc/openser/README.uac_redirect<br />
./usr/local/share/doc/openser/README.uri<br />
./usr/local/share/doc/openser/README.uri_db<br />
./usr/local/share/doc/openser/README.usrloc<br />
./usr/local/share/doc/openser/README.xlog<br />
./usr/local/share/doc/openser/README-MODULES<br />
./usr/local/share/doc/openser/AUTHORS<br />
./usr/local/share/doc/openser/NEWS<br />
./usr/local/share/doc/openser/README<br />
./usr/local/share/man/<br />
./usr/local/share/man/man8/<br />
./usr/local/share/man/man8/openser.8<br />
./usr/local/share/man/man8/openserctl.8<br />
./usr/local/share/man/man8/openserunix.8<br />
./usr/local/share/man/man5/<br />
./usr/local/share/man/man5/openser.cfg.5<br />
./usr/local/share/openser/<br />
./usr/local/share/openser/dbtext/<br />
./usr/local/share/openser/dbtext/openser/<br />
./usr/local/share/openser/dbtext/openser/acc<br />
./usr/local/share/openser/dbtext/openser/active_sessions<br />
./usr/local/share/openser/dbtext/openser/active_watchers<br />
./usr/local/share/openser/dbtext/openser/address<br />
./usr/local/share/openser/dbtext/openser/admin_privileges<br />
./usr/local/share/openser/dbtext/openser/aliases<br />
./usr/local/share/openser/dbtext/openser/carrierroute<br />
./usr/local/share/openser/dbtext/openser/cpl<br />
./usr/local/share/openser/dbtext/openser/dbaliases<br />
./usr/local/share/openser/dbtext/openser/dialog<br />
./usr/local/share/openser/dbtext/openser/dispatcher<br />
./usr/local/share/openser/dbtext/openser/domain<br />
./usr/local/share/openser/dbtext/openser/domainpolicy<br />
./usr/local/share/openser/dbtext/openser/grp<br />
./usr/local/share/openser/dbtext/openser/gw<br />
./usr/local/share/openser/dbtext/openser/gw_grp<br />
./usr/local/share/openser/dbtext/openser/imc_members<br />
./usr/local/share/openser/dbtext/openser/imc_rooms<br />
./usr/local/share/openser/dbtext/openser/lcr<br />
./usr/local/share/openser/dbtext/openser/location<br />
./usr/local/share/openser/dbtext/openser/missed_calls<br />
./usr/local/share/openser/dbtext/openser/pdt<br />
./usr/local/share/openser/dbtext/openser/pending<br />
./usr/local/share/openser/dbtext/openser/phonebook<br />
./usr/local/share/openser/dbtext/openser/presentity<br />
./usr/local/share/openser/dbtext/openser/pua<br />
./usr/local/share/openser/dbtext/openser/re_grp<br />
./usr/local/share/openser/dbtext/openser/rls_presentity<br />
./usr/local/share/openser/dbtext/openser/rls_watchers<br />
./usr/local/share/openser/dbtext/openser/route_tree<br />
./usr/local/share/openser/dbtext/openser/server_monitoring<br />
./usr/local/share/openser/dbtext/openser/server_monitoring_agg<br />
./usr/local/share/openser/dbtext/openser/silo<br />
./usr/local/share/openser/dbtext/openser/sip_trace<br />
./usr/local/share/openser/dbtext/openser/speed_dial<br />
./usr/local/share/openser/dbtext/openser/subscriber<br />
./usr/local/share/openser/dbtext/openser/trusted<br />
./usr/local/share/openser/dbtext/openser/uri<br />
./usr/local/share/openser/dbtext/openser/usr_preferences<br />
./usr/local/share/openser/dbtext/openser/usr_preferences_types<br />
./usr/local/share/openser/dbtext/openser/version<br />
./usr/local/share/openser/dbtext/openser/watchers<br />
./usr/local/share/openser/dbtext/openser/xcap</p>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/debian-openser-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
