Monday, August 23, 2010

HOWTO : Voice over IP (VoIP) on Android (Asterisk Edition)

*** Last updated on August 28, 2010 (GMT +8) ***

UPDATED : CSipSimple just released 0.00-12-24 today (2010-AUG-28). A quick test is conducted and some bugs are fixed. This tutorial will be updated when I fully tested this new version.

Testing report


UPDATED : The current version is 0.00-12-36 as on today (2010-SEP-22). The app is much more stable.

This tutorial is show you how to setup your Android phone to communicate with another IP Phone or Android in no further investment. Meanwhile, this feature does not consume your mobile phone air time but consume the 3G data. If you have an unlimited 3G plan, you will be very happy with that. Make sure you are connected to the internet when using the VoIP. Wifi also works fine.

PART I - Select a SIP provider

The following SIP providers offer free account of SIP service for inbound and outbound. You can select one of them that suit you most. I prefer sip2sip.info. Make sure to register to the SIP provider and write down all the details that they give you for further setting.

sip.tpad.com
sip.12voip.com
sip.smartvoip.com
sip2sip.info
sip.actionvoip.com

For example, your login name (account name) of sip2sip.info is "Android".

PART II - Asterisk configuration

If you have an Asterisk server, you can set it yourself. The settings are similar to the below mentioned. If you do not have one, I suggest you to use PBXes.org (the same provider/developer of SIPDroid) which offers 2,000 minutes monthly free air time for 60 minutes per call. You will have 2 simultaneous calls, 5 trunks and 5 extensions per account.

The following is setting at the website of PBXes.org :

(A) Create a Trunk
"Trunks" -- "Add Trunk"

"Trunk Name" - any name you like, e.g. sip2sip
"username" - the username of sip2sip.info, e.g. 3344567890
"password" - the password of sip2sip.info
"SIP server" - "sip2sip.info"

"Outbound Caller ID" - any name you want to display on phone

(B) Create Outbound route
"Outbound Routing" -- "Add Route"

"Route Name" - any name you like, e.g. sip2sip
"Trunk Sequence" - select the above, such as SIP/sip2sip

Select "Valid for all numbers"

"Extension" - any number, e.g. 100

(C) Create Extension
"Extensions" -- "Add Extension"

"Display Name" - any name you like, e.g. Android

"username" - android-100
"password" - any password
"dial" - "SIP/android-100"

"Outbound CID" - any name you like, e.g. Android

(D) create Ring groups
"Ring Groups" -- "Add Ring Group"

"ring strategy" - ringall or hunt or memoryhunt
"ring time (max 60 sec)" - 60 or less

Select "Hangup"

(E) Create Inbound route
"Inbound Routing" -- "Add Incoming Route"

Regular Hours
Select "Extension" to "Android <100>"

After Hours
Select "Extension" to "Android <100>"

Select "No override (obey the above settings)"

PART III - SIP Client (Softphone) for Android

There are 2 great SIP clients for Android, they are SIPDroid and CSipSimple. You can download them in the Android Market.

The captioned clients are under development in beta and alpha stage respectively. The current version of SIPDroid is 1.5.5 while CSipSimple is 0.00-12-22. For the CSipSimple, I suggest you to download it at her official site.

You can download "Barcode scanner" from the Market to scan the QRCode on the site for installation. Make sure you have enabled the "Unknown sources" at "Applications" of "Settings" at your Android phone.

(1) CSipSimple configuration

(A) Account
"Add account" -- "Basic"

"Account name" - any name you like, e.g. pbxes.org
"User" - username-<extension>, e.g. android-100
"Server" - pbxes.org
"Password" - password

(B) Settings
(a) Easy Configuration
Nothing to set now.

(b) Network
Check all items.

(c) Media
Check "Echo cancellation"
Check "Voice audio detection"

(d) User interface
Check "Dialer integration"
Check "Text dialer"
Check "Integrate with Music application"
Check "Keep awake while on call"
Check "Use partial wake lock"

(2) SIPDroid configuration

The setting is similar to the CSipSimple. It also provides video streaming.

PART IV - Dial out

At the space provided at the CSipSimple, type the following to dial out :

For example, you dial to yourself from another softphone.

android@pbxes.org

or

android-100@pbxes.org

PART V - Linksys SPA IP Phone (SPA941) configuration

Open browser and go to the setup page of SPA941.

Ext 1

SIP Settings
SIP Proxy-Require - pbxes.org

Proxy and Registration
Proxy - pbxes.org
Outbound Proxy - no need to set
Use Outbound Proxy - no

Subscriber Information
Display Name - Office
User-ID - office-100
Password - your password
Use Auth ID - yes
Auth ID - office-100

e.g. you have create "office" with the extension "100" at PBXes.org

User

Speed Dial
Speed Dial 2 - android-100@pbxes.org
Speed Dial 3 - david-100@pbxes.org

Speed Dial Out

Pick up handset, press "2" (speed dial number) and then "#"

PART VI - Conclusion

Although SIPDroid is the first apps in the Market for VoIP and it also provides video streaming, the dial out procedure is not mature. The apps cannot running in the background for awaiting VoIP calls when you always dial out to PSTN (land lines). It is because it dial out VoIP calls only.

CSipSimple is still in alpha stage but it is quiet more stable as at 0.00-12-22. You can select if you want to dial out via SIP account or Mobile phone number. It is quiet mature. It will be prefect if it also provide video streaming and contact list for VoIP dial out.

CSipSimple and SIPDroid are working prefectly on Asterisk.

The current development version (CSipSimple 0.00-12.22) does not support bluetooth. When bluetooth is enabled, the incoming and outgoing call may caused your Android hang or power off is required.

This tutorial may also apply to other smartphones or desktops that have SIP Client. For Ubuntu or Linux, you can use Ekiga.

That's all! See you.

Friday, August 20, 2010

HOWTO : Voice over IP (VoIP) on Android (Ekiga edition)

*** UPDATED ON AUGUST 28, 2010 (GMT +8)***

UPDATED : CSipSimple just released 0.00-12-24 today (2010-AUG-28). A quick test is conducted and some bugs are fixed. This tutorial will be updated when I fully tested this new version.

Testing report


UPDATED : The current version is 0.00-12-36 as on today (2010-SEP-22). The app is much more stable but Ekiga.net accounts cannot be communication each other over 3G at the moment.

This tutorial is show you how to setup your Android phone to communicate with another IP Phone or Android in no further investment. Meanwhile, this feature does not consume your mobile phone air time but consume the 3G data. If you have an unlimited 3G plan, you will be very happy with that. Make sure you are connected to the internet when using the VoIP. Wifi also works fine.

Step 0 (Optional) :

If you will use your Android to call VoIP via wifi, you will need to configure your router for the purpose.

Forward the essential ports of SIP at your router.

Forward port 5000-5100 and port 3478-3479 to any internal address.

*It works great on TP-Link TL-WR1043ND router with DD-WRT firmware.

**You may also consider to do MAC filter for wifi access.

Step 1 :

Use free SIP provider Ekiga.net.

Official page

Register page

*the account may look like this - yourname@ekiga.net

**Ekiga.net may require STUN server when you are behind NAT or firewall. The STUN server should be stun.ekiga.net and port is 3478.

***You can also use Ekiga on your Ubuntu / Linux desktop.

Step 1a (Optional) :

If you will use Ekiga on Ubuntu 10.04, you should patch it with PPA.

sudo add-apt-repository ppa:sevmek/ppa
sudo aptitude update


To install -
sudo aptitude install ekiga

or, to upgrade -
sudo apt-get upgrade

Step 1b (Optional) :

If you are using Ubuntu or Linux and behind NAT or firewall, you may require to add the following lines to /etc/rc.local and then reboot.

The following setting is to overcome the timeout problem.

sudo nano /etc/rc.local
echo 3600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout
echo 3600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout_stream


Step 2 :

Install CSipSimple apps at the official site. The current version is 0.00-12-22 at this writing. CSipSimple is under development at Alpha stage. The version at the Market is 0.00-12.

Select "Menu" -- "Accounts" -- "Add account" -- "World wide providers" -- "Ekiga"

Fill in the "User name" - "yourname" and "Password" - "yourpassword".

Save it.

You may see the word "Ekiga" turn to green.

Step 3 :

Select "Menu" -- "Settings"

(a) Easy Configuration
Nothing to set now.

(b) Network
Check all items.

(c) Media
Check "Echo cancellation"
Check "Voice audio detection"
Check "Enable ICE" (if you are behind firewall or NAT)
Check "Enable STUN" (if you are behind firewall or NAT)
Enter "stun.ekiga.net" at "STUN server"

*ICE may not required in some conditions.

(d) User interface
Check "Use partial wake lock"

Step 4 :

Exit and go to the dial panel. Select "six dots" icon on the left lower corner just next to the green phone headset.

Type your friend's account, the format may be "yourfriend@ekiga.net". Then, press green phone headset to dial out.

Remarks :

Up to now, the only cons is no contact list for speed dial. I have posted the request to the developer's site.

The known issue is that it cannot dial to Asterisk server as it will hang up automatically. In addition, when you call to Desktop that running Ekiga and behind router, you may encounter no voice between both sides.

The current development version (CSipSimple 0.00-12.22) does not support bluetooth. When bluetooth is enabled, the incoming and outgoing call may caused your Android hang or power off is required.

That's all! See you.

Thursday, August 19, 2010

HOWTO : Full HD playback with VideoLan and PPA on Ubuntu 10.04

This tutorial may read conjunction with the HOWTO : MyGica D689 USB HDTV dongle, VideoLan and PPA on Ubuntu 10.04 but the different is the display card. The display card (GeForce 8500GT) that using at the link does not support Full HD playback.

The CPU used in this tutorial does not support full HD playback.

Hardware and software used in this tutorial :

CPU - AMD Athlon 64x2 4200+
RAM - 8GB DDR2 800
Hard Drive - 500GB x 4 on Hardware RAID 10
Display card - nVidia GeForce GT240
Monitor - 4:3 LCD monitor (not full HD monitor)
Operating system - Ubuntu 10.04 Desktop AMD64

Step 1 :

Make sure you have installed the nVidia driver from repository.

"System" - "Administration" - "Hardware driver" - Select "Recommended"

sudo add-apt-repository ppa:nvidia-vdpau/cutting-edge-multimedia
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libvdpau1 vdpau-video ffmepg


Step 2 :

Install VideoLan and related packages.

sudo apt-get install x264 vlc mencoder qt4-qtconfig
sudo apt-get install ubuntu-restricted-extras quicktime-utils quicktime-x11utils libdvdnav4 libdvdread4 libdvdcss2 non-free-codecs faad


Or, you may require to reboot your system when necessary.

Step 3 :

*The settings below is only good for my hardware only. Yours may be different.

Run "VideoLan"

"Tools" -- "Preference" -- "Video Settings" -- Enable "Accelerated video output (Overlay)"

"Tools" -- "Preference" -- "Input and Codecs Settings" -- Enable "Use GPU acceleration (experimental)"

"Tools" -- "Preference" -- "Input and Codecs Settings" -- "x264 preset and tuning selection" -- Select "ultrafast" and "fastdecode"

Full HD video sample

You can download this sample for testing.

That's all! See you.

Wednesday, August 18, 2010

Must Install Apps for your Android

*** Last Updated on September 22, 2010 (GMT +8) ***

I have a Google Nexus One with Android 2.2. The following list is the some of the apps in my phone that I think good for you all.

For Hong Kong only

StudioKUMA Call Filter - Block spam calls
HK Weather Widget - Hong Kong Weather
港價 - Compare products price between shops / supermarkets Updated on September 13, 2010
Hong Kong Sky Eye - Traffic condition (still pictures) from Transport Dept
Mark Six (香港六合彩) - Lottery of Hong Kong
香港通宵交通 - Transportation for midnight
MyMetroHK - Metro (MTR's free newspaper)
am730 - AM730 free newspaper
StudioKUMA BusInfo - Buses information
Useful Numbers - Useful telephone numbers in HK

Chinese Input Method

Cantonese keyboard - Cantonese input method
Simplified Cangjie keyboard - Cangjie input method

Multimedia

RockPlayer - Media player (can play RMVB)
Adobe Reader - Adobe Reader (read PDF)
Any Radio - Internet radios (including all HK channels)
Skyfire - Another Browser with can watch TVB's MyTV New on September 13, 2010

Utilities

Tethering Widget - Toggle between USB and Hotpot tethering
Dr.Web Anti-virus - Anti-virus
Flash Player 10.1 - Adobe Flash player
Android System Info - Information about your Android
LauncherPro - Launcher (with 7 pages) Updated on September 13, 2010
App 2 SD - Moves apps between phone and microSD card
ESrongs File Explorer - File explorer for phone and microSD
Fast Reboot - Memory optimizer
Power Save Mode Toggle - Toggle between power save mode and standard mode
EStrongs Task Manager - Can kill task when it is abnormal
Save my Attach - Save email attachment
Quick Uninstaller - Uninstaller
Volume Control (by RevoSolutionary Development) - Control the volume of the Android New on September 13, 2010
SwiFTP - Android as FTP server New on September 13, 2010
Voice Caller ID - Speak out caller's ID when your phone rings New on September 22, 2010

Others

Find Starbucks - Any Starbuck coffee shop near you
GoMarks for Google - Google's bookmark
GPS Essentials - Information gathered by GPS
大牛新聞 - Instant News
ShopSavvy Barcode Scanner - Can read barcodes include QRCode
Barcode scanner (by ZXing Team) - Can read QRCode New on September 13, 2010
EasyShare - Share your QRCode
ConnectBot - SSH client
Sipdroid VoIP + video - SIP client
CsIpSimple - Another SIP client (in Alpha stage) New on September 13, 2010
MSN Talk - MSN instant messenger
Gemini Calendar - Calendar (work with Google's Calendar)
Thinking Space - Mind Map editor New on September 13, 2010
PingChat - Similar to MSN Talk but it can send MMS like images New on September 13, 2010
WiFi Manager - Shows available wifi APs New on September 13, 2010
ColorDict - Dictionary New on September 13, 2010

That's all! See you!

Tuesday, August 17, 2010

HOWTO : MyGica D689 USB HDTV dongle, VideoLan and PPA on Ubuntu 10.04

This tutorial is similar to the previous one but the different is using PPA repository

Hardware and software used in this tutorial :

CPU - Intel Core 2 Quad Q9550
RAM - 8GB DDR2 800
Hard Drive - 500GB x 4 on Hardware RAID 10
HDTV - MyGica D689 HDTV USB dongle (v3.0)
Display card - nVidia GeForce 8500GT
Monitor - 4:3 LCD monitor (not full HD monitor)
Operating system - Ubuntu 10.04 Desktop AMD64

Step 1 :

Make sure you have installed the nVidia driver from repository.

"System" - "Administration" - "Hardware driver" - Select "Recommended"

sudo add-apt-repository ppa:nvidia-vdpau/cutting-edge-multimedia
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libvdpau1 vdpau-video ffmepg


Step 2 :

sudo apt-get install mercurial

hg clone http://linuxtv.org/hg/v4l-dvb
cd v4l-dvb
make


Step 2a :

You may require to make some change on the following file.

nano v4l-dvb/linux/drivers/media/dvb/dvb-usb/cxusb.c

Locate "cxusb_d680_dmb_drain_video(adap->dev);" and commend it with "//" just in front of that entry.

Step 2b :

If you encounter an error on making FIREDTV module, you should do the following to fix it.

nano v4l/.config

Locate "CONFIG_DVB_FIREDTV=m" and change it to "CONFIG_DVB_FIREDTV=n". Save and conduct the following command again.

make

Step 2c :

sudo make install

Step 3 :

Download the Hong Kong TV Channels at here. Save somewhere on your computer. VideoLan requires it for watching HDTV.

Step 4 :

Insert your MyGica D689.

lsusb

The output should be :

Bus 001 Device 002: ID 0572:d811 Conexant Systems (Rockwell), Inc.

Step 5 :

Install VideoLan and related packages.

sudo apt-get update
sudo apt-get upgrade


sudo apt-get install x264 vlc mencoder qt4-qtconfig
sudo apt-get install ubuntu-restricted-extras quicktime-utils quicktime-x11utils libdvdnav4 libdvdread4 libdvdcss2 non-free-codecs faad


Or, you may require to reboot your system when necessary.

Step 6 :

*The settings below is only good for my hardware only. Yours may be different.

Run "VideoLan" and select the previous downloaded "vlc_tvlist.xspf" at the "Playlist".

"Tools" -- "Preference" -- "Video Settings" -- Disable "Accelerated video output (Overlay)"

"Tools" -- "Preference" -- "Input and Codecs Settings" -- "x264 preset and tuning selection" -- Select "ultrafast" and "fastdecode"

Know issue for my hardware

Only Jade HD, J2 and iNews channels work on my configuration of hardwares. Others channels do not work properly. I do not know why!

*Hong Kong TV channels only

That's all! See you.

Saturday, August 14, 2010

4 Must install Free Softwares for Windows

This writing is not talking about Open Source or Linux but Windows. Surprise?!

Many friends ask me what free softwares for their Windows system many times. I recommended the following softwares to them and they are very happy in using them. Thus, I want to share the list to you all Windows users.

The following free softwares are not Open Source. However, they are free to use. They are good for your Windows systems.

Powerful uninstaller
Revo Uninstaller

Powerful registry cleaner
TweakNow RegCleaner

To defrag your hard drive when your system is idle
Auslogics Disk Defrag

Anti-virus and anti-spyware replacement
Spyware Terminator

*I am not responsible for any damage on your systems when using the captioned softwares.

That's all! See you.

Thursday, August 12, 2010

Wednesday, August 04, 2010

HOWTO : Favourite songs anywhere with Subsonic, Ubuntu and Android

Subsonic is a Music Streamer that running on Linux, Windows and Mac OSX. Smarthphone such as Android and iPhone are also supported. You can even stream your songs over internet. You can control and listen your songs via your javascript enabled browser.

It is the excellent music streamer that I can found in the market. It runs very smoothly and flawlessly on 3G mobile network. However, it is not iTune (or DAAP) compatible.

Installation and setting up of Subsonic on computer and smartphone are very easy and user-friendly.

You can find valuable information for Subsonic on the official site.

Installation of Subsonic - Server side

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openjdk-6-jre lame flac faad vorbis-tools ffmpeg


wget http://sourceforge.net/projects/subsonic/files/subsonic/4.0.1/subsonic-4.0.1.deb/download

sudo dpkg -i subsonic-4.0.1.deb

*the current version is 4.0.1 at this time of writing.

Installation of Subsonic - Client side

Go to the "Market" on your Android smartphone and search for "Subsonic Music Streamer".

Setting up of Subsonic with browser

http://server_ip:4040

or

http://localhost:4040

username and password are both "admin".

Follows the instruction on the official site at here.

Enjoy!

That's all! See you.

Monday, August 02, 2010

HOWTO : MyGica D689 USB HDTV dongle and VideoLan on Ubuntu 10.04

*** UPDATED ON AUGUST 6, 2010 (GMT +8) ***

Hardware and software used in this tutorial :

CPU - Intel Quad Core Q9550
RAM - 8GB DDR2 800
Hard Drive - 500GB x 4 on Hardware RAID 10
HDTV - MyGica D689 HDTV USB dongle (v3.0)
Display card - nVidia GeForce 8500GT
Monitor - 4:3 LCD monitor
Operating system - Ubuntu 10.04 Desktop AMD64

Step 1 :

Make sure you have installed the nVidia driver from repository.

"System" - "Administration" - "Hardware driver" - Select "Recommended"

Step 2 :

sudo apt-get install mercurial

hg clone http://linuxtv.org/hg/v4l-dvb
cd v4l-dvb
make


Step 2a :

You may require to make some change on the following file.

nano v4l-dvb/linux/drivers/media/dvb/dvb-usb/cxusb.c

Locate "cxusb_d680_dmb_drain_video(adap->dev);" and commend it with "//" just in front of that entry.

Step 2b :

If you encounter an error on making FIREDTV module, you should do the following to fix it.

nano v4l/.config

Locate "CONFIG_DVB_FIREDTV=m" and change it to "CONFIG_DVB_FIREDTV=n". Save and conduct the following command again.

make

Step 2c :

sudo make install

Step 3 :

Download the Hong Kong TV Channels at here. Save somewhere on your computer. VideoLan requires it for watching HDTV.

Step 4 :

Insert your MyGica D689.

lsusb

The output should be :

Bus 001 Device 002: ID 0572:d811 Conexant Systems (Rockwell), Inc.

Step 5 :

Install VideoLan and related packages.

sudo apt-get update
sudo apt-get upgrade


sudo apt-get install x264 vlc mencoder qt4-qtconfig
sudo apt-get install ubuntu-restricted-extras quicktime-utils quicktime-x11utils libdvdnav4 libdvdread4 libdvdcss2 non-free-codecs faad



Or, you may require to reboot your system when necessary.

Step 6 :

Run "VideoLan" and select the previous downloaded "vlc_tvlist.xspf" at the "Playlist".

Select "Average" on "Deinterlace" from "Video".

*My system should set "Average" on "Deinterlace" for TV playback. I think it is because of my unsupported nVidia GeForce 8500GT. Newer nVidia should work better.

Remarks :

As my system is using nVidia GeForce 8500GT which does not support HD playback, the CPU loading is quiet high and the screen may interfere for sometimes but not often. It is acceptable.

That's all! See you.