[asterisk-bugs] [JIRA] (ASTERISK-30267) ooh323 plugin is out of date with Asterisk

Benoît BERTHONNEAU (JIRA) noreply at issues.asterisk.org
Tue Oct 18 09:13:09 CDT 2022


     [ https://issues.asterisk.org/jira/browse/ASTERISK-30267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benoît BERTHONNEAU updated ASTERISK-30267:
------------------------------------------

    Description: 
*+Synopsis+*:
SIP Client <-> Asterisk/ooh323 <-> GnuGk <-> H323 Client (ITU version > 2005).
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


  was:
*+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



> ooh323 plugin is out of date with Asterisk
> ------------------------------------------
>
>                 Key: ASTERISK-30267
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30267
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Addons/chan_ooh323
>    Affects Versions: 16.15.0
>         Environment: SIP Client <-> Asterisk/ooh323 <-> GnuGk <-> H323 Client (ITU version > 2005).
> Remark : H323 client configuration is not modifiable for "transportCapability" parameters; this client is based on a previous H323 ITU standard of 2005
>            Reporter: Benoît BERTHONNEAU
>            Severity: Major
>         Attachments: wireshark-capture.jpg
>
>
> *+Synopsis+*:
> SIP Client <-> Asterisk/ooh323 <-> GnuGk <-> H323 Client (ITU version > 2005).
> 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



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list