<?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>TEAM FORREST Blog &#187; Internet</title>
	<atom:link href="http://www.teamforrest.com/blog/tag/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.teamforrest.com/blog</link>
	<description>Asterisk, VoIP, and IT Consulting</description>
	<lastBuildDate>Thu, 27 May 2010 19:07:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Vulnerability Assessment and Scans</title>
		<link>http://www.teamforrest.com/blog/162/vulnerability-assessment-and-scans/</link>
		<comments>http://www.teamforrest.com/blog/162/vulnerability-assessment-and-scans/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 01:02:59 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[vulnerability assessment]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/blog/?p=162</guid>
		<description><![CDATA[Vulnerability scanning and assessment identifies security risks within your network. Team Forrest highly recommends proactive, routine scanning to help assess, react, and improve your network security. Utilizing a variety of techniques, applications, and tools, Team Forrest remotely examines your network over the public Internet. identified weaknesses and vulnerabilities are assessed for risk and detailed, with [...]]]></description>
			<content:encoded><![CDATA[<p>Vulnerability scanning and assessment identifies security risks within your network. Team Forrest highly recommends proactive, routine scanning to help assess, react, and improve your network security.</p>
<p>Utilizing a variety of techniques, applications, and tools, Team Forrest remotely examines your network over the public Internet. identified weaknesses and vulnerabilities are assessed for risk and detailed, with recommendations, to the customer.</p>
<h2>What is a Vulnerability Scan?</h2>
<p>A vulnerability scan assesses computer systems, networks, and applications for weaknesses. Vulnerability Scans are recommended (and may be required) for any business conducting e-commerce, hosting a server with a publicly accessible IP Address, or allowing remote access to company assets. Team Forrest recommends a comprehensive scan, including:</p>
<ol>
<li>Checking for vulnerabilities of remote systems</li>
<li>Checking for misconfiguration of remote systems, software, and services</li>
<li>Checking commonly used passwords</li>
<li>Checking Denial of Service sensitivity</li>
<li>Checking for Web Vulnerability (such as SQL Injection)</li>
</ol>
<h2>How does a Vulnerability Assessment Work?</h2>
<p>Team Forrest performs the scan remotely, accessing your network over the Public Internet. There is nothing for you to do and no software will need to be installed. Our servers will simply assess your network remotely.</p>
<p>Once the scan completes, Team Forrest provides a detailed assessment including identified risks and vulnerabilities, as well as their severity level. Team Forrest also provides recommendations and assisting in correcting any identified flaws or vulnerabilities.</p>
<p>For more information on a Team Forrest Vulnerability Scan / Assessment, <strong>please call 888-295-0025</strong> or <a href="/contact.html">contact us</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/162/vulnerability-assessment-and-scans/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zero-day Flaw in Firefox 3.5</title>
		<link>http://www.teamforrest.com/blog/128/zero-day-firefox/</link>
		<comments>http://www.teamforrest.com/blog/128/zero-day-firefox/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 16:57:26 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=128</guid>
		<description><![CDATA[Update On 7/16/2009, Firefox released version 3.5.1 to address the issue. Read Update Below! Mozilla.com released details today on a critical JavaScript vulnerability in the latest version of the popular Firefox 3.5 Web Browser. The vulnerability allows execution of code on the client (or target) system simply by visiting a website. No patch is currently [...]]]></description>
			<content:encoded><![CDATA[<p class="alert"><strong>Update</strong> On 7/16/2009, Firefox released version 3.5.1 to address the issue. <strong>Read Update Below!</strong></p>
<p>Mozilla.com released details today on a critical JavaScript vulnerability in the latest version of the popular Firefox 3.5 Web Browser. The vulnerability allows execution of code on the client (or target) system simply by visiting a website.</p>
<p>No patch is currently available for the flaw and several organizations (such as Scurnia, The Sans Institute, and the United States Computer Emergency Response Team) are recommending the complete disabling of JavaScript in Firefox (see below). Additionally, The Sans Institute is recommending the use of the NoScript Firefox plugin (that enables javascript only from white-listed sites).</p>
<h4>Additional information:</h4>
<ul>
<li><a href="http://blog.mozilla.com/security/2009/07/14/critical-javascript-vulnerability-in-firefox-35/">Mozilla Security Blog Post</a></li>
<li><a href="http://secunia.com/advisories/35798/">Secunia.com Advisory</a></li>
<li><a href="http://www.us-cert.gov/current/">United States Computer Emergency Response Team</a></li>
<li><a href="http://noscript.net/">NoScript Plugin</a></li>
</ul>
<h3>How to Disable the Javascript Engine in Firefox:</h3>
<ol>
<li>Enter <strong><em>about:config</em></strong> in the browser’s location bar.</li>
<li>Type <strong><em>jit</em></strong> in the Filter box at the top of the config editor.</li>
<li><strong>Double-click</strong> the line containing <em>javascript.options.jit.content</em> <strong>setting the value to false</strong>.</li>
</ol>
<p>Mozilla advises that disabling the JIT will result in decreased JavaScript performance and is only recommended as a temporary security measure.  Once users have been received the security update containing the fix for this issue, they should restore the JIT repeating the process above and setting the <em>javascript.options.jit.content </em>value to <em>true</em>.</p>
<h4>Update — 7/16/2009</h4>
<p>Firefox has introduced version 3.5.1 to address the security risk, as <a href="https://developer.mozilla.org/devnews/index.php/2009/07/16/firefox-3-5-1-update-is-now-available-for-download/">posted</a> on their developer blog:</p>
<blockquote>
<h3>Firefox 3.5.1 update is now available for download</h3>
<p>As part of the Mozilla Corporation’s ongoing security and stability process, Firefox 3.5.1 is now available for Windows, Mac, and Linux users as a free download from <a href="http://www.firefox.com">www.firefox.com</a>.</p>
<p>We strongly recommend that all Firefox 3.5 users upgrade to this latest release. If you already have Firefox 3.5, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.</p>
<p>For a list of changes and more information, please see the <a href="http://www.mozilla.com/firefox/3.5.1/releasenotes/">Firefox 3.5.1 release notes</a>.</p>
<p>Please note: If you’re still using Firefox 2.0.0.x, this version is no longer supported and contains known security vulnerabilities. Please upgrade to Firefox 3.5 by downloading Firefox 3.5.1 from <a href="http://www.www.firefox.com">www.firefox.com</a>.</p>
<h6>This entry was posted by beltzner on Thursday, July 16th, 2009 at 6:34 pm.</h6>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/128/zero-day-firefox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Asterisk Consulting Services</title>
		<link>http://www.teamforrest.com/blog/119/asterisk-consulting-services/</link>
		<comments>http://www.teamforrest.com/blog/119/asterisk-consulting-services/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 12:38:30 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[voicemail]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=119</guid>
		<description><![CDATA[Team Forrest offers Asterisk Consulting Services for a wide variety of VoIP, Call Center, and other Telephony Based needs. From small, family business to large Corporations, Team Forrest’s simple philosophy of “Help the Client” ensures we provide great service to meet your needs. Asterisk Consulting From carrier services to traditional PBX services, Team Forrest’s Asterisk [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-42 alignright" title="asterisk-by-digium" src="http://www.teamforrest.com/blog/wp-content/uploads/2008/12/asterisk-by-digium-300x245.gif" alt="Asterisk is a registered trademark of Digium" /></p>
<p>Team Forrest offers Asterisk Consulting Services for a wide variety of VoIP, Call Center, and other Telephony Based needs. From small, family business to large Corporations, Team Forrest’s simple philosophy of “Help the Client” ensures we provide great service to meet your needs.</p>
<h2>Asterisk Consulting</h2>
<p>From carrier services to traditional PBX services, Team Forrest’s Asterisk Consulting Service provides you the solution you need. Services include:</p>
<ul>
<li>IVR Development</li>
<li>Custom AGI Scripting / Programming</li>
<li>OpenSER Integration</li>
<li>Calling Card Systems</li>
<li>Call Center / Sales Queue Development</li>
<li>Call Recording (call spying, call barging, whisper, etc.)</li>
<li>Database Integration (Microsoft SQL MSSQL, MySQL, Oracle, etc.)</li>
<li>Custom Solutions</li>
</ul>
<h2>Emergency Asterisk Support</h2>
<p>When a problem comes along, we provide <strong>24/7 Emergency Support </strong>to bring your system back to life. Both new and existing clients benefit from our immediate support response.</p>
<p>For immediate support please <a href="/contact/">contact</a> us or call <strong>+1 (212) 937-7844</strong>.</p>
<h2>Remote and Onsite Support</h2>
<p>Team Forrest offers <strong>immediate</strong> remote assistance across the globe. Local, onsite service is also available, with quick response to Michigan, Florida, and New York locations.</p>
<h2>Asterisk? Ask us.</h2>
<p>With Team Forrest, you get professional consulting at a great price — <strong>increased productivity</strong> at a <strong>lower cost</strong>. To see how Team Forrest can help improve your communication needs, <a href="/contact">contact us</a>. We enjoy talking with clients and look forward to seeing how we can help you.</p>
<p>Asterisk, developed and released by <a href="http://www.digium.com">Digium, Inc.</a>, is the world’s leading open source telephony engine and tool kit. Asterisk empowers communication with it’s flexibility. Whether working as a simple office telephone system, a robust Call Center platform, or anything in-between, Asterisk provides advanced features at a very low deployment cost.  Asterisk is released as open source under the GNU General Public License (GPL), and it is available for download free of charge. Asterisk is the most popular open source software available, with the Asterisk Community being the top influencer in VoIP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/119/asterisk-consulting-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parking Availability, Team Forrest, and Asterisk</title>
		<link>http://www.teamforrest.com/blog/98/parking-availability-team-forrest-and-asterisk/</link>
		<comments>http://www.teamforrest.com/blog/98/parking-availability-team-forrest-and-asterisk/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 16:45:29 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[AGI]]></category>
		<category><![CDATA[ann arbor]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[parking]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=98</guid>
		<description><![CDATA[Recently, Fred Posner of Team Forrest, assisted Edward Vielmetti with a simple idea — help make information accessible. In this case, the information was the availability of Parking Spots in Ann Arbor, Michigan. The Ann Arbor Downtown Development Authority (A2DDA) publishes data regarding parking spot availability on the web, however, when you’re driving to the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-100 alignright" title="ann-arbor-parking-project" src="http://www.teamforrest.com/blog/wp-content/uploads/2009/01/ann-arbor-parking-project.jpg" alt="Ann Arbor Parking" /></p>
<p>Recently, Fred Posner of Team Forrest, assisted <a href="http://vielmetti.typepad.com/">Edward Vielmetti</a> with a simple idea — help make information accessible. In this case, the information was the availability of Parking Spots in Ann Arbor, Michigan.</p>
<p>The <a href="http://www.a2dda.org/">Ann Arbor Downtown Development Authority</a> (A2DDA) publishes data regarding parking spot availability on the web, however, when you’re driving to the garage navigating to a web site is the least of your worries. So, an idea was born to make parking information readily accessible — and with that, Team Forrest’s Fred Posner built a quick prototype to demonstrate how <a href="http://www.asterisk.org">Asterisk</a> (by <a href="http://www.digium.com">Digium</a>) can help rethink how data can be accessed.</p>
<p>In the prototype, a caller can select which garage to query. The system will then speak to the caller the remaining number of spaces and offer 3 options — select another garage, exit (and hear the local weather), or choose to be notified if there are fewer than 10 spaces remaining. If the caller selects the notification option, the system will automatically check once a minute (for 30 minutes) and initiate a call out to the user. The call will remind the user which garage they selected and inform them of the current number of available spaces.</p>
<p>The prototype for this project can be accessed from the Team Forrest main line, at <strong>+1 (212) 937-7844</strong>. Then, choose <strong>6</strong> for check local Ann Arbor Parking availability.</p>
<h3>About Team Forrest</h3>
<p>Team Forrest offers complete Internet Consulting services, specializing in VoIP and Asterisk solutions. Team Forrest has one simple goal: Help the client. Whether you need emergency assistance or if you are planning a deployment, Team Forrest is here to help. With over 15 years experience, our team can quickly assess your needs and help deploy the most appropriate solution.</p>
<h3>About Asterisk</h3>
<p><a href="http://www.asterisk.org">Asterisk</a> (by <a href="http://www.digium.com">Digium</a>) is the world’s leading open source telephony engine and tool kit. Asterisk empowers communication with it’s flexibility. Asterisk is released as open source under the <a href="http://www.gnu.org">GNU</a> General Public License (GPL), and it is available for download free of charge. Asterisk is the most popular open source software available, with the Asterisk Community being the top influencer in VoIP.</p>
<h4>Related Information:</h4>
<ul>
<li>Fred&#8217;s post on VoIP Tech Chat, &#8220;<a href="http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/">Using Asterisk, Cepstral, and Perl to get Parking and Weather</a>.&#8221;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/98/parking-availability-team-forrest-and-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weather on your Polycom</title>
		<link>http://www.teamforrest.com/blog/96/weather-on-your-polycom/</link>
		<comments>http://www.teamforrest.com/blog/96/weather-on-your-polycom/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 16:55:52 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[polycom]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=96</guid>
		<description><![CDATA[VoIP Tech Chat posted a nice little script for putting a quick, no frills weather report directly onto your Polycom Microbrowser. To view the code, download the files, or just see the script, go to VoIP Tech Chat (dot com).]]></description>
			<content:encoded><![CDATA[<p>VoIP Tech Chat <strong><a href="http://www.voiptechchat.com/voip/208/perl-script-to-put-weather-on-your-polycom-microbrowser/">posted a nice little script</a> </strong>for putting a quick, no frills weather report directly onto your Polycom Microbrowser.</p>
<p>To view the code, download the files, or just see the script, go to <a href="http://www.voiptechchat.com/">VoIP Tech Chat</a> (dot com).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/96/weather-on-your-polycom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using AGI to get Caller ID Name CNAM</title>
		<link>http://www.teamforrest.com/blog/89/using-agi-to-get-caller-id-name-cnam/</link>
		<comments>http://www.teamforrest.com/blog/89/using-agi-to-get-caller-id-name-cnam/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 19:13:53 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[AGI]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[CNAM]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[SIP]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=89</guid>
		<description><![CDATA[Everyone has them — and here&#8217;s Team Forrest&#8217;s version of a Caller ID to Name (CNAM, CIDNAME, etc.) lookup using AnyWho, Google, and 411.com. The first file is the calleridname.pl: UPDATE April 4, 2009 — Frank (user comment) let us know that AnyWho had changed their website. As a result the code has been updated. [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone has them — and here&#8217;s Team Forrest&#8217;s version of a Caller ID to Name (CNAM, CIDNAME, etc.) lookup using AnyWho, Google, and 411.com. The first file is the <a title="Download CallerIDName.zip" href="http://www.teamforrest.com/tf-downloads/calleridname.zip">calleridname.pl</a>: <span id="more-89"></span></p>
<p class="alert"><strong>UPDATE April 4, 2009 —</strong> Frank (user comment) let us know that AnyWho had changed their website. As a result the code has been updated. Thanks Frank!</p>
<p class="alert"><strong>UPDATE November 18, 2009 —</strong> Robert (user comment) let us know of another change. As a result the code has been updated. Thanks Robert!</p>
<pre>#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
$|=1;

my ($cidnum,$cidname,$npa,$nxx,$station,$name);

#----------------------------------------------------------------
# get asterisk initial info
#----------------------------------------------------------------

while(&lt;STDIN&gt;) {
	chomp;
	last unless length($_);
}

#----------------------------------------------------------------
# check if we have a caller id
#----------------------------------------------------------------

if ($ARGV[0]) {
		$cidnum = $ARGV[0];
	} else {
		print qq(VERBOSE &quot;ERROR: no callerid provided&quot; 2\n);
		exit(0);
}

#----------------------------------------------------------------
# check caller id and split into npa, nxx, and station
#----------------------------------------------------------------

if(substr($cidnum,0,1) eq '1'){
	$cidnum=substr($cidnum,1);
}

if(substr($cidnum,0,2) eq '+1'){
	$cidnum=substr($cidnum,2);
}

if ($cidnum =~ /^(\d{3})(\d{3})(\d{4})$/) {
		$npa = $1;
		$nxx = $2;
		$station = $3;
	} elsif ($cidnum =~/\&lt;(\d{3})(\d{3})(\d{4})\&gt;/) {
		$npa = $1;
		$nxx = $2;
		$station = $3;
	} else {
		print qq(VERBOSE &quot;ERROR: unable to parse caller id&quot; 2\n);
		exit(0);
}

print qq(VERBOSE &quot;STATUS: CID is $npa-$nxx-$station&quot; 2\n);

#----------------------------------------------------------------
# check npa, nxx, and station for cid name
# 1 = check. 0 = skip.
#----------------------------------------------------------------

my $AnyWho = '1' ;
my $Google = '1' ;
my $www411 = '1' ;

if ($AnyWho &gt; '0') {
		print qq(VERBOSE &quot;STATUS: checking AnyWho for name lookup&quot; 2\n);
		if ($name = &amp;anywho_lookup ($npa, $nxx, $station)) {
				$cidname = $name;
				print qq(SET VARIABLE CALLERID\(name\) &quot;$cidname&quot;\n);
				print qq(VERBOSE &quot;STATUS: AnyWho said name was $cidname &quot; 2\n);
				exit(0);
			} else {
				print qq(VERBOSE &quot;STATUS: unable to find name with AnyWho&quot; 2\n);
		}
	} else {
		print qq(VERBOSE &quot;STATUS: AnyWho lookup disabled&quot; 2\n);
}

if ($Google &gt; '0') {
		print qq(VERBOSE &quot;STATUS: checking Google for name lookup&quot; 2\n);
		if ($name = &amp;google_lookup ($npa, $nxx, $station)) {
				$cidname = $name;
				print qq(SET VARIABLE CALLERID\(name\) &quot;$cidname&quot;\n);
				print qq(VERBOSE &quot;STATUS: Google said name was $cidname &quot; 2\n);
				exit(0);
			} else {
				print qq(VERBOSE &quot;STATUS: unable to find name with Google&quot; 2\n);
		}
	} else {
		print qq(VERBOSE &quot;STATUS: Google lookup disabled&quot; 2\n);
}

if ($www411 &gt; '0') {
		print qq(VERBOSE &quot;STATUS: checking www411 for name lookup&quot; 2\n);
		if ($name = &amp;www411_lookup ($npa, $nxx, $station)) {
				$cidname = $name;
				print qq(SET VARIABLE CALLERID\(name\) &quot;$cidname&quot;\n);
				print qq(VERBOSE &quot;STATUS: www411 said name was $cidname &quot; 2\n);
				exit(0);
			} else {
				print qq(VERBOSE &quot;STATUS: unable to find name with www411&quot; 2\n);
		}
	} else {
		print qq(VERBOSE &quot;STATUS: www411 lookup disabled&quot; 2\n);
}

#----------------------------------------------------------------
# return results and exit
#----------------------------------------------------------------

print qq(SET VARIABLE CALLERID\(name\) &quot;$cidnum&quot;\n);
print qq(VERBOSE &quot;STATUS: Unknown name for $cidnum &quot; 2\n);
exit(0);

#----------------------------------------------------------------
# parse anywho
# http://whitepages.anywho.com/results.php?qnpa=$npa&amp;qnpanxx=$npa$nxx&amp;qnxx=$nxx&amp;qp=$nxx$station&amp;qstation=$station
# Find More Information for First Last&lt;/a&gt;
#----------------------------------------------------------------

sub anywho_lookup {
	my ($npa, $nxx, $station) = @_;
	my $ua = LWP::UserAgent-&gt;new( timeout =&gt; 45);
	my $URL = 'http://whitepages.anywho.com/results.php';
	$URL .= qq(?qnpa=$npa&amp;qnpanxx=$npa$nxx&amp;qnxx=$nxx&amp;qp=$nxx$station&amp;qstation=$station);
	$ua-&gt;agent('AsteriskAGIQuery/1');
	my $req = new HTTP::Request GET =&gt; $URL;
	my $res = $ua-&gt;request($req);
	if ($res-&gt;is_success()) {
		if ($res-&gt;content =~ /Find More Information for (.*)&lt;\/a&gt;/) {
			my $clidname = $1;
			return $clidname;
		}
	}
	return &quot;&quot;;
}

#----------------------------------------------------------------
# parse google
# http://www.google.com/search?rls=en&amp;q=phonebook:$npa$nxx$station
# &lt;td&gt;First Name&lt;td&gt;(&lt;b&gt;$npa
#----------------------------------------------------------------

sub google_lookup {
	my ($npa, $nxx, $station) = @_;
	my $ua = LWP::UserAgent-&gt;new( timeout =&gt; 45);
	my $URL = qq(http://www.google.com/search?rls=en&amp;q=phonebook:$npa$nxx$station&amp;ie=UTF-8&amp;oe=UTF-8);
	$ua-&gt;agent('AsteriskAGIQuery/1');
	my $req = new HTTP::Request GET =&gt; $URL;
	my $res = $ua-&gt;request($req);
	if ($res-&gt;is_success()) {
		if ($res-&gt;content =~ /&lt;td&gt;(.+)&lt;td&gt;\(&lt;b&gt;$npa/) {
			my $clidname = $1;
			return $clidname;
		}
	}
	return &quot;&quot;;
}

#----------------------------------------------------------------
# parse 411
# http://www.411.com/search/Reverse_Phone?phone=$npa$nxx$station
# View map, driving directions, and more&quot;&gt;Name&lt;/a&gt;
#----------------------------------------------------------------

sub www411_lookup {
	my ($npa, $nxx, $station) = @_;
	my $ua = LWP::UserAgent-&gt;new( timeout =&gt; 45);
	my $URL = qq(http://www.411.com/search/Reverse_Phone?phone=$npa$nxx$station);
	$ua-&gt;agent('AsteriskAGIQuery/1');
	my $req = new HTTP::Request GET =&gt; $URL;
	my $res = $ua-&gt;request($req);
	if ($res-&gt;is_success()) {
		if ($res-&gt;content =~ /View map, driving directions, and more\&quot;&gt;(.*)&lt;\/a&gt;/) {
			my $clidname = $1;
			if ($clidname eq &quot;Listing Detail&quot;) {
				if ($res-&gt;content =~ /Type: &lt;strong&gt;(.*)&lt;\/strong&gt;/) {
					$clidname = $1;
					if ($res-&gt;content =~ /Location: &lt;strong&gt;(.*)&lt;\/strong&gt;/) {
						$clidname = $clidname . &quot; $1&quot;;
					}
				}
			}
			return $clidname;
		}
	}
	return &quot;&quot;;
}
</pre>
<p>This perl script will work well as an AGI script — checking AnyWho, Google, and then 411 for a caller&#8217;s name or location. If all else fails, the callerid name is set as the callerid number.</p>
<p>The perl script was designed to only use the Internet with minimal installation; so it will work without a database, Perl Asterisk module, or locally hosted NPA / NXX (phone number to region) file.</p>
<p>Team Forrest recommends using a subroutine context to get the callerid when needed; calling the script with either a <strong>GoSub</strong> or <strong>GosubIf</strong> command, such as:</p>
<pre>exten =&gt; s,n,Gosub(cidname-lookup,s,1)
exten =&gt; s,n,dial(${PHONE},30,t)
...

...
[cidname-lookup]
exten =&gt; s,1,NoOp(looking up callerid name)
exten =&gt; s,n,GotoIf($["foo${CALLERID(NAME)}" = "foo" ]?getname)
exten =&gt; s,n,GotoIf($["${CALLERID(NAME)}" = "${CALLERID(NUM)}" ]?getname)
exten =&gt; s,n,NoOp(caller id name exists as ${CALLERID(NAME)})
exten =&gt; s,n,Return
exten =&gt; s,n(getname),AGI(calleridname.pl,${CALLERID(NUM)})
exten =&gt; s,n,NoOp(Caller ID Name is now ${CALLERID(NAME)})
exten =&gt; s,n,Return</pre>
<p>Enjoy the file (<a title="Download the script" href="http://www.teamforrest.com/tf-downloads/calleridname.zip">download here</a>) and remember, Team Forrest is here to assist you will all of your Asterisk, VoIP, or technical needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/89/using-agi-to-get-caller-id-name-cnam/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>VoIP Tech Chat discusses Level 3 Outage</title>
		<link>http://www.teamforrest.com/blog/85/voip-tech-chat-discusses-level-3-outage/</link>
		<comments>http://www.teamforrest.com/blog/85/voip-tech-chat-discusses-level-3-outage/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 19:22:01 +0000</pubDate>
		<dc:creator>Team Forrest</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.teamforrest.com/?p=85</guid>
		<description><![CDATA[On Sunday December 29th, 2008, Level 3 (one of the nation&#8217;s largest Internet backbone providers) suffered a slight disruption — causing issues to sites such as Amazon, ESPN, and CNN. VoIP Tech Chat posted an opinion piece regarding Level 3&#8242;s handling of the outage. And, as with most opinion pieces from VoIP Tech Chat, we [...]]]></description>
			<content:encoded><![CDATA[<p>On Sunday December 29th, 2008, <a href="http://www.level3.com">Level 3</a> (one of the nation&#8217;s largest Internet backbone providers) suffered a slight disruption — causing issues to sites such as Amazon, ESPN, and CNN.</p>
<p><a href="http://www.voiptechchat.com">VoIP Tech Chat</a> posted an opinion piece regarding Level 3&#8242;s handling of the outage. And, as with most opinion pieces from VoIP Tech Chat, <a href="http://www.voiptechchat.com/voip/189/level3-outage-leaves-room-for-speculation/">we like to pass it on</a>.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.teamforrest.com/blog/85/voip-tech-chat-discusses-level-3-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
