Tech for Non-Profits

Monday, June 15, 2009

Tech Friday: The Forgotten Art of Scripting

Well, maybe it hasn't been been forgotten by everybody, but it has been a long time since I looked at scripting, which might be considered another name for "accessible programming for casual users".

In the beginning was the shell script.. any of several flavors of command line languages that manipulated UNIX operating system shells. These included component programs with funny names like AWK, and SED that allowed the manipulation of data and (especially) text files. And they all still work and and are used. I'm personally fond of grep, which is a sort of search engine on steroids available on any UNIX variant (like the Mac OS X)

Then there was the DOS batch file, which appeared in the earliest versions of DOS and has been carried up through all versions of Windows with the availability of the Windows Scripting Host. It has now has morphed into the PowerShell... but you can still write and execute a simple batch file if you want. Great stuff for network administrators.

Then there is JavaScript, which has nothing to do with Java, used for calculations and manipulations of web pages. I wrote my TimeCard web page program in JavaScript; and it works, and it it is fast, but working with the language was kind of a mess.

Why bother?

The later versions of the Tandberg Codian Multipoint Control Unit (MCU) for videoconferencing includes an XML-RPC interface to allow programmers to interact with the box without going through the provided web interface. The latter, by the way, is actually quite good. Our idea is to figure out the basic sub-set of functionality that we usually use 90% of the time, and build a custom interface for that 90%.

XML-RPC is, (it appears) to be a languishing standard for having one machine issue calls to another machine, and allow the second machine to execute commands. The reason I call this "apparently languishing" is that Google searches for XML-RPC turn up documents mostly from the early part of the decade. Also, there are few good tutorials on how to get things to work... right now I'm winging it using an (excellent) free client for the Mac which sends XML-RPC commands to the target box from a Mac workstation. Still, XML-RPC is what our box expects to receive...and for the moment at least, that's what it will get. Once we've figured out what to send...we'll figure out how to send it, ultimately using any scripting language that will work, but starting with AppleScript, which is native to OS X and which comes with an editor and dictionary built in.

Labels: ,

Wednesday, September 03, 2008

NAT with videoconferencing etc. etc.

The wiki documentation for Ekiga has a nice discussion of how to deal with routers when using SIP and H.323.�

Browsing with Google Chrome does indeed seem a little more rapid. I'm not sure I'll migrate from Firefox, but I like the clean look, and so far it seems to work flawlessly. ��

Labels: , ,

Friday, March 21, 2008

Setting up remote premise VoIP or Videoconferencing

The Trixbox Wiki has a number of digestible pages of advice on how to successfully deploy a VoIP application. Here are recommendations for remote sites.

Formula for the best remote telecommuter Experience

  1. Use T1 internet access at the main location, not DSL or Cable.It�s worth the additional expense in order to ensure good, steady performance at your main location.
  2. If your routers and/or firewalls support QoS features, activate them. Give priority to the SIP and RTP protocols. Consider replacing equipment that lacks VoIP-aware QoS features. See Also: How do I use QoS on my network?
  3. Consider using one of our Suggested Routers with QoS on both ends of your connection.
  4. If your QoS solution allows you to limit total bandwidth, set the limit to slightly less than the line speed of your internet connection. Use a DSL line speed test to determine where you should set your limits. Setting it about 5-10 Kb below your maximum speed will keep the packet buffers from filling up on your DSL/Cable modem. This will yield better overall performance.
  5. Consider having two internet connections� one for your existing data application, and one for your VOIP phone and trixbox Pro servers. You can use this approach in your main location, as well as your remote locations. If you use this approach, you may not need any QoS capable equipment.
  6. If possible, connect your main office and your remote office using the same internet provider. Usually performance on the same provider�s network is superior to the performance when traffic needs to traverse multiple internet backbone networks.
  7. If possible, remove NAT devices between the trixbox Pro system, and the remote telecommuters.
  8. If you must use a NAT configuration, consider using a �DMZ Host/Server� configuration rather than port forwarding. This uses less CPU power in the router/firewall and yields optimal performance.
    1. At the main location, the setting will forward all unknown packets to your trixbox Pro server.
    2. At the remote locations, the setting will forward all unknown incoming packets to the IP Phone.
    3. Reserve the phone�s IP address in DHCP or give the phone a static IP Address on your private network in the remote location so the IP Address does not change. If you use a static IP Address, pick one outside of your dynamic DHCP IP Address range.
  9. For mission critical remote employees, consider using a fractional T1 internet service at the remote office instead of a Cable/DSL connection.

Labels: , , , ,

Monday, February 11, 2008

Dynamic DNS & Port Forwarding

One thing that is necessary when dealing with IP videoconferencing is the whole network management thing. This means dealing with DNS, ports, and firewalls.

DNS remains a bit of a mystery, but in essence, the DNS system maps numerical IP addresses to domain names. So for example, my web site is located at 64.78.42.66. The way I know this is by running the NSLOOKUP command in Windows.

You can find your current public IP address by going to www.whatismyip.com

For help in setting up your router with port forwarding, go to http://portforward.com/

Laura Chappell produces fantastic tutorials on network troubleshooting. I should say "still"...because I've been reading her stuff since Novell was the networking operating system, and that is going back close to twenty years. The linked tutorial, from Novell Connection Magazine is entitled 10 Tasks Every Troubleshooter Should Conquer.

She references the SecTools site for tons of networking tools

Labels: , ,

Wednesday, August 29, 2007

Suggested Routers for VoIP

In addition to the new Trixbox training mentioned the other day, Fonality is now offering commercial versions of TrixBox...called Trixbox Pro. This is offered as a "hybrid hosted" model, in which you supply the server and other hardware, but the server is more or less permanently in contact and managed from their hosted server application.

As they are rolling this out, they seem to have upgraded the help support wiki, with some very specific information gleaned from their experience of deploying over 60,000 phones. For example, here are recommendations for routers suitable for use with VoIP.

They have also published a hardware compatibilty list, which lists certified, (fully supported) hardware and uncertified (supported by at a 25% cost premium) hardware. Of interest are several HP servers that are certified, and the Dell SC440 (tower), and 1950 (1-U rackmount). Aastra and Polycom phones are on the certified list, as are Sangoma interface cards.

On the suggested router list at the low end are the Linksys BEFSR81, D-Link DI724U and Fortinet Fortigate 50B.

They also have a "blacklist"...stuff that they don't recommend for various reasons. These include problems with firmware (notorious with some low-end routers), and design incompatibilities. Sure enough, my BEFSX41 is on the blacklist.

Labels: , , ,

Thursday, July 26, 2007

Microsoft Action Pack Update for July

One reason why I like the Microsoft Action Pack is that it gently feeds you a trickle of the tsunami of new Microsoft products, betas, Community Technology Previews (CTPs), samples, trials, and templates. This months quarterly update is no different and includes a couple of interesting products:

  • The 64 bit version of Vista Business
  • Beta 3 of Windows Server 2008 Enterprise in both 32 bit and 64 bit versions.
  • System Center Essentials 2007
  • Office Live Communications Server 2005 Enterprise Edition
  • Windows Server 2003 R2 32 and 64 bit

I've been running Windows BackOffice 2003 on my server for what I think is at least two or three years, so I'm contemplating installing one of the straight Windows Servers as a replacement. BackOffice is fine if you want to run Microsoft Exchange, and you want to have some beefed up management tools, but I've never been convinced of its utility over the regular Windows Server product. Exchange is a whole trip in itself, (can you say backup and spam control?) and in small offices that would otherwise be the typical customer for BackOffice, I would normally recommend just going with mailboxes from your internet service provider.

Live Communications Server is the Microsoft VoIP back-end product...something I'm interested in looking at; but was unable to install on my Win 2003 BackOffice server.

The Action Pack is a quarterly shipment to Microsoft Partner subscribers, and is suited for small consultancies or businesses with ten or fewer desktops. You get the full office suite with all the goodies like Visio and MapPoint, as well as all the server operating systems. No development tools--that is for the Microsoft Developers Network Subscription, but so many of those are available as trials and free versions that you can get pretty far without spending a lot in that area.

Labels: , , ,

Wednesday, July 25, 2007

Ekiga, formerly known as Gnomemeeting, is a Linux based softphone/videophone. (A newer version is also available for Windows). They've thought of everything... STUN, H.323, SIP, a directory, NAT traversal, you name it.


I'm using version 2.03 that was in the stock installation of Ubuntu Feisty. After a couple hours of fiddling, (at least 30 minutes of which was finding out that my microphone was switched off...) I've been able to make test voice calls to what sounds like their Asterisk server. Looking around, it says they are up to about 2.09, and if you want it work full-screen, you have to compile from the source code.

Labels: , ,

Wednesday, July 11, 2007

Network Monitoring Tools

Nice thread over on the TrixBox forum which suggests a summary a network monitoring tools, mostly open source.

Labels:

Thursday, May 03, 2007

Erasing your Hard Drive - Really

How to REALLY erase a hard drive by Robin Harris

Who Knew? Turns out there is a way to do a full erase on a hard drive already built into the firmware on the drive.

So what�s the magic?
Something called Secure Erase, a set of commands embedded in most ATA drives built since 2001. If this is so wonderful, why haven�t you heard of it before? Because it�s been disabled by most motherboard BIOSes.

Secure Erase is a loaded gun aimed right at all your data. And Murphy�s Law is still in force. But hey, if you�re smart enough to read Storage Bits, you�re smart enough to not play with Secure Erase until you need to.


I use Boot 'N Nuke myself, which he also mentions.

Labels: , ,

Monday, January 22, 2007

Economics: Home-Grown vs. Full-Service VoIP Providers

While wallowing around getting the Asterisk/Trixbox up and running, I�ve been wondering about the economics of this especially when placed against other possible solutions. For example, Packet8 offers a business phone plan as a service; they provide you with phones, but everything else is provisioned over the internet. No server required.

Packet8 is a full service IP phone provider with both business and home phone plans. They offer a business service with a required minimum of three phones at $40.00/per extension. This includes unlimited calling throughout the U.S. and Canada. Calls to Germany are 2 cents per minute. So, the minimum would be $120.00 per month. They�ll sell you phones for about $99.00 each which is a good deal. If you would rather not buy the gear, and you can commit to a minimum two-year contract, they�ll give an option for $49.00 per month.

That covers the outbound calls and provides you with one inbound number. Additional inbound numbers, which can be virtual numbers, are $5.00 /month. They have a calculator on their site which gives you an idea of what the upfront and monthly costs will be.

If you wanted to start up with an Asterisk box, you would still have to buy IP phones. You can�t get a phone for much less than about $80.00, so that part of the equation is comparable.

Now, as I said with VoicePulse, there is a charge of roughly 2 cents per minute, and it all depends, on the amount of calling you are going to make. Comparing with the Packet8 rate, of $40.00 per extension per month, you would have to talk for thirty-three hours for a single extension to use up the $40.00 bucks. Further, with Packet8 the 5th or 8th phone costs as much as the first phone; there are no cost breaks as you scale up. They have a calculator on their web site that shows the upfront and monthly recurring costs.

Inbound virtual numbers with VoicePulse are $11.00 per month. Of course with Packet8, you don�t have a server; everything is done virtually over the internet connection.

After reading several reviews, (decidedly mixed), on Packet8, I�m thinking that the idea of the Asterisk box is still a good one. For one thing, using an Asterisk server allows you to maintain a hybrid system; a mixture of VoIP and connections to a landline. It also allows you to mix and match your own IP phones and soft phones. And, for me at least, the monthly charges are negligible. I can add as many extensions as I want, for just the cost of the phone hardware.

More Links:

Here's an older review of the VoicePulse regular (non-Asterisk) service.

Test your network for VoIP. This service will place test calls between your location nd several cities including Sydney, Vienna, Boston, and Montreal.

A similar test for videoconferencing.

Finally, I ran into this great article about how to rewire the phone wiring in your home or business to use VoIP. Many systems, like the home service of VoicePulse, Packet8 or Vonange assume that you want to connect a single telephone to their servcie. This article explains how to work around that problem, and includes a great deal of general information about phone wiring. Get your dykes and screwdrivers ready!

Labels: , , ,

Thursday, October 26, 2006

Desktop Videoconferencing Reloaded


Finally, something that works!
A friend recently got himself a new Mac Powerbook, which comes with a built-in video camera and video software. He emailed asking to try a video conference, and I emailed him back with the web address for SightSpeed which has a free desktop video client available for both the Mac and Windows. We installed it on our respective machines and had it up and running in a jiffy.

It worked well. I'm in Vermont on a cable modem, he's in Pennsyvania on a DSL line connecting through his wireless router. We got what I would rate as 24 frame-per-second video, with no visible artifacts, and fully synchronized sound with flawless echo-cancellation even though we were both using external speakers. Our call went on for more than a half hour; and we talked about a lot of other things other things besides videoconferencing.

This is how it should work. When was the last time that you spent more than a minute of a telephone call talking about the phone call? (unless it was a bad cell-phone connection). The technology "fell away"... and we didn't have to think about it. Not bad for a first call.

Of interest, then, was the quality of the second call....which was to the SightSpeed tech support people. The guy I got was located in Chicago. This call still had good video and audio, but it broke up several times..probably from a slow internet connection. But then I had already been spoiled by the quality of the first call. This call was still better than anything desktop video I had experienced, with exception of the Polycom PVX software talking to a Polycom room unit.

Like Skype, SightSpeed appears to be a closed system; it will be interesting to see if there will be any way to open it up, and connect to other SIP-based end points.

There has been a lot of buzz about SightSpeed. I think they are on to something.

Labels: