<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>dominic eidson: Tag dialers</title>
    <link>http://www.dominiceidson.com/blog/articles/tag/dialers</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Using Asterisk to screen political phone calls</title>
      <description>&lt;p&gt;This entry might find a lot of you swimming in the deep end of the geek pool - it&amp;#8217;ll use terms you haven&amp;#8217;t heard before, and concepts that may be foreign to a lot of you.&lt;/p&gt;

&lt;p&gt;But here we go anyway:&lt;/p&gt;

&lt;p&gt;Yesterday, while listening to my home phone ring for the Nth time that day with yet another judge advocating I vote for someone else, I came up with a simple, yet very functional method of filtering out machine-generated phone calls.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s rather simple, actually. As soon as the phone rings, answer, and play back a message prompting the caller to do something (generally, press a button.) In response to this &amp;#8220;something&amp;#8221; the caller is then connected through to let my actual phone ring.&lt;/p&gt;

&lt;p&gt;Failing a response, the caller is hung up on after a predetermined number of seconds.&lt;/p&gt;

&lt;p&gt;This is all rather simple if you have already played with the opensource PBX system &lt;a href="http://www.asterisk-pbx.com/"&gt;Asterisk&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;Edit the incoming context for your &lt;a href="http://www.broadvoice.com/"&gt;VoIP provider&lt;/a&gt;&amp;#8217;s SIP/IAX connection, and drop in the following snippet of magic:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[incoming]
exten =&amp;gt; _X.,1,NoOp(Incoming Call from ${CALLERID} for ${EXTEN}@${SIPDOMAIN})
exten =&amp;gt; _X.,2,Answer()
exten =&amp;gt; _X.,3,Wait(1)
exten =&amp;gt; _X.,4,Playback(continue-english-press)
exten =&amp;gt; _X.,5,Playback(digits/1)
exten =&amp;gt; _X.,6,WaitExten(10)

exten =&amp;gt; 1,1,Goto(default|inbound|1) //or do whatever you want to "continue"

exten =&amp;gt; t,1,Playback(i-grow-bored)
exten =&amp;gt; t,2,Hangup()

exten =&amp;gt; i,1,Playback(invalid)
exten =&amp;gt; i,2,Wait(1)
exten =&amp;gt; i,3,Hangup()
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I see some of your eyes have glazed over - I understand, and apologise for the level of uber-geekery. On the other hand, I did want to get this information out there for others to enjoy the next 8 months. :)&lt;/p&gt;</description>
      <pubDate>Thu, 28 Feb 2008 09:31:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4da24990-1dbd-4ed3-b4c9-41a983e65a9e</guid>
      <author>Dominic</author>
      <link>http://www.dominiceidson.com/blog/articles/2008/02/28/using-asterisk-to-screen-political-phone-calls</link>
      <category>Meta-internet</category>
      <category>asterisk</category>
      <category>screen</category>
      <category>phone</category>
      <category>calls</category>
      <category>politics</category>
      <category>unsoliticed</category>
      <category>auto</category>
      <category>dialers</category>
      <trackback:ping>http://www.dominiceidson.com/blog/articles/trackback/89</trackback:ping>
    </item>
  </channel>
</rss>

