April 2012

Regular Columns

From the Editor
by Betty Bouchie

Be Inspired
by Gary Blair

Something to Smile About...

Stepping Up Your Game
by Marty Imes

Featured Articles

From the President
by Trisha Stenberg

Setting up eResponse with IS and Intelligent Scripting
by Chris Morrison

NAEO Conference in Las Vegas
By Shelly Trunkle

Upcoming Webinars

Amtelco Annex

Print IS Info Pages to a Printer or a PDF Creator
by David Drenk

MDR Service Can Run on a Server or a PC
by David Drenk

Infinity 101
by John VanWalsum

From the Editor

by Betty Bouchie

April fool’s!

April 1 is the day to watch your back, your front and all around you. It is the day when practical jokers have an excuse to prey on the unsuspecting. Every year on April 1, the radio stations in my area come up with the craziest news items, and what surprises me is how many people actually believe them... just because it was on the radio! So this April 1, keep your eyes and ears open for the silly, the foolish and the crazy things that are tossed your way. Don’t be a fool, but be a good sport.

Check out the greatest hoaxes of all times, below

Back to top

Be Inspired

Submitted by Gary Blair

A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
~Douglas Adams

Mix a little foolishness with your prudence: It's good to be silly at the right moment.

Back to top

Something to Smile About...

One for unnecessary, but fun information

One to celebrate spring!

Back to top

Trisha Stenberg

From the President

by Trisha Stenberg

What happened in Vegas… I hope you were able to take back to your offices and use to better your businesses! Hearty thanks go out to all of the presenters, panelists, committee members, Board of Directors, Amtelco and most of all – the conference attendees – for making our 2012 NAEO Conference a great success. I was able to spend some time this morning reviewing some of the survey results, and based on the feedback we have received it sounds like many people took away many great ideas from Las Vegas and had a great time to boot.

I look forward to the coming year as President of this association with a great deal of excitement, and I am so incredibly honored to be in this position. We are lucky to have an amazing Board of Directors to lead and support our organization and it has been my pleasure to work with many of them over these past years I have been sitting on this board. At our Annual Business Meeting this year Gordon Mott, Laurie Blow and Theran Mossholder were elected to our Board of Directors. All of these individuals have been highly involved in NAEO over the years, and I look forward to what they will bring to our board. Jim Wagner and Joe Adam completed their terms on the Board of Directors - a very special thank-you goes out to them both for the years they devoted their time to our organization and our members. At our first board meeting of the year, Billy Peppard was voted President Elect; a hearty congratulations goes out to Billy.

In the coming year, we will put a lot of focus on working on the three-year Strategic Plan the Board of Directors put together a year ago. Our committees will continue to work hard to grow our membership, improve the benefits we offer our members, create new educational opportunities and plan an outstanding annual conference. Our Future Directions Committee will really get off the ground and work together with Amtelco to determine what’s coming down the road, and to help our members be prepared for it. If you would like to be involved with any of these things, please reach out to any board or committee member about how to get started. We are always looking for more help, and we welcome it!

I am already looking forward to seeing everyone again in Nashville for our 2013 Annual Conference; until then, please reach out to me with any questions, comments or thoughts at any time! You can reach me at - I am here to listen.

NAEO Committee Chairs

  • President Elect, Billy Peppard
  • Conference Committee, Kelli Harrigan
  • Education Committee: Gerald Brosseau, Chair; Lina Masri, Co-Chair
  • Membership Committee: Laurie Blow, Chair; Billy Peppard, Co-Chair
  • Technical Committee: Kurt VanderScheer, Chair; Matt Crocker, Co-Chair
  • Future Directions Committee, Gordon Mott

Back to top

Marty Imes

Stepping Up Your Game: Simplifying Your Business

by Marty Imes, Advantage Answering Plus

"All things being equal, people will do business with and refer business to those people they know, like and trust.”

I don’t know who said it first, but I’ll give credit to Bob Burg, master networker and author.

Essentially, people want to work and do business with people they know, like and trust. But there’s a second part, and I discovered that over the years, even with all things being unequal, people will still do business with and refer business to, those people they know, like and trust.

Not only are people willing to pay more, but they are also willing to receive fewer features and less value IF they know, like and trust the organization with whom they do business. Additionally, they are also more likely to work with that organization for a much longer time.

Now, that doesn’t mean we should charge more and provide less! Absolutely not. What it does mean is that everything we do with clients and prospects should be aimed at helping them get to know us, like us and trust us. Yes, we should also strive to provide the best value or service, but it is the strength of the RELATIONSHIP THAT MATTERS.

Do they KNOW you?
If you want business from people, they have to know you. I don’t mean just who you are. They need to know YOU: what you do, where your heart is, how you live, etc. It isn’t about knowing your name and business, but what makes the real you tick. Do you have children? Do you like pets? Are you a traveler? Are you a member of a community organization? People want to know these things about you, and these are the things that people will relate to as well.

Do they LIKE you?
People need to like you, but it doesn’t mean you need to cater to them. It does mean that you should be reliable, friendly, and honest. People like people who possess these honorable qualities - it is our natural human instinct. People also like people who are easy-going and kind. Are you warm? Or edgy? Do you smile? Even when talking on the phone? People will know if you aren’t!

Do they TRUST you?
This is a hard one because trust is rarely given. Trust is most often earned. And it doesn’t happen overnight. Trust is developed first by doing what you say and saying what you mean. If you tell someone you will send something, then do so. If you tell them you will call them at a certain time, then by all means call them…on time. Doing what you say you will do is almost 100% of the battle, and keep doing it. Trust is developed over time, when you show your prospect or client that you really are as honest and reliable as they hope. This often takes multiple touches, contacts or experiences.

Make it a point to go out of your way and do all you can to make sure your current and prospective clients know, like and trust you. Accomplish these three things, and your business…and your personal life…will flourish.

Back to top

Setting Up eResponse with IS and Intelligent Scripting

by Chris Morrison, T.A.S. Communications Inc.

I’m fairly new to Amtelco and the Telecommunications industry in general, but I’ve been set loose with some generalized goals over the past few months and I’ve picked up a lot along the way. One of these goals was to try to make use of the modules we have on our system that we weren’t using, such as eResponse. In a way, it was fortunate that our company had upgraded to IS before I started here; I could ease myself into figuring out one thing at a time without having to worry about how the switch will affect it. The unfortunate part is that if you need to know something about basic Infinity, I am not the one to ask. What you can ask me about is using an eResponse message within an IS Intelligent Script, so that’s what I’ll be writing for this article.

For starters, I’m going to assume you have eResponse set up on your system already, as it was when I started my own research. If not, there are plenty of resources on the Amtelco site, like the one linked below.

Fig1. Client Setup Excerpt

Take a look above at the Client Setup section, especially Part 4 (shown above). This is the first place we will be veering from the standard Infinity setup. The document talks about two Display Using options, Reply.asp for viewing messages in a Web Browser, and the one that those of you who use eResponse with Infinity are probably used to, Store as Infinity Message, which does exactly that... sends the email as a ticket right to the operators. There is a third option that it doesn’t bring up too, Store to Database. Select this option, as it is the one we will be using for IS.

Fig2. Store to Database

This option does two important things for us. It takes any email it receives and saves it to a database where we can have an Intelligent Script gather its contents, and it sends an EMA type call to one of our operators that when answered can be populated with that information depending entirely on how we set up the scripting.

Fig3. Call Type EMA

The Intelligent Script that we will make in just a bit will need to know where to look for the email data saved by eResponse. Luckily for us, with just a few pieces of information this step is simple and easy - and I can show you just where to look for them, too!

Within the eResponse Administrator located on your server, you can check the Setup Properties as shown below to see the location of the database where each email is saved, and all of the necessary credentials to access it as well. If you are just setting up eResponse now, you will probably have to supply this information yourself and should discuss your options with I.T. and Amtelco service.

Fig4. Database Location

Now that we know where our email data is stored, we can start writing an Intelligent Script to make use of it. For the most part, it can be the same as any other script; Text or Display fields to show the information to the operators, and the Set Field action to fill the fields or do calculations. There are a couple of actions you might not be used to seeing, too, Database Connection and DbLookup.

The Database Connection action has a lot of options that can make it look complicated, but for our purposes it can be filled out with the details we looked up from the eResponse Administrator just a moment ago. All we are doing here is letting the script know where it will look for the database information later.

Fig5. Database Connection

The DbLookup is a little trickier. Every time we want to interact with a database we will use one of these. In our case, we will need to do so a couple times, which I will get into shortly.

Fig6. DbLookup

I prefer working in Tree Mode View, so that is what my screenshots will show, but you can find a link to the sample script at the bottom of the article if you want to give it a look-through in your own way. To get our script started we need to do two things: Tell it where to find the database, then tell it what individual email it needs to look at. So let’s create a new script on an account that will need email contents displayed to operators.

Go to your first Screen, open its properties and choose Add New Action to the Initialize section. Here, we will select the Database Connection action and fill out the connection details we found earlier. Now it knows where to look for emails.

Fig7. Initialize – Database Connection > Refer to Fig5

Next, we need a way to identify an individual email saved in the database for our script to pull. This is the tricky part, as there are many ways to go about it. Let’s start simple and say we just want the most recent email eResponse received for this account.

Add another action to this screen’s Initialize section, this time a SetField. We want to grab the account’s client number so we can use it to narrow down the correct email in the database. Let’s call it eAcct and set it equal to the ACD field _acdClientNumber, like below.

We should now have enough information to do a search of the database for our email. Let’s prepare a couple variables to store the email contents in our next step. Add two more SetFields under the first, mailID and message. We can leave their contents blank for the moment.

Fig8. Initialize – Variables

Now we add our first DbLookup action underneath the SetFields. When the properties window opens up, you can see there are two tabs at the top, General and Lookup Fields. In the General tab, we can tell it how it will be searching for the email. The Lookup tab is where we tell it what to do with the results it returns.

Back on the General tab, fill in the Table Name field with _spNewestByAccount and set it to type Stored Procedure. In the Filter section, add a parameter with the Msg Field set to eAcct and the Db Field eacct, of type Text. This runs a procedure on your database with that name, and tells it the account number to look for. You will have to add this procedure to your database later, and I will explain how to do so before the end of this article. For now, just know that this is where the search of the database happens.

Fig9. DbLookup #1 Properties – General Tab > Refer to Fig6.

The Lookup tab needs two entries, one Msg Field for the two variables we made earlier, mailID and message. Set their corresponding Db Fields to mailid and Message, like below. This is where our stored procedure will fill our new variables with the information it finds in the database.

Fig10. DbLookup #1 Properties – Lookup Tab

Parsing Strings in an IS Intelligent Message Script

At this point we have the variable message that contains the entire email’s contents. If you wanted, you could set a Text or Display field to that value as normal and be done with it, showing the raw information to your operators. The formatting will likely be less than appealing, but with a little manipulation we can parse our message into logical segments, like the sender, the subject, date, and body of the email. Operators will have an easier time reading and understanding what they see this way. Below is a segment of code that separates message into the standard email fields most people are used to seeing.

Fig11. Yep, that’s called parsing.

If you feel a little overwhelmed at that, don’t worry. It’s mostly the same few steps repeated for each field. Let’s break it down a little so everyone can understand the process; it’s really not as bad as it seems.

First, we use the String function Trim() to strip any white space from either side of the message and put it in another variable atrim. All this does is remove any spaces or empty lines that might be at the start or end of the message; it makes the computer's job easier in the next step and also makes it easier for scripters to follow along in case they need to troubleshoot. The next three lines are how we separate the "To:” field of the email and its contents from the rest.

Fig12A. Trimming and Separating One Field

The first line searches our message for the string "To:” with the InStr() function. What InStr() needs to know is where to start looking; in our case, at the beginning of the message, what it will be looking through; the trimmed message variable atrim, and what it is looking for; the "To:” that signifies the recipient of the email. This results in a number that represents the position within the trimmed message where the text "To:” begins.

Finding where our "To:” field ends takes a little logic. We need to search atrim for something we know will be part of every message, while the actual contents of the field will change from email to email. Since we cannot know how many characters the "To:” address will be, we need to think of something that will always come next. Since the next field "From:” always follows "To:”, we can just skip to the start of "From:” which we can find in exactly the same way as above.

Finally, we need to get all the characters that are between the location of the "To:” and the "From:”. Mid() does just that, it takes a segment out of the middle of a string of characters. We give it the message to search through, the location of the first character we want, and the location of the last character - and it takes that chunk out and puts it in our variable to_seg1. The script now has a way to find the contents of the "To:” field in all our emails, and we’ve learned how to parse strings in the process. Just use the same steps for each of the fields you want to separate and you’re done with what at first looked like a complicated mess.

Fig12B. Trimming and Separating One Field

It’s worth noting that down at the bottom I used a third function, Len() which is used to find the total number of characters in a string that you give it. It’s a handy way to find the location of the last character in your message, which may also be the last character in the final field that you want to separate out.

Fig13. Len() Function

You may have also noticed a few scattered -1’s in the sample script or screenshots. Think of the positions we just found for the start and end of each field as the blinking cursor that shows where you are when you are typing on the computer. Subtracting from one of these numbers is like moving the cursor back, and you can add to it to move the cursor forward. For example, if your script is cutting off the D from the beginning of "Date:” but is otherwise displaying the right information, you can move that curser back one extra place by subtracting 1 from the first position. This is also useful if you would rather not show the word "Date:” at all, only the contents; you could move the cursor ahead by 5 places to skip over those characters. How you choose to parse is up to you, but this should be enough to get you started.

Fig14. Tweaking your Parse

All that’s left here is to put these freshly separated bits into Text or Display fields to show your operators, just like you would any other piece of information. Your script can now effectively use email messages given to it. Still, our work is not done yet. What if a Message Ticket is created without an email being received, perhaps manually by an operator with the Take Message function? It would be nice to have a way of knowing...

Adding a conditional IF statement after trying to find the email on the database should do the trick. If our mailID variable is empty, then our search for a new message must have failed. Let’s wrap our parsing within this IF, since there’s no reason to have the script try to separate segments if there is no email. As an added bonus, let’s also set a new variable NOMSG to "No Message Received!” in the ELSE section of our IF and show that to the operators in a Text or Display field so they aren’t confused by an empty screen.

Fig15. No Email IF Condition

Only one thing left to go in the script: Some way of cleaning our database of messages when we are done with them. Inside our new IF statement, just before we begin to separate our message, let’s add the second DbLookup I mentioned we would need earlier.

On the General tab, fill in our Table Name as _spMessageClear as type StoredProc, and the parameters below as mailID and MessageID, as shown below. This will run our second Stored Procedure on the database, and remove the email we have been working on. All cleaned up! Additionally, if it was not for this procedure, a Message Ticket created without a new email would still find the most recent email saved in the database and display it as if it were new, which could be a problem if an operator just wanted to Take Message.

Fig16. DbLookup #2 Properties

Save your script, as it is finally ready to go, and head on over to your SQL Server to wrap this up by adding our two Stored Procedures for our script to use. I’ll walk you through how I did it, but you may not be using the same software or database type as we do, so you may have to ask Amtelco Service or your I.T. how it’s done. In fact, I’d suggest doing that even if everything is the same, just to be sure.

Adding Stored Procedures on your SQL Server

Here at T.A.S. we’re currently using SQL Server 2005 v9.0.5 for databasing. I’ve found that adding Stored Procedures is an easy task once you’ve figured out what code you wish to add. We can take a look at both procedures now before putting them on our servers.

The first procedure, _spNewestByAccount accepts the account number given to it by our IS script and searches our eResponse database for all the emails with that account number, sorts them descending by age, and looks at the first result which would be the most recent. Then, it returns the message contents and the email’s unique ID number back to our IS script.

Fig17. Procedure #1 - NewestByAccount

The other procedure, _spMessageClear accepts the unique message number that our IS just received from the first procedure, finds that mail message again, and removes it from the database. It has no need to return anything to the IS script, so at this point its job is already complete.

Fig18. Procedure #2 - MessageClear

Take these two procedures over to your SQL server. They’re fairly short, so you could write them down - but I’ve included a digital copy below for your convenience as well. We have to find where we can run a New Query on our eResponse database. Microsoft SQL Server Management Studio is the application we’re looking for. Open it up, and it should display a list of your databases on the left hand side, like below. Find the one labelled eResponse and right click on it to bring up some options which include New Query. Selecting it should open a nice empty screen to the right, much like a blank notepad, where we can type or paste one of our procedures.

Fig19. New Query

Once done, look up to the toolbar above the script and find the Execute button with the red exclamation point. Give that a click and the stored procedure will be added to the database. Now repeat the process for the other procedure and Execute it as well.

Fig20. Execute!

And that’s everything! We’ve covered eResponse, Stored Procedures, and Parsing Strings in IS all at once. If you have any questions you can send me an email at or ask in the NAEO listserv.

My own thanks go out to the fine folks at Amtelco Service and those on the listserv who have been asking and answering questions. Couldn’t have done it my first time around without your help.



NAEO Conference in Las Vegas

By Shelly Trunkle

As the recipient of the Christina Collins Scholarship for 2011, I was excited to attend the annual NAEO conference in Las Vegas this past February.

It has been several years since I last attended an NAEO conference. Fortunately, there were still a lot of familiar faces and the same sense of family that I remembered from the past.

Our first morning started off with Amtelco University! They did their usual fantastic job of keeping things fun and light-hearted as they briefly introduced some of the new things they have been working on. I was excited to learn more, but they kept us in suspense until the next day. We were all ears when they finally presented their new products with more details and answered some our questions. It was all very enlightening. Amtelco certainly has been busy this past year.

I really loved our keynote speaker, David Fabricius. His energy and excitement for life was contagious! He had us laughing and cheering, and all the while he was challenging us to be the best version of ourselves! He gave us several lists of things to do, starting with how to prepare our hearts each day. I left the room energized and eager to put his suggestions to use.

The breakout sessions for operations, technical and sales/marketing were well designed and well presented. This has always been my favorite part of the conference because everyone is so open and willing to share information. There were more tips, ideas and trade secrets revealed in these sessions than you could ever hope to find anywhere else. It is a virtual treasure trove of information. Regardless of which category you chose, there was something available for every aspect of your business.

Overall, I’d say the conference was a huge success! The Cosmopolitan was amazing, the food was fantastic and with a couple of free nights to enjoy Las Vegas, we were all happily exhausted by the time it was over.

I would like to thank the NAEO Board of Directors for awarding me this scholarship and for giving me an opportunity to attend a most worthwhile conference.

Back to top

Upcoming NAEO Webinars:

Call Distributions:
April 11, 2012
2:00 pm EDT

Speaker: Theron Mossholder

Learn all about call distribution. We will take a look at the difference between operator groups and station groups. We’ll also look at how to assign accounts and operators to the proper distributions groups. We will go over the process to develop a good call distribution plan, and how to implement that plan into action.

The Ins and Outs of Billing Link 4 with Infinity
April 25, 2012
2:00 pm EDT

Speaker: Michael Leibowitz

Are you currently using Billing Link 4 or considering an upgrade? This Q & A webinar will provide insight as you learn how to efficiently use the software to integrate with Infinity and generate the maximum return on your investment.

Infinity Telephone Agent F12 Settings
May 2, 2012
2:00 pm EDT

Speaker: Gerald Brosseau

Learn how to utilize and program the enhanced settings within Infinity Telephone Agent to allow your agents to better self manage their efficiencies and to see a global view of your call center.

All webinars are free for members. Please register your information. There is a limit of 25 attendees, so register early.

Back to top

David Drenk

Print IS Info Pages to a Printer or a PDF Creator

by David Drenk

Infinity Intelligent Series (IS) now includes a print feature for IS Info Pages. Info Pages can be printed to a printer or a PDF creator using the Print icon in the Info Pages Toolbar.

print iconThe Info Pages Editor is located in the Client Setup pages of IS Supervisor. To print the Info Pages for a client account, click the Print icon ()in the Info Page Toolbar. The Print Info Pages window is displayed.

The Print Info Pages window displays the printable content of all of the Info Pages for the client account. If any shared client fields are referenced within the Info Pages, the data contained in those shared fields are displayed, just like when the Info Pages are displayed to agents within Infinity Telephone Agent or the Soft Agent application.

To print the Info Pages, click the printer icon.
To view a preview of the printout, click the preview icon.
To close the Print Info Pages window, click the close button.

The Print Info Pages feature can also be used to create a Portable Document Format (PDF) file of a client’s Info Pages using a third-party PDF creator, like Adobe Acrobat or an open-source application available from software and technology review websites. These PDF creators install a print driver for creating PDF files instead of printed documents. When you click the print icon in the Print Info Pages window, any PDF creator print drivers installed on your system are displayed along with your other printer drivers. You can select one of these drivers to create a PDF file of the client’s Info Pages.


  • IS Supervisor 5.51.3504.32 or later
  • Third-party PDF creator (optional)

Back to top

David Drenk

MDR Service Can Run on a Server or a PC

by David Drenk

AMTELCO’s Message Detail Reporting (MDR) is now a service that can be run on a server instead of a local PC. With the MDR service, a supervisor does not need to be logged into a computer that is running the MDR application. The MDR service can be installed on a server or a PC in a data station and can run in the background.

MDR compiles detailed statistical information recorded by the Infinity automated call distribution system and can present it in a variety of reports. These reports can be used for client billing, sharing account information with clients, evaluating operator performance, and tracking system usage.

The MDR Service Controller has an Events tab for viewing event counts, a Monitor tab for viewing a log of MDR Service actions, and a Settings tab for the MDR Service Controller to connect to the MDR Service server. The Start and Stop buttons are use to start and stop the service. The Divert button is used to divert the event logging to a text file. The Bad Records button is used to import any records that were placed in the BadRecord.txt file prior to an upgrade. The Setup button is used to access the Setup screen and the Exit button is used to exit the MDR Service Controller.

The Setup screen is used to create an MDR database and a Call Tracker Event (CTE) database when the service is first installed. AMTELCO Field Service can import data from your old MDR and CTE databases into the new databases created through the MDR Service. The Upgrade DB buttons are used to update your databases when changes are made in newer versions of the MDR Service. The number listed next to Current Build is highlighted in red when changes have been made that require an upgrade. The SQL Timeout setting determines the number of seconds to wait for a response when communicating with the databases.


  • Infinity 5.51.12 or later

Back to top

John VanWalsum

Infinity 101

by John VanWalsum


1. Which statement is correct about the IS script expression below?

A) The age is less than 18.
B) The age is less than or equal to 18.
C) The age is greater than 18.
D) The age is greater than or equal to 18.


2. Which statement is correct about the IS script expression below?

A) Either the age is greater than or equal to 18 or the clinic is Acme.
B) The age is less than or equal to 18 and the clinic is Acme.
C) The age is greater than or equal to 18 and the clinic is Acme.
D) The age is greater than 18 and the clinic is Acme.


3. Which statement is correct about a 10-minute follow-up time in the IS script expression below?

A) Add 10 days to the current date.
B) Add 10 days to the current time.
C) Add 10 minutes to the answer time.
D) Add 10 minutes to the current time.


4. Which statement is correct about the IS script expression below?

A) If the calendar day is after the 15th of the month, set the field to Wildwood.
B) If the calendar day is before the 15th of the month, set the field to Acme.
C) If the calendar day is on or after the 15th of the month, set the field to Wildwood.
D) If the calendar day is on or before the 15th of the month, set the field to Acme.




1. D

2. C

3. D

4. D

Back to top

© 2012 National Amtelco Equipment Owners. All Rights Reserved.
NewsLinks is distributed quarterly to NAEO members.

National Amtelco Equipment Owners
1000 Westgate Drive, Ste. 252, St. Paul, MN 55114
800-809-6373 • Fax: 800-809-6374