Saturday, November 28, 2009

What is Unified Communications?

Author: Derek Rogers

A common question these days is, �What is unified communications?� Unified communications, or UC, is a way for businesses to simplify and integrate all forms of communications. It is a real-time delivery of communications based on a user�s preferred method or medium. In most cases a software program is used to achieve unified communications as well as to improve the infrastructure. Unified communications allow for messages to be sent using one medium and received using another.

The most frequent use of unified communications is probably receiving a voicemail and then reading it via email. However, voicemail and email are not the only two types of communications that can be unified. This communications leverage can apply to a variety of communications including chat, telephone, fax, and presence services.

In most cases, a unified communications software program will join the preferred communications mediums so that they may be easily transferred from one to another. A successful unified communications system will integrate and automate all forms of human communication into a streamlined and efficient experience. Using such a technological phenomenon can optimise a business, reduce latency and eliminate media and device dependencies.

The success or failure of any business is usually dependent upon that business� efficiency and speed, which is why one of the main focuses of unified communications is to reduce, or eliminate altogether, the element of latency. Obviously there will always be the requirement of time to make a decision, but the delay in receiving a message or communication can mean the loss of a sale or business deal. The main goal of unified communications is to remove any unnecessary delay through a streamlined and integrated set of communication technologies.

It is possible for a business to design specific Internet Protocol communications based on its particular needs and requirements. The first step in designing such a program is to establish the existing network�s suitability to support various media including text, voice and video services. Any areas that cannot support the unified communications system needs will be enhanced.

During the implementation of the unified communications system, there are some key service aspects that will be evaluated in addition to the ability of the existing network to support such services. Professionals will not only verify the existing system�s ability but will provide unbiased feedback, solution suggestions, detailed quotes and pricing as well as installation.

Because unified communications is such a sophisticated communications solution, it can only benefit any business that takes full advantage of the technology. Aside from the obvious benefits of staying connected and eliminating unnecessary delays, it allows all users within the network to know the location and status of each other. Furthermore, the technology allows users to see what medium is preferred by other users in order to streamline communications even more and personalise it where possible.

Unified communications is a way for businesses to seamlessly combine various forms of media and participate in real-time communications and collaborations with other users. Integrating and implementing a unified communications system will only help the bottom line by streamlining the development and production elements of any business.

About the Author:
Derek Rogers is a freelance writer who writes for a number of UK businesses. For information on
Unified Communications, he recommends Network 24.

Article Source: What is Unified Communications?

Friday, November 27, 2009

Internet Protocol Communications in a Medical Practice

Author: Ray Torres

Did you know that good-old traditional business phone system switch is quickly becoming replaced by software base IP PBX systems? In fact, sales of new IP-PBX systems surpassed traditional PBX switches in 2005, and IP Telephony products sales will represent 90% of the new phone sales by 2010 -- only a few years away.

So how does a medical practitioner know if their office has a traditional PBX system? Here are a few clues:

• Calls are being made to the phone system vendor to make simple adds, moves, and changes.

• Staff is busy and is oftentimes placing the patients on hold, and patients are having to wait too long.

• Important voice messages are not getting to the practitioner because the message is buried in a lengthy voice mail box or the hand-written note is inaccurate.
• Patients are complaining about getting lost in the phone system.

• There is a separate phone system at each remote office, thus costing more for phone lines at each of these locations.

A software base IP PBX business system can provide the features and flexibility of customizing it to address a specific medical Practice. Just imagine these few benefits:

• Staff can spend less time trying to answer and route calls.

• System provides the flexibility to route and manage calls from referring or other physicians directly to the right service provider.

• Voicemail messages appear just like email messages and can be shared among several staff members for quick, easy retrieval and response.

• If a Practice prefers, their voicemail box can be forwarded to an email box for a single unified message platform.

• Staff can record and store voice messages or live conversations, and create personalized, targeted voice and broadcast messages that save time and enhance communication.

• Customized announcements and system prompts, such as for Spanish, can be accomplished easily and quickly.

• With a point-and-click interface, staff can easily take advantage of everything the system has to offer.

• Reduce or even eliminate answering service fees.

Now suppose a Practice has these functionalities available on their IP-PBX system, and the medical practitioner is either opening a new office or already has a multi-facility Practice. At this juncture, the Practice could consider Voice over Internet Protocol (VoIP) as another effective communications application.

Simply said, the Practice can setup/use their existing data Wide Area Network to transfer voice and data over the same high-speed connection. The implication of this connectivity, besides real telecom cost savings? In three words: better call management. Examples of better call management include:

• All users, regardless of location, can dial by extension.

• Key functions, like scheduling, can be easily centralized. Since the phone system is software based, with standard Windows based reports, the administrator will know quickly which periods of the day are high volume calls and what the calling trends are at each office.

• Non-official phone use gets eliminated almost immediately since call logs can be easily viewed by the administrator right at their PC.

• These offices are not stand alone any more, but are now connected to the central office.

With intra-office communications capability, the practice administrator will become more effective in many operational areas including staffing and handling of patient calls.

In every aspect of business, whether it’s a medical doctor or other licensed professional, patient/client satisfaction is a goal. By using proven communications technology wisely one can accomplish that aim. I know that a single communications configuration does not apply equally to all medical Practices, so upfront consultation is the first smart move toward IP communications. Waiting on the side lines to implement a software base IP PBX system may not be an option. Just around the corner are the obsolescence of the traditional PBX systems and the lack of product and service support.

About the Author:
As a senior manager and executive whose diverse business background, includes IP Telephony, Point-of-Sale Kiosk, Web Enabled Systems, Systems Integration, Information Technology Networks and Technology Staffing, Mr. Torres offers growth, operational and productivity solutions as a consultant.

Mr. Torres has held board of director and business advisory board positions with small-to-medium size, privately-held companies.

He earned his Master in Business Administration from Pepperdine University and a Bachelor of Science from Arizona State University. He is also a Stanford University Executive Development program graduate.

Article Source: Internet Protocol Communications in a Medical Practice

Thursday, November 26, 2009

Know more Knowledge about Bluetooth

Author: bettytxzt

Technically bluetooth is an open wireless protocol for interchanging the datas in shorter areas for the creation of personal area networks with the help of fixed moblie devices. Bluetooth earlier consider as wireless option which act as an option of rs232 data cables. The bluetooth has the ability of connecting with several devices avoiding difficulties in synchronization. Historically the word bluetooth is named after anglicised version of old norse blatand which is falling on the name of the tenth century king named harald I of two countries like denmark and norway. The good part of bluetooth is that it does the same operations with communication protocols by keeping them in a single universal standard.

Bluetooth have certain specific functions such as wireless control and communicaiton in different mobile phone and hands free headset, having wierless networking in a limited space in the pc systems with the help of short bandwidth, wierless communication in pc input and output devices coming in mouse, keyboard and printer, transferring the files, contact details, calendar appointments, acting as reminders in several devices with obex, forwarding short advertisement fromt bluetooth enabled advertising hoardings to varied sources, in several infrared usage act as a controller etc. The bluetooth now showing its prescence with shorter bandwidth applications in comparison to largest one. And also those areas where cable fee connection is needed.

Bluetooth earlier consider as wireless option which act as an option of rs232 data cables. The bluetooth has the ability of connecting with several devices avoiding difficulties in synchronization. Historically the word bluetooth is named after anglicised version of old norse blatand which is falling on the name of the tenth century king named harald I of two countries like denmark and norway. The good part of bluetooth is that it does the same operations with communication protocols by keeping them in a single universal standard.

Also bluetooth act as wireless bridge among two industrial ethernet networks coming in the market. Bluetooth aids in replacing traditional usage of serial communication in varied test equipments, gps receivers, medical equipments, bar code scanners, and also in different traffic control devices. The biggest benefit of bluetooth consumers sees in two seventh generation game consoles such as nintendo's wii and sony's playstation3 in many wireless controllers. Prsently bluetooth has shown in several official purposes, homes, and travelling across the globe. It aids in setting up of networks, printing, forwarding presentations and files with pdas into the pc systems. Now bluetooth is having many specific features for this users have to collect information about bluetooth for making best usage of it in elctrical industry.

About the Author:

To read about bluetooth headset and other information, visit the bluetooth headphonessite.

Article Source: ArticlesBase.com - Know more Knowledge about Bluetooth

Wednesday, November 25, 2009

Interaction with FTDI chip

Author: Apriorit Inc.

What is FTDI chip?

FTDI chips are the chips which are developed by Future Technology Devices International (http://www.ftdichip.com/ ).

FTDI chips are used in USB adapters to connect to RS232 and parallel FIFO hardware interfaces. The most frequent usage is USB-2-COM interface.

They are used in:

  1. Mobile phone cables.
    The mobile phones have RS232 or UART output, and PC may have USB only, the chip converts RS232 into USB. And the driver installed on PC creates the virtual device (usually, virtual COM port), which is used for communication.
  2. Service Boxes
    These are service tools used by Phone repair centers and Car repair service. These are the devices which are connected to PC via USB, and - on the other side - to the various hardware.
  3. Hardware Debuggers (JTAG)
  4. Any other device that needs to be USB-connected to PC, and has the RS232 port on the other side.

How to find out if the device is FTDI-based?

Well, you may disassemble it and read the labels on the chips, but it’s not the way you want it. There’s more humane method.

There are original drivers on FTDI site. If you look at the files which are included into the driver package there will be such set of files:

pic1

So if your device has any of these files in the driver list it’s FTDI-based.

To see the drivers for the device:

  1. Go to Device Manager
  2. Select the device
  3. Open context menu and select Properties
  4. Switch to Driver and click Driver Details button.

For example:

pic2

This device has FTD2XX.dll in the driver files list. And the provided name is FTDI. This device is FTDI-based. Some manufacturers may rename the driver (.sys), but the copyright information will reveal the real driver manufacturer.

How to interact with it?

Fortunately, FTDI provides the API. There’s a generic API set which can be used with all FTDI chips.

API is provided via FTD2XX.dll. It’s a DLL which interacts with FTD2XX.SYS driver.

pic3

There’s a header file and library file within FTDI driver package: ftd2xx.h and ftd2xx.lib files.

The .lib file is COFF format, so it can be used in Visual Studio without any problem.

FTDI API usage

The API set has two interfaces “classical” (functions with “FT_” prefix) and “Win32 API” (functions with “FT_W32_” prefix).

“Classical” is cross-platform interface.

“Win32 API” is a set of Windows-only functions. It’s much alike Windows API, which is used to work with serial ports. So porting the code to FTDI functions is quite simple.

The main functions are:

FT_W32_CreateFile() / FT_OpenEx()
Opens the handle to the specified FTDI chip connection

FT_W32_WriteFile() / FT_Write()
Sends data over virtual COM port.

FT_W32_ReadFile() / FT_Read()
Reads data from virtual COM port

FT_W32_CloseHandle() / FT_Close()
Closes connection handle.

There are functions that allow to set up the port:

FT_SetBaudRate()
Sets the baud rate for the connection

FT_SetDataCharacteristics()
Sets the number of bits in the byte, parity, etc

FT_ClrDtr()
Clears DTR signal on the virtual COM port

FT_SetDtr()
Sets DTR signal on the virtual COM port

FT_ClrRts()
Clears RTS signal on the virtual COM port

FT_SetRts()
Sets RTS signal on the virtual COM port

etc.

For Windows there’s no limitation about using the functions of Classical and Win32 API interfaces together. So you may combine it.

Opening the virtual serial port

There are multiple ways to open FTDI device: by index, by description, by serial number, by location. These types of information may be used to open the device via FT_W32_CreateFile();.

To obtain the information about the connected devices FT_ListDevices() should be used.

Example:

ftStatus = FT_ListDevices(0, Buf, FT_LIST_BY_INDEX FT_OPEN_BY_SERIAL_NUMBER);
if (ftStatus!=FT_OK) //Get first device serial number
{
printf("Couldn't get FTDI device name");
return 0;
}

ftHandle = FT_W32_CreateFile(Buf,
GENERIC_READGENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL FILE_FLAG_OVERLAPPED FT_OPEN_BY_SERIAL_NUMBER,
0); // Open device by serial number

There are several functions, which can provide the additional information about the connected devices:

FT_GetDeviceInfoList(),FT_CreateDeviceInfoList(), FT_GetDeviceInfoDetail(), etc.

Setting up the port

The code for setting the typical serial port settings to 115200 Bps, 8 bit per byte, 1 stop bit and no parity will look like this:


ftStatus=FT_SetBaudRate(ftHandle, FT_BAUD_115200);

ftStatus=FT_SetDataCharacteristics(ftHandle,
FT_BITS_8,
FT_STOP_BITS_1,
FT_PARITY_NONE);

ftStatus=FT_ClrDtr(ftHandle);
ftStatus=FT_SetDtr(ftHandle);

Also there are functions to setup the port in Windows style:

FT_W32_GetCommState(),FT_W32_SetCommState(),FT_W32_SetupComm(), etc.

Reading and Writing

Usage of FT_W32_WriteFile() and FT_W32_ReadFile() functions is similar to WriteFile() and ReadFile(). If the handle is opened in OVERLAPPED mode, the functions are asynchronous, otherwise they are synchronous. So reading and writing can be made in standard way:


DWORD Written=0;
unsigned char cmd[]={'A','T','\r','\n'};
ftStatus=FT_W32_WriteFile(ftHandle,cmd,sizeof(cmd),&Written,&Ovl);
if (WaitForSingleObject(Ovl.hEvent,INFINITE)!=WAIT_OBJECT_0)
throw std::exception("Error waiting write to complete");
unsigned char Buf[250];
ftStatus=FT_W32_ReadFile(ftHandle,Buf,sizeof(Buf),&TotalRead,&Ovl);
if (WaitForSingleObject(Ovl.hEvent,1000)!=WAIT_OBJECT_0)
throw std::exception("Error waiting read operation");

EEPROM programming

There are also APIs that allow to program FTDI chip. FTDI chip has EEPROM within it. EEPROM contains the chip settings block and the user area block. It’s possible to read and write both of these blocks.

Warning! Programming EEPROM is dangerous operation. Writing the invalid data may cause improper work of the device. You are doing it at your own risk.

APIs

The APIs to manage user area block:

FT_EE_UASize()
Gets the size of User Area.

FT_EE_UAWrite()
Write data to User Area.

FT_EE_UARead()
Read User Area Data

Reading the area is quite simple:


DWORD UASize=0;
FT_EE_UASize(ftHandle,&UASize);

UCHAR * pUAData=new UCHAR[UASize];
DWORD SizeRead=0;
ftStatus=FT_EE_UARead(ftHandle,pUAData,UASize,&SizeRead);

The APIs to manage whole EEPROM:

FT_EE_Program()
Writes to EEPROM special structure (FT_PROGRAM_DATA), which contains chip settings

FT_EE_ProgramEx()
Writes to EEPROM special structure (FT_PROGRAM_DATA), which contains chip settings, but the USB String descriptors are passed separately from FT_PROGRAM_DATA structure

FT_WriteEE()
Writes data to EEPROM directly.

FT_EE_Read()
Reads FT_PROGRAM_DATA structure from EEPROM data.

FT_EE_ReadEx()
Reads FT_PROGRAM_DATA structure from EEPROM data and USB String descriptors are passed separately

FT_ReadEE()
Reads EEPROM data directly

FT_EraseEE()
Erases EEPROM contents

Dumping EEPROM

Dumping EEPROM is a bit tricky, because some chips have the internal EEPROM, and some may have external one.

Quote:

The FT2232C supports 93C46 (64 x 16 bit), 93C56 (128 x 16 bit), and 93C66 (256 x 16 bit) EEPROMs.

So there can be various sizes.

Here’s the example of EEPROM dumping for 64 x 16 bit:


WORD EEPromData[0x40]={0};
DWORD Offset=0;
while (Offset < (sizeof(EEPromData) / sizeof (WORD)) )
{
WORD DataChunk=0;
ftStatus=FT_ReadEE(ftHandle,Offset,&EEPromData[Offset]);
if (ftStatus!=FT_OK)
break;
Offset++;
}

Here’s a second trick. If you look at the function declaration for FT_ReadEE:


FTD2XX_API
FT_STATUS WINAPI FT_ReadEE(
FT_HANDLE ftHandle,
DWORD dwWordOffset,
LPWORD lpwValue
);

dwWordOffset argument is actually index of the word value in EEPROM, not the offset in the meaning of “data offset”.

Data in the settings block

The settings block contains VID and PID of USB device, so if it’s changed, the device will be treated like some other device. Default values of VID and PID for FTDI chip are 0x0403 and 0x6001 accordingly, but these values are overwritten by the device manufacturers.

The settings block contains the product description strings (USB String descriptors): Manufacturer, Manufacturer ID and Description. Also there’s device serial number, which can be changed by EEPROM programming.

Warning one more time! Changing the EEPROM setting may also cause the software failures if the invalid data is written to EEPROM.

Download sample source code for FTDI interaction.

Links

The information about FTDI chips can be found in Data Sheets part of FTDI official site:
http://www.ftdichip.com/Documents/DataSheets.htm

Additional information about API can be found in FTD2XX Programming Manual:
http://www.ftdichip.com/Documents/ProgramGuides/D2XXPG34.pdf

Driver Package:
http://www.ftdichip.com/Drivers/D2XX.htm

About the Author:

Apriorit is an Ukrainian software development company.


Apriorit develops its own products as well as provide offshore development and QA services in the areas of advanced system programming, driver development, software for devices.


One of the key values of Apriorit's specialists is knowledge generation and sharing of experience.


Learn more about Apriorit and its experience at Apriorit Official site

Article Source: ArticlesBase.com - Interaction with FTDI chip