Powered by Invision Power Board


  Reply to this topicStart new topicStart Poll

> Hilarious Customer Service Email from Vendor, demonstration of how not to do support
andy
Posted: Sep 2 2003, 11:00 AM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



Would anybody be interested in seeing an amazing display of just how poor customer service can be when you select the wrong software vendor?

I've got this wonderous email exchange with one of our software vendors that quite simply takes the cake for the worst customer service ever. This bad customer service was provided by the founder of that company, no less.

Most people simply cannot believe what they're seeing when they read this email exchange and I'm just dying to show it to the public. tongue.gif

If you guys want to see it and like it when I post it, then I'll go post it on some other public forums related to web hosting. I think his potential customers deserve to know what they might be getting themselves into if they choose to do business with him. cool.gif

The email exchange is still ongoing, so I'll wait until it is complete before I post it, but I think you guys will get a kick out of it. wink2.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 2 2003, 02:46 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



I've removed details like email addresses, IP addresses, license keys, version numbers, and so forth that could be a security risk and are not important to the dialogue. I've replaced them with "xxxx" for clarity.

The name of the company is Emerging Technologies, Inc. and they make our bandwidth management software, at least for the time being until we can find a new vendor for that software. For the most part, the software works quite well and overall, we're happy with the software. However, as evidenced by the following email exchange, you might as well forget about any support or customer service, let alone polite and professional replies.

Remember, all of the replies I received were from the founder of the company (ET, Inc.). This entire exchange happened within 5 days.

Here's the original email I sent to them that started the exchange:
QUOTE
Hello,

We have the software bwmgr product (version xxxx) with license
key xxxx running on xxxx.

We're having trouble getting the bwmgr to retrieve information from
a remote device running SNMP.  From the GUI, it gives the error
message "Cannot Access xxxx".  xxxx is the IP
of the remote device.

We know the remote device is receiving the request from the
bwmgr, but it appears to be malformed or at least not understood
by the remote device.

Here's the debug output on the remote device (a Cisco 7206 router)
of the request sent by the bwmgr:

Aug 28 10:47:17: SNMP: Packet received via UDP from xxxx on FastEthernet0/0
Aug 28 10:47:17: SNMP: Get request, reqid 282718191, errstat 0, erridx 0
mib-2.1074146044.10155909.10155909.3221219528.1074145632.1107357230.1107362594.
33.1073743934.1073743288.1073742360.1073820136.8.1074146372.7.11073333
76.1074146044.99591964.99591964.3221219592.1074145632.1107349892.6.1107
327680.1073742888.1073820136.1870...
Aug 28 10:47:17: SNMP: Response, reqid 282718191, errstat 2, erridx 1
mib-2.1074146044.10155909.10155909.3221219528.1074145632.1107357230.1107362594.
33.1073743934.1073743288.1073742360.1073820136.8.1074146372.7.11073333 76.1074146044.99591964.99591964.3221219592.1074145632.1107349892.6.1107
327680.1073742888.1073820136.1870...
Aug 28 10:47:17: SNMP: Packet sent via UDP to xxxx


The errstat and erridx indicate that there is "no such variable name."

For comparison purposes, here is the debug output on a request
from our MRTG machine that is processed successfully on that
device:

Aug 25 10:19:54: SNMP: Packet received via UDP from xxxx on FastEthernet0/0
Aug 25 10:19:54: SNMP: Get request, reqid 1623789517, errstat 0, erridx 0
ifEntry.2.27 = NULL TYPE/VALUE
ifEntry.10.27 = NULL TYPE/VALUE
ifEntry.2.27 = NULL TYPE/VALUE
ifEntry.16.27 = NULL TYPE/VALUE
sysUpTime.0 = NULL TYPE/VALUE
system.5.0 = NULL TYPE/VALUE
Aug 25 10:19:54: SNMP: Response, reqid 1623789517, errstat 0, erridx 0
ifEntry.2.27 = ATM3/0.1-aal5 layer
ifEntry.10.27 = 0
ifEntry.2.27 = ATM3/0.1-aal5 layer
ifEntry.16.27 = 0
sysUpTime.0 = 2463904776
system.5.0 = xxxx
Aug 25 10:19:54: SNMP: Packet sent via UDP to xxxx

I looked through the documentation on your web site about
graphing external devices and I didn't see any special requirements
for the remote device other than using the "public" community.

We graph many things from that remote device using MRTG on a
different machine and that all works just fine.

External device graphing using the bwmgr GUI does not appear to
work with any of our SNMP devices on our network.

Can you give me any pointers on what could be causing it not to
work with the bwmgr software?  Is there a config I can make on the
bwmgr that will allow me to define how an SNMP request should be
formatted?


Here's their reply:
QUOTE
We only support the standard public MIB; we dont really support the feature
beyond that (as stated in the docs). If you can read the mib with

snmpwalk host public

then you should be able to read it with the bwmgr. Otherwise you almost
certainly cant.

Dennis


My reply:
QUOTE
Thanks for the reply. 

Yes, 'snmpwalk hostname public' does work from the bandwidth
manager for the external devices in question.  There's nothing
abnormal or wrong with SNMP on our Cisco router or our 3com
switches, or any other SNMP device we're attempting to graph from
the bwmgr.

I tried this on xxxx initially.  When that didn't work, I figured I'd
better upgrade to the latest version since you guys don't support
anything else.  We're now running xxxx.  A slightly different SNMP
request is being sent by the bwmgr, but it still doesn't work.  I have
debug output from one of our SNMP devices that shows how the
request is sent by the bwmgr.

You're also right that I should be able to read those devices with
the bwmgr.  However, I'm unable to read *any* SNMP enabled
device on our network with the bwmgr. 

The request the bwmgr is sending to our SNMP enabled devices
appears to be hard coded with OIDs rather than using the typical
"get next" that snmpwalk uses. 

If you don't mind my asking, what device did you generate your list
of query OIDs from? 

From the work I've done with SNMP, I've never seen two devices
from different vendors have all the same OIDs supported. 
Inevitably, some OIDs will not be implemented because they do not
apply to that device and, thus, you're going to get back an error if
you query that device for a list of OIDs present on a different device.

I recognize you don't support it beyond what you say.  That's fine. 
But it doesn't even work like you say from what I can tell.  I would
have to query the same exact device as what you used to generate
your list of OIDs to query for it to work at all.

This problem can be  duplicated by anyone with a Cisco router or a
3com switch.  I don't know many networking organizations that
don't use at least one of those brands in their network.

If you need further information to help you identify the problem, I'll
be glad to supply any information you might need.

Andrew


His reply:
QUOTE
If you "have the debug output", then you should be able to isolate exactly
what isnt working. It works between boxes, which implies that it should
work with others. All it does is get

interfaces.ifTable.ifEntry.ifDescr.X
interfaces.ifTable.ifEntry.ifInOctets.X
interfaces.ifTable.ifEntry.ifOutOctets.X

Its not rocket science. I dont see the correlation between your debug
output and that, but you should have enough info to figure it out. You can
change the MIBs to match your cisco mib.

Dennis


My reply:
QUOTE
Now we might be getting somewhere.  You mentioned "You can
change the MIBs to match your cisco mib."

So, does this mean that the bwmgr is getting information from the
local MIB running on the bwmgr when it forms its query to a remote
device?  If that is the case, specifically, from what file on the local
machine does the bwmgr derive its query to remote devices?  Or
does it gather information from the local MIBs in some other
fashion?

This is definitely not rocket science.  The OIDs you mentioned
exist on our devices and are queryable, but for some reason the
bwmgr is not querying those OIDs you mentioned.  It is querying
with some weird string that doesn't look like a valid query.

I'm not trying to be difficult here.  I'm just trying to understand why
it isn't working so that I can make it work like it's supposed to
work.  If the documentation contained this information about relying
on the local MIB to query an external device and information about
where it looks for that MIB locally (if that's the case), I wouldn't be
bothering you right now.

Andrew


His reply:
QUOTE
This is the deal. We didnt sell you SNMP, nor did we write it. Nor do we
support your use of it. I've told you all there is to tell, not if you need
to make it compatible, do it, but dont expect us to help.    I dont have
the time nor the obligation to educate you on the subject.

The "documentation" doesnt contain any info because YOU installed some
random distribution of SNMP, and we dont have any idea what version or
where your info is.


My reply:
QUOTE
Hello again Dennis,

I think you misunderstood.  I know how to use SNMP.  On our
bwmgr, we're using ucd-snmp-4.2.5-7.73.0, which I believe is
standard with RedHat Linux 7.3.

I don't need anything from you except one thing:
How does your software create its SNMP query to a remote device?

If you can't tell me that for some reason, can you at least tell me
what version of SNMP you're running on your bwmgr machines that
works for you?  That would at least give me a basis for comparison.

Of course, this is all based on the assumption that the bwmgr
software uses some information from the local SNMP installation,
which you have yet to confirm or deny.

I'm not asking you to explain the SNMP protocol, how to install it,
how to make it work, what it does, why we should use it, or any
number of other moronic things I'm sure you get asked a million
times a day by less than desirable customers.  I can identify with
that, but I don't think it is fair to assume all customers are clueless.

Andrew


His reply:
QUOTE
I dont misunderstand. Its rather clear that you dont know, because you have
more than enough info already.


My reply:
QUOTE
Can you at least confirm or deny whether or not your software uses
information from the local MIB to create its query to external
devices?

From what I've seen, you've hard coded the OIDs to query into your
software.  I would have thought you were smarter than that, but you
still haven't told me anything that would lead me to believe that you
are.

What I "don't know" is what external data your software requires for
this feature to work and how/where it gathers that information. 
Since you didn't document how this feature works and you seem
insistent that I'm a moron, I have no choice but to play 20
questions.  Wouldn't it just be faster to answer my 30 second
question instead of dreaming up reasons that I must be a moron
and you shouldn't have to support me?

Andrew


His reply:
QUOTE
yes it does. At some point you'll "get" that I dont know how to fix your
problem, and Im not willing to spend any of my time on it. Mainly because
we dont support SNMP. So please dont ask again, because when you tell
people something and they keep coming anyway, there is no other choice but
to be rude.


My reply:
QUOTE
Thank you for the information.  That's all I needed.  That wasn't so
hard, was it?

Andrew


At any rate, I at least got enough information out of him to do some educated guessing about where on the local machine his software is gathering its information. It will still take awhile for me to pin down exactly what location on the file system it expecting the MIB to reside at, but that is just a simple process of elimination at this point. If he had just told me what version of SNMP he was running on his bwmgr boxes, I could have compared install locations between that version and the version that I already have installed. But that would have been *way* too helpful. ohmy.gif

This should be required reading for all staff in customer service. It is a perfect case study in how to lose a customer in 5 days or "what not to do." blink.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
brucew
Posted: Sep 2 2003, 07:45 PM
Quote Post





Group: Members
Posts: 53
Member No.: 129
Joined: 21-November 02



You know, that nearly duplicates an exchange I had last week with a prospective client.

A two-page RFP for a web site shows up in my mailbox out of nowhere. Says things like "searchable funding opportunities database", "online technical assistance consulting", "interactive media" and stuff. Two pages?

In five email exchanges, every question I asked was answered with variations on the theme of, "Everything you need to know is in the RFP."

I looked at it again, and you know what? Everything I needed *was* in the RFP. All I needed to know was, "I don't need this client."

Here's hoping you've reached a similar conclusion with your vendor. wink2.gif


--------------------
I am not a complete idiot. Some parts are missing.
PMUsers Website
Top
andy
Posted: Sep 3 2003, 04:11 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



Well, after a full day of trial and error, still no luck. I've read every bit of SNMP documentation out there and I didn't learn anything I didn't already know.

I've tried different config file locations. I've tried different MIB locations. The local SNMPd works just fine with the config and MIB locations setup by default.

Heck, I've even tried running his software through a debugger to see if I could figure out how it was generating that mangled SNMP query.

I'll PayPal $100 to anyone that can provide me with the solution or provide me with a step-by-step method of finding the solution that results in actually finding the information I need.

As much as I hate to say it, this includes pestering the guy who won't give me the information until he relents and gives someone the information. wink2.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 9 2003, 02:33 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



Update:

I finally managed to get a little more information out of him:

QUOTE
At 04:00 PM 09/08/2003, Andrew wrote:
>I'm not having much luck tracking down how/where on the local
>system the information is being pulled from.  What Linux
>distribution and what SNMP package are you using?


A modified ucd-4.1.2. We dont use any particular distribution, and it
shouldnt be relevant.

Dennis


Now, here's something funny. Earlier, he mentioned that we were using some "random" SNMP installation on our bandwidth manager system. We'll, it turns out that the version he's using is no longer even available for download from the UCD-SNMP web site. **It's too old!** I checked some RedHat Linux 7.1 CDs that we have here and the version of UCD-SNMP on those CDs is newer than his version.

At any rate, we're trying to track down an RPM of that older version to see if that's what we need to get this working.


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 11 2003, 01:49 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



We found an old ucd-snmp RPM, installed it, and configured SNMP. Still no change.

I'm fresh out of ideas. I've tried at least 23 different approaches to solving this problem and haven't managed to find a solution yet.

If he would let me look at the source code, I could solve this problem, but he won't do that because it's commercial software.


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 12 2003, 01:35 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



Finally getting somewhere. Had to broaden my technical horizons and apply some creative thinking.

I made a wrapper for the GUI using a shell script that called strace on the program and recorded all system calls the program made, their variables, and their results.

Found the following:

CODE
stat64("/usr/local/share/snmp/mibs/.index", 0xbfffe604) = -1 ENOENT (No such file or directory)
open("/usr/local/share/snmp/mibs", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)


So nice of the guy to tell me his software was looking in a non-standard location for MIBs on RedHat Linux machines. The standard location on RHL is in /usr/share/snmp/mibs, not /usr/local/share/snmp/mibs.

At any rate, now that I know what it's looking for, I can put the necessary information there and see if we can get it working.


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 19 2003, 03:39 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



I'm much closer to getting this thing working after several more days of twiddling various things. It turns out that his software needed a very specific version of ucd-snmp MIBs installed and was completely incapable of parsing any other version for whatever reason.

I ended up having to place the MIB files from ucd-snmp-4.1.2 in /usr/local/share/snmp/mibs and tweak the permissions on that directory a bit.

Those MIB files were compatible with the software.

However, now that the software is able to read the remote device, it appears to be unable to actually configure graphing for the interface on the remote device.

Now it's off to do some more debugging work .... dry.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
andy
Posted: Sep 19 2003, 04:12 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



This is fun. I actually found a bug in his software. Now he'll have no choice, but to pay attention. tongue.gif

When the system tries to save the configuration, here's what happens:

CODE
open("/usr/local/etc/bwmgr/config/xxx.xxx.xxx.xxx:Serial1/1:0.cfg", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/bwmgr/config/xxx.xxx.xxx.xxx:Serial1/1:0.cfg", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No such file or directory)


Basically, if you look closely, you'll notice that his software didn't bother to parse and reformat the name of the interface on the remote device and left a "/" character in the filename. The system then thought it was trying to create the configuration file in a directory that does not exist.

I tried creating the "directory" first and that let it write out the configuration file, but the configuration file read routine is unable to read the file from the directory.

So, at this point, I have no choice, but to deal with this fellow once again and submit a bug report. What a pain. dry.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
Starman
Posted: Sep 19 2003, 07:28 PM
Quote Post





Group: Members
Posts: 24
Member No.: 170
Joined: 2-January 03



Geee Whiz, not understanding a bit about the technical, stuff, I can't believe this guy is still in business. Maybe YOU should buy him out and provide a WORKING product for all of his former clients. Looks like he can't fix his own creation and is hiding behind a "not my responsibilty" to skirt the fact.

(What does it do anyway.. blink.gif )

Starman


PM
Top
andy
Posted: Sep 20 2003, 09:50 AM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



QUOTE
Maybe YOU should buy him out and provide a WORKING product for all of his former clients.


I have talked about that many times with the other management here, but we just don't have the capital to make a serious offer to buy him out. In short, we'd have to attract some outside investment or get a loan to be able to do so.

He's got a tremendous product and if he'd just apply a little business sense he could make some serious money and have very happy customers.

Maybe we will open a dialogue with him and see if we can figure out what his expectations would be if he were to sell.

QUOTE
What does it do anyway..


Bandwidth management. Any aspect of controlling or monitoring bandwidth usage you can think of can be handled by this software. We use it for tracking usage of Upipe accounts for billing purposes. We also use its firewalling capabilities to lock out hackers, worms, viruses, spammers, network scanners, and other baddies. Overall, it is very important to our network and would be very important to any network that used it.

Most recently, we've started using it to monitor and track bandwidth usage on various ports of our routers and switches in our network. It's that functionality that had the trouble and began this incident.


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
Fest3er
Posted: Oct 21 2003, 07:51 PM
Quote Post





Group: Members
Posts: 28
Member No.: 330
Joined: 21-October 03



QUOTE (andy @ Sep 12 2003, 01:35 PM)
Finally getting somewhere. Had to broaden my technical horizons and apply some creative thinking.

I made a wrapper for the GUI using a shell script that called strace on the program and recorded all system calls the program made, their variables, and their results.

Found the following:

CODE
stat64("/usr/local/share/snmp/mibs/.index", 0xbfffe604) = -1 ENOENT (No such file or directory)
open("/usr/local/share/snmp/mibs", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)


So nice of the guy to tell me his software was looking in a non-standard location for MIBs on RedHat Linux machines. The standard location on RHL is in /usr/share/snmp/mibs, not /usr/local/share/snmp/mibs.

At any rate, now that I know what it's looking for, I can put the necessary information there and see if we can get it working.

Andy,

Have you considered using emacs to edit the program and change the incorrect paths? I would think strings(1) would tell you how many of each instance you need to change. Basically, you shift the "/share..." leftward, and fill in the new gap at the end of the string with NULLs. I've done this a time or two, and it works *provided* the software isn't written with hard-coded stirng lengths. But this may only work when you need to *shorten* strings. sad.gif

Also, gdb has its advantages once in a while: you can attach to and patch the running program. smile.gif smile.gif But this isn't for the faint of heart.

Fest3er
PMEmail Poster
Top
andy
Posted: Oct 21 2003, 08:08 PM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



QUOTE
Have you considered using emacs to edit the program and change the incorrect paths?


No, I hadn't considered that. I'm not familiar enough with emacs to use it for editing precompiled binaries. I probably should be and more than likely I will be at some point.

Part of the problem is that the incorrect paths are just a simple parsing problem rather than simple hard coded paths in the binary. It takes raw interface name data from SNMP and plunks it into the path when creating the file. I would think that writing in a parsing and translation routine to a precompiled closed-source application would be pretty close to a miracle. Doing it from the source code would probably be a 15 minute operation, though.

A couple of days after I submitted by bug report (which never received a response, BTW), a new version of the software was released that kept the same version number and had a vague release note of "Fixed a GUI issue." I suspect that is the fixed version, but I haven't had the time lately to pursue this further.


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
Fest3er
Posted: Feb 21 2006, 10:52 PM
Quote Post





Group: Members
Posts: 28
Member No.: 330
Joined: 21-October 03



QUOTE (andy @ Oct 21 2003, 08:08 PM)
Part of the problem is that the incorrect paths are just a simple parsing problem rather than simple hard coded paths in the binary. It takes raw interface name data from SNMP and plunks it into the path when creating the file. I would think that writing in a parsing and translation routine to a precompiled closed-source application would be pretty close to a miracle. Doing it from the source code would probably be a 15 minute operation, though.

I *knew* there was a thread I'd forgotten about! With an intervening 2.5 years, I assume you received software that works. smile.gif

Duh. Serves me right for not groking what you said. Yeah, it's a parsing problem. 'Patch the running code' is an old phrase...

If it really came down to it, you could write and compile some code that 'corrects' the bad string, append it to the code section of the binary, then replace the call to stat64() with a jump to your patch. The patch could parse the string and change the offending '/' to '_'. Of course, you'd have to do this for every stat64() call, and probably every open() call, too. It might be easier to write a bit of library code and link in a special library that 'overlays' the necessary library and system calls to fix the problem.

The other workable solution would be to install a cheap old PC running Linux that acts as a man-in-the-middle and does the string-correcting function.

Hmmm. It might be easier to get the vendor to supply working software. biggrin.gif biggrin.gif

N
PMEmail Poster
Top
andy
Posted: Feb 22 2006, 03:29 AM
Quote Post





Group: Advantagecom Staff
Posts: 4,340
Member No.: 9
Joined: 12-July 02



QUOTE
I assume you received software that works.


Well, I gave up on that "feature" years ago and have found other ways to get at the data I needed. They're clunkier than what this software feature would be if it worked, but at least they work.

There have been several new versions that we've installed in the last couple of years with about 15 or so versions we skipped, but I haven't bothered to check if the new versions made any improvements to this feature.

I'm still hoping that one day that guy will have some competition, but for now, his software is the only software or appliance solution that can do what his software does with the features that work. wink2.gif


--------------------
Sincerely,
Andrew Kinney
CTO, Advantagecom Networks

Please do not private message me. My regular management duties preclude responding to every customer that sends me a support issue. Instead, post on the forum or contact tech support.
PMUsers Website
Top
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll