- Apr 18, 2024
-
-
Crash due to a race condition between this ref correction https://dev.iopsys.eu/voice/asterisk/-/blob/devel/channels/chan_pjsip.c#L2088-2095 and the unref under chan_voicemngr_attended_call_transfer https://dev.iopsys.eu/voice/asterisk-chan-voicemngr/-/blob/devel/src/channels/chan_voicemngr.c?ref_type=heads#L5646-5651. When the correction happened and finished before the unref during the transfer, which leading the result of ref=1 after the unref, then the crash happened during hangup the channel, add an extra correction for ref<2 could resolve this issue.
-
Asterisk can crash if two FXS ports on the same device act as transferor and transfer target when asterisk.tel_options.hold_target_before_refer='yes', which is the default config. The issues happens after a couple of calls. The solution is to revert d38e42d8 about reference count decreasing. Some validation check is also added to chan_pjsip_hangup(). TODO: After this commit, there will be issues if asterisk.tel_options.hold_target_before_refer='no'. - Remaining pjsip channels after a couple of attended transfers in the above scenario - Transferor might not be able to call transfer target because the maximum sessions per line exceed the specified number These issues will be solved in a new commit.
-
- Nov 09, 2023
-
-
Andreas Gnau authored
This reverts commit 3c8116c8. It has been a merge that has been acidentally squashed into one commit with the consequence that all history has been lost. The next commit will be a proper merge commit rectifying this.
-
- Oct 03, 2023
-
-
Our commits to the previous version have been rebased.
-
- Sep 08, 2023
-
-
Yalu Zhang authored
This fixes a segment fault caused by ast_channel_name(NULL) for internal CBBS.
-
- Aug 22, 2023
-
-
- May 08, 2023
-
-
Naveen Albert authored
Currently, both pulse and tone dialing are always enabled on all FXS lines, with no way of disabling one or the other. In some circumstances, it is desirable or necessary to disable one of these, and this behavior can be problematic. A new "dialmode" option is added which allows setting the methods to support on a per channel basis for FXS (FXO signalled lines). The four options are "both", "pulse", "dtmf"/"tone", and "none". Additionally, integration with the CHANNEL function is added so that this setting can be updated for a channel during a call. Resolves: #35 ASTERISK-29992 UserNote: A "dialmode" option has been added which allows specifying, on a per-channel basis, what methods of subscriber dialing (pulse and/or tone) are permitted. Additionally, this can be changed on a channel at any point during a call using the CHANNEL function. (cherry picked from commit 82d7bb49ddc15cff5ea2e50f5ee6934102fe13d1)
-
- Apr 18, 2023
-
-
Add the emergency headers if a new session is an emergency call. An emergency flag was set by chan_voicemngr.
-
- Mar 30, 2023
-
-
Grzegorz Sluja authored
-
- Feb 28, 2023
-
-
Naveen Albert authored
ASTERISK_29392 (a security fix) introduced a regression by not processing frames when we don't have an audio format. Currently, chan_iax2 only calls jb_get to read frames from the jitterbuffer when the voiceformat has been set on the pvt. However, this only happens when we receive a voice frame, which means that prior to receiving voice frames, other types of frames get stalled completely in the jitterbuffer. To fix this, we now fallback to using the format negotiated during call setup until we've actually received a voice frame with a format. This ensures we're always able to read from the jitterbuffer. ASTERISK-30354 #close ASTERISK-30162 #close Change-Id: Ie4fd1e8e088a145ad89e0427c2100a530e964fe9
-
- Feb 17, 2023
-
-
A separate package asterisk-chan-voicemngr has been added to replace chan_brcm.
-
- Feb 08, 2023
-
-
Yalu Zhang authored
-
- Feb 02, 2023
-
-
Wenpeng Song authored
cherry picked from commit 32337872
-
- Jan 27, 2023
-
-
Yalu Zhang authored
- EARLY_OFFHOOK - EARLY_ONHOOK - MEDIA
-
- Jan 23, 2023
-
-
Wenpeng Song authored
-
Wenpeng Song authored
-
- Jan 13, 2023
-
-
The commit c6a0ad61 changes sub->parent->context during an outgoing call that causes future outgoing calls fail.
-
- Jan 12, 2023
-
-
In function brcm_start_calling(), the type of sub->parent is struct brcm_pvt*. But it was wrongly casted to struct ast_channel* so the contents of sub->parent were messed up.
-
- Jan 10, 2023
-
-
Igor Goncharovsky authored
Add ability to set HANGUPCAUSE when SIP causecode received in BYE (in addition to currently supported Q.850). ASTERISK-30319 #close Change-Id: I3f55622dc680ce713a2ffb5a458ef5dd39fcf645
-
- Jan 09, 2023
-
-
George Joseph authored
----------------- This commit reinstates MES with some casting fixes to the functions in time.h that convert between doubles and timeval structures. The casting issues were causing incorrect timestamps to be calculated which caused transcoding from/to G722 to produce bad or no audio. ASTERISK-30391 ----------------- This module has been updated to provide additional quality statistics in the form of an Asterisk Media Experience Score. The score is avilable using the same mechanisms you'd use to retrieve jitter, loss, and rtt statistics. For more information about the score and how to retrieve it, see https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score * Updated chan_pjsip to set quality channel variables when a call ends. * Updated channels/pjsip/dialplan_functions.c to add the ability to retrieve the MES along with the existing rtcp stats when using the CHANNEL dialplan function. * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed checks for debugging purposes. * Added several function to time.h for manipulating time-in-samples and times represented as double seconds. * Updated rtp_engine.c to pass through the MES when stats are requested. Also debug output that dumps the stats when an rtp instance is destroyed. * Updated res_rtp_asterisk.c to implement the calculation of the MES. In the process, also had to update the calculation of jitter. Many debugging statements were also changed to be more informative. * Added a unit test for internal testing. The test should not be run during normal operation and is disabled by default. Change-Id: I4fce265965e68c3fdfeca55e614371ee69c65038
-
George Joseph authored
This reverts commit d454801c. Reason for revert: Issue when transcoding to/from g722 Change-Id: I09f49e171b1661548657a9ba7a978c29d0b5be86
-
- Jan 03, 2023
-
-
George Joseph authored
This module has been updated to provide additional quality statistics in the form of an Asterisk Media Experience Score. The score is avilable using the same mechanisms you'd use to retrieve jitter, loss, and rtt statistics. For more information about the score and how to retrieve it, see https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score * Updated chan_pjsip to set quality channel variables when a call ends. * Updated channels/pjsip/dialplan_functions.c to add the ability to retrieve the MES along with the existing rtcp stats when using the CHANNEL dialplan function. * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed checks for debugging purposes. * Added several function to time.h for manipulating time-in-samples and times represented as double seconds. * Updated rtp_engine.c to pass through the MES when stats are requested. Also debug output that dumps the stats when an rtp instance is destroyed. * Updated res_rtp_asterisk.c to implement the calculation of the MES. In the process, also had to update the calculation of jitter. Many debugging statements were also changed to be more informative. * Added a unit test for internal testing. The test should not be run during normal operation and is disabled by default. ASTERISK-30280 Change-Id: I458cb9a311e8e5dc1db769b8babbcf2e093f107a
-
- Dec 15, 2022
-
-
Before this commit, a normal dial tone is played if mwi_dialtone_state in "pjsip show endpoint" is not "off", "congestion" or "special". After this commit, in the above condition, a stutter dial tone is played if mwi_enable is 1, otherwise a normal dial tone is played.
-
- Dec 13, 2022
-
-
- Include the header in requests and responses as per the RFC - Play early media if the configuration allows
-
- Dec 12, 2022
-
-
An incoming SIP request will be silently dropped if the following conditions are all met: - The request is about to create a new session - The source IP address of the request is not the address of the configured proxy Note - The source port of the request is not checked since we have not found the good way to retrieve the port that is used for transmission - If the configured proxy is a domain name other than IP address, the resolved IP address might be different from the one which is being used in existing sessions
-
- Dec 08, 2022
-
-
Naveen Albert authored
ASTERISK_28702 previously attempted to fix an issue with flash hook hold timing out after just under 17 minutes, when it should have never been timing out. It fixed this by changing 999999 to INT_MAX, but it did so in chan_dahdi, which is the wrong place since ss_thread is now in sig_analog and the one in chan_dahdi is mostly dead code. This fixes this by porting the fix to sig_analog. ASTERISK-30336 #close Change-Id: I05eb69cc0b5319d357842a70bd26ef64d145cb15
-
- Nov 29, 2022
-
-
Naveen Albert authored
Currently, chan_dahdi will wait for at least one ring before an incoming call can enter the dialplan. This is generally necessary in order to receive the Caller ID spill and/or distinctive ringing detection. However, if neither of these is required, then there is nothing gained by waiting for one ring and this unnecessarily delays call setup. Users can now use immediate=yes to make FXO channels (FXS signaled) begin processing dialplan as soon as Asterisk receives the call. ASTERISK-30305 #close Change-Id: I20818b370b2e4892c7f40c8a8753fa06a81750b5
-
- Nov 25, 2022
-
-
In brcm_request() there were posibilities that we called ast_channel_name(tmp) if tmp is NULL, it leads to crash. Also fixed other deadlock possibilities where mutex would not be unlocked in some cases.
-
- Nov 17, 2022
-
-
Grzegorz Sluja authored
- R0. If more than one account is registered, and there has another incoming call(ringing) to other accounts, it will be rejected as well when the ongoing one doing R0. (A, B registered on DUT; A<=>C(ongoing call); D=>B(ringing); E=>A(ringing,cw); A press R0 then both D and E be rejected) - 3-way conference back to 2-way call, then performing R1 will lead to a crash
-
- Nov 11, 2022
-
-
Grzegorz Sluja authored
-
- Nov 09, 2022
-
-
Grzegorz Sluja authored
"uk" - the default config which support flash-hook (R) only triggering call waiting and 3-way conference. R4 and R5 are for attended and unattended call transfer respectively with a timer. "etsi" - Using R0, R1, R2, to trigger different ways of handling call waiting. R3 for 3-way conference. R4 and R5 are for attended and unattended call transfer respectively without a timer.
-
- Nov 02, 2022
-
-
George Joseph authored
unicast_rtp_request() was setting the channel variables like this: pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_ADDRESS", ast_sockaddr_stringify_addr(&local_address)); ast_rtp_instance_get_local_address(instance, &local_address); pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_PORT", ast_sockaddr_stringify_port(&local_address)); ...which made it appear that UNICASTRTP_LOCAL_ADDRESS was being set before local_address was set. In fact, the address part of local_address was set earlier in the function, just not the port. This was confusing however so ast_rtp_instance_get_local_address() is now being called before setting UNICASTRTP_LOCAL_ADDRESS. ASTERISK-30281 Change-Id: I872ac49477100f4eb33891d46efc6ca21ec81aa4
-
- Oct 26, 2022
-
-
Naveen Albert authored
This fixes dahdi_request to properly set the cause code to CONGESTION instead of BUSY if no channels were actually available. Currently, the cause is erroneously set to busy if the channel itself is found, regardless of its current state. However, if the channel is not available (e.g. T1 down, card not operable, etc.), then the channel itself may not be in a functional state, in which case CHANUNAVAIL is the correct cause to use. This adds a simple check to ensure that busy tone is only returned if a channel is encountered that has an owner, since that is the only possible way that a channel could actually be busy. ASTERISK-30274 #close Change-Id: Iad5870223c081240c925b19df8d6af136953b994
-
- Oct 25, 2022
-
-
Grzegorz Sluja authored
-
- Oct 21, 2022
-
-
Grzegorz Sluja authored
-
- Oct 14, 2022
-
-
Grzegorz Sluja authored
- The issue about TELCHAN stuck after call hold/unhold - Asterisk crashes when call transfer is provided in an invalid scenario: Transferor calls to Transferee, then Transferor calls to Transfer Target, i.e. trying to let the caller do the transfer.
-
Grzegorz Sluja authored
-
- Oct 10, 2022
-
-
Naveen Albert authored
Fixes a format truncation warning in notify_message. ASTERISK-30256 #close Change-Id: I983a423c0214641ca4f8c9dfe0b19c47448fdee1
-
- Oct 04, 2022
-
-
Grzegorz Sluja authored
The service is triggered by R5, i.e. flash hook + 5.
-
- Sep 15, 2022
-
-
Grzegorz Sluja authored
Sequence numbers received in RTP packet need to be forwarded to brcm endpoint since based on this parameter some of RTP statistics are calculated. It was wrong to use the locally generated sequence numbers.
-