Hello Simon,
Good news, chan_h323 is now able to use H323Plus!
:-)
There is only one small problem, it segfaults whenever the chan_h323.so module is unloaded or Asterisk is stopped (in which case the module is unloaded again). Otherwise everything is working as expected.
The problem for the segfault, however, is not related to H323. It seems that it is related with chan_h323's log stream which is a derivative class of PProcess. Apparently the PWLib/PTLib change had an effect on this and it segfaults whenever the logstream object is deleted.
I have the feeling that it is related to the timerChangePipe[] array which is missing in the newest PWLib versions.
I tried to find some documentation about this array but I couldn't find any. I'd be grateful if you could give me some pointers as to where to look for relevant information in order to wrap up chan_h323's transition to H323Plus.
Best regards, Vlasis Hatzistavrou Kinetix Tele.com International Inc. 306 Victoria House, Victoria, Mahe, Seychelles Tel.: +302310556134 Fax: +302310556134 (ext. 0) GSM: +306977835653 e-mail: vhatz@kinetixtele.com http://www.kinetixtele.com
Postal address: Monastiriou 9 & Enotikon 54627 Thessaloniki Greece
Simon Horne wrote:
Plamen
GnuGk has been test compiled with h323plus.
Your error looks strange as it seems to like the code 2 lines above 656 which is identical . I suggest you look at code to see if you have not accidently modified something particularily look at gk_const.h as well as RasTbl.cxx:658
I have fixed the warning message.
Simon
-----Original Message----- From: Plamen Petkov [mailto:plamen@bg-tel.com] Sent: Friday, 26 October 2007 2:57 AM To: Simon Horne Subject: Re: [h323plus] Using H323+ for Asterisk's chan_h323
Hello, I try to compile Gnugk with H323plus. That is the result:
RasTbl.cxx:658: error: no matching function for call to `H460_FeatureOID::Add(const char[2], H460_FeatureContent)' /root/openh323/include/h460/h4601.h:969: note: candidates are: H460_FeatureParameter& H460_FeatureOID::Add(const PString&, H460_FeatureContent&) RasTbl.cxx: In member function `void CallTable::OnQosMonitoringReport(const PString&, const endptr&, H4609_QosMonitoringReportData&)': RasTbl.cxx:2790: warning: unused variable 'addr' make[1]: *** [obj_linux_x86_r/RasTbl.o] Error 1
Regards: Plamen
----- Original Message ----- From: "Simon Horne" s.horne@packetizer.com To: vhatz@kinetix.gr; h323plus@lists.packetizer.com Sent: Thursday, October 25, 2007 6:44 PM Subject: Re: [h323plus] Using H323+ for Asterisk's chan_h323
Vlasis
I am not sure what chan_h323 looks like but there should be no need to have timerChangePipe I think this is a left over from very old code.
Have a look at simple in the CVS http://h323plus.cvs.sourceforge.net/h323plus/applications/simple/ to see how to define the PProcess
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of Vlasis Hatzistavrou (KTI) Sent: Thursday, 25 October 2007 10:36 PM To: h323plus@lists.packetizer.com Subject: [h323plus] Using H323+ for Asterisk's chan_h323
Hello all,
I have been trying to compile chan_h323 with H323. It seems that I am almost done, although I get the following error:
g++ -DNDEBUG -I../../include -include ../../include/asterisk/autoconfig.h -fPIC -DP_USE_PRAGMA -D_REENTRANT -fno-exceptions -Wall -fPIC -DPIC -DNDEBUG -I/Downloads/h323p/ptlib_v1_12_0/include -DPTRACING -I/Downloads/h323p/h323plus/include -Os -pipe -felide-constructors -Wreorder -c ast_h323.cxx -o ast_h323.o ast_h323.cxx: In destructor `virtual MyProcess::~MyProcess()': ast_h323.cxx:194: error: `timerChangePipe' was not declared in this scope make[2]: *** [ast_h323.o] Error 1 make[1]: *** [h323/libchanh323.a] Error 2 make: *** [channels] Error 2
I went through the PWLib 1.12.0, and there is no occurrence of "timerChangePipe". In previous versions of PWLib "timerChangePipe" was used in quite a few places in the code.
I googled it, but I still don't know what it does.
If I comment it out in the destructor MyProcess::~MyProcess() it compiles, but the channel driver segfaults as soon as it is loaded...
-- Best regards, Vlasis Hatzistavrou.