From 959babc4729ed8d192a3603a73eaaa56a6ec9690 Mon Sep 17 00:00:00 2001 From: Asterisk Development Team Date: Thu, 7 Mar 2024 14:17:30 +0000 Subject: [PATCH] Update for 20.7.0-rc1 --- .version | 2 +- CHANGES.md | 2 +- ChangeLogs/ChangeLog-20.7.0-rc1.md | 721 ++++++++++++++++++ contrib/realtime/mysql/mysql_config.sql | 201 +++++ contrib/realtime/mysql/mysql_voicemail.sql | 4 + .../realtime/postgresql/postgresql_config.sql | 201 +++++ .../postgresql/postgresql_voicemail.sql | 4 + 7 files changed, 1133 insertions(+), 2 deletions(-) create mode 100644 ChangeLogs/ChangeLog-20.7.0-rc1.md diff --git a/.version b/.version index 1cc433a12a..912db9d971 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -20.6.0 +20.7.0-rc1 diff --git a/CHANGES.md b/CHANGES.md index fa3bd04520..ac72ee4ebf 120000 --- a/CHANGES.md +++ b/CHANGES.md @@ -1 +1 @@ -ChangeLogs/ChangeLog-20.6.0.md \ No newline at end of file +ChangeLogs/ChangeLog-20.7.0-rc1.md \ No newline at end of file diff --git a/ChangeLogs/ChangeLog-20.7.0-rc1.md b/ChangeLogs/ChangeLog-20.7.0-rc1.md new file mode 100644 index 0000000000..356cba33f3 --- /dev/null +++ b/ChangeLogs/ChangeLog-20.7.0-rc1.md @@ -0,0 +1,721 @@ + +Change Log for Release asterisk-20.7.0-rc1 +======================================== + +Links: +---------------------------------------- + + - [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-20.7.0-rc1.md) + - [GitHub Diff](https://github.com/asterisk/asterisk/compare/20.6.0...20.7.0-rc1) + - [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20.7.0-rc1.tar.gz) + - [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk) + +Summary: +---------------------------------------- + +- app_dial: Add dial time for progress/ringing. +- app_voicemail: Properly reinitialize config after unit tests. +- app_queue.c : fix "queue add member" usage string +- app_voicemail: Allow preventing mark messages as urgent. +- res_pjsip: Use consistent type for boolean columns. +- attestation_config.c: Use ast_free instead of ast_std_free +- Makefile: Add stir_shaken/cache to directories created on install +- Stir/Shaken Refactor +- alembic: Synchronize alembic heads between supported branches. +- translate.c: implement new direct comp table mode +- README.md: Removed outdated link +- strings.h: Ensure ast_str_buffer(…) returns a 0 terminated string. +- res_rtp_asterisk.c: Correct coefficient in MOS calculation. +- dsp.c: Fix and improve potentially inaccurate log message. +- pjsip show channelstats: Prevent possible segfault when faxing +- Reduce startup/shutdown verbose logging +- configure: Rerun bootstrap on modern platform. +- Upgrade bundled pjproject to 2.14. +- app_speech_utils.c: Allow partial speech results. +- utils: Make behavior of ast_strsep* match strsep. +- app_chanspy: Add 'D' option for dual-channel audio +- app_if: Fix next priority calculation. +- res_pjsip_t38.c: Permit IPv6 SDP connection addresses. +- BuildSystem: Bump autotools versions on OpenBSD. +- main/utils: Simplify the FreeBSD ast_get_tid() handling +- res_pjsip_session.c: Correctly format SDP connection addresses. +- rtp_engine.c: Correct sample rate typo for L16/44100. +- manager.c: Fix erroneous reloads in UpdateConfig. +- res_calendar_icalendar: Print iCalendar error on parsing failure. +- app_confbridge: Don't emit warnings on valid configurations. +- app_voicemail: add NoOp alembic script to maintain sync +- chan_dahdi: Allow MWI to be manually toggled on channels. +- chan_rtp.c: MulticastRTP missing refcount without codec option +- chan_rtp.c: Change MulticastRTP nameing to avoid memory leak +- func_frame_trace: Add CLI command to dump frame queue. + +User Notes: +---------------------------------------- + +- ### app_dial: Add dial time for progress/ringing. + The timeout argument to Dial now allows + specifying the maximum amount of time to dial if + early media is not received. + +- ### app_voicemail: Allow preventing mark messages as urgent. + The leaveurgent mailbox option can now be used to + control whether callers may leave messages marked as 'Urgent'. + +- ### Stir/Shaken Refactor + Asterisk's stir-shaken feature has been refactored to + correct interoperability, RFC compliance, and performance issues. + See https://docs.asterisk.org/Deployment/STIR-SHAKEN for more + information. + +- ### Upgrade bundled pjproject to 2.14. + Bundled pjproject has been upgraded to 2.14. For more + information on what all is included in this change, check out the + pjproject Github page: https://github.com/pjsip/pjproject/releases + +- ### app_speech_utils.c: Allow partial speech results. + The SpeechBackground dialplan application now supports a 'p' + option that will return partial results from speech engines that + provide them when a timeout occurs. + +- ### 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_dahdi: Allow MWI to be manually toggled on channels. + The 'dahdi set mwi' now allows MWI on channels + to be manually toggled if needed for troubleshooting. + Resolves: #440 + + +Upgrade Notes: +---------------------------------------- + +- ### Stir/Shaken Refactor + The stir-shaken refactor is a breaking change but since + it's not working now we don't think it matters. The + stir_shaken.conf file has changed significantly which means that + existing ones WILL need to be changed. The stir_shaken.conf.sample + file in configs/samples/ has quite a bit more information. This is + also an ABI breaking change since some of the existing objects + needed to be changed or removed, and new ones added. Additionally, + if res_stir_shaken is enabled in menuselect, you'll need to either + have the development package for libjwt v1.15.3 installed or use + the --with-libjwt-bundled option with ./configure. + + +Closed Issues: +---------------------------------------- + + - #46: [bug]: Stir/Shaken: Wrong CID used when looking up certificates + - #351: [improvement]: Refactor res_stir_shaken to use libjwt + - #406: [improvement]: pjsip: Upgrade bundled version to pjproject 2.14 + - #440: [new-feature]: chan_dahdi: Allow manually toggling MWI on channels + - #492: [improvement]: res_calendar_icalendar: Print icalendar error if available on parsing failure + - #527: [bug]: app_voicemail_odbc no longer working after removal of macrocontext. + - #529: [bug]: MulticastRTP without selected codec leeds to "FRACK!, Failed assertion bad magic number 0x0 for object" after ~30 calls + - #533: [improvement]: channel.c, func_frame_trace.c: Improve debuggability of channel frame queue + - #551: [bug]: manager: UpdateConfig triggers reload with "Reload: no" + - #560: [bug]: EndIf() causes next priority to be skipped + - #565: [bug]: Application Read() returns immediately + - #569: [improvement]: Add option to interleave input and output frames on spied channel + - #572: [improvement]: Copy partial speech results when Asterisk is ready to move on but the speech backend is not + - #582: [improvement]: Reduce unneeded logging during startup and shutdown + - #586: [bug]: The "restrict" keyword used in chan_iax2.c isn't supported in older gcc versions + - #588: [new-feature]: app_dial: Allow Dial to be aborted if early media is not received + - #592: [bug]: In certain circumstances, "pjsip show channelstats" can segfault when a fax session is active + - #595: [improvement]: dsp.c: Fix and improve confusing warning message. + - #597: [bug]: wrong MOS calculation + - #601: [new-feature]: translate.c: implement new direct comp table mode (PR #585) + - #619: [new-feature]: app_voicemail: Allow preventing callers from marking messages as urgent + - #629: [bug]: app_voicemail: Multiple executions of unit tests cause segfault + - #634: [bug]: make install doesn't create the stir_shaken cache directory + - #636: [bug]: Possible SEGV in res_stir_shaken due to wrong free function + +Commits By Author: +---------------------------------------- + +- ### Ben Ford (1): + - Upgrade bundled pjproject to 2.14. + +- ### Brad Smith (2): + - main/utils: Simplify the FreeBSD ast_get_tid() handling + - BuildSystem: Bump autotools versions on OpenBSD. + +- ### George Joseph (5): + - Reduce startup/shutdown verbose logging + - pjsip show channelstats: Prevent possible segfault when faxing + - Stir/Shaken Refactor + - Makefile: Add stir_shaken/cache to directories created on install + - attestation_config.c: Use ast_free instead of ast_std_free + +- ### Joshua C. Colp (1): + - utils: Make behavior of ast_strsep* match strsep. + +- ### Mike Bradeen (2): + - app_voicemail: add NoOp alembic script to maintain sync + - app_chanspy: Add 'D' option for dual-channel audio + +- ### Naveen Albert (10): + - func_frame_trace: Add CLI command to dump frame queue. + - chan_dahdi: Allow MWI to be manually toggled on channels. + - res_calendar_icalendar: Print iCalendar error on parsing failure. + - manager.c: Fix erroneous reloads in UpdateConfig. + - app_if: Fix next priority calculation. + - configure: Rerun bootstrap on modern platform. + - dsp.c: Fix and improve potentially inaccurate log message. + - app_voicemail: Allow preventing mark messages as urgent. + - app_voicemail: Properly reinitialize config after unit tests. + - app_dial: Add dial time for progress/ringing. + +- ### PeterHolik (2): + - chan_rtp.c: Change MulticastRTP nameing to avoid memory leak + - chan_rtp.c: MulticastRTP missing refcount without codec option + +- ### Sean Bright (7): + - app_confbridge: Don't emit warnings on valid configurations. + - rtp_engine.c: Correct sample rate typo for L16/44100. + - res_pjsip_session.c: Correctly format SDP connection addresses. + - res_pjsip_t38.c: Permit IPv6 SDP connection addresses. + - strings.h: Ensure ast_str_buffer(…) returns a 0 terminated string. + - alembic: Synchronize alembic heads between supported branches. + - res_pjsip: Use consistent type for boolean columns. + +- ### Sebastian Jennen (1): + - translate.c: implement new direct comp table mode + +- ### Shaaah (1): + - app_queue.c : fix "queue add member" usage string + +- ### Shyju Kanaprath (1): + - README.md: Removed outdated link + +- ### cmaj (1): + - app_speech_utils.c: Allow partial speech results. + +- ### romryz (1): + - res_rtp_asterisk.c: Correct coefficient in MOS calculation. + + +Detail: +---------------------------------------- + +- ### app_dial: Add dial time for progress/ringing. + Author: Naveen Albert + Date: 2024-02-08 + + Add a timeout option to control the amount of time + to wait if no early media is received before giving + up. This allows aborting early if the destination + is not being responsive. + + Resolves: #588 + + UserNote: The timeout argument to Dial now allows + specifying the maximum amount of time to dial if + early media is not received. + + +- ### app_voicemail: Properly reinitialize config after unit tests. + Author: Naveen Albert + Date: 2024-02-29 + + Most app_voicemail unit tests were not properly cleaning up + after themselves after running. This led to test mailboxes + lingering around in the system. It also meant that if any + unit tests in app_voicemail that create mailboxes were executed + and the module was not unloaded/loaded again prior to running + the test_voicemail_vm_info unit test, Asterisk would segfault + due to an attempt to copy a NULL string. + + The load_config test did actually have logic to reinitialize + the config after the test. However, this did not work in practice + since load_config() would not reload the config since voicemail.conf + had not changed during the test; thus, additional logic has been + added to ensure that voicemail.conf is truly reloaded, after any + unit tests which modify the users list. + + This prevents the SEGV due to invalid mailboxes lingering around, + and also ensures that the system state is restored to what it was + prior to the tests running. + + Resolves: #629 + +- ### app_queue.c : fix "queue add member" usage string + Author: Shaaah + Date: 2024-01-23 + + Fixing bracket placement in the "queue add member" cli usage string. + + +- ### app_voicemail: Allow preventing mark messages as urgent. + Author: Naveen Albert + Date: 2024-02-24 + + This adds an option to allow preventing callers from leaving + messages marked as 'urgent'. + + Resolves: #619 + + UserNote: The leaveurgent mailbox option can now be used to + control whether callers may leave messages marked as 'Urgent'. + + +- ### res_pjsip: Use consistent type for boolean columns. + Author: Sean Bright + Date: 2024-02-27 + + This migrates the relevant schema objects from the `('yes', 'no')` + definition to the `('0', '1', 'off', 'on', 'false', 'true', 'yes', 'no')` + one. + + Fixes #617 + + +- ### attestation_config.c: Use ast_free instead of ast_std_free + Author: George Joseph + Date: 2024-03-05 + + In as_check_common_config, we were calling ast_std_free on + raw_key but raw_key was allocated with ast_malloc so it + should be freed with ast_free. + + Resolves: #636 + +- ### Makefile: Add stir_shaken/cache to directories created on install + Author: George Joseph + Date: 2024-03-04 + + The default location for the stir_shaken cache is + /var/lib/asterisk/keys/stir_shaken/cache but we were only creating + /var/lib/asterisk/keys/stir_shaken on istall. We now create + the cache sub-directory. + + Resolves: #634 + +- ### Stir/Shaken Refactor + Author: George Joseph + Date: 2023-10-26 + + Why do we need a refactor? + + The original stir/shaken implementation was started over 3 years ago + when little was understood about practical implementation. The + result was an implementation that wouldn't actually interoperate + with any other stir-shaken implementations. + + There were also a number of stir-shaken features and RFC + requirements that were never implemented such as TNAuthList + certificate validation, sending Reason headers in SIP responses + when verification failed but we wished to continue the call, and + the ability to send Media Key(mky) grants in the Identity header + when the call involved DTLS. + + Finally, there were some performance concerns around outgoing + calls and selection of the correct certificate and private key. + The configuration was keyed by an arbitrary name which meant that + for every outgoing call, we had to scan the entire list of + configured TNs to find the correct cert to use. With only a few + TNs configured, this wasn't an issue but if you have a thousand, + it could be. + + What's changed? + + * Configuration objects have been refactored to be clearer about + their uses and to fix issues. + * The "general" object was renamed to "verification" since it + contains parameters specific to the incoming verification + process. It also never handled ca_path and crl_path + correctly. + * A new "attestation" object was added that controls the + outgoing attestation process. It sets default certificates, + keys, etc. + * The "certificate" object was renamed to "tn" and had it's key + change to telephone number since outgoing call attestation + needs to look up certificates by telephone number. + * The "profile" object had more parameters added to it that can + override default parameters specified in the "attestation" + and "verification" objects. + * The "store" object was removed altogther as it was never + implemented. + + * We now use libjwt to create outgoing Identity headers and to + parse and validate signatures on incoming Identiy headers. Our + previous custom implementation was much of the source of the + interoperability issues. + + * General code cleanup and refactor. + * Moved things to better places. + * Separated some of the complex functions to smaller ones. + * Using context objects rather than passing tons of parameters + in function calls. + * Removed some complexity and unneeded encapsuation from the + config objects. + + Resolves: #351 + Resolves: #46 + + UserNote: Asterisk's stir-shaken feature has been refactored to + correct interoperability, RFC compliance, and performance issues. + See https://docs.asterisk.org/Deployment/STIR-SHAKEN for more + information. + + UpgradeNote: The stir-shaken refactor is a breaking change but since + it's not working now we don't think it matters. The + stir_shaken.conf file has changed significantly which means that + existing ones WILL need to be changed. The stir_shaken.conf.sample + file in configs/samples/ has quite a bit more information. This is + also an ABI breaking change since some of the existing objects + needed to be changed or removed, and new ones added. Additionally, + if res_stir_shaken is enabled in menuselect, you'll need to either + have the development package for libjwt v1.15.3 installed or use + the --with-libjwt-bundled option with ./configure. + + +- ### alembic: Synchronize alembic heads between supported branches. + Author: Sean Bright + Date: 2024-02-28 + + This adds a dummy migration to 18 and 20 so that our alembic heads are + synchronized across all supported branches. + + In this case the migration we are stubbing (24c12d8e9014) is: + + https://github.com/asterisk/asterisk/commit/775352ee6c2a5bcd4f0e3df51aee5d1b0abf4cbe + +- ### translate.c: implement new direct comp table mode + Author: Sebastian Jennen + Date: 2024-02-25 + + The new mode lists for each codec translation the actual real cost in cpu microseconds per second translated audio. + This allows to compare the real cpu usage of translations and helps in evaluation of codec implementation changes regarding performance (regression testing). + + - add new table mode + - hide the 999999 comp values, as these only indicate an issue with transcoding + - hide the 0 values, as these also do not contain any information (only indicate a multistep transcoding) + + Resolves: #601 + +- ### 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 + +- ### strings.h: Ensure ast_str_buffer(…) returns a 0 terminated string. + Author: Sean Bright + Date: 2024-02-17 + + If a dynamic string is created with an initial length of 0, + `ast_str_buffer(…)` will return an invalid pointer. + + This was a secondary discovery when fixing #65. + + +- ### res_rtp_asterisk.c: Correct coefficient in MOS calculation. + Author: romryz + Date: 2024-02-06 + + Media Experience Score relies on incorrect pseudo_mos variable + calculation. According to forming an opinion section of the + documentation, calculation relies on ITU-T G.107 standard: + + https://docs.asterisk.org/Deployment/Media-Experience-Score/#forming-an-opinion + + ITU-T G.107 Annex B suggests to calculate MOS with a coefficient + "seven times ten to the power of negative six", 7 * 10^(-6). which + would mean 6 digits after the decimal point. Current implementation + has 7 digits after the decimal point, which downrates the calls. + + Fixes: #597 + +- ### dsp.c: Fix and improve potentially inaccurate log message. + Author: Naveen Albert + Date: 2024-02-09 + + If ast_dsp_process is called with a codec besides slin, ulaw, + or alaw, a warning is logged that in-band DTMF is not supported, + but this message is not always appropriate or correct, because + ast_dsp_process is much more generic than just DTMF detection. + + This logs a more generic message in those cases, and also improves + codec-mismatch logging throughout dsp.c by ensuring incompatible + codecs are printed out. + + Resolves: #595 + +- ### pjsip show channelstats: Prevent possible segfault when faxing + Author: George Joseph + Date: 2024-02-09 + + Under rare circumstances, it's possible for the original audio + session in the active_media_state default_session to be corrupted + instead of removed when switching to the t38/image media session + during fax negotiation. This can cause a segfault when a "pjsip + show channelstats" attempts to print that audio media session's + rtp statistics. In these cases, the active_media_state + topology is correctly showing only a single t38/image stream + so we now check that there's an audio stream in the topology + before attempting to use the audio media session to get the rtp + statistics. + + Resolves: #592 + +- ### Reduce startup/shutdown verbose logging + Author: George Joseph + Date: 2024-01-31 + + When started with a verbose level of 3, asterisk can emit over 1500 + verbose message that serve no real purpose other than to fill up + logs. When asterisk shuts down, it emits another 1100 that are of + even less use. Since the testsuite runs asterisk with a verbose + level of 3, and asterisk starts and stops for every one of the 700+ + tests, the number of log messages is staggering. Besides taking up + resources, it also makes it hard to debug failing tests. + + This commit changes the log level for those verbose messages to 5 + instead of 3 which reduces the number of log messages to only a + handful. Of course, NOTICE, WARNING and ERROR message are + unaffected. + + There's also one other minor change... + ast_context_remove_extension_callerid2() logs a DEBUG message + instead of an ERROR if the extension you're deleting doesn't exist. + The pjsip_config_wizard calls that function to clean up the config + and has been triggering that annoying error message for years. + + Resolves: #582 + +- ### configure: Rerun bootstrap on modern platform. + Author: Naveen Albert + Date: 2024-02-12 + + The last time configure was run, it was run on a system that + did not enable -std=gnu11 by default, which meant that the + restrict qualifier would not be recognized on certain platforms. + This regenerates the configure files from running bootstrap.sh, + so that these should be recognized on all supported platforms. + + Resolves: #586 + +- ### Upgrade bundled pjproject to 2.14. + Author: Ben Ford + Date: 2024-02-05 + + Fixes: #406 + + UserNote: Bundled pjproject has been upgraded to 2.14. For more + information on what all is included in this change, check out the + pjproject Github page: https://github.com/pjsip/pjproject/releases + + +- ### app_speech_utils.c: Allow partial speech results. + Author: cmaj + Date: 2024-02-02 + + Adds 'p' option to SpeechBackground() application. + With this option, when the app timeout is reached, + whatever the backend speech engine collected will + be returned as if it were the final, full result. + (This works for engines that make partial results.) + + Resolves: #572 + + UserNote: The SpeechBackground dialplan application now supports a 'p' + option that will return partial results from speech engines that + provide them when a timeout occurs. + + +- ### utils: Make behavior of ast_strsep* match strsep. + Author: Joshua C. Colp + Date: 2024-01-31 + + Given the scenario of passing an empty string to the + ast_strsep functions the functions would return NULL + instead of an empty string. This is counter to how + strsep itself works. + + This change alters the behavior of the functions to + match that of strsep. + + Fixes: #565 + +- ### 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. + + +- ### app_if: Fix next priority calculation. + Author: Naveen Albert + Date: 2024-01-28 + + Commit fa3922a4d28860d415614347d9f06c233d2beb07 fixed + a branching issue but "overshoots" when calculating + the next priority. This fixes that; accompanying + test suite tests have also been extended. + + Resolves: #560 + +- ### res_pjsip_t38.c: Permit IPv6 SDP connection addresses. + Author: Sean Bright + Date: 2024-01-29 + + The existing code prevented IPv6 addresses from being properly parsed. + + Fixes #558 + + +- ### BuildSystem: Bump autotools versions on OpenBSD. + Author: Brad Smith + Date: 2024-01-27 + + Bump up to the more commonly used and modern versions of + autoconf and automake. + + +- ### main/utils: Simplify the FreeBSD ast_get_tid() handling + Author: Brad Smith + Date: 2024-01-27 + + FreeBSD has had kernel threads for 20+ years. + + +- ### res_pjsip_session.c: Correctly format SDP connection addresses. + Author: Sean Bright + Date: 2024-01-27 + + Resolves a regression identified by @justinludwig involving the + rendering of IPv6 addresses in outgoing SDP. + + Also updates `media_address` on PJSIP endpoints so that if we are able + to parse the configured value as an IP we store it in a format that we + can directly use later. Based on my reading of the code it appeared + that one could configure `media_address` as: + + ``` + [foo] + type = endpoint + ... + media_address = [2001:db8::] + ``` + + And that value would be blindly copied into the outgoing SDP without + regard to its format. + + Fixes #541 + + +- ### rtp_engine.c: Correct sample rate typo for L16/44100. + Author: Sean Bright + Date: 2024-01-28 + + Fixes #555 + + +- ### manager.c: Fix erroneous reloads in UpdateConfig. + Author: Naveen Albert + Date: 2024-01-25 + + Currently, a reload will always occur if the + Reload header is provided for the UpdateConfig + action. However, we should not be doing a reload + if the header value has a falsy value, per the + documentation, so this makes the reload behavior + consistent with the existing documentation. + + Resolves: #551 + +- ### res_calendar_icalendar: Print iCalendar error on parsing failure. + Author: Naveen Albert + Date: 2023-12-14 + + If libical fails to parse a calendar, print the error message it provdes. + + Resolves: #492 + +- ### app_confbridge: Don't emit warnings on valid configurations. + Author: Sean Bright + Date: 2024-01-21 + + The numeric bridge profile options `internal_sample_rate` and + `maximum_sample_rate` are documented to accept the special values + `auto` and `none`, respectively. While these values currently work, + they also emit warnings when used which could be confusing for users. + + In passing, also ensure that we only accept the documented range of + sample rate values between 8000 and 192000. + + Fixes #546 + + +- ### 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 + +- ### chan_dahdi: Allow MWI to be manually toggled on channels. + Author: Naveen Albert + Date: 2023-11-10 + + This adds a CLI command to manually toggle the MWI status + of a channel, useful for troubleshooting or resetting + MWI devices, similar to the capabilities offered with + SIP messaging to manually control MWI status. + + UserNote: The 'dahdi set mwi' now allows MWI on channels + to be manually toggled if needed for troubleshooting. + + Resolves: #440 + +- ### chan_rtp.c: MulticastRTP missing refcount without codec option + Author: PeterHolik + Date: 2024-01-15 + + Fixes: #529 + +- ### chan_rtp.c: Change MulticastRTP nameing to avoid memory leak + Author: PeterHolik + Date: 2024-01-16 + + Fixes: asterisk#536 + +- ### func_frame_trace: Add CLI command to dump frame queue. + Author: Naveen Albert + Date: 2024-01-12 + + This adds a simple CLI command that can be used for + analyzing all frames currently queued to a channel. + + A couple log messages are also adjusted to be more + useful in tracing bridging problems. + + Resolves: #533 + diff --git a/contrib/realtime/mysql/mysql_config.sql b/contrib/realtime/mysql/mysql_config.sql index 8628aa97af..9f5113bd20 100644 --- a/contrib/realtime/mysql/mysql_config.sql +++ b/contrib/realtime/mysql/mysql_config.sql @@ -1474,3 +1474,204 @@ ALTER TABLE ps_transports MODIFY method ENUM('default','unspecified','tlsv1','tl UPDATE alembic_version SET version_num='37a5332640e2' WHERE alembic_version.version_num = 'dac2b4c328b8'; +-- Running upgrade 37a5332640e2 -> 24c12d8e9014 + +UPDATE alembic_version SET version_num='24c12d8e9014' WHERE alembic_version.version_num = '37a5332640e2'; + +-- Running upgrade 24c12d8e9014 -> bd335bae5d33 + +CREATE TABLE stir_tn ( + id VARCHAR(80) NOT NULL, + private_key_file VARCHAR(1024), + public_cert_url VARCHAR(1024), + attest_level VARCHAR(1), + send_mky ENUM('0','1','off','on','false','true','no','yes'), + PRIMARY KEY (id) +); + +UPDATE alembic_version SET version_num='bd335bae5d33' WHERE alembic_version.version_num = '24c12d8e9014'; + +-- Running upgrade bd335bae5d33 -> 74dc751dfe8e + +ALTER TABLE ps_aors MODIFY authenticate_qualify ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_aors MODIFY remove_existing ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_aors MODIFY remove_unavailable ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_aors MODIFY support_path ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_asterisk_publications MODIFY device_state ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_asterisk_publications MODIFY mailbox_state ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_contacts MODIFY authenticate_qualify ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_contacts MODIFY prune_on_boot ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoint_id_ips MODIFY srv_lookups ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY `100rel` ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY accept_multiple_sdp_answers ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY aggregate_mwi ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY allow_overlap ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY allow_subscribe ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY allow_transfer ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY allow_unauthenticated_options ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY asymmetric_rtp_codec ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY bind_rtp_to_media_address ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY bundle ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY direct_media ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY disable_direct_media_on_nat ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY dtls_auto_generate_cert ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY fax_detect ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY follow_early_media_fork ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY force_avp ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY force_rport ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY g726_non_standard ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY ice_support ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY ignore_183_without_sdp ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY inband_progress ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY media_encryption_optimistic ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY media_use_received_transport ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY moh_passthrough ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY mwi_subscribe_replaces_unsolicited ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY notify_early_inuse_ringing ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY one_touch_recording ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY preferred_codec_only ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY refer_blind_progress ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY rewrite_contact ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY rpid_immediate ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY rtcp_mux ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY rtp_ipv6 ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY rtp_symmetric ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_aoc ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_connected_line ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_diversion ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_history_info ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_pai ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY send_rpid ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY srtp_tag_32 ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY stir_shaken ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY suppress_q850_reason_headers ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY t38_bind_udptl_to_media_address ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY t38_udptl ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY t38_udptl_ipv6 ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY t38_udptl_nat ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY timers ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY trust_connected_line ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY trust_id_inbound ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY trust_id_outbound ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY use_avpf ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY use_ptime ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY user_eq_phone ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_endpoints MODIFY webrtc ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY all_codecs_on_empty_reinvite ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY allow_sending_180_after_183 ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY disable_multi_domain ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY ignore_uri_user_options ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY mwi_disable_initial_unsolicited ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY norefersub ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY send_contact_status_on_update_registration ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_globals MODIFY use_callerid_contact ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_outbound_publishes MODIFY multi_user ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_registrations MODIFY auth_rejection_permanent ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_registrations MODIFY line ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_registrations MODIFY support_path ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_resource_list MODIFY full_state ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_resource_list MODIFY resource_display_name ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_subscription_persistence MODIFY prune_on_boot ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_systems MODIFY accept_multiple_sdp_answers ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_systems MODIFY compact_headers ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_systems MODIFY disable_rport ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_systems MODIFY disable_tcp_switch ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_systems MODIFY follow_early_media_fork ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY allow_reload ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY allow_wildcard_certs ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY require_client_cert ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY symmetric_transport ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY verify_client ENUM('0','1','off','on','false','true','no','yes') NULL; + +ALTER TABLE ps_transports MODIFY verify_server ENUM('0','1','off','on','false','true','no','yes') NULL; + +UPDATE alembic_version SET version_num='74dc751dfe8e' WHERE alembic_version.version_num = 'bd335bae5d33'; + diff --git a/contrib/realtime/mysql/mysql_voicemail.sql b/contrib/realtime/mysql/mysql_voicemail.sql index b30456e41c..8c9d9617c4 100644 --- a/contrib/realtime/mysql/mysql_voicemail.sql +++ b/contrib/realtime/mysql/mysql_voicemail.sql @@ -33,3 +33,7 @@ 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'; + diff --git a/contrib/realtime/postgresql/postgresql_config.sql b/contrib/realtime/postgresql/postgresql_config.sql index bc48664367..52bec6f549 100644 --- a/contrib/realtime/postgresql/postgresql_config.sql +++ b/contrib/realtime/postgresql/postgresql_config.sql @@ -1598,5 +1598,206 @@ DROP TYPE pjsip_transport_method_values; UPDATE alembic_version SET version_num='37a5332640e2' WHERE alembic_version.version_num = 'dac2b4c328b8'; +-- Running upgrade 37a5332640e2 -> 24c12d8e9014 + +UPDATE alembic_version SET version_num='24c12d8e9014' WHERE alembic_version.version_num = '37a5332640e2'; + +-- Running upgrade 24c12d8e9014 -> bd335bae5d33 + +CREATE TABLE stir_tn ( + id VARCHAR(80) NOT NULL, + private_key_file VARCHAR(1024), + public_cert_url VARCHAR(1024), + attest_level VARCHAR(1), + send_mky ast_bool_values, + PRIMARY KEY (id) +); + +UPDATE alembic_version SET version_num='bd335bae5d33' WHERE alembic_version.version_num = '24c12d8e9014'; + +-- Running upgrade bd335bae5d33 -> 74dc751dfe8e + +ALTER TABLE ps_aors ALTER COLUMN authenticate_qualify TYPE ast_bool_values USING "authenticate_qualify"::text::ast_bool_values; + +ALTER TABLE ps_aors ALTER COLUMN remove_existing TYPE ast_bool_values USING "remove_existing"::text::ast_bool_values; + +ALTER TABLE ps_aors ALTER COLUMN remove_unavailable TYPE ast_bool_values USING "remove_unavailable"::text::ast_bool_values; + +ALTER TABLE ps_aors ALTER COLUMN support_path TYPE ast_bool_values USING "support_path"::text::ast_bool_values; + +ALTER TABLE ps_asterisk_publications ALTER COLUMN device_state TYPE ast_bool_values USING "device_state"::text::ast_bool_values; + +ALTER TABLE ps_asterisk_publications ALTER COLUMN mailbox_state TYPE ast_bool_values USING "mailbox_state"::text::ast_bool_values; + +ALTER TABLE ps_contacts ALTER COLUMN authenticate_qualify TYPE ast_bool_values USING "authenticate_qualify"::text::ast_bool_values; + +ALTER TABLE ps_contacts ALTER COLUMN prune_on_boot TYPE ast_bool_values USING "prune_on_boot"::text::ast_bool_values; + +ALTER TABLE ps_endpoint_id_ips ALTER COLUMN srv_lookups TYPE ast_bool_values USING "srv_lookups"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN "100rel" TYPE ast_bool_values USING "100rel"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN accept_multiple_sdp_answers TYPE ast_bool_values USING "accept_multiple_sdp_answers"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN aggregate_mwi TYPE ast_bool_values USING "aggregate_mwi"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN allow_overlap TYPE ast_bool_values USING "allow_overlap"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN allow_subscribe TYPE ast_bool_values USING "allow_subscribe"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN allow_transfer TYPE ast_bool_values USING "allow_transfer"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN allow_unauthenticated_options TYPE ast_bool_values USING "allow_unauthenticated_options"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN asymmetric_rtp_codec TYPE ast_bool_values USING "asymmetric_rtp_codec"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN bind_rtp_to_media_address TYPE ast_bool_values USING "bind_rtp_to_media_address"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN bundle TYPE ast_bool_values USING "bundle"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN direct_media TYPE ast_bool_values USING "direct_media"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN disable_direct_media_on_nat TYPE ast_bool_values USING "disable_direct_media_on_nat"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN dtls_auto_generate_cert TYPE ast_bool_values USING "dtls_auto_generate_cert"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN fax_detect TYPE ast_bool_values USING "fax_detect"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN follow_early_media_fork TYPE ast_bool_values USING "follow_early_media_fork"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN force_avp TYPE ast_bool_values USING "force_avp"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN force_rport TYPE ast_bool_values USING "force_rport"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN g726_non_standard TYPE ast_bool_values USING "g726_non_standard"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN ice_support TYPE ast_bool_values USING "ice_support"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN ignore_183_without_sdp TYPE ast_bool_values USING "ignore_183_without_sdp"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN inband_progress TYPE ast_bool_values USING "inband_progress"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN media_encryption_optimistic TYPE ast_bool_values USING "media_encryption_optimistic"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN media_use_received_transport TYPE ast_bool_values USING "media_use_received_transport"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN moh_passthrough TYPE ast_bool_values USING "moh_passthrough"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN mwi_subscribe_replaces_unsolicited TYPE ast_bool_values USING "mwi_subscribe_replaces_unsolicited"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN notify_early_inuse_ringing TYPE ast_bool_values USING "notify_early_inuse_ringing"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN one_touch_recording TYPE ast_bool_values USING "one_touch_recording"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN preferred_codec_only TYPE ast_bool_values USING "preferred_codec_only"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN refer_blind_progress TYPE ast_bool_values USING "refer_blind_progress"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN rewrite_contact TYPE ast_bool_values USING "rewrite_contact"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN rpid_immediate TYPE ast_bool_values USING "rpid_immediate"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN rtcp_mux TYPE ast_bool_values USING "rtcp_mux"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN rtp_ipv6 TYPE ast_bool_values USING "rtp_ipv6"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN rtp_symmetric TYPE ast_bool_values USING "rtp_symmetric"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_aoc TYPE ast_bool_values USING "send_aoc"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_connected_line TYPE ast_bool_values USING "send_connected_line"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_diversion TYPE ast_bool_values USING "send_diversion"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_history_info TYPE ast_bool_values USING "send_history_info"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_pai TYPE ast_bool_values USING "send_pai"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN send_rpid TYPE ast_bool_values USING "send_rpid"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN srtp_tag_32 TYPE ast_bool_values USING "srtp_tag_32"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN stir_shaken TYPE ast_bool_values USING "stir_shaken"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN suppress_q850_reason_headers TYPE ast_bool_values USING "suppress_q850_reason_headers"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN t38_bind_udptl_to_media_address TYPE ast_bool_values USING "t38_bind_udptl_to_media_address"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN t38_udptl TYPE ast_bool_values USING "t38_udptl"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN t38_udptl_ipv6 TYPE ast_bool_values USING "t38_udptl_ipv6"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN t38_udptl_nat TYPE ast_bool_values USING "t38_udptl_nat"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN timers TYPE ast_bool_values USING "timers"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN trust_connected_line TYPE ast_bool_values USING "trust_connected_line"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN trust_id_inbound TYPE ast_bool_values USING "trust_id_inbound"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN trust_id_outbound TYPE ast_bool_values USING "trust_id_outbound"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN use_avpf TYPE ast_bool_values USING "use_avpf"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN use_ptime TYPE ast_bool_values USING "use_ptime"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN user_eq_phone TYPE ast_bool_values USING "user_eq_phone"::text::ast_bool_values; + +ALTER TABLE ps_endpoints ALTER COLUMN webrtc TYPE ast_bool_values USING "webrtc"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN all_codecs_on_empty_reinvite TYPE ast_bool_values USING "all_codecs_on_empty_reinvite"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN allow_sending_180_after_183 TYPE ast_bool_values USING "allow_sending_180_after_183"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN disable_multi_domain TYPE ast_bool_values USING "disable_multi_domain"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN ignore_uri_user_options TYPE ast_bool_values USING "ignore_uri_user_options"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN mwi_disable_initial_unsolicited TYPE ast_bool_values USING "mwi_disable_initial_unsolicited"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN norefersub TYPE ast_bool_values USING "norefersub"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN send_contact_status_on_update_registration TYPE ast_bool_values USING "send_contact_status_on_update_registration"::text::ast_bool_values; + +ALTER TABLE ps_globals ALTER COLUMN use_callerid_contact TYPE ast_bool_values USING "use_callerid_contact"::text::ast_bool_values; + +ALTER TABLE ps_outbound_publishes ALTER COLUMN multi_user TYPE ast_bool_values USING "multi_user"::text::ast_bool_values; + +ALTER TABLE ps_registrations ALTER COLUMN auth_rejection_permanent TYPE ast_bool_values USING "auth_rejection_permanent"::text::ast_bool_values; + +ALTER TABLE ps_registrations ALTER COLUMN line TYPE ast_bool_values USING "line"::text::ast_bool_values; + +ALTER TABLE ps_registrations ALTER COLUMN support_path TYPE ast_bool_values USING "support_path"::text::ast_bool_values; + +ALTER TABLE ps_resource_list ALTER COLUMN full_state TYPE ast_bool_values USING "full_state"::text::ast_bool_values; + +ALTER TABLE ps_resource_list ALTER COLUMN resource_display_name TYPE ast_bool_values USING "resource_display_name"::text::ast_bool_values; + +ALTER TABLE ps_subscription_persistence ALTER COLUMN prune_on_boot TYPE ast_bool_values USING "prune_on_boot"::text::ast_bool_values; + +ALTER TABLE ps_systems ALTER COLUMN accept_multiple_sdp_answers TYPE ast_bool_values USING "accept_multiple_sdp_answers"::text::ast_bool_values; + +ALTER TABLE ps_systems ALTER COLUMN compact_headers TYPE ast_bool_values USING "compact_headers"::text::ast_bool_values; + +ALTER TABLE ps_systems ALTER COLUMN disable_rport TYPE ast_bool_values USING "disable_rport"::text::ast_bool_values; + +ALTER TABLE ps_systems ALTER COLUMN disable_tcp_switch TYPE ast_bool_values USING "disable_tcp_switch"::text::ast_bool_values; + +ALTER TABLE ps_systems ALTER COLUMN follow_early_media_fork TYPE ast_bool_values USING "follow_early_media_fork"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN allow_reload TYPE ast_bool_values USING "allow_reload"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN allow_wildcard_certs TYPE ast_bool_values USING "allow_wildcard_certs"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN require_client_cert TYPE ast_bool_values USING "require_client_cert"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN symmetric_transport TYPE ast_bool_values USING "symmetric_transport"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN verify_client TYPE ast_bool_values USING "verify_client"::text::ast_bool_values; + +ALTER TABLE ps_transports ALTER COLUMN verify_server TYPE ast_bool_values USING "verify_server"::text::ast_bool_values; + +UPDATE alembic_version SET version_num='74dc751dfe8e' WHERE alembic_version.version_num = 'bd335bae5d33'; + COMMIT; diff --git a/contrib/realtime/postgresql/postgresql_voicemail.sql b/contrib/realtime/postgresql/postgresql_voicemail.sql index db7d09a930..274749ae60 100644 --- a/contrib/realtime/postgresql/postgresql_voicemail.sql +++ b/contrib/realtime/postgresql/postgresql_voicemail.sql @@ -35,5 +35,9 @@ 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'; + COMMIT;