mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-15 22:38:08 +00:00
Compare commits
192 Commits
releases/c
...
certified/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cf6d5fb618 | ||
|
|
b81fdd3a64 | ||
|
|
0278f5bde1 | ||
|
|
6158cc7b8e | ||
|
|
cc68c53af1 | ||
|
|
bca984ab5f | ||
|
|
1855f2a1c0 | ||
|
|
0109e574be | ||
|
|
1510abcf44 | ||
|
|
3b8012d1d8 | ||
|
|
c523539d59 | ||
|
|
e1a205074b | ||
|
|
fb966116fa | ||
|
|
47c498bc72 | ||
|
|
0b0f284684 | ||
|
|
ed12e22ad9 | ||
|
|
53766c5a74 | ||
|
|
7b54359793 | ||
|
|
eca57e71fb | ||
|
|
dc7b14dc88 | ||
|
|
bd5cd70c56 | ||
|
|
8f16bf9c8a | ||
|
|
bff012d32a | ||
|
|
5f4a828056 | ||
|
|
c2c7d64538 | ||
|
|
f5f50b29e6 | ||
|
|
d83b5be7dd | ||
|
|
3356a52fa0 | ||
|
|
bd163881d4 | ||
|
|
eb3ee8bca4 | ||
|
|
b4d8170101 | ||
|
|
27cc5f5071 | ||
|
|
5209eeaeb0 | ||
|
|
ff94f597c0 | ||
|
|
d80361d6de | ||
|
|
bfce4ed473 | ||
|
|
b14fe81a4f | ||
|
|
1eb7d5258b | ||
|
|
5a335b880d | ||
|
|
47ce55885b | ||
|
|
69a2bc15b5 | ||
|
|
3b51b1b294 | ||
|
|
eecc0469c1 | ||
|
|
cb2b263756 | ||
|
|
b53034cf41 | ||
|
|
74df82e71c | ||
|
|
96d20e92bf | ||
|
|
8bdc2304bb | ||
|
|
9f73bba6f4 | ||
|
|
1892234069 | ||
|
|
c9450b49f5 | ||
|
|
a444430a76 | ||
|
|
35e4fa7709 | ||
|
|
f5845b7d7d | ||
|
|
13d38eeabe | ||
|
|
8e97266810 | ||
|
|
0778c95e37 | ||
|
|
9ee00e0d60 | ||
|
|
a4a51829a3 | ||
|
|
f974ea2810 | ||
|
|
a47f92c2f8 | ||
|
|
74328a7bfe | ||
|
|
9e56766cde | ||
|
|
fa69a286a2 | ||
|
|
3be176dfc4 | ||
|
|
b7a46921c4 | ||
|
|
6cd51f082b | ||
|
|
4ec1be6530 | ||
|
|
c71fbca918 | ||
|
|
741b3c0dbb | ||
|
|
f8f23c6cef | ||
|
|
9945c25f31 | ||
|
|
0527ae4166 | ||
|
|
a800a20308 | ||
|
|
1406d558dc | ||
|
|
7314a411a9 | ||
|
|
178b2df38a | ||
|
|
7223dfe244 | ||
|
|
558d0a8033 | ||
|
|
00940e2abd | ||
|
|
d214c72c2a | ||
|
|
0e0a56a0ca | ||
|
|
a7e4c193fc | ||
|
|
18f3c355f7 | ||
|
|
f841ae8e62 | ||
|
|
386cdef149 | ||
|
|
b4ecf5eaf1 | ||
|
|
031703c596 | ||
|
|
7d65b0ad80 | ||
|
|
e0be8be337 | ||
|
|
be9b5bf0a9 | ||
|
|
3ff081e581 | ||
|
|
a4f9d885a7 | ||
|
|
85fc4ce712 | ||
|
|
6b4f9ab005 | ||
|
|
2b66362173 | ||
|
|
705cd2845d | ||
|
|
c7050787f3 | ||
|
|
0f20f39db8 | ||
|
|
c53cd1c82d | ||
|
|
8e012faf9e | ||
|
|
81c400a1c2 | ||
|
|
db5767f19d | ||
|
|
05d26994af | ||
|
|
cd640dc67b | ||
|
|
5eb676bab5 | ||
|
|
5342562892 | ||
|
|
20b06e7bb5 | ||
|
|
d0a1c2b026 | ||
|
|
825d3b981a | ||
|
|
733ab35848 | ||
|
|
7369de127a | ||
|
|
04183eb246 | ||
|
|
5c58a6fd56 | ||
|
|
7b42ebb90d | ||
|
|
8d506370f5 | ||
|
|
cf623753a9 | ||
|
|
2e59f9fd6a | ||
|
|
4e43b9d308 | ||
|
|
405a08aaed | ||
|
|
3d01cbaae9 | ||
|
|
2f1d12b7dc | ||
|
|
e54d867f25 | ||
|
|
d2172582f7 | ||
|
|
56e592248d | ||
|
|
8f5fb2af23 | ||
|
|
bebf843253 | ||
|
|
87773dc11f | ||
|
|
a95f98f8bb | ||
|
|
c83c14ba2d | ||
|
|
b37b28e071 | ||
|
|
82c0971e6e | ||
|
|
8aba4a4f88 | ||
|
|
e46f7892a6 | ||
|
|
7c84bf40e0 | ||
|
|
836f0bed18 | ||
|
|
4929a2c419 | ||
|
|
8f8413b494 | ||
|
|
3bb5cef959 | ||
|
|
e1e294a5e3 | ||
|
|
2291ea7a6b | ||
|
|
6dc6d11671 | ||
|
|
452e0d7258 | ||
|
|
15ecfab8d1 | ||
|
|
f5f09246e2 | ||
|
|
2822bb3977 | ||
|
|
e52ad19715 | ||
|
|
a44ac70801 | ||
|
|
a41f911ba3 | ||
|
|
8c49e751b8 | ||
|
|
f6a323be8d | ||
|
|
523474a2f3 | ||
|
|
036951e21a | ||
|
|
efa4b02a0d | ||
|
|
8c76507b9f | ||
|
|
7dfc190e23 | ||
|
|
653aee2f13 | ||
|
|
8b93cd97e8 | ||
|
|
2645b68a08 | ||
|
|
1f32a01485 | ||
|
|
1216508654 | ||
|
|
5bfe94461a | ||
|
|
6c43294975 | ||
|
|
7c5f7fffb3 | ||
|
|
0c173be750 | ||
|
|
1077728ddc | ||
|
|
57e3390a81 | ||
|
|
6d71d8eea5 | ||
|
|
e73e5f7ed4 | ||
|
|
10b40dad53 | ||
|
|
a74ef79ce2 | ||
|
|
3ef4c8a72c | ||
|
|
493c2debf8 | ||
|
|
61f4399082 | ||
|
|
b9ad757aab | ||
|
|
e95eba5894 | ||
|
|
4b982965e9 | ||
|
|
bcfaea4a8b | ||
|
|
8900c3f7a7 | ||
|
|
04668ea95b | ||
|
|
d566b3e413 | ||
|
|
f09894cddf | ||
|
|
a7f6e3d674 | ||
|
|
fe9c904a65 | ||
|
|
0af1da68f1 | ||
|
|
d5f3db3e73 | ||
|
|
450345386f | ||
|
|
1a649af1b1 | ||
|
|
7952316bf1 | ||
|
|
9e6a70b586 | ||
|
|
4bf3f6c04e | ||
|
|
d334e0cf89 |
39
.github/workflows/Releaser.yml
vendored
39
.github/workflows/Releaser.yml
vendored
@@ -3,6 +3,16 @@ run-name: ${{ github.actor }} is creating ${{vars.PRODUCT_NAME}} release ${{inpu
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
release_type:
|
||||
description: |
|
||||
Release Type:
|
||||
required: true
|
||||
type: choice
|
||||
options:
|
||||
- STANDARD
|
||||
- SECURITY
|
||||
- HOTFIX
|
||||
default: STANDARD
|
||||
new_version:
|
||||
description: |
|
||||
New Version:
|
||||
@@ -11,24 +21,16 @@ on:
|
||||
certified-20.4-cert1-rc1, certified-20.4-cert1
|
||||
required: true
|
||||
type: string
|
||||
is_security:
|
||||
description: |
|
||||
Security?
|
||||
(No prev RCs)
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
advisories:
|
||||
description: |
|
||||
Comma separated list of advisories.
|
||||
Comma separated list of advisories for SECURITY releases.
|
||||
NO SPACES
|
||||
Example: GHSA-4xjp-22g4-9fxm,GHSA-4xjp-22g4-zzzz
|
||||
required: false
|
||||
type: string
|
||||
is_hotfix:
|
||||
skip_cherry_pick:
|
||||
description: |
|
||||
Hotfix?
|
||||
(A patch release but not security. No prev RCs)
|
||||
Skip automatic cherry-pick for regular RC1 releases? USE WITH CAUTION!
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
@@ -38,6 +40,12 @@ on:
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
skip_test_builds:
|
||||
description: |
|
||||
Skip test builds? USE WITH CAUTION!
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
push_release_branches:
|
||||
description: |
|
||||
Push release branches live?
|
||||
@@ -67,11 +75,12 @@ jobs:
|
||||
Releaser:
|
||||
uses: asterisk/asterisk-ci-actions/.github/workflows/AsteriskRelease.yml@main
|
||||
with:
|
||||
release_type: ${{inputs.release_type}}
|
||||
new_version: ${{inputs.new_version}}
|
||||
is_security: ${{inputs.is_security}}
|
||||
advisories: ${{inputs.advisories}}
|
||||
is_hotfix: ${{inputs.is_hotfix}}
|
||||
skip_cherry_pick: ${{inputs.skip_cherry_pick}}
|
||||
force_cherry_pick: ${{inputs.force_cherry_pick}}
|
||||
skip_test_builds: ${{inputs.skip_test_builds}}
|
||||
push_release_branches: ${{inputs.push_release_branches}}
|
||||
create_github_release: ${{inputs.create_github_release}}
|
||||
push_tarballs: ${{inputs.push_tarballs}}
|
||||
@@ -79,7 +88,7 @@ jobs:
|
||||
secrets:
|
||||
gpg_private_key: ${{secrets.ASTDEV_GPG_PRIV_KEY}}
|
||||
asteriskteam_gh_token: ${{secrets.ASTERISKTEAM_PAT}}
|
||||
asteriskteamsa_username: ${{secrets.ASTERISKTEAMSA_GMAIL_ACCT}}
|
||||
asteriskteamsa_token: ${{secrets.ASTERISKTEAMSA_GMAIL_TOKEN}}
|
||||
asteriskteam_email_username: ${{secrets.ASTERISKTEAM_SES_KEY_ID}}
|
||||
asteriskteam_email_secret: ${{secrets.ASTERISKTEAM_SES_KEY_SECRET}}
|
||||
deploy_ssh_priv_key: ${{secrets.DOWNLOADS_DEPLOY_SSH_PRIV_KEY}}
|
||||
deploy_ssh_username: ${{secrets.DOWNLOADS_DEPLOY_SSH_USERNAME}}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
ChangeLogs/ChangeLog-certified-18.9-cert17.html
|
||||
@@ -1 +0,0 @@
|
||||
ChangeLogs/ChangeLog-certified-18.9-cert17.md
|
||||
@@ -1,166 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert10
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert10.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert9...certified-18.9-cert10)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert10.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 4
|
||||
- Commit Authors: 2
|
||||
- Issues Resolved: 0
|
||||
- Security Advisories Resolved: 0
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### app_voicemail_odbc: Allow audio to be kept on disk
|
||||
This commit adds a new voicemail.conf option
|
||||
'odbc_audio_on_disk' which when set causes the ODBC variant of
|
||||
app_voicemail_odbc to leave the message and greeting audio files
|
||||
on disk and only store the message metadata in the database.
|
||||
Much more information can be found in the voicemail.conf.sample
|
||||
file.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- George Joseph: (2)
|
||||
- Sean Bright: (2)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
None
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- ### George Joseph (2):
|
||||
- logger.h: Add SCOPE_CALL and SCOPE_CALL_WITH_RESULT
|
||||
- app_voicemail_odbc: Allow audio to be kept on disk
|
||||
|
||||
- ### Sean Bright (2):
|
||||
- app_voicemail.c: Completely resequence mailbox folders.
|
||||
- logger.h: Include SCOPE_CALL_WITH_INT_RESULT() in non-dev-mode builds.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- logger.h: Include SCOPE_CALL_WITH_INT_RESULT() in non-dev-mode builds.
|
||||
- app_voicemail_odbc: Allow audio to be kept on disk
|
||||
- logger.h: Add SCOPE_CALL and SCOPE_CALL_WITH_RESULT
|
||||
- app_voicemail.c: Completely resequence mailbox folders.
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### logger.h: Include SCOPE_CALL_WITH_INT_RESULT() in non-dev-mode builds.
|
||||
Author: Sean Bright
|
||||
Date: 2024-06-29
|
||||
|
||||
Fixes #785
|
||||
|
||||
|
||||
#### app_voicemail_odbc: Allow audio to be kept on disk
|
||||
Author: George Joseph
|
||||
Date: 2024-04-09
|
||||
|
||||
This commit adds a new voicemail.conf option 'odbc_audio_on_disk'
|
||||
which when set causes the ODBC variant of app_voicemail to leave
|
||||
the message and greeting audio files on disk and only store the
|
||||
message metadata in the database. This option came from a concern
|
||||
that the database could grow to large and cause remote access
|
||||
and/or replication to become slow. In a clustering situation
|
||||
with this option, all asterisk instances would share the same
|
||||
database for the metadata and either use a shared filesystem
|
||||
or other filesystem replication service much more suitable
|
||||
for synchronizing files.
|
||||
|
||||
The changes to app_voicemail to implement this feature were actually
|
||||
quite small but due to the complexity of the module, the actual
|
||||
source code changes were greater. They fall into the following
|
||||
categories:
|
||||
|
||||
* Tracing. The module is so complex that it was impossible to
|
||||
figure out the path taken for various scenarios without the addition
|
||||
of many SCOPE_ENTER, SCOPE_EXIT and ast_trace statements, even in
|
||||
code that's not related to the functional change. Making this worse
|
||||
was the fact that many "if" statements in this module didn't use
|
||||
braces. Since the tracing macros add multiple statements, many "if"
|
||||
statements had to be converted to use braces.
|
||||
|
||||
* Excessive use of PATH_MAX. Previous maintainers of this module
|
||||
used PATH_MAX to allocate character arrays for filesystem paths
|
||||
and SQL statements as though they cost nothing. In fact, PATH_MAX
|
||||
is defined as 4096 bytes! Some functions had (and still have)
|
||||
multiples of these. One function has 7. Given that the vast
|
||||
majority of installations use the default spool directory path
|
||||
`/var/spool/asterisk/voicemail`, the actual path length is usually
|
||||
less than 80 bytes. That's over 4000 bytes wasted. It was the
|
||||
same for SQL statement buffers. A 4K buffer for statement that
|
||||
only needed 60 bytes. All of these PATH_MAX allocations in the
|
||||
ODBC related code were changed to dynamically allocated buffers.
|
||||
The rest will have to be addressed separately.
|
||||
|
||||
* Bug fixes. During the development of this feature, several
|
||||
pre-existing ODBC related bugs were discovered and fixed. They
|
||||
had to do with leaving orphaned files on disk, not preserving
|
||||
original message ids when moving messages between folders,
|
||||
not honoring the "formats" config parameter in certain circumstances,
|
||||
etc.
|
||||
|
||||
UserNote: This commit adds a new voicemail.conf option
|
||||
'odbc_audio_on_disk' which when set causes the ODBC variant of
|
||||
app_voicemail_odbc to leave the message and greeting audio files
|
||||
on disk and only store the message metadata in the database.
|
||||
Much more information can be found in the voicemail.conf.sample
|
||||
file.
|
||||
|
||||
|
||||
#### logger.h: Add SCOPE_CALL and SCOPE_CALL_WITH_RESULT
|
||||
Author: George Joseph
|
||||
Date: 2024-04-09
|
||||
|
||||
If you're tracing a large function that may call another function
|
||||
multiple times in different circumstances, it can be difficult to
|
||||
see from the trace output exactly which location that function
|
||||
was called from. There's no good way to automatically determine
|
||||
the calling location. SCOPE_CALL and SCOPE_CALL_WITH_RESULT
|
||||
simply print out a trace line before and after the call.
|
||||
|
||||
The difference between SCOPE_CALL and SCOPE_CALL_WITH_RESULT is
|
||||
that SCOPE_CALL ignores the function's return value (if any) where
|
||||
SCOPE_CALL_WITH_RESULT allows you to specify the type of the
|
||||
function's return value so it can be assigned to a variable.
|
||||
SCOPE_CALL_WITH_INT_RESULT is just a wrapper for SCOPE_CALL_WITH_RESULT
|
||||
and the "int" return type.
|
||||
|
||||
|
||||
#### app_voicemail.c: Completely resequence mailbox folders.
|
||||
Author: Sean Bright
|
||||
Date: 2023-11-27
|
||||
|
||||
Resequencing is a process that occurs when we open a voicemail folder
|
||||
and discover that there are gaps between messages (e.g. `msg0000.txt`
|
||||
is missing but `msg0001.txt` exists). Resequencing involves shifting
|
||||
the existing messages down so we end up with a sequential list of
|
||||
messages.
|
||||
|
||||
Currently, this process stops after reaching a threshold based on the
|
||||
message limit (`maxmsg`) configured on the current folder. However, if
|
||||
`maxmsg` is lowered when a voicemail folder contains more than
|
||||
`maxmsg + 10` messages, resequencing will not run completely leaving
|
||||
the mailbox in an inconsistent state.
|
||||
|
||||
We now resequence up to the maximum number of messages permitted by
|
||||
`app_voicemail` (currently hard-coded at 9999 messages).
|
||||
|
||||
Fixes #86
|
||||
|
||||
|
||||
@@ -1,139 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert11
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert11.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert10...certified-18.9-cert11)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert11.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 5
|
||||
- Commit Authors: 2
|
||||
- Issues Resolved: 4
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-c4cg-9275-6w44](https://github.com/asterisk/asterisk/security/advisories/GHSA-c4cg-9275-6w44): Write=originate, is sufficient permissions for code execution / System() dialplan
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### res_pjsip_config_wizard.c: Refactor load process
|
||||
The res_pjsip_config_wizard.so module can now be reloaded.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- George Joseph: (4)
|
||||
- Mike Bradeen: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-c4cg-9275-6w44: Write=originate, is sufficient permissions for code execution / System() dialplan
|
||||
- 780: [bug]: Infinite loop of "Indicated Video Update", max CPU usage
|
||||
- 801: [bug]: res_stasis: Occasional 200ms delay adding channel to a bridge
|
||||
- 816: [bug]: res_pjsip_config_wizard doesn't load properly if res_pjsip is loaded first
|
||||
- 819: [bug]: Typo in voicemail.conf.sample that stops it from loading when using "make samples"
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### George Joseph (4):
|
||||
- manager.c: Add entries to Originate blacklist
|
||||
- bridge_softmix: Fix queueing VIDUPDATE control frames
|
||||
- voicemail.conf.sample: Fix ':' comment typo
|
||||
- res_pjsip_config_wizard.c: Refactor load process
|
||||
|
||||
- #### Mike Bradeen (1):
|
||||
- res_stasis: fix intermittent delays on adding channel to bridge
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- res_stasis: fix intermittent delays on adding channel to bridge
|
||||
- res_pjsip_config_wizard.c: Refactor load process
|
||||
- voicemail.conf.sample: Fix ':' comment typo
|
||||
- bridge_softmix: Fix queueing VIDUPDATE control frames
|
||||
- manager.c: Add entries to Originate blacklist
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### res_stasis: fix intermittent delays on adding channel to bridge
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-07-10
|
||||
|
||||
Previously, on command execution, the control thread was awoken by
|
||||
sending a SIGURG. It was found that this still resulted in some
|
||||
instances where the thread was not immediately awoken.
|
||||
|
||||
This change instead sends a null frame to awaken the control thread,
|
||||
which awakens the thread more consistently.
|
||||
|
||||
Resolves: #801
|
||||
|
||||
#### res_pjsip_config_wizard.c: Refactor load process
|
||||
Author: George Joseph
|
||||
Date: 2024-07-23
|
||||
|
||||
The way we have been initializing the config wizard prevented it
|
||||
from registering its objects if res_pjsip happened to load
|
||||
before it.
|
||||
|
||||
* We now use the object_type_registered sorcery observer to kick
|
||||
things off instead of the wizard_mapped observer.
|
||||
|
||||
* The load_module function now checks if res_pjsip has been loaded
|
||||
already and if it was it fires the proper observers so the objects
|
||||
load correctly.
|
||||
|
||||
Resolves: #816
|
||||
|
||||
UserNote: The res_pjsip_config_wizard.so module can now be reloaded.
|
||||
|
||||
#### voicemail.conf.sample: Fix ':' comment typo
|
||||
Author: George Joseph
|
||||
Date: 2024-07-24
|
||||
|
||||
...and removed an errant trailing space.
|
||||
|
||||
Resolves: #819
|
||||
|
||||
#### bridge_softmix: Fix queueing VIDUPDATE control frames
|
||||
Author: George Joseph
|
||||
Date: 2024-07-17
|
||||
|
||||
softmix_bridge_write_control() now calls ast_bridge_queue_everyone_else()
|
||||
with the bridge_channel so the VIDUPDATE control frame isn't echoed back.
|
||||
|
||||
softmix_bridge_write_control() was setting bridge_channel to NULL
|
||||
when calling ast_bridge_queue_everyone_else() for VIDUPDATE control
|
||||
frames. This was causing the frame to be echoed back to the
|
||||
channel it came from. In certain cases, like when two channels or
|
||||
bridges are being recorded, this can cause a ping-pong effect that
|
||||
floods the system with VIDUPDATE control frames.
|
||||
|
||||
Resolves: #780
|
||||
|
||||
#### manager.c: Add entries to Originate blacklist
|
||||
Author: George Joseph
|
||||
Date: 2024-07-22
|
||||
|
||||
Added Reload and DBdeltree to the list of dialplan application that
|
||||
can't be executed via the Originate manager action without also
|
||||
having write SYSTEM permissions.
|
||||
|
||||
Added CURL, DB*, FILE, ODBC and REALTIME* to the list of dialplan
|
||||
functions that can't be executed via the Originate manager action
|
||||
without also having write SYSTEM permissions.
|
||||
|
||||
If the Queue application is attempted to be run by the Originate
|
||||
manager action and an AGI parameter is specified in the app data,
|
||||
it'll be rejected unless the manager user has either the AGI or
|
||||
SYSTEM permissions.
|
||||
|
||||
Resolves: #GHSA-c4cg-9275-6w44
|
||||
|
||||
@@ -1,233 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert12
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert12.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert11...certified-18.9-cert12)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert12.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 6
|
||||
- Commit Authors: 5
|
||||
- Issues Resolved: 3
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-v428-g3cw-7hv9](https://github.com/asterisk/asterisk/security/advisories/GHSA-v428-g3cw-7hv9): A malformed Contact or Record-Route URI in an incoming SIP request can cause Asterisk to crash when res_resolver_unbound is used
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### res_pjsip_notify: add dialplan application
|
||||
A new dialplan application PJSIPNotify is now available
|
||||
which can send SIP NOTIFY requests from the dialplan.
|
||||
The pjsip send notify CLI command has also been enhanced to allow
|
||||
sending NOTIFY messages to a specific channel. Syntax:
|
||||
pjsip send notify <option> channel <channel>
|
||||
|
||||
- #### channel: Add multi-tenant identifier.
|
||||
tenantid has been added to channels. It can be read in
|
||||
dialplan via CHANNEL(tenantid), and it can be set using
|
||||
Set(CHANNEL(tenantid)=My tenant ID). In pjsip.conf, it is recommended to
|
||||
use the new tenantid option for pjsip endpoints (e.g., tenantid=My
|
||||
tenant ID) so that it will show up in Newchannel events. You can set it
|
||||
like any other channel variable using set_var in pjsip.conf as well, but
|
||||
note that this will NOT show up in Newchannel events. Tenant ID is also
|
||||
available in CDR and can be accessed with CDR(tenantid). The peer tenant
|
||||
ID can also be accessed with CDR(peertenantid). CEL includes tenant ID
|
||||
as well if it has been set.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
- #### channel: Add multi-tenant identifier.
|
||||
A new versioned struct (ast_channel_initializers) has been
|
||||
added that gets passed to __ast_channel_alloc_ap. The new function
|
||||
ast_channel_alloc_with_initializers should be used when creating
|
||||
channels that require the use of this struct. Currently the only value
|
||||
in the struct is for tenantid, but now more fields can be added to the
|
||||
struct as necessary rather than the __ast_channel_alloc_ap function. A
|
||||
new option (tenantid) has been added to endpoints in pjsip.conf as well.
|
||||
CEL has had its version bumped to include tenant ID.
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- Ben Ford: (1)
|
||||
- George Joseph: (2)
|
||||
- Jean-Denis Girard: (1)
|
||||
- Mike Bradeen: (1)
|
||||
- Sean Bright: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-v428-g3cw-7hv9: A malformed Contact or Record-Route URI in an incoming SIP request can cause Asterisk to crash when res_resolver_unbound is used
|
||||
- 740: [new-feature]: Add multi-tenant identifier to chan_pjsip
|
||||
- 799: [improvement]: Add PJSIPNOTIFY dialplan application
|
||||
- 831: [bug]: app_voicemail ODBC
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### Ben Ford (1):
|
||||
- channel: Add multi-tenant identifier.
|
||||
|
||||
- #### George Joseph (2):
|
||||
- res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
- manager.c: Fix FRACK when doing CoreShowChannelMap in DEVMODE
|
||||
|
||||
- #### Jean-Denis Girard (1):
|
||||
- app_voicemail: Fix sql insert mismatch caused by cherry-pick
|
||||
|
||||
- #### Mike Bradeen (1):
|
||||
- res_pjsip_notify: add dialplan application
|
||||
|
||||
- #### Sean Bright (1):
|
||||
- alembic: Make 'revises' header comment match reality.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- app_voicemail: Fix sql insert mismatch caused by cherry-pick
|
||||
- alembic: Make 'revises' header comment match reality.
|
||||
- res_pjsip_notify: add dialplan application
|
||||
- manager.c: Fix FRACK when doing CoreShowChannelMap in DEVMODE
|
||||
- channel: Add multi-tenant identifier.
|
||||
- res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### app_voicemail: Fix sql insert mismatch caused by cherry-pick
|
||||
Author: Jean-Denis Girard
|
||||
Date: 2024-08-07
|
||||
|
||||
When commit e8c9cb80 was cherry-picked in from master, the
|
||||
fact that the 20 and 18 branches still had the old "macrocontext"
|
||||
column wasn't taken into account so the number of named parameters
|
||||
didn't match the number of '?' placeholders. They do now.
|
||||
|
||||
We also now use ast_asprintf to create the full mailbox query SQL
|
||||
statement instead of trying to calculate the proper length ourselves.
|
||||
|
||||
Resolves: #831
|
||||
|
||||
#### alembic: Make 'revises' header comment match reality.
|
||||
Author: Sean Bright
|
||||
Date: 2024-08-17
|
||||
|
||||
|
||||
#### res_pjsip_notify: add dialplan application
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-07-09
|
||||
|
||||
Add dialplan application PJSIPNOTIFY to send either pre-configured
|
||||
NOTIFY messages from pjsip_notify.conf or with headers defined in
|
||||
dialplan.
|
||||
|
||||
Also adds the ability to send pre-configured NOTIFY commands to a
|
||||
channel via the CLI.
|
||||
|
||||
Resolves: #799
|
||||
|
||||
UserNote: A new dialplan application PJSIPNotify is now available
|
||||
which can send SIP NOTIFY requests from the dialplan.
|
||||
|
||||
The pjsip send notify CLI command has also been enhanced to allow
|
||||
sending NOTIFY messages to a specific channel. Syntax:
|
||||
|
||||
pjsip send notify <option> channel <channel>
|
||||
|
||||
|
||||
#### manager.c: Fix FRACK when doing CoreShowChannelMap in DEVMODE
|
||||
Author: George Joseph
|
||||
Date: 2024-08-08
|
||||
|
||||
If you run an AMI CoreShowChannelMap on a channel that isn't in a
|
||||
bridge and you're in DEVMODE, you can get a FRACK because the
|
||||
bridge id is empty. We now simply return an empty list for that
|
||||
request.
|
||||
|
||||
|
||||
#### channel: Add multi-tenant identifier.
|
||||
Author: Ben Ford
|
||||
Date: 2024-05-21
|
||||
|
||||
This patch introduces a new identifier for channels: tenantid. It's
|
||||
a stringfield on the channel that can be used for general purposes. It
|
||||
will be inherited by other channels the same way that linkedid is.
|
||||
|
||||
You can set tenantid in a few ways. The first is to set it in the
|
||||
dialplan with the Set and CHANNEL functions:
|
||||
|
||||
exten => example,1,Set(CHANNEL(tenantid)=My tenant ID)
|
||||
|
||||
It can also be accessed via CHANNEL:
|
||||
|
||||
exten => example,2,NoOp(CHANNEL(tenantid))
|
||||
|
||||
Another method is to use the new tenantid option for pjsip endpoints in
|
||||
pjsip.conf:
|
||||
|
||||
[my_endpoint]
|
||||
type=endpoint
|
||||
tenantid=My tenant ID
|
||||
|
||||
This is considered the best approach since you will be able to see the
|
||||
tenant ID as early as the Newchannel event.
|
||||
|
||||
It can also be set using set_var in pjsip.conf on the endpoint like
|
||||
setting other channel variable:
|
||||
|
||||
set_var=CHANNEL(tenantid)=My tenant ID
|
||||
|
||||
Note that set_var will not show tenant ID on the Newchannel event,
|
||||
however.
|
||||
|
||||
Tenant ID has also been added to CDR. It's read-only and can be accessed
|
||||
via CDR(tenantid). You can also get the tenant ID of the last channel
|
||||
communicated with via CDR(peertenantid).
|
||||
|
||||
Tenant ID will also show up in CEL records if it has been set, and the
|
||||
version number has been bumped accordingly.
|
||||
|
||||
Fixes: #740
|
||||
|
||||
UserNote: tenantid has been added to channels. It can be read in
|
||||
dialplan via CHANNEL(tenantid), and it can be set using
|
||||
Set(CHANNEL(tenantid)=My tenant ID). In pjsip.conf, it is recommended to
|
||||
use the new tenantid option for pjsip endpoints (e.g., tenantid=My
|
||||
tenant ID) so that it will show up in Newchannel events. You can set it
|
||||
like any other channel variable using set_var in pjsip.conf as well, but
|
||||
note that this will NOT show up in Newchannel events. Tenant ID is also
|
||||
available in CDR and can be accessed with CDR(tenantid). The peer tenant
|
||||
ID can also be accessed with CDR(peertenantid). CEL includes tenant ID
|
||||
as well if it has been set.
|
||||
|
||||
UpgradeNote: A new versioned struct (ast_channel_initializers) has been
|
||||
added that gets passed to __ast_channel_alloc_ap. The new function
|
||||
ast_channel_alloc_with_initializers should be used when creating
|
||||
channels that require the use of this struct. Currently the only value
|
||||
in the struct is for tenantid, but now more fields can be added to the
|
||||
struct as necessary rather than the __ast_channel_alloc_ap function. A
|
||||
new option (tenantid) has been added to endpoints in pjsip.conf as well.
|
||||
CEL has had its version bumped to include tenant ID.
|
||||
|
||||
|
||||
#### res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
Author: George Joseph
|
||||
Date: 2024-08-12
|
||||
|
||||
The ub_result pointer passed to unbound_resolver_callback by
|
||||
libunbound can be NULL if the query was for something malformed
|
||||
like `.1` or `[.1]`. If it is, we now set a 'ns_r_formerr' result
|
||||
and return instead of crashing with a SEGV. This causes pjproject
|
||||
to simply cancel the transaction with a "No answer record in the DNS
|
||||
response" error. The existing "off nominal" unit test was also
|
||||
updated to check this condition.
|
||||
|
||||
Although not necessary for this fix, we also made
|
||||
ast_dns_resolver_completed() tolerant of a NULL result.
|
||||
|
||||
Resolves: GHSA-v428-g3cw-7hv9
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert13
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert13.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert12...certified-18.9-cert13)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert13.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 1
|
||||
- Commit Authors: 1
|
||||
- Issues Resolved: 0
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-33x6-fj46-6rfh](https://github.com/asterisk/asterisk/security/advisories/GHSA-33x6-fj46-6rfh): Path traversal via AMI ListCategories allows access to outside files
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### manager.c: Restrict ListCategories to the configuration directory.
|
||||
The ListCategories AMI action now restricts files to the
|
||||
configured configuration directory.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- Ben Ford: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-33x6-fj46-6rfh: Path traversal via AMI ListCategories allows access to outside files
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### Ben Ford (1):
|
||||
- manager.c: Restrict ListCategories to the configuration directory.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- manager.c: Restrict ListCategories to the configuration directory.
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### manager.c: Restrict ListCategories to the configuration directory.
|
||||
Author: Ben Ford
|
||||
Date: 2024-12-17
|
||||
|
||||
When using the ListCategories AMI action, it was possible to traverse
|
||||
upwards through the directories to files outside of the configured
|
||||
configuration directory. This action is now restricted to the configured
|
||||
directory and an error will now be returned if the specified file is
|
||||
outside of this limitation.
|
||||
|
||||
Resolves: #GHSA-33x6-fj46-6rfh
|
||||
|
||||
UserNote: The ListCategories AMI action now restricts files to the
|
||||
configured configuration directory.
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
<html><head><title>ChangeLog for asterisk-certified-18.9-cert14</title></head><body>
|
||||
<h2>Change Log for Release asterisk-certified-18.9-cert14</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert14.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/certified-18.9-cert13...certified-18.9-cert14">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert14.tar.gz">Tarball</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk">Downloads</a> </li>
|
||||
</ul>
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Commits: 2</li>
|
||||
<li>Commit Authors: 1</li>
|
||||
<li>Issues Resolved: 0</li>
|
||||
<li>Security Advisories Resolved: 2</li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-2grh-7mhv-fcfw">GHSA-2grh-7mhv-fcfw</a>: Using malformed From header can forge identity with ";" or NULL in name portion</li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-c7p6-7mvq-8jq2">GHSA-c7p6-7mvq-8jq2</a>: cli_permissions.conf: deny option does not work for disallowing shell commands</li>
|
||||
</ul>
|
||||
<h3>User Notes:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>asterisk.c: Add option to restrict shell access from remote consoles.</h4>
|
||||
A new asterisk.conf option 'disable_remote_console_shell' has
|
||||
been added that, when set, will prevent remote consoles from executing
|
||||
shell commands using the '!' prefix.
|
||||
Resolves: #GHSA-c7p6-7mvq-8jq2</li>
|
||||
</ul>
|
||||
<h3>Upgrade Notes:</h3>
|
||||
<h3>Commit Authors:</h3>
|
||||
<ul>
|
||||
<li>George Joseph: (2)</li>
|
||||
</ul>
|
||||
<h2>Issue and Commit Detail:</h2>
|
||||
<h3>Closed Issues:</h3>
|
||||
<ul>
|
||||
<li>!GHSA-2grh-7mhv-fcfw: Using malformed From header can forge identity with ";" or NULL in name portion</li>
|
||||
<li>!GHSA-c7p6-7mvq-8jq2: cli_permissions.conf: deny option does not work for disallowing shell commands</li>
|
||||
</ul>
|
||||
<h3>Commits By Author:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>George Joseph (2):</h4>
|
||||
</li>
|
||||
<li>res_pjsip_messaging.c: Mask control characters in received From display name</li>
|
||||
<li>asterisk.c: Add option to restrict shell access from remote consoles.</li>
|
||||
</ul>
|
||||
<h3>Commit List:</h3>
|
||||
<ul>
|
||||
<li>asterisk.c: Add option to restrict shell access from remote consoles.</li>
|
||||
<li>res_pjsip_messaging.c: Mask control characters in received From display name</li>
|
||||
</ul>
|
||||
<h3>Commit Details:</h3>
|
||||
<h4>asterisk.c: Add option to restrict shell access from remote consoles.</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-05-19</p>
|
||||
<p>UserNote: A new asterisk.conf option 'disable_remote_console_shell' has
|
||||
been added that, when set, will prevent remote consoles from executing
|
||||
shell commands using the '!' prefix.</p>
|
||||
<p>Resolves: #GHSA-c7p6-7mvq-8jq2</p>
|
||||
<h4>res_pjsip_messaging.c: Mask control characters in received From display name</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-03-24</p>
|
||||
<p>Incoming SIP MESSAGEs will now have their From header's display name
|
||||
sanitized by replacing any characters < 32 (space) with a space.</p>
|
||||
<p>Resolves: #GHSA-2grh-7mhv-fcfw</p>
|
||||
</body></html>
|
||||
@@ -1,75 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert14
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert14.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert13...certified-18.9-cert14)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert14.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 2
|
||||
- Commit Authors: 1
|
||||
- Issues Resolved: 0
|
||||
- Security Advisories Resolved: 2
|
||||
- [GHSA-2grh-7mhv-fcfw](https://github.com/asterisk/asterisk/security/advisories/GHSA-2grh-7mhv-fcfw): Using malformed From header can forge identity with ";" or NULL in name portion
|
||||
- [GHSA-c7p6-7mvq-8jq2](https://github.com/asterisk/asterisk/security/advisories/GHSA-c7p6-7mvq-8jq2): cli_permissions.conf: deny option does not work for disallowing shell commands
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### asterisk.c: Add option to restrict shell access from remote consoles.
|
||||
A new asterisk.conf option 'disable_remote_console_shell' has
|
||||
been added that, when set, will prevent remote consoles from executing
|
||||
shell commands using the '!' prefix.
|
||||
Resolves: #GHSA-c7p6-7mvq-8jq2
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- George Joseph: (2)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-2grh-7mhv-fcfw: Using malformed From header can forge identity with ";" or NULL in name portion
|
||||
- !GHSA-c7p6-7mvq-8jq2: cli_permissions.conf: deny option does not work for disallowing shell commands
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### George Joseph (2):
|
||||
- res_pjsip_messaging.c: Mask control characters in received From display name
|
||||
- asterisk.c: Add option to restrict shell access from remote consoles.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- asterisk.c: Add option to restrict shell access from remote consoles.
|
||||
- res_pjsip_messaging.c: Mask control characters in received From display name
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### asterisk.c: Add option to restrict shell access from remote consoles.
|
||||
Author: George Joseph
|
||||
Date: 2025-05-19
|
||||
|
||||
UserNote: A new asterisk.conf option 'disable_remote_console_shell' has
|
||||
been added that, when set, will prevent remote consoles from executing
|
||||
shell commands using the '!' prefix.
|
||||
|
||||
Resolves: #GHSA-c7p6-7mvq-8jq2
|
||||
|
||||
#### res_pjsip_messaging.c: Mask control characters in received From display name
|
||||
Author: George Joseph
|
||||
Date: 2025-03-24
|
||||
|
||||
Incoming SIP MESSAGEs will now have their From header's display name
|
||||
sanitized by replacing any characters < 32 (space) with a space.
|
||||
|
||||
Resolves: #GHSA-2grh-7mhv-fcfw
|
||||
|
||||
@@ -1,370 +0,0 @@
|
||||
<html><head><title>ChangeLog for asterisk-certified-18.9-cert15</title></head><body>
|
||||
<h2>Change Log for Release asterisk-certified-18.9-cert15</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert15.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/certified-18.9-cert14...certified-18.9-cert15">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert15.tar.gz">Tarball</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk">Downloads</a> </li>
|
||||
</ul>
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Commits: 25</li>
|
||||
<li>Commit Authors: 8</li>
|
||||
<li>Issues Resolved: 10</li>
|
||||
<li>Security Advisories Resolved: 0</li>
|
||||
</ul>
|
||||
<h3>User Notes:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"</h4>
|
||||
<p>The new "suppress_moh_on_sendonly" endpoint option
|
||||
can be used to prevent playing MOH back to a caller if the remote
|
||||
end sends "sendonly" or "inactive" (hold) to Asterisk in an SDP.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>app_mixmonitor: Add 'D' option for dual-channel audio.</h4>
|
||||
<p>The MixMonitor application now has a new 'D' option which
|
||||
interleaves the recorded audio in the output frames. This allows for
|
||||
stereo recording output with one channel being the transmitted audio and
|
||||
the other being the received audio. The 't' and 't' options are
|
||||
compatible with this.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Upgrade Notes:</h3>
|
||||
<h3>Commit Authors:</h3>
|
||||
<ul>
|
||||
<li>Ben Ford: (2)</li>
|
||||
<li>George Joseph: (12)</li>
|
||||
<li>Joshua C. Colp: (1)</li>
|
||||
<li>Marcel Wagner: (1)</li>
|
||||
<li>Mike Bradeen: (1)</li>
|
||||
<li>Naveen Albert: (1)</li>
|
||||
<li>Sean Bright: (6)</li>
|
||||
<li>Shyju Kanaprath: (1)</li>
|
||||
</ul>
|
||||
<h2>Issue and Commit Detail:</h2>
|
||||
<h3>Closed Issues:</h3>
|
||||
<ul>
|
||||
<li>430: [bug]: Fix broken links</li>
|
||||
<li>527: [bug]: app_voicemail_odbc no longer working after removal of macrocontext.</li>
|
||||
<li>937: [bug]: Wrong format for sample config file 'geolocation.conf.sample'</li>
|
||||
<li>938: [bug]: memory leak - CBAnn leaks a small amount format_cap related memory for every confbridge</li>
|
||||
<li>945: [improvement]: Add stereo recording support for app_mixmonitor</li>
|
||||
<li>979: [improvement]: Add ability to suppress MOH when a remote endpoint sends "sendonly" or "inactive"</li>
|
||||
<li>982: [bug]: The addition of tenantid to the ast_sip_endpoint structure broke ABI compatibility</li>
|
||||
<li>995: [bug]: suppress_moh_on_sendonly should use AST_BOOL_VALUES instead of YESNO_VALUES in alembic script</li>
|
||||
<li>1131: [bug]: CHANGES link broken in README.md</li>
|
||||
<li>ASTERISK-29976: Should Readme include information about install_prereq script?</li>
|
||||
</ul>
|
||||
<h3>Commits By Author:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>Ben Ford (2):</h4>
|
||||
</li>
|
||||
<li>app_mixmonitor: Add 'D' option for dual-channel audio.</li>
|
||||
<li>
|
||||
<p>documentation: Update Gosub, Goto, and add new documentationtype.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>George Joseph (12):</h4>
|
||||
</li>
|
||||
<li>Fix application references to Background</li>
|
||||
<li>manager.c: Add unit test for Originate app and appdata permissions</li>
|
||||
<li>geolocation.sample.conf: Fix comment marker at end of file</li>
|
||||
<li>core_unreal.c: Fix memory leak in ast_unreal_new_channels()</li>
|
||||
<li>res_pjsip: Move tenantid to end of ast_sip_endpoint</li>
|
||||
<li>res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"</li>
|
||||
<li>res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T</li>
|
||||
<li>gcc14: Fix issues caught by gcc 14</li>
|
||||
<li>README.md, asterisk.c: Update Copyright Dates</li>
|
||||
<li>README.md: Updates and Fixes</li>
|
||||
<li>build_tools: Backport from 18</li>
|
||||
<li>
|
||||
<p>res_pjsip: Backport pjsip uri utilities.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Joshua C. Colp (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>LICENSE: Update company name, email, and address.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Marcel Wagner (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>documentation: Add information on running install_prereq script in readme</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Mike Bradeen (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>app_voicemail: add NoOp alembic script to maintain sync</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Naveen Albert (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>general: Fix broken links.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Sean Bright (6):</h4>
|
||||
</li>
|
||||
<li>res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery</li>
|
||||
<li>alembic: Drop redundant voicemail_messages index.</li>
|
||||
<li>manager.c: Rename restrictedFile to is_restricted_file.</li>
|
||||
<li>xml.c: Update deprecated libxml2 API usage.</li>
|
||||
<li>chan_dahdi.c: Resolve a format-truncation build warning.</li>
|
||||
<li>
|
||||
<p>chan_sip.c: Fix __sip_reliable_xmit build error</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Shyju Kanaprath (1):</h4>
|
||||
</li>
|
||||
<li>README.md: Removed outdated link</li>
|
||||
</ul>
|
||||
<h3>Commit List:</h3>
|
||||
<ul>
|
||||
<li>res_pjsip: Backport pjsip uri utilities.</li>
|
||||
<li>build_tools: Backport from 18</li>
|
||||
<li>chan_sip.c: Fix __sip_reliable_xmit build error</li>
|
||||
<li>chan_dahdi.c: Resolve a format-truncation build warning.</li>
|
||||
<li>xml.c: Update deprecated libxml2 API usage.</li>
|
||||
<li>documentation: Update Gosub, Goto, and add new documentationtype.</li>
|
||||
<li>README.md: Updates and Fixes</li>
|
||||
<li>README.md: Removed outdated link</li>
|
||||
<li>general: Fix broken links.</li>
|
||||
<li>documentation: Add information on running install_prereq script in readme</li>
|
||||
<li>LICENSE: Update company name, email, and address.</li>
|
||||
<li>README.md, asterisk.c: Update Copyright Dates</li>
|
||||
<li>manager.c: Rename restrictedFile to is_restricted_file.</li>
|
||||
<li>gcc14: Fix issues caught by gcc 14</li>
|
||||
<li>res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T</li>
|
||||
<li>res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"</li>
|
||||
<li>res_pjsip: Move tenantid to end of ast_sip_endpoint</li>
|
||||
<li>app_mixmonitor: Add 'D' option for dual-channel audio.</li>
|
||||
<li>core_unreal.c: Fix memory leak in ast_unreal_new_channels()</li>
|
||||
<li>geolocation.sample.conf: Fix comment marker at end of file</li>
|
||||
<li>manager.c: Add unit test for Originate app and appdata permissions</li>
|
||||
<li>alembic: Drop redundant voicemail_messages index.</li>
|
||||
<li>app_voicemail: add NoOp alembic script to maintain sync</li>
|
||||
<li>res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery</li>
|
||||
<li>Fix application references to Background</li>
|
||||
</ul>
|
||||
<h3>Commit Details:</h3>
|
||||
<h4>res_pjsip: Backport pjsip uri utilities.</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-03-25</p>
|
||||
<p>The following utilities have been backported:</p>
|
||||
<p>ast_sip_is_uri_sip_sips
|
||||
ast_sip_is_allowed_uri
|
||||
ast_sip_pjsip_uri_get_username
|
||||
ast_sip_pjsip_uri_get_hostname
|
||||
ast_sip_pjsip_uri_get_other_param</p>
|
||||
<p>They were originally included in the commit for supporting TEL uris.
|
||||
Support for TEL uris is NOT included here however.</p>
|
||||
<h4>build_tools: Backport from 18</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-03-25</p>
|
||||
<p>There are several build fixes that never made it into certified/18.9.
|
||||
Unfortunately the commits that contained the fixes also contained other
|
||||
stuff that won't cherry-pick into cert so the build files had to be
|
||||
just copied from 18.</p>
|
||||
<h4>chan_sip.c: Fix __sip_reliable_xmit build error</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2024-10-17</p>
|
||||
<p>Fixes #954</p>
|
||||
<h4>chan_dahdi.c: Resolve a format-truncation build warning.</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2022-08-19</p>
|
||||
<p>With gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0:</p>
|
||||
<blockquote>
|
||||
<p>chan_dahdi.c:4129:18: error: ‘%s’ directive output may be truncated
|
||||
writing up to 255 bytes into a region of size between 242 and 252
|
||||
[-Werror=format-truncation=]</p>
|
||||
</blockquote>
|
||||
<p>This removes the error-prone sizeof(...) calculations in favor of just
|
||||
doubling the size of the base buffer.</p>
|
||||
<h4>xml.c: Update deprecated libxml2 API usage.</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2024-05-23</p>
|
||||
<p>Two functions are deprecated as of libxml2 2.12:</p>
|
||||
<pre><code>* xmlSubstituteEntitiesDefault
|
||||
* xmlParseMemory
|
||||
</code></pre>
|
||||
<p>So we update those with supported API.</p>
|
||||
<p>Additionally, <code>res_calendar_caldav</code> has been updated to use libxml2's
|
||||
xmlreader API instead of the SAX2 API which has always felt a little
|
||||
hacky (see deleted comment block in <code>res_calendar_caldav.c</code>).</p>
|
||||
<p>The xmlreader API has been around since libxml2 2.5.0 which was
|
||||
released in 2003.</p>
|
||||
<p>Fixes #725</p>
|
||||
<h4>documentation: Update Gosub, Goto, and add new documentationtype.</h4>
|
||||
<p>Author: Ben Ford
|
||||
Date: 2025-03-14</p>
|
||||
<p>Gosub and Goto were not displaying their syntax correctly on the docs
|
||||
site. This change adds a new way to specify an optional context, an
|
||||
optional extension, and a required priority that the xml stylesheet can
|
||||
parse without having to know which optional parameters come in which
|
||||
order. In Asterisk, it looks like this:</p>
|
||||
<pre><code>parameter name="context" documentationtype="dialplan_context"
|
||||
parameter name="extension" documentationtype="dialplan_extension"
|
||||
parameter name="priority" documentationtype="dialplan_priority" required="true"
|
||||
</code></pre>
|
||||
<p>The stylesheet will ignore the context and extension parameters, but for
|
||||
priority, it will automatically inject the following:</p>
|
||||
<pre><code>[[context,]extension,]priority
|
||||
</code></pre>
|
||||
<p>This is the correct oder for applications such as Gosub and Goto.</p>
|
||||
<h4>README.md: Updates and Fixes</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-03-05</p>
|
||||
<ul>
|
||||
<li>Outdated information has been removed.</li>
|
||||
<li>New links added.</li>
|
||||
<li>Placeholder added for link to change logs.</li>
|
||||
</ul>
|
||||
<p>Going forward, the release process will create HTML versions of the README
|
||||
and change log and will update the link in the README to the current
|
||||
change log for the branch...</p>
|
||||
<ul>
|
||||
<li>In the development branches, the link will always point to the current
|
||||
release on GitHub.</li>
|
||||
<li>In the "releases/*" branches and the tarballs, the link will point to the
|
||||
ChangeLogs/ChangeLog-<version>.html file in the source directory.</li>
|
||||
<li>On the downloads website, the link will point to the
|
||||
ChangeLog-<version>.html file in the same directory.</li>
|
||||
</ul>
|
||||
<p>Resolves: #1131</p>
|
||||
<h4>README.md: Removed outdated link</h4>
|
||||
<p>Author: Shyju Kanaprath
|
||||
Date: 2024-02-23</p>
|
||||
<p>Removed outdated link http://www.quicknet.net from README.md</p>
|
||||
<p>cherry-pick-to: 18
|
||||
cherry-pick-to: 20
|
||||
cherry-pick-to: 21</p>
|
||||
<h4>general: Fix broken links.</h4>
|
||||
<p>Author: Naveen Albert
|
||||
Date: 2023-11-09</p>
|
||||
<p>This fixes a number of broken links throughout the
|
||||
tree, mostly caused by wiki.asterisk.org being replaced
|
||||
with docs.asterisk.org, which should eliminate the
|
||||
need for sporadic fixes as in f28047db36a70e81fe373a3d19132c43adf3f74b.</p>
|
||||
<p>Resolves: #430</p>
|
||||
<h4>documentation: Add information on running install_prereq script in readme</h4>
|
||||
<p>Author: Marcel Wagner
|
||||
Date: 2022-03-23</p>
|
||||
<p>Adding information in the readme about running the install_preqreq script to install components that the ./configure script might indicate as missing.</p>
|
||||
<p>ASTERISK-29976 #close</p>
|
||||
<h4>LICENSE: Update company name, email, and address.</h4>
|
||||
<p>Author: Joshua C. Colp
|
||||
Date: 2025-01-21</p>
|
||||
<h4>README.md, asterisk.c: Update Copyright Dates</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-01-20</p>
|
||||
<h4>manager.c: Rename restrictedFile to is_restricted_file.</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2025-01-09</p>
|
||||
<p>Also correct the spelling of 'privileges.'</p>
|
||||
<h4>gcc14: Fix issues caught by gcc 14</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-01-03</p>
|
||||
<ul>
|
||||
<li>reqresp_parser.c: Fix misuse of "static" with linked list definitions</li>
|
||||
<li>test_message.c: Fix segfaults caused by passing NULL as an sprintf fmt</li>
|
||||
</ul>
|
||||
<h4>res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-11-15</p>
|
||||
<p>The suppress_moh_on_sendonly endpoint option should have been
|
||||
defined as OPT_BOOL_T in pjsip_configuration.c and AST_BOOL_VALUES
|
||||
in the alembic script instead of OPT_YESNO_T and YESNO_VALUES.</p>
|
||||
<p>Also updated contrib/ast-db-manage/README.md to indicate that
|
||||
AST_BOOL_VALUES should always be used and provided an example.</p>
|
||||
<p>Resolves: #995</p>
|
||||
<h4>res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-11-05</p>
|
||||
<p>Normally, when one party in a call sends Asterisk an SDP with
|
||||
a "sendonly" or "inactive" attribute it means "hold" and causes
|
||||
Asterisk to start playing MOH back to the other party. This can be
|
||||
problematic if it happens at certain times, such as in a 183
|
||||
Progress message, because the MOH will replace any early media you
|
||||
may be playing to the calling party. If you set this option
|
||||
to "yes" on an endpoint and the endpoint receives an SDP
|
||||
with "sendonly" or "inactive", Asterisk will NOT play MOH back to
|
||||
the other party.</p>
|
||||
<p>Resolves: #979</p>
|
||||
<p>UserNote: The new "suppress_moh_on_sendonly" endpoint option
|
||||
can be used to prevent playing MOH back to a caller if the remote
|
||||
end sends "sendonly" or "inactive" (hold) to Asterisk in an SDP.</p>
|
||||
<h4>res_pjsip: Move tenantid to end of ast_sip_endpoint</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-11-06</p>
|
||||
<p>The tenantid field was originally added to the ast_sip_endpoint
|
||||
structure at the end of the AST_DECLARE_STRING_FIELDS block. This
|
||||
caused everything after it in the structure to move down in memory
|
||||
and break ABI compatibility. It's now at the end of the structure
|
||||
as an AST_STRING_FIELD_EXTENDED. Given the number of string fields
|
||||
in the structure now, the initial string field allocation was
|
||||
also increased from 64 to 128 bytes.</p>
|
||||
<p>Resolves: #982</p>
|
||||
<h4>app_mixmonitor: Add 'D' option for dual-channel audio.</h4>
|
||||
<p>Author: Ben Ford
|
||||
Date: 2024-10-28</p>
|
||||
<p>Adds the 'D' option to app_mixmonitor that interleaves the input and
|
||||
output frames of the channel being recorded in the monitor output frame.
|
||||
This allows for two streams in the recording: the transmitted audio and
|
||||
the received audio. The 't' and 'r' options are compatible with this.</p>
|
||||
<p>Fixes: #945</p>
|
||||
<p>UserNote: The MixMonitor application now has a new 'D' option which
|
||||
interleaves the recorded audio in the output frames. This allows for
|
||||
stereo recording output with one channel being the transmitted audio and
|
||||
the other being the received audio. The 't' and 't' options are
|
||||
compatible with this.</p>
|
||||
<h4>core_unreal.c: Fix memory leak in ast_unreal_new_channels()</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-10-15</p>
|
||||
<p>When the channel tech is multistream capable, the reference to
|
||||
chan_topology was passed to the new channel. When the channel tech
|
||||
isn't multistream capable, the reference to chan_topology was never
|
||||
released. "Local" channels are multistream capable so it didn't
|
||||
affect them but the confbridge "CBAnn" and the bridge_media
|
||||
"Recorder" channels are not so they caused a leak every time one
|
||||
of them was created.</p>
|
||||
<p>Also added tracing to ast_stream_topology_alloc() and
|
||||
stream_topology_destroy() to assist with debugging.</p>
|
||||
<p>Resolves: #938</p>
|
||||
<h4>geolocation.sample.conf: Fix comment marker at end of file</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-10-08</p>
|
||||
<p>Resolves: #937</p>
|
||||
<h4>manager.c: Add unit test for Originate app and appdata permissions</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-10-03</p>
|
||||
<p>This unit test checks that dialplan apps and app data specified
|
||||
as parameters for the Originate action are allowed with the
|
||||
permissions the user has.</p>
|
||||
<h4>alembic: Drop redundant voicemail_messages index.</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2024-09-26</p>
|
||||
<p>The <code>voicemail_messages_dir</code> index is a left prefix of the table's
|
||||
primary key and therefore unnecessary.</p>
|
||||
<h4>app_voicemail: add NoOp alembic script to maintain sync</h4>
|
||||
<p>Author: Mike Bradeen
|
||||
Date: 2024-01-17</p>
|
||||
<p>Adding a NoOp alembic script for the voicemail database to maintain
|
||||
version sync with other branches.</p>
|
||||
<p>Fixes: #527</p>
|
||||
<h4>res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2024-09-23</p>
|
||||
<p>Fixes #895</p>
|
||||
<h4>Fix application references to Background</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2024-09-20</p>
|
||||
<p>The app is actually named "BackGround" but several references
|
||||
in XML documentation were spelled "Background" with the lower
|
||||
case "g". This was causing documentation links to return
|
||||
"not found" messages.</p>
|
||||
</body></html>
|
||||
@@ -1,433 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert15
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert15.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert14...certified-18.9-cert15)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert15.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 25
|
||||
- Commit Authors: 8
|
||||
- Issues Resolved: 10
|
||||
- Security Advisories Resolved: 0
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"
|
||||
The new "suppress_moh_on_sendonly" endpoint option
|
||||
can be used to prevent playing MOH back to a caller if the remote
|
||||
end sends "sendonly" or "inactive" (hold) to Asterisk in an SDP.
|
||||
|
||||
- #### app_mixmonitor: Add 'D' option for dual-channel audio.
|
||||
The MixMonitor application now has a new 'D' option which
|
||||
interleaves the recorded audio in the output frames. This allows for
|
||||
stereo recording output with one channel being the transmitted audio and
|
||||
the other being the received audio. The 't' and 't' options are
|
||||
compatible with this.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- Ben Ford: (2)
|
||||
- George Joseph: (12)
|
||||
- Joshua C. Colp: (1)
|
||||
- Marcel Wagner: (1)
|
||||
- Mike Bradeen: (1)
|
||||
- Naveen Albert: (1)
|
||||
- Sean Bright: (6)
|
||||
- Shyju Kanaprath: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- 430: [bug]: Fix broken links
|
||||
- 527: [bug]: app_voicemail_odbc no longer working after removal of macrocontext.
|
||||
- 937: [bug]: Wrong format for sample config file 'geolocation.conf.sample'
|
||||
- 938: [bug]: memory leak - CBAnn leaks a small amount format_cap related memory for every confbridge
|
||||
- 945: [improvement]: Add stereo recording support for app_mixmonitor
|
||||
- 979: [improvement]: Add ability to suppress MOH when a remote endpoint sends "sendonly" or "inactive"
|
||||
- 982: [bug]: The addition of tenantid to the ast_sip_endpoint structure broke ABI compatibility
|
||||
- 995: [bug]: suppress_moh_on_sendonly should use AST_BOOL_VALUES instead of YESNO_VALUES in alembic script
|
||||
- 1131: [bug]: CHANGES link broken in README.md
|
||||
- ASTERISK-29976: Should Readme include information about install_prereq script?
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### Ben Ford (2):
|
||||
- app_mixmonitor: Add 'D' option for dual-channel audio.
|
||||
- documentation: Update Gosub, Goto, and add new documentationtype.
|
||||
|
||||
- #### George Joseph (12):
|
||||
- Fix application references to Background
|
||||
- manager.c: Add unit test for Originate app and appdata permissions
|
||||
- geolocation.sample.conf: Fix comment marker at end of file
|
||||
- core_unreal.c: Fix memory leak in ast_unreal_new_channels()
|
||||
- res_pjsip: Move tenantid to end of ast_sip_endpoint
|
||||
- res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"
|
||||
- res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T
|
||||
- gcc14: Fix issues caught by gcc 14
|
||||
- README.md, asterisk.c: Update Copyright Dates
|
||||
- README.md: Updates and Fixes
|
||||
- build_tools: Backport from 18
|
||||
- res_pjsip: Backport pjsip uri utilities.
|
||||
|
||||
- #### Joshua C. Colp (1):
|
||||
- LICENSE: Update company name, email, and address.
|
||||
|
||||
- #### Marcel Wagner (1):
|
||||
- documentation: Add information on running install_prereq script in readme
|
||||
|
||||
- #### Mike Bradeen (1):
|
||||
- app_voicemail: add NoOp alembic script to maintain sync
|
||||
|
||||
- #### Naveen Albert (1):
|
||||
- general: Fix broken links.
|
||||
|
||||
- #### Sean Bright (6):
|
||||
- res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery
|
||||
- alembic: Drop redundant voicemail_messages index.
|
||||
- manager.c: Rename restrictedFile to is_restricted_file.
|
||||
- xml.c: Update deprecated libxml2 API usage.
|
||||
- chan_dahdi.c: Resolve a format-truncation build warning.
|
||||
- chan_sip.c: Fix __sip_reliable_xmit build error
|
||||
|
||||
- #### Shyju Kanaprath (1):
|
||||
- README.md: Removed outdated link
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- res_pjsip: Backport pjsip uri utilities.
|
||||
- build_tools: Backport from 18
|
||||
- chan_sip.c: Fix __sip_reliable_xmit build error
|
||||
- chan_dahdi.c: Resolve a format-truncation build warning.
|
||||
- xml.c: Update deprecated libxml2 API usage.
|
||||
- documentation: Update Gosub, Goto, and add new documentationtype.
|
||||
- README.md: Updates and Fixes
|
||||
- README.md: Removed outdated link
|
||||
- general: Fix broken links.
|
||||
- documentation: Add information on running install_prereq script in readme
|
||||
- LICENSE: Update company name, email, and address.
|
||||
- README.md, asterisk.c: Update Copyright Dates
|
||||
- manager.c: Rename restrictedFile to is_restricted_file.
|
||||
- gcc14: Fix issues caught by gcc 14
|
||||
- res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T
|
||||
- res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"
|
||||
- res_pjsip: Move tenantid to end of ast_sip_endpoint
|
||||
- app_mixmonitor: Add 'D' option for dual-channel audio.
|
||||
- core_unreal.c: Fix memory leak in ast_unreal_new_channels()
|
||||
- geolocation.sample.conf: Fix comment marker at end of file
|
||||
- manager.c: Add unit test for Originate app and appdata permissions
|
||||
- alembic: Drop redundant voicemail_messages index.
|
||||
- app_voicemail: add NoOp alembic script to maintain sync
|
||||
- res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery
|
||||
- Fix application references to Background
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### res_pjsip: Backport pjsip uri utilities.
|
||||
Author: George Joseph
|
||||
Date: 2025-03-25
|
||||
|
||||
The following utilities have been backported:
|
||||
|
||||
ast_sip_is_uri_sip_sips
|
||||
ast_sip_is_allowed_uri
|
||||
ast_sip_pjsip_uri_get_username
|
||||
ast_sip_pjsip_uri_get_hostname
|
||||
ast_sip_pjsip_uri_get_other_param
|
||||
|
||||
They were originally included in the commit for supporting TEL uris.
|
||||
Support for TEL uris is NOT included here however.
|
||||
|
||||
|
||||
#### build_tools: Backport from 18
|
||||
Author: George Joseph
|
||||
Date: 2025-03-25
|
||||
|
||||
There are several build fixes that never made it into certified/18.9.
|
||||
Unfortunately the commits that contained the fixes also contained other
|
||||
stuff that won't cherry-pick into cert so the build files had to be
|
||||
just copied from 18.
|
||||
|
||||
|
||||
#### chan_sip.c: Fix __sip_reliable_xmit build error
|
||||
Author: Sean Bright
|
||||
Date: 2024-10-17
|
||||
|
||||
Fixes #954
|
||||
|
||||
|
||||
#### chan_dahdi.c: Resolve a format-truncation build warning.
|
||||
Author: Sean Bright
|
||||
Date: 2022-08-19
|
||||
|
||||
With gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0:
|
||||
|
||||
> chan_dahdi.c:4129:18: error: ‘%s’ directive output may be truncated
|
||||
> writing up to 255 bytes into a region of size between 242 and 252
|
||||
> [-Werror=format-truncation=]
|
||||
|
||||
This removes the error-prone sizeof(...) calculations in favor of just
|
||||
doubling the size of the base buffer.
|
||||
|
||||
|
||||
#### xml.c: Update deprecated libxml2 API usage.
|
||||
Author: Sean Bright
|
||||
Date: 2024-05-23
|
||||
|
||||
Two functions are deprecated as of libxml2 2.12:
|
||||
|
||||
* xmlSubstituteEntitiesDefault
|
||||
* xmlParseMemory
|
||||
|
||||
So we update those with supported API.
|
||||
|
||||
Additionally, `res_calendar_caldav` has been updated to use libxml2's
|
||||
xmlreader API instead of the SAX2 API which has always felt a little
|
||||
hacky (see deleted comment block in `res_calendar_caldav.c`).
|
||||
|
||||
The xmlreader API has been around since libxml2 2.5.0 which was
|
||||
released in 2003.
|
||||
|
||||
Fixes #725
|
||||
|
||||
|
||||
#### documentation: Update Gosub, Goto, and add new documentationtype.
|
||||
Author: Ben Ford
|
||||
Date: 2025-03-14
|
||||
|
||||
Gosub and Goto were not displaying their syntax correctly on the docs
|
||||
site. This change adds a new way to specify an optional context, an
|
||||
optional extension, and a required priority that the xml stylesheet can
|
||||
parse without having to know which optional parameters come in which
|
||||
order. In Asterisk, it looks like this:
|
||||
|
||||
parameter name="context" documentationtype="dialplan_context"
|
||||
parameter name="extension" documentationtype="dialplan_extension"
|
||||
parameter name="priority" documentationtype="dialplan_priority" required="true"
|
||||
|
||||
The stylesheet will ignore the context and extension parameters, but for
|
||||
priority, it will automatically inject the following:
|
||||
|
||||
[[context,]extension,]priority
|
||||
|
||||
This is the correct oder for applications such as Gosub and Goto.
|
||||
|
||||
|
||||
#### README.md: Updates and Fixes
|
||||
Author: George Joseph
|
||||
Date: 2025-03-05
|
||||
|
||||
* Outdated information has been removed.
|
||||
* New links added.
|
||||
* Placeholder added for link to change logs.
|
||||
|
||||
Going forward, the release process will create HTML versions of the README
|
||||
and change log and will update the link in the README to the current
|
||||
change log for the branch...
|
||||
|
||||
* In the development branches, the link will always point to the current
|
||||
release on GitHub.
|
||||
* In the "releases/*" branches and the tarballs, the link will point to the
|
||||
ChangeLogs/ChangeLog-<version>.html file in the source directory.
|
||||
* On the downloads website, the link will point to the
|
||||
ChangeLog-<version>.html file in the same directory.
|
||||
|
||||
Resolves: #1131
|
||||
|
||||
#### README.md: Removed outdated link
|
||||
Author: Shyju Kanaprath
|
||||
Date: 2024-02-23
|
||||
|
||||
Removed outdated link http://www.quicknet.net from README.md
|
||||
|
||||
cherry-pick-to: 18
|
||||
cherry-pick-to: 20
|
||||
cherry-pick-to: 21
|
||||
|
||||
#### general: Fix broken links.
|
||||
Author: Naveen Albert
|
||||
Date: 2023-11-09
|
||||
|
||||
This fixes a number of broken links throughout the
|
||||
tree, mostly caused by wiki.asterisk.org being replaced
|
||||
with docs.asterisk.org, which should eliminate the
|
||||
need for sporadic fixes as in f28047db36a70e81fe373a3d19132c43adf3f74b.
|
||||
|
||||
Resolves: #430
|
||||
|
||||
#### documentation: Add information on running install_prereq script in readme
|
||||
Author: Marcel Wagner
|
||||
Date: 2022-03-23
|
||||
|
||||
Adding information in the readme about running the install_preqreq script to install components that the ./configure script might indicate as missing.
|
||||
|
||||
ASTERISK-29976 #close
|
||||
|
||||
|
||||
#### LICENSE: Update company name, email, and address.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2025-01-21
|
||||
|
||||
|
||||
#### README.md, asterisk.c: Update Copyright Dates
|
||||
Author: George Joseph
|
||||
Date: 2025-01-20
|
||||
|
||||
|
||||
#### manager.c: Rename restrictedFile to is_restricted_file.
|
||||
Author: Sean Bright
|
||||
Date: 2025-01-09
|
||||
|
||||
Also correct the spelling of 'privileges.'
|
||||
|
||||
|
||||
#### gcc14: Fix issues caught by gcc 14
|
||||
Author: George Joseph
|
||||
Date: 2025-01-03
|
||||
|
||||
* reqresp_parser.c: Fix misuse of "static" with linked list definitions
|
||||
* test_message.c: Fix segfaults caused by passing NULL as an sprintf fmt
|
||||
|
||||
|
||||
#### res_pjsip: Change suppress_moh_on_sendonly to OPT_BOOL_T
|
||||
Author: George Joseph
|
||||
Date: 2024-11-15
|
||||
|
||||
The suppress_moh_on_sendonly endpoint option should have been
|
||||
defined as OPT_BOOL_T in pjsip_configuration.c and AST_BOOL_VALUES
|
||||
in the alembic script instead of OPT_YESNO_T and YESNO_VALUES.
|
||||
|
||||
Also updated contrib/ast-db-manage/README.md to indicate that
|
||||
AST_BOOL_VALUES should always be used and provided an example.
|
||||
|
||||
Resolves: #995
|
||||
|
||||
#### res_pjsip: Add new endpoint option "suppress_moh_on_sendonly"
|
||||
Author: George Joseph
|
||||
Date: 2024-11-05
|
||||
|
||||
Normally, when one party in a call sends Asterisk an SDP with
|
||||
a "sendonly" or "inactive" attribute it means "hold" and causes
|
||||
Asterisk to start playing MOH back to the other party. This can be
|
||||
problematic if it happens at certain times, such as in a 183
|
||||
Progress message, because the MOH will replace any early media you
|
||||
may be playing to the calling party. If you set this option
|
||||
to "yes" on an endpoint and the endpoint receives an SDP
|
||||
with "sendonly" or "inactive", Asterisk will NOT play MOH back to
|
||||
the other party.
|
||||
|
||||
Resolves: #979
|
||||
|
||||
UserNote: The new "suppress_moh_on_sendonly" endpoint option
|
||||
can be used to prevent playing MOH back to a caller if the remote
|
||||
end sends "sendonly" or "inactive" (hold) to Asterisk in an SDP.
|
||||
|
||||
|
||||
#### res_pjsip: Move tenantid to end of ast_sip_endpoint
|
||||
Author: George Joseph
|
||||
Date: 2024-11-06
|
||||
|
||||
The tenantid field was originally added to the ast_sip_endpoint
|
||||
structure at the end of the AST_DECLARE_STRING_FIELDS block. This
|
||||
caused everything after it in the structure to move down in memory
|
||||
and break ABI compatibility. It's now at the end of the structure
|
||||
as an AST_STRING_FIELD_EXTENDED. Given the number of string fields
|
||||
in the structure now, the initial string field allocation was
|
||||
also increased from 64 to 128 bytes.
|
||||
|
||||
Resolves: #982
|
||||
|
||||
#### app_mixmonitor: Add 'D' option for dual-channel audio.
|
||||
Author: Ben Ford
|
||||
Date: 2024-10-28
|
||||
|
||||
Adds the 'D' option to app_mixmonitor that interleaves the input and
|
||||
output frames of the channel being recorded in the monitor output frame.
|
||||
This allows for two streams in the recording: the transmitted audio and
|
||||
the received audio. The 't' and 'r' options are compatible with this.
|
||||
|
||||
Fixes: #945
|
||||
|
||||
UserNote: The MixMonitor application now has a new 'D' option which
|
||||
interleaves the recorded audio in the output frames. This allows for
|
||||
stereo recording output with one channel being the transmitted audio and
|
||||
the other being the received audio. The 't' and 't' options are
|
||||
compatible with this.
|
||||
|
||||
|
||||
#### core_unreal.c: Fix memory leak in ast_unreal_new_channels()
|
||||
Author: George Joseph
|
||||
Date: 2024-10-15
|
||||
|
||||
When the channel tech is multistream capable, the reference to
|
||||
chan_topology was passed to the new channel. When the channel tech
|
||||
isn't multistream capable, the reference to chan_topology was never
|
||||
released. "Local" channels are multistream capable so it didn't
|
||||
affect them but the confbridge "CBAnn" and the bridge_media
|
||||
"Recorder" channels are not so they caused a leak every time one
|
||||
of them was created.
|
||||
|
||||
Also added tracing to ast_stream_topology_alloc() and
|
||||
stream_topology_destroy() to assist with debugging.
|
||||
|
||||
Resolves: #938
|
||||
|
||||
#### geolocation.sample.conf: Fix comment marker at end of file
|
||||
Author: George Joseph
|
||||
Date: 2024-10-08
|
||||
|
||||
Resolves: #937
|
||||
|
||||
#### manager.c: Add unit test for Originate app and appdata permissions
|
||||
Author: George Joseph
|
||||
Date: 2024-10-03
|
||||
|
||||
This unit test checks that dialplan apps and app data specified
|
||||
as parameters for the Originate action are allowed with the
|
||||
permissions the user has.
|
||||
|
||||
|
||||
#### alembic: Drop redundant voicemail_messages index.
|
||||
Author: Sean Bright
|
||||
Date: 2024-09-26
|
||||
|
||||
The `voicemail_messages_dir` index is a left prefix of the table's
|
||||
primary key and therefore unnecessary.
|
||||
|
||||
|
||||
#### app_voicemail: add NoOp alembic script to maintain sync
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-01-17
|
||||
|
||||
Adding a NoOp alembic script for the voicemail database to maintain
|
||||
version sync with other branches.
|
||||
|
||||
Fixes: #527
|
||||
|
||||
#### res_pjsip_pubsub: Persist subscription 'generator_data' in sorcery
|
||||
Author: Sean Bright
|
||||
Date: 2024-09-23
|
||||
|
||||
Fixes #895
|
||||
|
||||
|
||||
#### Fix application references to Background
|
||||
Author: George Joseph
|
||||
Date: 2024-09-20
|
||||
|
||||
The app is actually named "BackGround" but several references
|
||||
in XML documentation were spelled "Background" with the lower
|
||||
case "g". This was causing documentation links to return
|
||||
"not found" messages.
|
||||
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
<html><head><title>ChangeLog for asterisk-certified-18.9-cert16</title></head><body>
|
||||
<h2>Change Log for Release asterisk-certified-18.9-cert16</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert16.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/certified-18.9-cert15...certified-18.9-cert16">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert16.tar.gz">Tarball</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk">Downloads</a> </li>
|
||||
</ul>
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Commits: 1</li>
|
||||
<li>Commit Authors: 1</li>
|
||||
<li>Issues Resolved: 0</li>
|
||||
<li>Security Advisories Resolved: 1</li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-v9q8-9j8m-5xwp">GHSA-v9q8-9j8m-5xwp</a>: Uncontrolled Search-Path Element in safe_asterisk script may allow local privilege escalation.</li>
|
||||
</ul>
|
||||
<h3>User Notes:</h3>
|
||||
<h3>Upgrade Notes:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.</h4>
|
||||
The safe_asterisk script now checks that, if it was run by the
|
||||
root user, the /etc/asterisk/startup.d directory and all the files it contains
|
||||
are owned by root. If the checks fail, safe_asterisk will exit with an error
|
||||
and Asterisk will not be started. Additionally, the default logging
|
||||
destination is now stderr instead of tty "9" which probably won't exist
|
||||
in modern systems.</li>
|
||||
</ul>
|
||||
<h3>Developer Notes:</h3>
|
||||
<h3>Commit Authors:</h3>
|
||||
<ul>
|
||||
<li>ThatTotallyRealMyth: (1)</li>
|
||||
</ul>
|
||||
<h2>Issue and Commit Detail:</h2>
|
||||
<h3>Closed Issues:</h3>
|
||||
<ul>
|
||||
<li>!GHSA-v9q8-9j8m-5xwp: Uncontrolled Search-Path Element in safe_asterisk script may allow local privilege escalation.</li>
|
||||
</ul>
|
||||
<h3>Commits By Author:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>ThatTotallyRealMyth (1):</h4>
|
||||
</li>
|
||||
<li>safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.</li>
|
||||
</ul>
|
||||
<h3>Commit List:</h3>
|
||||
<ul>
|
||||
<li>safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.</li>
|
||||
</ul>
|
||||
<h3>Commit Details:</h3>
|
||||
<h4>safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.</h4>
|
||||
<p>Author: ThatTotallyRealMyth
|
||||
Date: 2025-06-10</p>
|
||||
<p>UpgradeNote: The safe_asterisk script now checks that, if it was run by the
|
||||
root user, the /etc/asterisk/startup.d directory and all the files it contains
|
||||
are owned by root. If the checks fail, safe_asterisk will exit with an error
|
||||
and Asterisk will not be started. Additionally, the default logging
|
||||
destination is now stderr instead of tty "9" which probably won't exist
|
||||
in modern systems.</p>
|
||||
<p>Resolves: #GHSA-v9q8-9j8m-5xwp</p>
|
||||
</body></html>
|
||||
@@ -1,70 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert16
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert16.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert15...certified-18.9-cert16)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert16.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 1
|
||||
- Commit Authors: 1
|
||||
- Issues Resolved: 0
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-v9q8-9j8m-5xwp](https://github.com/asterisk/asterisk/security/advisories/GHSA-v9q8-9j8m-5xwp): Uncontrolled Search-Path Element in safe_asterisk script may allow local privilege escalation.
|
||||
|
||||
### User Notes:
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
- #### safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.
|
||||
The safe_asterisk script now checks that, if it was run by the
|
||||
root user, the /etc/asterisk/startup.d directory and all the files it contains
|
||||
are owned by root. If the checks fail, safe_asterisk will exit with an error
|
||||
and Asterisk will not be started. Additionally, the default logging
|
||||
destination is now stderr instead of tty "9" which probably won't exist
|
||||
in modern systems.
|
||||
|
||||
|
||||
### Developer Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- ThatTotallyRealMyth: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-v9q8-9j8m-5xwp: Uncontrolled Search-Path Element in safe_asterisk script may allow local privilege escalation.
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### ThatTotallyRealMyth (1):
|
||||
- safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### safe_asterisk: Add ownership checks for /etc/asterisk/startup.d and its files.
|
||||
Author: ThatTotallyRealMyth
|
||||
Date: 2025-06-10
|
||||
|
||||
UpgradeNote: The safe_asterisk script now checks that, if it was run by the
|
||||
root user, the /etc/asterisk/startup.d directory and all the files it contains
|
||||
are owned by root. If the checks fail, safe_asterisk will exit with an error
|
||||
and Asterisk will not be started. Additionally, the default logging
|
||||
destination is now stderr instead of tty "9" which probably won't exist
|
||||
in modern systems.
|
||||
|
||||
Resolves: #GHSA-v9q8-9j8m-5xwp
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
<html><head><title>ChangeLog for asterisk-certified-18.9-cert17</title></head><body>
|
||||
<h2>Change Log for Release asterisk-certified-18.9-cert17</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert17.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/certified-18.9-cert16...certified-18.9-cert17">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert17.tar.gz">Tarball</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/certified-asterisk">Downloads</a> </li>
|
||||
</ul>
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Commits: 1</li>
|
||||
<li>Commit Authors: 1</li>
|
||||
<li>Issues Resolved: 0</li>
|
||||
<li>Security Advisories Resolved: 1</li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/security/advisories/GHSA-557q-795j-wfx2">GHSA-557q-795j-wfx2</a>: Resource exhaustion (DoS) vulnerability: remotely exploitable leak of RTP UDP ports and internal resources</li>
|
||||
</ul>
|
||||
<h3>User Notes:</h3>
|
||||
<h3>Upgrade Notes:</h3>
|
||||
<h3>Developer Notes:</h3>
|
||||
<h3>Commit Authors:</h3>
|
||||
<ul>
|
||||
<li>George Joseph: (1)</li>
|
||||
</ul>
|
||||
<h2>Issue and Commit Detail:</h2>
|
||||
<h3>Closed Issues:</h3>
|
||||
<ul>
|
||||
<li>!GHSA-557q-795j-wfx2: Resource exhaustion (DoS) vulnerability: remotely exploitable leak of RTP UDP ports and internal resources</li>
|
||||
</ul>
|
||||
<h3>Commits By Author:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<h4>George Joseph (1):</h4>
|
||||
</li>
|
||||
<li>pjproject: Update bundled to 2.15.1.</li>
|
||||
</ul>
|
||||
<h3>Commit List:</h3>
|
||||
<ul>
|
||||
<li>pjproject: Update bundled to 2.15.1.</li>
|
||||
</ul>
|
||||
<h3>Commit Details:</h3>
|
||||
<h4>pjproject: Update bundled to 2.15.1.</h4>
|
||||
<p>Author: George Joseph
|
||||
Date: 2025-08-25</p>
|
||||
<p>This resolves a security issue where RTP ports weren't being released
|
||||
causing possible resource exhaustion issues.</p>
|
||||
<p>Resolves: #GHSA-557q-795j-wfx2</p>
|
||||
</body></html>
|
||||
@@ -1,58 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert17
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert17.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert16...certified-18.9-cert17)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert17.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 1
|
||||
- Commit Authors: 1
|
||||
- Issues Resolved: 0
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-557q-795j-wfx2](https://github.com/asterisk/asterisk/security/advisories/GHSA-557q-795j-wfx2): Resource exhaustion (DoS) vulnerability: remotely exploitable leak of RTP UDP ports and internal resources
|
||||
|
||||
### User Notes:
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Developer Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- George Joseph: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-557q-795j-wfx2: Resource exhaustion (DoS) vulnerability: remotely exploitable leak of RTP UDP ports and internal resources
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### George Joseph (1):
|
||||
- pjproject: Update bundled to 2.15.1.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- pjproject: Update bundled to 2.15.1.
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### pjproject: Update bundled to 2.15.1.
|
||||
Author: George Joseph
|
||||
Date: 2025-08-25
|
||||
|
||||
This resolves a security issue where RTP ports weren't being released
|
||||
causing possible resource exhaustion issues.
|
||||
|
||||
Resolves: #GHSA-557q-795j-wfx2
|
||||
|
||||
@@ -1,680 +0,0 @@
|
||||
|
||||
Change Log for Release certified-18.9-cert5
|
||||
========================================
|
||||
|
||||
Links:
|
||||
----------------------------------------
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-certified-18.9-cert5.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert4...certified-18.9-cert5)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-certified-18.9-cert5.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
|
||||
Summary:
|
||||
----------------------------------------
|
||||
|
||||
- apply_patches: Use globbing instead of file/sort.
|
||||
- apply_patches: Sort patch list before applying
|
||||
- bundled_pjproject: Backport security fixes from pjproject 2.13.1
|
||||
- .github: Updates for AsteriskReleaser
|
||||
- res_musiconhold: avoid moh state access on unlocked chan
|
||||
- utils: add lock timestamps for DEBUG_THREADS
|
||||
- .github: Back out triggering PROpenedOrUpdated by label
|
||||
- .github: Move publish docs to new file CreateDocs.yml
|
||||
- .github: Remove result check from PROpenUpdateGateTests
|
||||
- .github: Fix use of 'contains'
|
||||
- .github: Add recheck label test to additional jobs
|
||||
- .github: Fix recheck label typos
|
||||
- .github: Fix recheck label manipulation
|
||||
- .github: Allow PR submit checks to be re-run by label
|
||||
- res_pjsip_session: Added new function calls to avoid ABI issues.
|
||||
- test_statis_endpoints: Fix channel_messages test again
|
||||
- test_stasis_endpoints.c: Make channel_messages more stable
|
||||
- build: Fix a few gcc 13 issues
|
||||
- .github: Rework for merge approval
|
||||
- AMI: Add CoreShowChannelMap action.
|
||||
- .github: Fix issues with cherry-pick-reminder
|
||||
- indications: logging changes
|
||||
- .github Ignore error when adding reviewrs to PR
|
||||
- .github: Update field descriptions for AsteriskReleaser
|
||||
- .github: Change title of AsteriskReleaser job
|
||||
- .github: Don't add cherry-pick reminder if it's already present
|
||||
- .github: Fix quoting in PROpenedOrUpdated
|
||||
- .github: Add cherry-pick reminder to new PRs
|
||||
- core: Cleanup gerrit and JIRA references. (#40) (#61)
|
||||
- .github: Tweak improvement issue type language.
|
||||
- .github: Tweak new feature language, and move feature requests elsewhere.
|
||||
- .github: Fix staleness check to only run on certain labels.
|
||||
- .github: Add AsteriskReleaser
|
||||
- cel: add local optimization begin event
|
||||
- .github: Fix CherryPickTest to only run when it should
|
||||
- .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
|
||||
- .github: Remove separate set labels step from new PR
|
||||
- .github: Refactor CP progress and add new PR test progress
|
||||
- .github: Add cherry-pick test progress labels
|
||||
- .github: Update issue templates
|
||||
- .github: Remove unnecessary parameter in CherryPickTest
|
||||
- Initial GitHub PRs
|
||||
- Initial GitHub Issue Templates
|
||||
- test.c: Fix counting of tests and add 2 new tests
|
||||
- res_mixmonitor: MixMonitorMute by MixMonitor ID
|
||||
- format_sln: add .slin as supported file extension
|
||||
- bridge_builtin_features: add beep via touch variable
|
||||
- cli: increase channel column width
|
||||
- app_senddtmf: Add option to answer target channel.
|
||||
- app_directory: Add a 'skip call' option.
|
||||
- app_read: Add an option to return terminator on empty digits.
|
||||
- app_directory: add ability to specify configuration file
|
||||
|
||||
User Notes:
|
||||
----------------------------------------
|
||||
|
||||
- ### AMI: Add CoreShowChannelMap action.
|
||||
New AMI action CoreShowChannelMap has been added.
|
||||
|
||||
- ### cel: add local optimization begin event
|
||||
The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used
|
||||
by itself or in conert with the existing
|
||||
AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion.
|
||||
|
||||
- ### app_read: Add an option to return terminator on empty digits.
|
||||
A new option 'e' has been added to allow Read() to return the
|
||||
terminator as the dialed digits in the case where only the terminator
|
||||
is entered.
|
||||
|
||||
- ### format_sln: add .slin as supported file extension
|
||||
format_sln now recognizes '.slin' as a valid
|
||||
file extension in addition to the existing
|
||||
'.sln' and '.raw'.
|
||||
|
||||
- ### bridge_builtin_features: add beep via touch variable
|
||||
Add optional touch variable : TOUCH_MIXMONITOR_BEEP(interval)
|
||||
Setting TOUCH_MIXMONITOR_BEEP/TOUCH_MONITOR_BEEP to a valid
|
||||
interval in seconds will result in a periodic beep being
|
||||
played to the monitored channel upon MixMontior/Monitor
|
||||
feature start.
|
||||
If an interval less than 5 seconds is specified, the interval
|
||||
will default to 5 seconds. If the value is set to an invalid
|
||||
interval, the default of 15 seconds will be used.
|
||||
|
||||
- ### app_directory: Add a 'skip call' option.
|
||||
A new option 's' has been added to the Directory() application that
|
||||
will skip calling the extension and instead set the extension as
|
||||
DIRECTORY_EXTEN channel variable.
|
||||
|
||||
- ### res_mixmonitor: MixMonitorMute by MixMonitor ID
|
||||
It is now possible to specify the MixMonitorID when calling
|
||||
the manager action: MixMonitorMute. This will allow an
|
||||
individual MixMonitor instance to be muted via ID.
|
||||
The MixMonitorID can be stored as a channel variable using
|
||||
the 'i' MixMonitor option and is returned upon creation if
|
||||
this option is used.
|
||||
As part of this change, if no MixMonitorID is specified in
|
||||
the manager action MixMonitorMute, Asterisk will set the mute
|
||||
flag on all MixMonitor audiohooks on the channel. Previous
|
||||
behavior would set the flag on the first MixMonitor audiohook
|
||||
found.
|
||||
|
||||
- ### app_senddtmf: Add option to answer target channel.
|
||||
A new option has been added to SendDTMF() which will answer the
|
||||
specified channel if it is not already up. If no channel is specified,
|
||||
the current channel will be answered instead.
|
||||
|
||||
- ### test.c: Fix counting of tests and add 2 new tests
|
||||
The "tests" attribute of the "testsuite" element in the
|
||||
output XML now reflects only the tests actually requested
|
||||
to be executed instead of all the tests registered.
|
||||
The "failures" attribute was added to the "testsuite"
|
||||
element.
|
||||
Also added two new unit tests that just pass and fail
|
||||
to be used for testing CI itself.
|
||||
|
||||
- ### cli: increase channel column width
|
||||
This change increases the display width on 'core show channels'
|
||||
amd 'core show channels verbose'
|
||||
For 'core show channels', the Channel name field is increased to
|
||||
64 characters and the Location name field is increased to 32
|
||||
characters.
|
||||
For 'core show channels verbose', the Channel name field is
|
||||
increased to 80 characters, the Context is increased to 24
|
||||
characters and the Extension is increased to 24 characters.
|
||||
|
||||
|
||||
Upgrade Notes:
|
||||
----------------------------------------
|
||||
|
||||
- ### cel: add local optimization begin event
|
||||
The existing AST_CEL_LOCAL_OPTIMIZE can continue
|
||||
to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event
|
||||
can be ignored if desired.
|
||||
|
||||
|
||||
Closed Issues:
|
||||
----------------------------------------
|
||||
|
||||
- #39: [Bug]: Remove .gitreview from repository.
|
||||
- #52: [improvement]: Add local optimization begin cel event
|
||||
- #89: [improvement]: indications: logging changes
|
||||
- #104: [improvement]: Add AMI action to get a list of connected channels
|
||||
- #110: [improvement]: utils - add lock timing information with DEBUG_THREADS
|
||||
- #133: [bug]: unlock channel after moh state access
|
||||
- #145: [bug]: ABI issue with pjproject and pjsip_inv_session
|
||||
- #155: [bug]: GCC 13 is catching a few new trivial issues
|
||||
- #158: [bug]: test_stasis_endpoints.c: Unit test channel_messages is unstable
|
||||
- #188: [improvement]: pjsip: Upgrade bundled version to pjproject 2.13.1 #187
|
||||
- #193: [bug]: third-party/apply-patches doesn't sort the patch file list before applying
|
||||
|
||||
Commits By Author:
|
||||
----------------------------------------
|
||||
|
||||
- ### Ben Ford (2):
|
||||
- AMI: Add CoreShowChannelMap action.
|
||||
- res_pjsip_session: Added new function calls to avoid ABI issues.
|
||||
|
||||
- ### George Joseph (33):
|
||||
- test.c: Fix counting of tests and add 2 new tests
|
||||
- Initial GitHub Issue Templates
|
||||
- Initial GitHub PRs
|
||||
- .github: Remove unnecessary parameter in CherryPickTest
|
||||
- .github: Update issue templates
|
||||
- .github: Add cherry-pick test progress labels
|
||||
- .github: Refactor CP progress and add new PR test progress
|
||||
- .github: Remove separate set labels step from new PR
|
||||
- .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
|
||||
- .github: Fix CherryPickTest to only run when it should
|
||||
- .github: Add AsteriskReleaser
|
||||
- .github: Add cherry-pick reminder to new PRs
|
||||
- .github: Fix quoting in PROpenedOrUpdated
|
||||
- .github: Don't add cherry-pick reminder if it's already present
|
||||
- .github: Change title of AsteriskReleaser job
|
||||
- .github: Update field descriptions for AsteriskReleaser
|
||||
- .github Ignore error when adding reviewrs to PR
|
||||
- .github: Fix issues with cherry-pick-reminder
|
||||
- .github: Rework for merge approval
|
||||
- build: Fix a few gcc 13 issues
|
||||
- test_stasis_endpoints.c: Make channel_messages more stable
|
||||
- test_statis_endpoints: Fix channel_messages test again
|
||||
- .github: Allow PR submit checks to be re-run by label
|
||||
- .github: Fix recheck label manipulation
|
||||
- .github: Fix recheck label typos
|
||||
- .github: Add recheck label test to additional jobs
|
||||
- .github: Fix use of 'contains'
|
||||
- .github: Remove result check from PROpenUpdateGateTests
|
||||
- .github: Move publish docs to new file CreateDocs.yml
|
||||
- .github: Back out triggering PROpenedOrUpdated by label
|
||||
- .github: Updates for AsteriskReleaser
|
||||
- bundled_pjproject: Backport security fixes from pjproject 2.13.1
|
||||
- apply_patches: Sort patch list before applying
|
||||
|
||||
- ### Gitea (1):
|
||||
- .github: Tweak new feature language, and move feature requests elsewhere.
|
||||
|
||||
- ### Joshua C. Colp (2):
|
||||
- .github: Fix staleness check to only run on certain labels.
|
||||
- .github: Tweak improvement issue type language.
|
||||
|
||||
- ### Mike Bradeen (12):
|
||||
- app_directory: add ability to specify configuration file
|
||||
- app_read: Add an option to return terminator on empty digits.
|
||||
- app_directory: Add a 'skip call' option.
|
||||
- app_senddtmf: Add option to answer target channel.
|
||||
- cli: increase channel column width
|
||||
- bridge_builtin_features: add beep via touch variable
|
||||
- format_sln: add .slin as supported file extension
|
||||
- res_mixmonitor: MixMonitorMute by MixMonitor ID
|
||||
- cel: add local optimization begin event
|
||||
- indications: logging changes
|
||||
- utils: add lock timestamps for DEBUG_THREADS
|
||||
- res_musiconhold: avoid moh state access on unlocked chan
|
||||
|
||||
- ### Sean Bright (2):
|
||||
- core: Cleanup gerrit and JIRA references. (#40) (#61)
|
||||
- apply_patches: Use globbing instead of file/sort.
|
||||
|
||||
|
||||
Detail:
|
||||
----------------------------------------
|
||||
|
||||
- ### apply_patches: Use globbing instead of file/sort.
|
||||
Author: Sean Bright
|
||||
Date: 2023-07-06
|
||||
|
||||
This accomplishes the same thing as a `find ... | sort` but with the
|
||||
added benefit of clarity and avoiding a call to a subshell.
|
||||
|
||||
Additionally drop the -s option from call to patch as it is not POSIX.
|
||||
|
||||
- ### apply_patches: Sort patch list before applying
|
||||
Author: George Joseph
|
||||
Date: 2023-07-06
|
||||
|
||||
The apply_patches script wasn't sorting the list of patches in
|
||||
the "patches" directory before applying them. This left the list
|
||||
in an indeterminate order. In most cases, the list is actually
|
||||
sorted but rarely, they can be out of order and cause dependent
|
||||
patches to fail to apply.
|
||||
|
||||
We now sort the list but the "sort" program wasn't in the
|
||||
configure scripts so we needed to add that and regenerate
|
||||
the scripts as well.
|
||||
|
||||
Resolves: #193
|
||||
|
||||
- ### bundled_pjproject: Backport security fixes from pjproject 2.13.1
|
||||
Author: George Joseph
|
||||
Date: 2023-07-05
|
||||
|
||||
Merge-pull-request-from-GHSA-9pfh-r8x4-w26w.patch
|
||||
Merge-pull-request-from-GHSA-cxwq-5g9x-x7fr.patch
|
||||
Locking-fix-so-that-SSL_shutdown-and-SSL_write-are-n.patch
|
||||
Don-t-call-SSL_shutdown-when-receiving-SSL_ERROR_SYS.patch
|
||||
|
||||
Resolves: #188
|
||||
|
||||
- ### .github: Updates for AsteriskReleaser
|
||||
Author: George Joseph
|
||||
Date: 2023-06-30
|
||||
|
||||
|
||||
- ### res_musiconhold: avoid moh state access on unlocked chan
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-05-31
|
||||
|
||||
Move channel unlock to after moh state access to avoid
|
||||
potential unlocked access to state.
|
||||
|
||||
Resolves: #133
|
||||
|
||||
- ### utils: add lock timestamps for DEBUG_THREADS
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-05-23
|
||||
|
||||
Adds last locked and unlocked timestamps as well as a
|
||||
counter for the number of times the lock has been
|
||||
attempted (vs locked/unlocked) to debug output printed
|
||||
using the DEBUG_THREADS option.
|
||||
|
||||
Resolves: #110
|
||||
|
||||
- ### .github: Back out triggering PROpenedOrUpdated by label
|
||||
Author: George Joseph
|
||||
Date: 2023-06-29
|
||||
|
||||
|
||||
- ### .github: Move publish docs to new file CreateDocs.yml
|
||||
Author: George Joseph
|
||||
Date: 2023-06-27
|
||||
|
||||
|
||||
- ### .github: Remove result check from PROpenUpdateGateTests
|
||||
Author: George Joseph
|
||||
Date: 2023-06-27
|
||||
|
||||
|
||||
- ### .github: Fix use of 'contains'
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
|
||||
- ### .github: Add recheck label test to additional jobs
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
|
||||
- ### .github: Fix recheck label typos
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
|
||||
- ### .github: Fix recheck label manipulation
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
|
||||
- ### .github: Allow PR submit checks to be re-run by label
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
|
||||
- ### res_pjsip_session: Added new function calls to avoid ABI issues.
|
||||
Author: Ben Ford
|
||||
Date: 2023-06-05
|
||||
|
||||
Added two new functions (ast_sip_session_get_dialog and
|
||||
ast_sip_session_get_pjsip_inv_state) that retrieve the dialog and the
|
||||
pjsip_inv_state respectively from the pjsip_inv_session on the
|
||||
ast_sip_session struct. This is due to pjproject adding a new field to
|
||||
the pjsip_inv_session struct that caused crashes when trying to access
|
||||
fields that were no longer where they were expected to be if a module
|
||||
was compiled against a different version of pjproject.
|
||||
|
||||
Resolves: #145
|
||||
|
||||
- ### test_statis_endpoints: Fix channel_messages test again
|
||||
Author: George Joseph
|
||||
Date: 2023-06-12
|
||||
|
||||
|
||||
- ### test_stasis_endpoints.c: Make channel_messages more stable
|
||||
Author: George Joseph
|
||||
Date: 2023-06-09
|
||||
|
||||
The channel_messages test was assuming that stasis would return
|
||||
messages in a specific order. This is an incorrect assumption as
|
||||
message ordering was never guaranteed. This was causing the test
|
||||
to fail occasionally. We now test all the messages for the
|
||||
required message types instead of testing one by one.
|
||||
|
||||
Resolves: #158
|
||||
|
||||
- ### build: Fix a few gcc 13 issues
|
||||
Author: George Joseph
|
||||
Date: 2023-06-09
|
||||
|
||||
* gcc 13 is now catching when a function is declared as returning
|
||||
an enum but defined as returning an int or vice versa. Fixed
|
||||
a few in app.h, loader.c, stasis_message.c.
|
||||
|
||||
* gcc 13 is also now (incorrectly) complaining of dangling pointers
|
||||
when assigning a pointer to a local char array to a char *. Had
|
||||
to change that to an ast_alloca.
|
||||
|
||||
Resolves: #155
|
||||
|
||||
- ### .github: Rework for merge approval
|
||||
Author: George Joseph
|
||||
Date: 2023-06-06
|
||||
|
||||
|
||||
- ### AMI: Add CoreShowChannelMap action.
|
||||
Author: Ben Ford
|
||||
Date: 2023-05-18
|
||||
|
||||
Adds a new AMI action (CoreShowChannelMap) that takes in a channel name
|
||||
and provides a list of all channels that are connected to that channel,
|
||||
following local channel connections as well.
|
||||
|
||||
Resolves: #104
|
||||
|
||||
UserNote: New AMI action CoreShowChannelMap has been added.
|
||||
|
||||
- ### .github: Fix issues with cherry-pick-reminder
|
||||
Author: George Joseph
|
||||
Date: 2023-06-05
|
||||
|
||||
|
||||
- ### indications: logging changes
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-05-16
|
||||
|
||||
Increase verbosity to indicate failure due to missing country
|
||||
and to specify default on CLI dump
|
||||
|
||||
Resolves: #89
|
||||
|
||||
- ### .github Ignore error when adding reviewrs to PR
|
||||
Author: George Joseph
|
||||
Date: 2023-06-05
|
||||
|
||||
|
||||
- ### .github: Update field descriptions for AsteriskReleaser
|
||||
Author: George Joseph
|
||||
Date: 2023-05-26
|
||||
|
||||
|
||||
- ### .github: Change title of AsteriskReleaser job
|
||||
Author: George Joseph
|
||||
Date: 2023-05-23
|
||||
|
||||
|
||||
- ### .github: Don't add cherry-pick reminder if it's already present
|
||||
Author: George Joseph
|
||||
Date: 2023-05-22
|
||||
|
||||
|
||||
- ### .github: Fix quoting in PROpenedOrUpdated
|
||||
Author: George Joseph
|
||||
Date: 2023-05-16
|
||||
|
||||
|
||||
- ### .github: Add cherry-pick reminder to new PRs
|
||||
Author: George Joseph
|
||||
Date: 2023-05-15
|
||||
|
||||
|
||||
- ### core: Cleanup gerrit and JIRA references. (#40) (#61)
|
||||
Author: Sean Bright
|
||||
Date: 2023-05-10
|
||||
|
||||
* Remove .gitreview and switch to pulling the main asterisk branch
|
||||
version from configure.ac instead.
|
||||
|
||||
* Replace references to JIRA with GitHub.
|
||||
|
||||
* Other minor cleanup found along the way.
|
||||
|
||||
Resolves: #39
|
||||
- ### .github: Tweak improvement issue type language.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-05-09
|
||||
|
||||
|
||||
- ### .github: Tweak new feature language, and move feature requests elsewhere.
|
||||
Author: Gitea
|
||||
Date: 2023-05-09
|
||||
|
||||
|
||||
- ### .github: Fix staleness check to only run on certain labels.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-05-09
|
||||
|
||||
|
||||
- ### .github: Add AsteriskReleaser
|
||||
Author: George Joseph
|
||||
Date: 2023-05-05
|
||||
|
||||
|
||||
- ### cel: add local optimization begin event
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-05-02
|
||||
|
||||
The current AST_CEL_LOCAL_OPTIMIZE event is and has been
|
||||
triggered on a local optimization end to serve as a flag
|
||||
indicating the event occurred. This change adds a second
|
||||
AST_CEL_LOCAL_OPTIMIZE_BEGIN event for further detail.
|
||||
|
||||
Resolves: #52
|
||||
|
||||
UpgradeNote: The existing AST_CEL_LOCAL_OPTIMIZE can continue
|
||||
to be used as-is and the AST_CEL_LOCAL_OPTIMIZE_BEGIN event
|
||||
can be ignored if desired.
|
||||
|
||||
UserNote: The new AST_CEL_LOCAL_OPTIMIZE_BEGIN can be used
|
||||
by itself or in conert with the existing
|
||||
AST_CEL_LOCAL_OPTIMIZE to book-end local channel optimizaion.
|
||||
|
||||
- ### .github: Fix CherryPickTest to only run when it should
|
||||
Author: George Joseph
|
||||
Date: 2023-05-03
|
||||
|
||||
Fixed CherryPickTest so it triggers only on the
|
||||
"cherry-pick-test" label instead of all labels.
|
||||
|
||||
- ### .github: Fix reference to CHERRY_PICK_TESTING_IN_PROGRESS
|
||||
Author: George Joseph
|
||||
Date: 2023-05-02
|
||||
|
||||
|
||||
- ### .github: Remove separate set labels step from new PR
|
||||
Author: George Joseph
|
||||
Date: 2023-05-02
|
||||
|
||||
|
||||
- ### .github: Refactor CP progress and add new PR test progress
|
||||
Author: George Joseph
|
||||
Date: 2023-05-02
|
||||
|
||||
|
||||
- ### .github: Add cherry-pick test progress labels
|
||||
Author: George Joseph
|
||||
Date: 2023-05-02
|
||||
|
||||
|
||||
- ### .github: Update issue templates
|
||||
Author: George Joseph
|
||||
Date: 2023-05-01
|
||||
|
||||
|
||||
- ### .github: Remove unnecessary parameter in CherryPickTest
|
||||
Author: George Joseph
|
||||
Date: 2023-05-01
|
||||
|
||||
|
||||
- ### Initial GitHub PRs
|
||||
Author: George Joseph
|
||||
Date: 2023-04-28
|
||||
|
||||
|
||||
- ### Initial GitHub Issue Templates
|
||||
Author: George Joseph
|
||||
Date: 2023-04-28
|
||||
|
||||
|
||||
- ### test.c: Fix counting of tests and add 2 new tests
|
||||
Author: George Joseph
|
||||
Date: 2023-03-28
|
||||
|
||||
The unit test XML output was counting all registered tests as "run"
|
||||
even when only a subset were actually requested to be run and
|
||||
the "failures" attribute was missing.
|
||||
|
||||
* The "tests" attribute of the "testsuite" element in the
|
||||
output XML now reflects only the tests actually requested
|
||||
to be executed instead of all the tests registered.
|
||||
|
||||
* The "failures" attribute was added to the "testsuite"
|
||||
element.
|
||||
|
||||
Also added 2 new unit tests that just pass and fail to be
|
||||
used for CI testing.
|
||||
|
||||
|
||||
- ### res_mixmonitor: MixMonitorMute by MixMonitor ID
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-03-13
|
||||
|
||||
While it is possible to create multiple mixmonitor instances
|
||||
on a channel, it was not previously possible to mute individual
|
||||
instances.
|
||||
|
||||
This change includes the ability to specify the MixMonitorID
|
||||
when calling the manager action: MixMonitorMute. This will
|
||||
allow an individual MixMonitor instance to be muted via id.
|
||||
This id can be stored as a channel variable using the 'i'
|
||||
MixMonitor option.
|
||||
|
||||
As part of this change, if no MixMonitorID is specified in
|
||||
the manager action MixMonitorMute, Asterisk will set the mute
|
||||
flag on all MixMonitor spy-type audiohooks on the channel.
|
||||
This is done via the new audiohook function:
|
||||
ast_audiohook_set_mute_all.
|
||||
|
||||
ASTERISK-30464
|
||||
|
||||
|
||||
- ### format_sln: add .slin as supported file extension
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-03-14
|
||||
|
||||
Adds '.slin' to existing supported file extensions:
|
||||
.sln and .raw
|
||||
|
||||
ASTERISK-30465
|
||||
|
||||
|
||||
- ### bridge_builtin_features: add beep via touch variable
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-03-01
|
||||
|
||||
Add periodic beep option to one-touch recording by setting
|
||||
the touch variable TOUCH_MONITOR_BEEP or
|
||||
TOUCH_MIXMONITOR_BEEP to the desired interval in seconds.
|
||||
|
||||
If the interval is less than 5 seconds, a minimum of 5
|
||||
seconds will be imposed. If the interval is set to an
|
||||
invalid value, it will default to 15 seconds.
|
||||
|
||||
A new test event PERIODIC_HOOK_ENABLED was added to the
|
||||
func_periodic_hook hook_on function to indicate when
|
||||
a hook is started. This is so we can test that the touch
|
||||
variable starts the hook as expected.
|
||||
|
||||
ASTERISK-30446
|
||||
|
||||
|
||||
- ### cli: increase channel column width
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-03-06
|
||||
|
||||
For 'core show channels', the Channel name field is increased
|
||||
to 64 characters and the Location name field is increased to
|
||||
32 characters.
|
||||
|
||||
For 'core show channels verbose', the Channel name field is
|
||||
increased to 80 characters, the Context is increased to 24
|
||||
characters and the Extension is increased to 24 characters.
|
||||
|
||||
ASTERISK-30455
|
||||
|
||||
|
||||
- ### app_senddtmf: Add option to answer target channel.
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-02-06
|
||||
|
||||
Adds a new option to SendDTMF() which will answer the specified
|
||||
channel if it is not already up. If no channel is specified, the
|
||||
current channel will be answered instead.
|
||||
|
||||
ASTERISK-30422
|
||||
|
||||
|
||||
- ### app_directory: Add a 'skip call' option.
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-01-27
|
||||
|
||||
Adds 's' option to skip calling the extension and instead set the
|
||||
extension as DIRECTORY_EXTEN channel variable.
|
||||
|
||||
ASTERISK-30405
|
||||
|
||||
|
||||
- ### app_read: Add an option to return terminator on empty digits.
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-01-30
|
||||
|
||||
Adds 'e' option to allow Read() to return the terminator as the
|
||||
dialed digits in the case where only the terminator is entered.
|
||||
|
||||
ie; if "#" is entered, return "#" if the 'e' option is set and ""
|
||||
if it is not.
|
||||
|
||||
ASTERISK-30411
|
||||
|
||||
|
||||
- ### app_directory: add ability to specify configuration file
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-01-25
|
||||
|
||||
Adds option to app_directory to specify a filename from which to
|
||||
read configuration instead of voicemail.conf ie;
|
||||
|
||||
same => n,Directory(,,c(directory.conf))
|
||||
|
||||
This configuration should contain a list of extensions using the
|
||||
voicemail.conf format, ie;
|
||||
|
||||
2020=2020,Dog Dog,,,,attach=no|saycid=no|envelope=no|delete=no
|
||||
|
||||
ASTERISK-30404
|
||||
|
||||
|
||||
@@ -1,156 +0,0 @@
|
||||
|
||||
Change Log for Release asterisk-certified-18.9-cert6
|
||||
========================================
|
||||
|
||||
Links:
|
||||
----------------------------------------
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-certified-18.9-cert6.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert5...certified-18.9-cert6)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-certified-18.9-cert6.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
|
||||
Summary:
|
||||
----------------------------------------
|
||||
|
||||
- res_pjsip_header_funcs: Duplicate new header value, don't copy.
|
||||
- res_rtp_asterisk.c: Check DTLS packets against ICE candidate list
|
||||
- manager.c: Prevent path traversal with GetConfig.
|
||||
- res_pjsip: disable raw bad packet logging
|
||||
|
||||
User Notes:
|
||||
----------------------------------------
|
||||
|
||||
- ### app_read: Add an option to return terminator on empty digits.
|
||||
A new option 'e' has been added to allow Read() to return the
|
||||
terminator as the dialed digits in the case where only the terminator
|
||||
is entered.
|
||||
|
||||
- ### format_sln: add .slin as supported file extension
|
||||
format_sln now recognizes '.slin' as a valid
|
||||
file extension in addition to the existing
|
||||
'.sln' and '.raw'.
|
||||
|
||||
- ### app_directory: Add a 'skip call' option.
|
||||
A new option 's' has been added to the Directory() application that
|
||||
will skip calling the extension and instead set the extension as
|
||||
DIRECTORY_EXTEN channel variable.
|
||||
|
||||
- ### app_senddtmf: Add option to answer target channel.
|
||||
A new option has been added to SendDTMF() which will answer the
|
||||
specified channel if it is not already up. If no channel is specified,
|
||||
the current channel will be answered instead.
|
||||
|
||||
- ### cli: increase channel column width
|
||||
This change increases the display width on 'core show channels'
|
||||
amd 'core show channels verbose'
|
||||
For 'core show channels', the Channel name field is increased to
|
||||
64 characters and the Location name field is increased to 32
|
||||
characters.
|
||||
For 'core show channels verbose', the Channel name field is
|
||||
increased to 80 characters, the Context is increased to 24
|
||||
characters and the Extension is increased to 24 characters.
|
||||
|
||||
- ### bridge_builtin_features: add beep via touch variable
|
||||
Add optional touch variable : TOUCH_MIXMONITOR_BEEP(interval)
|
||||
Setting TOUCH_MIXMONITOR_BEEP/TOUCH_MONITOR_BEEP to a valid
|
||||
interval in seconds will result in a periodic beep being
|
||||
played to the monitored channel upon MixMontior/Monitor
|
||||
feature start.
|
||||
If an interval less than 5 seconds is specified, the interval
|
||||
will default to 5 seconds. If the value is set to an invalid
|
||||
interval, the default of 15 seconds will be used.
|
||||
|
||||
- ### test.c: Fix counting of tests and add 2 new tests
|
||||
The "tests" attribute of the "testsuite" element in the
|
||||
output XML now reflects only the tests actually requested
|
||||
to be executed instead of all the tests registered.
|
||||
The "failures" attribute was added to the "testsuite"
|
||||
element.
|
||||
Also added two new unit tests that just pass and fail
|
||||
to be used for testing CI itself.
|
||||
|
||||
- ### res_mixmonitor: MixMonitorMute by MixMonitor ID
|
||||
It is now possible to specify the MixMonitorID when calling
|
||||
the manager action: MixMonitorMute. This will allow an
|
||||
individual MixMonitor instance to be muted via ID.
|
||||
The MixMonitorID can be stored as a channel variable using
|
||||
the 'i' MixMonitor option and is returned upon creation if
|
||||
this option is used.
|
||||
As part of this change, if no MixMonitorID is specified in
|
||||
the manager action MixMonitorMute, Asterisk will set the mute
|
||||
flag on all MixMonitor audiohooks on the channel. Previous
|
||||
behavior would set the flag on the first MixMonitor audiohook
|
||||
found.
|
||||
|
||||
|
||||
Upgrade Notes:
|
||||
----------------------------------------
|
||||
|
||||
|
||||
Closed Issues:
|
||||
----------------------------------------
|
||||
|
||||
None
|
||||
|
||||
Commits By Author:
|
||||
----------------------------------------
|
||||
|
||||
- ### Ben Ford (1):
|
||||
- manager.c: Prevent path traversal with GetConfig.
|
||||
|
||||
- ### George Joseph (1):
|
||||
- res_rtp_asterisk.c: Check DTLS packets against ICE candidate list
|
||||
|
||||
- ### Gitea (1):
|
||||
- res_pjsip_header_funcs: Duplicate new header value, don't copy.
|
||||
|
||||
- ### Mike Bradeen (1):
|
||||
- res_pjsip: disable raw bad packet logging
|
||||
|
||||
|
||||
Detail:
|
||||
----------------------------------------
|
||||
|
||||
- ### res_pjsip_header_funcs: Duplicate new header value, don't copy.
|
||||
Author: Gitea
|
||||
Date: 2023-07-10
|
||||
|
||||
When updating an existing header the 'update' code incorrectly
|
||||
just copied the new value into the existing buffer. If the
|
||||
new value exceeded the available buffer size memory outside
|
||||
of the buffer would be written into, potentially causing
|
||||
a crash.
|
||||
|
||||
This change makes it so that the 'update' now duplicates
|
||||
the new header value instead of copying it into the existing
|
||||
buffer.
|
||||
|
||||
- ### res_rtp_asterisk.c: Check DTLS packets against ICE candidate list
|
||||
Author: George Joseph
|
||||
Date: 2023-11-09
|
||||
|
||||
When ICE is in use, we can prevent a possible DOS attack by allowing
|
||||
DTLS protocol messages (client hello, etc) only from sources that
|
||||
are in the active remote candidates list.
|
||||
|
||||
Resolves: GHSA-hxj9-xwr8-w8pq
|
||||
|
||||
- ### manager.c: Prevent path traversal with GetConfig.
|
||||
Author: Ben Ford
|
||||
Date: 2023-11-13
|
||||
|
||||
When using AMI GetConfig, it was possible to access files outside of the
|
||||
Asterisk configuration directory by using filenames with ".." and "./"
|
||||
even while live_dangerously was not enabled. This change resolves the
|
||||
full path and ensures we are still in the configuration directory before
|
||||
attempting to access the file.
|
||||
|
||||
- ### res_pjsip: disable raw bad packet logging
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-12-14
|
||||
|
||||
Add patch to split the log level for invalid packets received on the signaling port.
|
||||
The warning regarding the packet will move to level 2 so that it can still be displayed,
|
||||
while the raw packet will be at level 4.
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
|
||||
Change Log for Release asterisk-certified-18.9-cert7
|
||||
========================================
|
||||
|
||||
Links:
|
||||
----------------------------------------
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-certified-18.9-cert7.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert6...certified-18.9-cert7)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-certified-18.9-cert7.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
|
||||
Summary:
|
||||
----------------------------------------
|
||||
|
||||
- res_rtp_asterisk: Fix regression issues with DTLS client check
|
||||
|
||||
User Notes:
|
||||
----------------------------------------
|
||||
|
||||
|
||||
Upgrade Notes:
|
||||
----------------------------------------
|
||||
|
||||
|
||||
Closed Issues:
|
||||
----------------------------------------
|
||||
|
||||
- #500: [bug regression]: res_rtp_asterisk doesn't build if pjproject isn't used
|
||||
- #503: [bug]: The res_rtp_asterisk DTLS check against ICE candidates fails when it shouldn't
|
||||
- #505: [bug]: res_pjproject: ast_sockaddr_cmp() always fails on sockaddrs created by ast_sockaddr_from_pj_sockaddr()
|
||||
|
||||
Commits By Author:
|
||||
----------------------------------------
|
||||
|
||||
- ### George Joseph (1):
|
||||
- res_rtp_asterisk: Fix regression issues with DTLS client check
|
||||
|
||||
|
||||
Detail:
|
||||
----------------------------------------
|
||||
|
||||
- ### res_rtp_asterisk: Fix regression issues with DTLS client check
|
||||
Author: George Joseph
|
||||
Date: 2023-12-15
|
||||
|
||||
* Since ICE candidates are used for the check and pjproject is
|
||||
required to use ICE, res_rtp_asterisk was failing to compile
|
||||
when pjproject wasn't available. The check is now wrapped
|
||||
with an #ifdef HAVE_PJPROJECT.
|
||||
|
||||
* The rtp->ice_active_remote_candidates container was being
|
||||
used to check the address on incoming packets but that
|
||||
container doesn't contain peer reflexive candidates discovered
|
||||
during negotiation. This was causing the check to fail
|
||||
where it shouldn't. We now check against pjproject's
|
||||
real_ice->rcand array which will contain those candidates.
|
||||
|
||||
* Also fixed a bug in ast_sockaddr_from_pj_sockaddr() where
|
||||
we weren't zeroing out sin->sin_zero before returning. This
|
||||
was causing ast_sockaddr_cmp() to always return false when
|
||||
one of the inputs was converted from a pj_sockaddr, even
|
||||
if both inputs had the same address and port.
|
||||
|
||||
Resolves: #500
|
||||
Resolves: #503
|
||||
Resolves: #505
|
||||
|
||||
@@ -1,735 +0,0 @@
|
||||
|
||||
Change Log for Release asterisk-certified-18.9-cert8
|
||||
========================================
|
||||
|
||||
Links:
|
||||
----------------------------------------
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert8.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert7...certified-18.9-cert8)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert8.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
Summary:
|
||||
----------------------------------------
|
||||
|
||||
- Rename dialplan_functions.xml to dialplan_functions_doc.xml
|
||||
- openssl: Supress deprecation warnings from OpenSSL 3.0
|
||||
- app_chanspy: Add 'D' option for dual-channel audio
|
||||
- manager.c: Fix regression due to using wrong free function.
|
||||
- doc: Remove obsolete CHANGES-staging directrory
|
||||
- MergeApproved.yml: Remove unneeded concurrency
|
||||
- SECURITY.md: Update with correct documentation URL
|
||||
- chan_pjsip: Add PJSIPHangup dialplan app and manager action
|
||||
- Remove files that are no longer updated
|
||||
- res_speech: allow speech to translate input channel
|
||||
- res_stasis: signal when new command is queued
|
||||
- logger.h: Add ability to change the prefix on SCOPE_TRACE output
|
||||
- Add libjwt to third-party
|
||||
- res_pjsip: update qualify_timeout documentation with DNS note
|
||||
- lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
|
||||
- cel: add publish user event helper
|
||||
- file.c: Add ability to search custom dir for sounds
|
||||
- make_buildopts_h, et. al. Allow adding all cflags to buildopts.h
|
||||
- func_periodic_hook: Add hangup step to avoid timeout
|
||||
- func_periodic_hook: Don't truncate channel name
|
||||
- safe_asterisk: Change directory permissions to 755
|
||||
- variables: Add additional variable dialplan functions.
|
||||
- ari-stubs: Fix more local anchor references
|
||||
- ari-stubs: Fix more local anchor references
|
||||
- ari-stubs: Fix broken documentation anchors
|
||||
- rest-api: Updates for new documentation site
|
||||
- app_voicemail: Fix for loop declarations
|
||||
- download_externals: Fix a few version related issues
|
||||
- Remove .lastclean and .version from source control
|
||||
- manager: Tolerate stasis messages with no channel snapshot.
|
||||
- audiohook: Unlock channel in mute if no audiohooks present.
|
||||
- app_queue: Add support for applying caller priority change immediately.
|
||||
- app.h: Move declaration of ast_getdata_result before its first use
|
||||
- doc: Remove obsolete CHANGES-staging and UPGRADE-staging
|
||||
- res_geolocation: Ensure required 'location_info' is present.
|
||||
- Adds manager actions to allow move/remove/forward individual messages in a par..
|
||||
- app_voicemail: add CLI commands for message manipulation
|
||||
- Cleanup deleted files
|
||||
|
||||
User Notes:
|
||||
----------------------------------------
|
||||
|
||||
- ### app_chanspy: Add 'D' option for dual-channel audio
|
||||
The ChanSpy application now accepts the 'D' option which
|
||||
will interleave the spied audio within the outgoing frames. The
|
||||
purpose of this is to allow the audio to be read as a Dual channel
|
||||
stream with separate incoming and outgoing audio. Setting both the
|
||||
'o' option and the 'D' option and results in the 'D' option being
|
||||
ignored.
|
||||
|
||||
- ### chan_pjsip: Add PJSIPHangup dialplan app and manager action
|
||||
A new dialplan app PJSIPHangup and AMI action allows you
|
||||
to hang up an unanswered incoming PJSIP call with a specific SIP
|
||||
response code in the 400 -> 699 range.
|
||||
|
||||
- ### res_speech: allow speech to translate input channel
|
||||
res_speech now supports translation of an input channel
|
||||
to a format supported by the speech provider, provided a translation
|
||||
path is available between the source format and provider capabilites.
|
||||
|
||||
- ### res_stasis: signal when new command is queued
|
||||
Call setup times should be significantly improved
|
||||
when using ARI.
|
||||
|
||||
- ### lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
|
||||
You no longer need to select DEBUG_THREADS to use
|
||||
DETECT_DEADLOCKS. This removes a significant amount of overhead
|
||||
if you just want to detect possible deadlocks vs needing full
|
||||
lock tracing.
|
||||
|
||||
- ### file.c: Add ability to search custom dir for sounds
|
||||
A new option "sounds_search_custom_dir" has been added to
|
||||
asterisk.conf that allows asterisk to search
|
||||
AST_DATA_DIR/sounds/custom for sounds files before searching the
|
||||
standard AST_DATA_DIR/sounds/<lang> directory.
|
||||
|
||||
- ### make_buildopts_h, et. al. Allow adding all cflags to buildopts.h
|
||||
The "Build Options" entry in the "core show settings"
|
||||
CLI command has been renamed to "ABI related Build Options" and
|
||||
a new entry named "All Build Options" has been added that shows
|
||||
both breaking and non-breaking options.
|
||||
|
||||
- ### variables: Add additional variable dialplan functions.
|
||||
Four new dialplan functions have been added.
|
||||
GLOBAL_DELETE and DELETE have been added which allows
|
||||
the deletion of global and channel variables.
|
||||
GLOBAL_EXISTS and VARIABLE_EXISTS have been added
|
||||
which checks whether a global or channel variable has
|
||||
been set.
|
||||
|
||||
- ### app_queue: Add support for applying caller priority change immediately.
|
||||
The 'queue priority caller' CLI command and
|
||||
'QueueChangePriorityCaller' AMI action now have an 'immediate'
|
||||
argument which allows the caller priority change to be reflected
|
||||
immediately, causing the position of a caller to move within the
|
||||
queue depending on the priorities of the other callers.
|
||||
|
||||
- ### Adds manager actions to allow move/remove/forward individual messages in a par..
|
||||
The following manager actions have been added
|
||||
VoicemailBoxSummary - Generate message list for a given mailbox
|
||||
VoicemailRemove - Remove a message from a mailbox folder
|
||||
VoicemailMove - Move a message from one folder to another within a mailbox
|
||||
VoicemailForward - Copy a message from one folder in one mailbox
|
||||
to another folder in another or the same mailbox.
|
||||
|
||||
- ### app_voicemail: add CLI commands for message manipulation
|
||||
The following CLI commands have been added to app_voicemail
|
||||
voicemail show mailbox <mailbox> <context>
|
||||
Show contents of mailbox <mailbox>@<context>
|
||||
voicemail remove <mailbox> <context> <from_folder> <messageid>
|
||||
Remove message <messageid> from <from_folder> in mailbox <mailbox>@<context>
|
||||
voicemail move <mailbox> <context> <from_folder> <messageid> <to_folder>
|
||||
Move message <messageid> in mailbox <mailbox>&<context> from <from_folder> to <to_folder>
|
||||
voicemail forward <from_mailbox> <from_context> <from_folder> <messageid> <to_mailbox> <to_context> <to_folder>
|
||||
Forward message <messageid> in mailbox <mailbox>@<context> <from_folder> to
|
||||
mailbox <mailbox>@<context> <to_folder>
|
||||
|
||||
|
||||
Upgrade Notes:
|
||||
----------------------------------------
|
||||
|
||||
|
||||
Closed Issues:
|
||||
----------------------------------------
|
||||
|
||||
- #129: [bug]: res_speech_aeap: Crash due to NULL format on setup
|
||||
- #170: [improvement]: app_voicemail - add CLI commands to manipulate messages
|
||||
- #181: [improvement]: app_voicemail - add manager actions to display and manipulate messages
|
||||
- #200: [bug]: Regression: In app.h an enum is used before its declaration.
|
||||
- #202: [improvement]: app_queue: Add support for immediately applying queue caller priority change
|
||||
- #233: [bug]: Deadlock with MixMonitorMute AMI action
|
||||
- #263: [bug]: download_externals doesn't always handle versions correctly
|
||||
- #275: [bug]:Asterisk make now requires ASTCFLAGS='-std=gnu99 -Wdeclaration-after-statement'
|
||||
- #289: [new-feature]: Add support for deleting channel and global variables
|
||||
- #315: [improvement]: Search /var/lib/asterisk/sounds/custom for sound files before /var/lib/asterisk/sounds/<lang>
|
||||
- #316: [bug]: Privilege Escalation in Astrisk's Group permissions.
|
||||
- #319: [bug]: func_periodic_hook truncates long channel names when setting EncodedChannel
|
||||
- #321: [bug]: Performance suffers unnecessarily when debugging deadlocks
|
||||
- #325: [bug]: hangup after beep to avoid waiting for timeout
|
||||
- #330: [improvement]: Add cel user event helper function
|
||||
- #349: [improvement]: Add libjwt to third-party
|
||||
- #352: [bug]: Update qualify_timeout documentation to include DNS note
|
||||
- #360: [improvement]: Update documentation for CHANGES/UPGRADE files
|
||||
- #362: [improvement]: Speed up ARI command processing
|
||||
- #513: [bug]: manager.c: Crash due to regression using wrong free function when built with MALLOC_DEBUG
|
||||
- #569: [improvement]: Add option to interleave input and output frames on spied channel
|
||||
|
||||
Commits By Author:
|
||||
----------------------------------------
|
||||
|
||||
- ### George Joseph (21):
|
||||
- Cleanup deleted files
|
||||
- doc: Remove obsolete CHANGES-staging and UPGRADE-staging
|
||||
- app.h: Move declaration of ast_getdata_result before its first use
|
||||
- Remove .lastclean and .version from source control
|
||||
- download_externals: Fix a few version related issues
|
||||
- rest-api: Updates for new documentation site
|
||||
- ari-stubs: Fix broken documentation anchors
|
||||
- ari-stubs: Fix more local anchor references
|
||||
- ari-stubs: Fix more local anchor references
|
||||
- safe_asterisk: Change directory permissions to 755
|
||||
- func_periodic_hook: Don't truncate channel name
|
||||
- make_buildopts_h, et. al. Allow adding all cflags to buildopts.h
|
||||
- file.c: Add ability to search custom dir for sounds
|
||||
- lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
|
||||
- Add libjwt to third-party
|
||||
- logger.h: Add ability to change the prefix on SCOPE_TRACE output
|
||||
- chan_pjsip: Add PJSIPHangup dialplan app and manager action
|
||||
- SECURITY.md: Update with correct documentation URL
|
||||
- MergeApproved.yml: Remove unneeded concurrency
|
||||
- doc: Remove obsolete CHANGES-staging directrory
|
||||
- Rename dialplan_functions.xml to dialplan_functions_doc.xml
|
||||
|
||||
- ### Joshua C. Colp (4):
|
||||
- app_queue: Add support for applying caller priority change immediately.
|
||||
- audiohook: Unlock channel in mute if no audiohooks present.
|
||||
- manager: Tolerate stasis messages with no channel snapshot.
|
||||
- variables: Add additional variable dialplan functions.
|
||||
|
||||
- ### Mark Murawski (1):
|
||||
- Remove files that are no longer updated
|
||||
|
||||
- ### Mike Bradeen (9):
|
||||
- app_voicemail: add CLI commands for message manipulation
|
||||
- Adds manager actions to allow move/remove/forward individual messages in a par..
|
||||
- app_voicemail: Fix for loop declarations
|
||||
- func_periodic_hook: Add hangup step to avoid timeout
|
||||
- cel: add publish user event helper
|
||||
- res_pjsip: update qualify_timeout documentation with DNS note
|
||||
- res_stasis: signal when new command is queued
|
||||
- res_speech: allow speech to translate input channel
|
||||
- app_chanspy: Add 'D' option for dual-channel audio
|
||||
|
||||
- ### Naveen Albert (1):
|
||||
- manager.c: Fix regression due to using wrong free function.
|
||||
|
||||
- ### Sean Bright (2):
|
||||
- res_geolocation: Ensure required 'location_info' is present.
|
||||
- openssl: Supress deprecation warnings from OpenSSL 3.0
|
||||
|
||||
|
||||
Detail:
|
||||
----------------------------------------
|
||||
|
||||
- ### Rename dialplan_functions.xml to dialplan_functions_doc.xml
|
||||
Author: George Joseph
|
||||
Date: 2024-02-26
|
||||
|
||||
When using COMPILE_DOUBLE, dialplan_functions.xml is mistaken
|
||||
for the source for an embedded XML document and gets compiled
|
||||
to dialplan_functions.o. This causes dialplan_functions.c to
|
||||
be ignored making its functions unavailable and causing chan_pjsip
|
||||
to fail to load.
|
||||
|
||||
- ### openssl: Supress deprecation warnings from OpenSSL 3.0
|
||||
Author: Sean Bright
|
||||
Date: 2022-03-25
|
||||
|
||||
There is work going on to update our OpenSSL usage to avoid the
|
||||
deprecated functions but in the meantime make it possible to compile
|
||||
in devmode.
|
||||
|
||||
|
||||
- ### app_chanspy: Add 'D' option for dual-channel audio
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-01-31
|
||||
|
||||
Adds the 'D' option to app chanspy that causes the input and output
|
||||
frames of the spied channel to be interleaved in the spy output frame.
|
||||
This allows the input and output of the spied channel to be decoded
|
||||
separately by the receiver.
|
||||
|
||||
If the 'o' option is also set, the 'D' option is ignored as the
|
||||
audio being spied is inherently one direction.
|
||||
|
||||
Fixes: #569
|
||||
|
||||
UserNote: The ChanSpy application now accepts the 'D' option which
|
||||
will interleave the spied audio within the outgoing frames. The
|
||||
purpose of this is to allow the audio to be read as a Dual channel
|
||||
stream with separate incoming and outgoing audio. Setting both the
|
||||
'o' option and the 'D' option and results in the 'D' option being
|
||||
ignored.
|
||||
|
||||
|
||||
- ### manager.c: Fix regression due to using wrong free function.
|
||||
Author: Naveen Albert
|
||||
Date: 2023-12-26
|
||||
|
||||
Commit 424be345639d75c6cb7d0bd2da5f0f407dbd0bd5 introduced
|
||||
a regression by calling ast_free on memory allocated by
|
||||
realpath. This causes Asterisk to abort when executing this
|
||||
function. Since the memory is allocated by glibc, it should
|
||||
be freed using ast_std_free.
|
||||
|
||||
Resolves: #513
|
||||
|
||||
- ### doc: Remove obsolete CHANGES-staging directrory
|
||||
Author: George Joseph
|
||||
Date: 2023-12-15
|
||||
|
||||
This should have been removed after the last release but
|
||||
was missed.
|
||||
|
||||
|
||||
- ### MergeApproved.yml: Remove unneeded concurrency
|
||||
Author: George Joseph
|
||||
Date: 2023-12-06
|
||||
|
||||
The concurrency parameter on the MergeAndCherryPick job has
|
||||
been rmeoved. It was a hold-over from earlier days.
|
||||
|
||||
|
||||
- ### SECURITY.md: Update with correct documentation URL
|
||||
Author: George Joseph
|
||||
Date: 2023-11-09
|
||||
|
||||
|
||||
- ### chan_pjsip: Add PJSIPHangup dialplan app and manager action
|
||||
Author: George Joseph
|
||||
Date: 2023-10-31
|
||||
|
||||
See UserNote below.
|
||||
|
||||
Exposed the existing Hangup AMI action in manager.c so we can use
|
||||
all of it's channel search and AMI protocol handling without
|
||||
duplicating that code in dialplan_functions.c.
|
||||
|
||||
Added a lookup function to res_pjsip.c that takes in the
|
||||
string represenation of the pjsip_status_code enum and returns
|
||||
the actual status code. I.E. ast_sip_str2rc("DECLINE") returns
|
||||
603. This allows the caller to specify PJSIPHangup(decline) in
|
||||
the dialplan, just like Hangup(call_rejected).
|
||||
|
||||
Also extracted the XML documentation to its own file since it was
|
||||
almost as large as the code itself.
|
||||
|
||||
UserNote: A new dialplan app PJSIPHangup and AMI action allows you
|
||||
to hang up an unanswered incoming PJSIP call with a specific SIP
|
||||
response code in the 400 -> 699 range.
|
||||
|
||||
|
||||
- ### Remove files that are no longer updated
|
||||
Author: Mark Murawski
|
||||
Date: 2023-10-30
|
||||
|
||||
Fixes: #360
|
||||
|
||||
- ### res_speech: allow speech to translate input channel
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-09-07
|
||||
|
||||
* Allow res_speech to translate the input channel if the
|
||||
format is translatable to a format suppored by the
|
||||
speech provider.
|
||||
|
||||
Resolves: #129
|
||||
|
||||
UserNote: res_speech now supports translation of an input channel
|
||||
to a format supported by the speech provider, provided a translation
|
||||
path is available between the source format and provider capabilites.
|
||||
|
||||
|
||||
- ### res_stasis: signal when new command is queued
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-10-02
|
||||
|
||||
res_statsis's app loop sleeps for up to .2s waiting on input
|
||||
to a channel before re-checking the command queue. This can
|
||||
cause delays between channel setup and bridge.
|
||||
|
||||
This change is to send a SIGURG on the sleeping thread when
|
||||
a new command is enqueued. This exits the sleeping thread out
|
||||
of the ast_waitfor() call triggering the new command being
|
||||
processed on the channel immediately.
|
||||
|
||||
Resolves: #362
|
||||
|
||||
UserNote: Call setup times should be significantly improved
|
||||
when using ARI.
|
||||
|
||||
|
||||
- ### logger.h: Add ability to change the prefix on SCOPE_TRACE output
|
||||
Author: George Joseph
|
||||
Date: 2023-10-05
|
||||
|
||||
You can now define the _TRACE_PREFIX_ macro to change the
|
||||
default trace line prefix of "file:line function" to
|
||||
something else. Full documentation in logger.h.
|
||||
|
||||
|
||||
- ### Add libjwt to third-party
|
||||
Author: George Joseph
|
||||
Date: 2023-09-21
|
||||
|
||||
The current STIR/SHAKEN implementation is not currently usable due
|
||||
to encryption issues. Rather than trying to futz with OpenSSL and
|
||||
the the current code, we can take advantage of the existing
|
||||
capabilities of libjwt but we first need to add it to the
|
||||
third-party infrastructure already in place for jansson and
|
||||
pjproject.
|
||||
|
||||
A few tweaks were also made to the third-party infrastructure as
|
||||
a whole. The jansson "dest" install directory was renamed "dist"
|
||||
to better match convention, and the third-party Makefile was updated
|
||||
to clean all product directories not just the ones currently in
|
||||
use.
|
||||
|
||||
Resolves: #349
|
||||
|
||||
- ### res_pjsip: update qualify_timeout documentation with DNS note
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-09-26
|
||||
|
||||
The documentation on qualify_timeout does not explicitly state that the timeout
|
||||
includes any time required to perform any needed DNS queries on the endpoint.
|
||||
|
||||
If the OPTIONS response is delayed due to the DNS query, it can still render an
|
||||
endpoint as Unreachable if the net time is enough for qualify_timeout to expire.
|
||||
|
||||
Resolves: #352
|
||||
|
||||
- ### lock.c: Separate DETECT_DEADLOCKS from DEBUG_THREADS
|
||||
Author: George Joseph
|
||||
Date: 2023-09-13
|
||||
|
||||
Previously, DETECT_DEADLOCKS depended on DEBUG_THREADS.
|
||||
Unfortunately, DEBUG_THREADS adds a lot of lock tracking overhead
|
||||
to all of the lock lifecycle calls whereas DETECT_DEADLOCKS just
|
||||
causes the lock calls to loop over trylock in 200us intervals until
|
||||
the lock is obtained and spits out log messages if it takes more
|
||||
than 5 seconds. From a code perspective, the only reason they were
|
||||
tied together was for logging. So... The ifdefs in lock.c were
|
||||
refactored to allow DETECT_DEADLOCKS to be enabled without
|
||||
also enabling DEBUG_THREADS.
|
||||
|
||||
Resolves: #321
|
||||
|
||||
UserNote: You no longer need to select DEBUG_THREADS to use
|
||||
DETECT_DEADLOCKS. This removes a significant amount of overhead
|
||||
if you just want to detect possible deadlocks vs needing full
|
||||
lock tracing.
|
||||
|
||||
|
||||
- ### cel: add publish user event helper
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-09-14
|
||||
|
||||
Add a wrapper function around ast_cel_publish_event that
|
||||
packs event and extras into a blob before publishing
|
||||
|
||||
Resolves:#330
|
||||
|
||||
- ### file.c: Add ability to search custom dir for sounds
|
||||
Author: George Joseph
|
||||
Date: 2023-09-11
|
||||
|
||||
To better co-exist with sounds files that may be managed by
|
||||
packages, custom sound files may now be placed in
|
||||
AST_DATA_DIR/sounds/custom instead of the standard
|
||||
AST_DATA_DIR/sounds/<lang> directory. If the new
|
||||
"sounds_search_custom_dir" option in asterisk.conf is set
|
||||
to "true", asterisk will search the custom directory for sounds
|
||||
files before searching the standard directory. For performance
|
||||
reasons, the "sounds_search_custom_dir" defaults to "false".
|
||||
|
||||
Resolves: #315
|
||||
|
||||
UserNote: A new option "sounds_search_custom_dir" has been added to
|
||||
asterisk.conf that allows asterisk to search
|
||||
AST_DATA_DIR/sounds/custom for sounds files before searching the
|
||||
standard AST_DATA_DIR/sounds/<lang> directory.
|
||||
|
||||
|
||||
- ### make_buildopts_h, et. al. Allow adding all cflags to buildopts.h
|
||||
Author: George Joseph
|
||||
Date: 2023-09-13
|
||||
|
||||
The previous behavior of make_buildopts_h was to not add the
|
||||
non-ABI-breaking MENUSELECT_CFLAGS like DETECT_DEADLOCKS,
|
||||
REF_DEBUG, etc. to the buildopts.h file because "it caused
|
||||
ccache to invalidate files and extended compile times". They're
|
||||
only defined by passing them on the gcc command line with '-D'
|
||||
options. In practice, including them in the include file rarely
|
||||
causes any impact because the only time ccache cares is if you
|
||||
actually change an option so the hit occurrs only once after
|
||||
you change it.
|
||||
|
||||
OK so why would we want to include them? Many IDEs follow the
|
||||
include files to resolve defines and if the options aren't in an
|
||||
include file, it can cause the IDE to mark blocks of "ifdeffed"
|
||||
code as unused when they're really not.
|
||||
|
||||
So...
|
||||
|
||||
* Added a new menuselect compile option ADD_CFLAGS_TO_BUILDOPTS_H
|
||||
which tells make_buildopts_h to include the non-ABI-breaking
|
||||
flags in buildopts.h as well as the ABI-breaking ones. The default
|
||||
is disabled to preserve current behavior. As before though,
|
||||
only the ABI-breaking flags appear in AST_BUILDOPTS and only
|
||||
those are used to calculate AST_BUILDOPT_SUM.
|
||||
A new AST_BUILDOPT_ALL define was created to capture all of the
|
||||
flags.
|
||||
|
||||
* make_version_c was streamlined to use buildopts.h and also to
|
||||
create asterisk_build_opts_all[] and ast_get_build_opts_all(void)
|
||||
|
||||
* "core show settings" now shows both AST_BUILDOPTS and
|
||||
AST_BUILDOPTS_ALL.
|
||||
|
||||
UserNote: The "Build Options" entry in the "core show settings"
|
||||
CLI command has been renamed to "ABI related Build Options" and
|
||||
a new entry named "All Build Options" has been added that shows
|
||||
both breaking and non-breaking options.
|
||||
|
||||
|
||||
- ### func_periodic_hook: Add hangup step to avoid timeout
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-09-12
|
||||
|
||||
func_periodic_hook does not hangup after playback, relying on hangup
|
||||
which keeps the channel alive longer than necessary.
|
||||
|
||||
Resolves: #325
|
||||
|
||||
- ### func_periodic_hook: Don't truncate channel name
|
||||
Author: George Joseph
|
||||
Date: 2023-09-11
|
||||
|
||||
func_periodic_hook was truncating long channel names which
|
||||
causes issues when you need to run other dialplan functions/apps
|
||||
on the channel.
|
||||
|
||||
Resolves: #319
|
||||
|
||||
- ### safe_asterisk: Change directory permissions to 755
|
||||
Author: George Joseph
|
||||
Date: 2023-09-11
|
||||
|
||||
If the safe_asterisk script detects that the /var/lib/asterisk
|
||||
directory doesn't exist, it now creates it with 755 permissions
|
||||
instead of 770. safe_asterisk needing to create that directory
|
||||
should be extremely rare though because it's normally created
|
||||
by 'make install' which already sets the permissions to 755.
|
||||
|
||||
Resolves: #316
|
||||
|
||||
- ### variables: Add additional variable dialplan functions.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-08-31
|
||||
|
||||
Using the Set dialplan application does not actually
|
||||
delete channel or global variables. Instead the
|
||||
variables are set to an empty value.
|
||||
|
||||
This change adds two dialplan functions,
|
||||
GLOBAL_DELETE and DELETE which can be used to
|
||||
delete global and channel variables instead
|
||||
of just setting them to empty.
|
||||
|
||||
There is also no ability within the dialplan to
|
||||
determine if a global or channel variable has
|
||||
actually been set or not.
|
||||
|
||||
This change also adds two dialplan functions,
|
||||
GLOBAL_EXISTS and VARIABLE_EXISTS which can be
|
||||
used to determine if a global or channel variable
|
||||
has been set or not.
|
||||
|
||||
Resolves: #289
|
||||
|
||||
UserNote: Four new dialplan functions have been added.
|
||||
GLOBAL_DELETE and DELETE have been added which allows
|
||||
the deletion of global and channel variables.
|
||||
GLOBAL_EXISTS and VARIABLE_EXISTS have been added
|
||||
which checks whether a global or channel variable has
|
||||
been set.
|
||||
|
||||
|
||||
- ### ari-stubs: Fix more local anchor references
|
||||
Author: George Joseph
|
||||
Date: 2023-09-05
|
||||
|
||||
Also allow CreateDocs job to be run manually with default branches.
|
||||
|
||||
|
||||
- ### ari-stubs: Fix more local anchor references
|
||||
Author: George Joseph
|
||||
Date: 2023-09-05
|
||||
|
||||
Also allow CreateDocs job to be run manually with default branches.
|
||||
|
||||
|
||||
- ### ari-stubs: Fix broken documentation anchors
|
||||
Author: George Joseph
|
||||
Date: 2023-09-05
|
||||
|
||||
All of the links that reference page anchors with capital letters in
|
||||
the ids (#Something) have been changed to lower case to match the
|
||||
anchors that are generated by mkdocs.
|
||||
|
||||
|
||||
- ### rest-api: Updates for new documentation site
|
||||
Author: George Joseph
|
||||
Date: 2023-06-26
|
||||
|
||||
The new documentation site uses traditional markdown instead
|
||||
of the Confluence flavored version. This required changes in
|
||||
the mustache templates and the python that generates the files.
|
||||
|
||||
|
||||
- ### app_voicemail: Fix for loop declarations
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-08-29
|
||||
|
||||
Resolve for loop initial declarations added in cli changes.
|
||||
|
||||
Resolves: #275
|
||||
|
||||
- ### download_externals: Fix a few version related issues
|
||||
Author: George Joseph
|
||||
Date: 2023-08-18
|
||||
|
||||
* Fixed issue with the script not parsing the new tag format for
|
||||
certified releases. The format changed from certified/18.9-cert5
|
||||
to certified-18.9-cert5.
|
||||
|
||||
* Fixed issue where the asterisk version wasn't being considered
|
||||
when looking for cached versions.
|
||||
|
||||
Resolves: #263
|
||||
|
||||
- ### Remove .lastclean and .version from source control
|
||||
Author: George Joseph
|
||||
Date: 2023-08-18
|
||||
|
||||
Historically these were checked in for certified releases but
|
||||
since the move to github and the unified release process,
|
||||
they are no longer needed and cause issues.
|
||||
|
||||
|
||||
- ### manager: Tolerate stasis messages with no channel snapshot.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-08-09
|
||||
|
||||
In some cases I have yet to determine some stasis messages may
|
||||
be created without a channel snapshot. This change adds some
|
||||
tolerance to this scenario, preventing a crash from occurring.
|
||||
|
||||
|
||||
- ### audiohook: Unlock channel in mute if no audiohooks present.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-08-09
|
||||
|
||||
In the case where mute was called on a channel that had no
|
||||
audiohooks the code was not unlocking the channel, resulting
|
||||
in a deadlock.
|
||||
|
||||
Resolves: #233
|
||||
|
||||
- ### app_queue: Add support for applying caller priority change immediately.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-07-07
|
||||
|
||||
The app_queue module provides both an AMI action and a CLI command
|
||||
to change the priority of a caller in a queue. Up to now this change
|
||||
of priority has only been reflected to new callers into the queue.
|
||||
|
||||
This change adds an "immediate" option to both the AMI action and
|
||||
CLI command which immediately applies the priority change respective
|
||||
to the other callers already in the queue. This can allow, for example,
|
||||
a caller to be placed at the head of the queue immediately if their
|
||||
priority is sufficient.
|
||||
|
||||
Resolves: #202
|
||||
|
||||
UserNote: The 'queue priority caller' CLI command and
|
||||
'QueueChangePriorityCaller' AMI action now have an 'immediate'
|
||||
argument which allows the caller priority change to be reflected
|
||||
immediately, causing the position of a caller to move within the
|
||||
queue depending on the priorities of the other callers.
|
||||
|
||||
|
||||
- ### app.h: Move declaration of ast_getdata_result before its first use
|
||||
Author: George Joseph
|
||||
Date: 2023-07-10
|
||||
|
||||
The ast_app_getdata() and ast_app_getdata_terminator() declarations
|
||||
in app.h were changed recently to return enum ast_getdata_result
|
||||
(which is how they were defined in app.c). The existing
|
||||
declaration of ast_getdata_result in app.h was about 1000 lines
|
||||
after those functions however so under certain circumstances,
|
||||
a "use before declaration" error was thrown by the compiler.
|
||||
The declaration of the enum was therefore moved to before those
|
||||
functions.
|
||||
|
||||
Resolves: #200
|
||||
|
||||
- ### doc: Remove obsolete CHANGES-staging and UPGRADE-staging
|
||||
Author: George Joseph
|
||||
Date: 2023-07-10
|
||||
|
||||
|
||||
- ### res_geolocation: Ensure required 'location_info' is present.
|
||||
Author: Sean Bright
|
||||
Date: 2023-07-07
|
||||
|
||||
Fixes #189
|
||||
|
||||
|
||||
- ### Adds manager actions to allow move/remove/forward individual messages in a par..
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-06-29
|
||||
|
||||
Resolves: #181
|
||||
|
||||
UserNote: The following manager actions have been added
|
||||
|
||||
VoicemailBoxSummary - Generate message list for a given mailbox
|
||||
|
||||
VoicemailRemove - Remove a message from a mailbox folder
|
||||
|
||||
VoicemailMove - Move a message from one folder to another within a mailbox
|
||||
|
||||
VoicemailForward - Copy a message from one folder in one mailbox
|
||||
to another folder in another or the same mailbox.
|
||||
|
||||
|
||||
- ### app_voicemail: add CLI commands for message manipulation
|
||||
Author: Mike Bradeen
|
||||
Date: 2023-06-20
|
||||
|
||||
Adds CLI commands to allow move/remove/forward individual messages
|
||||
from a particular mailbox folder. The forward command can be used
|
||||
to copy a message within a mailbox or to another mailbox. Also adds
|
||||
a show mailbox, required to retrieve message ID's.
|
||||
|
||||
Resolves: #170
|
||||
|
||||
UserNote: The following CLI commands have been added to app_voicemail
|
||||
|
||||
voicemail show mailbox <mailbox> <context>
|
||||
Show contents of mailbox <mailbox>@<context>
|
||||
|
||||
voicemail remove <mailbox> <context> <from_folder> <messageid>
|
||||
Remove message <messageid> from <from_folder> in mailbox <mailbox>@<context>
|
||||
|
||||
voicemail move <mailbox> <context> <from_folder> <messageid> <to_folder>
|
||||
Move message <messageid> in mailbox <mailbox>&<context> from <from_folder> to <to_folder>
|
||||
|
||||
voicemail forward <from_mailbox> <from_context> <from_folder> <messageid> <to_mailbox> <to_context> <to_folder>
|
||||
Forward message <messageid> in mailbox <mailbox>@<context> <from_folder> to
|
||||
mailbox <mailbox>@<context> <to_folder>
|
||||
|
||||
|
||||
- ### Cleanup deleted files
|
||||
Author: George Joseph
|
||||
Date: 2024-02-20
|
||||
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-certified-18.9-cert9
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ChangeLog-certified-18.9-cert9.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/certified-18.9-cert8...certified-18.9-cert9)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/certified-asterisk/asterisk-certified-18.9-cert9.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/certified-asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 8
|
||||
- Commit Authors: 4
|
||||
- Issues Resolved: 4
|
||||
- Security Advisories Resolved: 0
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### tcptls/iostream: Add support for setting SNI on client TLS connections
|
||||
Secure websocket client connections now send SNI in
|
||||
the TLS client hello.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- George Joseph: (5)
|
||||
- Ivan Poddubny: (1)
|
||||
- Mark Murawski: (1)
|
||||
- Sean Bright: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- 360: [improvement]: Update documentation for CHANGES/UPGRADE files
|
||||
- 689: [bug] Document the `Events` argument of the `Login` AMI action
|
||||
- 713: [bug]: SNI isn't being set on websocket client connections
|
||||
- 719: [bug]: segfault on start if compiled with DETECT_DEADLOCKS
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- ### George Joseph (5):
|
||||
- Fix incorrect application and function documentation references
|
||||
- manager.c: Add missing parameters to Login documentation
|
||||
- rtp_engine and stun: call ast_register_atexit instead of ast_register_cleanup
|
||||
- make_buildopts_h: Always include DETECT_DEADLOCKS
|
||||
- tcptls/iostream: Add support for setting SNI on client TLS connections
|
||||
|
||||
- ### Ivan Poddubny (1):
|
||||
- asterisk.c: Fix sending incorrect messages to systemd notify
|
||||
|
||||
- ### Mark Murawski (1):
|
||||
- Remove files that are no longer updated
|
||||
|
||||
- ### Sean Bright (1):
|
||||
- res_http_websocket.c: Set hostname on client for certificate validation.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- asterisk.c: Fix sending incorrect messages to systemd notify
|
||||
- res_http_websocket.c: Set hostname on client for certificate validation.
|
||||
- tcptls/iostream: Add support for setting SNI on client TLS connections
|
||||
- make_buildopts_h: Always include DETECT_DEADLOCKS
|
||||
- rtp_engine and stun: call ast_register_atexit instead of ast_register_cleanup
|
||||
- manager.c: Add missing parameters to Login documentation
|
||||
- Fix incorrect application and function documentation references
|
||||
- Remove files that are no longer updated
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### asterisk.c: Fix sending incorrect messages to systemd notify
|
||||
Author: Ivan Poddubny
|
||||
Date: 2024-05-05
|
||||
|
||||
Send "RELOADING=1" instead of "RELOAD=1" to follow the format
|
||||
expected by systemd (see sd_notify(3) man page).
|
||||
|
||||
Do not send STOPPING=1 in remote console mode:
|
||||
attempting to execute "asterisk -rx" by the main process leads to
|
||||
a warning if NotifyAccess=main (the default) or to a forced termination
|
||||
if NotifyAccess=all.
|
||||
|
||||
|
||||
#### res_http_websocket.c: Set hostname on client for certificate validation.
|
||||
Author: Sean Bright
|
||||
Date: 2023-11-09
|
||||
|
||||
Additionally add a `assert()` to in the TLS client setup code to
|
||||
ensure that hostname is set when it is supposed to be.
|
||||
|
||||
Fixes #433
|
||||
|
||||
|
||||
#### tcptls/iostream: Add support for setting SNI on client TLS connections
|
||||
Author: George Joseph
|
||||
Date: 2024-04-23
|
||||
|
||||
If the hostname field of the ast_tcptls_session_args structure is
|
||||
set (which it is for websocket client connections), that hostname
|
||||
will now automatically be used in an SNI TLS extension in the client
|
||||
hello.
|
||||
|
||||
Resolves: #713
|
||||
|
||||
UserNote: Secure websocket client connections now send SNI in
|
||||
the TLS client hello.
|
||||
|
||||
|
||||
#### make_buildopts_h: Always include DETECT_DEADLOCKS
|
||||
Author: George Joseph
|
||||
Date: 2024-04-27
|
||||
|
||||
Since DETECT_DEADLOCKS is now split from DEBUG_THREADS, it must
|
||||
always be included in buildopts.h instead of only when
|
||||
ADD_CFLAGS_TO_BUILDOPTS_H is defined. A SEGV will result otherwise.
|
||||
|
||||
Resolves: #719
|
||||
|
||||
#### rtp_engine and stun: call ast_register_atexit instead of ast_register_cleanup
|
||||
Author: George Joseph
|
||||
Date: 2024-04-02
|
||||
|
||||
rtp_engine.c and stun.c were calling ast_register_cleanup which
|
||||
is skipped if any loadable module can't be cleanly unloaded
|
||||
when asterisk shuts down. Since this will always be the case,
|
||||
their cleanup functions never get run. In a practical sense
|
||||
this makes no difference since asterisk is shutting down but if
|
||||
you're in development mode and trying to use the leak sanitizer,
|
||||
the leaks from both of those modules clutter up the output.
|
||||
|
||||
|
||||
#### manager.c: Add missing parameters to Login documentation
|
||||
Author: George Joseph
|
||||
Date: 2024-04-03
|
||||
|
||||
* Added the AuthType and Key parameters for MD5 authentication.
|
||||
|
||||
* Added the Events parameter.
|
||||
|
||||
Resolves: #689
|
||||
|
||||
#### Fix incorrect application and function documentation references
|
||||
Author: George Joseph
|
||||
Date: 2024-04-01
|
||||
|
||||
There were a few references in the embedded documentation XML
|
||||
where the case didn't match or where the referenced app or function
|
||||
simply didn't exist any more. These were causing 404 responses
|
||||
in docs.asterisk.org.
|
||||
|
||||
|
||||
#### Remove files that are no longer updated
|
||||
Author: Mark Murawski
|
||||
Date: 2023-10-30
|
||||
|
||||
Fixes: #360
|
||||
|
||||
174
README.html
174
README.html
@@ -1,174 +0,0 @@
|
||||
<html><head><title>Readme for asterisk-certified-18.9-cert17</title></head><body>
|
||||
<h1>The Asterisk(R) Open Source PBX</h1>
|
||||
<pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community.
|
||||
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
|
||||
</code></pre>
|
||||
<h2>SECURITY</h2>
|
||||
<p>It is imperative that you read and fully understand the contents of
|
||||
the security information document before you attempt to configure and run
|
||||
an Asterisk server.</p>
|
||||
<p>See <a href="https://docs.asterisk.org/Deployment/Important-Security-Considerations">Important Security Considerations</a> for more information.</p>
|
||||
<h2>WHAT IS ASTERISK ?</h2>
|
||||
<p>Asterisk is an Open Source PBX and telephony toolkit. It is, in a
|
||||
sense, middleware between Internet and telephony channels on the bottom,
|
||||
and Internet and telephony applications at the top. However, Asterisk supports
|
||||
more telephony interfaces than just Internet telephony. Asterisk also has a
|
||||
vast amount of support for traditional PSTN telephony, as well.</p>
|
||||
<p>For more information on the project itself, please visit the <a href="https://www.asterisk.org">Asterisk
|
||||
Home Page</a> and the official
|
||||
<a href="https://docs.asterisk.org">Asterisk Documentation</a>.</p>
|
||||
<h2>SUPPORTED OPERATING SYSTEMS</h2>
|
||||
<h3>Linux</h3>
|
||||
<p>The Asterisk Open Source PBX is developed and tested primarily on the
|
||||
GNU/Linux operating system, and is supported on every major GNU/Linux
|
||||
distribution.</p>
|
||||
<h3>Others</h3>
|
||||
<p>Asterisk has also been 'ported' and reportedly runs properly on other
|
||||
operating systems as well, Apple's Mac OS X, and the BSD variants.</p>
|
||||
<h2>GETTING STARTED</h2>
|
||||
<p>Most users are using VoIP/SIP exclusively these days but if you need to
|
||||
interface to TDM or analog services or devices, be sure you've got supported
|
||||
hardware.</p>
|
||||
<p>Supported telephony hardware includes:
|
||||
* All Analog and Digital Interface cards from Sangoma
|
||||
* Any full duplex sound card supported by PortAudio
|
||||
* The Xorcom Astribank channel bank</p>
|
||||
<h3>UPGRADING FROM AN EARLIER VERSION</h3>
|
||||
<p>If you are updating from a previous version of Asterisk, make sure you
|
||||
read the Change Logs.</p>
|
||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||
<p><a href="ChangeLogs/ChangeLog-certified-18.9-cert17.html">Change Logs</a></p>
|
||||
<!-- END-CHANGELOGS -->
|
||||
|
||||
<h3>NEW INSTALLATIONS</h3>
|
||||
<p>Ensure that your system contains a compatible compiler and development
|
||||
libraries. Asterisk requires either the GNU Compiler Collection (GCC) version
|
||||
4.1 or higher, or a compiler that supports the C99 specification and some of
|
||||
the gcc language extensions. In addition, your system needs to have the C
|
||||
library headers available, and the headers and libraries for ncurses.</p>
|
||||
<p>There are many modules that have additional dependencies. To see what
|
||||
libraries are being looked for, see <code>./configure --help</code>, or run
|
||||
<code>make menuselect</code> to view the dependencies for specific modules.</p>
|
||||
<p>On many distributions, these dependencies are installed by packages with names
|
||||
like 'glibc-devel', 'ncurses-devel', 'openssl-devel' and 'zlib-devel'
|
||||
or similar. The <code>contrib/scripts/install_prereq</code> script can be used to install
|
||||
the dependencies for most Debian and Redhat based Linux distributions.
|
||||
The script also handles SUSE, Arch, Gentoo, FreeBSD, NetBSD and OpenBSD but
|
||||
those distributions mightnoit have complete support or they might be out of date.</p>
|
||||
<p>So, let's proceed:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Read the documentation.<br>
|
||||
The <a href="https://docs.asterisk.org">Asterisk Documentation</a> website has full
|
||||
information for building, installing, configuring and running Asterisk.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>./configure</code><br>
|
||||
Execute the configure script to guess values for system-dependent
|
||||
variables used during compilation. If the script indicates that some required
|
||||
components are missing, you can run <code>./contrib/scripts/install_prereq install</code>
|
||||
to install the necessary components. Note that this will install all dependencies
|
||||
for every functionality of Asterisk. After running the script, you will need
|
||||
to rerun <code>./configure</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>make menuselect</code><br>
|
||||
This is needed if you want to select the modules that will be compiled and to
|
||||
check dependencies for various optional modules.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>make</code><br>
|
||||
Assuming the build completes successfully:</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>make install</code><br>
|
||||
If this is your first time working with Asterisk, you may wish to install
|
||||
the sample PBX, with demonstration extensions, etc. If so, run:</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Run <code>make samples</code><br>
|
||||
Doing so will overwrite any existing configuration files you have installed.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Finally, you can launch Asterisk in the foreground mode (not a daemon) with
|
||||
<code>asterisk -vvvc</code><br>
|
||||
You'll see a bunch of verbose messages fly by your screen as Asterisk
|
||||
initializes (that's the "very very verbose" mode). When it's ready, if
|
||||
you specified the "c" then you'll get a command line console, that looks
|
||||
like this:<br>
|
||||
<code>*CLI></code><br>
|
||||
You can type <code>core show help</code> at any time to get help with the system. For help
|
||||
with a specific command, type <code>core show help <command></code>.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p><code>man asterisk</code> at the Unix/Linux command prompt will give you detailed
|
||||
information on how to start and stop Asterisk, as well as all the command
|
||||
line options for starting Asterisk.</p>
|
||||
<h3>ABOUT CONFIGURATION FILES</h3>
|
||||
<p>All Asterisk configuration files share a common format. Comments are
|
||||
delimited by <code>;</code> (since <code>#</code> of course, being a DTMF digit, may occur in
|
||||
many places). A configuration file is divided into sections whose names
|
||||
appear in <code>[]</code>'s. Each section typically contains statements in the form
|
||||
<code>variable = value</code> although you may see <code>variable => value</code> in older samples.</p>
|
||||
<h3>SPECIAL NOTE ON TIME</h3>
|
||||
<p>Those using SIP phones should be aware that Asterisk is sensitive to
|
||||
large jumps in time. Manually changing the system time using date(1)
|
||||
(or other similar commands) may cause SIP registrations and other
|
||||
internal processes to fail. For this reason, you should always use
|
||||
a time synchronization package to keep your system time accurate.
|
||||
All OS/distributions make one or more of the following packages
|
||||
available:</p>
|
||||
<ul>
|
||||
<li>ntpd/ntpsec</li>
|
||||
<li>chronyd</li>
|
||||
<li>systemd-timesyncd</li>
|
||||
</ul>
|
||||
<p>Be sure to install and configure one (and only one) of them.</p>
|
||||
<h3>FILE DESCRIPTORS</h3>
|
||||
<p>Depending on the size of your system and your configuration,
|
||||
Asterisk can consume a large number of file descriptors. In UNIX,
|
||||
file descriptors are used for more than just files on disk. File
|
||||
descriptors are also used for handling network communication
|
||||
(e.g. SIP, IAX2, or H.323 calls) and hardware access (e.g. analog and
|
||||
digital trunk hardware). Asterisk accesses many on-disk files for
|
||||
everything from configuration information to voicemail storage.</p>
|
||||
<p>Most systems limit the number of file descriptors that Asterisk can
|
||||
have open at one time. This can limit the number of simultaneous
|
||||
calls that your system can handle. For example, if the limit is set
|
||||
at 1024 (a common default value) Asterisk can handle approximately 150
|
||||
SIP calls simultaneously. To change the number of file descriptors
|
||||
follow the instructions for your system below:</p>
|
||||
<h4>PAM-BASED LINUX SYSTEM</h4>
|
||||
<p>If your system uses PAM (Pluggable Authentication Modules) edit
|
||||
<code>/etc/security/limits.conf</code>. Add these lines to the bottom of the file:</p>
|
||||
<pre><code class="language-text">root soft nofile 4096
|
||||
root hard nofile 8196
|
||||
asterisk soft nofile 4096
|
||||
asterisk hard nofile 8196
|
||||
</code></pre>
|
||||
<p>(adjust the numbers to taste). You may need to reboot the system for
|
||||
these changes to take effect.</p>
|
||||
<h4>GENERIC UNIX SYSTEM</h4>
|
||||
<p>If there are no instructions specifically adapted to your system
|
||||
above you can try adding the command <code>ulimit -n 8192</code> to the script
|
||||
that starts Asterisk.</p>
|
||||
<h2>MORE INFORMATION</h2>
|
||||
<p>Visit the <a href="https://docs.asterisk.org">Asterisk Documentation</a> website
|
||||
for more documentation on various features and please read all the
|
||||
configuration samples that include documentation on the configuration options.</p>
|
||||
<p>Finally, you may wish to join the
|
||||
<a href="https://community.asterisk.org">Asterisk Community Forums</a></p>
|
||||
<p>Welcome to the growing worldwide community of Asterisk users!</p>
|
||||
<pre><code> Mark Spencer, and the Asterisk.org development community
|
||||
</code></pre>
|
||||
<hr>
|
||||
<p>Asterisk is a trademark of Sangoma Technologies Corporation</p>
|
||||
<p>[<a href="https://www.sangoma.com/">Sangoma</a>]
|
||||
[<a href="https://www.asterisk.org">Home Page</a>]
|
||||
[<a href="https://www.asterisk.org/support">Support</a>]
|
||||
[<a href="https://docs.asterisk.org">Documentation</a>]
|
||||
[<a href="https://community.asterisk.org">Community Forums</a>]
|
||||
[<a href="https://github.com/asterisk/asterisk/releases">Release Notes</a>]
|
||||
[<a href="https://docs.asterisk.org/Deployment/Important-Security-Considerations/">Security</a>]
|
||||
[<a href="https://lists.digium.com">Mailing List Archive</a>] </p>
|
||||
</body></html>
|
||||
@@ -55,7 +55,7 @@ If you are updating from a previous version of Asterisk, make sure you
|
||||
read the Change Logs.
|
||||
|
||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||
[Change Logs](ChangeLogs/ChangeLog-certified-18.9-cert17.html)
|
||||
[Change Logs](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
<!-- END-CHANGELOGS -->
|
||||
|
||||
### NEW INSTALLATIONS
|
||||
|
||||
18
asterisk-certified-18.9-cert4-summary.html
Normal file
18
asterisk-certified-18.9-cert4-summary.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><title>Release Summary - asterisk-certified/18.9-cert4</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-certified/18.9-cert4</h3><h3 align="center">Date: 2023-01-19</h3><h3 align="center"><asteriskteam@digium.com></h3><hr><h2 align="center">Table of Contents</h2><ol>
|
||||
<li><a href="#summary">Summary</a></li>
|
||||
<li><a href="#contributors">Contributors</a></li>
|
||||
<li><a href="#closed_issues">Closed Issues</a></li>
|
||||
<li><a href="#open_issues">Open Issues</a></li>
|
||||
<li><a href="#diffstat">Diffstat</a></li>
|
||||
</ol><hr><a name="summary"><h2 align="center">Summary</h2></a><center><a href="#top">[Back to Top]</a></center><p>This release is a point release of an existing major version. The changes included were made to address problems that have been identified in this release series, or are minor, backwards compatible new features or improvements. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous version are strongly encouraged to review the UPGRADE.txt document as well as the CHANGES document for information about upgrading to this release series.</p><p>The data in this summary reflects changes that have been made since the previous release, asterisk-certified/18.9-cert3.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were affected by commits that went into this release.</p><table width="100%" border="0">
|
||||
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
|
||||
<tr valign="top"><td width="33%">1 Joshua C. Colp <jcolp@sangoma.com><br/>1 Alexandre Fournier <afournier@wazo.io><br/>1 George Joseph <gjoseph@digium.com><br/></td><td width="33%"><td width="33%">1 Joshua C. Colp <jcolp@digium.com><br/>1 Alexandre Fournier <afournier@wazo.io><br/>1 LA <learbia@gmail.com><br/></td></tr>
|
||||
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Bug</h3><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-30369">ASTERISK-30369</a>: res_pjsip: Websockets from same IP shut down when they shouldn't be<br/>Reported by: Joshua C. Colp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=dda609c9df2eebbd7c227d5a7db5586e1344d1a1">[dda609c9df]</a> George Joseph -- res_pjsip_transport_websocket: Add remote port to transport</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip_transport_websocket</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-30065">ASTERISK-30065</a>: pjsip: Open Websocket connection is not reused for outgoing requests<br/>Reported by: LA<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c20750bbaf859a3caae408a493dae3c180d49d96">[c20750bbaf]</a> Joshua C. Colp -- res_pjsip_transport_websocket: Also set the remote name.</li>
|
||||
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-30065">ASTERISK-30065</a>: pjsip: Open Websocket connection is not reused for outgoing requests<br/>Reported by: LA<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c20750bbaf859a3caae408a493dae3c180d49d96">[c20750bbaf]</a> Joshua C. Colp -- res_pjsip_transport_websocket: Also set the remote name.</li>
|
||||
</ul><br><hr><a name="open_issues"><h2 align="center">Open Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all open issues from the issue tracker that were referenced by changes that went into this release.</p><h3>Bug</h3><h4>Category: Resources/res_geolocation</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-30346">ASTERISK-30346</a>: Fix NULL dereferencing issue in Geolocation<br/>Reported by: Alexandre Fournier<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=646a9a7ec6da8061b2b9ff34aedc455789035d7c">[646a9a7ec6]</a> Alexandre Fournier -- res_geoloc: fix NULL pointer dereference bug</li>
|
||||
</ul><br><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p><pre>0 files changed</pre><br></html>
|
||||
119
asterisk-certified-18.9-cert4-summary.txt
Normal file
119
asterisk-certified-18.9-cert4-summary.txt
Normal file
@@ -0,0 +1,119 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-certified/18.9-cert4
|
||||
|
||||
Date: 2023-01-19
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Open Issues
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release is a point release of an existing major version. The changes
|
||||
included were made to address problems that have been identified in this
|
||||
release series, or are minor, backwards compatible new features or
|
||||
improvements. Users should be able to safely upgrade to this version if
|
||||
this release series is already in use. Users considering upgrading from a
|
||||
previous version are strongly encouraged to review the UPGRADE.txt
|
||||
document as well as the CHANGES document for information about upgrading
|
||||
to this release series.
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-certified/18.9-cert3.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Contributors
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This table lists the people who have submitted code, those that have
|
||||
tested patches, as well as those that reported issues on the issue tracker
|
||||
that were resolved in this release. For coders, the number is how many of
|
||||
their patches (of any size) were committed into this release. For testers,
|
||||
the number is the number of times their name was listed as assisting with
|
||||
testing a patch. Finally, for reporters, the number is the number of
|
||||
issues that they reported that were affected by commits that went into
|
||||
this release.
|
||||
|
||||
Coders Testers Reporters
|
||||
1 Joshua C. Colp 1 Joshua C. Colp
|
||||
1 Alexandre Fournier 1 Alexandre Fournier
|
||||
1 George Joseph 1 LA
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Closed Issues
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all issues from the issue tracker that were closed by
|
||||
changes that went into this release.
|
||||
|
||||
Bug
|
||||
|
||||
Category: Resources/res_pjsip
|
||||
|
||||
ASTERISK-30369: res_pjsip: Websockets from same IP shut down when they
|
||||
shouldn't be
|
||||
Reported by: Joshua C. Colp
|
||||
* [dda609c9df] George Joseph -- res_pjsip_transport_websocket: Add
|
||||
remote port to transport
|
||||
|
||||
Category: Resources/res_pjsip_transport_websocket
|
||||
|
||||
ASTERISK-30065: pjsip: Open Websocket connection is not reused for
|
||||
outgoing requests
|
||||
Reported by: LA
|
||||
* [c20750bbaf] Joshua C. Colp -- res_pjsip_transport_websocket: Also set
|
||||
the remote name.
|
||||
|
||||
Category: pjproject/pjsip
|
||||
|
||||
ASTERISK-30065: pjsip: Open Websocket connection is not reused for
|
||||
outgoing requests
|
||||
Reported by: LA
|
||||
* [c20750bbaf] Joshua C. Colp -- res_pjsip_transport_websocket: Also set
|
||||
the remote name.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Open Issues
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all open issues from the issue tracker that were
|
||||
referenced by changes that went into this release.
|
||||
|
||||
Bug
|
||||
|
||||
Category: Resources/res_geolocation
|
||||
|
||||
ASTERISK-30346: Fix NULL dereferencing issue in Geolocation
|
||||
Reported by: Alexandre Fournier
|
||||
* [646a9a7ec6] Alexandre Fournier -- res_geoloc: fix NULL pointer
|
||||
dereference bug
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Diffstat Results
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a summary of the changes to the source code that went into this
|
||||
release that was generated using the diffstat utility.
|
||||
|
||||
0 files changed
|
||||
@@ -1352,21 +1352,3 @@ ALTER TABLE ps_endpoints ADD COLUMN stir_shaken_profile VARCHAR(80);
|
||||
|
||||
UPDATE alembic_version SET version_num='9f3692b1654b' WHERE alembic_version.version_num = '7197536bb68d';
|
||||
|
||||
-- Running upgrade 9f3692b1654b -> 655054a68ad5
|
||||
|
||||
ALTER TABLE ps_endpoints ADD COLUMN tenantid VARCHAR(80);
|
||||
|
||||
UPDATE alembic_version SET version_num='655054a68ad5' WHERE alembic_version.version_num = '9f3692b1654b';
|
||||
|
||||
-- Running upgrade 655054a68ad5 -> 801b9fced8b7
|
||||
|
||||
ALTER TABLE ps_subscription_persistence ADD COLUMN generator_data TEXT;
|
||||
|
||||
UPDATE alembic_version SET version_num='801b9fced8b7' WHERE alembic_version.version_num = '655054a68ad5';
|
||||
|
||||
-- Running upgrade 801b9fced8b7 -> 4f91fc18c979
|
||||
|
||||
ALTER TABLE ps_endpoints ADD COLUMN suppress_moh_on_sendonly ENUM('0','1','off','on','false','true','no','yes');
|
||||
|
||||
UPDATE alembic_version SET version_num='4f91fc18c979' WHERE alembic_version.version_num = '801b9fced8b7';
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 4105ee839f58
|
||||
|
||||
CREATE TABLE queue_log (
|
||||
id BIGSERIAL NOT NULL,
|
||||
time TIMESTAMP WITHOUT TIME ZONE,
|
||||
callid VARCHAR(80),
|
||||
queuename VARCHAR(256),
|
||||
agent VARCHAR(80),
|
||||
event VARCHAR(32),
|
||||
data1 VARCHAR(100),
|
||||
data2 VARCHAR(100),
|
||||
data3 VARCHAR(100),
|
||||
data4 VARCHAR(100),
|
||||
data5 VARCHAR(100),
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (id)
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4105ee839f58') RETURNING alembic_version.version_num;
|
||||
|
||||
COMMIT;
|
||||
|
||||
@@ -33,13 +33,3 @@ ALTER TABLE voicemail_messages MODIFY recording BLOB(4294967295) NULL;
|
||||
|
||||
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
|
||||
|
||||
-- Running upgrade 39428242f7f5 -> 1c55c341360f
|
||||
|
||||
UPDATE alembic_version SET version_num='1c55c341360f' WHERE alembic_version.version_num = '39428242f7f5';
|
||||
|
||||
-- Running upgrade 1c55c341360f -> 64fae6bbe7fb
|
||||
|
||||
DROP INDEX voicemail_messages_dir ON voicemail_messages;
|
||||
|
||||
UPDATE alembic_version SET version_num='64fae6bbe7fb' WHERE alembic_version.version_num = '1c55c341360f';
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ CREATE TABLE cdr (
|
||||
sequence INTEGER
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d') RETURNING alembic_version.version_num;
|
||||
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
|
||||
|
||||
-- Running upgrade 210693f3123d -> 54cde9847798
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@ CREATE TABLE musiconhold (
|
||||
PRIMARY KEY (name)
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4da0c5f79a9c') RETURNING alembic_version.version_num;
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4da0c5f79a9c');
|
||||
|
||||
-- Running upgrade 4da0c5f79a9c -> 43956d550a44
|
||||
|
||||
@@ -1466,23 +1466,5 @@ ALTER TABLE ps_endpoints ADD COLUMN stir_shaken_profile VARCHAR(80);
|
||||
|
||||
UPDATE alembic_version SET version_num='9f3692b1654b' WHERE alembic_version.version_num = '7197536bb68d';
|
||||
|
||||
-- Running upgrade 9f3692b1654b -> 655054a68ad5
|
||||
|
||||
ALTER TABLE ps_endpoints ADD COLUMN tenantid VARCHAR(80);
|
||||
|
||||
UPDATE alembic_version SET version_num='655054a68ad5' WHERE alembic_version.version_num = '9f3692b1654b';
|
||||
|
||||
-- Running upgrade 655054a68ad5 -> 801b9fced8b7
|
||||
|
||||
ALTER TABLE ps_subscription_persistence ADD COLUMN generator_data TEXT;
|
||||
|
||||
UPDATE alembic_version SET version_num='801b9fced8b7' WHERE alembic_version.version_num = '655054a68ad5';
|
||||
|
||||
-- Running upgrade 801b9fced8b7 -> 4f91fc18c979
|
||||
|
||||
ALTER TABLE ps_endpoints ADD COLUMN suppress_moh_on_sendonly ast_bool_values;
|
||||
|
||||
UPDATE alembic_version SET version_num='4f91fc18c979' WHERE alembic_version.version_num = '801b9fced8b7';
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 4105ee839f58
|
||||
|
||||
CREATE TABLE queue_log (
|
||||
id BIGSERIAL NOT NULL,
|
||||
time TIMESTAMP WITHOUT TIME ZONE,
|
||||
callid VARCHAR(80),
|
||||
queuename VARCHAR(256),
|
||||
agent VARCHAR(80),
|
||||
event VARCHAR(32),
|
||||
data1 VARCHAR(100),
|
||||
data2 VARCHAR(100),
|
||||
data3 VARCHAR(100),
|
||||
data4 VARCHAR(100),
|
||||
data5 VARCHAR(100),
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (id)
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4105ee839f58') RETURNING alembic_version.version_num;
|
||||
|
||||
COMMIT;
|
||||
|
||||
@@ -27,7 +27,7 @@ ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIM
|
||||
|
||||
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e') RETURNING alembic_version.version_num;
|
||||
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
|
||||
|
||||
-- Running upgrade a2e9769475e -> 39428242f7f5
|
||||
|
||||
@@ -35,15 +35,5 @@ ALTER TABLE voicemail_messages ALTER COLUMN recording TYPE BYTEA;
|
||||
|
||||
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
|
||||
|
||||
-- Running upgrade 39428242f7f5 -> 1c55c341360f
|
||||
|
||||
UPDATE alembic_version SET version_num='1c55c341360f' WHERE alembic_version.version_num = '39428242f7f5';
|
||||
|
||||
-- Running upgrade 1c55c341360f -> 64fae6bbe7fb
|
||||
|
||||
DROP INDEX voicemail_messages_dir;
|
||||
|
||||
UPDATE alembic_version SET version_num='64fae6bbe7fb' WHERE alembic_version.version_num = '1c55c341360f';
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
13
contrib/scripts/safe_asterisk
Normal file → Executable file
13
contrib/scripts/safe_asterisk
Normal file → Executable file
@@ -6,7 +6,7 @@ ASTVARRUNDIR="__ASTERISK_VARRUN_DIR__"
|
||||
ASTVARLOGDIR="__ASTERISK_LOG_DIR__"
|
||||
|
||||
CLIARGS="$*" # Grab any args passed to safe_asterisk
|
||||
#TTY=9 # TTY (if you want one) for Asterisk to run on
|
||||
TTY=9 # TTY (if you want one) for Asterisk to run on
|
||||
CONSOLE=yes # Whether or not you want a console
|
||||
#NOTIFY=root@localhost # Who to notify about crashes
|
||||
#EXEC=/path/to/somescript # Run this command if Asterisk crashes
|
||||
@@ -39,8 +39,6 @@ PRIORITY=0
|
||||
message() {
|
||||
if test -n "$TTY" && test "$TTY" != "no"; then
|
||||
echo "$1" >/dev/${TTY}
|
||||
else
|
||||
echo "$1" >&2
|
||||
fi
|
||||
if test -n "$SYSLOG"; then
|
||||
logger -p "${SYSLOG}.warn" -t safe_asterisk[$$] "$1"
|
||||
@@ -83,7 +81,7 @@ else
|
||||
fi
|
||||
fi
|
||||
SYSCTL_MAXFILES="fs.file-max"
|
||||
elif `uname -s | grep Darwin /dev/null 2>&1`; then
|
||||
elif `uname -s | grep Darwin >/dev/null 2>&1`; then
|
||||
SYSCTL_MAXFILES="kern.maxfiles"
|
||||
fi
|
||||
|
||||
@@ -164,7 +162,7 @@ trap '' PIPE
|
||||
if test -d "${ASTETCDIR}/startup.d"; then
|
||||
# If this script is run by root, the startup.d directory and all scripts in it
|
||||
# must be owned by root.
|
||||
if test `id -u` == 0; then
|
||||
if test `id -u` = 0; then
|
||||
dir_owner=$(stat -c '%u' "${ASTETCDIR}/startup.d" 2>/dev/null)
|
||||
if test "${dir_owner}" != 0 ; then
|
||||
message "FATAL: ${ASTETCDIR}/startup.d is not owned by root"
|
||||
@@ -172,7 +170,7 @@ if test -d "${ASTETCDIR}/startup.d"; then
|
||||
fi
|
||||
|
||||
# Check all scripts for proper ownership before sourcing any of them.
|
||||
for script in $(find "${ASTETCDIR}/startup.d/" -name '*.sh') ; do
|
||||
for script in "${ASTETCDIR}/startup.d/"*.sh ; do
|
||||
if test -r "${script}"; then
|
||||
script_owner=$(stat -c '%u' "${script}" 2>/dev/null)
|
||||
if test "$script_owner" != 0 ; then
|
||||
@@ -183,8 +181,7 @@ if test -d "${ASTETCDIR}/startup.d"; then
|
||||
done
|
||||
fi
|
||||
|
||||
for script in $(find "${ASTETCDIR}/startup.d/" -name '*.sh') ; do
|
||||
echo sourceing
|
||||
for script in "${ASTETCDIR}/startup.d/"*.sh ; do
|
||||
. "${script}"
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -1055,7 +1055,6 @@ static struct cdr_object *cdr_object_alloc(struct ast_channel_snapshot *chan, co
|
||||
ast_string_field_set(cdr, uniqueid, chan->base->uniqueid);
|
||||
ast_string_field_set(cdr, name, chan->base->name);
|
||||
ast_string_field_set(cdr, linkedid, chan->peer->linkedid);
|
||||
ast_string_field_set(cdr, tenantid, chan->base->tenantid);
|
||||
cdr->disposition = AST_CDR_NULL;
|
||||
cdr->sequence = ast_atomic_fetchadd_int(&global_cdr_sequence, +1);
|
||||
cdr->lastevent = *event_time;
|
||||
@@ -1325,7 +1324,7 @@ static struct ast_cdr *cdr_object_create_public_records(struct cdr_object *cdr)
|
||||
ast_copy_string(cdr_copy->lastdata, it_cdr->data, sizeof(cdr_copy->lastdata));
|
||||
ast_copy_string(cdr_copy->dst, it_cdr->exten, sizeof(cdr_copy->dst));
|
||||
ast_copy_string(cdr_copy->dcontext, it_cdr->context, sizeof(cdr_copy->dcontext));
|
||||
ast_copy_string(cdr_copy->tenantid, it_cdr->tenantid, sizeof(cdr_copy->tenantid));
|
||||
ast_copy_string(cdr_copy->tenantid, party_a->base->tenantid, sizeof(cdr_copy->tenantid));
|
||||
|
||||
/* Party B */
|
||||
if (party_b) {
|
||||
|
||||
@@ -39,6 +39,14 @@ static const pj_str_t diversion_name = { "Diversion", 9 };
|
||||
static const pj_str_t history_info_name = { "History-Info", 12 };
|
||||
static pj_str_t HISTINFO_SUPPORTED_NAME = { "histinfo", 8 };
|
||||
|
||||
/*
|
||||
* Should we queue a frame with the updated redirecting information.
|
||||
*/
|
||||
typedef enum {
|
||||
PJSIP_DIVERSION_NOSEND_UPDATE = 0,
|
||||
PJSIP_DIVERSION_SEND_UPDATE = 1,
|
||||
} pjsip_diversion_send_update;
|
||||
|
||||
/*!
|
||||
* \internal
|
||||
* \brief Determine if the given string is a SIP token.
|
||||
@@ -385,7 +393,8 @@ static void set_redirecting_reason(pjsip_fromto_hdr *from_info, pjsip_name_addr
|
||||
|
||||
static void set_redirecting(struct ast_sip_session *session,
|
||||
pjsip_fromto_hdr *from_info,
|
||||
pjsip_name_addr *to_info)
|
||||
pjsip_name_addr *to_info,
|
||||
pjsip_diversion_send_update send_update)
|
||||
{
|
||||
struct ast_party_redirecting data;
|
||||
struct ast_set_party_redirecting update;
|
||||
@@ -417,8 +426,8 @@ static void set_redirecting(struct ast_sip_session *session,
|
||||
++data.count;
|
||||
|
||||
ast_channel_set_redirecting(session->channel, &data, &update);
|
||||
/* Only queue an indication if it was due to a response */
|
||||
if (session->inv_session->role == PJSIP_ROLE_UAC) {
|
||||
/* Only queue an indication if it was due to a response received pre media*/
|
||||
if (session->inv_session->role == PJSIP_ROLE_UAC && send_update) {
|
||||
ast_channel_queue_redirecting_update(session->channel, &data, &update);
|
||||
}
|
||||
ast_party_redirecting_free(&data);
|
||||
@@ -430,7 +439,7 @@ static int diversion_incoming_request(struct ast_sip_session *session, pjsip_rx_
|
||||
|
||||
if (hdr) {
|
||||
set_redirecting(session, hdr, (pjsip_name_addr*)
|
||||
PJSIP_MSG_TO_HDR(rdata->msg_info.msg)->uri);
|
||||
PJSIP_MSG_TO_HDR(rdata->msg_info.msg)->uri, PJSIP_DIVERSION_SEND_UPDATE);
|
||||
} else {
|
||||
pjsip_fromto_hdr *history_info_to;
|
||||
pjsip_fromto_hdr *history_info_from;
|
||||
@@ -440,14 +449,14 @@ static int diversion_incoming_request(struct ast_sip_session *session, pjsip_rx_
|
||||
/* If History-Info is present, then it will also include the original
|
||||
redirected-from in addition to the redirected-to */
|
||||
history_info_from = get_history_info_header(rdata, 1);
|
||||
set_redirecting(session, history_info_from, (pjsip_name_addr*)history_info_to->uri);
|
||||
set_redirecting(session, history_info_from, (pjsip_name_addr*)history_info_to->uri, PJSIP_DIVERSION_SEND_UPDATE);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void diversion_incoming_response(struct ast_sip_session *session, pjsip_rx_data *rdata)
|
||||
static void diversion_incoming_response(struct ast_sip_session *session, pjsip_rx_data *rdata, pjsip_diversion_send_update send_update)
|
||||
{
|
||||
static const pj_str_t contact_name = { "Contact", 7 };
|
||||
static const pj_str_t contact_name_s = { "m", 1 };
|
||||
@@ -472,7 +481,7 @@ static void diversion_incoming_response(struct ast_sip_session *session, pjsip_r
|
||||
/* If History-Info is present, then it will also include the original
|
||||
redirected-from in addition to the redirected-to */
|
||||
history_info_from = get_history_info_header(rdata, 1);
|
||||
set_redirecting(session, history_info_from, (pjsip_name_addr*)history_info_to->uri);
|
||||
set_redirecting(session, history_info_from, (pjsip_name_addr*)history_info_to->uri, send_update);
|
||||
return;
|
||||
}
|
||||
if (!div_hdr && !session->id.number.valid) {
|
||||
@@ -484,16 +493,30 @@ static void diversion_incoming_response(struct ast_sip_session *session, pjsip_r
|
||||
if (status.code == 302) {
|
||||
/* With 302, Contact indicates the final destination and possibly Diversion indicates the hop before */
|
||||
contact_hdr = pjsip_msg_find_hdr_by_names(rdata->msg_info.msg, &contact_name, &contact_name_s, NULL);
|
||||
|
||||
set_redirecting(session, div_hdr, contact_hdr ? (pjsip_name_addr*)contact_hdr->uri :
|
||||
(pjsip_name_addr*)PJSIP_MSG_FROM_HDR(rdata->msg_info.msg)->uri);
|
||||
(pjsip_name_addr*)PJSIP_MSG_FROM_HDR(rdata->msg_info.msg)->uri, send_update);
|
||||
} else {
|
||||
/* With 181, Diversion is non-standard, but if present indicates the new final destination, and To indicating the original */
|
||||
set_redirecting(session, PJSIP_MSG_TO_HDR(rdata->msg_info.msg),
|
||||
div_hdr ? (pjsip_name_addr*)div_hdr->uri : NULL);
|
||||
div_hdr ? (pjsip_name_addr*)div_hdr->uri : NULL, send_update);
|
||||
}
|
||||
}
|
||||
|
||||
static void diversion_incoming_response_media(struct ast_sip_session *session, pjsip_rx_data *rdata)
|
||||
{
|
||||
/* Trigger an update if the event is triggered by the PJSIP AST_SIP_SESSION_BEFORE_MEDIA callback */
|
||||
diversion_incoming_response(session, rdata, PJSIP_DIVERSION_SEND_UPDATE);
|
||||
return;
|
||||
}
|
||||
|
||||
static void diversion_incoming_response_redirecting(struct ast_sip_session *session, pjsip_rx_data *rdata)
|
||||
{
|
||||
/* Don't trigger an update if the event is triggered by the PJSIP AST_SIP_SESSION_REDIRECTING callback
|
||||
otherwise, we will send a duplicate 181 to the UAC */
|
||||
diversion_incoming_response(session, rdata, PJSIP_DIVERSION_NOSEND_UPDATE);
|
||||
return;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \internal
|
||||
* \brief Adds diversion header information to an outbound SIP message
|
||||
@@ -690,20 +713,29 @@ static void diversion_outgoing_response(struct ast_sip_session *session, pjsip_t
|
||||
|
||||
/* add to 302 and 181 */
|
||||
if (PJSIP_IS_STATUS_IN_CLASS(status.code, 300) || (status.code == 181)) {
|
||||
get_redirecting_add_diversion(session, tdata);
|
||||
}
|
||||
get_redirecting_add_diversion(session, tdata);
|
||||
}
|
||||
}
|
||||
|
||||
static struct ast_sip_session_supplement diversion_supplement = {
|
||||
static struct ast_sip_session_supplement diversion_supplement_media = {
|
||||
.method = "INVITE",
|
||||
/* this supplement needs to be called after caller id
|
||||
and after the channel has been created */
|
||||
.priority = AST_SIP_SUPPLEMENT_PRIORITY_CHANNEL + 100,
|
||||
.incoming_response = diversion_incoming_response_media,
|
||||
.response_priority = AST_SIP_SESSION_BEFORE_MEDIA,
|
||||
};
|
||||
|
||||
static struct ast_sip_session_supplement diversion_supplement_redirecting = {
|
||||
.method = "INVITE",
|
||||
/* this supplement needs to be called after caller id
|
||||
and after the channel has been created */
|
||||
.priority = AST_SIP_SUPPLEMENT_PRIORITY_CHANNEL + 100,
|
||||
.incoming_request = diversion_incoming_request,
|
||||
.incoming_response = diversion_incoming_response,
|
||||
.incoming_response = diversion_incoming_response_redirecting,
|
||||
.outgoing_request = diversion_outgoing_request,
|
||||
.outgoing_response = diversion_outgoing_response,
|
||||
.response_priority = AST_SIP_SESSION_BEFORE_MEDIA,
|
||||
.response_priority = AST_SIP_SESSION_BEFORE_REDIRECTING,
|
||||
};
|
||||
|
||||
static int load_module(void)
|
||||
@@ -711,13 +743,15 @@ static int load_module(void)
|
||||
/* Because we are passing static memory to pjsip, we need to make sure it
|
||||
* stays valid while we potentially have active sessions */
|
||||
ast_module_shutdown_ref(ast_module_info->self);
|
||||
ast_sip_session_register_supplement(&diversion_supplement);
|
||||
ast_sip_session_register_supplement(&diversion_supplement_media);
|
||||
ast_sip_session_register_supplement(&diversion_supplement_redirecting);
|
||||
return AST_MODULE_LOAD_SUCCESS;
|
||||
}
|
||||
|
||||
static int unload_module(void)
|
||||
{
|
||||
ast_sip_session_unregister_supplement(&diversion_supplement);
|
||||
ast_sip_session_unregister_supplement(&diversion_supplement_media);
|
||||
ast_sip_session_unregister_supplement(&diversion_supplement_redirecting);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user