<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2886787793708759755</id><updated>2012-01-27T09:03:39.865-06:00</updated><title type='text'>Mario's adventures in geekery</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-2238672249034923924</id><published>2011-12-01T14:00:00.000-06:00</published><updated>2011-12-01T14:10:10.614-06:00</updated><title type='text'>Garmin Forerunner 405 and Ubuntu 11.10</title><content type='html'>Recently I purchased my first Garmin running watch from Amazon. &amp;nbsp;I decided to go with one from the &lt;a href="http://www.amazon.com/gp/product/B0011UK35K/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=supmarworblo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=B0011UK35K"&gt;Forerunner 405 family&lt;/a&gt; as I preferred the style, size and features compared to the others I came across.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=supmarworblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=B0025UHKNS" style="height: 240px; width: 120px;"&gt;&lt;/iframe&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=supmarworblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=B0011UK35K" style="height: 240px; text-align: right; width: 120px;"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;At home I only have Ubuntu machines, but I still want access to all of my running data from the watch. &amp;nbsp;The older Garmin watches connected over USB to transfer data, but these newer ones use something called &lt;a href="http://en.wikipedia.org/wiki/ANT%2B"&gt;ANT+&lt;/a&gt;&amp;nbsp;to communicate with other wireless peripherals and to transfer data to computers.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The watch came with a USB dongle. &amp;nbsp;Unfortunately, Ubuntu 11.10's kernel doesn't have any drivers that automatically load when plugging it in. &amp;nbsp;After searching a little bit, I discovered that the &lt;i&gt;usbserial&lt;/i&gt;&amp;nbsp;module can be loaded using custom vendor and product ID's.&lt;br /&gt;&lt;br /&gt;To do this, you can check &lt;i&gt;lsusb&lt;/i&gt; to find the dongle. &amp;nbsp;Dynastream is the subsidiary of Garmin that owns the proprietary ANT+ technology.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# lsusb | grep Dynastream&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Bus 001 Device 015: ID 0fcf:1008 Dynastream Innovations, Inc.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now that you have the vendor and product ID, you can manually load the &lt;i&gt;usbserial&lt;/i&gt; module.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# sudo modprobe usbserial vendor=0x0fcf product=0x1008&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will create a new /dev/ttyUSBx device on the system. &amp;nbsp;I only have one /dev/ttyUSB0, so t he rest of this assumes that's the same for you. &amp;nbsp;Next I found out that there is actually an app in the archive for fetching this data, it's just very poorly documented. &amp;nbsp;You can install it from the&amp;nbsp;&lt;a href="apt:garmin-ant-downloader"&gt;Ubuntu Software Center&lt;/a&gt;&amp;nbsp;or manually install it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# sudo apt-get install garmin-ant-downloader&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once installed, you have to wake up the watch, and get it in pairing mode. &amp;nbsp;For me this meant messing around with the bezzle until I could find the pairing menu and enable pairing. &amp;nbsp;Once pairing is on, it's just a matter of running the app manually once&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# garmin-ant-downloader&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The watch should say pairing worked properly. &amp;nbsp;Now go back to the training menu, and reset your run using the quit button so that the timer is back at zero. &amp;nbsp;This tells the watch that it's ready to send the data that it recorded before. &amp;nbsp;Put it in date/time mode. &amp;nbsp;It's OK if it falls asleep, ANT+ works either way. &amp;nbsp;Rerun the tool and it should place a tcx file for your run in the current working directory.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# garmin-ant-downloader&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The tcx file that it spits out is complete, but in it's current form won't upload to &lt;a href="http://connect.garmin.com/"&gt;http://connect.garmin.com&lt;/a&gt;. &amp;nbsp;Because of an empty name field. &amp;nbsp;This can be fixed with a simple &lt;i&gt;sed&lt;/i&gt; command however.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;textarea cols="19" name="textarea" onfocus="this.select();" style="height: 35px; width: 375px;"&gt; # sed -i 's,&amp;lt;Name&amp;gt;&amp;lt;/Name&amp;gt;,&amp;lt;Name&amp;gt;405&amp;lt;/Name&amp;gt;,' $FILE &lt;/textarea&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So for me this is enough to at least get my runs recorded and data somewhere I can manage with Ubuntu 11.10 without too much pain. &amp;nbsp;On the TODO:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Find a way to automatically load &lt;i&gt;usbserial&lt;/i&gt; when this vid/pid shows up. &amp;nbsp;It doesn't seem to have any modaliases defined, so this might be troublesome and just require a udev rule. &amp;nbsp;Any suggestions here would be helpful.&lt;/li&gt;&lt;li&gt;Figure out why the Name field isn't populated properly when downloading data&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-2238672249034923924?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/2238672249034923924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2011/12/garmin-forerunner-405-and-ubuntu-1110.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/2238672249034923924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/2238672249034923924'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2011/12/garmin-forerunner-405-and-ubuntu-1110.html' title='Garmin Forerunner 405 and Ubuntu 11.10'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-3250178543120226646</id><published>2011-02-22T07:35:00.000-06:00</published><updated>2011-02-22T07:35:34.951-06:00</updated><title type='text'>Updated packages for backfire</title><content type='html'>Recently an evolution of the Asterisk 1.8.x build that I submitted a ticket for at OpenWRT SVN has been accepted to OpenWRT trunk.&lt;br /&gt;&lt;br /&gt;I've since then decided to recover my build environment and rebuild 1.8.2.3 using what landed upstream in trunk for backfire on ar71xx and brcm2.4. &amp;nbsp;I've also included the WIP patch for invisible support from&amp;nbsp;&lt;a href="http://www.personal.psu.edu/wcs131/blogs/psuvoip/2011/01/asterisk_hack_make_your_google.html"&gt;http://www.personal.psu.edu/wcs131/blogs/psuvoip/2011/01/asterisk_hack_make_your_google.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note, invisible support is shared across clients because it's a proprietary google extension to Jabber. &amp;nbsp;If you set it on Asterisk, you still won't be able to be shown as visible from a regular client like GTalk for Android or Chat in GMail.&lt;br /&gt;&lt;br /&gt;I'll try to keep an eye on&amp;nbsp;https://issues.asterisk.org/view.php?id=18727 to see when it's properly included so that I'll switch to the patch upstream instead though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-3250178543120226646?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/3250178543120226646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2011/02/updated-packages-for-backfire.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/3250178543120226646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/3250178543120226646'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2011/02/updated-packages-for-backfire.html' title='Updated packages for backfire'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-4427199226208856570</id><published>2010-12-09T22:57:00.000-06:00</published><updated>2010-12-09T22:57:30.085-06:00</updated><title type='text'>Outbound Google Voice dialing "proper" fix</title><content type='html'>As I mentioned in&amp;nbsp;&lt;a href="http://supermario-world.blogspot.com/2010/12/nov-30th-break-of-asterisk-18-w-gv.html"&gt;http://supermario-world.blogspot.com/2010/12/nov-30th-break-of-asterisk-18-w-gv.html&lt;/a&gt;, proper Google Voice outbound dialing got busted at the start of the month because of a protocol change on Google's servers.&lt;br /&gt;&lt;br /&gt;While upstream worked on the patch (as detailed in&amp;nbsp;&lt;a href="https://issues.asterisk.org/view.php?id=18412"&gt;https://issues.asterisk.org/view.php?id=18412&lt;/a&gt;), I had a workaround that used an AGI call back for the dialer.&lt;br /&gt;&lt;br /&gt;Well a final patch has been developed now that accounts for the protocol changes and accepted into 1.8.x svn (&lt;a href="https://issues.asterisk.org/file_download.php?file_id=27904&amp;amp;type=bug"&gt;https://issues.asterisk.org/file_download.php?file_id=27904&amp;amp;type=bug&lt;/a&gt;). &amp;nbsp;I expect there will eventually be a 1.8.1 maintenance release that includes this patch.&lt;br /&gt;&lt;br /&gt;In the interim, i've rev'ed my packages to 1.8.0-2 and include this patch now. &amp;nbsp;You just need to opkg upgrade and you should receive the updates.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# opkg update&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# opkg upgrade&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should undo any AGI dialer hacks that were added and revert to the original outbound google talk dialer. &amp;nbsp;If you have been using my dialplan, this should just be a two line change to comment out the AGI line and uncomment the Talk line. &lt;br /&gt;&lt;br /&gt;so the outbound section of your extensions.conf should look like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[outbound]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; seven-digit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; local-devices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; tollfree&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; talk-gmail-outbound&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; talk-numeric-outbound&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; dial-uri&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As always, you can view my dialplan and settings at&amp;nbsp;&lt;a href="http://www.arctangent.net/~superm1/gv_configs/"&gt;http://www.arctangent.net/~superm1/gv_configs/&lt;/a&gt;&amp;nbsp;in case you are missing something or joining in late.&lt;br /&gt;&lt;br /&gt;And thanks to everyone who helped to make this patch happen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-4427199226208856570?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/4427199226208856570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/12/outbound-google-voice-dialing-proper.html#comment-form' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/4427199226208856570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/4427199226208856570'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/12/outbound-google-voice-dialing-proper.html' title='Outbound Google Voice dialing &quot;proper&quot; fix'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-7457722653807715168</id><published>2010-12-02T19:14:00.000-06:00</published><updated>2010-12-02T19:14:26.163-06:00</updated><title type='text'>The Nov 30th break of Asterisk 1.8 w/ GV</title><content type='html'>On November 30th, Asterisk GV outbound dialing started breaking for people. &amp;nbsp;The cause was unknown, and it became more prevalent the next two days.&lt;br /&gt;&lt;br /&gt;The symptoms are a continuous ringing for the outbound call with the following type of stuff in the logs:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[Dec &amp;nbsp;3 00:54:00] NOTICE[18023]: chan_gtalk.c:1942 gtalk_parser: Remote peer reported an error, trying to establish the call anyway&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Inbound calls (including those initiated from the website) are still functional. &amp;nbsp;It's not clear what the cause is, but an issue has been filed with Asterisk upstream at&amp;nbsp;&lt;a href="https://issues.asterisk.org/view.php?id=18412"&gt;https://issues.asterisk.org/view.php?id=18412&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the interim, I've come up with a way to fix the problem by reviving the old AGI dialer originally used with Asterisk 1.6, but reworking it to use Talk instead of Gizmo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This involves some modifications to the dialplan to support using AGI instead. &amp;nbsp;If you don't already have AGI setup, here's the basics for that:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Install AGI support for Asterisk:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;opkg install asterisk18-res-agi&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Create the AGI directory&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mkdir -p /usr/lib/asterisk/agi-bin/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Fetch the updated AGI script from&amp;nbsp;&lt;a href="http://arctangent.net/~superm1/agi/google-voice-dialout.agi"&gt;http://arctangent.net/~superm1/agi/google-voice-dialout.agi&lt;/a&gt;&amp;nbsp;and save it in /usr/lib/asterisk/agi-bin. &amp;nbsp;Modify it to include your login information for google.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cd /usr/lib/asterisk/agi-bin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;wget&amp;nbsp;&lt;a href="http://arctangent.net/~superm1/agi/google-voice-dialout.agi"&gt;http://arctangent.net/~superm1/agi/google-voice-dialout.agi&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chmod +x google-voice-dialout.agi&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Modify your dialplan.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;outbound&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Instead of&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1NXXNXXXXXX,1,Dial(Gtalk/superm1/${EXTEN}@voice.google.com)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Make the line&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _+1NXXNXXXXXX,1,AGI(google-voice-dialout.agi)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;inbound&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Add the following two rules:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; superm1@gmail.com, 1, GotoIf(${DB_EXISTS(gv_dialout/channel)}?bridged)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; superm1@gmail.com, n(bridged),Bridge(${DB_DELETE(gv_dialout/channel)}, p)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will bridge outgoing calls with an incoming dialback handler.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As previously, i'll post my updated configs to&amp;nbsp;&lt;a href="http://www.arctangent.net/~superm1/gv_configs/"&gt;http://www.arctangent.net/~superm1/gv_configs/&lt;/a&gt;. &amp;nbsp;The way that i've implemented it is actually just a different AGI handler that's included. &amp;nbsp;So when regular talk support is restored (as mentioned in&amp;nbsp;&lt;a href="https://issues.asterisk.org/view.php?id=18412"&gt;https://issues.asterisk.org/view.php?id=18412&lt;/a&gt;) then it's a one line change to re-enable the standard outbound talk handler.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-7457722653807715168?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/7457722653807715168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/12/nov-30th-break-of-asterisk-18-w-gv.html#comment-form' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/7457722653807715168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/7457722653807715168'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/12/nov-30th-break-of-asterisk-18-w-gv.html' title='The Nov 30th break of Asterisk 1.8 w/ GV'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-8550866702582955020</id><published>2010-11-18T22:32:00.000-06:00</published><updated>2010-11-18T22:32:49.024-06:00</updated><title type='text'>Better support for sipdroid on Android</title><content type='html'>For a while I've wanted to use my fancy Asterisk setup with my HTC Evo 4G, but i've always been getting horrible performance from sipdroid as well as any other clients I was trying on the phone.&lt;br /&gt;&lt;br /&gt;It seems that i've identified the problem as actually being a codec problem. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I looked a little closer at the verbose logs in asterisk and saw messages like this:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[Nov 19 02:57:44] WARNING[9373] chan_gtalk.c: Asked to transmit frame type alaw, while native formats is 0x4 (ulaw) (read/write = ulaw/ulaw)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It seems that whenever I was making calls, the formats kept on flipping from ulaw to alaw and vice versa. &amp;nbsp;When it did work, only one end could hear the other. &amp;nbsp;To make matters worse, I couldn't get G722 to work whenever I tried to force it.&lt;br /&gt;&lt;br /&gt;Comparing the OpenWRT Asterisk 1.8.x install to a standard install on Ubuntu, it looks like the codec files for G722 weren't even getting installed. &amp;nbsp;I modified the packaging and republished additional packages at my repository for Asterisk on arctangent.net (&lt;a href="http://arctangent.net/~superm1/openwrt"&gt;http://arctangent.net/~superm1/openwrt&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Now there is two more packages available, one for alaw and the other for g722. &amp;nbsp;You should be able to update your opkg list and install them:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#&amp;nbsp;opkg install asterisk18-codec-alaw asterisk18-codec-g722&lt;/span&gt;&lt;br /&gt;&lt;br class="Apple-interchange-newline" /&gt;After they're installed, modify sip.conf to make sure you explicitly mention that you now support G722:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;[101]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;username=101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;secret=101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;type=friend&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;callerid="Mario"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;host=dynamic&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;context=outgoing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;outgoinglimit=1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;incominglimit=1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Georgia, serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;canreinvite=no&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div style="font-family: 'courier new';"&gt;disallow=all&lt;/div&gt;&lt;div style="font-family: 'courier new';"&gt;allow=g722&lt;/div&gt;&lt;div style="font-family: 'courier new';"&gt;allow=alaw&lt;/div&gt;&lt;div style="font-family: 'courier new';"&gt;allow=ulaw&lt;/div&gt;&lt;div style="font-family: 'courier new';"&gt;allow=gsm&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Now restart Asterisk and Sipdroid should be able to use G722 for some much better audio.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-8550866702582955020?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/8550866702582955020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/11/better-support-for-sipdroid-on-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/8550866702582955020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/8550866702582955020'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/11/better-support-for-sipdroid-on-android.html' title='Better support for sipdroid on Android'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-2913284111834492780</id><published>2010-11-14T13:31:00.001-06:00</published><updated>2010-11-14T13:32:43.598-06:00</updated><title type='text'>Caller ID with Google Voice and Asterisk 1.8</title><content type='html'>Previously it was possible to do a lookup of your contact's name against the numbers in your GMail/Google Voice contact list and apply that to your CallerID via John Baab's method outlined on his &lt;a href="http://www.baablogic.net/drupal/node/15"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've since then discovered that since updating to Asterisk 1.8 with native Google Voice this no longer functions. &amp;nbsp;This is because the format of the CallerID string that is sent from incoming calls is now different.&lt;br /&gt;&lt;br /&gt;The entire string is sent in the "Name" field of the caller ID.&lt;br /&gt;For Voice Calls, this is what it looks like:&lt;br /&gt;&lt;b&gt;+18475551212@voice.google.com/srvres-MTAuMTIuMTM4LjI2OjD4NdM=&lt;/b&gt;&lt;br /&gt;For calls coming in from Talk or GMail, this is what it looks like:&lt;br /&gt;&lt;b&gt;user@gmail.com/gmail.424BF12F&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fortunately, this entire field can be processed using built in asterisk functions to extract the data we need, restoring the functionality of John Baab's script.&lt;br /&gt;&lt;br /&gt;Here's all the steps that i've taken to add Caller ID support:&lt;br /&gt;&lt;br /&gt;1) Install python, python-expat, python-openssl&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;opkg install python python-expat python-openssl&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) Fetch John Baab's script and place it somewhere useful.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;wget http://www.baablogic.net/googlecontacts.py&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;3) Download gdata-python from&amp;nbsp;http://code.google.com/p/gdata-python-client/&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;wget http://gdata-python-client.googlecode.com/files/gdata-2.0.12.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;4) Manually install it. &amp;nbsp;The setup.py script doesn't work on OpenWRT, so this method can be used:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;tar xzzf gdata-2.0.12.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;cp -r gdata-2.0.12/src/* /usr/lib/python2.6/site-packages/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;rm -rf gdata-2.0.12*&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5) Modify John's script to include your gmail login information. &amp;nbsp;Run it once manually to populate your database&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;./google-contacts.py&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6) Modify your [google-in] context to process the number properly and do a database lookup:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;[google-in]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;exten =&amp;gt; superm1@gmail.com, 1, NoOp(Callerid &amp;nbsp;${CALLERID(name)})&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;exten =&amp;gt; superm1@gmail.com, n, Set(CALLERID(num)=${SHIFT(CALLERID(name),@)})&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;exten =&amp;gt; superm1@gmail.com, n, Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;exten =&amp;gt; superm1@gmail.com, n, Dial(SIP/101, 180, D(:1))&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7) (optionally) Add this to your crontab so that it will sync new numbers on a regular basis. &amp;nbsp;John's script will actually redo the database on every run, so it will also get updates then for every removal too.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;crontab -e&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will only take effect for calls routed in through google voice or talk because we only modify the google-in context. &amp;nbsp;If there is no data available, the name field will just remain empty and the number will be shown on Caller ID instead.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-2913284111834492780?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/2913284111834492780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/11/caller-id-with-google-voice-and.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/2913284111834492780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/2913284111834492780'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/11/caller-id-with-google-voice-and.html' title='Caller ID with Google Voice and Asterisk 1.8'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-4517480281631485838</id><published>2010-11-04T11:24:00.001-05:00</published><updated>2010-11-04T11:30:04.164-05:00</updated><title type='text'>Updating the squashfs with an external rootfs</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;If it ain't broke don't fix it&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We've all heard the phrase at least a dozen times in our life. Yet knowingly it's disobeyed over and over because of shiny new features that we don't need.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It was brought to my attention that there have been a ton of ath9k fixes pulled into the 10.03.1-rc3 interim candidate that should improve wifi performance. &amp;nbsp;I've had some wifi problems, but it's hard to assess if they'd really be fixed by these patches. &amp;nbsp;I figured I didn't have much to lose and decided to svn up and rebuild my squashfs image to upgrade on the router.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Normally, this is supposed to be a rather straightforward process (&lt;a href="http://wiki.openwrt.org/toh/d-link/dir-825#upgrading.openwrt"&gt;http://wiki.openwrt.org/toh/d-link/dir-825#upgrading.openwrt&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;svn up&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2) &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make&lt;/span&gt;&lt;/div&gt;&lt;div&gt;3) &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;scp bin/ar71xx/openwrt-ar71xx-dir-825-b1-squashfs-sysupgrade.bin root@192.168.1.1:/tmp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;4) &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ssh root@192.168.1.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;5) &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sysupgrade -v /tmp/openwrt-ar71xx-dir-825-b1-squashfs-sysupgrade.bin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;6) Profit&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately I ran into lots of problems along the way, that eventually stemmed to the contents of the external rootfs being out of sync with what was on the jffs2 partition. &amp;nbsp;Running an &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;opkg upgrade&lt;/span&gt; caused the router to not boot anymore with the flash drive plugged in.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Consequently,&amp;nbsp;I've&amp;nbsp;discovered when you have an external rootfs, you need to follow a bit of a different process when flashing new&amp;nbsp;ROMs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Update svn&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;svn up&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2) Refresh config&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make menuconfig&lt;/span&gt;&lt;/div&gt;&lt;div&gt;3) Examine the contents of /overlay/etc/ on the router. &amp;nbsp;In your source tree, you will want to make a files/etc directory and copy in all the relevant configs that you need to persist after you flash. &amp;nbsp;They'll be baked directly into the&amp;nbsp;ROM&amp;nbsp;image itself. &amp;nbsp;Over time you should eventually not even need much of overlay configs in /overlay/etc as they'll be in your home rolled roms.&lt;/div&gt;&lt;div&gt;4) Record a list of all packages you have installed that you care about.&lt;/div&gt;&lt;div&gt;4) Power off the router and plug the flash drive into a computer. &amp;nbsp;Format it.&lt;/div&gt;&lt;div&gt;5) build the new&amp;nbsp;ROM&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make&lt;/span&gt;&lt;/div&gt;&lt;div&gt;6) follow the regular steps to scp the&amp;nbsp;ROM&amp;nbsp;over and load it. &amp;nbsp;Don't plug in your flash drive yet.&lt;/div&gt;&lt;div&gt;7) Reboot the router and make sure it comes up&lt;/div&gt;&lt;div&gt;8) Now insert the flash drive and reboot&lt;/div&gt;&lt;div&gt;9) Lastly,&amp;nbsp;install any relevant packages you previously recorded a list of.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All of your configuration should already be on the&amp;nbsp;ROM, so you won't need to reconfigure anything.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-4517480281631485838?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/4517480281631485838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/11/updating-squashfs-with-external-rootfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/4517480281631485838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/4517480281631485838'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/11/updating-squashfs-with-external-rootfs.html' title='Updating the squashfs with an external rootfs'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-1802420204389947460</id><published>2010-11-01T23:36:00.001-05:00</published><updated>2010-11-23T15:16:29.885-06:00</updated><title type='text'>Asterisk 1.8 and native Google Voice support</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.asterisk.org/themes/newAsterisk/images/logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.asterisk.org/themes/newAsterisk/images/logo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Last week the Asterisk development team announced Asterisk 1.8's release with native support for Google Talk / Gmail calling. &amp;nbsp;By doing so, a lot of the hackery that was previously done with bridging and AGI dialers in my earlier posts can be axed.&lt;br /&gt;&lt;br /&gt;Even though Asterisk 1.8 was released, I didn't see any developers jumping on creating OpenWRT packages, so I decided to do so myself. &amp;nbsp;I've produced packages for both ar71xx devices (like the one I detailed in earlier posts) as well as brcm-2.4 devices that the market is flooded with.&lt;br /&gt;&lt;br /&gt;These packages can be found at&amp;nbsp;&lt;a href="http://www.arctangent.net/~superm1/openwrt/"&gt;http://www.arctangent.net/~superm1/openwrt/&lt;/a&gt;.&lt;br /&gt;I've also submitted the packaging changes to a ticket for inclusion in a future OpenWRT release at&amp;nbsp;&lt;a href="https://dev.openwrt.org/ticket/8132"&gt;https://dev.openwrt.org/ticket/8132&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So for an ar71xx device, you would add this line to your /etc/opkg.conf:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;src/gz asterisk1.8 http://www.arctangent.net/~superm1/openwrt/ar71xx&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you've got asterisk 1.6 installed, you'll need to remove all of the associated packages for it before proceeding.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;opkg remove&amp;nbsp;asterisk16-sounds asterisk16-res-musiconhold asterisk16-res-agi asterisk16-func-db asterisk16-format-g726 asterisk16-form&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;at-g729 asterisk16-codec-g726 asterisk16-codec-a-mu asterisk16-app-system asterisk16&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For Asterisk 1.8, I think these are the only packages you'll need:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;opkg install asterisk18 asterisk18-func-db asterisk18-res-musiconhold asterisk18-chan-gtalk asterisk18-res-rtp-asterisk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Configuration Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once installed, you need to add your google information to /etc/asterisk/gtalk.conf. &amp;nbsp;This configuration will dump my incoming gtalk calls directly to a context that will be defined as 'google-in'.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[general]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;context=google-in&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Context to dump call into&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[guest]&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; special account for options on guest account&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;disallow=all&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;allow=ulaw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;context=guest&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[superm1-gtalk]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;username=superm1@gmail.com&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;disallow=all&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;allow=ulaw&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;context=google-in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;connection=superm1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Next configure jabber information in /etc/asterisk/jabber.conf. &amp;nbsp;This setup will cause you to always be signed into jabber, so make sure to set yourself away and give an informative message to know that it's a computer signed in, not a human.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[superm1]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;type=client&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;serverhost=talk.google.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;username=superm1@gmail.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;secret=(your password)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;statusmessage=I am asterisk [*]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;status=xaway&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lastly configure your /etc/asterisk/extensions.conf dialplan for the new inbound and outbound features. &amp;nbsp;This is built upon my previous dialplan. &amp;nbsp;It will support incoming sip or google talk/voice as well as outgoing SIP, toll free, and GV.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; --&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Inbound Calls&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; --&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * This extension is where any external SIP calls should route to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[default]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,1,Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})})&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,n,Dial(SIP/101,10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,n, Hangup&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; 101, 1, Dial(SIP/101, 10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * From Google (superm1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[google-in]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; superm1@gmail.com, 1, Dial(SIP/101, 180, D(:1))&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; --&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Outbound Calls&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; --&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * Default starting context for internal SIP devices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[mario-default]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; local-devices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; tollfree&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; gv-outbound&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; dial-uri&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * These are for any local extensions we should be supporting&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[local-devices]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1, 1, Dial(SIP/101,10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * Toll free numbers (don't use GV for these)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[tollfree]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _411, 1, Dial(SIP/18004664411@proxy.ideasip.com,60)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1800NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1888NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1877NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1866NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * Route the call using the google voice bridge&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[gv-outbound]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;append an area code if necessary&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXXXXX,1,Set(CALLERID(dnid)=1512${CALLERID(dnid)})&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXXXXX,n,Goto(1512${EXTEN},1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;append a 1 if necessary&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXNXXXXXX,1,Set(CALLERID(dnid)=1${CALLERID(dnid)})&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXNXXXXXX,n,Goto(1${EXTEN},1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;do our real dialing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1NXXNXXXXXX,1,Dial(Gtalk/superm1/${EXTEN}@voice.google.com)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _+1NXXNXXXXXX,1,Dial(Gtalk/superm1/${EXTEN}@voice.google.com)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; * Dialing by SIP URL eg foo@domain.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[dial-uri]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _[a-z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _[A-Z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _X.,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Advantages / Disadvantages&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Advantages&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;This configuration is far quicker and more like a real phone. &amp;nbsp;When you dial a number, it will be connected within seconds rather than 30's of seconds.&lt;/li&gt;&lt;li&gt;The quality seems better than the old way (and in theory should be less hops, and less latency)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Disadvantages&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;You have to always be signed into Google Talk/Chat with this solution. &amp;nbsp;If people IM you and you aren't on a computer, then the IM is lost in your gmail history.&lt;/li&gt;&lt;li&gt;If you are signed into Gmail Chat and the computer supports video (has the plugin installed) then your SIP phone won't ring.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Thanks&lt;/span&gt;&lt;/div&gt;Thanks to Paul Jennings for helping to provide a quite functional configuration to get started here for me, as well as&amp;nbsp;&lt;a href="https://wiki.asterisk.org/wiki/display/AST/Calling+using+Google"&gt;AST/Calling+using+Google&lt;/a&gt;&amp;nbsp;for detailing all the options actually available to configure.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Updates&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;11/23:&lt;/span&gt;&lt;br /&gt;This post seems to be the post that people are linking to and reading mostly when setting up Asterisk 1.8. &amp;nbsp;Just want to make sure I mention, there have been improvements since this post (as detailed in other future blog postings). &amp;nbsp;To avoid having to relive the learning experience I did with my other improvements, my (scrubbed for passwords) configs are available at&amp;nbsp;&lt;a href="http://www.arctangent.net/~superm1/gv_configs/"&gt;http://www.arctangent.net/~superm1/gv_configs/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-1802420204389947460?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/1802420204389947460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/11/asterisk-18-and-native-google-voice.html#comment-form' title='58 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/1802420204389947460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/1802420204389947460'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/11/asterisk-18-and-native-google-voice.html' title='Asterisk 1.8 and native Google Voice support'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>58</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-3132013436173383585</id><published>2010-06-21T10:41:00.001-05:00</published><updated>2010-06-21T10:42:14.679-05:00</updated><title type='text'>Improvements to an asterisk dialplan</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;After using my previously posted solution for a little bit, I've discovered some deficiencies in it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;I can't URI dial (in or out)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;I can't call additional extensions from one extension to another&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Google Voice voicemail wasn't kicking in&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;I can't 7 digit dial for my local area code&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Only one extension will ring at a time for incoming calls&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;So here is an improved dialplan setup, more modular and should be able to account for all of those deficiencies:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;New Dialplan&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[default]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,1,GotoIf(${DB_EXISTS(gv_dialout/channel)}?bridged)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,n,Dial(SIP/101&amp;amp;SIP/102,10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,n, Hangup&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; s,n(bridged),Bridge(${DB_DELETE(gv_dialout/channel)}, p)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; 101, 1, Dial(SIP/101, 10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; 102, 1, Dial(SIP/102, 10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Default starting context for internal SIP devices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[outbound]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; local-devices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; tollfree&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; gv-outbound&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;include =&amp;gt; dial-uri&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; These are for any local extensions we should be supporting&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[local-devices]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _101, 1, Dial(SIP/101,10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _102, 1, Dial(SIP/102,10)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; These are for outbound toll free numbers we support&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[tollfree]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _411, 1, Dial(SIP/18004664411@proxy.ideasip.com,60)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1800NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1888NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1877NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1866NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Route the call using the google voice bridge&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[gv-outbound]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;append an area code (512) if necessary&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXXXXX,1,Set(CALLERID(dnid)=1512${CALLERID(dnid)})&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXXXXX,n,Goto(1512${EXTEN},1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;append a 1 if necessary&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXNXXXXXX,1,Set(CALLERID(dnid)=1${CALLERID(dnid)})&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _NXXNXXXXXX,n,Goto(1${EXTEN},1)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;do our real dialing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _1NXXNXXXXXX,1,AGI(google-voice-dialout.agi)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _+1NXXNXXXXXX,1,AGI(google-voice-dialout.agi)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;; Dialing by SIP URL eg foo@domain.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[dial-uri]&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _[a-z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _[A-Z].,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exten =&amp;gt; _X.,1,Dial(SIP/${EXTEN}@${SIPDOMAIN},120,tr)&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-3132013436173383585?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/3132013436173383585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/06/improvements-to-asterisk-dialplan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/3132013436173383585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/3132013436173383585'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/06/improvements-to-asterisk-dialplan.html' title='Improvements to an asterisk dialplan'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2886787793708759755.post-498399495879942900</id><published>2010-06-01T11:29:00.005-05:00</published><updated>2011-12-01T09:54:53.182-06:00</updated><title type='text'>Google Voice / SIP Solutions</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;For this project I was to have a Google Voice / Gizmo5 SIP solution.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;I put for the the following requirements for myself:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;No dedicated server.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Could work with existing HW SIP adapters as well as SW softphones&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Could dial out 800 numbers w/o involving GV&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Could dial out 411 w/o involving GV&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Could receive GV calls&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Ability to initiate GV calls&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Not having a dedicated server instantly rules out any FreePBX, Trixbox, or PBX in a flash type solutions.  So this meant I had to adapt bits and pieces from a lot of solutions that were already out in the open.  Surely others want to do solutions similar to mine, so here's how!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;I've already got a Gizmo5 account and linked it to my GV account.  Directions on how to do this can be found at: &lt;/span&gt;&lt;a href="http://www.jrin.net/2009_07_26/use-gizmo5-for-free-calls-with-google-voice"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.jrin.net/2009_07_26/use-gizmo5-for-free-calls-with-google-voice&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;.  If you don't have a Gizmo5 account, there are other solutions out there that will route over a different trunk like ipkall or sipgate, but I imagine they will introduce additional latency to the equation due to the additional hops from PSTN to SIP and back.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Not having a dedicated server means that I likely needed to install Asterisk directly onto a router.  Asterisk is a bit of a beast space wise though, and the flash on my old router was a bit tiny.  Being that I was overdue for a new one and wanted Wireless N and USB anyhow, I ended up purchasing a &lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/B001F7HLRC/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;amp;tag=supmarworblo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B001F7HLRC"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Dlink DIR-825&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; instead.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Flash Firmware&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The DIR-825 is supported by OpenWRT's current release, "backfire".  Unfortunately I had a little bit of trouble getting it flashed in the first place.  The existing backfire images are not properly building the headers to allow it to be flashed.  This has been fixed in trunk (images newer than April 26th).  To workaround the issue in backfire, the headers can be crafted as follows, using the original firmware image and a backfire image respectively: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;dd if=dir825_revB_firmware_202NA.bin of=new.bin&lt;br /&gt;dd if=/dev/zero of=new.bin bs=4194304 count=1 conv=notrunc&lt;br /&gt;dd if=openwrt-ar71xx-dir-825-b1-squashfs-backup-loader.bin of=new.bin bs=2424836 count=1 conv=notrunc&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Once the initial firmware is loaded, the device still won't support a USB overlay - so don't install Asterisk yet.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Prepare External Rootfs&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;You'll have to follow the directions at &lt;/span&gt;&lt;a href="http://wiki.openwrt.org/doc/howto/rootfsonexternalstorage"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://wiki.openwrt.org/doc/howto/rootfsonexternalstorage&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; for information on how to build your own firmware image with support for externalstorage overlays.  I found the documentation on how to configure the new /etc/config/fstab horrible, so here's the one I finally came up with:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;config global automount&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;option from_fstab 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;option anon_mount 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;config mount&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option target   /overlay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option device   /dev/sda1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option fstype   ext4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option options  rw,sync&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option enabled  1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option enabled_fsck 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        option is_rootfs 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Reboot the system and make sure that you actually are using the external rootfs before you proceed to install Asterisk.  You'll notice that your flash drive is mounted on /overlay.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;root@router:~# df -h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Filesystem                Size      Used Available Use% Mounted on&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/dev/root                 1.9M      1.9M         0 100% /rom&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;tmpfs                    30.3M      1.3M     29.0M   4% /tmp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;tmpfs                   512.0K         0    512.0K   0% /dev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/dev/mtdblock4            3.3M    264.0K      3.0M   8% /tmp/overlay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/dev/sda1                 3.7G     95.4M      3.4G   3% /overlay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;mini_fo:/overlay          1.9M      1.9M         0 100% /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now that you have tons of space, configure the general stuff on the router to your liking.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Install Python&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Python is needed for the AGI script that connects to the GV website.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;opkg install python python-openssl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Install Asterisk&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;I purposely didn't mention to install Asterisk yet.  The Asterisk 1.6 that comes with backfire doesn't support AGI, which we'll need for the dialer.  What you'll want to do is grab the one from trunk instead.  The easiest way to do this is to comment out the backfire repository in /etc/opkg.conf and add the trunk one temporarily.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;src/gz packages http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now you can go and install Asterisk 1.6.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;opkg install asterisk16 asterisk16-app-system asterisk16-codec-a-mu asterisk16-codec-g726 asterisk16-format-g726 asterisk16-format-g729 asterisk16-func-db asterisk16-res-agi asterisk16-sounds&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Revert the repositories back to backfire now.  You don't want to be pulling anything else from Trunk.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Next we need to configure Asterisk, the dialplans, and the sip settings.  First thing you need to do is make sure it is set to use the proper directories.  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Configure Asterisk&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Modify the first line in /etc/asterisk/asterisk.conf from:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[directories](!) ; remove the (!) to enable this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;to&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[directories] ; remove the (!) to enable this&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Configure SIP Settings&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;In the [general] section of /etc/asterisk/sip.conf add a registration for the G5 server:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;register =&amp;gt; 1747000000:secretpassword@proxy01.sipphone.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now, add a new section for the account's inbound connections.  If you plan to use G5 for outbound as well, change the type to friend.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[proxy01.sipphone.com]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;type=user&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;context=default&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;disallow=all&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;allow=gsm&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;allow=ulaw&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;allow=ilbc&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;dtmfmode=rfc2833&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;host=proxy01.sipphone.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;insecure=port,invite&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;username=1747000000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;secret=secretpassword&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;canreinvite=no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Next we add a section for our HW device or softphone.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[101]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;username=101&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;secret=101&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;type=friend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;callerid="Mario"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;host=dynamic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;context=outgoing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;outgoinglimit=1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;incominglimit=1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;canreinvite=no&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Configure Dialplan Settings&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The dialplan is stored in /etc/asterisk/extensions.conf.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;We're going to have two separate starting contexts - for outgoing and incoming calls.  For the outgoing context, we route all 411 and 800 numbers to a free 800 terminator like ideasip.  For anything else that looks like a regular number we're going to use a google voice AGI script (which we'll get to later).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[outgoing]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _411, 1, Dial(SIP/18004664411@proxy.ideasip.com,60)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _1800NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _1888NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _1877NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _1866NXXXXXX,1,Dial(SIP/${EXTEN}@proxy.ideasip.com,60)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; _1NXXNXXXXXX,1,AGI(google-voice-dialout.agi)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;For the incoming context we need to check whether or not we are coming from a GV bridge or a regular SIP call.  If it's a GV bridge we bridge the calls together, otherwise we forward it to our extension.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;[default]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; s,1,GotoIf(${DB_EXISTS(gv_dialout/channel)}?bridged)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; s,n,Dial(SIP/101,10)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; s,n,Hangup&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;exten =&amp;gt; s,n(bridged),Bridge(${DB_DELETE(gv_dialout/channel)}, p)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Google Voice AGI&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now fetch the google voice AGI script from Paul Marks at &lt;/span&gt;&lt;a href="http://www.pmarks.net/posted_links/google-voice-dialout.agi"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://www.pmarks.net/posted_links/google-voice-dialout.agi&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;.  Configure your info at the top of it, and throw it in /usr/lib/asterisk/agi-bin.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Start it out and Test&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;To start asterisk run it's init script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/etc/init.d/asterisk start&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 15px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Georgia, serif; font-size: 16px; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;I think that should cover everything.  You should be able to add your info to your softphone or SIP adapter now.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2886787793708759755-498399495879942900?l=supermario-world.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://supermario-world.blogspot.com/feeds/498399495879942900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://supermario-world.blogspot.com/2010/06/google-voice-sip-solutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/498399495879942900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2886787793708759755/posts/default/498399495879942900'/><link rel='alternate' type='text/html' href='http://supermario-world.blogspot.com/2010/06/google-voice-sip-solutions.html' title='Google Voice / SIP Solutions'/><author><name>Mario</name><uri>http://www.blogger.com/profile/02216311497014886607</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_2IPIi1i80RA/TAVBV3clIoI/AAAAAAAACSE/ESJi4IIZjvM/s1600-R/AIbEiAIAAABECOCEzdWr9e_apgEiC3ZjYXJkX3Bob3RvKihmOGUzOWI3NzZmNTRlYzIyMDRmNWE5MmUwNTAyNDM0NmJlZTdiMDFlMAEt-SJZgZEN9aBMdl0T4Cq8CFP4cQ'/></author><thr:total>0</thr:total></entry></feed>
