[Home]

Summary:ASTERISK-15996: [patch] using opal instead of pwlib/openh323
Reporter:Tzafrir Cohen (tzafrir)Labels:
Date Opened:2010-04-21 16:24:51Date Closed:2011-07-26 15:18:32
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 0001-Newer-pwlib-uses-pkg-config.-Don-t-panic.patch
( 1) asterisk-trunk_302411-opal.patch
( 2) opal_configure_2.diff
( 3) opal_configure.diff
Description:I'm testing the usage of opal instead of pwlib+openh323 .

At first glance it seems that it will at least build once I apply some brute-force to configure.ac .

(This description is to be updated later. Documenting what I have now)

Patch works, however I get the same symptom as in issue ASTERISK-15938: chan_h323.so fails to load, as it was not linked with the relevant libraries.
Comments:By: Tzafrir Cohen (tzafrir) 2010-04-24 06:20:43

Added a minimal patch to allow ./configure to work (without an error) if a newer pwlib is included. Without it, the configure process complains about the "command" '--ldflags'.

By: Tzafrir Cohen (tzafrir) 2010-04-25 02:30:01

Uploaded newer version: opal_configure_2.diff Slightly less brute-force (except the changes in configure.ac). It still has a few debugging comments left.

However, the configure script now fails in the following way (from config.log)

configure:20858: checking OpenH323 installation validity
configure:20902: g++ -o conftest -g -O2  -DP_64BIT=1 -DPTRACING=1 -D_REENTRANT -
D_GNU_SOURCE=1 -fno-exceptions -I/usr/include/opal -I/usr/include/SDL    conftes
t.cpp -lm  -lopal -lpt -lpthread -lrt -lsasl2 -lldap -llber -lldap_r -lssl -lcry
pto -lexpat -lSDL -lodbc -lresolv -ldl -lspeexdsp   -lpt -lpthread -lrt -lsasl2
-lldap -llber -lldap_r -lssl -lcrypto -lexpat -lSDL -lodbc -lresolv -ldl   >&5
conftest.cpp: In function 'int main()':
conftest.cpp:283: error: no matching function for call to 'H323EndPoint::H323End
Point()'
/usr/include/opal/h323/h323ep.h:97: note: candidates are: H323EndPoint::H323EndP
oint(OpalManager&)
/usr/include/opal/h323/h323ep.h:85: note:                 H323EndPoint::H323EndP
oint(const H323EndPoint&)
configure:20902: $? = 1

By: Russell Bryant (russell) 2010-04-27 12:24:47

As long as you can still use the libs that it can be used with now, then this is fine.  Feel free to just commit it when you're ready.

By: jin (jin) 2010-04-30 08:46:48

Hi,

i'm interested on this feature.

testing on centos 5.4 with pwlib-1.10.1-7.0.1.el5.x86_64 and opal-2.2.2-1.1.0.1

i patched asterisk 1.6.2 with opal_configure_2.diff, but asterisk doesn't compile the chan_h323.o:

this is the configure output:

checking for openr2_chan_new in -lopenr2... yes
checking openr2.h usability... yes
checking openr2.h presence... yes
checking for openr2.h... yes
checking /root/pwlib/include/ptlib.h usability... no
checking /root/pwlib/include/ptlib.h presence... no
checking for /root/pwlib/include/ptlib.h... no
checking /usr/local/include/ptlib.h usability... no
checking /usr/local/include/ptlib.h presence... no
checking for /usr/local/include/ptlib.h... no
checking /usr/include/ptlib.h usability... yes
checking /usr/include/ptlib.h presence... yes
checking for /usr/include/ptlib.h... yes
checking for ptlib-config... /usr/bin/ptlib-config
checking if PWLib version 1.10.1 is compatible with chan_h323... yes
checking PWLib installation validity... yes
checking /usr/share/pwlib/../openh323/version.h usability... no
checking /usr/share/pwlib/../openh323/version.h presence... no
checking for /usr/share/pwlib/../openh323/version.h... no
checking for /root/openh323/include/h323.h... no
checking for /usr/local/include/openh323/h323.h... no
checking for /usr/include/openh323/h323.h... no
checking for luaL_newstate in -llua5.1... no
checking for luaL_register in -llua... yes
checking lua.h usability... yes
checking lua.h presence... yes
checking for lua.h... yes


the opal devel file are located in:

[root@pbx4 asterisk16-1.6.2.6]# ls -al /usr/include/opal/
totale 60
drwxr-xr-x 12 root root  4096 30 apr 17:21 .
drwxr-xr-x 90 root root 12288 30 apr 17:21 ..
drwxr-xr-x  2 root root  4096 30 apr 17:21 asn
drwxr-xr-x  2 root root  4096 30 apr 17:21 codec
drwxr-xr-x  2 root root  4096 30 apr 17:21 h323
drwxr-xr-x  2 root root  4096 30 apr 17:21 iax2
drwxr-xr-x  2 root root  4096 30 apr 17:21 lids
drwxr-xr-x  2 root root  4096 30 apr 17:21 opal
drwxr-xr-x  2 root root  4096 30 apr 17:21 rtp
drwxr-xr-x  2 root root  4096 30 apr 17:21 sip
drwxr-xr-x  2 root root  4096 30 apr 17:21 t120
drwxr-xr-x  2 root root  4096 30 apr 17:21 t38


best regards

By: Tzafrir Cohen (tzafrir) 2010-06-19 18:57:04

Even after some minor massaging of the configure script, it claims openh323 is not available, because H323EndPoint::H323Endpoint() (contructor) does not exist.

/usr/include/opal/h323/h323ep.h does have:

 H323EndPoint::H323Endpoint(OpalManager & manager)

channels/h323/ast_h323.cxx calls that contructor with no parameters.

Version of opal: 3.6.8~dfsg-1

By: Lott Caskey (lottc) 2011-01-19 03:48:39.000-0600

Using the previous patches, I created and uploaded a patch that successfully compiles and runs against Opal 3.8.2, asterisk-trunk_302411-opal.patch.  This has not been fully tested, as I do not have the resources/knowledge to do so.

If anyone can test, please let me know if this helped.

By: Leif Madsen (lmadsen) 2011-07-26 15:18:27.092-0500

Suspended due to lack of activity. Please request a bug marshal in #asterisk-bugs on the IRC network irc.freenode.net to reopen the issue should you have the additional information requested.  Further information can be found at http://www.asterisk.org/developers/bug-guidelines

Really the supported method to do H.323 is with chan_ooh323.