- Mar 06, 2022
-
-
-
-
-
When we originate a call from an extension to another we get a NULL pointer issue when going on hook. Enable CONFIG_PACKAGE_asterisk-res-clioriginate and then use the command below: asterisk -rx 'channel originate local/#123457@local_extensions extension 0000@local_extensions' After going on hook on the FXS port, which is mapped to extension 0000, there will be a segmentation fault because the other channel doesn't implement the getRtpStats() function pointer.
-
-
-
-
There was a possibility that during attended call transfer, deadlock happened in locking bridge_channel and channel. bridge_channel_queue_deferred_frames() was waiting for brcm_indicate() to unlock the channel, while brcm_indicate() which called ast_bridge_channel_queue_frame() was waiting for bridge_channel_queue_deferred_frames() to unlock the bridge. Creating new macro to lock both channel and bridge_channel at the same time and sched_yield() -> retry if failed and use it in bridge_channel_queue_deferred_frames() avoiding the deadlock.
-
-
This commit includes 3 fixes: - change place of get/set rtp statistics to have them properly updated in cdr for both incoming and outgoing call - do not create additional "hangup" call log record - save rtp stats counters from endptmngr into brcm_subchannel instead of one global structure to support concurrent calls simultaneously Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
There is an issue with copying RTP statistics from snapshot to cdr hence call log does not contains RTP stats for incoming calls - for outgoing call it works fine. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
Since we modified asterisk default implementation of attended call transfer there was an issue with channels stuck (not destroyed) afterwards, It was caused due to Ref count for channels used in call transfer was greater than 2. Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
(cherry picked from commit 629000dc on branch iopsys-16.3)
-
Some long verbose or debug log messages like contents of INVITE are truncated in syslog, /var/log/asterisk/messages and console. (cherry picked from commit 4764ca4a on branch iopsys-16.3)
-
Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
-
- Jun 15, 2021
-
-
Naveen Albert authored
Previously, SayNumber always emitted a warning if the caller hung up during execution. Usually this isn't correct, so check if the channel hung up and, if so, don't emit a warning. ASTERISK-29475 Change-Id: Ieea4a67301c6ea83bbc7690c1d4808d79a704594
-
- May 25, 2021
-
-
Joshua C. Colp authored
Change-Id: I48c1933dd79b50ddc0a6793acec4754b4e95c575
-
- May 19, 2021
-
-
Naveen Albert authored
Although Asterisk can receive and propogate flash events, it currently provides no mechanism for doing anything with them itself. This AMI event allows flash events to be processed by Asterisk. Additionally, AST_CONTROL_FLASH is included in a switch statement in channel.c to avoid throwing a warning when we shouldn't. ASTERISK-29380 Change-Id: Ie17ffe65086e0282c88542e38eed6a461ec79e81
-
- May 13, 2021
-
-
Naveen Albert authored
AST_CONTROL_FLASH isn't accounted for in a switch statement in file.c where it should be ignored. Adding this to the switch ensures a warning isn't thrown on RFC2833 flash events, since nothing's amiss. ASTERISK-29372 Change-Id: I4fa549bfb7ba1894a4044de999ea124877422fbc
-
- May 11, 2021
-
-
Ben Ford authored
STIR/SHAKEN encodes using base64 URL format. Currently, we just use base64. New functions have been added that convert to and from base64 encoding. The origid field should also be an UUID. This means there's no reason to have it as an option in stir_shaken.conf, as we can simply generate one when creating the Identity header. https://wiki.asterisk.org/wiki/display/AST/OpenSIPit+2021 Change-Id: Icf094a2a54e87db91d6b12244c9f5ba4fc2e0b8c
-
- May 04, 2021
-
-
George Joseph authored
Enhancements: * The MessageSend dialplan application now takes an optional third argument that can set the message's "To" field on outgoing messages. It's an alternative to using the MESSAGE(to) dialplan function. NOTE: No channel driver currently implements this field. A follow-on commit for res_pjsip_messaging will implement it for the chan_pjsip channel driver. * To prevent confusion with the first argument, currently named "to", it's been renamed to "destination". Its function, creating the request URI, hasn't changed. * The documentation for MessageSend was updated to be more clear about the parameters and how they interact the MESSAGE() dialplan function. * With the rename of MessageSend's first parameter, and the fact that message.c references <info> elements in chan_sip.c, res_pjsip_messaging.c and res_xmpp, they each needed documentation updates to use MessageDestinationInfo instead of MessageToInfo. * appdocsxml.dtd was updated to include a missing element declaration for "dataType". This was showing up as an error in Eclipse's dtd editor. * Despite the changes in this commit, there should be no impact to current users of MessageSend. Change-Id: I6fb5b569657a02866a66ea352fd53d30d8ac965a
-
- Apr 30, 2021
-
-
Sean Bright authored
Change-Id: Idbd61ff77545f4a78b06a5064b55112e774b70e6
-
Joshua C. Colp authored
When a stream topology is provided to chan_local when dialing it filters the audio formats down. This operation did not skip streams which were removed (that have no formats) resulting in calling being aborted. This change causes such streams to be skipped. ASTERISK-29407 Change-Id: I1de8b98727cb2d10f4bc287da0b5fdcb381addd6
-
- Apr 28, 2021
-
-
Jean Aunis authored
Up/down sampling changes the number of samples produced by a translation. This must be taken into account when checking the codec's buffer size. ASTERISK-29328 Change-Id: I9aebe2f8788e00321a7f5c47aa97c617f39e9055
-
- Apr 05, 2021
-
-
George Joseph authored
There is a possibility, when bridge_channel_write_frame() is called, that the bridge_channel->chan will be NULL. The first thing bridge_channel_write_frame() does though is call ast_channel_is_multistream() which had no check for a NULL channel and therefore caused a segfault. Since it's still possible for bridge_channel_write_frame() to write the frame to the other channels in the bridge, we don't want to bail before we call ast_channel_is_multistream() but we can just skip the multi-channel stuff. So... bridge_channel_write_frame() only calls ast_channel_is_multistream() if bridge_channel->chan is not NULL. As a safety measure, ast_channel_is_multistream() now returns false if the supplied channel is NULL. ASTERISK-29379 Reported-by: Vyrva Igor Reported-by: Ross Beer Change-Id: Idfe62dbea8c69813ecfd58e113a6620dc42352ce
-
- Apr 02, 2021
-
-
Sean Bright authored
Only use an XPath query once per module, then just navigate the DOM for everything else. Change-Id: Ia0336a7185f9180ccba4b6f631a00f9a22a36e92
-
- Apr 01, 2021
-
-
Joshua C. Colp authored
Using the information from the MODULEINFO XML we can now output useful information at the end of module loading for deprecated modules. This includes the version it was deprecated in, the version it will be removed in, and the replacement if available. ASTERISK-29339 Change-Id: I2080dab97d2186be94c421b41dabf6d79a11611a
-
- Mar 31, 2021
-
-
Kevin Harwell authored
Added a TIME_UNIT enumeration, and a function that converts a string to one of the enumerated values. Also, added functions that create and initialize a timeval object using a specified value, and unit type. Change-Id: Ic31a1c3262a44f77a5ef78bfc85dcf69a8d47392
-
- Mar 22, 2021
-
-
Mark Murawski authored
The 'core' console (ie: asterisk -c) does read logger.conf and does use the dateformat= option. Whereas 'remote' consoles (ie: asterisk -r -T) does not read logger.conf and uses a hard coded dateformat option for printing received verbose messages: main/logger.c: static char dateformat[256] = "%b %e %T" This change will load logger.conf for each remote console session and use the dateformat= option to set the per-line timestamp for verbose messages Change-Id: I3ea10990dbd920e9f7ce8ff771bc65aa7f4ea8c1 ASTERISK-25358: #close Reported-by: Igor Liferenko
-
Joshua C. Colp authored
When using the ast_unreal_lock_all function no channel locks can be held before calling it. This change unlocks the channel that indicate was called on before doing so and then relocks it afterwards. ASTERISK-29035 Change-Id: Id65016201b5f9c9519a216e250f9101c629e19e9
-
- Mar 10, 2021
-
-
Joshua C. Colp authored
There exists an inconsistency with framehook usage such that it is only on reads that the frame should be freed, not on writes as well. ASTERISK-29071 Change-Id: I5ef918ebe4debac8a469e8d43bf9d6b673e8e472
-
- Mar 05, 2021
-
-
Joshua C. Colp authored
Some sorcery objects actually contain dynamic content that can change despite the underlying configuration itself not changing. A good example of this is the res_pjsip_endpoint_identifier_ip module which allows specifying hostnames. While the configuration may not change between reloads the DNS information of the hostnames can. This change adds the ability for a sorcery object to be marked as having dynamic contents which is then taken into account when reloading by the sorcery file based config module. If there is an object with dynamic content then a reload will be forced while if there are none then the existing behavior of not reloading occurs. ASTERISK-29321 Change-Id: I9342dc55be46cc00204533c266a68d972760a0b1
-
- Mar 04, 2021
-
-
Joshua C. Colp authored
ASTERISK-29326 Change-Id: Ia95dbfb66e2d11ac4d1228444283bb2e4d77396a
-
- Mar 03, 2021
-
-
Joshua C. Colp authored
A frame suppression API exists as part of channels which allows audio frames to or from a channel to be dropped. The MuteAudio AMI action uses this API to perform its job. This API uses a framehook to intercept flowing audio and drop it when appropriate. It is the responsibility of the framehook to free the frame it is given if it changes the frame. The suppression API failed to do this resulting in a leak of audio frames. This change adds the freeing of these frames. ASTERISK-29071 Change-Id: Ie50acd454d672d36af914050c327d2e120d8ba7b
-
- Mar 02, 2021
-
-
Nico Kooijman authored
Implemented the english way of saying the year in ast_say_date_with_format_nl. Currently the numbers are spoken correctly until 2020 and stopped working this year. ASTERISK-29297 #close Reported-by: Jacek Konieczny Change-Id: If5918eed5ab05df31df4dd23f08a909a60f6aba4
-
- Feb 23, 2021
-
-
Alexander Traud authored
Instead of looking for pass-through formats in the list of transcodable formats (which is going to find nothing), go through the result which is going to be the jointcaps of the tech_pvt of the channel. Finally, only with that list, ast_format_cap_remove(.) is going to succeed. This restores the behaviour of Asterisk 1.8. However, it does not fix ASTERISK_29282 because that issue report is about chan_sip and PJSIP. Here, only chan_sip is fixed because PJSIP does not even call ast_rtp_instance_available_formats -> ast_translate_available_format. Change-Id: Icade2366ac2b82935b95a9981678c987da2e8c34
-
Sebastien Duthil authored
ASTERISK-29244 Change-Id: I1862d58264c2c8b5d8983272cb29734b184d67c5
-
- Feb 17, 2021
-
-
Ben Ford authored
After some changes to streams and topologies, receiving fax through local channels stopped working. This change adds a stream topology with a stream of type IMAGE to the local channel pair and allows fax to be received. ASTERISK-29035 #close Change-Id: Id103cc5c9295295d8e68d5628e76220f8f17e9fb
-
- Jan 27, 2021
-
-
Dan Cropp authored
When a Transfer/REFER is executed, TRANSFERSTATUSPROTOCOL variable is 0 when no protocl specific error SIP example of failure, 3xx-6xx for the SIP error code received This allows applications to perform actions based on the failure reason. ASTERISK-29252 #close Reported-by: Dan Cropp Change-Id: Ia6a94784b4925628af122409cdd733c9f29abfc4
-
Alexander Traud authored
ASTERISK-29259 Change-Id: Ib6a6550e0e08355745d66da8e60ef49e81f9c6c5
-