![]() |
General Programming »
Internet / Network »
General
Advanced
License: The Code Project Open License (CPOL)
Examples to create your Conferencing System in .NET, C# VOIP & Video Conferencing Systems using H.323 and TAPI 3By Fadi M. Abdel-qaderFour examples to create your Conferencing System in .NET using H.323 and TAPI 3 |
C#, Windows, .NET, Visual Studio, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
I noticed that there are many members who want to know how to create an Audio/Video Conferencing System using .NET. We know that there isn't any managed class that supports audio or video streaming in .NET, so I decided to write some applications that can help in writing your conferencing application. From time to time, you will find new examples and tutorials on VoIP, Video Conferencing and Network Programming on my site and also in our Forums that specialize in Network Programming and VoIP.
H.323 is an umbrella recommendation from the ITU-T, that defines the protocols to provide audio-visual communication sessions on any packet network. It is currently implemented by various Internet real-time applications such as NetMeeting and Ekiga (the latter uses the OpenH323 implementation). It is a part of the H.32x series of protocols which also addresses communications over ISDN, PSTN or SS7. H.323 is commonly used in VoIP, Internet Telephony, or IP Telephony and IP-based videoconferencing. For more information about H.323, see Internet Telephony with H.323 on MSDN.
TAPI version 3 is a COM-based API that merges classic and IP telephony. Possible applications range from simple voice calls over the Public Switched Telephone Network (PSTN) to multicast multimedia IP conferencing with quality of service (QOS).
There are four major components to TAPI 3:
The API is implemented as a suite of Component Object Model (COM) objects. Moving TAPI to the object-oriented COM model allows developers to write TAPI-enabled applications in many languages, such as .NET, Java, or C++. Use of COM enables component upgrades of TAPI features.
The COM-based telephony API, TAPI 3.x, is available starting with Microsoft Windows X. TAPI 3.x provides greatly enhanced development tools for the modern world of communication programming, where a "call" may be a video stream on an IP-based network, and there is no phone set involved in the session.
Generally speaking, application writers will find that TAPI 3.x provides better support to implement flexible communications controls. For more information, see Telephony Integration and Conferencing on MSDN.
RTP - Real Time Transport Protocol is an Internet protocol for transmitting real-time data such as audio and video. RTP itself does not guarantee real-time delivery of data, but it does provide mechanisms for sending and receiving applications to support streaming data. Typically, RTP runs on top of the UDP protocol, although the specification is general enough to support other transport protocols that know how Windows supports Real Time Communication. See this RTCP API article.
Where:
In this example, I used the Openh323 ocx to create H.323 Voice Chat - it's very easy to use.
In this example, I used TAPI3 to create audio conferencing, For more information, see Rendezvous Code Examples on MSDN.
In this example, I used the Wave Library to capture and send voice through the network and I used the Stream classes to transfer captured video images from a camera.
In this other example, I used the avicap32.dll API to capture the camera image. You can also use this example to capture from any other capturing device such as a TV Tuner and then you can send it through the network.
In this article, I have just posted some examples that will help you to start creating your conferencing system. I will explain the technical code description in other articles.
See this website for more articles and examples. Feel free to post your comments or questions.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 31 Jan 2007 Editor: Deeksha Shenoy |
Copyright 2007 by Fadi M. Abdel-qader Everything else Copyright © CodeProject, 1999-2009 Web17 | Advertise on the Code Project |