Archive for 2007

Integrated IM (YM and MSN contacts in your Gtalk)

Monday, December 17th, 2007

Inspired by Khurt’s weblog at
http://islandinthenet.com/2006/10/10/get-google-talk-msn-yahoo-and-aol-all-talking/

I did some simple experiments with my own jabber server because I am curious about how the “transport” thing is working between jabber protocol and any other IMs.

For the experiments, I was using several jabber servers and clients:

  • my own jabber server which is using jabberd as the jabber daemon
  • jabbim.com as jabber server
  • jaim.at as jabber server
  • PyMSN as MSN transport from my jabber server
  • XMPPY as Yahoo transport from my jabber server
  • gtalk client
  • PSI 0.11
  • Pidgin
  • Yahoo messenger 8.1
  • MSN messenger 7.0

And here are the results:

  1. message from YM/MSN unlisted contact to gtalk –> failed
  2. add request from YM/MSN unlisted contact to gtalk –> success
  3. add request from gtalk to YM or MSN using special address format –> success
  4. message from deleted/removed contact to gtalk –> success
  5. Availability status of Yahoo and MSN contact list are not stable in Gtalk/Jabber client. Sometimes, the contacts are shown as offline.
  6. YM avatar in gtalk is changed. There are two default avatars in Yahoo transport, one for male and one for female.
  7. MSN avatar in gtalk is the original MSN avatar.

Analysys:

  1. gtalk is only receiving message from known contact
  2. Add request to gtalk consist of two things: authorize new friend and add the new friend in the contact list
  3. your friend needs to be authorized first before he/she can send a message to your gtalk
  4. once your friend is authorized, he/she is still able to send a message to you although you have delete him/her id from your gtalk.
  5. If you don’t want to receive any message from someone, you need to block him at your gtalk
  6. The results are same for any jabber clients and jabber servers.
  7. About the unstable contact list status, I think that the transport is not retrieving the status from Yahoo and MSN server often enough or maybe the transport protocol is not reliable.
  8. The traffic flow if you send a message from gtalk to yahoo contact: you–> gtalk client –> gtalk server –> jabber server –> jabber transport –> yahoo/msn server –> your friend

So, the conclusion is, please re-consider the test result above if you want to integrate all your IM contact into your Gtalk. For me, I think i will not use this method at least until I can get stable contact list and maybe until I get a very reliable jabber server. I will not using my own jabber server because I still use it as my other experiments, and I prefer to use any open/public jabber server which is very reliable and fast.

-rendo-

Juniper Olive on Qemu on FreeBSD host

Monday, October 15th, 2007

Basically, most of this post is taken from http://juniper.cluepon.net/index.php/Olive with some modifications to install Qemu on FreeBSD host. As stated in website above, Olive is simply JunOS running on a PC which happens to not be installed inside a router. Olive is the natural state of a PC running JunOS when there is no PFE attached.

Why do I prefer to have Qemu on FreeBSD? There are several reasons:

  • I have my own FreeBSD server connected with IP public all the time
  • I don’t want to reduce my laptop performance because of running Qemu
  • I am not always using my laptop which has Qemu installed
  • I want to have dedicated PC for all simulation purposes

So, now we start. First of all, if you are using FreeBSD, I strongly recommend to use Ports, Don’t install Qemu manually if you don’t want to waste your time with some headache. There are two Qemu source in FreeBSD ports, Qemu and Qemu-devel. Choose Qemu-devel if you want to get fxp0 interface in your Olive. Fxp interface is only available in Qemu-devel right now, or if you want to make sure that your qemu version is alredy supporting fxp0 or not, you can check whether eepro100.c file is present in hw subdirectory inside the qemu source directory. If you have this file, you can sure that you will have fxp interface support in your qemu.

http://people.freebsd.org/~maho/qemu/qemu.html gives you very brief guide to install Qemu on FreeBSD. Don’t forget to install kqemu since it has significant impact on your performance.

If you finish with Qemu installation, you can continue your olive installation by referring to http://juniper.cluepon.net/index.php/Olive and http://www.smogey.net/tech/Juniper/Olive/index.htm. Smogey.net gives you very detail step by step FreeBSD and JunOS installation guide, don’t worry about the vmware, the procedure of installing FreeBSD and JunOS is the same between vmware and qemu. Just create your qemu virtual disk and start your qemu before installing the FreeBSD.

Or, if you already have Juniper Olive Vmware virtual disk (the vmdk file), you can use this vmdk on qemu. Just start qemu with this vmware vmdk.

One small tip from me, if you want to keep your image file as small as possible, convert your image format to qcow with compression format using qemu because i found that vmdk and normal qemu image format always gives you false size report, there are two size report, normal size and physical size. It is ok if you don’t have a plan to copy your image to somewhere else, because your operating system is referring to physical size, so you need not to worry if you see 10 G in your image size. BUT, if you copy this file to somewhere else, the destination folder/drive will allocate the normal size, so in this case, your destination drive will allocate 10G free space just for your empty image.

I created 5 fxp interfaces inside Qemu using the following command:

qemu -L . -m 256 -hda olive2.img -serial telnet::xxxx,server -localtime -net nic,vlan=0,macaddr=00:aa:00:00:01:02,model=i82559er -net nic,vlan=1,macaddr=00:a
a:00:00:01:03,model=i82559er -net nic,vlan=1,macaddr=00:aa:00:00:01:04,model=i82559er -net nic,vlan=2,macaddr=00:aa:00:00:01:05,model=i82559er -net nic,vlan=
2,macaddr=00:aa:00:00:01:06,model=i82559er -vnc :1 -usbdevice tablet -net tap,vlan=0,ifname=tap0

And, I got all my vlan interfaces and ospf up and running. This my screenshot of my Olive using JunOS 7.4.

Juniper Olive

btw, I have seen someone is testing Olive by handling around 45 Mbps traffic, running GRE tunnel, OSPF and having almost half internet full routes in the BGP prefix and it is stable enough.

rendo [dot] aw [at] gmail [dot] com

nb: I shut off my comment feature in this website due to spam. If you have any question, just drop my an email.

Gtalk to VoIP Service Review

Sunday, September 16th, 2007

Few days ago, I found a very interesting website called Gtalk2VoIP. By looking at its name, we can guess that Gtalk2VoIP provides a sort of communication bridge between GoogleTalk service and any other phone system. As shown in the Gtalk2VoiP website, the offered services are:

Free Service

  • Voice calls between Google Talk, MSN/Live Messenger and Yahoo!
  • Voice mail service, interoparable between major IM clients.
  • Voice conferencing: with any number of participants of any IM type.
  • Sending off-line messages and notifications.
  • Calling SIP phones and SIP services.
  • Receiving calls to your IM from any SIP phone.
  • Receiving calls to your IM from mobile or landline phones using SIP Broker.
  • Receiving calls to your IM from web users.
  • Free toll-free calling to 1-800, 1-866, 1-877 and 1-888 numbers via SIP Broker.

Paid Service

  • Outgoing calls from your IM to any telephone numbers throgh a number of VoIP carriers.
  • Incoming calls to your IM from any phone number (PSTN DID assignment).
  • Sending SMS messages from your IM to any mobile phone number.

In this post, I prefer to share about my experience of using Gtalk2VoIP services. If you want to get more detailed information regarding the service and its cost, please check the official website.

Ok, let’’s begin the review.

1. Create acount
You need to invite service@gtalk2voip.com from your gtalk account or just go to the Gtalk2VoIP website and use the invite form. After that. issue a “mypage” command and the system will return the specific URL for your account.

2. Buy Credit
Gtalk2VoIP is compatible with Paypal and Webmoney. Because I only have paypal account, I tried to buy credit using my paypal. By default, you can not buy credit directly, you need to ask the Gtalk2VoIP service team to open your account access towards Paypal or Webmoney gateway.

3. Call from Gtalk to PSTN or mobile phone
If you have enough credit, you can call any Mobile phone or fixed phone. The text command and the result are shown below (complete session report is available at the end of this post) :
me: call 6281210xxxxx
service: Welcome to GTalk2VoIP - Free Voice Gateway for Google Talk, MSN and Yahoo!
Type ‘HELP’ for more information
You entered: call 6281210xxxxx
You have 10.0200 USD.
Please, accept call from gtalk2voip !!!
Thank you!
Calling phone: 6281210xxxxx via AVANGARD (H323). Cost = 0.1582
Call in progress…
Trial number 1 of 5 failed. Reason = EndedByTransportFail
Calling phone: 6281210xxxxx via LUXOR (H323). Cost = 0.15372
Call in progress…
PM Trial number 2 of 5 failed. Reason = EndedByHostOffline
Calling phone: 6281210xxxxx via USCAMLLC (SIP). Cost = 0.16646
Call in progress…
Remote answered. Now talking…
Charged time: 32 secs. Reason = EndedByRemoteUser

Personally, the call quality is fair, it is not too good but not bad. From the log above, we can see which gateway that we used. The good thing of Gtalk2VoIP, if you already have experience with many PSTN gateway provider, you can create your own dialing plan, such as: you want to use provide A to reach all or some destination numbers. You even able to route the call to your own SIP server if you already have your own SIP server that connect to PSTN.

4. Voice calls between Google Talk, MSN/Live Messenger and Yahoo!
I am not sure if this kind of service is useful for many of us because personally i would prefer to do voice call from Gtalk to Galk or Yahoo to Yahoo. I prefer to have multiple instant messenger (IM) account instead of using Gtalk2VoIP service as a voice call bridge between different IMs.

5. Call from Gtalk to SIP phones and SIP services
This service is interesting. As we know, many companies or groups has established their own SIP network to reduce telecommunication cost between their members. As individual, sometimes we also join some free SIP service provider such as voipstunt, voipbuster, etc. Gtalk2VoIP make us able to call our colleagues who are using SIP phone. This service also helps the Linux user to be called by Gtalk user. Since there is no Gtalk client for Linux which supports voice call, Linux users need SIP server and this Gtalk2VoIP service as a bridge to Gtalk network. The text command and the result of this feature are shown below (complete session report is available at the end of this post) :
me: call xxxx@yyyyy.rendo.info
service: You entered: call xxxx@artaloka.rendo.info
You have 9.8037 USD.
*Please, accept call from gtalk2voip !!!*

Incoming call from service@gtalk2voip.com at 1:27 PM on Saturday
service
*Thank you! Calling SIP phone: xxxx@artaloka.rendo.info .*

service: Calling… xxxx@artaloka.rendo.info
service
Call in progress…
Remote answered. Now talking…

service: Talking to xxxx@artaloka.rendo.info
service
Charged time: 10 secs. Reason = EndedByRemoteUser

Yes, although there is a charging information, after looking at the session report, I am sure that the cost is free. In the sample log above, I did voice call from my Gtalk account to my SIP account. I have my own SIP server in artaloka.rendo.info and I am using sjphone as my SIP client. The quality is good but the delay is longer compare with direct gtalk to gtalk call. I suspect that my internet connection to Gtalk2VoIP SIP server is not too good and Gtalk2VoIP may use back2back user agent.

6. Call from SIP phones Gtalk
Yes, this service is the other way around of the previous service above. This feature enable Gtalk user to be called from SIP phone. The text command and the result of this feature are shown below (complete session report is available at the end of this post) :

Incoming call from rendo_at_artaloka.rendo.info@gtalk2voip.com at 1:46 PM on Saturday
rendo_at_artaloka.rendo.info: Call from SIP: rendo@artaloka.rendo.info
Call ended with rendo_at_artaloka.rendo.info@gtalk2voip.com at 1:46 PM on Saturday

7. Receiving calls to your IM from mobile or landline phones using SIP Broker
Gtalk2VoIP is also providing you with a unique code that make use able to be called from any PSTN/Mobile network all over the world for free. Gtalk2VoIP has many incoming PSTN gateway to Gtalk network so we can call our friend in Gtalk network using our mobile with local phone call cost. Unfortunately, there is no gateway in Indonesia yet :(. Few days ago, I tried to use Gtalk2VoIP gateway in Australia, and after I put my friend Gtalk2VoIP number code, I am able to connect to him. I am sorry, I don’t have

8. Sending SMS messages from your IM to any mobile phone number.
The text command and the result of this feature are shown below (complete session report is available at the end of this post) :
me: sms +6281210xxxxx test dari gtalktovoip
service: You entered: sms +6281210xxxxx test dari
Sending SMS message to 6281210xxxxx: test dari gtalktovoip
Sending SMS to 6281210xxxxx via CLICKATELL. Cost = 0.1275 USD.
You have 9.8037 USD.
Thank you!

9. Incoming calls to your IM from any phone number (PSTN DID assignment)
This feature is similar as SkypeIN service, you will get a local normal phone number. I haven’t tried it yet, to get called from landline phone, I am happy already with SIP broker in the previous chapter.

10. Callback service
By using callback service, we can create connection between landline phone, gtalk, SIP users and any other IM users by put a single text command only. I haven’t tried it from my PC but I have tried it using Java mobile client as described in the next chapter.

11. Gtalk2VoIP java client in Mobile Phone
Gtalk2VoIP also provides us with mobile phone client software in java format. You can find the client in http://www.talkonaut.com/
Currently, I am able to do call from my gtalk account from my mobile phone to any Gtalk, SIP and landline phone but I can’t do it from my other IM account. I have configured my YM account inside the talkonaut client but I don’t know how to connect it yet :(
From the Talkonaut Java mobile client, I tried to call my friends gtalk account using my other mobile phone, so I put my other phone number as the source call and put my friend gtalk account as my destination. There were something funny when I tried it in the first time, I put the same phone number which I used it to connect to talkonaut service using 3G GPRS, so when Gtalk2VoIP create the first leg towards my mobile phone, the call always failed. In the 3G network, normally we are able to connect to GPRS and do voice call simultaneusly but in this case Talkonaut client block my phone screen so there is no incoming call indicator. You can see the session report of the callback service below.

As my promise, this is the sample of call sessions report

Date of use:GMT Destination:E.164 VoIP provider:reg. id Duration:secs Amount charged:USD Disconnect reason:Q.931 Service type:
2007-xx-15 07:50:23+00 gtalk:yyyyy@gmail.com Google Talk 40 0.0000 EndedByRemoteUser callback
2007-xx-15 07:50:17+00 phone:6281723xxxxx AVANGARD 46 0.1028 EndedByRemoteUser callback
2007-xx-15 07:45:49+00 phone:6281210xxxxx LUXOR 0 0.0000 EndedByHangup callback
2007-xx-15 06:46:20+00 zzzzz@gmail.com 11 0.0000 EndedByLocalUser sip2gtalk
2007-xx-15 06:27:30+00 xxxx@artaloka.rendo.info 10 0.0000 EndedByRemoteUser gtalk2sip
2007-xx-14 20:51:17+00 6281210xxxxx CLICKATELL 1 0.1275 SentBySMTP sms
2007-xx-12 14:36:23+00 6281210xxxxx USCAMLLC 32 0.0888 EndedByRemoteUser gtalk2voip
2007-xx-12 14:35:57+00 6281210xxxxx LUXOR 0 0.0000 EndedByHostOffline gtalk2voip
2007-xx-12 14:35:56+00 6281210xxxxx AVANGARD 0 0.0000 EndedByTransportFail gtalk2voip
2007-xx-12 08:24:08+00 yyyy@gmail.com 29 0.0000 EndedByRemoteUser sip2gtalk

As the conclusion, I am very impressed with Gtalk2VoIP service, especially for their ideas. Hope the services will improve both in terms of quality and in terms of type of services.

-rendo-