You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description:
When libpri retransmits a SETUP message, UUI Information Element (IE) that was present in first SETUP is missing in second SETUP.
Operating System detail:
(problem not related to OS)
libpri version:
1.6.0 (should also occur with 1.6.1: involved code unchanged)
Information on any third party software:
Asterisk 18.6.0, dahdi 3.1.0
Frequency and timing of the issue:
Always, when SETUP is repeated after T303 timeout.
Symptoms described in specific detail:
Called party receives second SETUP without UUI, although Asterisk provided a UUI value.
The defect is visible in Asterisk with CLI command "pri set debug on span ".
Steps required to reproduce the issue:
This Issue requires, when using libpri with Asterisk :
UUI support in Asterisk: compile channels/sig_pri.c with #define SUPPORT_USERUSER
UUI activation from Asterisk dialplan: set _USERUSERINFO Channel variable before Dial(),
a SETUP retransmission: it can be reproduced with a slow called equipment, or a very short T303 timer configuration.
Workarounds in detail with specific steps:
No workaround.
Debugging output:
Enable "pri set debug on span " before making the call.
First SETUP carries UUI.
Repeated SETUP, after T303 timeout, does not.
Analysis:
The problem comes from libpri q931.c use of useruserinformation field in q931_call structure as a ephemeral storage field.
In outgoing direction, useruserinformation field is cleared as soon as UUI IE is generated (function transmit_user_user()).
Note: in incoming direction, useruserinformation field is also set while decoding IE, and cleared when libpri generates event for application.
I will try to submit a patch soon.
The text was updated successfully, but these errors were encountered:
flefollcs
added a commit
to flefollcs/libpri
that referenced
this issue
Oct 2, 2023
When retransmitting a message, libpri currently does not include
User-user Information IE, because storage field was cleared at first
transmission.
This fix introduces a retransmission cache for information lost after
first transmission. It applies to potentially retransmitted messages:
SETUP and RELEASE.
Resolves: asterisk#7
Issue type:
Bug
Description:
When libpri retransmits a SETUP message, UUI Information Element (IE) that was present in first SETUP is missing in second SETUP.
Operating System detail:
(problem not related to OS)
libpri version:
1.6.0 (should also occur with 1.6.1: involved code unchanged)
Information on any third party software:
Asterisk 18.6.0, dahdi 3.1.0
Frequency and timing of the issue:
Always, when SETUP is repeated after T303 timeout.
Symptoms described in specific detail:
Called party receives second SETUP without UUI, although Asterisk provided a UUI value.
The defect is visible in Asterisk with CLI command "pri set debug on span ".
Steps required to reproduce the issue:
This Issue requires, when using libpri with Asterisk :
Workarounds in detail with specific steps:
No workaround.
Debugging output:
Enable "pri set debug on span " before making the call.
First SETUP carries UUI.
Repeated SETUP, after T303 timeout, does not.
Analysis:
The problem comes from libpri q931.c use of useruserinformation field in q931_call structure as a ephemeral storage field.
In outgoing direction, useruserinformation field is cleared as soon as UUI IE is generated (function transmit_user_user()).
Note: in incoming direction, useruserinformation field is also set while decoding IE, and cleared when libpri generates event for application.
I will try to submit a patch soon.
The text was updated successfully, but these errors were encountered: