<?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>ROBBIE TILTON</title>
	<atom:link href="http://robbietilton.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robbietilton.com</link>
	<description></description>
	<lastBuildDate>Wed, 22 Feb 2012 02:29:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Time Dilation with Unity3D</title>
		<link>http://robbietilton.com/time-dilation-with-unity3d/</link>
		<comments>http://robbietilton.com/time-dilation-with-unity3d/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 02:16:22 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Unity3D]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=833</guid>
		<description><![CDATA[Using Unity3D I teamed up with Jackson Snellings to create an interactive environment where a user can take control of two joysticks to navigate and control time within the scene. As a user pulls on one joystick time begins to fast forward. You can see this in the audio manipulation and time distortion. As time [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<iframe src="http://player.vimeo.com/video/37192397" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><a href="http://robbietilton.com/time-dilation-with-unity3d/timedilation1/" rel="attachment wp-att-838"><img src="http://robbietilton.com/wp-content/uploads/2012/02/timedilation1-500x312.png" alt="" title="timedilation1" width="500" height="312" class="aligncenter size-medium wp-image-838" /></a>
</div>
<div class="post_rightcol">
Using Unity3D I teamed up with <a href="http://donotfearextinction.com/">Jackson Snellings</a> to create an interactive environment where a user can take control of two joysticks to navigate and control time within the scene.  As a user pulls on one joystick time begins to fast forward.  You can see this in the audio manipulation and time distortion.  As time moves forward the environment eventually melts down and becomes flooded with water.  We created this piece as our second assignment for Creating 3D Worlds with <a href="http://www.jamesgeorge.org">James George</a>.  The piece implies the juxtaposition between a god-like ability to alter time and the powerlessness we have toward the destruction of the earth
</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/time-dilation-with-unity3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AGI Scripting with Ruby</title>
		<link>http://robbietilton.com/agi-scripting-with-ruby/</link>
		<comments>http://robbietilton.com/agi-scripting-with-ruby/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 16:06:58 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=822</guid>
		<description><![CDATA[This week we learned how to script with AGI using ruby. AGI stands for Asterisk Gateway Interface and allows one to make asterisk commands through a proper programming language (ruby or PHP). Within your asterisk extensions.conf file all you need is below: exten =&#62; s,1,Answer&#40;&#41;; exten =&#62; s,n,AGI&#40;/home/rtt233/asterisk_agi/weather.rb&#41;; Then, in weather.rb you can use the [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<a href="http://robbietilton.com/agi-scripting-with-ruby/agiscripting-ruby/" rel="attachment wp-att-830"><img src="http://robbietilton.com/wp-content/uploads/2012/02/AGIscripting-ruby-500x521.jpg" alt="" title="AGIscripting-ruby" width="500" height="521" class="aligncenter size-medium wp-image-830" /></a>
</div>
<div class="post_rightcol">
This week we learned how to script with AGI using ruby.  AGI stands for Asterisk Gateway Interface and allows one to make asterisk commands through a proper programming language (ruby or PHP).  </p>
<p>Within your asterisk extensions.conf file all you need is below:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Answer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>AGI<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_agi<span style="color: #339933;">/</span>weather.<span style="color: #202020;">rb</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Then, in weather.rb you can use the ruby-agi to call your dialplan with conditional logic.  Below is an example that allows you to pull the weather from www.weather.gov.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#!/usr/bin/ruby</span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'ruby-agi'</span>		<span style="color:#008000; font-style:italic;">#for Asterisk AGI</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'net/http'</span>		<span style="color:#008000; font-style:italic;">#for http connections</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rexml/document'</span>	<span style="color:#008000; font-style:italic;">#for parsing XML</span>
&nbsp;
agi = AGI.<span style="color:#9900CC;">new</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># for a complete list of US cities, go to</span>
<span style="color:#008000; font-style:italic;"># http://www.weather.gov/xml/current_obs/</span>
weatherURL = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006600; font-weight:bold;">&#93;</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KNYC.xml&quot;</span> <span style="color:#008000; font-style:italic;">#NYC</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KJFK.xml&quot;</span> <span style="color:#008000; font-style:italic;">#JFK</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KART.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Watertown, NY</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KBGM.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Binghamton</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KBUF.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Buffalo</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KDKK.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Chautauqua County</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KDSV.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Dansville</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KELM.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Corning, NY</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KHPN.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Westchester</span>
weatherURL <span style="color:#006600; font-weight:bold;">&lt;&lt;</span> <span style="color:#996600;">&quot;http://www.weather.gov/xml/current_obs/KFRG.xml&quot;</span> <span style="color:#008000; font-style:italic;">#Farmingdale, NY</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">while</span> <span style="color:#0000FF; font-weight:bold;">true</span> <span style="color:#008000; font-style:italic;">#loop forever</span>
	agi.<span style="color:#9900CC;">stream_file</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;vm-extension&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
	result = agi.<span style="color:#9900CC;">wait_for_digit</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span>  <span style="color:#008000; font-style:italic;"># -1 = wait forever</span>
	digit = result.<span style="color:#9900CC;">digit</span>
	<span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>!digit<span style="color:#006600; font-weight:bold;">&#41;</span>
		agi.<span style="color:#9900CC;">noop</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;no button received.  quitting AGI script.&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
		<span style="color:#CC0066; font-weight:bold;">exit</span> <span style="color:#008000; font-style:italic;">#quit ruby</span>
	<span style="color:#9966CC; font-weight:bold;">end</span>
	url = weatherURL<span style="color:#006600; font-weight:bold;">&#91;</span>digit.<span style="color:#9900CC;">to_i</span><span style="color:#006600; font-weight:bold;">&#93;</span>
	<span style="color:#008000; font-style:italic;"># get the XML data as a string</span>
	xml_data = <span style="color:#6666ff; font-weight:bold;">Net::HTTP</span>.<span style="color:#9900CC;">get_response</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC00FF; font-weight:bold;">URI</span>.<span style="color:#9900CC;">parse</span><span style="color:#006600; font-weight:bold;">&#40;</span>url<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">body</span>
	<span style="color:#008000; font-style:italic;"># extract event information</span>
	doc = <span style="color:#6666ff; font-weight:bold;">REXML::Document</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>xml_data<span style="color:#006600; font-weight:bold;">&#41;</span>
	temp_f = doc.<span style="color:#9900CC;">get_text</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'current_observation/temp_f'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
&nbsp;
	<span style="color:#9966CC; font-weight:bold;">if</span> temp_f
		current_temp = temp_f
	<span style="color:#9966CC; font-weight:bold;">else</span>
		agi.<span style="color:#9900CC;">noop</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;couldn't find temp in xml. quitting.&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
		continue = <span style="color:#0000FF; font-weight:bold;">false</span>
		<span style="color:#CC0066; font-weight:bold;">exit</span> <span style="color:#008000; font-style:italic;">#quit ruby</span>
	<span style="color:#9966CC; font-weight:bold;">end</span>
	<span style="color:#008000; font-style:italic;">#say the temp and ask for another digit</span>
	agi.<span style="color:#9900CC;">say_number</span><span style="color:#006600; font-weight:bold;">&#40;</span>current_temp<span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/agi-scripting-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D Cinemagraph Morphing</title>
		<link>http://robbietilton.com/3d-cinemagraph-morphing/</link>
		<comments>http://robbietilton.com/3d-cinemagraph-morphing/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 02:12:57 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[openFrameworks]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=811</guid>
		<description><![CDATA[Using the Kinect I created several sequenced 3D videos that morph into each other through a particle explosion/retraction. When building this I hoped to capture some of the short subtle animations that I love in gif cinemagraphs. Although this is a bit different than a classic cinemagraph I hope to work on new ways to [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<iframe src="http://player.vimeo.com/video/36941688" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
</div>
<div class="post_rightcol">
Using the Kinect I created several sequenced 3D videos that morph into each other through a particle explosion/retraction.  When building this I hoped to capture some of the short subtle animations that I love in gif cinemagraphs.  Although this is a bit different than a classic cinemagraph I hope to work on new ways to take/render 3D images.</p>
<p>In order to create this application I used openFrameworks with C++ (ofxKinect library).  To take the 3D photo sequences I used Kyle McDonald&#8217;s code which takes an RGBA image, but writes the depth values into the A variable of the image file.  His code can be found on <a href="https://github.com/kylemcdonald/AppropriatingNewTechnologies/tree/master/week3/KinectExportExample">github here</a>.  The project also stems from some inspiration from <a href="http://vimeo.com/16197436">the Janus Machine</a> which Kyle made in 2011. My modified code can be found on my <a href="https://github.com/rtilton1/AppropriatingNewTechnologies/tree/master/week3/3D_Cinamagraph_Multiple">Github here</a>.  </p>
<p>Soundtrack feat Fatboy Slim &#8211; Gangster Tripping
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/3d-cinemagraph-morphing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neural Computation</title>
		<link>http://robbietilton.com/neural-computation/</link>
		<comments>http://robbietilton.com/neural-computation/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 19:37:36 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Algorithms]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=796</guid>
		<description><![CDATA[There are three types of computing: digital computing, analog computing, and neural computing. Digital computing is known for being really good and efficient at computing bits and can process billions of bits at a time. Our modern day personal computing all use digital computing. When researching emotions and the ability to program human feeling into [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<a href="http://robbietilton.com/neural-computation/minsky6levels/" rel="attachment wp-att-802"><img src="http://robbietilton.com/wp-content/uploads/2012/02/minsky6levels.jpg" alt="" title="minsky 6 level diagram" width="500" height="200" class="aligncenter size-full wp-image-802" /></a></p>
<p><a href="http://robbietilton.com/neural-computation/nerualpicture/" rel="attachment wp-att-860"><img src="http://robbietilton.com/wp-content/uploads/2012/02/nerualpicture-500x312.jpg" alt="" title="Neural System" width="500" height="312" class="aligncenter size-medium wp-image-860" /></a>
</div>
<div class="post_rightcol">
There are three types of computing: <a href="http://en.wikipedia.org/wiki/Computer">digital computing</a>, <a href="http://en.wikipedia.org/wiki/Analog_computer">analog computing</a>, and <a href="http://en.wikipedia.org/wiki/Neural_network">neural computing</a>.  Digital computing is known for being really good and efficient at computing bits and can process billions of bits at a time.  Our modern day personal computing all use digital computing.  When researching emotions and the ability to program human feeling into a computer I&#8217;m constantly directed to study neural computing (when adapted to a digital computer it is often referred to as Affective Computing) &#8211; which is the way our minds work.  Marvin Minsky breaks down the process of the mind with six levels of computation.  The image on the left illustrates his six process model.  He refers to Platos republic when description how each of the six levels are independent and their communication is limited (similar to the prisoners in the cave who could only view shadows of what was between them and the fire).  Through understanding the way the mind works (which is still not fully known) through Marvin Minsky&#8217;s <em>The Emotional Machine</em>, one realizes how complex each level is and how our neural capabilities are highly complex and run in parallel formations where comprehension can be derived all at once.  Computers tend to be more linear, but I believe to properly reproduce the human cognitive experience one would need to use massively parallel machines and need a custom computer(s) that are capable of less linear memory storage and processing.  For example, <a href="http://www.santafenewmexican.com/Local%20News/What-kind-of-computer-is-the-brain-">Chris Wood from the New Mexican</a> states, &#8220;Modern computers have a central clock with rates in the range of 1GHz, which corresponds to a cycle time of one billionth of a second. In contrast, the maximum rate a neuron can fire is about 1KHz, which corresponds to a tortoise-like one thousandth of a second. Digital computers are serial in the sense that all computation is performed by a single CPU, although the current direction in computer design is toward 2-, 4- and 8-processor designs, and the most powerful supercomputers have thousands of processors. In contrast, the brain has no single clock, but it computes with 100 billion neurons and 100 trillion synapses simultaneously.”  The manner in which the mind works is pretty incredible, but it&#8217;s interesting how contrasting it is to the machines we use.  To unlock the mysteries of the mind, many argue that we can prove theories of our brains processes if we can make a computer capable of thinking/acting like us.  Although this would be an incredible accomplishment, for my project I plan to only focus on one particular aspect of a specific level &#8211; self-conscious emotions.  Perhaps if each level is explored and perfected a greater digital machine can be born where all parts of the mind work together in a coherent and human-like way.
</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/neural-computation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dialing (SIP/IAX) and DB with Asterisk</title>
		<link>http://robbietilton.com/dialing-sipiax-and-db-with-asterisk/</link>
		<comments>http://robbietilton.com/dialing-sipiax-and-db-with-asterisk/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 03:47:00 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=785</guid>
		<description><![CDATA[Wowzers! A lot of new material this week in the Asterisk world. First of all, I learned how to use SIP and IAX2 to make calls. For this I started with a SoftPhone (Zoiper Classic) &#8211; using it to call the Asterisk server. Below is my sip.conf &#91;rtt233&#93; type=friend username=rtt233_sip secret=XXXXXXX host=dynamic dtmfmode=rfc2833 disallow=all allow=gsm [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<a href="http://robbietilton.com/dialing-sipiax-and-db-with-asterisk/dial/" rel="attachment wp-att-789"><img src="http://robbietilton.com/wp-content/uploads/2012/02/dial-500x499.jpg" alt="" title="Keypad Rotary Image" width="500" height="499" class="aligncenter size-medium wp-image-789" /></a>
</div>
<div class="post_rightcol">
Wowzers! A lot of new material this week in the Asterisk world.  First of all, I learned how to use SIP and IAX2 to make calls.  For this I started with a SoftPhone (Zoiper Classic) &#8211; using it to call the Asterisk server.  Below is my sip.conf</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233<span style="color: #009900;">&#93;</span>
type<span style="color: #339933;">=</span>friend
username<span style="color: #339933;">=</span>rtt233_sip
secret<span style="color: #339933;">=</span>XXXXXXX
host<span style="color: #339933;">=</span>dynamic
dtmfmode<span style="color: #339933;">=</span>rfc2833
disallow<span style="color: #339933;">=</span>all
allow<span style="color: #339933;">=</span>gsm
nat<span style="color: #339933;">=</span>yes
qualify<span style="color: #339933;">=</span>yes
context<span style="color: #339933;">=</span>rtt233_sip</pre></div></div>

<p>Below is my dialplan for SIP:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233_sip<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> _X<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>GoTo<span style="color: #009900;">&#40;</span>rtt233_sip_answer<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_sip_answer<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span>hello<span style="color: #339933;">-</span>world<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span>auth<span style="color: #339933;">-</span>thankyou<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Hangup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Below is my iax.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233_iax<span style="color: #009900;">&#93;</span>
type<span style="color: #339933;">=</span>friend
host<span style="color: #339933;">=</span>dynamic
username<span style="color: #339933;">=</span>rtt233_iax
secret<span style="color: #339933;">=</span>XXXXXXXX
auth<span style="color: #339933;">=</span>md5
requirecalltoken<span style="color: #339933;">=</span>no
context<span style="color: #339933;">=</span>rtt233_iax</pre></div></div>

<p>Below is my dialplan for IAX:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233_iax<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> _X<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>GoTo<span style="color: #009900;">&#40;</span>rtt233_iax_answer<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_iax_answer<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span>hello<span style="color: #339933;">-</span>world<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span>auth<span style="color: #339933;">-</span>thankyou<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Hangup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>My dialplan and setup files here are pretty plain, but it was great to see the connection being made from my machines softphone to the Asterisk server.  After this I learned about <strong>dialing to a real phone using SIP</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Dial<span style="color: #009900;">&#40;</span>SIP<span style="color: #339933;">/</span>itp_jnctn<span style="color: #339933;">/</span><span style="color: #0000dd;">19175551234</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span>r<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>SIP call</pre></div></div>

<p>An alternative to this &#8211; one can let the user choose a number to dial with:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">exten <span style="color: #339933;">=&gt;</span> _1NXXNXXXXXX<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Dial<span style="color: #009900;">&#40;</span>SIP<span style="color: #339933;">/</span>itp_jnctn<span style="color: #339933;">/</span>$<span style="color: #009900;">&#123;</span>EXTEN<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span>r<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>dials any valid North American phone.</pre></div></div>

<p>As well as calling a machine through the <strong>dial plan IAX2</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Set<span style="color: #009900;">&#40;</span>CALLERID<span style="color: #009900;">&#40;</span>num<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #0000dd;">12125551234</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>set caller ID
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Dial<span style="color: #009900;">&#40;</span>IAX2<span style="color: #339933;">/</span>rtt233_iax<span style="color: #339933;">,</span><span style="color: #0000dd;">30</span><span style="color: #339933;">,</span>r<span style="color: #009900;">&#41;</span></pre></div></div>

<p>Alright&#8230;So we have simple dialing down&#8230;how can we save variables so that they can be reused over multiple calls?  With Asterisk we can save <strong>variables to a Database(DB)</strong>. Check out the below DB calls that can be used in any dialplan:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Set<span style="color: #009900;">&#40;</span>numOfCalls<span style="color: #339933;">=</span>$<span style="color: #009900;">&#123;</span>DB<span style="color: #009900;">&#40;</span>rtt233<span style="color: #339933;">/</span>calls<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>set <span style="color: #339933;"># in database</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Set<span style="color: #009900;">&#40;</span>numOfCalls<span style="color: #339933;">=</span>$<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span> <span style="color: #339933;">+</span> $<span style="color: #009900;">&#123;</span>numOfCalls<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>add <span style="color: #0000dd;">1</span> to it
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Set<span style="color: #009900;">&#40;</span>DB<span style="color: #009900;">&#40;</span>rtt233<span style="color: #339933;">/</span>calls<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>$<span style="color: #009900;">&#123;</span>numOfCalls<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>take <span style="color: #339933;"># from database</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>SayDigits<span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#123;</span>numOfCalls<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>say <span style="color: #339933;"># of calls</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/dialing-sipiax-and-db-with-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Face Puppets</title>
		<link>http://robbietilton.com/face-puppets/</link>
		<comments>http://robbietilton.com/face-puppets/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 22:05:12 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Appropriation]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[openFrameworks]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=769</guid>
		<description><![CDATA[For Appropriating New Technologies I used Jason Saragih&#8217;s C++ Face Tracker code alongside with Kyle McDonald&#8217;s ofxFaceTracker library found on his github here. In essence I&#8217;m using the face tracking code to get a 1 mask on a static image and another mask from my webcam stream. I then use the TextureMesh from the static [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=36505635&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=36505635&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object></p>
<p><slb_group>
<a href='http://robbietilton.com/face-puppets/1-2/' title='1'><img width="150" height="150" src="http://robbietilton.com/wp-content/uploads/2012/02/1-150x150.jpg" class="attachment-thumbnail" alt="1" title="1" /></a>
<a href='http://robbietilton.com/face-puppets/2-2/' title='2'><img width="150" height="150" src="http://robbietilton.com/wp-content/uploads/2012/02/2-150x150.jpg" class="attachment-thumbnail" alt="2" title="2" /></a>
<a href='http://robbietilton.com/face-puppets/3-2/' title='3'><img width="150" height="150" src="http://robbietilton.com/wp-content/uploads/2012/02/3-150x150.jpg" class="attachment-thumbnail" alt="3" title="3" /></a>
</slb_group>
</div>
<div class="post_rightcol">
For Appropriating New Technologies I used <a href="http://web.mac.com/jsaragih/FaceTracker/FaceTracker.html">Jason Saragih&#8217;s C++ Face Tracker</a> code alongside with Kyle McDonald&#8217;s ofxFaceTracker library found on his <a href="https://github.com/kylemcdonald/ofxFaceTracker">github here</a>.  In essence I&#8217;m using the face tracking code to get a 1 mask on a static image and another mask from my webcam stream.  I then use the TextureMesh from the static image to map it onto my webcam mask.  Lastly, I position/translate my mask (with the static image textured onto it) into the same position that if found the static mask so that it looks like it is part of the static image.  This allows me to puppeteer the image.  My code can be downloaded on my <a href="https://github.com/rtilton1/AppropriatingNewTechnologies/tree/master/week2/facePuppet">Github here</a>.</p>
<p>The video I made is an art piece to puppeteer what many american&#8217;s feel is the ultimate puppet &#8211; US Presidents.  With puppeteering I&#8217;m trying to pull out the inner child in famous presidents who are forced into a very public and very serious role.  My goal of this is to have babies and young children control these serious figures.  I wasn&#8217;t able to find a child to control the puppets with this week, but plan to redo this piece with the proper pupet master.</p>
<p>Lastly, I&#8217;d like to give another huge applaud to Jason Saragih, Kyle McDonald, and Arturo for making this technology open source and accessible for newb inventors like myself.  It&#8217;s really amazing that we can all use this type of face tracking and I can&#8217;t even imagine what we will be  using in 20 years&#8230;</p>
<p>soundrack feat Jay-Z &#8211; Forever Young
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/face-puppets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emotional Intelligence Alogorithms</title>
		<link>http://robbietilton.com/emotional-intelligence-alogorithms/</link>
		<comments>http://robbietilton.com/emotional-intelligence-alogorithms/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 17:47:39 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Algorithms]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=764</guid>
		<description><![CDATA[I&#8217;ve always been fascinated by Emotional Intelligence (EQ) and feel it often takes a backseat to peoples fascination in IQ and making things quantifiably intelligent. As with computing, the machine has been built to be able to perform highly data intensive procedures at extremely high speeds, but we still haven&#8217;t uncovered emotional computing. For my [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<iframe width="500" height="369" src="http://www.youtube.com/embed/XrmrU7P-ysA" frameborder="0" allowfullscreen></iframe></p>
<p><iframe width="500" height="284" src="http://www.youtube.com/embed/whCJ4NLUSB8" frameborder="0" allowfullscreen></iframe>
</div>
<div class="post_rightcol">
I&#8217;ve always been fascinated by Emotional Intelligence (EQ) and feel it often takes a backseat to peoples fascination in IQ and making things quantifiably intelligent.  As with computing, the machine has been built to be able to perform highly data intensive procedures at extremely high speeds, but we still haven&#8217;t uncovered emotional computing.  For my Research Algorithms class I&#8217;ll be making a computer that feels emotions.  </p>
<p>There are two types emotions that drive our life and our actions: 1) the way in which we <em>understand</em> the emotions around us (example &#8211; facial expressions, gestures, tone of voice) and 2) the way in which we <em>feel</em> emotions for ourselves.  Through this external and internal process we are able to listen to emotions, think about emotions, and react to emotions. </p>
<p>There have been a lot of really great examples in the field of understanding emotions.  The two videos presented to the left use robotics (from MIT Media Lab and Cambridge) to mimic human emotions.  Although they seek realistic in terms of movement and understanding and are extremely impressive accomplishment, the ability to think and feel for oneself is missing.</p>
<p>In 2004, the <a href="http://www.washingtontimes.com/news/2004/nov/10/20041110-102008-4297r/?page=all">Washington Post</a> asked its readers, “If computers are to have emotional components, what role would they play in everyday life? Do human beings really want an emotional relationship with a mechanical mind?”  Through media we’ve seen many instances of computers that can feel however the consequence of these machines existence is often portrayed as a threat to the human kind.  Hal in 2001 Space Odyssey attempts to kill all the humans on a spaceship, in I-Robot the ability to feel leads to murder and suicide, and in A.I. Artificial Intelligence, David follows a path similar to Pinocchio with a heartbreaking conclusion where he relizes he will never be a real boy and that the mother he loves has to die.  Although Hollywood portrays machines with emotions as an evolutionary disaster, I believe there is a deeper meanings that can be derived from creating a computer that feels.
</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/emotional-intelligence-alogorithms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beatbox with Asterisk</title>
		<link>http://robbietilton.com/beatbox-with-asterisk/</link>
		<comments>http://robbietilton.com/beatbox-with-asterisk/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 00:19:18 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=757</guid>
		<description><![CDATA[This week I used Asterisk to create a beatbox where a user is given a continuous beat. As the beat loops a user can break out of it and contribute to the music by pressing two on their keypad. This initiates a record application that records a users audio input at a lower pitch and [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<a href="http://robbietilton.com/beatbox-with-asterisk/asteriskbeatbox/" rel="attachment wp-att-758"><img src="http://robbietilton.com/wp-content/uploads/2012/02/asteriskbeatbox-500x364.png" alt="" title="asterisk beatbox" width="500" height="364" class="aligncenter size-medium wp-image-758" /></a>
</div>
<div class="post_rightcol">
This week I used Asterisk to create a beatbox where a user is given a continuous beat.  As the beat loops a user can break out of it and contribute to the music by pressing two on their keypad.  This initiates a record application that records a users audio input at a lower pitch and then places it back within the stream of the beatbox.  Right now the beat and the recorded sound play back-to-back.  In future iterations I would like to use Sox to combine the audio files on the fly to create a seamless sound integration.</p>
<p>Below is my code</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Wait<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>intro<span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_beat<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_beat<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>recordstart<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Background<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>beat<span style="color: #339933;">,</span> m<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_beat_withoutRecorded<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>WaitExten<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_beat_withoutRecorded<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Background<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>beat<span style="color: #339933;">,</span> m<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_beat_withoutRecorded<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>WaitExten<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
exten <span style="color: #339933;">=&gt;</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> Playback<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>recordend<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Set<span style="color: #009900;">&#40;</span>PITCH_SHIFT<span style="color: #009900;">&#40;</span>rx<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color:#800080;">0.7</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Record<span style="color: #009900;">&#40;</span>asterisk<span style="color: #339933;">-</span>recording<span style="color: #339933;">%</span>d<span style="color: #339933;">:</span>ulaw<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_beat_withRecorded<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>WaitExten<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_beat_withRecorded<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Background<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>beat<span style="color: #339933;">,</span> m<span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#123;</span>RECORDED_FILE<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_beat_withRecorded<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	same <span style="color: #339933;">=&gt;</span> n<span style="color: #339933;">,</span>WaitExten<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/beatbox-with-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voicemail with Asterisk</title>
		<link>http://robbietilton.com/voicemail-with-asterisk/</link>
		<comments>http://robbietilton.com/voicemail-with-asterisk/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:13:44 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=749</guid>
		<description><![CDATA[Setting up voicemail on Asterisk is surprisingly simple! After I wrote the dialplan I was shocked it actually worked. In my extensions.conf file I used the below commands: &#91;rtt233&#93; exten =&#62; s,1,Wait&#40;1&#41; exten =&#62; s,n,Playback&#40;/home/rtt233/asterisk_sounds/sound_tester_hello&#41; exten =&#62; s,n,Goto&#40;rtt233_easy_voicemail,s,1&#41; &#160; &#91;rtt233_easy_voicemail&#93; exten =&#62; s,1,Voicemail&#40;10@voicemail_rtt233, u&#41; exten =&#62; s,n,Hangup&#40;&#41;; ;voicemail will go the a extension if * [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<a href="http://robbietilton.com/voicemail-with-asterisk/asteriskdailplan-2/" rel="attachment wp-att-753"><img src="http://robbietilton.com/wp-content/uploads/2012/02/asteriskdailplan1-500x446.png" alt="" title="asterisk dailplan" width="500" height="446" class="aligncenter size-medium wp-image-753" /></a>
</div>
<div class="post_rightcol">
Setting up voicemail on Asterisk is surprisingly simple!  After I wrote the dialplan I was shocked it actually worked.  In my extensions.conf file I used the below commands:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>rtt233<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Wait<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Playback<span style="color: #009900;">&#40;</span><span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>rtt233<span style="color: #339933;">/</span>asterisk_sounds<span style="color: #339933;">/</span>sound_tester_hello<span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Goto<span style="color: #009900;">&#40;</span>rtt233_easy_voicemail<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#91;</span>rtt233_easy_voicemail<span style="color: #009900;">&#93;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>Voicemail<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span>@voicemail_rtt233<span style="color: #339933;">,</span> u<span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> s<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Hangup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">;</span>voicemail will go the a extension <span style="color: #b1b100;">if</span> <span style="color: #339933;">*</span> is hit during voicemail app
exten <span style="color: #339933;">=&gt;</span> a<span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span>VoiceMailMain<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">10</span>@voicemail_rtt233<span style="color: #009900;">&#41;</span>
exten <span style="color: #339933;">=&gt;</span> a<span style="color: #339933;">,</span>n<span style="color: #339933;">,</span>Hangup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In my voicemail.conf file I used the below commands:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>voicemail_rtt233<span style="color: #009900;">&#93;</span>
&nbsp;
<span style="color: #339933;">;</span>extension_number <span style="color: #339933;">=&gt;</span> voicemail_password<span style="color: #339933;">,</span>user_name<span style="color: #339933;">,</span>user_email_address<span style="color: #339933;">,</span>user_pager_email_address<span style="color: #339933;">,</span>user_option<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #0000dd;">10</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000dd;">10</span><span style="color: #339933;">,</span>Robbie Tilton<span style="color: #339933;">,</span>rtt233<span style="color: #339933;">,</span>rtilton1@gmail.<span style="color: #202020;">com</span><span style="color: #339933;">,,</span>attach<span style="color: #339933;">=</span>yes<span style="color: #339933;">|</span>serveremail<span style="color: #339933;">=</span>rtt233@nyu.<span style="color: #202020;">edu</span><span style="color: #339933;">|</span>tz<span style="color: #339933;">=</span>eastern<span style="color: #339933;">|</span>saycid<span style="color: #339933;">=</span>yes<span style="color: #339933;">|</span>callback<span style="color: #339933;">=</span>frmvm<span style="color: #009900;">&#125;</span>operator<span style="color: #339933;">=</span>no<span style="color: #009900;">&#125;</span>envelope<span style="color: #339933;">=</span>yes</pre></div></div>

<p>You&#8217;ll also notice that I called an audio file in the Playback() application noted in context rtt233.  This audio file was created using Audacity with the file settings: 8000Hz, mono, and 16-bit.  I exported this file as a .wav and uploaded it to my asterisk_sounds folder in which asterisk read it and converted it into a ULAW or GSM audio file.  With a compressor I could have also done this conversion on my own, but with small files this is not necessary.
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/voicemail-with-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chat Roulette &#8211; Webcam Hacking</title>
		<link>http://robbietilton.com/chat-roulette-webcam-hacking/</link>
		<comments>http://robbietilton.com/chat-roulette-webcam-hacking/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 14:28:10 +0000</pubDate>
		<dc:creator>rtilton1</dc:creator>
				<category><![CDATA[Appropriation]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[openFrameworks]]></category>

		<guid isPermaLink="false">http://robbietilton.com/?p=741</guid>
		<description><![CDATA[In Kyle McDonalds appropriating new technologies class we were asked to use face tracking to mess with chat roulette webcam streams. For my project I create a Jack Nickleson mask that overlays on top of any face recognized by the webcam. I&#8217;m using the openCV HaarFinder openFrameworks library to calculate the face tracking and am [...]]]></description>
			<content:encoded><![CDATA[<div class="post_leftcol">
<object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=36120766&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=36120766&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object>
</div>
<div class="post_rightcol">
In Kyle McDonalds appropriating new technologies class we were asked to use face tracking to mess with chat roulette webcam streams.  For my project I create a Jack Nickleson mask that overlays on top of any face recognized by the webcam. I&#8217;m using the openCV HaarFinder openFrameworks library to calculate the face tracking and am using CamTwist to insert my application into my webcam stream.  In order to capture the users webcam video and perform the face tracking and mask addition I used code zach Liebermans posted that allows for the oF app window to read whatever is underneath it.  The orginal source can be found here: <a href="http://forum.openframeworks.cc/index.php/topic,2946.0.html">http://forum.openframeworks.cc/index.php/topic,2946.0.html</a></p>
<p>It was a lot of fun to see a product of mine out in the wild with real-time video, audio, and text.  People in groups often had a stronger reaction to the masked face than individuals alone.  In the future I&#8217;d like to come up with a stronger conceptual concept to work with this technology.</p>
<p>I&#8217;m not going to share all my code on this post, but you can find it on my Gitub if you want to download it: <a href="https://github.com/rtilton1/AppropriatingNewTechnologies">https://github.com/rtilton1/AppropriatingNewTechnologies</a>.  Below is the core of the app in my draw loop.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">    imageCopy.<span style="color: #202020;">draw</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">int</span> i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> finder.<span style="color: #202020;">blobs</span>.<span style="color: #202020;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        ofPushStyle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ofFill<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">//make color fill</span>
        <span style="color: #666666; font-style: italic;">//ofSetColor(255, 0, 0);//make red</span>
        face.<span style="color: #202020;">draw</span><span style="color: #009900;">&#40;</span>finder.<span style="color: #202020;">blobs</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #202020;">boundingRect</span>.<span style="color: #202020;">x</span><span style="color: #339933;">-</span><span style="color: #0000dd;">13</span><span style="color: #339933;">,</span> finder.<span style="color: #202020;">blobs</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #202020;">boundingRect</span>.<span style="color: #202020;">y</span><span style="color: #339933;">-</span><span style="color: #0000dd;">23</span><span style="color: #339933;">,</span> finder.<span style="color: #202020;">blobs</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #202020;">boundingRect</span>.<span style="color: #202020;">width</span><span style="color: #339933;">+</span><span style="color: #0000dd;">35</span><span style="color: #339933;">,</span> finder.<span style="color: #202020;">blobs</span><span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #202020;">boundingRect</span>.<span style="color: #202020;">height</span><span style="color: #339933;">+</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//ofRect(finder.blobs[i].boundingRect);</span>
        ofPopStyle<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://robbietilton.com/chat-roulette-webcam-hacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

