-
Yate Server: Free Google Voice Calling
Posted on June 1st, 2011 9 commentsThis post details how to setup yate as a google voice sip server. Please feel free to post any questions you have in the comments section.
Installation
Use one of the respositories, or install from source. Download links are available here.
Figure out where all of the configuration files are located. They should either be in /etc/yate, or /usr/local/etc/yate, depending on what you installed from. The rest of these instructions will describe the necessary modifications to each specified file.
regfile.conf
This file sets the username and password you will use to login using your sip software client, or ATA. Add the following to the end of the file, replacing ‘mysipusername’ with the username you want to use, and ‘mysippassword’ with the password you want to use:
[mysipusername] password=mysippassword
accfile.conf
This file contains your gtalk username and password. Add the following to the end of the file, replacing ‘mygvusername’ with your password, and ‘mygvpassword’ with your password.
[GoogleVoice] enabled=yes protocol=jabber username=mygvusername domain=gmail.com password=mygvpassword options=allowplainauth
yate.conf
You need to enable a module for gtalk to work properly. Add the following to the end of the postload file (so that part of the file should look like the following:
[postload] ; Put a line in this section for each shared library that you want to load ; after all Yate modules ; Each line has to be of the form: ; /path/to/the/library.so=boolean ; You should specify the full path to the library. Extension is operating ; system specific - usually .so for *NIX systems and .dll for Windows ${modulepath}/client/jabberclient${modsuffix}=yesyjinglechan.conf
You need to change the jingle channel so it runs in client mode instead of server mode. Remove the ‘;’ from the beginning of the:
;servermode=
line, and change it to:
servermode=no
also uncomment the following two lines and change them to:
stanza_timeout=10000
ping_interval=100000
regexroute.conf
This file describes how incoming and outgoing calls are handled. We need to route incoming calls (from gtalk / google voice) to our sip phone. Add the following to the end of the ‘[contexts]‘ section to route incoming calls, replacing ‘mysipusername’ with the sipusername you set above in the regfile.conf file:
${in_line}GoogleVoice=;called=mysipusername;jingle_version=0;jingle_flags=noping;dtmfmethod=rfc2833Next add the following to the ‘[default]‘ section to route outgoing calls through google voice. The first line needs to be right below the ‘[default]‘ section header. This blocks unauthenticated users from making calls:
${username}^$=-;error=noauth ^\([1-9][0-9][0-9][0-9][0-9][0-9][0-9]\)$=jingle/513\[email protected];line=GoogleVoice;ojingle_version=0;ojingle_flags=noping;redirectcount=5;checkcalled=false;dtmfmethod=rfc2833 ^\([1-9][0-9][0-9][1-9][0-9][0-9][0-9][0-9][0-9][0-9]\)$=jingle/1\[email protected];line=GoogleVoice;ojingle_version=0;ojingle_flags=noping;redirectcount=5;checkcalled=false;dtmfmethod=rfc2833 ^\(1[1-9][0-9][0-9][1-9][0-9][0-9][0-9][0-9][0-9][0-9]\)$=jingle/\[email protected];line=GoogleVoice;ojingle_version=0;ojingle_flags=noping;redirectcount=5;checkcalled=false;dtmfmethod=rfc2833Notes
I attempted to install from this repository, but yate gave me some error about jabberclient.yate (from /usr/lib/yate/…), so I installed from source.
edit: I fixed this by compiling, and then copying ~/yate/modules/client/jabberclient.yate to /usr/lib/yate/client/
All installation options are shown here.
Updates
A developer on the Yate mailing list helped me out, and made a script that automatically presses 1 on incoming calls to accept the call. Here’s how to enable it:
extmodule.conf
[scripts] postanm_dtmf.php=
regexroute.conf
[extra] call.answered=10 [call.answered] ${peerid}^jingle/=;postanm_dtmf=true;postanm_dtmf_text=1;postanm_dtmf_delay=2This script is not included in the newest version of yate (it’s in the trunk version). If you installed from the repositories, install ‘yate-scripts’, and then download the following file: http://voip.null.ro/svn/yate/trunk/share/scripts/postanm_dtmf.php, and save it to ‘/usr/share/yate/scripts’ (or wherever the scripts are located for your system).
-
Install Chromium in Ubuntu 10.04 (Lucid)
Posted on May 19th, 2010 1 commentChromium is the open source version of google chrome.
Installing Chromium in Ubuntu 10.04 is a very simple and quick process. Just run the following three commands in your terminal (Applications/Accessories/Terminal):
sudo add-apt-repository ppa:chromium-daily/ppa
sudo apt-get update
sudo apt-get install chromium-browserIntegrating Chromium into new ubuntu theme:
http://ubuntuguide.net/integrate-chromechromium-to-new-ubuntu-theme-in-ubuntu-10-04
-
Pithos Segmentation Fault Fix
Posted on May 5th, 2010 2 commentsPithos crashes with a segmentation fault in Ubuntu 64-bit.
The build queue is apparently backed up right now, so it may take some time before the patched version is released. To manually fix your installed version, do the following:
- gksudo gedit /usr/bin/pithos
- Comment out line 173 (by placing a # character).
- Save and close the file.
Thanks to Kevin for this fix!
-
Move Window Buttons to Right Side – Ubuntu 10.04
Posted on May 5th, 2010 5 commentsThe developers at Canonical decided to move the position of the minimize, maximize, and close buttons in Ubuntu 10.04. For most people like myself this is an unwelcome change. We are used to clicking in the top right to minimize/close windows.
Fortunately changing this back requires running only one line of code:
Open up terminal, or the run application box (Alt-F2), paste the following command in, and run it:
gconftool-2 --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,closeThese changes should be instantaneous.
Moving Back to the Left Side:
If you ever want to change this back, all you have to do is run:
gconftool-2 --set /apps/metacity/general/button_layout --type string close,minimize,maximize:If you are wondering why this has been changed, see this post:
http://www.tuxguides.com/ubuntu-why-the-buttons-were-moved-in-10-04/ -
Playing Flash Videos in External Player
Posted on November 11th, 2009 No commentsI have had a lot of issues with flash videos in the past. I have had some difficulties with it crashing in firefox, and I have had issues with full screen support. There are services that let you download and then play the flash video in an external player, but normally I just want to immediately watch it, but be able to watch it in an external player.
There is an easy solution to this. Just load the video in firefox, and then hit pause once it starts playing. Then, open up the terminal, and run the following command:
smplayer /tmp/Flash*or
vlc /tmp/Flash*This probably also works for many other video players using similar commands. I have had success with youtube, and vimeo when using this, but I would assume that it also works with many other video services. This will not work with encrypted flash videos though.
-
Copy SSH Key to Server in One Line
Posted on September 26th, 2009 No commentsHere is a simple way to copy your public key from your computer to your server (which can allow password-free login):
ssh user@hostname "echo `cat ~/.ssh/id_rsa.pub` >> ~/.ssh/authorized_keys"If you receive an error about ~/.ssh/id_rsa.pub not existing, run the following to create it first:
ssh-keygen -t rsa -
Using Squid with DDWRT
Posted on June 22nd, 2009 13 commentsSquid has several different uses. It is a proxy for internet connections. It can be used to speed up the internet by caching commonly used pages/images to speed up page load times, and decrease bandwidth usage. It can also be used to filter Internet connections (remove ads or block bad webpages) by configuring and adding plugins to it.
In this particular case, I am going to be focusing on how to setup and use Squid with your router running the open source firmware, ddwrt (also confirmed to work on tomato firmware mods).
Configuring Squid:
You are going to need a computer that is either on 24/7 or one that is on whenever you need access to the internet. I have a server running at my house that is always on, so I decided to use that. I am running ubuntu on my server, so my instructions will be specific to that, but if you are running a different distribution of Linux, you should be able to easily figure out what what commands you will need to use in order to install and configure squid. Read the rest of this entry »
-
Virtualbox with USB Support
Posted on May 7th, 2009 27 commentsThis guide is specific to ubuntu jaunty (9.04). It may work on previous version, or other distros, but it is untested. If you do not need usb support in your copy of virtualbox, you can just install the open source version from the ubuntu package repositories by typing:
sudo apt-get update
sudo apt-get install virtualbox-oseIf you need usb support in your virtualbox install (great for hooking up devices that are not compatible with linux), you need to install the proprietary version (also free), and do a few tweaks in order to get it to work.
Installing USB Version:
Make sure the open source version of virtualbox is uninstalled:
sudo apt-get remove virtualbox-oseFirst, add the respective line to your /etc/apt/sources.list file according to the current version you are running (for example, add the first line if you are running Jaunty):
Read the rest of this entry » -
Converting Ext3 to Ext4
Posted on April 25th, 2009 No commentsThe new version of ubuntu brought the option of selecting the ext4 filesystem instead of ext3. After reading some reviews, I chose to do this on mine, and noticed quite a speed increase (benchmarks: http://www.linuxinsight.com/first_benchmarks_of_the_ext4_file_system.html).
After installing, my root partition was an ext4 partition, but my home partition was not since it was on a separate partition. I decided to convert my home partition over to ext4 to get all of the benefits that it provides.
WARNING: Do not do this to a root partition unless you know what you are doing. I have not tested this/looked it up, and I do not know how this will end. Also, as with all tweaks (especially on a filesystem), there is some danger of messing up your computer. I am not responsible for anything that happens. Make sure all of your files are backed up before attempting this.
Converting
Make sure your operating system supports ext4, and if not, apply any relevant patches to the kernel.
Make sure you are using a live cd, or do not have the file system mounted. Then, unmount the volume that you are converting, and convert it.
Example with /dev/sda1 (run “fdisk -l” to see your filesystems):
umount /dev/sda1
tune2fs -O extents,uninit_bg,dir_index /dev/sda1 -
Xilinx ISE 10.1
Posted on April 17th, 2009 No commentsI then ran the setup script in the root of the download folder. This appeared to install correctly, but after the software was installed, I could not figure out how to run the software (it installs no shortcuts for you). So, after a while, I figured out that the ISE software did not install because I was running a 64 bit version of Ubuntu. I eventually solved this by downloading the full version of webpack (instead of the 50mb web install). Then, I ran:
bin/lin/setupThis gave me an error:
error while loading shared libraries: libuuid.so.1So, I looked this up online, and download the 32 bit libuuid deb from here (http://archive.ubuntu.com/ubuntu/pool/main/e/e2fsprogs/libuuid1_1.38-2ubuntu2_i386.deb), extracted the deb file (right click, and select extract here), and extracted data.tar.gz. Then, cd to the data/lib folder from the extracted data.tar.gz, and move the two files to /usr/lib32
sudo cp libuuid.so.* /usr/lib32After this, go to the install directory, and run:
10.1/ISE/bin/lin/iseMost of ISE programs worked for me, but I had some trouble getting the floorplanner to work. You need libXm (http://archive.ubuntu.com/ubuntu/pool/multiverse/o/openmotif/libmotif3_2.2.3-2_i386.deb). Install this in the same way that you installed libuuid (for more help, please request in the comments).
Impact:
I never got this to work (it didn’t work for me in Windows XP either though). I had to use the export software that came with with my fpga board). Since this does not work in linux, I tried running it through virtualbox (with usb host sharing). This unfortunately did not work, so I got it working under qemu (there are more details on how to get this working here (http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:qemu#using_an_usb_device_in_qemu))
Sources:
http://braiden.org/?p=55
http://newsgroups.derkeiler.com/Archive/Comp/comp.arch.fpga/2008-03/msg00838.html
http://ubuntuforums.org/showthread.php?t=203459For school, we have just started using Xilinx 10.1 with the Digilent Basys board. When I looked on the Xilinx website, I was happy because the webpack (the software I needed for my class) worked with linux. I downloaded the software, and was hoping that it would be smooth sailing from there.


