mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	Update CHANGES and UPGRADE.txt for 19.0.0
This commit is contained in:
		| @@ -1,7 +0,0 @@ | ||||
| Subject: app_confbridge | ||||
|  | ||||
| app_confbridge now has the ability to force the estimated bitrate on an SFU | ||||
| bridge.  To use it, set a bridge profile's remb_behavior to "force" and | ||||
| set remb_estimated_bitrate to a rate in bits per second.  The | ||||
| remb_estimated_bitrate parameter is ignored if remb_behavior is something | ||||
| other than "force". | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_confbridge answer supervision control | ||||
|  | ||||
| app_confbridge now provides a user option to prevent | ||||
| answer supervision if the channel hasn't been | ||||
| answered yet. To use it, set a user profile's | ||||
| answer_channel option to no. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: New ConfKick application | ||||
|  | ||||
| Adds a ConfKick() application, which allows | ||||
| a specific channel, all users, or all non-admin | ||||
| users to be kicked from a conference bridge. | ||||
|  | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_dial announcement option | ||||
|  | ||||
| The A option for Dial now supports | ||||
| playing audio to the caller as well | ||||
| as the called party. | ||||
|  | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_dtmfstore | ||||
|  | ||||
| New application which collects digits | ||||
| dialed and stores them into | ||||
| a specified variable. | ||||
|  | ||||
| @@ -1,11 +0,0 @@ | ||||
| Subject: app_milliwatt | ||||
|  | ||||
| The Milliwatt application's existing behavior is | ||||
| incorrect in that it plays a constant tone, which | ||||
| is not how digital milliwatt test lines actually | ||||
| work. | ||||
|  | ||||
| An option is added so that a proper milliwatt test | ||||
| tone can be provided, including a 1 second silent | ||||
| interval every 10 seconds. However, for compatability | ||||
| reasons, the default behavior remains unchanged. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_morsecode | ||||
|  | ||||
| Extends the Morsecode application by adding support for | ||||
| American Morse code and adds a configurable option | ||||
| for the frequency used in off intervals. | ||||
|  | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_originate | ||||
|  | ||||
| Codecs can now be specified for dialplan-originated | ||||
| calls, as with call files and the manager action. | ||||
| By default, only the slin codec is now used, instead | ||||
| of all the slin* codecs. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: Add variable support to Originate | ||||
|  | ||||
| The Originate application now allows | ||||
| variables to be set on the new channel | ||||
| through a new option. | ||||
|  | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: app_queue.c | ||||
|  | ||||
| Allow multiple files to be streamed for agent announcement. | ||||
|  | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: app_queue | ||||
|  | ||||
| Reload behavior in app_queue has been changed so | ||||
| queue and agent stats are not reset during full | ||||
| app_queue module reloads. The queue reset stats | ||||
| CLI command may still be used to reset stats while | ||||
| Asterisk is running. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: app_read | ||||
|  | ||||
| A new option allows the digit '#' to be read literally, | ||||
| rather than used exclusively as the input terminator | ||||
| character. | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: New Reload application | ||||
|  | ||||
| Adds an application to reload modules | ||||
|  | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: chan_pjsip, app_transfer | ||||
|  | ||||
| Added TRANSFERSTATUSPROTOCOL variable.  When transfer is performed, | ||||
| transfers can pass a protocol specific error code. | ||||
| Example, in SIP 3xx-6xx represent any SIP specific error received when | ||||
| performing a REFER. | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: app_voicemail | ||||
|  | ||||
| Add a new 'S' option to VoiceMail which prevents the instructions | ||||
| (vm-intro) from being played if a busy/unavailable/temporary greeting | ||||
| from the voicemail user is played. This is similar to the existing 's' | ||||
| option except that instructions will still be played if no user | ||||
| greeting is available. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: WaitForCondition application | ||||
|  | ||||
| This application provides a way to halt | ||||
| dialplan execution until a provided | ||||
| condition evaluates to true. | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: chan_iax2 | ||||
|  | ||||
| You can now specify a default "auth" method in the | ||||
| [general] section of iax.conf | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: chan_iax2 | ||||
|  | ||||
| ANI2 (OLI) is now transmitted over IAX2 calls | ||||
| as an information element. | ||||
| @@ -1,3 +0,0 @@ | ||||
| Subject: AMI Flash event | ||||
|  | ||||
| Hook flash events are now exposed as AMI events. | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: func_channel | ||||
|  | ||||
| Adds the CHANNEL_EXISTS function to check for the existence | ||||
| of a channel by name or unique ID. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: func_env.c | ||||
|  | ||||
| Two new functions, DIRNAME and BASENAME, are now | ||||
| included which allow users to obtain the directory | ||||
| or the base filename of any file. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: func_framedrop | ||||
|  | ||||
| New function to selectively drop specified frames | ||||
| in either direction on a channel. | ||||
|  | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: func_math: Three new dialplan functions | ||||
|  | ||||
| Introduce three new functions, MIN, MAX, and ABS, which can be used to | ||||
| obtain the minimum or maximum of up to two integers or absolute value. | ||||
| @@ -1,20 +0,0 @@ | ||||
| Subject: func_odbc | ||||
|  | ||||
| Introduce an ARGC variable for func_odbc functions, along with a minargs | ||||
| per-function configuration option. | ||||
|  | ||||
| minargs enables enforcing of minimum count of arguments to pass to | ||||
| func_odbc, so if you're unconditionally using ARG1 through ARG4 then | ||||
| this should be set to 4.  func_odbc will generate an error in this case, | ||||
| so for example | ||||
|  | ||||
| [FOO] | ||||
| minargs = 4 | ||||
|  | ||||
| and ODBC_FOO(a,b,c) in dialplan will now error out instead of using a | ||||
| potentially leaked ARG4 from Gosub(). | ||||
|  | ||||
| ARGC is needed if you're using optional argument, to verify whether or | ||||
| not an argument has been passed, else it's possible to use a leaked ARGn | ||||
| from Gosub (app_stack).  So now you can safely do | ||||
| ${IF($[${ARGC}>3]?${ARGV}:default value)} kind of thing. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: func_scramble | ||||
|  | ||||
| Adds an audio scrambler function that may be used to | ||||
| distort voice audio on a channel as a privacy | ||||
| enhancement. | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: func_strings | ||||
|  | ||||
| A new STRBETWEEN function is now included which | ||||
| allows a substring to be inserted between characters | ||||
| in a string. This is particularly useful for transforming | ||||
| dial strings, such as adding pauses between digits | ||||
| for a string of digits that are sent to another channel. | ||||
| @@ -1,3 +0,0 @@ | ||||
| Subject: func_vmcount | ||||
|  | ||||
| Multiple mailboxes may now be specified instead of just one. | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: func_volume now can be read | ||||
|  | ||||
| The VOLUME function can now also be used | ||||
| to read existing values previously set. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: logger | ||||
|  | ||||
| Added the ability to define custom log levels in logger.conf | ||||
| and use them in the Log dialplan application. Also adds a | ||||
| logger show levels CLI command. | ||||
| @@ -1,18 +0,0 @@ | ||||
| Subject: Core | ||||
|  | ||||
| Added debug logging categories that allow a user to output debug information | ||||
| based on a specified category. This lets the user limit, and filter debug | ||||
| output to data relevant to a particular context, or topic. For instance the | ||||
| following categories are now available for debug logging purposes: | ||||
|  | ||||
|   dtls, dtls_packet, ice, rtcp, rtcp_packet, rtp, rtp_packet, stun, stun_packet | ||||
|  | ||||
| These debug categories can be enable/disable via an Asterisk CLI command: | ||||
|  | ||||
|   core set debug category <category>[:<sublevel>] [category[:<sublevel] ...] | ||||
|   core set debug category off [<category> [<category>] ...] | ||||
|  | ||||
| If no sub-level is associated all debug statements for a given category are | ||||
| output. If a sub-level is given then only those statements assigned a value | ||||
| at or below the associated sub-level are output. | ||||
|  | ||||
| @@ -1,47 +0,0 @@ | ||||
| Subject: logger | ||||
|  | ||||
| The dateformat option in logger.conf will now control the remote | ||||
| console (asterisk -r -T) timestamp format.  Previously, dateformat only | ||||
| controlled the formatting of the timestamp going to log files and the | ||||
| main console (asterisk -c) but only for non-verbose messages. | ||||
|  | ||||
| Internally, Asterisk does not send the logging timestamp with verbose | ||||
| messages to console clients. It's up to the Asterisk remote consoles | ||||
| to format verbose messages.  Asterisk remote consoles previously did | ||||
| not load dateformat from logger.conf. | ||||
|  | ||||
| Previously there was a non-configurable and hard-coded "%b %e %T" | ||||
| dateformat that would be used no matter what on all verbose console | ||||
| messages printed on remote consoles. | ||||
|  | ||||
| Example: | ||||
| logger.conf | ||||
|  dateformat=%F %T.%3q | ||||
|  | ||||
| # asterisk -rvvv -T | ||||
| [2021-03-19 09:54:19.760-0400]  Loading res_stasis_answer.so. | ||||
| [Mar 19 09:55:43]     -- Goto (dialExten,s,1) | ||||
|  | ||||
| Given the following example configuration in logger.conf, Asterisk log | ||||
| files and the console, will log verbose messages using the given | ||||
| timestamp.  Now ensuring that all remote console messages are logged | ||||
| with the same dateformat as other log streams. | ||||
|  | ||||
| --- | ||||
| [general] | ||||
| dateformat=%F %T.%3q | ||||
|  | ||||
| [logfiles] | ||||
| console  => notice,warning,error,verbose | ||||
| full     => notice,warning,error,debug,verbose | ||||
| --- | ||||
|  | ||||
| Now we have a globally-defined dateformat that will be used | ||||
| consistently across the Asterisk main console, remote consoles, and | ||||
| log files. | ||||
|  | ||||
| Now we have consistent logging: | ||||
|  | ||||
| # asterisk -rvvv -T | ||||
| [2021-03-19 09:54:19.760-0400]  Loading res_stasis_answer.so. | ||||
| [2021-03-19 09:55:43.920-0400]     -- Goto (dialExten,s,1) | ||||
| @@ -1,12 +0,0 @@ | ||||
| Subject: logger | ||||
|  | ||||
| Added a new log formatter called "plain" that always prints | ||||
| file, function and line number if available (even for verbose | ||||
| messages) and never prints color control characters.  Most | ||||
| suitable for file output but can be used for other channels | ||||
| as well. | ||||
|  | ||||
| You use it in logger.conf like so: | ||||
| debug => [plain]debug | ||||
| console => [plain]error,warning,debug,notice,pjsip_history | ||||
| messages => [plain]warning,error,verbose | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: MessageSend | ||||
|  | ||||
| The MessageSend AMI action has been updated to allow the Destination | ||||
| and the To addresses to be provided separately. This brings the | ||||
| MessageSend manager command in line with the capabilities of the | ||||
| MessageSend dialplan application. | ||||
| @@ -1,9 +0,0 @@ | ||||
| Subject: Core | ||||
|  | ||||
| The location where the media cache stores its temporary files | ||||
| is no longer hardcoded to /tmp but can now be configured separately | ||||
| via the astcachedir config variable in asterisk.conf. | ||||
|  | ||||
| The default location for astcachedir is now /var/cache/asterisk | ||||
| instead of /tmp, please make sure to manually cleanup and/or | ||||
| migrate the temporary files in /tmp after upgrading. | ||||
| @@ -1,16 +0,0 @@ | ||||
| Subject: MessageSend | ||||
|  | ||||
| The MessageSend dialplan application now takes an | ||||
| optional third argument that can set the message's | ||||
| "To" field on outgoing messages.  It's an alternative | ||||
| to using the MESSAGE(to) dialplan function. | ||||
|  | ||||
| To prevent confusion with the first argument, currently | ||||
| named "to", it's been renamed to "destination". | ||||
| Its function, creating the request URI, hasn't changed. | ||||
|  | ||||
| The online documentation has also been enhanced to | ||||
| explain the behavior. | ||||
|  | ||||
| Despite the changes in this commit, there should be | ||||
| no impact to current users of MessageSend. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: Channel-agnostic MF support | ||||
|  | ||||
| A SendMF application and PlayMF manager | ||||
| application are now included to send | ||||
| arbitrary standard R1 MF tones on the | ||||
| current channel or another specified channel. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: app_mixmonitor | ||||
|  | ||||
| app_mixmonitor now sends manager events MixMonitorStart, MixMonitorStop and | ||||
| MixMonitorMute when the channel monitoring is started, stopped and muted (or | ||||
| unmuted) respectively. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: res_pjsip | ||||
|  | ||||
| PJSIP endpoints can now be configured to skip authentication when | ||||
| handling OPTIONS requests by setting the allow_unauthenticated_options | ||||
| configuration property to 'yes.' | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: chan_pjsip | ||||
|  | ||||
| Add function PJSIP_HEADERS() to get list of headers by pattern in the same way as SIP_HEADERS() do. | ||||
|  | ||||
| Add ability to read header by pattern using PJSIP_HEADER(). | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: chan_pjsip | ||||
|  | ||||
| The PJSIP_SEND_SESSION_REFRESH dialplan function now issues a warning, and | ||||
| returns unsuccessful if it's used on a channel prior to answering. | ||||
| @@ -1,4 +0,0 @@ | ||||
| Subject: res_pjsip | ||||
|  | ||||
| PJSIP transports can now be partially reloaded safely. This allows the | ||||
| local_net and external_* options to be updated without restarting Asterisk. | ||||
| @@ -1,8 +0,0 @@ | ||||
| Subject: res_pjproject | ||||
|  | ||||
| In pjproject.conf you can now map pjproject log levels | ||||
| to the Asterisk TRACE log level.  The default mappings | ||||
| have therefore changed so that only pjproject levels | ||||
| 3 and 4 are mapped to DEBUG and 5 and 6 are now mapped | ||||
| to TRACE.  Previously 3, 4, 5, and 6 were all mapped to | ||||
| DEBUG. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: res_pjsip | ||||
|  | ||||
| PJSIP support of registrations of endpoints in multidomain | ||||
| scenarios, where the endpoint contains the domain info | ||||
| in pjsip_endpoint.conf | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: res_pjsip_dialog_info_body_generator | ||||
|  | ||||
| PJSIP now supports RFC 4235 Section 4.1.6 dialog-info+xml local and | ||||
| remote elements by iterating through ringing channels and inserting | ||||
| that info into NOTIFY packet sent to the endpoint. | ||||
| @@ -1,5 +0,0 @@ | ||||
| res_pjsip_dtmf_info: Hook flash | ||||
|  | ||||
| Adds recognition for application/ | ||||
| hook-flash as a hook flash event. | ||||
|  | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: res_pjsip_messaging | ||||
|  | ||||
| Implemented the new "to" parameter of the MessageSend() | ||||
| dialplan application.  This allows a user to specify | ||||
| a complete SIP "To" header separate from the Request URI. | ||||
| We now also accept a destination in the same format | ||||
| as Dial()...  PJSIP/number@endpoint | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: res_pjsip_registrar | ||||
|  | ||||
| Adds new PJSIP AOR option remove_unavailable to either | ||||
| remove unavailable contacts when a REGISTER exceeds | ||||
| max_contacts when remove_existing is disabled, or | ||||
| prioritize unavailable contacts over other existing | ||||
| contacts when remove_existing is enabled. | ||||
| @@ -1,9 +0,0 @@ | ||||
| Subject: res_pjsip_t38 | ||||
|  | ||||
| In res_pjsip_sdp_rtp, the bind_rtp_to_media_address option and the | ||||
| fallback use of the transport's bind address solve problems sending | ||||
| media on systems that cannot send ipv4 packets on ipv6 sockets, and | ||||
| certain other situations. This change extends both of these behaviors | ||||
| to UDPTL sessions as well in res_pjsip_t38, to fix fax-specific | ||||
| problems on these systems, introducing a new option | ||||
| endpoint/t38_bind_udptl_to_media_address. | ||||
| @@ -1,8 +0,0 @@ | ||||
| Subject: res_rtp_asterisk | ||||
|  | ||||
| By default Asterisk reports the PJSIP version in all | ||||
| STUN packets it sends. | ||||
|  | ||||
| This behaviour may not be desired in a production | ||||
| environment and can now be disabled by setting the | ||||
| stun_software_attribute option to 'no' in rtp.conf. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: res_rtp_asterisk | ||||
|  | ||||
| When the address of the STUN server (stunaddr) is a name resolved via DNS, the | ||||
| stunaddr will be recurringly resolved when the DNS answer Time-To-Live (TTL) | ||||
| expires. This allows the STUN server to change its IP address without having to | ||||
| reload the res_rtp_asterisk module. | ||||
| @@ -1,9 +0,0 @@ | ||||
| Subject: PlaybackFinished has a new error state | ||||
|  | ||||
| The PlaybackFinished event now has a new state "failed" | ||||
| that is used when the sound file was not played due to an error. | ||||
| Before the state on PlaybackFinished was always "done". | ||||
|  | ||||
| In case of multiple sound files to be played, | ||||
| the PlaybackFinished is sent only once in the end of the list, | ||||
| even in case of error. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: Handle non-standard Meter metric type safely | ||||
|  | ||||
| A meter_support flag has been introduced that defaults to true to maintain current behaviour. | ||||
| If disabled, a counter metric type will be used instead wherever a meter metric type was used, | ||||
| the counter will have a "_meter" suffix appended to the metric name. | ||||
| @@ -1,5 +0,0 @@ | ||||
| Subject: res_tonedetect | ||||
|  | ||||
| Arbitrary tone detection is now available through a | ||||
| WaitForTone application (blocking) and a TONE_DETECT | ||||
| function (non-blocking). | ||||
| @@ -1,7 +0,0 @@ | ||||
| Subject: say.c | ||||
|  | ||||
| Adds SAYFILES function to retrieve the file names that would | ||||
| be played by corresponding Say applications, such as | ||||
| SayDigits, SayAlpha, etc. | ||||
|  | ||||
| Additionally adds SayMoney and SayOrdinal applications. | ||||
| @@ -1,9 +0,0 @@ | ||||
| Subject: res_srtp | ||||
|  | ||||
| SRTP replay protection has been added to res_srtp and | ||||
| a new configuration option "srtpreplayprotection" has | ||||
| been added to the rtp.conf config file.  For security | ||||
| reasons, the default setting is "yes".  Buggy clients | ||||
| may not handle this correctly which could result in | ||||
| no, or one way, audio and Asterisk error messages like | ||||
| "replay check failed". | ||||
| @@ -1,3 +0,0 @@ | ||||
| Subject: app_voicemail | ||||
|  | ||||
| You can now customize the "beep" tone or omit it entirely. | ||||
| @@ -1,6 +0,0 @@ | ||||
| Subject: app_voicemail | ||||
|  | ||||
| The VoiceMail application can now be configured to send greetings and | ||||
| instructions via early media and only answering the channel when it is | ||||
| time for the caller to record their message. This behavior can be | ||||
| activated by passing the new 'e' option to VoiceMail. | ||||
		Reference in New Issue
	
	Block a user