I would like to know if someone is trying to use openh323 with
Asterisk. (I have read the mailing archive and MPL and GPL...)
I am trying to understand the channel API to use it with H.323, and I
have some BIG problems to compile: the openh323 library comes with a set
of makefiles that must be used to build any program. My problem is that
I want to build a library (.so file) and I don't know if it is possible
with the makefiles provided...
If nobody has the answer in this mailing list, I'll post the question
to the openh323 mailing list.
I am trying to understand the channel API to use it with H.323, and I
... as soon as you do, please document it, and send in the appropriate
patches. ;-)
Quote:
have some BIG problems to compile: the openh323 library comes with a set
of makefiles that must be used to build any program.
It might be easiest to use that Makefile, then, and add in the options
necessary for finding the asterisk include files.
Quote:
I want to build a library (.so file) and I don't know if it is possible
with the makefiles provided...
It should be. I haven't tried yet (lack of time).
--
Matthias Urlichs | noris network GmbH | smurf@noris.de | ICQ: 20193661
The quote was selected randomly. Really. | http://www.noris.de/~smurf/
--
Some day science may have the existence of mankind in its power,
and the human race commit suicide by blowing up the world. (1862)
-- Henry Brooks Adams (1838-1918)
> have some BIG problems to compile: the openh323 library comes with a set
> of makefiles that must be used to build any program.
It might be easiest to use that Makefile, then, and add in the options
necessary for finding the asterisk include files.
My suggestion to you is to build an IAX <-> H.323 gateway for two reasons:
a) The IAX code is setup to be a module, controlled by some other
central process. Both Asterisk and OpenH323 are both built as
applications, not as libraries, and thus trying to get OpenH323 into
Asterisk is going to be a big pain in the neck.
b) As sole owner of the IAX code, I'd be willing to relicense it under GPL
with an exception for the MPL'd OpenH323 code, and that would eliminate
the licensing concerns.
Just follow the instructions on www.openh323.org to build the
libraries. After it has completed compiling there will be libraries it
the $HOME/pwlib/lib and $HOME/openh323/lib
Ed Okerson
Quicknet Technologies, Inc.
Bertrand Croq wrote:
Quote:
I would like to know if someone is trying to use openh323 with
Asterisk. (I have read the mailing archive and MPL and GPL...)
I am trying to understand the channel API to use it with H.323, and I
have some BIG problems to compile: the openh323 library comes with a set
of makefiles that must be used to build any program. My problem is that
I want to build a library (.so file) and I don't know if it is possible
with the makefiles provided...
If nobody has the answer in this mailing list, I'll post the question
to the openh323 mailing list.
OpenH323 is a class library, not an application. It does come with
sample applications OhPhone (formerly Voxilla) and OpenPhone. There
have been many other applications built around that library, including a
couple of gatekeepers, and there are some companies out there that are
using it in commercial applications as well.
Ed Okerson
Quicknet Technologies, Inc.
Mark Spencer wrote:
Quote:
> > have some BIG problems to compile: the openh323 library comes with a set
> > of makefiles that must be used to build any program.
>
> It might be easiest to use that Makefile, then, and add in the options
> necessary for finding the asterisk include files.
My suggestion to you is to build an IAX <-> H.323 gateway for two reasons:
a) The IAX code is setup to be a module, controlled by some other
central process. Both Asterisk and OpenH323 are both built as
applications, not as libraries, and thus trying to get OpenH323 into
Asterisk is going to be a big pain in the neck.
b) As sole owner of the IAX code, I'd be willing to relicense it under GPL
with an exception for the MPL'd OpenH323 code, and that would eliminate
the licensing concerns.
OpenH323 is a class library, not an application. It does come with
sample applications OhPhone (formerly Voxilla) and OpenPhone. There
have been many other applications built around that library, including a
couple of gatekeepers, and there are some companies out there that are
using it in commercial applications as well.
I stand corrected :)
I was looking at the Voxilla source code and (being far from a C++
programmer) saw that Voxilla extends a PProcess... My concern is that
Asterisk obviously wants to the be the "main thread" for an incoming call,
and asks the driver to provide callbacks. It would appear that the
structure of OpenH323 (as used by Voxilla) is similar in that OpenH323
provides the primary thread of execution. I'm not sure how easy it's
going to be to merge these two, as opposed to making an OpenH323<->IAX
gateway, where IAX would be a slave to whatever model OpenH323 uses.
programmer) saw that Voxilla extends a PProcess... My concern is that
Asterisk obviously wants to the be the "main thread" for an incoming call,
and asks the driver to provide callbacks. It would appear that the
structure of OpenH323 (as used by Voxilla) is similar in that OpenH323
provides the primary thread of execution.
So? You have a multi-threaded enviroment. Therefore you can spawn
off an "H323.main" subthread, and let some code that behaves as both a
H.323 driver and an Asterisk channel do the actual buffer exchange.
You can trigger waking up the "other" side by, e.g., writing one byte to
a FIFO for every buffer that's ready. Or something like that.
Quote:
I'm not sure how easy it's going to be to merge these two, as opposed
to making an OpenH323<->IAX gateway, where IAX would be a slave to
whatever model OpenH323 uses.
Ideally, since OpenH323 is a library, it should be possible to fit it
into whatever model your application requires.
All of this is still handwaving, to be sure, but some serious code
should fall out of this sooner or later. Hopefully sooner.
--
Matthias Urlichs | noris network GmbH | smurf@noris.de | ICQ: 20193661
The quote was selected randomly. Really. | http://www.noris.de/~smurf/
--
Suicide is simply a case of mistaken identity.
From: owner-asterisk@marko.net [mailto:owner-asterisk@marko.net]On
Behalf Of Mark Spencer
Sent: Thursday, 13 April 2000 03:16
To: asterisk@marko.net
Subject: Re: [Asterisk] H.323
> OpenH323 is a class library, not an application. It does come with
> sample applications OhPhone (formerly Voxilla) and OpenPhone. There
> have been many other applications built around that
library, including a
> couple of gatekeepers, and there are some companies out
there that are
> using it in commercial applications as well.
I stand corrected :)
I was looking at the Voxilla source code and (being far from a C++
programmer) saw that Voxilla extends a PProcess... My concern is that
Asterisk obviously wants to the be the "main thread" for an
incoming call,
and asks the driver to provide callbacks. It would appear that the
structure of OpenH323 (as used by Voxilla) is similar in that OpenH323
provides the primary thread of execution. I'm not sure how easy it's
going to be to merge these two, as opposed to making an OpenH323<->IAX
gateway, where IAX would be a slave to whatever model OpenH323 uses.
Either model would work.
There is no reason why OpenH323 could not be linked into Asterisk just like
any other library. It would require a C/C++ "shim" layer in order to allow
the Asterisk code to call it, but there shouldn't be any problem with this.
Or, you could run an OpenH323 gateway as a seperate process and talk to it
through pipes/sockets.
Regards,
Craig Southeren
-------------------------------------------
Equivalence - Home of FireDoor, MibMaster & PhonePatch
For Open Source H.323 - see http://www.openh323.org
Posted: Thu Apr 13, 2000 8:54 am Post subject: [Asterisk] H.323
Ed Okerson wrote:
Quote:
Mark,
OpenH323 is a class library, not an application. It does come with
sample applications OhPhone (formerly Voxilla) and OpenPhone. There
have been many other applications built around that library, including a
couple of gatekeepers, and there are some companies out there that are
using it in commercial applications as well.
I agree: it should be possible to build possible to write a library base on
openh323, but I only have example on how to build applications with openh323.
The makefile needed to use openh323 library must declare a lot of values; there
are some parts of makefile already done (like ptlib.mak that include others
makefiles, and openh323u.mak) and these are easy to use to build applications,
but I can figure out how to use these to build a library... But I haven't
searched for long, I first wanted to know if someone had already done it.
Posted: Thu Apr 13, 2000 9:27 am Post subject: [Asterisk] H.323
Mark Spencer wrote:
Quote:
> OpenH323 is a class library, not an application. It does come with
> sample applications OhPhone (formerly Voxilla) and OpenPhone. There
> have been many other applications built around that library, including a
> couple of gatekeepers, and there are some companies out there that are
> using it in commercial applications as well.
I stand corrected :)
I was looking at the Voxilla source code and (being far from a C++
programmer) saw that Voxilla extends a PProcess... My concern is that
Asterisk obviously wants to the be the "main thread" for an incoming call,
and asks the driver to provide callbacks. It would appear that the
structure of OpenH323 (as used by Voxilla) is similar in that OpenH323
provides the primary thread of execution. I'm not sure how easy it's
going to be to merge these two, as opposed to making an OpenH323<->IAX
gateway, where IAX would be a slave to whatever model OpenH323 uses.
Mark
Voxilla (now OhPhone) is an application written using pwlib (Portable
Window Library). I am far from being a specialist with this library, but I
understand that every application must instanciate an object from PProcess
(or derived); this object then acts like the main() function in C.
In Voxilla, this PProcess object then instanciates the H323EndPoint class,
that starts other threads (or processes, I don't really know) to manage
calls. With this architecture, it seems possible to write a "driver" for
Asterisk using openh323. Once again, this is what I have understood from the
small part of code that I have read, but it can be wrong.
> > OpenH323 is a class library, not an application. It does come with
> > sample applications OhPhone (formerly Voxilla) and OpenPhone. There
> > have been many other applications built around that
> library, including a
> > couple of gatekeepers, and there are some companies out
> there that are
> > using it in commercial applications as well.
>
> I stand corrected :)
>
> I was looking at the Voxilla source code and (being far from a C++
> programmer) saw that Voxilla extends a PProcess... My concern is that
> Asterisk obviously wants to the be the "main thread" for an
> incoming call,
> and asks the driver to provide callbacks. It would appear that the
> structure of OpenH323 (as used by Voxilla) is similar in that OpenH323
> provides the primary thread of execution. I'm not sure how easy it's
> going to be to merge these two, as opposed to making an OpenH323<->IAX
> gateway, where IAX would be a slave to whatever model OpenH323 uses.
Either model would work.
There is no reason why OpenH323 could not be linked into Asterisk just like
any other library. It would require a C/C++ "shim" layer in order to allow
the Asterisk code to call it, but there shouldn't be any problem with this.
Or, you could run an OpenH323 gateway as a seperate process and talk to it
through pipes/sockets.
Well, I have been able to compile a little example that does nothing more
than creating a empty H323EndPoint, and the reply of the openh323 library is:
I have had a look at the sources and PProcess::Current() is called during
H323EndPoint construction so it looks like there must be a PProcess object
created to use the OpenH323 library, and so it can't be used like any library.
I keep searching but it looks like I will have to write a gateway like Craig
says...
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum