×

SUBSCRIBE TO TMCnet
TMCnet - World's Largest Communications and Technology Community

CHANNEL BY TOPICS


QUICK LINKS




 


March 1998


To: CTI Susbscribers
Cc:  Creative Labs, ESS Technology, Mediatrix, Mircrosoft, Turtle Beach  
Subject:
  Full-Duplex Speed Bump Of The Road To Internet Telephony

BY Tom Keating


[Go To The Side Bar:  What's HOT!]

Now that the press has got hold of Internet telephony, we’re being treated to a rhetoric-driven joyride. That’s okay, except that while the hype-meisters are out there burning rubber, Internet telephony the very thing inspiring this high-speed road show has yet to clear a few speed bumps. No, I’m not talking about the speed of the Internet or slow dialup connections. And forget latency, forget QoS, and forget bandwidth issues. Just forget all the usual Internet telephony problems. I have a new bone to pick: Half-duplex drivers. Why must sound card manufacturers include half-duplex drivers with every sound card they sell? As we all know, in Internet telephony, full-duplex is the only way to go.

A STALLED DEMO
I stumbled across this full-duplex problem when my publisher, Rich Tehrani, asked me to set up an Internet telephony demo on his computer. Rich’s idea was to "wow" our new staff members, who had never seen Internet telephony in action. (Rich decided to trust me with this project because I had done such a fine job installing NetMeeting 2.1 on our NT 4.0 workstations. Talk about no good deed going unpunished!)

Rich was about to gather some employees to his desk, but I urged him to wait. I didn’t want us to disappoint the new staff by running a demo at half-duplex. I knew that the sound card on Rich’s computer had been installed months ago, and I was pretty sure this card, a Creative Labs SoundBlaster, lacked the new NT 4.0 full-duplex drivers.

Anyway, Rich and I decided to try a NetMeeting call without the staff observing us to see what would hap-pen. We connected fine, and then we started speaking. We noticed right away that our conversation was half-duplex. In addition, when either one of us stopped speaking, and then the other person started speaking, the first couple of syllables or words were cut off on the other end.

In half-duplex mode, whoever starts speaking has complete control of the conversation. The other person can scream into the microphone, but the sound will not transmit to the other end. With half-duplex, as with CB radio, the person speaking has to release the talk button (in the case of half-duplex Internet telephony, just STOP talking) to allow the other person to speak.

While we understood all this about half-duplex, we didn’t know why we were losing those syllables. We figured out that even when you stop speaking, the sound "energy" of your speech doesn’t dissipate immediately, which means the other person cannot assume control of the conversation immediately.

The dissipation of speech energy involves several steps and latencies. After you stop speaking into the micro-phone, the drop in energy has to filter down through several levels. First the microphone, then the microphone port on the sound card, then the components on the sound card, and then (finally) the software. By the time the software level detects that there is no voice being sent from the microphone, you’ve lost about a second. During this second, the per-son on the remote end assumes it is his turn to talk, and of course he starts talking a second sooner than he should.

Fortunately, NetMeeting has a way to handle this problem. The solution? Graphical "sound wave bars" that indicate which person is speaking. When one of us stopped speaking, we could see the sound wave bars get smaller and smaller, until the sound energy completely dissipated. Thanks to this display, the person on the remote end knew when he or she could start speaking. Once we figured this out, we were able to pause for a second before speaking, after the other per-son had finished speaking. Although talking this way was a bit awkward, it worked. The sound quality was good, and we could easily hold a conversation over our 28.8 Kbps connection.

But no matter. We still wanted to dazzle our new staff with Internet telephony, and we agreed that half-duplex was definitely not the way to go. I told Rich the problem was on his PC, since my PC already had the latest full-duplex drivers. Then, I volunteered to install the drivers on his PC, little suspecting how much trouble I was about to get myself into.

SOUPING UP THE PC
Installing the drivers started out simply enough. I printed out the README.TXT file for the Creative Labs full-duplex drivers and followed the directions step by step. I removed the sound card entry in the Control Panel under Multimedia, Advanced, Audio Devices and then rebooted. Then I read that if I had Service Pack 3 installed, I would need to extract the files into a directory, which was simple enough to do. Next, I needed to right-click on PNPISA.INF, a file that resides on the Windows NT 4.0 CD-ROM, and then I had to click on Install. However, since I knew this PC already had this file installed and loaded, I skipped this step. (Incidentally, the PNPISA.INF file gives NT some semblance of "Plug & Play" support for ISA PNP cards.)

Everything went fine until I tried to update the existing driver to the full-duplex driver. At this point, I received a Windows NT message: "The file sb16snd.dll is currently installed. Do you wish to use the New driver, Current driver, or Cancel." Of course, I chose "New driver." Windows NT promptly responded: "The current file is being used by Windows. Cannot overwrite file." Funny, the directions didn’t say anything about this! (Note to self: Lower the documentation rating to 4.)

I thought it was strange that this file was being used when I removed the Sound Blaster entry from the Control Panel, so I went there to investigate. When I opened the Control Panel, MultiMedia applet, I noticed that the sound card entry had magically reappeared from where I had deleted it (in the Audio Driver section). Okay, I thought, let’s try this again. I removed the entry, closed the Control Panel, and then went back in, just to make sure it was really gone. Once again, when I returned to the Audio Devices, the sound card had magically reappeared. I decided to follow some of the "known issues" recommendations, which were listed in the README.TXT file. None of them helped solve the problem. (Note to self: Lower the documentation rating to 2.)

Worst of all, not only could I not remove the entry, or even update the drivers, the sound card stopped functioning entirely! We went from half-duplex to zero-duplex. Not wanting to take too much of Rich’s time trying to get the sound card to work, I told him to use the computer "as is," and that I would get back to it during his next business trip. After a week or so of doing without his sound card, Rich finally went on one of his many business trips. Finally, I could resume my tinkering. I was determined to finish my work before Rich returned. He really missed his Real Audio downloads, his Internet telephony, his AVIs, even his mail notification beep.

CALLING MR. GOODWRENCH
When all else fails, check out the company’s tech support on the Web or call them on the phone. I figured the Web would be faster, so I checked out all the Creative Labs FAQs and troubleshooting tips. Nothing helped. So, I was forced to call their help desk.

I hate calling help desks. I’m afraid I’ll wait forever before anyone takes my call. I’m afraid I’ll end up talking to someone unqualified. Well, in this case, my fears were borne out. I waited a hefty 35 minutes, and somehow I was transferred by the IVR to a Windows 95 specialist, even though I specified the Windows NT group.

When the technician answered, I had just got back into Windows NT, and the "Microsoft Sound" was blasting out of Rich’s speakers. (During my wait, I had tinkered around with the Registry and did a few other things, and I somehow got the sound card working again.) Basically, I was back where I started: trying to upgrade from half- to full-duplex. I decided to keep the technician on the phone, so he could guide me through the full-duplex driver installation. This pass was just the same as the first one, except that this time I rein-stalled the PNPISA.INF file.

When I rebooted and logged on, Windows NT detected "New Hardware," which was encouraging, since it didn’t the last time. Apparently, the PNPISA.INF or Plug & Playser-vice was corrupt. I’ve talked to a few experts about this point, and I’ve received conflicting answers. One stated that you need to reinstall the PNPISA.INF file each time you add a new PNP ISA card, while another expert told me that you shouldn’t have to, since the PNPISA.INF adds a Plug & Play entry to the Windows NT Services, which allows NT to support Plug & Play ISA cards. I tend to agree with the latter expert. That is, I suspect that somehow the service was corrupted on this PC. In any case, I was able to successfully install the full-duplex drivers.

I rebooted again, and once again I heard the Microsoft Sound WAV file. (Whew!) Just to double-check everything was installed correctly, I went back to the Multimedia applet, and I noticed two entries under Audio Devices, where there should have been just one. I was getting closer for sure, but I didn’t want to leave two drivers loaded.

Two entries… A strange bug, I thought. It worried me, even though the full-duplex sound drivers were loaded and working. The Creative Labs technician agreed. He told me that I needed to remove all the Audio Devices again. I protested. He insisted, and added that I would have to shut-down, remove the sound card, and reboot four times. I said, "What? Four times?" He said, "Yeah, everyone says the same thing."

The tech said my device connections were like network connections. For example, even if your network node is down, you’ve got persistent connections to your net-work drives. Similarly, NT keeps persistent connections to devices you remove, unless you are even more persistent, and keep rebooting. According to the tech, if I rebooted the computer four times, NT would give up on trying to load the Creative Labs sound driver. Moreover, NT would remove the entry from the Registry.

Four reboots. How tedious. But the technician seemed sure of himself, so I decided to try. The tech also stated that on the fifth reboot I should put the sound card back in. He gave me a direct line to the NT support group, and told me to call back after I was done.

After I rebooted four times, I put the card back in and logged on, but I still had two entries. I was getting ready to hack the Registry to fix the problem, but that seemed risky, especially since this was my publisher’s computer.

I called Creative Labs again, and explained the situation to a different technician, an NT expert. I told him the four-reboot trick had failed. He suspected a corrupt Registry and recommended I boot off of the NT startup disks and do a "repair Registry." I followed his instructions after exporting the Registry to a file as a backup.

I was a bit wary about repairing the Registry, but the technical sup-port person seemed confident and knowledgeable, so I trusted him. But I soon learned that my trust was misplaced. While I had already spent six hours, over a period of three days, tinkering with Rich’s computer, the worst was yet to come.

NO ALTERNATIVE TO AN OVERHAUL
After I followed the procedure recommended by the tech, I found I could no longer boot into Windows NT. For all intents and purposes, NT was trashed! I realized that I would have to reinstall Windows NT and all of Rich’s applications.

Once I reinstalled Windows NT, I had two choices: Restore from a recent tape backup or rein-stall all the applications from scratch. I figured that since the original Registry may have been corrupted, and since I couldn’t seem to remove the duplicate audio device, reinstalling every-thing fresh was the best option. I’d have preferred walking on fire to reinstalling Windows NT and the many applications Rich uses (not to mention all the custom settings). Unfortunately, I didn’t have that choice. But at least I learned some valuable lessons.

KEEP THIS IN YOUR OWNER’S MANUAL
Here’s a summary of what I learned during my struggles with full-duplex drivers:

  • Have an emergency disk handy. (Unfortunately, this precaution wouldn’t have helped me much.)
  • Back up your Registry. (Of course, if the Registry is screwed up enough you won’t be able to bootup to restore it.)
  • Pray that the sound card manufacturers will write and ship nothing but full-duplex drivers.
  • f you remove a device and it keeps coming back like a bad sequel, don’t attempt to edit the Registry, regardless of what a tech support person might recommend. (To quote from a popular TV series, "Trust no one...")
  • When everything seems to be going wrong, just remember the 4 Rs:

    1. Reboot. (Self-explanatory.)

    2. Runaround. (What some technical support centers will give you. As in, "It’s a Microsoft issue not ours." Just be persistent.)

    3. Reinstall. (Not a pleasant experience, but sometimes necessary.)

    4. Redmond. (If all else fails, pack up your PC, fly into Redmond, plop your PC onto Bill Gates’ desk, and ask him to fix the darn thing!)

Joking aside, Microsoft has pro-vided a quasi-automatic means of backing up and restoring older versions of your Windows 95 and NT registries. Windows 95 keeps the Registry in two files, user.dat and system.dat. In addition, Windows 95 keeps the "last" version or backup of the Registry in user.da0 and system.da0. What’s nice about these files is that you can boot into DOS and change the file attributes from hidden to unhidden, and from read only to write. Then you can copy the backup Registry files over the troublesome "current" Registry.

Windows NT has a different, and supposedly easier, method of restoring the last known good Registry. Currently, with NT, you can press the spacebar during the bootup process to "load the last known good menu." I tried this recovery method on my publisher’s computer, but it didn’t work. The problem is that even if Windows NT gets to the logon screen, NT considers this a "successful" start-up. Thus, when I was able to boot-up to the logon screen (but couldn’t log on), NT saved the Registry to the "last known good menu," which probably overwrote an existing good backup of the Registry.

Had I known that I would be unable to logon to NT, I would have hit the spacebar on the "prior" boot to load the backup Registry. I think it would help matters if Microsoft were to implement a method that would let you go back and restore up to the last 10 iterations of the Registry before NT loads.

FORGET THE CHECKERED FLAG, PASS THE KLEENEX
Well, I eventually reinstalled and re-customized all of Rich’s applications, and I finally got the full-duplex drivers to work. By the time Rich returned to the office, his computer was ready, and we put on our Internet telephony demo. It worked fine. Perhaps too fine. Everything went so smoothly that our audience had absolutely no idea what a triumph of persistence the demo represented. They were impressed, sure, but I couldn’t help feeling under appreciated. It was as though I had won a grueling race, but the crowd decided to leave early, to beat the traffic, rather than stay and watch my victory lap.

Well, I’m not one to wallow in self pity. I studied the situation, and decided the most reasonable thing to do was rant and rave about the unnecessary difficulties of getting Internet telephony to work. There is, for example, absolutely no reason why installing full-duplex drivers should cause so many problems.

Lengthy pit stops to resolve minor problems are always frustrating, but they’re intolerable when they delay something as important as Internet telephony. Let’s hope these driver problems are resolved quickly. I have heard that Windows NT 5.0 will address many of the concerns that I addressed in this column, including better support for Plug & Play devices in NT. Encouraging news. It suggests Microsoft and the sound card manufacturers may yet allow us to focus on the road ahead.


What's HOT!

ENABLING DISTANCE LEARNING WITH AN IP-BASED SOLUTION

In an age of cost cutting, sending employees to different parts of the country for training is starting to look like an impossible luxury.  So rather than pay travel and accommodation costs, companies are truning to distance learning.

One of the leaders in providing distance learning solutions is One Touch Systems, which claims to be the only provider of a distance learning solution that is fully integrated and scalable from satellite-enabled classrooms to Web-based computers.  The One Touch Presentation Server lets a presenter (moderator) interact with remote students regardless of the network topology or student interface.

The system encompasses students using One Touch Response Keypads in satellite classrooms or video conferencing facilities, and students using One Touch Front Row-enabled desktop PCs.  Training or communication events can accommodate hundreds or enven thousands of perticipants.  Participants can press a button (raise their hand) to get permission to speak, ask a question, or anonymously let the presenter know they are having trouble with the material.

In addition, the moderator can poll participants.  After the participants answer a question or cast their ballots, the results appear on everyone's screen.  The moderator can also call on any participant, wheter to confirm the participant is logged on, or to see if the student is paying attention.

DESIGNING REAL-TIME MONITORING APPLICATIONS
DataViews, a software vendor active in industires such as manufacturing, process control, and network monitoring, is also active in CTI.  With DataViews, you can build a fully animated interface to depict, analyze, and regulate your real-time industrial, scientific, or network processes.

The DataViews package comprises DV-Draw, an interactive drawing editor for creating customized user interface screens, and DV-Tools, a comprehensive subroutine library that lets you manage and manipulate dislays created with DV-Draw.

The graphical drawing editor is available for both Unix and Windows environments. A brand-new release, AXViews, delivers the tools you need to build real-time, graphical applications by combining the power of a full-featured editor and DataViews AcitveX Control.  Developers can work in Visual Basic, Visual C++, or any integrated development environment to quickly build robust applications.  The DataViews product also features Web integration, using Microsoftt's Internet Explorer with an ActiveX control, or Netscape with a pulu-in.  This allows an application to be monitored and controlled in both Inernet and intranet environments.

With this functionality, you can have Dynamic Data Visualization on the Web.   Let's say a certain site is reaching its capacity.  In this case, the dislay can respond by showing where to insert a board to expand the capacity.

The DataViews product is also optimized in that it will not transmit the entire graphic over the Web. (Graphics as we all know, chew up a lot of bandwith) Instead, the program uses vector graphics or delta changes.  These and other optimization techniques make sure that you transmit only those areas of screen that need to be changed.







Technology Marketing Corporation

2 Trap Falls Road Suite 106, Shelton, CT 06484 USA
Ph: +1-203-852-6800, 800-243-6002

General comments: [email protected].
Comments about this site: [email protected].

STAY CURRENT YOUR WAY

© 2026 Technology Marketing Corporation. All rights reserved | Privacy Policy