Standards? Pul–lease! 4 Gotcha’s of text-based protocols

5 must-have tools for VoIP Developers

By Ran Arad  |  June 9th, 2008  |  Filed under Development

Free tools for VoIP developersIs developing protocol stacks and communication software any different from developing any other software? I have to develop API’s for my protocol stacks a challenge in itself and related more to user psychology than to programming. I have to check control flows all the way down to the network and back to the application. I also need to process large amounts of data and  develop  many platforms. I hope these tools will be as useful to you as they are for me. Most tools are free, some are well-known while others are hard to find. I tried to concentrate on tools that are either essential for protocol programming or are not well-known such as Tools such as Beyond Compare and Visual Assist, while recommended for any programmer, are not detailed here.

Wireshark1. WireShark (formerly known as Ethereal)

This is an essential program for the development of any communications software. Firstly, it is a de-facto sanity check: can WireShark read and understand the message I encoded? Is all the information there? It is the final dispute resolver between the sender side and the receiver side. Anything on my side of WireShark is my responsibility, anything on your side of WireShark is yours, and in the rare case where the problem is between WireSharks - it’s the network’s fault. It is almost bug-free, regularly updated, distributed to all major platforms, free and open-source to boot. Kudos to the developers.

ActiveState (ActiveTcl)2. ActiveTcl

As I mentioned, we develop software to run on many platforms. We used to maintain two GUI applications, one for Windows and one for UNIX platforms. About eight years ago, we discovered Tcl/Tk, which is a scripting language used for GUI creation and looks and works the same for Windows and UNIX. Over this GUI, we implemented a macro recorder and script execution for load tests, another recorder for automated testing (an adaptation to run the Tk GUI on a remote computer for embedded systems), further Tcl scripts to analyze logs and a packager to help the release process. The language is both simple and powerful. While it may not be as powerful and extendable as Perl, Python or Ruby, if you also want a present GUI integrated with your script, it is hard to beat. It is distributed freely by ActiveState, and has  widgets and scripts developed by the community from a tree widget to an oscilloscope.

Google Desktop Search3. Google Desktop Search (GDS)

When you develop standard-based protocols, they tend to add up. A quick look in packetizer revealed that MEGACO has 62 extensions. H.323 uses H.225, H.225, Q.931, 9 H.235 documents, 12 H.450 documents, 22 H.460 documents and much more. The number of SIP-related RFCs is hard to keep track of and with IMS in the picture it is surely in the hundreds count. When you receive an innocent customer’s question like “Does your protocol stack support this service?” you have to do some cross-standard searches for mentions of the service and its dependencies. You may also have to mention  the CS databases (kept in outlook) for previous questions on the subject. GDS is so far the best solution I found, if only they could fix the Antivirus aggravation problem and the attachment indexer bug. Available free from Google, that is, if the possible cost of your privacy is “free”.

TextPad4. TextPad

Text editors are a dime a dozen. Even free and sometimes open source text editors are available. So why recommend this one? I have a few simple reasons:

  • Low resource consumption (useful to have)
  • Microsoft-like keyboard shortcuts
  • Macro support
  • Customized syntax highlighting
  • Search-again, search-backwards keyboard shortcuts. These should work exactly like Visual Studio’s F3, Ctrl-F3, Shift-F3, Ctrl-Shift-F3. These should, in fact, be F3, Ctrl-F3, Shift-F3, Ctrl-Shift-F3. Since this is a very strict demand, I agree to do some work on my part, like macro recording and keyboard shortcut assignment, so long as I get it in the end
  • Ability to open and handle huge log files
  • Spelling checker
  • Binary file editing
  • Use of regular expressions in search and replace

So far, TextPad was the only text editor to satisfy all these demands and is available from $33.00 to $9.20.

5. QTTabBar

I don’t know if this is related to users at large, protocol programming, just to programming or just to me, but I usually have about six file Explorer Windows open at any time, which clutters up my task bar. Since I have tabbed browser windows, and thanks to WndTabs (free), inside my Visual Studio environment, I wanted a tabbed interface for my file explorer as well. I used xplorer² (free trial, 30$), CubicExplorer (free), XYPlorer (free trial, 15$), Frigate (free trial, 25$) and Ultra Explorer (free), they were all lacking, but I could not put my finger on where exactly they lacked. They all had many interesting features, from marking recently used files, through to dynamic filtering, to command line interface, but only after using QTTabBar I realized that what I wanted most was simplicity: quiet integration with the regular file explorer, automatic trapping of created explorer windows, that’s it. Grab it while it’s free.

I’m always happy to get recommendations for useful tools, so please tell me what you use.



1 Comment
Add your own   

  • 1. 5 must-have tools for VoIP Developershttp://googledesktop.titeblog.com/?p=133  |  June 9th, 2008 at 1:55 pm

    […] Go to the author’s original blog: 5 must-have tools for VoIP Developers […]

Leave a Comment

Required

Required, hidden

:) :-S (H) :cry: 8-| :@ (!) :-D (?) :$ 8-) :-( :-) ;-)

Notify me of followup comments via e-mail

Trackback this post  |  Subscribe to the comments via RSS Feed


Subscribe

Subscribe via RSS
Subscribe via email:

Interactive Video Platform