Google Voice on a telephone without a server

I already discussed how one can make use of Google Voice with Asterisk – the possibilities are limitless. However, all this requires a server running Asterisk. I recently explored how one can explore other options of Google Voice (or other VoIP services) without the use of a server.

Since I own routers running tomato and dd-wrt, I can exploit Optware to have asterisk run on an embedded device. Installation is quite easy. You can buy a cheap router like the Asus WL-520GU to get things going. However, it might be kind of slow for asterisk. I own an Asus RT-N16, which based on my readings, is plenty of power of asterisk. However, I only want to use the router as a router, dedicated to that one task, to have a stable home network. I don’t want to run asterisk or an embedded web server for the sake of stability. However, knowing I have that option feels quite good.

I recently discovered the OBi100 and the OBi110 ATA’s that was released in late 2010 that can connect to Google Voice (and other SIP providers) natively. Based on this review and the reviews from Amazon, the product seems quite good. I went ahead and ordered the OBi110 to try it out, and I might update once I try it out.

Setup is outlined here. The drawback with GV is the inability to dial 911 in an emergency. The end of the post illustrates how you can get around this. I called my Verizon home phone service and once the line is disconnected, 911 service is not retained. I might pay for another VoIP with E911 (local 911 operator + phone number and physical address transmission) capabilities just for the ease of mind, even though we all own cell phones. This is another possibility by routing the 911 to the local police station, but E911 capabilities will not be available.

I just might port my home phone number to GV soon.

Wireless Bridge does not allow access to computers on the same network

My primary router is on tomato, and since I’ve been liking it so much, I decided to load tomato on my wireless bridge. After doing so, I followed these instructions (Wireless Ethernet bridge mode) to it to connect to the primary router. It was way easier than doing so on DD-WRT, and access to the internet works. However, access to computers connected to the primary router did not work. I believe this is a known issue (read comments in the link).

Guess tomato works well as a primary router but not so for a client router.

USB NAS and print server

I assume you have a compatible router with usb ports with the Teddy Bear mod Tomato firmware installed.

These instructions show that the USB NAS portion is quite easy. Once the hard drives are connected, they are automatically mounted in the router’s Linux OS. A computer on the same network can connect to the router’s hostname/ip via the samba protocol or ftp (if enabled).

Printserver was less obvious since I wasn’t familiar with it. Tomato uses p910nd printer daemon. By default, only 1 instance is running on Tomato on port 9100. If you plan on connecting multiple printers (eg, adding through a USB hub), then you will need to run additional instances of p910nd in the startup script of the Tomato firmware:

 <pre class="src src-sh">/usr/sbin/p910nd -b -f /dev/usb/lp1 1

Continue to add 2, 3, …, if more printers are required. Reboot the router, and another instance is added to port 9101, etc. Note: the ordering is based on the proximity of the USB ports. Check the USB page on the router config site to determine the ordering.

To add a printer on a Windows machine, you will have to add it MANUALLY (auto-detect of any kind will not work). Following copied in case those links die:

HOW TO SET UP A PRINTER WITH TOMATO

  • I installed the printer the same exact way I do most USB print servers
  • GO TO ADD PRINTER
  • ADD A NETWORK PRINTER
  • SKIP AUTO DETECTION AND DO IT MANUALLY
  • ADD A PRINTER USING A TCP/IP ADDRESS…
  • DEVICE TYPE: TCP/IP DEVICE
  • HOSTNAME/IP: Your_Router_IP (ex: 192.168.1.1, mine is different), PORT NAME: let it auto-populate
  • UNCHECK the “Query the printer…”
  • Detection should fail…
  • On bottom, DEVICE TYPE click on CUSTOM, then SETTINGS
  • Leave all default ports and settings and click OKAY
  • Finish everything and print a test page.

On my Ubuntu, searching the printer on the router’s hostname/ip works. However, on all machines, you will have to select the type of printer manually.

Wireless Bridge on DD-WRT

All my routers at home are either on the Tomato firmware or DD-WRT. I’ve set up wireless bridge many times but keep having to google it up as I keep forgetting the exact steps. I’m going to record it now for my reference. The following is taken from here, the V24 build instructions.

  1. Do a hard 30-30-30 reset. This is a must.
  2. Enter new admin username and pw when going to 192.168.1.1 in a web browser. Note: Computer must be connected via wired connection. I did not set my computer to static ip.
  3. Wireless -> Basic Settings. Enter “client bridge” for wireless mode. Enter Mixed for wireless mode (same primary router). Enter the SSID of primary router. Match the channel and width of primary router. SAVE.
  4. Wireless -> Wireless Security. WPA2, select TKIP+AES. Enter key from primary router. SAVE.
  5. Setup -> Basic Setup. Connection type disabled, set STP disabled, ip address to be 192.168.1.2 (or 3), mask 255.255.255.0, gateway 192.168.1.1 (primary router), 0’s for dns, assign wan to switch. SAVE.
  6. Security -> Firewall. Type: Router.
  7. Setup -> Firewall. Uncheck all in “Block WAN Requests” except “Filter Multicast.” Disable SPI. SAVE.
  8. Administration. SAVE. REBOOT.

Tomato on Asus RT-N16 router

Recently I’ve been playing with DD-WRT as my firmware of choice for my main router at home and the one I use as a wireless bridge. I recently purchased an Asus RT-N16 for a variety of reasons:

  1. Gigabit ethernet,
  2. DD-WRT,
  3. 2 usb ports (for NAS and printers),
  4. Wireless N, and
  5. Great with bittorrent.

Reason 1 was the real reason I wanted a new router since I have a NAS connected to it via ethernet, and I plan on getting an HTPC soon (connected either wirelessly or through ethernet) and/or some net top boxes that can connect to the NAS (I’m tired of copying things to USB). Reason 3 wasn’t too much of a concern anymore since I recently bought an Acer NAS with Ubuntu server loaded on (this derserves its own post). I’ve been hearing this thing called tomato that is supposedly even better than DD-WRT. Been wanting to try it, especially since it is supposed to work well on the Asus router, especially to get the USB support (don’t think USB is supported in DD-WRT, but it’s a random guess since DD-WRT is great and has a large community supporting it). I decided to load this (currently beta) mod of Tomato (don’t use this since it does not support the NT-R16). Had trouble loading it after flashing the router to DD-WRT. Turns out I need an exact version of DD-WRT loaded first. Follow this guide to get it going.

Note: I had a problem getting wireless working with my Macbook. Things worked when I flashed the openvpn version of tomato with TKIP/AES encryption in WPA/WPA2 (think this part is the answer).

Also: To do a factory reset (erase NVRAM?) on the Asus, all I have to do is unplug router, press on WPS button, plug router, and release WPS button. Don’t think I have to do the 30-30-30 reset (don’t even know if that works on here).

Linksys WRT160Nv3 with DD-WRT as wireless bridge

I recently bought a refurbished linksys wrt160n-rm from amazon for $31. I ordered it before getting DD-WRT working on my trendnet router. I didn’t want to hassle with returning it, so I decided to turn it into a wireless bridge, something I wanted to do for a while. With the refurbished router, I had to insert the refurbished instructions cd in order to get the router working. Once the linksys firmware is on, I opted to get dd-wrt working on it. I followed the instructions here, but couldn’t get things working because the 30-30-30 reset made the router not work; I had to unplug and plug the power back in to get an ip again. Also, the firmware on the page at the time did not work when i tried to upgrade without the 30-30-30 reset. Googled a bit, and postings here mentioned that they got dd-wrt working without the 30-30-30 reset and with an earlier build. I did so, and got dd-wrt working. Note that I also checked this page to confirm that the other build was required first. Once this version was installed, I upgraded to this version. To get it as a wireless bridge, I followed the instructions here. Voila, I now have the wireless bridge in my brother’s room with his computer and our network printer connected. Things are sweet! In the future, I would probably have a router in the living room connected via a network cable to act as another hotspot for my wireless network or something.

Trendnet TEW-652BRP with DD-WRT firmware

So I own a relatively inexpensive trendnet router (on sale ~ $25) for a while now, and I’ve been trying to get DD-WRT working with it since having it. This site says it is supported, but I couldn’t find a firmware available until now. This post (page 16) has a link to this site that host some binary firmwares. Using the web interface I flashed the firmware successfully and now has a powerful router with DD-WRT. Cool! I use the dd-wrt to assign my laptop a static ip for port forwarding, among other things.

home server + port forwarding

so i started running my own servers, one at school and one at home to test things such as a webserver. at school, no problem. got them to give me a hostname and to open certain ports (22 and 80).

at home, since i’m on a home network which has one public ip to my router, i have to use port forwarding for the outside world to connect to my home server. i had a lot of trouble with this as i couldn’t access my home server from inside, blaming that the problem was from my westell 9100em router, the one that came with verizon fios. i tried to bridge another router (as my main router) since i thought the router was the problem. however, the instructions were too damn complicated and the actiontec instructions did not match my westell. to fix it i even managed to switch from coax connection from the ONT box to ethernet and ran my own cable, and using my own router (trendnet). however, after setting up port forwarding, things still did not work.

long story short, i got it to work learning 2 things: 1. u can’t connect to your public ip from inside the network. u have to connect to the public ip from outside the network. to test this, i ssh to my server at school and ssh back home. 2. even though u set ur router to forward the port, ur computer may still be blocking outside connections. this was the case for mac os x. u have to set it to accept all incoming connections or to allow certain services/port; turning those servers on were not enough. in mac os x, u go to system preferences > security > firewall.

for servers in your home network, you should set them up to have a static ip, preferably outside the dhcp range. for ex, dhcp should give 100-255, and use 2-99 for static. i forward 22 -> 22 (ssh) and 80 -> 80 (http) for one of my server. to get my laptop going, i set something like 80000 -> 22 and 90000 -> 80. that way i can access both computers.

this took a lot of trial and error and learning. i have to say i took like 3 attempts, each with about 3 days of work to figure out. very inefficient i must say, but now i got things working so i can channel my energy to things that are more important to me, although these aren’t done in vain…i will make use of these servers for the things i’m about to do for school.

another note. i set the router to update a dyndns, and i forward my domain to this dyndns name. this way even if my ip refreshes i can still update it.

i like my cheap trendnet router so far. since the actiontec was not at fault, i could have gone back to coax. however, i ran a cat6 cable…this should be good. even if i get fios tv, i think i can go from my router (or any router i choose) to the actiontec and still have things working. i like the fios to be ethernet based so i am free to choose any routers i want, like my cheap wireless n trendnet router.