Thursday, December 13, 2007

Features of Visual Studio 2005. oops.. very use ful

Refractoring Making changes to your code like, "pulling a large stretch of inline code into its own method" or "converting a field to be a property." The Refactoring support makes this easy to do The key tenet of Extreme Programming created by Kent Beck is constant Refactoring. Under this programming model, you are developing code rapidly and iteratively, but to keep your code from becoming a jumbled mess, you must constantly Refactor. Refactoring is a C# only feature[enter][/center]
Edit and Continue Visual Basic has always been about Rapid Application Development (RAD). One key feature is the ability to fix runtime errors on the fly. With Visual Basic .NET 1.0 and Visual Basic .NET 1.1, this powerful feature wasn't included. This feature is on-board for Whidbey. If you run into an exception at runtime, you get an exception helper that provides tips for fixing common errors, but more importantly, you can edit the code, select F5, and it continues right where you left off. Edit and Continue is VB .NET only feature
ClickOnce ClickOnce make it easy to install applications and provide ongoing updates (Self-Updating), rather than forcing to distribute new versions of application, can just deploy the portion of the application which has changed. In the .NET Framework 1.0 and 1.1, href-exes were not able to solve many deployment issues. Href-exes are also known as ''no-touch deployment, or zero impact deployment''. Essentially, with versions 1.0/1.1, you can deploy an application to a Web server, allowing users to browse to the URL for the exe, as in: You can run me by clicking this link When the user clicks the link, the application downloads to their Internet files cache and runs. To keep this from being a huge security hole, the application permissions are restricted based on the URL (Intranet applications get different permissions than Internet applications, for example), or other factors. This means that some applications no longer need to be deployed in the traditional sense; no more setup.exe or MSI
href-exes have a number of limitations
The .NET Framework must be pre-installed on the client machine.
There's no good way to bootstrap the .NET Framework down if it's not there.
Most non-trivial applications consist of the main .exe and a number of assembly files. With href-exes, the assembly files are downloaded on demand, which is great for corporate Intranet applications, but there's no way to download the application in one shot so that you know it can be safely used off-line.
Limited support for versioning.
The application doesn't hook into Add/Remove Programs, and the application doesn't install Start menu shortcuts.
ClickOnce deployment differs from href-exes in some significant ways
ClickOnce applications are self-updating.
With href-exes you can only make the application self-updating through the use of custom code or through the use of a component, such as the .NET Application Updater component.
With ClickOnce, updates can also be marked as mandatory or optional.
When applications are installed through ClickOnce, they show up in the start menu and they can be uninstalled through the '''Add/Remove Programs''' feature.
ClickOnce works its magic through two XML manifest files.
The first is an ''application manifest'' and
The second is a ''deployment manifest''.
The application manifest describes the application itself, which includes information about the application assemblies, dependencies, and files that make up the application. The application manifest also states the required permissions, and the location where updates can be downloaded.
The deployment manifest points to the location of the application manifest and files, and instructs the clients on which version of the application they should be running.
SmartTags This provides access to information and common tasks without forcing you to constantly navigate away from your work area [enter][/center]
Code Snippets With code snippets, you can insert generic "template" code that requires only that you fill in the blanks. You can access code snippets by right-clicking in the code editor and navigating in the context menu to Insert Snippets [enter][/center]
Exporting IDE Settings With Whidbey, migrating and persisting IDE settings are a simple process of navigating to Tools Import/Export Settings. [enter][/center]
Line Revision Marks Line Revision marks allow you to see the changes you've made during a coding session. When writing code in the IDE, you'll notice yellow and Lime lines appearing down the left hand side of the code editor window. [enter][/center]To change the color, navigate to '''Tools Options''' in the IDE, and then choose '''Show All Settings'''. After that expand '''Environment''' click on the '''Fonts and Colors'''. Scroll down the '''Display Items'''
'''Track changes before Save''' - yellow
'''Track Changes after Save''' - Lime
Temporary Projects Visual Studio .NET 2002 and Visual Studio .NET 2003 both had a propensity to persist your temporary ideas as permanent projects on your hard disk. This created the ''WindowsApplication1,2,3...n'' problem. Visual Studio .NET supports the idea of temporary projects. if you attempt to close the IDE without saving, it will prompt you to either save or ''discard'' the project
About the author Vidya Vrat Agarwal, a Microsoft .NET Purist, and a MCSD.NET, MCAD.NET, MCSD, MCT. He is also a Life Member of Computer Society of India (CSI). He started working on Microsoft.NET with its beta release. He has been involved in software development, corporate trainings, T3 programs, technical writing and consultation for Microsoft.NET for various corporate clients. Presently he is working with LionBridge Technologies in Mumbai - India, where he works with Microsoft Dept. on Whidbey and Yukon and his business card reads Subject Matter Expert His technical profile holds .NET Framework, VC#, VB.NET, WebServices, Remoting, SQL Server, COM, DCOM, COM+, MTS, MSMQ. Whidbey, Yukon and Longhorn.

Tuesday, November 27, 2007

Help the need By Playing this GAME and improve your English also.

Hello,
When ever you visit my link, please follow the link below and donate some food at free of cost.
It absolutely free and also very useful for you.
Its my humble request to you.

http://freerice.com

Telephony Application Programming Interface (TAPI) functionality is not supported from managed code

INTRODUCTION

This article discusses why Telephony Application Programming Interface (TAPI) is not supported from managed code. An alternative method permits you to call TAPI functionality from managed code.

MORE INFORMATION

Because of the complexity of the TAPI 3.x Component Object Model (COM) interface, the managed wrapper that is created by Microsoft Visual Studio .NET does not work. Therefore, you cannot call TAPI functionality from managed code.

Microsoft has no current plans to release a TAPI interoperative component.

Using TAPI from managed code

You can use different versions of TAPI in different programming environments.

TAPI 2.x

TAPI 2.x is an interface that is based on the C programming language.

You can call TAPI functionality from the Managed Extensions for C++ applications in Microsoft Visual Studio .NET by using TAPI 2.x (Tapi32.dll).

All the TAPI 2.x data structures are based on the DWORD data type. TAPI 2.x also requires heavy use of pointers. Therefore, TAPI 2.x functionality is difficult to use from any language other than the Managed Extensions for C++.

TAPI 3.x

TAPI 3.x is an interface that is based on Component Object Model (COM).

You can call TAPI 3.x (Tapi3.dll) functionality from unmanaged code. Create an unmanaged DLL that calls TAPI 3.x functionality, and then call the unmanaged DLL from managed code.

REFERENCES

For more information, visit the following Microsoft Developer Network (MSDN) Web sites:TAPI DLL
http://msdn2.microsoft.com/en-us/library/ms734236.aspx (http://msdn2.microsoft.com/en-us/library/ms734236.aspx)

TAPI 2.2 Overview
http://msdn2.microsoft.com/en-us/library/ms737218.aspx (http://msdn2.microsoft.com/en-us/library/ms737218.aspx)

TAPI 3.1 Overview
http://msdn2.microsoft.com/en-us/library/ms734214.aspx

For More info on this article please follow the link.

http://support.microsoft.com/kb/841712

Saturday, November 24, 2007

Hey. Watch out for the missing action of UNIFIED COMMUNICATIONS Launching... Exclusively for you..

Hi guys,
Find the awesome launching of microsoft UNIFIED COMMUNICATIONS launching event.

http://www.microsoft.com/winme/0710/31150/UCG_Launch_MBR.asx

My Profile

Hi,
Please find my profile at this location.

http://docs.google.com/Doc?id=ddx5mr7m_1hgzqcr

So Far I 'm Talking about Unified Communications. What is it and what for it.

Unified Communications (UC) is a commonly used term for the integration of disparate communications systems, media, devices and applications. This potentially includes the integration of fixed and mobile voice, e-mail, instant messaging, desktop and advanced business applications, Internet Protocol (IP)-PBX, voice over IP (VoIP), presence, voice-mail, fax, audio video and web conferencing, unified messaging, unified voicemail, and whiteboarding into a single environment offering the user a more complete but simpler experience.

Gartner states "The largest single value of UC is its ability to reduce "human latency" in business processes."

Here is the History

History

The history of unified communications is tied directly to the evolution of the technology that enables it to function. The technology that makes ‘surfing the ‘net’ possible is called internet protocol (IP), and this is also the technology that enables unified communications. Previously, telephony used a different protocol, not integrated with data communications, called TDM (Time Division Multiplex). But telephony began evolving toward employing software and servers, and toward using IP in order to function in a whole new way. Voice-over-internet-protocol, or voice-over-IP, (VOIP), allows the user to have digital telephone service which utilizes IP networks (including the internet) instead of the traditional telephone network to function.deficient citation With this shift in mode of delivery, which took place over the course of the past ten years or so, unified communications, with all its real-time capabilities and uses, became possible.

The technology of unified communications


The difference between unified communications and unified messaging

Although the two terms have, in the past, been used interchangeably, unified communications should not be confused with unified messaging, despite the similar-sounding terms. Unified communications refers to a real-time delivery of communications based on the preferred method and location of the recipient; unified messaging systems can cull messages from several sources (such as email, voice mail and faxes), but holds those messages for retrieval at a later time.

Components of unified communications

Unified communications can include a variety of elements, such as instant messaging, telephony, video, email, voicemail, and short message services, all of which could be brought into real time and coordinated. The concept of presence is also a factor ¬– knowing where one’s intended recipients are and if they are available, in real time – and is itself a key component of unified communications. To put it simply, unified communications integrates all the systems that a user might already be using and helps those systems work together in real time. For example, unified communications technology could allow a user to seamlessly collaborate with another person on a project, even if the two users are in separate locations. The user could quickly locate the necessary person by accessing an interactive directory, engage in a text messaging session, and then escalate the session to a voice call, or even a video call – all within minutes. In another example, an employee receives a call from a customer who wants answers. Unified communications could enable that worker to access a real-time list of available expert colleagues, then make a call that would reach the necessary person, enabling the employee to answer the customer faster, and eliminating rounds of back-and-forth emails and phone-tag.

Unified communications in action and corresponding business benefits

Unified communications in action

Given the sophistication of unified communications technology, its uses are myriad for businesses. It enables users to know where their colleagues are physically located (say, their car or home office). They also have the ability to see which mode of communication the recipient prefers to use at any given time (perhaps their cell phone, or email, or instant messaging). A user could seamlessly set up a real-time collaboration on a document they are producing with a co-worker, or, in a retail setting, a worker might do a price-check on a product using a hand-held device and need to consult with a co-worker based on a customer inquiry. With unified communications, instant messaging and presence could be built into the price check application, and the problem could be resolved in moments.

Business benefits of unified communications

Unified communications helps businesses, small and large alike, to streamline information delivery and ensure ease of use. Human delays are also minimized or eliminated, resulting in better, faster interaction and service-delivery for the customer, and cost savings for the business. Unified communications also allows for easier, more direct collaboration between co-workers and with suppliers and clients, even if they are not physically on the same site. This allows for possible reductions in business travel, especially with multi-party video communications, reducing an organization's carbon footprint.

Who is it for?

Unified communications is very useful for knowledge workers, information workers, and service workers alike, many of whom may cross the lines between the three sectors on a daily or hourly basis, depending on the task and the client. With an increasingly mobile workforce, businesses are rarely centralized in one location. Unified communications facilitates this on-the-go, always-available style of communication. In addition, unified communications technology can be tailored to each person’s specific job or to a particular section of a company.

For more information visit microsoft.com

UNIFIED COMMUNICATIONS Upcoming Events

Unify Your Enterprise Communications

Date: March 17-20, 2008
Location: Orlando, Florida

A new era has begun in enterprise voice networking. Standalone, time-division multiplexing (TDM) voice networks are migrating to IP telephony and enterprises are consolidating their voice and data services over a converged voice/data backbone network. This massive and rapid change involves new products, new services, and new players.

Come to VoiceCon Orlando 2008 and get objective, reliable information that you can use to plan your network evolution. Meet industry thought leaders, market movers, and designers and developers of IP telephony platforms and converged network systems. Hear senior IT and telecom executives describe their migration strategies, decision criteria, and the lessons they've learned from installing state-of-the-art technology.

VoiceCon Orlando 2008 can help you decide why, when, and how to invest in this new technology, and how to leverage the platform for maximum advantage. Topics will include the basics of IP telephony, IP telephony security, updates on major product announcements, integrating Microsoft Office Live Communications Server into IP telephony, and more.

So join us at VoiceCon Orlando 2008, March 17-20, 2008, at the Gaylord Palms Hotel in Orlando, FL, and find out how to plan and build your enterprise IP telephony platform.

Check out more here
http://www.voicecon.com/orlando/

Microsoft's Office Communications

From humble beginners as a server/operating system feature code named Greenwich to morphus into Real-Time Communications server and live Communications server, microsoft is now poised to release what is now called Office Communications Server2007, the centerpiece of its unified communications strategy. Here is a look at recent and upcoming milestones.
December.11, 2006- Private Beta of office Communications server launched with 2500 IT pros.
March7, 2007- First public Beta of Office Communications Server unveiled at VoiceCon.
Mid-Summer 2007- Final release of Office Communications Server scheduled.

Check out more here with a slide show..

http://www.networkworld.com/news/2007/030807-microsoft-ocs-slides.html

Microsoft launches next wave of communications software

Hello Great NEWS from Micro Soft.

At the Unified Communications Launch 2007 worldwide event in San Francisco, Microsoft Chairman Bill Gates and Jeff Raikes, Microsoft Business Division president, launched the company's next generation of unified communications products and services.

Microsoft Launches Next Wave of Business Communications Software
Customers report savings of 25 percent to 30 percent from VoIP, conferencing software; more than 50 partners announce new products and services.
Related Links
Webcast:


Unified Communications Launch (.wmv file, 1 hr 23 min) - Oct. 16, 2007
Virtual Pressrooms:


Unified Communications 2007 Launch Pressroom
Feature Stories:


Partners Rally Around Microsoft Unified Communications Software – October 16, 2007
Microsoft Resources:


Bill Gates on the Age of Software-Powered Communications - October 16, 2007


Microsoft Case Studies Web site


Microsoft Unified Communications Web site


Unified Communications Open Interoperability Web site
Other Resources:


Innovative Communications Alliance Web site

SAN FRANCISCO — Oct. 16, 2007 — Today, Bill Gates, chairman of Microsoft Corp., and Jeff Raikes, president of the Microsoft Business Division, announced the worldwide availability of Microsoft’s unified communications software, taking the first step toward streamlining workplace communications and helping reduce the cost of the average corporate voice over Internet protocol (VoIP) system by half.

“In the next decade, sweeping technology innovations driven by the power of software will transform communications,” Gates said. “Working with partners, we’re making rapid advances that will enable fundamental advances in the way people communicate and collaborate at work.”

Joined by customers and partners, the Microsoft executives launched unified communications and VoIP software that includes the following:
Joined by customers and partners, on Oct. 16, 2007 Microsoft Chairman Bill Gates and Microsoft Business Division President Jeff Raikes announced the launch of Microsoft's next wave of business communications software.
Joined by customers and partners, on Oct. 16, 2007 Microsoft Chairman Bill Gates and Microsoft Business Division President Jeff Raikes announced the launch of Microsoft's next wave of business communications software.
Click for high-res version


Microsoft® Office Communications Server 2007. Software that delivers VoIP, video, instant messaging, conferencing and presence within the applications people already know and use such as Microsoft Office system applications and upcoming versions of Microsoft Dynamics™ ERP products and the Microsoft CRM release due later this year


Microsoft Office Communicator 2007. Client software for phone, instant messaging and video communications that works across the PC, mobile phone and Web browser


Microsoft Office Live Meeting. The next version of Microsoft’s advanced conferencing service that enables workers to conduct meetings, share documents, utilize video and record discussions from virtually any computer


Microsoft RoundTable™. A conferencing phone with a 360-degree camera that captures a panoramic view of meeting participants, tracks the speaker and can record meetings


Service pack update of Microsoft Exchange Server 2007. The industry’s leading e-mail, voice mail, calendaring and unified messaging platform

“Unified communications software will transform business communications as fundamentally as e-mail did in the 1990s,” Raikes said. “Today, Microsoft is in the VoIP game, and our customers and partners are already winning with better economics and new business opportunities.”

Dramatic Business Results for Customers

Gates and Raikes were joined today by hundreds of customers (http://www.microsoft.com/casestudies) reporting dramatic time savings due to more efficient communications and cost savings of 25 percent to 30 percent over traditional communications technologies. Gibson Guitar Corp., Global Crossing, L’Occitane, Quanta Computer USA Inc., Sanofi-Aventis, The Shaw Group Inc., Virgin Megastores and Volvo Group were among the customers that joined the event to discuss the positive impact of Microsoft technology on their business.

“We are deploying Office Communications Server 2007 globally, and already people are seeing substantial time savings and productivity gains,” said Etienne de Verdelhan, chief information officer with L’Occitane, a leading global retailer of natural ingredient cosmetics with more than 900 stores in over 60 countries. “Not only are we able to launch new business communications with just one click, but user setup and administration is extremely simple, which is critical for a company growing at our rapid pace.”

Supporting these findings, Forrester Consulting found in a study commissioned by Microsoft that organizations may achieve significant productivity improvements and cost savings with unified communications. The Forrester study,1 created from the results of 15 in-depth interviews of Microsoft unified communications customers, found that these customers can achieve more than 500 percent return on investment (ROI) over three years by deploying Office Communications Server 2007.

Partner Support

More than 50 partners joined Microsoft to announce new products and services built on Microsoft’s unified communications platform. These partners include the following:


Systems integrators. Seven hundred ninety-three partners have achieved Microsoft’s UC Specialization in less than four months since Microsoft opened the program. These partners are trained to help customers deploy Microsoft unified communications software.


Telephony providers. Three global telephony leaders are announcing their road maps to build next-generation software applications on Microsoft’s voice platform:


Nortel Networks confirmed pending availability of five software-based solutions and applications to enhance Office Communications Server as part of the Innovative Communications Alliance (http://www.innovativecommunicationsalliance.com). Nortel also confirmed it is on track to more than double the number of Office Communications Server certified engineers in the UC Systems Integration practice.


Ericsson announced the Ericsson Enterprise Mobility Gateway, which will be built on VoIP call management in Office Communications Server to bring office communications to any mobile device, reducing mobile costs and maximizing existing investments.


Mitel Networks Corp. announced plans to develop a software-based solution that leverages Office Communications Server’s VoIP call management capabilities to meet the specialized telephony needs of small and medium-sized businesses in vertical markets.


Independent software vendors. Independent software vendors announced plans to incorporate presence and click-to-communicate features from Microsoft’s unified communications platform into their software applications. In addition, SAP AG plans to integrate Office Communications Server with Duet software, which is jointly developed with Microsoft and provides access to SAP processes and data through Microsoft Office applications. This will enable business users to see presence and to click to communicate while working within Duet.


Phone and device manufacturers. Seven manufacturers announced global availability of 15 new Microsoft UC-qualified phones and devices today, increasing choices for customers. Microsoft is working closely with more than 15 strategic partners to develop new UC-enabled endpoints including handsets, wireless phones, webcams and laptops. Conferencing leader Tandberg also announced its plans to build a video and webconferencing solution incorporating Microsoft unified communications software to ensure that customers can maximize their investment in existing infrastructure.

Continued Commitment to Interoperability

Microsoft also unveiled Unified Communications Open Interoperability, a telephony system qualification program, to give customers the assurance that Microsoft unified communications software works with their telephony systems. A list of qualified products, including eight products from five companies that have already received the qualification, is available at http://go.microsoft.com/fwlink/?LinkID=87482.

To view the keynote address, learn more about Microsoft’s unified communications software or download evaluation copies, customers can visit http://www.microsoft.com/uc.

Founded in 1975, Microsoft (Nasdaq “MSFT”) is the worldwide leader in software, services and solutions that help people and businesses realize their full potential.

Note to editors: If you are interested in viewing additional information on Microsoft, please visit the Microsoft Web page at http://www.microsoft.com/presspass on Microsoft’s corporate information pages. Web links, telephone numbers and titles were correct at time of publication, but may since have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at http://www.microsoft.com/presspass/contactpr.mspx.


To read more..
http://www.microsoft.com/presspass/press/2007/oct07/10-16UC2LaunchPR.mspx

Micro Soft launches UNFIED COMMUNICATIONS

VoiceCon Orlando 2008: Unify Your Enterprise Communications Want to learn more about migrating to IP telephony and converged network systems? Join us at VoiceCon Orlando, March 17-20, 2008, and meet industry thought leaders, market movers, and designers and developers of IP telephony platforms and converged networks. Discover why, when, and how to invest in the latest IP telephony technology.

Read more on this next genration UNIFIED COMMUNICATIONS.

TAPI 3.X and Windows XP. Not a SUITABLE PAIR to work

Hi,
For the past 3-4 weeks I spent my time to develop an application on TAPI3.x, C# and WindowsXP(as the client requirement). I almost reach my end by googling and by the help of some of the TAPI experts around the world(don't surprise, through mails only). But at the end, I am able to connect the call, can able to track down the call duration, but not the Call Disconnecting.
This Call disconnecting is not working with call state as "CALLSTATE.CS_PROGRESS".
So, I consulted microsoft on this issue through mails. They sent me a hot fix which is very helpful. But unfortunately this HOTFIX is not for WindowsXP. It is for Windows2000 Server. So, Guys, please have a look at this site and choose your combination to develop the TAPI applications from now onwards.

And here is the reply what they have sent to me on the Hotfix and it is for Windows Server 2000, not for Windows XP

Hello,

The hot fix for your issue has been packaged and placed on an HTTP site for you to download.

WARNING: This fix is not publicly available through the Microsoft website as it has not gone through full Microsoft regression testing. If you would like confirmation that this fix is designed to address your specific problem, or if you would like to confirm whether there are any special compatibility or installation issues associated with this fix, you are encouraged to speak to a Support Professional in Product Support Services.

The package is password protected so be sure to enter the appropriate password for each package. To ensure the right password is provided cut and paste the password from this mail.

NOTE: Passwords expire every 7 days so download the package within that period to insure you can extract the files. If you receive two passwords it means you are receiving the fix during a password change cycle. Use the second password if you download after the indicated password change date.

Package:
-----------------------------------------------------------
KB Article Number(s): 924050
Language: English
Platform: x64
Location: (http://hotfixv4.microsoft.com/Windows%20Server%202003/sp2/Fix187794/3790/free/288718_ENU_x64_zip.exe)
Password: iVX)ftK

NOTE: Be sure to include all text between '(' and ')' when navigating to this hot fix location!

Thanks!

TAPI 3.X and Windows XP. Must see this why CallDisconnect is not working. Its really a micro soft Bug.

SYMPTOMS
Telephony API (TAPI)-based applications may stop responding in a Microsoft Windows Server 2000-based telephony server. Additionally, you cannot disconnect telephone calls even though the remote party has disconnected.

This problem occurs if the following conditions are true:
• A telephone call is being disconnected.
• The server is located in a large telephony server call center.
• The telephony server has more than one CPU.


CAUSE
This problem occurs because of a deadlock condition between the lineClose function call and the lineDeallocateCall function call.


RESOLUTION
Hotfix information
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
Prerequisites
To apply this hotfix, you must have Windows 2000 Service Pack 4 (SP4) installed on the computer.
Restart information
You must restart the computer after you apply this hotfix.
Hotfix replacement information
This hotfix is not replaced by any later hotfix.
File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
File name File version File size Date Time Platform
Tapisrv.dll 5.0.2195.7111 176,400 26-Sep-2006 11:52 x86


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


MORE INFORMATION
For more information about Microsoft Windows Server 2003 version of this hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
924050 (http://support.microsoft.com/kb/924050/) Telephony API-based applications stop responding and you cannot disconnect telephone calls on a Windows Server 2003-based telephony server
For more information about the terms that are used to describe software updates, click the following article number to view the article in the Microsoft Knowledge Base:
824684 (http://support.microsoft.com/kb/824684/) Description of the standard terminology that is used to describe Microsoft software updates

Monday, October 22, 2007

TAPI 2.x, C# and .net framework I GOT ITWORK

I have seen so many posts on the net related to TAPI and .net framework. Among all those I tried the following samples.
1. Davang program from code project, but i found some unhandled exceptions in that.
2. Some samples from Zulmar, Which are very useful.
3. A C# wrapper from GotDotNet group by Helen warn and gang.

Among these three, I found the last one is very useful and an efficient one. So, for this first of all i would like to THANK Helen and Gang for doing such an outstanding job.

With this sample one can develop their own and customized applications including the features like
1. Dialing a number,
2. Detecting the status of the call,
3. The status of the end user like HUB,
4. Forwarding the call if the end user is not responding in right time.
5. Checking the event status, etc.

A phone call need not be terminated if one end user is not interested. That means by detecting the line status, we can be able to know that either party is terminating and eventually the call get terminated.

This is using TAPI 2.x which is developed on a C++ pointer style program.
The latest one of TAPI 3.x is a COM based and not good for managed code programming.
So, please have a look at it and start working on TAPI and managed code.

All these stuff you can make on your own by doing some small modifications in it.

For more stuff and comments visit the following link.
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=5d893af6-b340-49d8-9162-b90bf6932414

TAPI 2.x, C# and .net framework

I have seen so many posts on the net related to TAPI and .net framework. Among all those I tried the following samples.
1. Davang program from code project, but i found some unhandled exceptions in that.
2. Some samples from Zulmar, Which are very useful.
3. A C# wrapper from GotDotNet group by Helen warn and gang.

Among these three, I found the last one is very useful and an efficient one. So, for this first of all i would like to THANK Helen and Gang for doing such an outstanding job.

With this sample one can develop their own and customized applications including the features like
1. Dialing a number,
2. Detecting the status of the call,
3. The status of the end user like HUB,
4. Forwarding the call if the end user is not responding in right time.
5. Checking the event status, etc.

A phone call need not be terminated if one end user is not interested. That means by detecting the line status, we can be able to know that either party is terminating and eventually the call get terminated.

This is using TAPI 2.x which is developed on a C++ pointer style program.
The latest one of TAPI 3.x is a COM based and not good for managed code programming.
So, please have a look at it and start working on TAPI and managed code.

All these stuff you can make on your own by doing some small modifications in it.

For more stuff and comments visit the following link.
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=5d893af6-b340-49d8-9162-b90bf6932414

Wednesday, October 10, 2007

Everything you need for global communications

Unified Communications bridge the gap between telephony and computing to deliver real-time messaging, voice, and conferencing to the desktop environment. Microsoft® Unified Communications technologies use powerful software to streamline communications between people and organizations, regardless of medium, platform, device or location. These technologies integrate with your existing voice/PBX and network infrastructure to deliver a secure, common management platform for all of your communication workloads. One pane global communicaions? Now you're talking.

With Unified Communications, you can:
• Streamline Communications for End-Users
• Increase Operational Efficiency
• Provide Built-in Protection
• Build a Future-Ready Foundation on Software

Empowering your team to work better, together..

For more info on this, follow the link;
"http://www.microsoft.com/india/uc/launch/itpro/default.mspx"

Tuesday, October 9, 2007

Exploring Extended TAPI Functions

Retrieving General Information:
We will start this part of tutorial from regular things. This section describes how to obtain various general information for specified TAPI device. This function groups belong to Extended TAPI. ExTAPI, proving its name, extends wireless API with different options:
• various device specific info
• info about signal strength
• info about system type
• info about line operators
• choosing the cellular network
• registering lines for specific operator
• get/set GPRS class
• get/set equipment state
• and more...
'Get/Set' functions
There are a couple dozen get/set-functions that give you a lot of useful information and allow managing line devices. It doesn't make sense to describe them all here; I'll only put a brief 'get' calls reference. You will find detailed explanations in SDK help:
• lineGetCallBarringCaps
• lineGetCallBarringState
• lineGetCallWaitingCaps
• lineGetCallWaitingState
• lineGetCurrentAddressID
• lineGetCurrentHSCSDStatus
• lineGetCurrentOperator
• lineGetCurrentSystemType
• lineGetEquipmentState
• lineGetGeneralInfo
• lineGetGPRSClass
• lineGetHSCSDCaps
• lineGetHSCSDState
• lineGetMuteState
• lineGetNumberCalls
• lineGetOperatorStatus
• lineGetRadioPresence
• lineGetRegisterStatus
• lineGetSendCallerIDState
• lineGetUSSD
Network operator related functions
ExTAPI exposes several functions that you can use to manage network operator-related stuff:
• lineRegister
• lineUnregister
• lineGetRegisterStatus
• lineGetCurrentOperator
• lineGetOperatorStatus
• lineSetPreferredOperator

Basic Telephony Services Reference

The Basic Telephony functions are listed by category in the following tables. A function is identified as asynchronous if it indicates completion in a REPLY message to the application. If the function always returns its result to the application immediately, the function is considered synchronous.
Following is a functional grouping of the basic telephony service functions:
• Address Formats
• Addresses
• Answering Incoming Calls
• Call Drop Functions
• Call Handle Manipulation
• Call Privilege Control
• Call States and Events
• Line Status and Capabilities
• Line Version Negotiation
• Location and Country/Region Information
• Making Calls
• Opening and Closing Line Devices
• Request Recipient Services
• TAPI Initialization and Shutdown
• Toll Saver Support
TAPI Initialization and Shutdown
Function Description
lineInitializeEx
Initializes the TAPI line abstraction for use by the invoking application. Synchronous.
lineShutdown
Shuts down the application's use of TAPI's line abstraction. Synchronous.

Line Version Negotiation
Function Description
lineNegotiateAPIVersion Allows an application to negotiate a TAPI version to use. Synchronous.

Line Status and Capabilities
Function Description
lineGetDevCaps Returns the capabilities of a given line device. Synchronous.
lineGetDevConfig Returns configuration of a media stream device. Synchronous.
lineGetLineDevStatus Returns current status of the specified open line device. Synchronous.
lineSetDevConfig Sets the configuration of the specified media stream device. Synchronous.
lineSetStatusMessages Specifies the status changes for which the application needs to be notified. Synchronous.
lineGetStatusMessages Returns the application's current line and address status message settings. Synchronous.
lineGetID Retrieves a device ID associated with the specified open line, address, or call. Synchronous.
lineGetIcon Allows an application to retrieve an icon for display to the user. Synchronous.
lineConfigDialog Causes the provider of the specified line device to display a dialog box that allows the user to configure parameters related to the line device. Synchronous.
lineConfigDialogEdit Displays a dialog box allowing the user to change configuration information for a line device. Synchronous.

Addresses
Function Description
lineGetAddressCaps Returns the telephony capabilities of an address. Synchronous.
lineGetAddressStatus Returns current status of a specified address. Synchronous.
lineGetAddressID Retrieves the address ID of an address specified using an alternate format. Synchronous.

Opening and Closing Line Devices
Function Description
lineOpen Opens a specified line device for providing subsequent monitoring and/or control of the line. Synchronous.
lineClose Closes a specified opened line device. Synchronous.

Address Formats
Function Description
lineTranslateAddress Translates between an address in canonical format and an address in dialable format. Synchronous.
lineSetCurrentLocation Sets the location used as the context for address translation. Synchronous.
lineSetTollList Manipulates the toll list. Synchronous.
lineGetTranslateCaps Returns address translation capabilities. Synchronous.

Call States and Events
Function Description
lineGetCallInfo Returns fixed information about a call. Synchronous.
lineGetCallStatus Returns complete call status information for the specified call. Synchronous.
lineSetAppSpecific Sets the application-specific field of a call's information structure. Synchronous.

Making Calls
Function Description
lineMakeCall Makes an outbound call and returns a call handle for it. Asynchronous.
lineDial Dials (parts of one or more) dialable addresses. Asynchronous.

Answering Incoming Calls
Function Description
lineAnswer Answers an incoming call. Asynchronous.

Toll Saver Support
Function Description
lineSetNumRings Indicates the number of rings after which incoming calls are to be answered. Synchronous.
lineGetNumRings Returns the minimum number of rings requested with lineSetNumRings. Synchronous.
Call Privilege Control
Function Description
lineSetCallPrivilege Sets the application's privilege to the privilege specified. Synchronous.

Call Drop Functions
Function Description
lineDrop Disconnects a call, or abandons a call attempt in progress. Asynchronous.
lineDeallocateCall Deallocates the specified call handle. Synchronous.

Call Handle Manipulation
Function Description
lineHandoff Hands off call ownership and/or changes an application's privileges to a call. Synchronous.
lineGetNewCalls Returns call handles to calls on a specified line or address for which the application does not yet have handles. Synchronous.
lineGetConfRelatedCalls Returns a list of call handles that are part of the same conference call as the call specified as a parameter. Synchronous.

Location and Country/Region Information
Function Description
lineTranslateDialog Displays a dialog box allowing the user to change location and calling card information. Synchronous.
lineGetCountry Retrieves dialing rules and other information about a given country/region. Synchronous.

Request Recipient Services
The following two functions are used only in support of Assisted Telephony.
Function Description
lineRegisterRequestRecipient Registers or deregisters the application as a request recipient for the specified request mode. Synchronous.
lineGetRequest Gets the next request from the Telephony dynamic link library. Synchronous.

TAPI 2.x


The TAPI DLLs, along with the TAPI Server (Tapisvr.exe), are crucial abstractions separating end-user or server applications from service providers. A TAPI DLL in conjunction with the TAPI Server provides a consistent interface between these two layers.

A TAPI application loads the appropriate DLL into its process space. During initialization, TAPI establishes an RPC link with Tapisvr.exe. In Windows Server 2003 family, Windows XP, and Windows 2000, the TAPI Server runs in the context of SVCHOST. In Windows NT, the TAPI Server runs as a separate service.

There are three DLLs associated with TAPI: Tapi.dll, Tapi32.dll, and Tapi3.dll. These DLLs are located in %SystemRoot%\system32. The following figure illustrates the roles of their respective roles in Microsoft Telephony:

Roles of the three TAPI DLLs

Existing 16-bit applications link to Tapi.dll. In Windows Server 2003 family, Windows XP, Windows 2000, Windows NT, Windows Millennium Edition, and Windows 98, Tapi.dll is simply a thunk layer that maps 16-bit addresses to 32-bit addresses and pass requests to Tapi32.dll. In Windows 95 and Windows 3.1, this DLL is the core of Windows Telephony.

Existing 32-bit TAPI 2.x applications link to Tapi32.dll. In Windows Server 2003 family, Windows XP, Windows 2000, Windows NT, Windows Millennium Edition, and Windows 98, Tapi32.dll is a thin marshaling layer that transfers function requests to the TAPI Server (TAPISRV) and, when needed, loads and invokes media service provider DLLs in the application's process. In Windows 95, Tapi32.dll is a thunk layer to Tapi.dll.

TAPI 3.x applications link to Tapi3.dll.
TAPI Functions

The following sections contain an alphabetic list of functions grouped by area. The information for each function includes a list of the valid call states on entry of the function and typical call state transitions when the request is complete.

* Assisted Telephony Functions
* Call Center Functions
* Line Device Functions
* Phone Device Functions

For TAPI functions categorized by service level and task, see TAPI Quick Function Reference.

Please note that service provider limitations may exist concerning the actual states in which a function can be performed. Applications must check the dwCallFeatures member in the LINECALLSTATUS structure, the dwAddressFeatures member in the LINEADDRESSSTATUS structure, and the dwLineFeatures member in the LINEDEVSTATUS structure to determine whether or not a function is permitted within the current call state.
Here I am particular on Phone Device Functions:

TAPI supports the following phone device functions:

* phoneCallbackFunc
* phoneClose
* phoneConfigDialog
* phoneDevSpecific
* phoneGetButtonInfo
* phoneGetData
* phoneGetDevCaps
* phoneGetDisplay
* phoneGetGain
* phoneGetHookSwitch
* phoneGetIcon
* phoneGetID
* phoneGetLamp
* phoneGetMessage
* phoneGetRing
* phoneGetStatus
* phoneGetStatusMessages
* phoneGetVolume
* phoneInitialize
* phoneInitializeEx
* phoneNegotiateAPIVersion
* phoneNegotiateExtVersion
* phoneOpen
* phoneSetButtonInfo
* phoneSetData
* phoneSetDisplay
* phoneSetGain
* phoneSetHookSwitch
* phoneSetLamp
* phoneSetRing
* phoneSetStatusMessages
* phoneSetVolume
* phoneShutdown

Monday, October 8, 2007

Working with TAPI 3.0 in our application (With Basic Call Control Functions)

The first thing you need to do is create the TAPI objects to initialize the TAPI 3.0 TSP (TAPI Service Providers). To have more information on TSP and what TAPI is all about, please refer to help provided in the MSDN .NET documentation. The code below is a declaration of the TAPI object and addresses the interfaces that will hold the addresses which are responsible for call handling, and basic call control interface which will hold the reference to the object that will be responsible for handling basic operations of the call.

private TAPIClass tobj;
private ITAddress[] ia=new TAPI3Lib.ITAddress[10];
private ITBasicCallControl bcc;

The code below is responsible for initializing a TAPI object so that it can be used by application. The main functions are:

* Initialize() will initialize TAPI.
* EnumerateAddresses() will give the list of available TSPs.

void initializetapi3()
{
try
{
tobj = new TAPIClass();
tobj.Initialize();
IEnumAddress ea=tobj.EnumerateAddresses();
ITAddress ln;
uint arg3=0;
lines=0;

cn=new callnotification();
cn.addtolist=new callnotification.listshow(this.status);
tobj.ITTAPIEventNotification_Event_Event+= new
TAPI3Lib.ITTAPIEventNotification_EventEventHandler(cn.Event);
tobj.EventFilter=(int)(TAPI_EVENT.TE_CALLNOTIFICATION|
TAPI_EVENT.TE_DIGITEVENT|
TAPI_EVENT.TE_PHONEEVENT|
TAPI_EVENT.TE_CALLSTATE|
TAPI_EVENT.TE_GENERATEEVENT|
TAPI_EVENT.TE_GATHERDIGITS|
TAPI_EVENT.TE_REQUEST);

for(int i=0;i<10;i++)
{
ea.Next(1,out ln,ref arg3);
ia[i]=ln;
if(ln!=null)
{
comboBox1.Items.Add(ia[i].AddressName);
lines++;
}
else
break;
}
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}

The code below is responsible for registering incoming calls so that they can be handled by our application. For that you need to select the line on which you want to receive calls and press the Register button.

try
{
registertoken[line]=tobj.RegisterCallNotifications(ia[line],
true,true,TapiConstants.TAPIMEDIATYPE_AUDIO,2);
MessageBox.Show("Registration token : "+
registertoken[line],
"Registration Succeed for line "+line);
}
catch(Exception ein)
{
MessageBox.Show("Failed to register on line "+line,"Registration for calls");
}

The class given below is to be added depending upon your TAPI event handling requirements. This is specially designed according to the requirements of the application.

class callnotification:TAPI3Lib.ITTAPIEventNotification
{
public delegate void listshow(string str);
public listshow addtolist;

public void Event(TAPI3Lib.TAPI_EVENT te,object eobj)
{
switch(te)
{
case TAPI3Lib.TAPI_EVENT.TE_CALLNOTIFICATION:
MessageBox.Show("call notification event has occured");
break;
case TAPI3Lib.TAPI_EVENT.TE_DIGITEVENT:
TAPI3Lib.ITDigitDetectionEvent dd =
(TAPI3Lib.ITDigitDetectionEvent)eobj;
MessageBox.Show("Dialed digit"+dd.ToString());
break;
case TAPI3Lib.TAPI_EVENT.TE_GENERATEEVENT:
TAPI3Lib.ITDigitGenerationEvent dg =
(TAPI3Lib.ITDigitGenerationEvent)eobj;
MessageBox.Show("digit dialed!");
MessageBox.Show("Dialed digit"+dg.ToString());
break;
case TAPI3Lib.TAPI_EVENT.TE_PHONEEVENT:
MessageBox.Show("A phone event!");
break;
case TAPI3Lib.TAPI_EVENT.TE_GATHERDIGITS:
MessageBox.Show("Gather digit event!");
break;
case TAPI3Lib.TAPI_EVENT.TE_CALLSTATE:
TAPI3Lib.ITCallStateEvent a=
(TAPI3Lib.ITCallStateEvent)eobj;
TAPI3Lib.ITCallInfo b=a.Call;
switch(b.CallState)
{
case TAPI3Lib.CALL_STATE.CS_INPROGRESS:
MessageBox.Show("dialing");
break;
case TAPI3Lib.CALL_STATE.CS_CONNECTED:
MessageBox.Show("Connected");
break;
case TAPI3Lib.CALL_STATE.CS_DISCONNECTED:
MessageBox.Show("Disconnected");
break;
case TAPI3Lib.CALL_STATE.CS_OFFERING:
MessageBox.Show("A party wants to communicate with you!");
break;
case TAPI3Lib.CALL_STATE.CS_IDLE:
MessageBox.Show("Call is created!");
break;
}
break;
}
}
}

How to handle H.323 or IP calls????

To do IP calls or H.323 calls, you need to make H.323 call(IP call) enabled and enter the IP address of the destination and Call. Otherwise it will not succeed in calling to the remote destination. To receive H.323 calls or IP calls, you need to first register on the line on which you want to receive IP calls and h.323 call(IP call).
How to answer an incoming call

BasicCallCOntrol.Answer(), is enough to answer a call.

How to transfer a call:

To transfer a call, first there should be one active call existing. Then you can specify the address to which the call is to be transferred to
Here I have specified the internet address since the call was an IP call. To provide this functionality, there is one function in IBasicCallControl named BlindTransfer(String transfferaddress). Refer the MSDN documents for more information on that!

Friday, October 5, 2007

TAPI 2.x vs TAPI 3.x

It is a common misconception that TAPI 3.0 (or TAPI 3.1) replaces TAPI 2.x. TAPI 2.x (and all earlier versions) is written in C/C++ and requires applications to make heavy use of C style pointer arithmetic. This makes TAPI fast and easy to access from C/C++ applications, but it also makes it difficult to use from many other programming languages.

On the other hand, TAPI 3.x was designed with a COM (Component Object Model) interface. This was done with the intent of making it accessible from managed languages like Visual Basic, VBScript, Java or other environments that provide easy access to COM but don't deal with C-style pointers.

TAPI 3.x has a slightly different set of functionality than TAPI 2.x. The addition of integrated media control was the most significant addition. But TAPI 3.x doesn't include all functionality that TAPI 2.x does, like support for the Phone class.

One very notable issue with TAPI 3.x is the lack of support for managed code (.NET environment). As documented in Microsoft KB Article 841712, Microsoft currently has no plans to support TAPI 3.x directly from .Net programming languages. However, Mark Smith has provided a Managed C++ library called TSP++ 3.0.

One often overlooked reason an application developer might choose between TAPI 2.x and TAPI 3.x should be the hardware vendors recommendation. Even though TAPI provides an abstract model of phone lines, telephony applications are still heavily impacted by the specific behavior of the underlying hardware. Troubleshooting behavior issues usually requires both software and hardware vendors to collaborate. Because there is almost a 1:1 relationship between the TAPI Service Provider (TSP) interface and the TAPI 2.x interface, collaboration is often easier if the application is designed using TAPI 2.x. Experience with TAPI 3.x varies significantly between hardware vendors.

Telephony Application Programming Interface (TAPI) functionality is not supported from managed code:
This article discusses why Telephony Application Programming Interface (TAPI) is not supported from managed code. An alternative method permits you to call TAPI functionality from managed code.
***** Because of the complexity of the TAPI 3.x Component Object Model (COM) interface, the managed wrapper that is created by Microsoft Visual Studio .NET does not work. Therefore, you cannot call TAPI functionality from managed code.

Microsoft has no current plans to release a TAPI interoperative component.*****

Using TAPI from managed code
You can use different versions of TAPI in different programming environments.
TAPI 2.x
TAPI 2.x is an interface that is based on the C programming language.

You can call TAPI functionality from the Managed Extensions for C++ applications in Microsoft Visual Studio .NET by using TAPI 2.x (Tapi32.dll).

All the TAPI 2.x data structures are based on the DWORD data type. TAPI 2.x also requires heavy use of pointers. Therefore, TAPI 2.x functionality is difficult to use from any language other than the Managed Extensions for C++.
TAPI 3.x
TAPI 3.x is an interface that is based on Component Object Model (COM).

You can call TAPI 3.x (Tapi3.dll) functionality from unmanaged code. Create an unmanaged DLL that calls TAPI 3.x functionality, and then call the unmanaged DLL from managed code.

For more information, visit the following Microsoft Developer Network (MSDN) Web sites:
TAPI DLL
http://msdn2.microsoft.com/en-us/library/ms734236.aspx (http://msdn2.microsoft.com/en-us/library/ms734236.aspx)

TAPI 2.2 Overview
http://msdn2.microsoft.com/en-us/library/ms737218.aspx (http://msdn2.microsoft.com/en-us/library/ms737218.aspx)

TAPI 3.1 Overview
http://msdn2.microsoft.com/en-us/library/ms734214.aspx

My Self

tapi COMPATABLE MODEMS Samples

Once i found the TAPI 3.0 sample, its quite hard to find the HardWare to run that sample. I struggled almost a day to find the suitable modem to find out.
Anyway I found some useful modems, which are listed below along with their limitations, pro's and con's by tested people.

What type of modems are recommanded?

Conexant/Rockwell chips
rockwell 6764-61 chipset(External)
It has good capablities on Dial, Answer, Drop, Transfer, Ring/CallerID/Disconnect tone/Digit/fax tone/detection, Voice Play/Record, Fax send/Receive, Speakerphone/Mic (Volume adjustable).
The capabilities of modem is not only determined by the chipset, but also by the manufactor.
We offer this type of modems. For details, please click here
Conexant 6793-11, 6793-17, 11242-11, 11252-11.(Internal)
We've used these modems, and they all works well with almost all the functions voiceangel supports.

Smart Link chip(Internal)
We've used Smart Link 2800, Smart Link 1800 which work well on caller id, voice, fax, digit/disconnection tone/fax sending tone detection.

Intel 5628 chip(Internal)
We've used Intel 5628 internal modem, it works well, and it support CallerID, Wave Play/ Record, Digits detection, but it can not detect the disconnection of the call.

Zoom voice modems:
It can get caller ID. Two model 3049C and PCI3025C are especially good. You should use the updated driver available from zoom technical support (some modems were shipped with defective inf files). But it has a long delay on the DTMF detection.

You can get the modems from www.zoom.com
MT5656ZDX External Modem

It has the following features:
a.Detects remote hang-up
b.Reports Caller-ID
c. Built in speaker
d.Headset / Microphone jacks
You can get the modems from http://www.multitech.com/PRODUCTS/MultiModemZDX/
(It seems that they only support customers from United State)
Lunar voice modems
They generally work well on voice play and record and digits detection, but can not get caller ID.
Jaton voice modems:
The WinComm (Intel 536EP chip) VoiceAngel1.92 PCI and Jaton Communicator V90 internal 56K works are recommanded.
Swann voice modems work well.
Creative and Broadxent voice modems. These are very popular voice modems and we have many and mixed reports. It does seem the more recent modems do work well since Creative overcame problems with Windows XP. Model PCID15633 has a DTMF tone detection delay problem. Default flash-hook duration time can not be changed.
Pragmatic/Lectron .
Model I56LVP-F40 (Agere 16478C chip) 56k VoiceAngel1.92 PCI works well.
Hayes Accura . We have had a number of 'working' reports of these modems.
NetComm Roadster . You will need to download and install the Rockwell Drivers to use the Netcomm Roadster.
NetComm InModem . This will only work with the version 8.18 drivers. Later drivers are incompatible.
Maestro . Please check the Maestro website for driver updates if you have problems. The Maestor Jetstream 3 has unresolved problems with DTMF detection.
Other modems that work include the 1456VQE-C e-Modem V90 56k, GTW VoiceAngel1.92 Voicemodem, Supramax56, Aopen FM 56-PM PCI VoiceAngel1.90,MDA-56P (W2000), Netcomm USB RAVE modem (AM5060) (W2000), Best Data - Smart One VoiceAngel1.92 Lite HCF PCI Modem 56FW-PC (W2000), Comp USA generic VoiceAngel1.90 PCI,SKU#274406 (W98), 'Topic', Dynalink, WISECOM, Generic HSP56 PCI, Multitech multimodem model MT5634ZPX-PCI-V92, Viking, RockwellRC56D2(EXT), GeniusGM56PCI-L, Modem Blaster 56II and PCI56K and the ASK56K.

The post may be bit large to find, but no way to escape.
If you found anything , please drop me a mail at : damodara.naidu@chimeratechnologies.com

Wednesday, October 3, 2007

Capturing a photograph from camera connected to machine through .net 1.1 application

In the recent project i had a scenario where I have to capture the photo of the user using our KIOSK and also I have to know the WIA API(Windows Image Acquisition API) devices connected to the system. For these I downloaded the WIA SDK toolkit from MicroSoft and install it on the machine.
This SDK contains an assembly called WIA.dll which can capable of detecting the devices and performing the operations like taking photo etc.
Download it and refer the same WIA.dll to the application. The classes, delegates, interfaces and properties in the dll can serve us.

For a better example and explanation.. refer the following links.

http://www.vbforums.com/showthread.php?t=378126

http://msdn2.microsoft.com/en-us/library/ms792464.aspx

Integrating intelliginet devices (like Proximity sensors) with C #.net 1.1 Applications

Sometimes we need to integrate intelligent devices to our .net applications. To do this we have to buy some other 3rd party tools or we have to make our own tools. As I am having a little experience in .net (C#) programming(around 2.5 years) I knew that its not possible to me to do so.(May be some guys even less experience can write, here I am talking about me.) Once in my application I have to integrate the Proximity Sensor to detect the presence of an object infront of a KOISK. So, I decided to go to the COM ports stuff and from there I got the events.
The events like DSR(DataSetReady), CarrierDetect(CD) will be useful.
The proximity sensor is a digi inc,. product which can return two events like On(True) and Off(False). If any object is infront of the sensor the orange LED glows that means the DSR is On(True), So load the application and if nothing is there infront of the sensor, no LED glows. It means that DSR is Off(False). So, load the screen saver.

If you found any problem related this COM port stuff, don't hesitate to mail me.

Serial Port Communications with .net 1.1

Many of us (.net programmers) wonder why microsoft didnot included the serial port stuff in Visual Studio 1.1. (I found this when I have to integrate a proximity sensor to my KIOSK application to detect the motion of an object infront of the KIOSK ). Well, as I searched the web (for almost 3-4 days) I found really some useful tools, but they are of trail versions (after a period of time they will disable). So i decided to wrote my OWN serial port API to detect any kind of devices connected to the machine.
The only thing I have done was (Modifying some already existing API's) creating an API to read the events of COM ports like
1. Break,
2.Carrier Detect(CD),
3. ClearToSend(CS),
4. DataSetReady(DSR), the most powerful one to identify the events.
5. Ring,
6. RxFlag(Received Flag),
7. RxChar(Received Character),
8. StatusError,
9. TxBufferEmpty.

I found these are the enough events to achieve serial communications in .net 1.1.
If you are at any way to integrate any type of device(like sensors and intelligent devices etc.) with your application, you can achieve with this. Any way .net 2.0 and later versions are supporting the Serial Port Communication.
For any help on this post , contact me at damodara.naidu@chimeratechnologies.com or +91 988 678 2793.
MSN IM : chm_damodar@hotmail.com

TAPI 3.0

TAPI, or the telephony application-programming interface is the mechanism by which computers can respond to phone calls. It is the technology behind call-centres, and all CTI (Computer Telephony Integration) applications. This application can be used to detect, pick up, and play a pre-recorded message to callers.

You will need a voice modem to use this application. Data modems can still be used with this, but you will not be able to send and receive audio after the call is accepted.
And for more information see this link.

http://msdn2.microsoft.com/en-us/library/ms811413.aspx
And here is the useful example program which was written by Mr.Devang.
This is developed in C# and .net framework 1.1
http://www.codeproject.com/cs/internet/devangpro.asp?df=100&forumid=199032&exp=0&select=2046327

Have nice programming times.

Thursday, September 6, 2007

Hobbies

> Playing and watching CRICKET,SOCCER and SWIMMING.
> Sleeping for maximum time and spent time arguing with friends.
> Riding Bikes.
> Visiting Places.
> Chilling out on Week Ends...etc

Wednesday, September 5, 2007

Interests

Making friends (Who want to share thoughts and ideas on .net programming).
Visiting the historical Places like forts and warrior places etc..

Back Ground

Born On: June 4th ,1983(When INDIA won the CRICKET WORLD Cup).
School: B. Kamma Palle(Elementary),
Udayamanikyam(Upper Primay),
Y.V.Palem and Tirupathi(High School),
Tirupathi(Inter College),
Madana Palle(Graduation),

Currently a .net programmer @ Chimera Technologies pvt ltd, Bangalore.
Working on products for KIOSKs for SECURE MEDICAL inc.