[Home]

Summary:ASTERISK-30267: ooh323 plugin is out of date with Asterisk
Reporter:Benoît BERTHONNEAU (BBe78)Labels:
Date Opened:2022-10-18 09:07:03Date Closed:
Priority:MajorRegression?No
Status:Open/NewComponents:Addons/chan_ooh323
Versions:16.15.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:( 0) MULTIMEDIA-SYSTEM-CONTROL.h
( 1) MULTIMEDIA-SYSTEM-CONTROLDec.c
( 2) wireshark-capture.jpg
Description:*+Synopsis+*:
{code}
SIP Client <-> Asterisk/ooh323 <-> GnuGk <-> H323 Client (ITU version > 2005).
{code}
Remark : H323 client configuration is not modifiable for "transportCapability" parameters; this client is based on a previous H323 ITU standard of 2005

*+Steps+* :
- H.323 client send the following H323 message to Gnugk, then ooh323 :
{code}
447        2022-08-31 17:19:09,669122       172.26.182.91    172.26.182.112                  H.225.0/H.245   128         CS: empty masterSlaveDeterminationAck openLogicalChannel (g711A)”
{code}
Message content:
!wireshark-capture.jpg!
- {{ooh323}} tries to decode the received message content, and the 2nd item (Item #1 from previous capture) raises an error as indicated in h323_log logs
{code}
19:19:09:820  Retrieving 2 of 2 tunneled H.245 messages.(outgoing, ooh323c_o_1)
19:19:09:820  Tunneled H.245 Message = {
19:19:09:820  Decoding 2 tunneled H245 message. (outgoing, ooh323c_o_1)
19:19:09:820     request = {
19:19:09:821        openLogicalChannel = {
19:19:09:822           forwardLogicalChannelNumber = {
19:19:09:826              101
19:19:09:828           }
19:19:09:828           forwardLogicalChannelParameters = {
19:19:09:829              dataType = {
19:19:09:830                 audioData = {
19:19:09:832                    g711Alaw64k = {
19:19:09:833                       20
19:19:09:835                    }
19:19:09:837                 }
19:19:09:838              }
19:19:09:840              multiplexParameters = {
19:19:09:842                 h2250LogicalChannelParameters = {
19:19:09:843                    sessionID = {
19:19:09:845                       1
19:19:09:848                    }
19:19:09:851                    mediaGuaranteedDelivery = {
19:19:09:864                       FALSE
19:19:09:866                    }
19:19:09:872                    mediaControlChannel = {
19:19:09:875                       unicastAddress = {
19:19:09:877                          iPAddress = {
19:19:09:881                             network = {
19:19:09:887                                'ac1ab65b'H
19:19:09:891                             }
19:19:09:895                             tsapIdentifier = {
19:19:09:898                                5025
19:19:09:903                             }
19:19:09:906                          }
19:19:09:909                       }
19:19:09:913                    }
19:19:09:914                    silenceSuppression = {
19:19:09:919                       TRUE
19:19:09:921                    }
19:19:09:924                    transportCapability = {
19:19:09:927                       qOSCapabilities = {
19:19:09:929                          elem[0] = {
19:19:09:933  Asn1Error: -2 at ooh323c/src/decode.c:67
19:19:09:933  Asn1Error: -2 at ooh323c/src/decode.c:621
19:19:09:933  Asn1Error: -2 at ooh323c/src/decode.c:1022
19:19:09:933  Asn1Error: -2 at ooh323c/src/decode.c:540
19:19:09:933  Error decoding H245 message (outgoing, ooh323c_o_1)
….
{code}

*+Results+*:
The {{ooh323}} add-on could not decode the QoS parameters « LocalQoS » and « dscpValue » received from the H323 client (cf. Asn.1 decoding errors).
The SIP part of Asterix is still usable but the h323 add-on is not more responsive as soon as the first « OpenLogicalChannel » with QoS « LocalQoS » et « dscpValue » parameters is received.

*+Analysis+*:
The {{ooh323}} add-on is based on a Asn.1 structure that does not include these 2 QoS parameters (cf file MULTIMEDIA-SYSTEM-CONTROL.h )

*+Correction proposition+*:
- still decode messages from H323 clients in accordance with ITU standard until 2005
- do not try to decode QoS unknown parameters for H323 clients with ITU standard post 2005
Comments:By: Asterisk Team (asteriskteam) 2022-10-18 09:07:06.807-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. Please note that log messages and other files should not be sent to the Sangoma Asterisk Team unless explicitly asked for. All files should be placed on this issue in a sanitized fashion as needed.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

Please note that by submitting data, code, or documentation to Sangoma through JIRA, you accept the Terms of Use present at [https://www.asterisk.org/terms-of-use/|https://www.asterisk.org/terms-of-use/].

By: Benoît BERTHONNEAU (BBe78) 2022-10-18 09:09:34.147-0500

WireShark network capture

By: Joshua C. Colp (jcolp) 2022-10-18 09:10:13.052-0500

The module you're having difficulty with is in 'extended' support status and is supported only by community members.  Your issue is in the queue. Your patience is appreciated as a community developer may work the issue when time and resources become available.

Asterisk is an open source project and community members work the issues on a voluntary basis. You are welcome to develop your own patches and submit them to the project.[1]

If you are not a programmer and you are in a hurry to see a patch provided then you might try rallying support on the Asterisk users mailing list or forums.[2] Another alternative is offering a bug bounty on the asterisk-dev mailing list.[3] Often a little incentive can go a long way.

[1]: https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process
[2]: http://www.asterisk.org/community/discuss
[3]: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Bug+Bounties



By: Joshua C. Colp (jcolp) 2022-10-18 09:14:39.933-0500

I set this to minor because of the impact to the project. The chan_ooh323 module isn't enabled by default and is used by few to no people. I'll keep this major since you set it back, but that is unlikely to have any impact on things if you're expecting this to be resolved.

By: Benoît BERTHONNEAU (BBe78) 2022-10-18 09:33:01.889-0500

Fix proposition on source code

By: Joshua C. Colp (jcolp) 2022-10-18 09:34:59.853-0500

Changes can not be attached without a signed license agreement.

By: Benoît BERTHONNEAU (BBe78) 2022-11-29 02:36:32.654-0600

Hi all,
I've signed the licence agreement but did not receive the confirmation mail...
Could you please confirm that the licence is signed and that a patch of the source code could be attached ?

By: Joshua C. Colp (jcolp) 2022-11-29 03:41:59.699-0600

It's still pending, I've sent an email to legal.

By: Benoît BERTHONNEAU (BBe78) 2023-01-09 02:57:40.396-0600

Hi ! I've signed the licence agreement (again), waiting for the validation email...