encouraging FOSS adoption

December 15, 2008 1 comment

this blog talks about how to get more and more FOSS exposure in schools and organizations.

from A Quantum of FOSS:

I believe it is important for every parent and taxpayer to contact their school district’s superintendent and/or IT department and voice their frustration over the money spent on a fairly useless education tool like MS Office when entirely sufficient free replacements exist. Parents and taxpayers need to make it known that wasting public funds in this way is not appropriate and may very well impact their votes on future funding efforts like bonds and mill levies.

Read full post here.

Advertisements

freeswitch knocks asterisk’s block off

December 4, 2008 10 comments

Freeswitch is gaining popularity among asterisk community these days and looks quite promising, we also migrated our office PBX from asterisk to freeswitch few months back and never faced any issue till now. freeswitch is built from the scratch to address scalability and deadlocks issue within channels,  it’s modular architecture makes it developer friendly.

Freeswitch‘s SIP stack is much better than Asterisk’s sip implementation, Freeswitch uses Sofia sip stack which is 100% RFC compliant(IETF RFC3261 specification). Other than SIP freeswitch supports IAX2, Jingle and Woomera.

Another great thing about freeswitch is that it keeps all its configuration (users/dialplan etc, etc) in XML files. Another more interesting this is unlike asterisk’s dial patterns (e.g. _NXX) freeswitch uses PCRE regular expressions.

Freeswitch comes with an enterprise grade eventing engine, features software based conferences (no hardware timing source required), detailed cdr in XML(btw, i really loved the way freeswitch formats call flow in CDR, specially transfer calls).

Here is a list of Features and possible freeswitch uses:

Possible Uses

  • Rating & Routing Server
  • Transcoding B2BUA
  • IVR & Announcement Server
  • Conference Server
  • Voicemail Server
  • SBC (Session Border Controller)
  • Basic Topology Hiding Session Border Controller
  • Zaptel, Sangoma, Rhino, PIKA Hardware Support (Analog and PRI)

Features

  • Centralized User/Domain Directory (directory.xml)
  • Nano Second CDR granularity
  • Call recording (In Stereo caller/callee left/right)
  • High Performance Multi-Threaded Core engine
  • Configuration via CURL to your http server (xml_curl).
  • XML Config files for easy parsing.
  • Protocol Agnostic
  • Configurable RFC2833 Payload type
  • Inband DTMF generation and detection.
  • Software based Conference (no hardware requirement)
  • Wideband Conferencing
  • Media / No Media modes
  • Proper ENUM/ISN dialing built in
  • Detailed CDR in XML
  • Radius CDR
  • Subscription server
    • Shared Line Appearances
    • Bridged Line Appearances
  • Enterprise/Carrier grade Eventing Engine. (XML Events, Name Value Events, Multicast Events)
  • Loadable File formats and streaming
  • Stream to Shoutcast
  • Multi-lingual Speech Phrase Interface
  • ASR/TTS support (native and via MRCP)
  • Basic IP/PBX features
  • Automated Attendant
  • Custom Ring Back Tones
  • XML RPC support
  • Multiple format CDR’s supported
  • SQL Engine provides session persistence
  • Thread Isolation
  • Parallel Hunting
  • Serial Hunting
  • Mozilla Public License
  • Support
    • Paid support available
    • Free support via IRC & e-mail
  • Many supported codecs
    • G.722 (wideband)
    • G.711
    • G.726 (16k,24k,32k,48k) AAL2 and RFC3551
    • G.723.1 (passthru)
    • G.729 (passthru)
    • AMR (passthru)
    • iLBC
    • speex (narrow and wideband)
    • lpc10
    • DVI4 (ADPCM) 8khz and 16khz

break the firewall/isp — view blocked websites

December 2, 2008 9 comments

If a website is blocked by your ISP (or even government authorities). it is very likely that you can still gain access to those websites, this post will tell you how to bypass blockage by firewalls/ISPs, in order to achieve this goal we are going to use SSH tunneling to bypass firewalls and ISP’s rules/policies.

Preparation:

  1. windows users: download putty on your desktop.
    ubuntu users:
    no additional software/utility required.
  2. get an ssh account on a remote machine (e.g. an ssh server running at home), if you don’t have a machine running ssh service, you can still get ssh account from many paid and free ssh service providers listed here (a server in another country will help you browsing blocked websites by government agencies :)), I got a free account from rootshell.be and it’s tested.

Establishing the Tunnel:

for windows users I would recommend this video tutorial for tunnel set-up using putty.

Linux/Windows users can achieve this using following simple command.

ssh username@hostname -C -D 7070

where username is the username to connect with remote machine, hostname is ip or hostname of the remote machine, and 7070 is the tunnel port.

let me know if you liked this tip, comments and quries welcomed.

Categories: linux Tags: , , , ,

mozilla ubiquity — connecting web with languages

December 2, 2008 2 comments

Mozilla recently released prototype software called Ubiquity that aims to make it easier to combine data in the Web browser.
more here:

http://labs.mozilla.com/2008/08/introducing-ubiquity/

Categories: web 2.0 Tags: ,

make calls from within gmail/gtalk

December 1, 2008 1 comment

Super-phone now enables you to make and recieve calls using your gmail/gtalk account, you can get a free trial US number upon sign-up.

details here:

http://blogs.rehan.com/2008/11/make-and-receive-calls-from-gmail.html

all in one box social networking — spokeo

November 28, 2008 2 comments

Spokeo is a social networking aggregator for those of you who have dozen’s of social networking accounts, Spokeo works like facebook’s news feed utility but it just don’t limit it to facebook, Spokeo searches your friend’s feeds/blogs/photos across 40 social networks, so you don’t have to visit all of your social networks. Skopeo helps you keep  you connected with your friends across the web.

From Spokeo Site: Spokeo is a friend finder/tracker that automatically brings you friends’ updates across the Web.  Check out people’s accolades.

asterisk realtime with ldap — got it working :)

November 28, 2008 4 comments

When we decided to write an asterisk module for Zivios, we went in several debates either we should keep asterisk’s configurations in plain config files or get benefit of asterisk realtime ldap driver.

if you don’t know much about Zivios’s architecture, check out Zivios Architecture page. In short Zivios keeps all of its configurations(Users/Groups/Config files) in OpenLdap as far as there is a possibility to use Ldap as config back-end.

Finally we decided to test asterisk realtime ldap driver, in first attempt everything worked fine, I was able to retrieve sip/iax peers from ldap tree,store registry updates in ldap, also created few dialplan extensions in ldap and it worked as expected. then all the hell broke loose when i added a pattern (say _5XX) in ldap and asterisk couldn’t find it in ldap, I tried to debug the realtime ldap driver, but nothing helped. lastly I decided to look into the realtime ldap driver’s C code(my C knowledge is worst), put several debug messages all over the file, recompiled and came out with the conclusion that there is something wrong with a function called *realtime_multi_ldap, posted bug report to digium with my logs (Faraz Khan posted a bounty as well, check it out), but all in vain, it felt like digium and nobody else doesn’t give a damn about realtime ldap driver, i decided to forget the realtime thing and keep configuration in plain text file, wrote some handy(helper) perl scripts to add/edit and delete configurations(users/routes/queues/ivrs). Zivios’s web interface communicates with these scripts using a special XML-RPC agent (called emsmagent) running on asterisk box. emsmagent executes these perl scripts and returns output to Zivios.

Last month browsing through digium’s bug tracker I found this *realtime_multi_ldap patch, I decided to give it a try, was not expecting it would work, but interestingly it worked and now I can use patterns in ldap exten entry and it really works :).

I have written a custom ldap schema for realtime ldap, You can also check original schema posted and contributed by suretec (guy who fixed the ldap driver) here. I will soon post a how-to on “setting up asterisk realtime ldap”. I am also going to port Zivios Asterisk module from plain text files to openldap backend soon (much busy in some other interesting projects these days :D)

let me know if you need any help in asterisk and realtime ldap driver setup.