Summary:ASTERISK-08109: [patch] progress_setup and progress_alarm are not properly propagated for outgoing H.323 calls.
Reporter:Guillaume Knispel (gknispel_proformatique)Labels:
Date Opened:2006-11-10 12:39:00.000-0600Date Closed:2007-01-29 09:17:46.000-0600
Versions:Frequency of
Environment:Attachments:( 0) h323_initialize_attributes_propagate_outgoing_setup_alert.1.2.13.diff
( 1) outgoing_propagate_h323_progress_setup_alert.1.2.13.diff
Description:MyH323Connection::progressSetup and MyH323Connection::progressAlarm are not initialised in MyH323Connection constructor in ast_h323.{cxx,cpp} and at least progressSetup is used before being properly initialised (this has been detected using Valgrind), in MyH323Connection::OnSendSignalSetup() :

if (progressSetup) {

The attached patch should fix the problem, but I can't guarantee that other attributes are not used before initialisation.
Branch 1.4 seems to not be affected.
Comments:By: Paul Cadach (pcadach) 2006-11-11 06:33:35.000-0600

1.2.x tree have very outdated/unsupported version of chan_h323. When possible better to switch to 1.4 or newer version of Asterisk (SVN HEAD should be best).

I think there is no reason to backport huge H.323-related changes made for 1.4 to 1.2 because new "stable" minor release availablility which is more powerful than 1.2.

By: Guillaume Knispel (gknispel_proformatique) 2006-11-11 07:50:30.000-0600

Well, 1.4 is not yet officially released so maybe if one day one more minor version of Asterisk 1.2 is released it could be good to have chan_h323 showing a little more reproductive behavior.

I mean without proper initialisation of progressSetup, SetProgressIndicator() will be called with some "random" values, and sometimes will not be called at all. This could cause various headaches to anybody looking at signaling packets emitted by Asterisk.

That being said I don't exaclty know what is the policy regarding old versions of Asterisk. If only security patch are to be accepted in 1.2, then this one should of course not be.

By: Guillaume Knispel (gknispel_proformatique) 2006-11-11 08:02:17.000-0600

I just took a look at the 1.4 branch and realized that my patch is not good anyway.

By: Guillaume Knispel (gknispel_proformatique) 2006-11-12 10:30:03.000-0600

For information and if ever needed by anybody for the 1.2 branch, I attached a new  patch named h323_initialize_attributes_propagate_outgoing_setup_alert.1.2.13.diff

The forwarding of progress_setup and progress_alert is done correctly, contrary to the previous one, and it's done in a similar fashion than it is the current SVN HEAD, but the patch is very small and no other aspect of the current chan_h323 from SVN HEAD are backported. Other attributes of MyH323Connection are initialised in its constructor.

I also propagate dtmfCodec in MyH323Connection::SetCallOptions() in this patch but ast_cid_num and ast_cid_name are still copied in MyH323EndPoint::MakeCall() because the differences between 1.2 and 1.4 are to extended about these variables and related stuffs for me to be able to see if I could put them in MyH323Connection::SetCallOptions() without any side effect in a reasonable amount of time.

By: Serge Vecher (serge-v) 2006-11-17 08:20:00.000-0600

gknispel_proformatique: just for the record -- does the issue you are experiencing also exist in the 1.4 branch? As PCadach mentioned, there was major rework of chan_h323 done for 1.4 and since that branch is in the final stages of the beta process, the current push is to focus the most amount of developers time on 1.4 issues, at least for chan_h323.

By: Guillaume Knispel (gknispel_proformatique) 2006-11-23 07:20:26.000-0600

serge-v - manager : the issue doesn't not exists in the 1.4 branch.

By: Serge Vecher (serge-v) 2006-11-29 09:37:56.000-0600

gknispel_proformatique: thank you for confirming!

I'd say let's leave this bug open until the end of 1.4 beta process in case anybody is still using the 1.2 with chan_h323 and needs this patch. Once the 1.4.0 is released, we can fully recommend the production use of 1.4.0 with chan_h323

By: Serge Vecher (serge-v) 2007-01-29 09:17:45.000-0600

well, 1.4.0 has been released and nobody else seems to be interested in testing the patch for 1.2. If somebody needs this and is willing to do thorough testing, please ask the bug marshall on #asterisk-bugs irc channel to reopen the issue for you and provide testing results.