❌

Lees weergave

Asterisk Release certified-20.7-cert8

The Asterisk Development Team would like to announce
the release of Certified asterisk-20.7-cert8.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/certified-20.7-cert8
and
https://downloads.asterisk.org/pub/telephony/certified-asterisk

Repository: https://github.com/asterisk/asterisk
Tag: certified-20.7-cert8

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-certified-20.7-cert8

Links:

Summary:

  • Commits: 7
  • Commit Authors: 3
  • Issues Resolved: 7
  • Security Advisories Resolved: 0

User Notes:

  • res_sorcery_memory_cache: Reduce cache lock time for sorcery memory cache populate command

    The AMI command sorcery memory cache populate will now
    return an error if there is an internal error performing the populate.
    The CLI command will display an error in this case as well.

  • res_geolocation: Fix multiple issues with XML generation.

    Geolocation: Two new optional profile parameters have been added.

    • pidf_element_id which sets the value of the id attribute on the top-level
      PIDF-LO device, person or tuple elements.
    • device_id which sets the content of the <deviceID> element.
      Both parameters can include channel variables.

Upgrade Notes:

  • res_geolocation: Fix multiple issues with XML generation.

    Geolocation: In order to correct bugs in both code and
    documentation, the following changes to the parameters for GML geolocation
    locations are now in effect:
    • The documented but unimplemented crs (coordinate reference system) element
      has been added to the location_info parameter that indicates whether the 2d
      or 3d reference system is to be used. If the crs isn't valid for the shape
      specified, an error will be generated. The default depends on the shape
      specified.
    • The Circle, Ellipse and ArcBand shapes MUST use a 2d crs. If crs isn't
      specified, it will default to 2d for these shapes.
      The Sphere, Ellipsoid and Prism shapes MUST use a 3d crs. If crs isn't
      specified, it will default to 3d for these shapes.
      The Point and Polygon shapes may use either crs. The default crs is 2d
      however so if 3d positions are used, the crs must be explicitly set to 3d.
    • The geoloc show gml_shape_defs CLI command has been updated to show which
      coordinate reference systems are valid for each shape.
    • The pos3d element has been removed in favor of allowing the pos element
      to include altitude if the crs is 3d. The number of values in the pos
      element MUST be 2 if the crs is 2d and 3 if the crs is 3d. An error
      will be generated for any other combination.
    • The angle unit-of-measure for shapes that use angles should now be included
      in the respective parameter. The default is degrees. There were some
      inconsistent references to orientation_uom in some documentation but that
      parameter never worked and is now removed. See examples below.
      Examples...
      location_info = shape="Sphere", pos="39.0 -105.0 1620", radius="20"
      location_info = shape="Point", crs="3d", pos="39.0 -105.0 1620"
      location_info = shape="Point", pos="39.0 -105.0"
      location_info = shape=Ellipsoid, pos="39.0 -105.0 1620", semiMajorAxis="20"
                    semiMinorAxis="10", verticalAxis="0", orientation="25 degrees"
      pidf_element_id = ${CHANNEL(name)}-${EXTEN}
      device_id = mac:001122334455
      Set(GEOLOC_PROFILE(pidf_element_id)=${CHANNEL(name)}/${EXTEN})
    

Developer Notes:

Commit Authors:

  • George Joseph: (4)
  • Mike Bradeen: (2)
  • Sean Bright: (1)

  •  

Asterisk Release 22.7.0

The Asterisk Development Team would like to announce
the release of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0

Links:

Summary:

  • Commits: 52
  • Commit Authors: 16
  • Issues Resolved: 36
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 21.12.0

The Asterisk Development Team would like to announce
the release of asterisk-21.12.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 21.12.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-21.12.0

Links:

Summary:

  • Commits: 20
  • Commit Authors: 10
  • Issues Resolved: 13
  • Security Advisories Resolved: 0

User Notes:

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

Developer Notes:

Commit Authors:

  • Bastian Triller: (1)
  • Ben Ford: (1)
  • George Joseph: (4)
  • Igor Goncharovsky: (1)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (4)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • phoneben: (1)

  •  

Asterisk Release 23.1.0

The Asterisk Development Team would like to announce
the release of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 17
  • Issues Resolved: 37
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Allan Nathanson: (1)
  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 20.17.0

The Asterisk Development Team would like to announce
the release of asterisk-20.17.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.17.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.17.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.17.0

Links:

Summary:

  • Commits: 50
  • Commit Authors: 16
  • Issues Resolved: 34
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (1)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (17)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 23.1.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 22.7.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 21.12.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-21.12.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 21.12.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-21.12.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 20.17.0-rc2

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-20.17.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.17.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.17.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.17.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 22.7.0-rc1

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0-rc1

Links:

Summary:

  • Commits: 53
  • Commit Authors: 16
  • Issues Resolved: 35
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • pjsip: Move from threadpool to taskpool

    The threadpool_* options in pjsip.conf have now
    been deprecated though they continue to be read and used.
    They have been replaced with taskpool options that give greater
    control over the underlying taskpool used for PJSIP. An alembic
    upgrade script has been added to add these options to realtime
    as well.

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • Gauravs456: (1)
  • George Joseph: (8)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (8)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Phoneben: (2)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-Mucw: (1)

  •  

Asterisk Release 23.1.0-rc1

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0-rc1

Links:

Summary:

  • Commits: 54
  • Commit Authors: 17
  • Issues Resolved: 36
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • pjsip: Move from threadpool to taskpool

    The threadpool_* options in pjsip.conf have now
    been deprecated though they continue to be read and used.
    They have been replaced with taskpool options that give greater
    control over the underlying taskpool used for PJSIP. An alembic
    upgrade script has been added to add these options to realtime
    as well.

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Allan Nathanson: (1)
  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • Gauravs456: (1)
  • George Joseph: (8)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (8)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Phoneben: (2)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-Mucw: (1)

  •  

uNmINeD 0.19.54-dev

New uNmINeD development snapshot is available for download!

Changes:

  • Fixed support for Bedrock worlds without a LevelDB log file
  • Updated to .NET 10
  • Updated to Avalonia 11.3.10
  •  

Bitfocus Companion v4.2.2

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.2.2 - Release Notes

🐞 BUG FIXES

  • add keepalive interval for client websocket
  • improve emulator behaviour when websocket closes
  • revert: limit environment variables exposed to internal actions
  • only search labels in dropdown fields
  • unable to edit color inputs as hex
  • bluetooth support for blackmagic controllers
  • open help links in a new windows
  • isVisibleExpression clone error
  • loupedeck ct bad key map
  • sidebar dom issues
  • better suppress some common/excessive errors

Full Changelog: v4.2.1...v4.2.2

  •  

Bitfocus Companion v4.2.1

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.2.1 - Release Notes

🐞 BUG FIXES

  • crash at launch on linux arm64 #3826
  • docs search urls incorrect #3824
  • expression variables not updating in ui #3825
  • emulator not showing pincode entry #3827
  • toggling never lock for surface not applying
  • support ajaz akp153 #3840
  • preserve additional environment variables for modules
  • limit environment variables exposed to internal actions
  • preserve sqlite wal when upgrading config #3835

Full Changelog: v4.2.0...v4.2.1

  •  

Bitfocus Companion v4.2.0

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.2.0 - Release Notes

This is a slightly smaller release than usual, focussing more on smaller improvements.

End of support for macOS 11

This version of Companion requires macOS 12 or later

Rebuilt Documentation

The Companion User Guide has been rewritten to use a new rendering system.

This allows us to host a new publicly available version of the documentation online which is versioned per release, as well as building it in a simplified form within Companion

The new tools allow us to do more with the documentation and will make it easier for us to keep up to date too!

new-docs

Improved Expression Editor

The expression editor input field has been rebuilt, making it easier to use with functionality you would expect from a code editor. This includes functions and keyword suggestions, and better handling of multi-line expressions.

expression-editor

And more

  • The old xkeys $(internal:tbar) and similar variables have been removed, and they should now be bound to custom variables in the config of each surface (#3716)
  • Require macos 12
  • Convert docs to docusaurus (#3741)
  • Rebuild emulator pincode locking
  • Add options to to restrict page access (#3736)
  • Enhanced expressions:
    • Improved expression editor (#3713)
    • More formatting for timestamp (#3668)
    • Handle negative value in msToTimestamp (#3651)
    • Support local variables in step expressions #3762
    • Expressions better handle undefined. add getVariable method #3451 (#3715)
  • Refined connection management:
    • Reworked connection config layout #3559 (#3569)
    • Rework changing connection versions, to remove need to disable module first
    • Add delete button to connection edit panel
    • Allow changing connection enabled state from config panel
    • Indicate connections missing modules in sidebar
  • Surface improvements:
    • Merge surface remote and discover pages (#3677)
    • Support resolve speed editor #3525
    • Support more variants of Mirabox 293S
    • Support for Mirabox Streamdock N3 (#3686)
    • Add repeating button-presses to contour-shuttle shuttle ring (#3492)
    • Improve vec-footpedal surface implementation
    • Support complex surface layouts over satellite api (#3611)
    • Support swipe to change page on Stream Deck + (#3721)
    • Support touch strip variables for Loupedeck Live (#3790)
  • Draw button 'error' state as a red warning triangle (#3675)
  • Remove deprecated bank field from tcp bank_bg_change message #2779
  • Include timestamps and source in module debug logs
  • Add version number variables #3714
  • Rework update check api, improving reliability

🐞 BUG FIXES

  • ember+ api issues with some clients
  • limit env vars passed to modules
  • improve error handling for module executeAction
  • "Sentry DSN not located" error in launcher (#3758)
  • Align the display name of surface_set_position with the UI terminology (#3761)
  • Avoid flooding modules with large objects, batch entity updates to resolve issues with large configs
  • preserve original types of custom variable values from osc and ember+ apis
  • improve version number handling for release vs beta builds
  • Page up button/Page down button don't set page-history (#3683)
  • Reduce frequency of pincode lock state logging (#3792)
  • Loupedeck Live pincode lock layout

Full Changelog: v4.1.6...v4.2.0

  •  

Bitfocus Companion v4.1.6

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.1.6 - Release Notes

🐞 BUG FIXES

  • Setting local variables for another control failing #3813
  • Unable to select module beta version for connection #3815
  • Suppress some logged errors about local variable names
  • Avoid spamming log with surface lock state messages #3792

Full Changelog: v4.1.5...v4.1.6

  •  

Bitfocus Companion v4.1.5

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.1.5 - Release Notes

🐞 BUG FIXES

  • reordering pages not persisting #3727
  • Local variable actions not working on triggers #3788
  • support stream deck mini (discord edition) #3778
  • elgato plugin not handling multiple clients correctly #3775
  • elgato plugin not cleaning up on connection close #3767
  • suppress module SecurityWarnings in a better way

Full Changelog: v4.1.4...v4.1.5

  •  

MariaDB 12.2.1 Release Candidate now available

The MariaDB Foundation is pleased to announce the availability of MariaDB 12.2.1, the latest release candidate (RC) rolling release. MariaDB 12.2.1 features deeper MySQL and Oracle compatibility, removal of the depth limit from JSON functions, and additional Information Schema tables and columns. See the overview, release notes and changelogs for details. Download MariaDB 12.2.1 Release […]

MariaDB 12.2.1 Release Candidate now available appeared first on MariaDB.org

  •  
❌