Saturday, May 29, 2010

WEEK 7 (17-21 MAY)


This week task looked simple but it's actually very hard. I had to find out Text-to-Speech plugin asterisk suppliers. I also had break it into 4 sub-topic such as best virtual person, integration with vendor products, integration with custom 3rd party application and product summary.

Suppliers that I manage to find are as listed below:
  • The Festvox Project
  • Cepstral
  • Acapela
  • Power Text to Speech Reader 2.31
  • Sayvoice Text to Speech Reader
  • Word Talk
  • ACE-HIGH
  • Sayz Me
  • NextUp Talker
  • Loquendo
Besides that, I also had to find out contact center vendors (premise-based and hosted).  Many contact centers are heavy users of communications technology. Premise-based are the traditional equipments and software that you need to install in the office. Hosted are those which you do not need to buy, just need to subscribe. 

Below are the contact center vendors (premise-based):
  • Nobel Systems
  • Aspect
  • Cisco
  • Computer Talk.Tech
  • Upstream Works
  • Zeacom
  • Interactive Intelligents
  • LumenVox
  • TouchStar
  • Siebel
Below are the contact  center vendors (hosted/on-demand):
  • Cincom
  • Contactual
  • Envox Worldwide
  • LivePerson
  • Smoothstone
  • TeleTech
  • UCN
  • Five9
  • Packet8

WEEK 6 (10-14 MAY)


This is my 6th week in Dare BPO. This week I continued my research on Text-to-Speech (TTS), Speech-to-Text and predictive dialing.

Firstly, I shall discuss about Text-to-Speech. TTS is the artificial production of human speech. TTS transforms any text into speech in real time. It literally reads out loud any written information with a smooth and natural sounding voice.The automatic intonation reflects the meaning of the text, with respect to pauses, breath groups, punctuation and context. The most important qualities of a speech synthesis system are naturalness and intelligibility. The computer system used to achieve this is called a speech engine. You can try using the TTS application at http://www2.research.att.com/~ttsweb/tts/demo.php

Example of TTS application

In order to reproduce the natural sound of each language, a narrator records a series of texts which contain every possible sound in the chosen language. These recordings are then sliced and organized into an acoustic database. During database creation, all recorded speech is segmented into some or all of the following: diphones, syllables, morphemes, words, phrases, and sentences. To reproduce words from a text, the TTS system begins by carrying out a sophisticated linguistic analysis that transposes written text into phonetic text. A grammatical and syntactic analysis then enables the system to define how to pronounce each word in order to reconstruct the sense. We call this the prosody. It gives the rhythm and intonation of a sentence. Finally, the system produces information associating the phonetic writing with the tone and required length of the pronunciation. The chain of analysis ends here and sound is generated by selecting the best units stocked in the acoustic database. 


A TTS capability for a computer refers to the ability to play back text in a spoken voice. The Text-to-Speech tab located in the Speech Control Panel presents the options for each TTS engine. Below are the steps for configuration: 

Step 1: Set Up Speakers.
Step 2: Select an Audio Output Device.
Step 3: Set Audio Output Device Options.
Step 4: Configure Text-to-Speech Options.

Next topic to discuss would be Speech-to-Text. Speech-to-Text (also known as automatic speech recognition or computer speech recognition) converts spoken words to text. The term "voice recognition" is sometimes used to refer to recognition systems that must be trained to a particular speaker as is the case for most desktop recognition software.

Speech recognition applications include voice dialing (e.g., "Call home"), call routing (e.g., "I would like to make a collect call"), domotic appliance control, search (e.g., find a podcast where particular words were spoken), simple data entry (e.g., entering a credit card number), preparation of structured documents (e.g, a radiology report), speech-to-text processing (e.g., word processors or emails), and aircraft (usually termed Direct Voice Input). 


Speech recognition fundamentally functions as a pipeline that converts PCM (Pulse Code Modulation) digital audio from a sound card into recognized speech. The elements of the pipeline are:
  1. Transform the PCM digital audio into a better acoustic representation.
  2. Apply a "grammar" so the speech recognizer knows what phonemes to expect. A grammar could be anything from a context-free grammar to full-blown Language.
  3. Figure out which phonemes are spoken.
  4.  Convert the phonemes into words.

When a person speaks, vibrations are created. The speech recognition technology converts these vibrations, for example analog signals into a digital form by means of an analog-to-digital converter (ADC). Digitization of sound takes place by its measurement at regular intervals. The sound is filtered into different frequency bands and normalized, so that it attains a constant volume level. It is checked whether the sound matches with the already stored sound templates. The next step in the speech recognition procedure, is dividing the analog signals into segments that range from a few hundredths to thousands of a second. These segments are matched with phonemes that are already stored in the system. Phonemes are specific sounds that are understood by people speaking a particular language.


Final topic to discuss is predictive dialing. Predictive dialing uses a computer-based system that automatically dials groups of telephone numbers, and then passes calls to available operators or agents in a calling center once the calls are connected. The most common use of predictive dialing is in call centers which make large amounts of calls, such as those run by telemarketing companies. 

Predictive dialing is far more advanced than using an autodialer because it monitors calls made to see how they are answered. If the call goes unanswered, is met with a busy signal or answering machine, or reaches a fax machine, the predictive dialer immediately ends the call. Only calls that are answered by a live person are put through to an operator. Therefore, productivity is increased because callers do not have to listen to unanswered calls or wait for someone to pick up. Predictive dialing is so named because it predicts when callers will become available to take a new call, and dials calls in advance. When a person answers the phone, predictive dialing puts the call through to an agent, although there is sometimes a brief delay as the predictive dialer attempts to determine whether the person's voice is a recording, in which case the call is ended.


In call centers and other applications where predictive dialer is employed, information pertaining to telephone numbers of people and businesses to be called is stored in a network server. All agents are linked to the server. The network is also linked to the predictive dialer, which can be either a hard dialer or a soft dialer. With agents at work, the server and or the dialer start dialing the numbers. The calls are then managed by the dialer. In case of silence at other end, the dialer will hang up. From the other calls, the dialer will screen out busy, unanswered, and answering machine calls. Only the live calls are put through to the agents. The instant agent gets connected to a call, all information pertaining to the call gets displayed on the agent's screen. 

WEEK 5 (3-7 MAY)



This week task was based on R&D. The topic given to me was Call Queuing. Call Queuing is a method of handling calls until they can be answered by an agent. Call Queuing is a sophisticated queuing system that allows you to accept more calls into your telephone system than you have extensions or employees capable of answering them.

A Call Queuing system handles incoming callers and prevents an engaged tone when the intended recipient, or group of recipients, are already on the phone. For example, if a member of the Sales Team is on the Phone, or even the entire Sales Team, a caller will hear an engaged tone unless Call Queuing is in place. The caller can be held in a queue and played music, or pre-recorded announcements, or given the option to leave a message. Call queuing significantly reduces the likelihood of missed calls and inquiries. 



The queue works retaining call while finding an unoccupied agent to answer the call. Usually, a call queue works as below:

• Calls are queued.
• Agents answer the queue (logged in agents).
• A queuing strategy to distribute the calls is used.
• Music on hold is played while the caller waits.
• Announcements can be made to callers, warning about waiting time.


The next task was Automatic Call Distribution (ACD). An ACD is a system that automatically distributes phone calls to a specific group of agent work stations.

A department generally asks for one to be set up when it wants incoming calls to go to a single or main number and be distributed among a number of staff because the volume is too large to be handled effectively by one person. This single or main number is the one you will see published in the phone book. It is not assigned to a particular telephone. When someone calls this single or main number, the ACD routes the call to one of a group of working telephone extensions that have been assigned to the ACD group. During busy times when an agent is not immediately available, an ACD can queue calls, provide a recorded announcement, forward the call to someone designated to handle call overflow, offer a voice mail option, or give the caller a busy signal. A department determines what options a caller will be offered when the ACD is initially set up.

An ACD is really one component of an automated call processing system. It works in conjunction with the Phone Mail system to route incoming calls to staff whose job it is to answer the calls. If you have ever called a Medical Center Clinic, you probably heard, "If you are calling for an appointment, press 1, if you are calling for a prescription refill, press 2, etc." These options are provided by the Phone Mail system. When you press 1 for an appointment, the call is forwarded to an ACD. When you press 2, it is forwarded to a voice mailbox, etc.



The number of people in an ACD group is determined by the department when the ACD is set up. At some future time, a department may decide that there are too many or too few people in the group and adjust the number. An ACD forwards incoming calls to the staff member who has been waiting (idle) the longest. When all the extensions are busy, the ACD handles the call according to instructions in a "routing table" specified by the department. For example, the department might decide that if all agents are busy, it wants the caller to hear a recorded message and placed in a queue ("All agents are busy. Calls are answered in the order they are received."), or it may decide that a caller should be given the option of being put in a queue or leaving a voice mail message. There's a lot more to routine tables than this, but now you have an idea of how they fit in.



Lastly, I did a little research in Avaya, Genesys and Cisco. This products also uses call queueing and acd. Genesys supports the integration of IP telephony services (phone-based services) with a broad range of customer contact channels, such as other phones, e-mail or chat. ACD is a very popular feature within Cisco Unified CME for locations that don’t have the luxury of either having a Cisco Unity Express, Unity or IPCC Auto Attendant. Its purpose is to provide basic call handling service for incoming calls to a CME.

Here are several steps needed to configure CME B-ACD: 

• Download TCL Scripts and Audio Prompts
• Set up incoming Dial Peers for AA Pilot Numbers
• Set up Ephone Hunt Groups
• Set up Call-Queue and AA service 

Whereas, Integrating SpeechAttendant in an Avaya ACD environment involves the following steps:

Step 1: Creating a hunt group
Step 2: Programming agents
Step 3: Programming stations
Step 4: Programming a call vector
Step 5: Programming a vector directory number
Step 6: Configuring the settings related to automatic call distribution

Sunday, May 9, 2010

WEEK 4 (26-30 APRIL)

After doing some research in the last week's 3 topics, this week I did practical in these 3 topics. The first practical task was Find Me/Follow Me test call which the subscriber 1 calls in, rings simultaneously or sequentially on subscriber 2, 3 and 4's device (IP phone/softphone).

A customized find me / follow me schedule created right in the Web account. The days and times the customers will be available with the phone numbers where they can be reached is entered in the system. If the user uses follow me when the user receives a call, the system dials the numbers in the order they specify. If there is no answer at the first number, follow me will call the next number and so on. The numbers are dialed sequentially. If the user uses find me when the user receives a call, the system dials all the numbers simultaneously. When the user answers any one of the number, the calling will stop for the other numbers.

Below are the steps for Find Me/Follow Me test call:
  1. Create an user extension in file editor. (Created user extension will appear in ring groups. The user extension is created by typing coding into the config files.)

  2. Edit Ring Groups.

  3. Select strategy either Ring all or Ring in order. (Ring all is Find me which rings simultaneously. Ring in order is Follow me which rings sequentially.)

  4. User extensions in available channels are sent to ring group members.

  5. Test Calls ( 3 different subscribers receive calls simultaneously and sequentially from one caller)

The next practical task was 3-party voice conferencing which test call from subscriber 1 to subscriber 2 and subscriber 3 able to listento the conversation.

The basic concept of audio conferencing uses two or more speakerphones and several dial up numbers. With most services, the user would set up a meeting for a specific time and there will be either local or toll free numbers available for each person to call in on. They would in turn enter the required information to gain access to the meeting that you have been invited to attend. Then everyone is either on a single handset or at a table surrounding a speakerphone of some type. This is accomplished by the use of a pin number entry system and then the only people that will have access to the meeting are those that have provided with a pin number. The user can change the pin number for each meeting, providing greater levels of security.

Below are the steps for 3-party voice conferencing:

  1. Create an user extension in file editor. (Created user extension will appear in ring groups. The user extension is created by typing coding into the config files.)

  2. Configure Conference Bridge Extensions. (New extension is created by clicking new in conference bridges)

  3. Edit conference room options.

  4. Test Calls. (3 different subscribers able to do audio conferencing)

Audio Conferencing


After carrying on all the practical task, I documented all the testing and findings. The test plan document was done to be sent to the main branch.

Saturday, May 8, 2010

WEEK 3 (19-23 APRIL)

Beginning of the week, I continued last week pratical task which was testing the IP phone and softphone. I had to configure the IP phone in order to make and receive calls. The configuration was done by excessing the phone's asterisk server. The phone that I used was Linksys SIPURA SPA 921. After configuring it, I was able to make calls to the softphone which I configured last week.

How an IP phone works

Configuration in Asterisk server



End of the week, I was asked to do some research. I was given 3 research topics. First topic was IVR customiztion. IVR stands for Interactive Voice Response. It is the technology that we use everyday when we call a bank or a hospital or any large business. It is the voice activated prompts that brings us to the correct person or gives us the answer we want. IVR automates inbound call routing and fosters self-service.The whole process of placing an order by the caller, and checking the status with the help of the order number can be automated with the customized IVR flow. During wait time or hold time, messages about other products and promotional offers can also be played allowing you to capitalize on cross-selling and up-selling opportunities. For example a customer may ask for a "Meal for two" instead of two individual pizzas after listening to the offer while he was in the queue.


IVR application

The second topic was Find Me/Follow Me. Find me and follow me are two call forwading services that are commonly used in conjunction with each other. Find me service allows the user to receive calls at any location. Whereas follow me service allows the user to be reached at any of several phone numbers. Find me / follow me numbers use VoIP (Voice over Internet Protocol) technology to route all of the incoming calls to one single telephone number. These numbers let the users consolidate their communication devices.


Find Me/Follow Me

The last topic for the week was 3-party voice conferencing. Voice conferencing is one of the most critical elements of group communication. Excellent voice quality is essential for both voice-only calls and visual communication environments, ensuring that everyone can clearly hear and be heard to improve productivity and deliver a seamless, natural communications experience.

Below are the steps to setup a third-party conferencing service to be the main audio conference solution:


1. As the host, enter the meeting room.
2. Select the Meeting menu.
3. Select Set phone conference options. The Phone Conference Options appears.
4. Select Other.
5. Enter the conference number.
6. Enter the participant code.
7. Enter the Moderator code.
8. Click OK.


Audio Conferencing