[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

H.323 status

First, a little history.

As I am sure we all know, Linux currently does not support masquerading of video
conferencing protocols, including H.323.  There are partial solutions using
IPPORTFW, but none that work transparently.

So, a few weeks ago I started research into this project.  I found that doing
this was not going to be easy.  The initial connection is done on a well-known
port.  During that communication, a dynamic control channel is netgotiated, and
that channel is then used to allocate 'logical' channels, for video, data, and
audio, using UDP.

Normally, this wouldn't be a BIG problem, but the first two control channels are
encoded with ASN.1/PER.  For those of you that don't know what that is, it is a
data definition language, that allows for transfer of data between disparate
machines.  Also, it allows of OPTIONAL records in the data stream, which makes
it hard to just extract addresses at specific offsets.

In my research, I had found the ASN.1 definitions for H.323, but didn't have a
compiler to convert them into C header files and translation functions.  When I
went to find one, the only good one I found was SNACC, which used BER, instead
of PER.

I then went in search of the standards describing this, but the place that had
them was oversees, and charged 20 FF for access, and I didn't want to spend and
money becuase this is linux.

So, I started hand-converting the definition.  I had gotten a hex-dump from
developer.intel.com, and was making some progress, but ultimately, I couldn't be
sure that I had handled all situations.

I have just had a breakthough.  I had contacted a private company, and they
emailed me a copy of the standards for ASN.1/PER.  I should have a something
working by the end of the year.

First, I will be making a masquerading module, which will only support outgoing
connections.  Then, I will implement a user-mode proxy, that will comunicate
with the kernel module, and allow incoming connections.  I also want to make a
device driver to allow access to the data, audio, and video in an easier way.

I plan on having a basic kernel implementation by the end of the year.

Wish me luck+ACE-  :)

 Adam Heath of Borg-Linux adam.heath+AEA-usa.net Join the H323 effort.  Email
 http://www.debian.org - Get Your Own Linux+ACE- h323-request+AEA-cichlid.com with
 http://wwp.mirabilis.com/3375265 - Page Me  the word subscribe in the body.

 Windows 95: --  32-bit extensions and a graphical   Windows v. Linux is
 shell for a 16-bit patch to an 8-bit operating      a no-win situation.
 originally coded for a 4-bit micropro-
 cessor written by a 2-bit company that   It is nearly impossible to
 can't stand for 1 bit of competition.    look at a penguin and get angry.

ps.  The linux kernel comes with source(duh+ACE-), but I was wondering what was
thought about distributing the documentation that was used to generate the free

TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .

Reply to: