SwordFish

•April 22, 2007 • Leave a Comment

SwordFish

SwordFish, swimming close to the Victoria Harbour, Wan Chai, Hong Kong.

十一个爱情经典名句

•April 22, 2007 • Leave a Comment

1.不要因为寂寞去恋爱,时间是个魔鬼,天长日久,如果你是个多情的人,即使不爱对方,到时候也会产生感情,最后你怎么办?

2.不要随便和别人上床,否则将来遇到一个真爱,但他却是个洁身自好、有原则的男人,你会后悔当年的所作所为。

3.在要求对方是不是处女的时候,想想自己是不是处男,如果是,你可以,如果不是,你凭什么?

4.不要因为自己的长相不如对方而放弃追求的打算,长相只是一时的印象,真正决定能否结合主要取决于双方的性格,我见过的帅哥配丑女,美女配丑男的太多了。

5.和一个生活习惯有很多差异的人恋爱不要紧,结婚要慎重,想想你是否可以长久忍受彼此的不同。

6.经常听说男人味女人味,你知道男人味是什么味道,女人味又是什么味道吗?男人味就是豁达勇敢,女人味就是体贴温柔。

7.和聪明的人恋爱很快乐,因为他们很幽默,会说话,但也时时存在着危机,因为这样的人容易变心,和老实的人恋爱会很放心,但生活却也非常乏味。

8.有的人老是抱怨找不到好人,一两次不要紧,多了就有问题了。首先你要检讨一下你自己本身有没有问题,如果没有,那你就要审视一下自己的眼光了,为什么每次坏人都让你碰到?

9.有人说男人一旦变心,九头牛也拉不回来,难道女人变心,九头牛就拉得回来吗?男女之间只有生理差异,心理方面大同小异。

10. 如果真爱一个人,就会心甘情愿为他改变,如果一个人在你面前我行我素,置你不喜欢的行为而不顾,那么他就是不爱你。所以你不够关心他或者他不够关心你,那 么你就不爱他或者他不爱你,而不要以为自己本来就很粗心,或相信他是一个粗心的人。遇到自己的真爱,懦夫也会变勇敢,同理,粗心鬼也会变细心。

11.成熟的人不问过去,聪明的人不问现在,豁达的人不问未来。

接吻的十三种方式

•April 20, 2007 • Leave a Comment

第一式:舔吻

用舌舔对方的上下唇,让对方感受舌部味蕾舔掠的感觉,注意要保持唾液的充分,如果唾液太少,干燥的舔吻会有不舒服的感觉。

第二式:咬吻

用牙齿轻咬对方的唇,但别咬的太用力,以免受伤喔!
第三式:吸吻

轻轻的吸吮对方的唇部;可用自己的唾液轻抹在对方的唇部,然后吸吮干净。
第四式:推动吻

把舌伸进对方口中,让舌与舌互相推放,男生力气应放小,以免女生疼痛;这种互推吻可形成快感。
第五式:吸舌吻

以你的唇含住他的舌,轻轻的吸吮对方的舌头,动作宜缓慢而轻柔,勿过于仓促。
第六式:齿龈吻

用舌探索对方的牙及牙龈的内外两侧,以刺激口内粘膜为目的。动作要仔细,慢,轻柔的介于碰触与不碰触之间,以产生一种特殊的亲密感。
第七式:滑动吻

用舌尖稍用力的舔对方的舌部内侧,由里向外滑舔。
第八式:舔舌吻

双方以舌对舌互舔,以用舌尖为主,不用唇。
第九式:嚼食之吻

咬住对方的舌头,似欲吞食般的吻;请小心别用力过火,只是假装而已。想像对方的舌头是好吃的东西,又咬又舔又吸的想吞进肚子里去。

第十式:律动之吻

以舌在对方的口中,有节奏律动般的的绕着对方的舌尖,画圈似的舔吻。

第十一式:深喉咙吻

将舌深入对方的喉咙重舔。重压,是霸道占有般的吻;这是一种颇不舒服的吻法,但还是有乐在其中的人。
第十二式:热情之吻

将自己的舌把对方的舌包卷于口中,上下左右回旋翻动,用放肆的旋动来增加快感,虽嫌粗鲁但颇具挑战性,是接吻高手必备的技巧之一。
第十三式:甘泉之吻

利用两唇相接时……以舌将自己的唾液渡入对方口中,并吸食对方的唾液。适用于两情相悦且身体健康的爱侣,会觉入口之唾液为琼浆玉液般,世间独有

这九种感情才叫爱情

•April 20, 2007 • Leave a Comment

第一种 美丽的感觉

俗话说情人眼里出西施,所以在有爱情的时候,你一定会觉得对方最好看,即使有别的异性比你爱的对象好看,但对你而言,他才是你心中最没的一个,而且是别人无法相比的。

第二种 亲爱的感觉

当你爱上一个人,你会有种很亲切的感觉,跟他在一起,你会觉得很舒服,很和谐。你可以信任并依赖他。他像是一个亲密的家人,甚至可以说,比一个家人更亲密,而且在这亲密里,你更体会到一份温馨的感觉——这就是亲爱的感觉。在这个爱情的国度里,他愿意包容你所有的缺点。

第三种 羡慕及尊重有感觉

一个健康的爱情关系,应当有以对方为荣的感觉,你会欣赏对方所有的一切,包括内在与外在的条件和优点,并且对方也让你感觉,他处处以你为荣。如果这种感觉存在的话,不论他做这件事是成功或失败,你都会欣赏他的才华,而不是重视结果。

第四种 赞许的爱情

相爱的时候,你是否喜欢夸奖对方,而且不仅是欣赏,或敷衍了事而已,你还会喜欢在他不在的时候想其他人讲述他的种种好,哪怕帮你泡一碗方便面。重要的是,你从夸奖对方的热诚之中感到无比的快乐。

第五种 受到尊重的自尊

爱情关系可以提高一个人的自尊心,可以让个你感觉到生活的意义,因为爱情能够让你发现,其实你有着无人可比的独特性,虽然你有优点,也有缺点,但是你的独特性使你敌后到无比的尊重,生命也因此无比的快乐。

第六种 占有欲

爱情是绝对独占的,是不能与他人分享其亲密的男女关系,因此,当爱情从不确定走向稳定后,学要以婚姻来持续以后的日子,所以我们在结婚时彼此相约相许。在真实的爱情生活里,活象许诺忠诚是必要的。

第七种 行动自由

如果一个人有正当的理由,他行动的自由一定要受到尊重,这样才不会破坏两人之间的爱情关系。爱情跟着感觉走的人虽然十分令人担心湖泊生气,但是对于热爱岁性生活的人而言,限制或约束一点用都没有,还不如给他自由,空间。他总会回来的。

第八种 深深的同情

人们对深爱的人常会有怜惜的感觉,经常会为对方考虑,如果对方受到挫折,我们会非常愿意为他分担痛苦与挫折,把对方所受的苦当作自己所遭遇的苦难一样,或是更胜于自己的苦难,因为爱情里,我们愿意为对方而牺牲自己的利益

第九种 生理上的性冲动

当我们在对一为异性产生兴趣或是爱上某位异性时,都希望彼此有绳梯的接触。在正式的爱情生活里这种欲望是永远存在的。性冲动并不是单单只是行为,它还包括了许多其他亲密的身体上的接触,如牵手,拥抱等等,这种情感会永远存在于爱人心中

13 Things to do immediately after installing Ubuntu

•April 20, 2007 • Leave a Comment

1. Enabling/Adding Extra Repositories
Ubuntu comes by default with only some of the repositories enabled because of licensing issue since downloading certain codecs and apps may be illegal in some countries so you have to enable these repositories/add new repositories to enable installation of these packages.

To enable new repositories go to (System -> Administration -> Synaptic Package Manager ) , type in the root password .Then Go to (Settings -> Repositories ), there enable all the check-boxes to enable all the repositories you need .

Also for installing some apps extra repositories are needed since they are not in the default repositories so go to third Party and add the following there


deb http://ntfs-3g.sitesweetsite.info/ubuntu/ edgy main main-all
deb http://flomertens.keo.in/ubuntu/ edgy main main-all

This repositories below is for Multimedia files and stuff above was for ntfs-3g you can use any one of the above since they are mirrors.

 

deb http://mirror.ubuntulinux.nl edgy-seveas all

IMPORTANT: Do not press reload button now in synaptic package manager type first following command in the terminal to install the GPG keys.

After doing this exit Synaptic Package Manager go to (Applications > Accessories > Terminal) and type the following command to import GPG keys .

wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add –

wget http://mirror.ubuntulinux.nl/1135D466.gpg -O- | sudo apt-key add –



After doing this your system should be ready for installing extra application. Type the

sudo apt-get update
sudo apt-get upgrade


at terminal to start adding data from the repositories.

2. Installing ntfs-3g

ntfs-3g this is necessary if you have a ntfs drive in your computer ( Usually Windows XP installs on NTFS drive) and you want to read and write data to the drive you have to install this .

This can be installed as following type the following at the command prompt

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ntfs-3g

Then type the following command

gksu ntfs-config

This is automatic configuration of ntfs-3g , enable read , write support and it should be configured.

these commands would back up fstab file if configuration goes wrong.

sudo cp /etc/fstab /etc/fstab.bak
gksu gedit /etc/fstab


Now one more thing you want your windows (NTFS) drive to be mounted automatically add the following entries to /etc/fstab

/dev/
/media/ ntfs-3g defaults,locale=en_US.utf8 0 0

Where /dev/partition is the partition which is NTFS drive , in my case /dev/hda1
/media/ this is just the directory you want to use as a mount point where windows drive would be mounted , you can very well use any drive you like.

now Restart ubuntu your windows partition should be working well.

3. Making Windows see your Linux partition

Windows XP lacks support for reading and writing files to Linux file system however external utilities like free Ext2 File system for windows allows Windows XP to read and write files to a Ext2 , Ext3 file system however ReiserFS file system is not supported .

You can get Ext2 file system for windows at the following link : –
(http://www.fs-driver.org/download.html)

4. Installing flash-plugin

Macromedia Flash player is not installed by default but since we would be surely needing it while browing the net , installing it is necessary
it can be installed by following command

sudo apt-get install -y flashplugin-nonfree

5. Installing Microsoft True Type Fonts

If you are making a jump from windows to ubuntu you would surely miss the true type fonts that Windows uses , since Microsoft has released them free so they can be installed without a hitch in ubuntu (Though not distributed with Ubuntu) .

sudo apt-get install -y msttcorefonts

6. Installing unrar

RAR is one of the very widely used archives on Windows , however unrar tool to decompress RAR is not shipped with distribution and has ti be installed manually.

sudo apt-get -y install unrar 

7. Installing mpg123

mpg123 is a very nice command line based mp3 player that can play mp3 files even on a slow processor based computer , further installing this provides a way of playing mp3 files from within the nautilus file manager . Hence i recommend installing mpg123

sudo apt-get install -y mpg123

8. Installing Adobe Reader

Though ubuntu comes with default evince reader for viewing pdf files , but i am sure you would like to use more complete version of pdf reader Adobe Reader 7.0 which is quiet professional and
more robust , the Linux version of Adobe Reader 8.0 has not been released but the version 7.0 is available and could be downloaded from the following website : –

http://www.adobe.com/support/downloads/product.jsp?product=10&platform=unix

9. Installing DVD playback support

Now this is a contentious issue , in some countries playing DVD files through DEcss is illegal so use it at your own will , anyways to enable dvd playback issue the following command at the command line : –

sudo aptitude install libdvdcss2

Note : the above commands would only work if you have added the repositories i had mentioned before the Seveas repositories.

However if you do not have these Repositories installed issue the following command to install the DVD playback support : –

sudo /usr/share/doc/libdvdread3/./install-css.sh

10 . Installing the extra multimedia codecs,players

Now you would surely want to install all the codecs for playing various media files and the players primarily xine,vlc,mplayer issue the following commands to install the multimedia codecs.

sudo apt-get install gstreamer0.10-pitfdll gstreamer0.10-ffmpeg gstreamer0.10-gl gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse libxine-extracodecs w32codecs
vlc mplayer

This command would install most of the codecs for gstreamer multimedia architecture and vlc media player and Mplayer , as well as the dll files codec (w32codecs) for decoding various files whoose open source decoder are not available.

11. Updating the system

After installing Ubuntu you would surely like to update the system so that all the packages on the system are up to date to new version of the software .
It can be done by following steps , go to (System > Administration > Update Manager)
Now press the Check button and then Install updates to start the installation of updates to the ubuntu system.


12 . Installing beagle

Now Ubuntu does not come with beagle pre-installed maybe because it is still not a final 1.0 release still it is very nice and efficient for searching files and directories on Linux providing features similar to Google Desktop Search and Mac OS Spotlight anyways to install beagle issue the following command at command line :

sudo apt-get install -y beagle


13. Installing gdesklets

gdesklets gives user a collection of impressive widgets that can be placed on desktop this is similar to feature available on Windows Vista and Mac OS X , it does provide quite a good look to the desktop.

To install gdesklets issue the following command at the command line

sudo apt-get install -y gdesklets

after installation go to (System -> Preferences -> Sessions) There go to Start up program and add gdesklets shell , now every time gnome loads up you should see your gdesklets on the desktop.

This is how my desktop looked like with all the desklets (Widgets )

Late additions:-
If you find above steps complicated and would like to do it simple way try EasyUbuntu described below , since Automatix have not been well received by Ubuntu Developers and is somehwhat similar in features to EasyUbuntu i am describing EasyUbuntu only.

 

EasyUbuntu is a community maintained script that provides a easy way of installing most of the codecs , applications ,tweaks not included in official ubuntu installation. Initially there were fears that attracted a lot of negative publicity to the EasyUbuntu script that is it forces application installations and modifies systems sources.list however according to official EasyUbuntu website these problems have been corrected .

Some of the packages it installs include following : –
(Note : taken from official EasyUbuntu Website )

Multimedia

  • Enhance video player: Install a better multimedia backend (totem-xine replace totem-gstreamer)
  • Free Codecs: Add Support for playing mp3 and other non-free formats
  • Binary Codecs: Add support for proprietary video and audio formats (w32codecs) (only x86)
  • libdvdcss: Read commercial and encrypted DVDs
  • MIDI: Add support for playing midi files

Web

  • Flash: Enable the Macromedia Flash plugin (only x86)
  • Java: Enable the Java plugin (Sun Java for x86, amd64) (IBM java for ppc)
  • Videos: Enable viewing videos embedded in webpages

Archives

  • RAR: extract and create RAR archives
  • ACE: extract ACE archives
  • 7-Zip: Extract 7-Zip archives

System

  • Repository list: Main, Universe, Multiverse and PLF (replace your previous sources.list)
  • Fonts: Install Microsoft and other nice fonts
  • DMA: Enable Direct Memory Access to improve DVD reading (breezy)
  • Nvidia: install the official driver to enable 3D on Nvidia graphics cards
  • ATI: install the official driver to enable 3D on ATI graphics cards

Voice Over IP

  • Wengo: a free Voice Over IP software (available in dapper)
  • Skype: the most popular VoIP software (only x86)

Installation : –

To install EasyUbuntu first download the Ubuntu package from the following link:

http://easyubuntu.freecontrib.org/files/easyubuntu_latest.deb

now go to (Application -> Accessories -> Terminal) and go to the directory where you have downloaded the debian package of EasyUbuntu and issue the following command to install EasyUbuntu : –

sudo dpkg -i easyubuntu_latest.deb

after completeion of the above process issue the following command in terminal

sudo wget -q http://medibuntu.sos-sts.com/repo/medibuntu-key.gpg -O- | sudo apt-key add –

Now EasyUbuntu should be set up for installation of packages .

Go to (Applications -> System tools -> EasyUbuntu ) to launch EasyUbuntu , beyond this the applications interface is quite easy for beginner and one can easily install packages without much help.

Automatix is another community maintained script , similar to EasyUbuntu simplifies the installation of the commonly used codec(Mp3,Video formats, Flash 9 and more ),applications(like Google Earth,Picassa,VMWare Player and more) there has been both positive and negative things said about Automatix , personally i have not used it but i have heard a lot more positives than negatives in using Automatix ,However German version (not officially supported by the Automatix team) has some serious issues currently: removes its own files instead of using the packaging system. uses apt-get –force and –assume-yes anyways some of the programs and is not officially supported by Automatix team.

However Automatix has received some serious comments from Ubuntu Community which have criticized it since it makes Upgrading Ubuntu difficult since it adds it own repos.

74 Open Source VoIP Apps & Resources

•April 19, 2007 • Leave a Comment

When a body of independent auditors and experts recommended that the State of California consider open-source software and voice over Internet Protocol telephony (VoIP) as two measures to cut costs in 2004, that was the signal that open source and VoIP should unite. After all, what’s better than free software? Open source is better, because you have access to the code. What’s better than open source? Open source that’s focused on VoIP. That’s what you get here — 74 open source apps tucked into categories that you can use “as is” or change to fit your specific VoIP needs.The following apps and resources are categorized by SIP, H.323, IAX, and RTP protocols and include clients, libraries, gatekeepers, and any other open source resource available for those specific protocols plus PBX and IVR platforms. You’ll also find tools like faxware, voicemail apps, and middleware that applies to one or more of the previously mentioned protocols.

H.323 Clients (User Agents)

VoIP traditionally uses H.323, a rather complicated protocol that uses multiple ports and a binary code for data. But apps like FreeSWITCH make H.323 seem like a piece of cake with its all-in-one application. The following H.323 clients are broken down into Multiplatform, Linux, MacOS X, and Windows.

Multiplatform

  1. FreeSWITCH – FreeSWITCH is a telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow. FreeSWITCH runs on several operating systems including Windows, Max OS X, Linux, BSD, and Solaris on both 32- and 64- bit platforms. Note: FreeSWITCH is also multiprotocol, as it works with SIP, IAX2 and GoogleTalk to make it easy to interface with other open source PBX systems.
  2. YATE – Yate (Yet Another Telephony Engine) is a next-generation telephony engine that is the first open source telephony application capable of handling 600 H323 calls; while currently focused on Voice over Internet Protocol (VoIP) and PSTN, its power lies in its ability to be easily extended. Voice, video, data and instant messaging can all be unified under Yate’s flexible routing engine, maximizing communications efficiency and minimizing infrastructure costs for businesses. YATE can be used for anything from a VoIP server to an IVR engine. The software is written in C++ and it supports scripting in various programming languages (such as those supported by the currently implemented embedded PHP, Python and Perl interpreters) and even any Unix shell. Note: YATE is multiprotocol, as it works with SIP and IAX, and H.323 protocol is stable supported just by Yate. The most used application of Yate is as a SIP-H323 translator because is the only open source stable translator.

Linux

  1. Ekiga – Ekiga (formely known as GnomeMeeting) is an open source VoIP and video conferencing application for GNOME. Note: Ekiga uses both the H.323 and SIP protocols. It supports many audio and video codecs, and is interoperable with other SIP compliant software and also with Microsoft NetMeeting.

MacOS X

  1. XMeeting – XMeeting is the first H.323 compatible video conferencing client for Mac OS X.

Windows

  1. OpenH323 Project – The OpenH323 project aims to create a full featured, interoperable implementation of the ITU-T H.323 teleconferencing protocol that can be used by personal developers and by commercial users without charge.

H.323 Gatekeeper

  1. OpenH323 Gatekeeper – The GNU Gatekeeper (GnuGk) is a full featured cross-platform H.323 gatekeeper, available freely under GPL license.

H.232 Radius Platform

  1. BSDRadius – While there are quite large number of Radius servers (including free) available in the world, little number of them (if any) are developed with VoIP specific needs in mind. BSDRadius is a RADIUS – compliant AAA (Authentication, Authorization, Accounting) server with CHAP-password authentication for H.323. Platform-independent, but has not been tested on Windows.

SIP Clients (User Agents)

SIP (Session Initiation Protocol) is currently described by the rfc2543SIP is a popular open standard replacement from IETF (Internet Engineering TasForce) for H.323 signaling standard for managing multimedia session initiation. SIP can be used to initiate voice, video and multimedia sessions, for both interactive applications (e.g. an IP phone call or a videoconference) and not interactive ones (e.g. a Video Streaming). It is the more promising candidate as call setup signaling for the present day and future IP based telephony services, as it has been also proposed for session initiation related uses, such as for messaging, gaming, etc.SIP needs two ports, one for the command exchange and one for the RTP stream which contains the voice. It’s easier to work with firewalls than H.323, but you still need to have a proxy running. The following SIP UAs are divided into two groups for Multiplatform and Linux only:

Multi-Platform

  1. SFLphone – A nifty little default skin (Metal Gear) for SFLphone holds a multi-protocol (SIP/IAX) multi-GUI desktop VoIP phone for use in Desktop environments. The project is being developed on Linux, but should (“and must”) be portable to various flavors of BSD operating systems (and maybe win32) with some involvement.
  2. Linphone – With linphone you can communicate freely with people over the internet, with voice, video, and text instant messaging. Linphone is stable under Linux, but FreeBSD and OpenBSD are reported to work.
  3. Minisip – Minisip was developed by Ph.D and Master students at the Royal Institute of Technology (KTH, Stockholm, Sweden). It can be used to make phone calls, instant message and videocalls to your buddies connected to the same SIP network. Runs on multiple Operating Systems (Linux PC, Linux familiar IPAQ PDA, Windows XP and soon Windows Mobile 2003 SE).
  4. OpenWengo – The flagship product of the OpenWengo project is a softphone which allows you to make free PC to PC video and voice calls, and to integrate all your IM contacts in one place. Through their partnership with Wengo, they also offer very cheap PC to telephone and SMS rates. Available for Linux, MacOSX, and Windows.
  5. PhoneGaim – Make phone calls to your friends and family directly from your Linspire computer with the latest software from Linspire. PhoneGaim is built right into Gaim.
  6. sipXtapi – sipXtapi is a comprehensive client library and software development kit (SDK) for SIP-based user agents. It includes SIP signaling support as well as a media framework. A complete and very feature rich softphone can be built easily by adding a graphical user interface on top of sipXtapi. Alternatively, sipXtapi was engineered to be embedded into existing applications adding real-time communications to such applications. sipXtapi is primarily developed under WIN32; however, sipXtapi can be built and used under Linux and MacOs X. WinCE support is in development.
  7. OpenZoep – OpenZoep (pronounced “open soup”), developed by Voipster, is a client-side telephony and instant messaging (IM) communications engine. It supports computer-to-computer (peer-to-peer) VoIP calls, instant messaging, and outbound PSTN and SIP calls to free and premium SIP providers.

Linux

  1. Cockatoo – Cockatoo is a project that focuses on implementing SIP/SIMPLE as an extension for Thunderbird (XPCOM component/XUL interface) that enables users to phone contacts from an address book and see their presence state. Functionalities are included into Thunderbird as an XPCOM component.
  2. YeaPhone – The goal of the YeaPhone project is to bring VoIP-Software together with the Yealink USB handset (USB-P1K) and at the same time make a PC keyboard and monitor unnecessary. This makes YeaPhone ideal for “Embedded Devices” as these do typically need extra devices for user interaction (in this case the handset) while working very energy efficient.
  3. Twinkle – Twinkle is a soft phone for your voice over IP communications using the SIP protocol. You can use it for direct IP phone to IP phone communication or in a network using a SIP proxy to route your calls.

Windows

  1. 1videoConference – 1VideoConference allows its Web, Audio/ Video phone, Skype, Msn and Yahoo users to instantly participate in live web conferences without the need for lengthy downloads or complicated installations. Simply drop a small piece of code onto your website and instantly create an online video conference room. All you need is a web cam and an internet connection and seconds later you can show presentations, share applications or users’ desktops, hold live webinars, discuss new strategies face to face with business partners, and more…

SIP Proxies

  1. Open Source SIP – Open Source SIP was created in March 2006 as a project to foster the development of commercially viable SIP applications. The Open Source SIP project is sponsored by Solegy, and draws on over six years of research and development.
  2. Partysip – Partysip is a modular application where some capabilities are added and removed through GPL plugins. Depending on the list of included plugins, partysip can be used as a SIP registrar, a SIP redirect server or statefull server, or a SIP service provider (game session, answering machine, etc.).
  3. MjSip – MjSip is a complete java-based implementation of a SIP stack that provides API and implementation bound together into one package. The MjSip stack has been used in research activities by Dpt. of Information Engineering at University of Parma and by DIE – University of Roma “Tor Vergata”. MjSip includes all classes and methods for creating SIP-based applications.
  4. OpenSER – OpenSER is an open source GPL project that aims to develop a robust and scalable SIP server. Spawned from FhG FOKUS SIP Express Router (SER) by two core developers and one main contributor of SER, OpenSER promotes a development strategy open for contributions.
  5. SIP Express Router – SIP Express Router (ser) is a high-performance, configurable, free SIP server. It can act as registrar, proxy or redirect server. SER features an application-server interface, presence support, SMS gateway, SIMPLE2Jabber gateway, RADIUS/syslog accounting and authorization, server status monitoring, FCP security, etc. Web-based user provisioning, serweb, available.
  6. Siproxd – Siprox is an proxy/masquerading daemon for the SIP protocol that handles registrations of SIP clients on a private IP network and performs rewriting of the SIP message bodies to make SIP connections possible via an masquerading firewall. It allows SIP clients (like kphone, linphone) to work behind an IP masquerading firewall or router.

SIP Protocol Stacks and Libraries

  1. OpenSIPStack – The OpenSIPStack Library is an implementation of the Session Initiation Protocol as described in RFC 3261. The primary goal of the library is to provide application developers with a fully compliant interface to the SIP protocol with scalability and stability in mind. The OpenSIPStack Library has both low level interface and high level interface ideal for use in SIP Proxies, Presence Servers, Softphones and Instant Messaging clients.
  2. The GNU oSIP Library – This library aims to provide multimedia and telecom software developers an easy and powerful interface to initiate and control SIP based sessions in their applications.
  3. The eXtended osip Library – eXosip is a library that hides the complexity of using the SIP protocol for mutlimedia session establishment. This protocol is mainly to be used by VoIP telephony applications (endpoints or conference server) but might be also usefull for any application that wish to establish sessions like multiplayer games.
  4. Vovida SIP Stack – The version is not supported on Win32 platforms, although some community members have shown interest in Windows port.
  5. reSIProcate – The reSIProcate project is part of the SIPfoundry community. The project aims at building a freely available, completely standards based and complete reference implementation of a SIP stack including an easy to use application layer API. The reSIProcate stack is currently used in several commercial products and is very stable.
  6. Twisted – Twisted Matrix Laboratories is a distributed group of open-source developers working on Twisted, an event-driven networking framework written in Python and licensed under the LGPL. Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more.
  7. PJSIP – The PJSIP.ORG website is the home of PJSIP and PJMEDIA, the Open Source, high performance, small footprint SIP and media stack written in C language for building embedded/non-embedded VoIP applications. PJSIP is built on top of PJLIB, and since PJLIB is a very very portable library, basically PJSIP can run on any platforms where PJLIB are ported (including platforms where normally it would be hard to port existing programs to, such as Symbian and some custom OSes).

SIP Test Tools

The following tools basically test SIP applications and devices, but each one is different in how it tests the protocols and in their focuses and additional applications:

  1. Callflow – Callflow is a collection of awk and shell scripts that will capture a file that can be read by ethereal and that will produce a callflow sequence diagram. The scripts have been primarily tested with SIP call flows, but should work for other network traffic as well. You can view callflow.svg with the Adobe SVG plugin, or you can view index.html with any web browser. The Callflow directive is a clean little script complete with a “to-do” list that you can play with.
  2. SipBomber 0.8 – SipBomber is an invaluable sip-protocol testing tool for Linux originally developed by Metalink in 2003 for internal use. It was later released as a GPL open source product.
  3. SIP Proxy – With SIP Proxy you will have the opportunity to eavesdrop and manipulate SIP traffic. Furthermore, predefined security test cases can be executed to find weak spots in VoIP devices.
  4. sipsak – sipsak is a small command line tool for developers and administrators of Session Initiation Protocol (SIP) applications. It can be used for some simple tests on SIP applications and devices.
  5. SIPp – SIPp is a test tool / traffic generator for the SIP protocol. It includes a few basic SipStone user agent scenarios (UAC and UAS) and establishes and releases multiple calls with the INVITE and BYE methods. It can also reads custom XML scenario files describing from very simple to complex call flows. It features the dynamic display of statistics about running tests (call rate, round trip delay, and message statistics), periodic CSV statistics dumps, TCP and UDP over multiple socket or multiplexed with retransmission management and dynamically adjustable call rates.
  6. PROTOS Test-Suite: c07-sip – The purpose of this test-suite is to evaluate implementation level security and robustness of SIP implementations. The focus was set on a specific protocol data unit (PDU), namely INVITE message (a subset of SIP).
  7. Vovida.org Load Balancer – The Load Balancer is a very simple proxy that is useful in SIP-based VoIP installations where there are multiple ingress proxy servers. The Load Balancer permits pooling these servers, thereby eliminating the need to balance user demands for connectivity through a complicated provisioning algorithm. The Load Balancer adds itself to the Via header of requests to enable responses to return before being sent to orginating endpoint. This only works with SIP messages sent over UDP (User Datagram Protocol).

IAX Clients (User Agents)

The open source project Asterisk (see below in PBX platforms) implements a software based PBX (Private Branch Exchange), or a private telephone switch that provides switching (including a full set of switching features) for an office or campus. As an internal protocol to trunk two or more PBX servers, the IAX (Inter Asterisk Exchange) protocol was created. IAX is a lightweight app based on UDP and bundles call signalling and voice into one data stream. This streaming makes it perfectly suited for connection-based simple firewalls.

  1. IAXComm – iaxComm is a cross-platform application for the Asterisk PBX. It was developed on aWindows XP system.
  2. Kiax – Kiax is an IAX client application which allows PC users to make ordinary VoIP calls to Asterisk servers. It aims to provide a simple and user-friendly graphical interface and desktop integration for calling, contact list, call register management and easy configuration.
  3. QtIAX – QtIAX is based on iaxclient (see below), but files were stripped for a bare bones environment.
  4. MozIAX – MozIAX is a Firefox VoIP extension, a cross platform software IAX2 phone (softphone) to be used with Asterisk.
  5. YakaSoftware – YakaSoftware is the open source code behind the YakaPhone, a simple, Skinnable IAX/IAX2 Softphone from YakaSoftware.

IAX/PBX Library

  1. IAXClient – IAXClient is an Open Source library to implement the IAX protocol used by The Asterisk Software PBX. Although asterisk supports other VOIP protocols (including SIP, and with patches, H.323), IAX’s simple, lightweight nature gives it several advantages, particularly in that it can operate easily through NAT and packet firewalls, and it is easily extensible and simple to understand.

RTP Proxies

RTP, or Real-time transport protocol, is the Internet-standard protocol for the transport of real-time data, including audio and video. RTP is used in virtually all voice-over-IP architectures, for videoconferencing, media-on-demand, and other applications. A thin protocol, it supports content identification, timing reconstruction, and detection of lost packets.

  1. Maxim Sobolev’s RTPproxy – RTPproxy is a proxy for RTP streams that can help SER (SIP Express Router) handle NAT (Network Address Translation, defined in RFC 1631) situations, as well as proxy IP telephony between IPv4 and IPv6 networks. The code has been extensively tested on FreeBSD, Linux, MacOS and Solaris. It should be relatively easy to port it to any system which has a POSIX layer.

RTP Protocol Stacks

  1. JRTPLIB – JRTPLIB is an object-oriented RTP library written in C++. The library offers support for the Real-time Transport Protocol (RTP), defined in RFC 3550. It makes it very easy to send and receive RTP packets and the RTCP (RTP Control Protocol) functions are handled entirely internally. The latest version of the library is 3.7.0 (January 2007).
  2. oRTP – oRTP is a Real-time Transport Protocol (RFC3550) stack under LGPL. Written in C, works under Linux (and probably any Unix) and Windows.
  3. GNU ccRTP – ccRTP is a C++ library based on GNU Common C++ which provides a high performance, flexible and extensible standards-compliant RTP stack with full RTCP support. The design and implementation of ccRTP make it suitable for high capacity servers and gateways as well as personal client applications.
  4. Vovida RTP Stack – Vovida RTP is augmented by a control protocal (RTCP) to monitor data delivery and network statistics. Together they resolve of many of the problems a UDP network enviroment may experience, such as lost packets, jitter, and out of sequence packets.
  5. RTPlib – This library, offered by Bell Labs, is based on the most recent version of the specification, incorporating some of the newest features, including RTCP scalability algorithms.

PBX Platforms

  1. Asterisk – Asterisk is a popular and extensible open source telephone that offers flexibility, functionality and features not available in advanced, high-end (high-cost) proprietary business systems. Asterisk is a complete IP PBX (private branch exchange) for businesses that runs on Linux, BSD, Windows and OS X and provides all of the features you would expect from a PBX and more. It has support for three-way calling, caller ID services, ADSI, IAX, SIP, H.323 (as both client and gateway), MGCP (call manager only) and SCCP/Skinny.
  2. OpenPBX.org 1.2 RC3 – This release includes the highly anticipated and robust new conference bridge application called NConference. OpenPBX.org RC2 is now generally available as a tarball that includes the ability to run on several BSDs as well as MacOS X. Both are forks of Asterisk with T.38 termination.
  3. Open Source Software PBX – Open Source PBX developed using Perl. OpenPBX.org will be stable, featureful, easy to use, and easy to deploy on a range of operating systems.
  4. PBX4Linux – PBX4Linux is an ISDN PBX which interconnects ISDN telephones, ISDN lines, and a H.323 gateway. This is a pure software solution except for the ISDN cards and telephones, as it connects to a Linux box. The great benefit is the NT-mode that allows to connect telephones to an ISDN card.
  5. SIPxchange – An enterprise-grade SIP PBX, SIP call manager and router, and SIP Softphone based on 100% SIP and 100% open source software. Produced by Pingtel, SIPxchange product suite runs on commodity server hardware using the Linux operating system, supports a large variety of IP phones and gateways, and seamlessly interoperates with legacy components.
  6. sipX – sipX is a modular server based solution that runs on standard Linux complete with voice mail and auto-attendant. Alternatively, sipX can be used as a high performance Enterprise toll-bypass SIP router. It combines all common calling features, XML-based SIP call routing, voice mail and auto-attendant, Web-based configuration, as well as integrated management and configuration of the PBX and attached phones and gateways. sipX does not require any additional hardware as it interoperates with any SIP compliant gateway, phone or application.

IVR Platforms

  1. GNU Bayonne – GNU Bayonne 2 was developed starting in 2005, with a special focus on SIP. GNU Bayonne is an integral part of GNU Telephony that offers free, scalable, media independent software environment for development and deployment of telephony solutions for use with current and next generation telephone networks.
  2. CT Server – A client/server library for rapid Computer Telephony (CT) application development in Perl. It uses Voicetronix hardware, and runs under Linux. Supports OpenSwitch cards for building PC PBXes.

Voicemail Apps

  1. lintad – Linux Telephone Answering Device (lintad) is a fax and voicemail application. Lintad uses a softmodem as a soundcard attached to the phoneline to play greetings and record messages. Messages and faxes are made available to browersers via Apache and PHP.
  2. Linux Voicemail/OpenUMS – The purpose of this project is to create an open source voicemail/unified messaging system that runs on Linux that has the ability to integrate with business telephone systems.
  3. VOCP System – VOCP is a complete messaging solution for voice modems, with voicemail, fax, email pager, DTMF command shell and Text-to-Speech support, 3 GUIs and a web interface. Send and receive faxes and voicemail, listen to emails and execute programs on the host.
  4. OpenVXI – The Open VXI VoiceXML interpreter is a portable open source library that interprets the VoiceXML dialog markup language. It is designed to serve as a reference for parties interested in understanding how VoiceXML markup might be executed.

Speech Software

  1. The Festival Speech Synthesis System – Festival offers a general framework for building speech synthesis systems as well as including examples of various modules. As a whole it offers full text to speech through a number APIs: from shell level, though a Scheme command interpreter, as a C++ library, from Java, and an Emacs interface. Festival is multi-lingual (currently English (British and American), and Spanish) though English is the most advanced. The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control. Documentation is given in the FSF texinfo format which can generate, a printed manual, info files and HTML.
  2. OpenSALT – SALT (Speech Application Language Tags) is a lighweight markup language that integrates speech services into standard markup languages such as HTML. SALT supports the authoring of multi-modal dialogs as well as voice-only dialogs and is suitable for the development of applications across desktop and telephony platforms. SALT is defined through the efforts of the SALT Forum, of which Carnegie Mellon is a contributor. The OpenSALT project makes available a SALT 1.0 compliant open-source browser based on the open source Mozilla web browser and make use of open source Sphinx recognition and Festival synthesis software. Their first Windows release is available for download. A Linux version will follow when a fully featured Windows version is complete. They will subsequently focus on developing a version suitable for mobile devices and a version for telephony-based systems.
  3. CMU Sphinx Projects – The packages that the CMU Sphinx Group is releasing are a set of reasonably mature, world-class speech components that provide a basic level of technology to anyone interested in creating speech-using applications without the once-prohibitive initial investment cost in research and development; the same components are open to peer review by all researchers in the field, and are used for linguistic research as well.

Fax Servers

  1. HylaFAX – HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. The software is designed around a client-server architecture. Fax modems may reside on a single machine on a network and clients can submit an outbound job from any other machine on the network. Client software is designed to be lightweight and easy to port.
  2. AstFax – AstFax provides an outgoing email to fax gateway for the Asterisk PBX package. Incoming fax to email can also be configured so your Asterisk server can act as both an outgoing and incoming fax server.

Development Stacks

  1. OpenSS7 – OpenSS7 provides a robust and GPL’ed SS7, SIGTRAN, ISDN and VoIP stack for Linux and other UN*X operating systems.
  2. ooh323c – Objective Systems Open H.323 for C (ooh323c) is a simple H.323 protocol stack developed in C. The ASN.1 PER messaging code was developed using the ASN1C compiler using a modified version of our core run-time libraries. Additional open source components as well as code developed in-house were added to produce a functioning stack. The goal is to produce a reusable framework that contains the signaling logic to allow channels to be created and terminated for different H.323 applications. ooH323c is now included as an add-on to the Asterisk open source PBX.
  3. ++Skype Library – ++Skype library is a new, modern way to develop platform independent Skype add-on software. The ++Skype is a C++ library of thoroughly designed classes that can help you to build platform-independent add-on software. Be sure to read the documentation, as this software requires several tools and libraries not included in this article.
  4. OpenBloX™ – The OpenBloX™ framework is an Open Source set of directories and files, implementing in a whole or part of the 3GPP and 3GPP2 Diameter specifications. The package contain at minimum the Diameter base protocol as described by IETF RFC 3588 and any extensions provided to support upper layers as specified by the 3GPP specifications, such as Rx, Gx, Ro, Cx, Sh and other 3GPP defined interfaces.

Middleware

  1. MobiCent – Mobicents is the first and only open source VoIP Platform certified for JSLEE 1.0 compliance. Mobicents brings to telecom applications a robust component model and execution environment. It compliments J2EE to enable convergence of voice, video and data in next generation intelligent applications.
  2. Ernie – Software application that integrates Web 2.0 design principals with next generation communications technologies, including VoIP, presence and web languages such as Python. LAMP developers are Ernie’s primary users.
  3. SIP Thor – SIP Thor is based on P2PSIP technology that enables scalability with no single point of failure. SIP Thor is based on P2PSIP, a set of technologies that combines exiting IETF standards like SIP, DNS and ENUM with Peer-To-Peer techniques like distributed hash tables (DHT).

Tweak ubuntu for speed

•April 19, 2007 • Leave a Comment

Description

You want your Ubuntu desktop to be more responsive? It will take less than a half hour to perform all these tweaks. These tweaks will make your system faster and more responsive without a doubt. Read on to perform the tweaks and enjoy your faster system.

From what I understand these tweaks will work with all forms of Linux. They are not Ubunut Specific. I have only tried them on Ubuntu though, so if you use them on other Linux Distro’s you do at your own risk.

Speed up your File System

About

Ubuntu Linux, unless you have set it up otherwise, uses the EXT3 system by default. It’s a pretty good system. There are 3 journaling methods for EXT3 system.

  • Journal Data Writeback
  • Journal Data Ordered
  • Journal Data

By default Ubuntu chooses “journal data ordered”. In data=ordered mode, ext3 only officially journals metadata, but it logically groups metadata and data blocks into a single unit called a transaction. When it’s time to write the new metadata out to disk, the associated data blocks are written first. data=ordered mode effectively solves the corruption problem found in data=writeback mode and most other journaled filesystems, and it does so without requiring full data journaling. In general, data=ordered ext3 filesystems perform slightly slower than data=writeback filesystems, but significantly faster than their full data journaling counterparts.

To speed it up, we are going to change it to the data=writeback system.

Tweak

  • Open your Grub boot menu.
sudo nano -w /boot/grub/menu.lst
  • Look for the Defoptions and Altoptions and make them look like the entry below.
# defoptions=quiet splash rootflags=data=writeback
# altoptions=(recovery mode) single rootflags=data=writeback
  • You need to update your Grub since you have altered it.
sudo update-grub
  • Now we are going to edit the Fstab because it will be expecting these options.
sudo nano -w /etc/fstab
  • Now you are going to want to add the (data=writeback and noatime=0) flags to your hard drive. It might be a little confusing because of the new naming system. Look for the (,errors=remount-ro) and add it afterwards to make it look like our example.
defaults,errors=remount-ro,data=writeback,noatime 0
  • Now you tell your system to use them both.
sudo tune2fs -o journal_data_writeback /dev/yourdrive

And you’re done.

Concurrent Booting

About

Concurrent booting allows Ubuntu to take advantage of dual-core processors, as well as processors that hyperthread or multithread or what ever the different companies call it now.

Tweak

  • These settings are located in your /etc/init.d/rc file. Lets open it up.
sudo gedit /etc/init.d/rc
  • Look through the file and you will find CONCURRENCY=none. You want to change it to:
CONCURRENCY=shell

And you’re done.

Swapping

About

Swappiness takes a value between 0 and 100 to change the balance between swapping applications and freeing cache. At 100, the kernel will always prefer to find inactive pages and swap them out; in other cases, whether a swapout occurs depends on how much application memory is in use and how poorly the cache is doing at finding and releasing inactive items.

The default swappiness is 60. A value of 0 gives something close to the old behavior where applications that wanted memory could shrink the cache to a tiny fraction of RAM. For laptops which would prefer to let their disk spin down, a value of 20 or less is recommended.

Tweak

  • First we have to gain access to your /etc/sysctl.conf file.
sudo gedit /etc/sysctl.conf
  • Just scroll to the bottom of the page and add the tag listed below. The number you want depends on how much ram you have and what you do with your system. Please read the about above this to make your decision. I have mine set to 0 on a dual core laptop with 1 gig of ram and have seen no issues and a good performance gain.
vm.swappiness=0

And you’re done.

Broadband Internet

About

These are various tweaks taken from various places. Here is an article that explains them all if you would like to read it in depth. http://www.santa-li.com/linuxonbb.html

Tweak

  • You have to open your /etc/sysctl.conf file back up again.
sudo gedit /etc/sysctl.conf
  • Then again, scroll to the bottom and just add these lines to it.
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_wmem = 4096 87380 524288
net.ipv4.tcp_rmem = 4096 87380 524288
net.ipv4.tcp_mem = 524288 524288 524288
net.ipv4.tcp_rfc1337 = 1
net.ipv4.ip_no_pmtu_disc = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.route.flush = 1
  • You have to reset your sysctl for these to take effect.
sudo sysctl -p

And you’re done.

IPv6

About

IPv6 is an internet protocol. Most of your software uses IPv4 though and it causes conflicts.

Tweak

  • We are going to create a file. Paste this into a terminal.
sudo gedit /etc/modprobe.d/bad_list
  • Then paste this into the file and save and exit the file.
alias net-pf-10 off

And you’re done.

Boot Profile

About

You have just made a lot of changes to your system. Re profiling your boot will reorganize it and make it faster on boots afterwards.

Tweak

  • Reboot your PC.
  • When you come to your grub list, hit escape to see your grub menu.
  • Edit the topmost line and add the word below to the end of it.
profile
  • Then just reboot the system.

Now you are done and you can enjoy your faster Ubuntu System.