December 2008 Archives

Speech recognition

user-pic
Vote 0 Votes
We checked off our last significant milestone yesterday with the completion of the integration of speech recognition in to SoftIVR.  For now, there's scant documentation, but there's an example as to how to build a voice dialling application on the Wiki which, for added Web 2.0 goodness, uses a Google contacts book as its source of data.

Google Talk

user-pic
Vote 0 Votes
Happy Christmas!  We've extended outdialling to be able to call Google Talk users, and to allow arbitrary caller IDs to be set.  Dial docs here.

SoftIVR and SQL

user-pic
Vote 0 Votes
We've made it easier for your SoftIVR applications to use the database functionality: there's now an SQL terminal available in the portal, so you can get directly at your database.  More information at the Wiki page for the SoftIVR SQL console.

Virtualising Linux machines

user-pic
Vote 0 Votes
Now for something a bit different.  I've been spending a happy day virtualising Linux machines on to VMWare - a process known as P2V (physical to virtual) conversion.  Here's the recipie, in the hope that it'll help someone else achieve the same thing.  The instructions below assume you've everything in one partition on the original machine; you'll have to repeat the dump and restore steps for each partition if not.  In my case, the partition with everything in on the physical machines was /dev/hda1 - the instructions below assume that to be the case, and that Grub's the boot-loader of choice.

  1. Dump the contents of the physical machine's hard drive to the box hosting the VMs.  To do this, stop as much stuff on the physical machine that you can, remove any extreanous cruft (e.g. vast log files from last year) and then:
    dump -b 256 -0uf - / | ssh -c blowfish root@vmware.host.machine dd of=/var/dump-identifier

  2. Create a new VM on your host.  Have it boot from a Knoppix LiveCD, and make sure it's got a big enough virtual disk attached for the data you'll be restoring.  If your original machine had an IDE drive, then configure your VM with one: you'll thank yourself later.

  3. Start your VM - type 'knoppix 2' at the Knoppix boot screen, and it'll boot in to text mode.

  4. fdisk /dev/hda and create two partitions.  Partition 1 for your data, set it to partition type 83, and make it bootable; partition 2 for your swap, set it to type 82.

  5. mke2fs /dev/hda1
    will create an ext3 filesystem on hda1.

  6. mount /dev/hda1
    mounts it.

  7. cd /media/hda1

  8. ifconfig eth0 inet <an IP address on the same subnet as the host>
    - if it complains that it can't assign the requested IP, ask again.

  9. ssh -x root@host "dd if=/var/dump-identifier" | /sbin/restore -rvf -
    copies the dump file from the host, and restores it in to the current directory, which is the root of /dev/hda1.

  10. grub
    we need to install Grub on the new disk.

  11. find /boot/grub/stage1
    will tell us where Grub thinks its first-stage boot doobrie lives - (hd0,0) in my case.

  12. root (hd0,0)
    setup (hd0)
    writes a new master boot record on the disk.

  13. Exit Grub.  We're nearly there; we just need to
    e2label /dev/hda1 /
    to tell Linux where to mount the partition, and
    tune2fs -j /dev/hda1
    to add a journal to it.

  14. Reboot, and, if you've got it right, you'll have a clone of your physical machine running under VMWare.

Following me around

user-pic
Vote 0 Votes
A quick mash up of a bit of Bluetooth, a Mac laptop, an iPhone, some Python, some PHP and some Javascript, and I've a phone number which rings on the appropriate landline when I'm at home or at work, and on my mobile when I'm neither.  It's at Follow me.

Number portability

user-pic
Vote 0 Votes
We're now able to offer number portability from most UK carriers - that's for both geographic and non-geographic (03/08/09) numbers - so you can keep your old number and move it to SoftIVR.  There is a small cost associated with importing numbers, which we have to pass on; it's dependent on a number of things, but is usually just a few pounds per number.

For more information, or if you'd like to import a number or a block of numbers, please contact us at support@softivr.com.

Why we're doing this

user-pic
Vote 0 Votes
I was asked yesterday who we were aiming SoftIVR at.  It's a simple enough question, but there's a fairly complex answer.  I've reproduced it below.

I started building IVRs in the 1990s, and then it was easy: telcos, call centres and small collection of specialist service providers.  What I can see happening is a democratisation of the market, driven by two things: a reduction in the financial costs of entry which has already happened (get old PC from shed, install Asterisk or FreeSWITCH, job done) and the lowering of technical barriers to entry, which is what we're trying to achieve.  The Asterisk and FreeSWITCH users' mailing lists are full of questions from new users who are having trouble getting started, and these are from people who have a Linux box and have managed to install a package on it, so they're not complete numpties when it comes to dealing with technology, but there's too many bits of configuration which they need to get right and things which they need to understand before they can make progress.  So what we're trying to do is to get people straight in at a level where they can write a simple service and try it out, hence some of our choices - Javascript vs. VoiceXML being a prime example - and then progress to more complex services without having to relean what they already know.

That democratisation ought to lead to an explosion of service offerings, of which many are likely to be me-too, possibly with a twist: web-enabled conference calling with the ability to break the group up in to smaller groups for discussion for remote learning applications being one we recently came across.  IVR is a part of that sort of application, and what we'd like to be is one of the providers of IVR services of choice for developers of such applications.

Wideband voice

user-pic
Vote 0 Votes
We've added wideband voice support to SoftIVR.  Right now, we support Speex at 16 and 32kHz sample rates with wideband conferencing and audio playback and record.  More on the Wiki here.

Database

user-pic
Vote 0 Votes
Each IVR now has its own integrated SQL database.  Here's an introduction to the SoftIVR database functions.

Options

user-pic
Vote 0 Votes
We've added background and stop_on_dtmf options to the say, playTone, playFile and recordFile commands.  The background option returns immediately, so that you can carry on processing while the file is playing, and stop_on_dtmf means that, should the system receive a tone, it'll stop whichever action it's carrying out immediately.

UK dialplan

user-pic
Vote 0 Votes
Have just spent the day writing tools to import an accurate UK dialplan with charging information, so that SoftIVR users can now outdial to UK 0800, 0844, 0845, 0870, 0871, 090 and 118 numbers and be billed correctly.

It ended up at over 10,000 rows in the database.  Surely there has to be a better way??

Outdialling

user-pic
Vote 0 Votes
We've added outdialling to SoftIVR, and a new example to show how it's used for an international callthrough service.

A quick update..

user-pic
Vote 0 Votes
..we've been busy integrating speech recognition in to SoftIVR, and there's now a bit on the Wiki about getting started with SoftIVR.

About this Archive

This page is an archive of entries from December 2008 listed from newest to oldest.

November 2008 is the previous archive.

January 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.