<?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>Aaron Baer - Connect the Dots</title>
	<atom:link href="http://aaron.slyness.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://aaron.slyness.org</link>
	<description>It&#039;s no BlockOLand</description>
	<lastBuildDate>Wed, 23 Dec 2009 22:33:05 +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>First Fishing Trip</title>
		<link>http://aaron.slyness.org/2009/12/23/first-fishing-trip/</link>
		<comments>http://aaron.slyness.org/2009/12/23/first-fishing-trip/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 22:31:11 +0000</pubDate>
		<dc:creator>Aaron Baer</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Self]]></category>
		<category><![CDATA[World]]></category>
		<category><![CDATA[fishing]]></category>
		<category><![CDATA[Lavi]]></category>
		<category><![CDATA[outdoors]]></category>
		<category><![CDATA[Vacation]]></category>

		<guid isPermaLink="false">http://aaron.slyness.org/?p=368</guid>
		<description><![CDATA[Out with Poppop Kirk for Lavi&#8217;s first fishing trip. First time on a boat and first time with a pole in the water. Such a fun time!

]]></description>
			<content:encoded><![CDATA[<p>Out with Poppop Kirk for Lavi&#8217;s first fishing trip. First time on a boat and first time with a pole in the water. Such a fun time!</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/p0v0W-xCA4g&#038;hl=en_US&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/p0v0W-xCA4g&#038;hl=en_US&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron.slyness.org/2009/12/23/first-fishing-trip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keep it simple</title>
		<link>http://aaron.slyness.org/2009/12/06/keep-it-simple/</link>
		<comments>http://aaron.slyness.org/2009/12/06/keep-it-simple/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 06:33:42 +0000</pubDate>
		<dc:creator>Aaron Baer</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[KISS]]></category>
		<category><![CDATA[slyness]]></category>
		<category><![CDATA[VOIP]]></category>

		<guid isPermaLink="false">http://aaron.slyness.org/2009/12/06/keep-it-simple/</guid>
		<description><![CDATA[Sometimes making things more complicated than they need to be because it sounds awesome is really fun. However, when it really comes down to it simplifying things is the way to go.
]]></description>
			<content:encoded><![CDATA[<p>Sometimes making things more complicated than they need to be because it sounds awesome is really fun. However, when it really comes down to it simplifying things is the way to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron.slyness.org/2009/12/06/keep-it-simple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding voice with Asterisk, Gizmo, and Google Voice</title>
		<link>http://aaron.slyness.org/2009/11/06/finding-voice-with-asterisk-gizmo-and-google-voice/</link>
		<comments>http://aaron.slyness.org/2009/11/06/finding-voice-with-asterisk-gizmo-and-google-voice/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 01:03:29 +0000</pubDate>
		<dc:creator>Aaron Baer</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Self]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Gizmo]]></category>
		<category><![CDATA[Google Voice]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[slyness]]></category>
		<category><![CDATA[VOIP]]></category>

		<guid isPermaLink="false">http://aaron.slyness.org/?p=314</guid>
		<description><![CDATA[After my monthly billing for my Internet and Phone service rose $25 dollars in one month, sending my fees for Internet and phone from $75 to $98,  I decided that it was time to buckle down and work on something that I had been thinking about for a long time. Zero dollar per year phone [...]]]></description>
			<content:encoded><![CDATA[<p><span style="background-color: #ffffff;">After my monthly billing for my Internet and Phone service rose $25 dollars in one month, sending my fees for Internet and phone from $75 to $98,  I decided that it was time to buckle down and work on something that I had been thinking about for a long time. Zero dollar per year phone service including long distance. The goal was building a highly functioning personal VOIP environment to entirely replace my traditional land line phone service and include complete integration with Google Voice. My monthly fees were pulled back down to a more manageable $60 dollars for Internet and a purely basic local only phone line with no frills because the bundled package was still cheaper than just Internet. More for less go figure. My phone feature frills are handled elsewhere now. </span></p>
<p><span style="background-color: #ffffff;">What I&#8217;ve ended up with is <a title="Asterisk" href="http://www.asterisk.org" target="_blank">Asterisk</a> configured as my PBX, all extensions are currently SIP VOIP users, with registered trunks to <a title="Gizmo5" href="http://www.gizmo5.com" target="_blank">Gizmo5</a> for each <a title="Google Voice" href="http://www.google.com/voice" target="_blank">Google Voice</a> account I want to integrate. Google Voice dialing can be done straight from the client/phone which means there is no need to initiate the call manually from the Google Voice webpage. I just assign a unique extension per account and within the dial plan  call the script  gvoice  provided by <a title="pygooglevoice" href="http://code.google.com/p/pygooglevoice/" target="_blank">pygooglevoice</a> using <a title="System()" href="http://www.voip-info.org/wiki/view/Asterisk+cmd+System" target="_blank">System()</a> to complete the call. More details on that later.</span></p>
<p><span style="background-color: #ffffff;">Inspired by an article I read <a title="Nerd Vittles - Tweaking Asterisk for Free Google Voice Calling" href="http://nerdvittles.com/?p=635" target="_blank">here</a> there was enough detail to get things started. There are many limitations to the details described in that article but I&#8217;ve been able to work through most of them over the past week and I think I&#8217;ve made some excellent improvements. Two things that I was able to improve on are your outgoing calls do not depend on Gizmo&#8217;s 3 minutes free/outgoing minutes charges and dialing directly from the web is no longer high jacked by a potentially non-existent parked line on incoming calls from your Google account. </span></p>
<p>I will make the assumption here that you already have Asterisk installed, you&#8217;ve configured pygooglevoice to be usable on the asterisk server and that you have a Google Voice <a title="Request an account" href="https://services.google.com/fb/forms/googlevoiceinvite/" target="_blank">account</a>. There are many other posts out there on the Internet that cover getting asterisk up and running. When I began to install my asterisk environment I tried to use <a title="FreePBX" href="http://www.freepbx.org/" target="_blank">FreePBX</a> but really felt as though it was in my way. I could never get things working using it. I&#8217;m sure that it has it&#8217;s place and works well, most other posts about configuring asterisk and out of the box Linux PBX distributions use it, but it was not working for me. Not understanding yet what it took to make asterisk work probably was the main issue with not being able to use it. Instead I just wrote the config files for asterisk manually. The two most important configuration files in this discussion are extensions.conf (where the dial plans and dirty stuff goes on) and sip.conf (user accounts, SIP registrations and sip configuration).</p>
<h3>My Goals</h3>
<ul>
<li>Make calls between extensions</li>
<li>Have calls from multiple Google Voice phone numbers ring to desired extensions</li>
<li>Dial regular phone numbers from phones to provide unlimited call out support (no fees)</li>
</ul>
<h3><span style="background-color: #ffffff;">Basic Asterisk Configuration</span></h3>
<p><span style="background-color: #ffffff;">There are two important configurations to get asterisk off the ground. User accounts for SIP users and Dial plans defined for system extensions. The first is created in the file <a title="sip.conf" href="http://www.voip-info.org/wiki/view/Asterisk+config+sip.conf" target="_blank">sip.conf</a> and the later in <a title="extensions.conf" href="http://www.voip-info.org/wiki/view/Asterisk+config+extensions.conf" target="_blank">extensions.conf</a>.  Things to keep in mind here that come in handy later are setting useful context and defining your user sections [phone1], [GizmoUser1] etc.. </span></p>
<p><span style="background-color: #ffffff;">Let&#8217;s set up the basics. Two sip accounts and extensions to allow them to be dialed.</span></p>
<p><span style="background-color: #ffffff;">sip.conf</span></p>
<pre><span style="background-color: #ffffff;">[1111]
type=friend
context=from-internal
host=dynamic
secret=URPASSWORD
callerid=User1 &lt;1111&gt;
canreinvite=yes
dtmfmode=auto
disallow=all
allow=ulaw
;allow=ilbc
callingpres=allowed_passed_screen

[2222]
type=friend
context=from-internal
nat=yes
host=dynamic
secret=URPASSWORD
callerid=User2 &lt;2222&gt;
canreinvite=yes
dtmfmode=auto
disallow=all
allow=ulaw
;allow=ilbc
callingpres=allowed_passed_screen</span></pre>
<p><span style="background-color: #ffffff;"> </span></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[1111]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">type=friend</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">context=from-internal</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">host=dynamic</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">secret=URPASSWORD</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">callerid=User1 &lt;1111&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">canreinvite=yes</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">dtmfmode=auto</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">disallow=all</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">allow=ulaw</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">;allow=ilbc</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">callingpres=allowed_passed_screen</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">[2222]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">type=friend</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">context=from-internal</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">nat=yes</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">host=dynamic</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">secret=URPASSWORD</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">callerid=User2 &lt;2222&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">canreinvite=yes</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">dtmfmode=auto</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">disallow=all</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">allow=ulaw</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">;allow=ilbc</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 241px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">callingpres=allowed_passed_screen</div>
<p><span style="background-color: #ffffff;">extension.conf &#8211; notice that above we defined these accounts within the context=from-internal so extensions must be associated with that context.</span></p>
<pre>[from-internal]

exten =&gt; 1111,1,Dial(SIP/1111,120,t)
exten =&gt; 1111,n,Macro(fastbusy)

exten =&gt; 2222,1,Dial(SIP/2222,120,t)
exten =&gt; 2222,n,Macro(fastbusy)</pre>
<h3>Hooking up to Gizmo</h3>
<p><span style="background-color: #ffffff;">Next we define how we&#8217;re are going to go about communicating with Gizmo5 (sipphone.com). This happens in sip.conf in two places.</span></p>
<p><span style="background-color: #ffffff;">First we register with the network. The key here is that if you have multiple accounts that you are registering make sure to define their context with /CONTEXT at the end of the register entry. This allows you to uniquely identify incoming calls from the separate accounts later in extensions.conf.</span></p>
<pre><span style="background-color: #ffffff;">register =&gt; 1747XXXXXXX:PASSWORD@proxy01.sipphone.com/GizmoAct1
register =&gt; 1747XXXXXXX:PASSWORD@proxy01.sipphone.com/GizmoAct2</span></pre>
<p>Next we define a sip user for each account. Again notice here the context is set as from-google this is important for all incoming calls coming from these accounts when we configure the dial plans.</p>
<p>It would make sense here to name them in a way that tie to the register entries. i.e. GizmoUser1 &lt;-&gt; GizmoAct1</p>
<pre>[GizmoUser1]
type=friend
context=from-google
disallow=all
allow=ulaw
;allow=ilbc
dtmfmode=rfc2833
host=proxy01.sipphone.com
fromdomain=proxy01.sipphone.com
insecure=port,invite
;qualify=yes
fromuser=1747XXXXXXX
authuser=1747XXXXXXX
username=1747XXXXXXX
secret=PASSWORD
canreinvite=yes

[GizmoUser2]
type=friend
context=from-google
disallow=all
allow=ulaw
;allow=ilbc
dtmfmode=rfc2833
host=proxy01.sipphone.com
fromdomain=proxy01.sipphone.com
insecure=port,invite
;qualify=yes
fromuser=1747XXXXXXX
authuser=1747XXXXXXX
username=1747XXXXXXX
secret=PASSWORD
canreinvite=yes</pre>
<h3>Dial Plans for Google Voice fancy pants</h3>
<p>Alright back to extensions.conf,  here are the good bits in my opinion.</p>
<p>Set some global variables for the various accounts, some bits and pieces regarding where you&#8217;re going to park calls while the gvoice script goes and does it&#8217;s thing, account information so it&#8217;s easily reused and anything else that seems exciting.</p>
<pre>[globals]

; LOCAL CONFIGURATION

MYGOO-ACCTNAME=mygoogle@gmail.com
MYGOO-ACCTPASS=PASSWORD
MYGOO-GVNUM=
MYGOO-RINGBACK=1747XXXXXXX     ; Gizmo DID
MYGOO-ISPARK=0
MYGOO-CALLPARK=705

OTHERGOO-ACCTNAME=othergoogle@gmail.com
OTHERGOO-ACCTPASS=PASSWORD
OTHERGOO-GVNUM=
OTHERGOO-RINGBACK=1747XXXXXXX
OTHERGOO-ISPARK=0
OTHERGOO-CALLPARK=706</pre>
<p><span style="background-color: #ffffff; ">Create a unique dial extension for your accounts so that the outgoing is associated with the right Google Voice account. </span></p>
<pre>[GizmoAct1-google-out]
exten =&gt; _8.,1,Dial(local/${EXTEN:1}@GizmoAct1-google-voice,300)

[GizmoAct2-google-out]
exten =&gt; _9.,1,Dial(local/${EXTEN:1}@GizmoAct2-google-voice,300)</pre>
<p>Define what happens when the call is made.  Here we initiate the call to @GizmoAct1-google-voice, play back a message, poke Google Voice using the gvoice script to us call back and park the call.  I set a global variable here, ISPARK, to indicate that this call was generated from my SIP client and parked. This helps fix an issue with the other dial plan examples that I found where the ability to initiate calls from the web would break and treat every incoming call from Google Voice the same and try to attach it to an existing parked call even if that parked call did not exist. You see later that I check for the ISPARK flag.</p>
<pre>[GizmoAct1-google-voice]
exten =&gt; _X.,1,Wait(5)
exten =&gt; _X.,n,Playback(wait-moment)
exten =&gt; _X.,n,System(gvoice -e ${MYGOO-ACCTNAME} -p ${MYGOO-ACCTPASS} call ${EXTEN} ${MYGOO-RINGBACK})
exten =&gt; _X.,n,Set(GLOBAL(MYGOO-ISPARK)=1)
exten =&gt; _X.,n,Set(PARKINGEXTEN=${MYGOO-CALLPARK})
exten =&gt; _X.,n,Park()
exten =&gt; _X.,n,Hangup</pre>
<pre>[GizmoAct2-google-voice]
exten =&gt; _X.,1,Wait(5)
exten =&gt; _X.,n,Playback(wait-moment)
exten =&gt; _X.,n,System(gvoice -e ${OTHERGOO-ACCTNAME} -p ${OTHERGOO-ACCTPASS} call ${EXTEN} ${OTHERGOO-RINGBACK})
exten =&gt; _X.,n,Set(GLOBAL(OTHERGOO-ISPARK)=1)
exten =&gt; _X.,n,Set(PARKINGEXTEN=${OTHERGOO-CALLPARK})
exten =&gt; _X.,n,Park()
exten =&gt; _X.,n,Hangup</pre>
<p>Once that happens and your original call is parked you should hear the wonderful hold music you configured for your asterisk environment. gvoice has fired, logs into Google Voice and has initiated the call back to your Gizmo DID which immediately comes back into your own PBX. Otherwise, someone has called your Google Voice number and you are receiving the incoming call or you&#8217;ve started a call from the web. So we have to figure out what to do with the incoming call. These calls come in via the from-google context.</p>
<pre>[from-google]
include =&gt; from-internal

exten =&gt; GizmoAct1,1,Wait(1)
exten =&gt; GizmoAct1,n,Set(GVNUM=${MYGOO-GVNUM})
exten =&gt; GizmoAct1,n,NoOp(**CALLERID: ${CALLERID(number)})
; does the call come from our Google voice caller id and is there a parked call 

*** line breaks here for blog readability ***
exten =&gt; GizmoAct1,n,
GotoIf($[$["${CALLERID(number)}"="${MYGOO-GVNUM}"]
&amp; $["${MYGOO-ISPARK}" = "1"]]?gopark:direct)
*** line breaks here for blog readability ***

exten =&gt; GizmoAct1,n(gopark),Set(GLOBAL(MYGOO-ISPARK)=0)
exten =&gt; GizmoAct1,n(gopark),ParkedCall(${MYGOO-CALLPARK})
; otherwise it's a direct call.
exten =&gt; GizmoAct1,n(direct),Dial(SIP/2222,120,t)
exten =&gt; GizmoAct1,n(direct),Goto(GizmoAct1-next-${DIALSTATUS},1)
 ; first line is unavailable try the next extension
exten =&gt; GizmoAct1-next-CHANUNAVAIL,1,Dial(SIP/2222,120,t)
exten =&gt; GizmoAct1-next-.,n,NoOp

exten =&gt; GizmoAct2,1,Wait(1)
exten =&gt; GizmoAct2,n,Set(GVNUM=${OTHERGOO-GVNUM})
exten =&gt; GizmoAct2,n,NoOp(**CALLERID: ${CALLERID(number)})

*** line breaks here for blog readability ***
exten =&gt; GizmoAct2,n,
GotoIf($[$["${CALLERID(number)}"="${OTHERGOO-GVNUM}"]
&amp; $["${OTHERGOO-ISPARK}" = "1"]]?gopark:direct)
*** line breaks here for blog readability ***

exten =&gt; GizmoAct2,n(gopark),Set(GLOBAL(OTHERGOO-ISPARK)=0)
exten =&gt; GizmoAct2,n(gopark),ParkedCall(${OTHERGOO-CALLPARK})
exten =&gt; GizmoAct2,n(direct),Dial(SIP/1111,120,t)</pre>
<p>And there you have it.</p>
<p>Here are full examples of <a title="sip.conf" href="http://aaron.slyness.org/grab/sip.conf.txt">sip.conf</a> and <a title="extensions.conf" href="http://aaron.slyness.org/grab/extensions.conf.txt">extensions.conf</a> which should pull it all together.</p>
<p>You&#8217;ll notice there is a dial plan and extension in there called GizmoAct1-land-google-callback which is an example of dialing a phone number from a SIP extension that rings back to an existing land line outside of your asterisk network. This allows for an existing phone line to be included  into your  PBX without having to configure it as a zap device. When you read the configuration it should make sense and it works well, dial from SIP line and walk away, rings back to land line which you answer and the call connects, SIP line hangs itself up.</p>
<p>rinse, repeat, serve hot with a double shot of espresso.</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron.slyness.org/2009/11/06/finding-voice-with-asterisk-gizmo-and-google-voice/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook Chat Scam</title>
		<link>http://aaron.slyness.org/2009/08/19/facebook-chat-scam/</link>
		<comments>http://aaron.slyness.org/2009/08/19/facebook-chat-scam/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 23:33:17 +0000</pubDate>
		<dc:creator>Aaron Baer</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[World]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hilarious]]></category>
		<category><![CDATA[scam]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://aaron.slyness.org/?p=260</guid>
		<description><![CDATA[Today there was a post on Facebook Security &#8217;s Notes page titled Inside a Hacker Chat  which is something that actually happened to me one night back in June.  Fortunately I was also able to determine right away that the person at the other keyboard pretending to be my friend Rick was not in fact Rick [...]]]></description>
			<content:encoded><![CDATA[<p>Today there was a post on Facebook Security &#8217;s Notes page titled <a title="Inside a Hacker Chat" href="http://www.facebook.com/note.php?note_id=96651525765" target="_blank">Inside a Hacker Chat </a> which is something that actually happened to me one night back in June.  Fortunately I was also able to determine right away that the person at the other keyboard pretending to be my friend Rick was not in fact Rick but some poor spelling wad of goof trying to scam me out of my hard earned money.  I thought I would share the transcript here for everyone&#8217;s enjoyment and as another example of how these things work in case it ever happens to you. It&#8217;s applicable not only in Facebook chat but honestly in any conversation you might be having online.</p>
<p>My advice:</p>
<p>If it seems strange right off the bat it probably is.</p>
<p>There are often very simple ways to determine if the other person is who they say they are. Think of a few and casually use them.  Identify something that both parties would have no problem acknowledging within moments of posing the question.  Find another method of communication they should obviously have access to and have them contact you that way, eg. private email outside of Facebook or a phone call.</p>
<p>As you can see from the transcript below it was pretty easy for me to tell this guys was a dolt and definitely not Rick. <span style="background-color: #ffffff;">Interestingly, both myself and the person in the example on Facebook&#8217;s post attempted to make direct voice contact with the person. Makes sense.. right???</span></p>
<p>And report the abuse.. I emailed Rick immediately including the chat logs and called him first thing in the morning. He, of course, was not in London and was unaware that anyone had gained access to his account. He reported it to Facebook who according to Rick were very helpful and followed through right away.</p>
<p><span style="background-color: #ffffff;">This doesn&#8217;t include the last 10 or 20 minutes of our entertaining chat unfortunately because I really did have fun with the person. I was amazed at how long they kept it up. They kept it up for almost an hour.  Some parts that they almost got right.. When I asked what public library they were chatting from they gave me the name of a real library. Where they failed.. after a quick web search I was able to find the phone number, a map of the surrounding area and operating hours of the place then after determining the difference between my time zone and London&#8217;s&#8230;. the library wasn&#8217;t even open.. Comments like &#8221; seriously,  I&#8217;m sure they&#8217;ll let you use the phone..&#8221; &#8220;I&#8217;m ringing the desk now..&#8221; &#8220;I would love to send you the money&#8230;&#8221; and other very helpful words in which I was obviously calling them out on their game they still kept it up..</span></p>
<p><span style="background-color: #ffffff;">That was until my final comment (which makes me wish I could actually  access chat logs from Facebook chat (come on Facebook!) &#8230; which was along the lines of &#8220;I find this very entertaining.. I could keep this up all night.&#8221; .. after that comment the chat went dead. </span></p>
<p><span style="background-color: #ffffff;">The following happened in June of 2009</span></p>
<p>11:37pm Rick<br />
Hey Aaron</p>
<p>11:37pm Aaron<br />
heya!<br />
how&#8217;s it going?</p>
<p>11:39pm Rick<br />
Not too good<br />
Am in a deep shit right now<br />
Am in a deep shit right now</p>
<p>11:39pm Aaron<br />
how come?</p>
<p>11:39pm Rick<br />
I Was mugged at gun point in london lastnight<br />
Those muggers took everything on me</p>
<p>11:39pm Aaron<br />
what?? that&#8217;s just terrible.</p>
<p>11:39pm Rick<br />
My wallet bank card and cellphone</p>
<p>11:40pm Aaron<br />
crap. that sucks. you&#8217;re alright though?<br />
no physical injuries?</p>
<p>11:40pm Rick<br />
Not at all</p>
<p>11:40pm Aaron<br />
good.<br />
are you there on business?</p>
<p>11:40pm Rick<br />
Am stuck here at the moment and i need help with flying back home</p>
<p>11:42pm Rick<br />
I Need your help</p>
<p>11:42pm Aaron<br />
what sort of help can I be?</p>
<p>11:42pm Rick<br />
I Want you to help me with my flight ticket back home</p>
<p>11:44pm Rick<br />
i have a flight that leaves in two hours later in the day<br />
I Need $850 to complete my flight ticket back home<br />
Loan me the money i would refund it back to you as soon as am back home</p>
<p>11:45pm Aaron<br />
seems like a strange request there rick. why don&#8217;t i stop by your house tomorrow and see what I can do.</p>
<p>11:46pm Rick<br />
i have a flight to catch up with in three hours time</p>
<p>11:46pm Aaron<br />
by the way. do you remember the person I served on the board of directors with? I just can&#8217;t remember his name.</p>
<p>11:47pm Rick<br />
Why are you being paranoid Aaron<br />
i know you are teasing me right now</p>
<p>11:48pm Aaron<br />
you&#8217;d answer the question pretty straight forwardly.</p>
<p>11:50pm Rick<br />
but you know am freaked out right now<br />
am stunned at you man</p>
<p>11:51pm Aaron<br />
so stunned you really don&#8217;t sound like rick at all.<br />
especially asking for money. and not able to answer a quick simple question over the internet.<br />
so .. like.. rick.. i have love for.. this.. seems very strange to be rick.<br />
so i&#8217;m skeptical.</p>
<p>11:52pm Rick<br />
All i care about is leaving this place right now</p>
<p>11:52pm Aaron<br />
i&#8217;m sure.</p>
<p>11:52pm Rick<br />
Aaron hold on<br />
Let me explain somethings to you<br />
If you eventually wire money to me you know you would do that to my name<br />
if am not rick ****** you have to know that no other person can pick money up on my identity<br />
Its not possible<br />
Cos i have to pick the money up with my own international passport<br />
My identity<br />
So i would be pretty sure if you are ready to help me with my explanation to you right now<br />
are you there</p>
<p>11:58pm Aaron<br />
rick knows how to spell pretty well.</p>
<p>11:58pm Rick<br />
am freaked out here man<br />
am in a public library</p>
<p>11:59pm Aaron<br />
you said that. you also are not rick. send me an email from your private email address since you obviously have an internet connection.<br />
Today</p>
<p>12:00am Rick<br />
i said if am not rick i won&#8217;t be able to pick money up if you wire it to me<br />
without rick identity</p>
<p>12:01am Aaron<br />
so you should just log out now and leave this account alone. I have alerted those who should now be able to trace your network connection. i&#8217;ll send the london police. i&#8217;m sure they&#8217;ll help you track down some help.</p>
<p>12:02am Aaron<br />
I&#8217;ll call you in the morning Rick.</p>
]]></content:encoded>
			<wfw:commentRss>http://aaron.slyness.org/2009/08/19/facebook-chat-scam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dinosaurs rock the Birthday</title>
		<link>http://aaron.slyness.org/2009/08/17/dinosaurs-rock-the-birthday/</link>
		<comments>http://aaron.slyness.org/2009/08/17/dinosaurs-rock-the-birthday/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 21:02:53 +0000</pubDate>
		<dc:creator>Aaron Baer</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Self]]></category>

		<guid isPermaLink="false">http://aaron.slyness.org/?p=257</guid>
		<description><![CDATA[Fun was had by one and all at Holden&#8217;s 4th Brithday Party this weekend. Thanks to Brian and Andrea for hosting a prehistoric party!




]]></description>
			<content:encoded><![CDATA[<p>Fun was had by one and all at Holden&#8217;s 4th Brithday Party this weekend. Thanks to Brian and Andrea for hosting a prehistoric party!<br />
<br />
<center><br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/1k2uiV6oh_w&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1k2uiV6oh_w&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://aaron.slyness.org/2009/08/17/dinosaurs-rock-the-birthday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
