Skip to content
Snippets Groups Projects
ChangeLog 3.86 MiB
Newer Older
  • Learn to ignore specific revisions
  • 2022-04-14 21:53 +0000  Asterisk Development Team <asteriskteam@digium.com>
    
    
    	* asterisk 18.11.2 Released.
    
    
    2022-04-14 16:37 +0000 [94eac3c13c]  Asterisk Development Team <asteriskteam@digium.com>
    
    	* Doing a fresh summary
    
    2022-04-14 16:00 +0000 [3ca29c9554]  Asterisk Development Team <asteriskteam@digium.com>
    
    	* Update for 18.11.2
    
    
    2022-04-14 15:47 +0000 [1422d098e7]  Asterisk Development Team <asteriskteam@digium.com>
    
    	* Update CHANGES and UPGRADE.txt for 18.11.2
    2022-02-28 11:19 +0000 [353142a2b4]  Ben Ford <bford@digium.com>
    
    	* AST-2022-002 - res_stir_shaken/curl: Add ACL checks for Identity header.
    
    	  Adds a new configuration option, stir_shaken_profile, in pjsip.conf that
    	  can be specified on a per endpoint basis. This option will reference a
    	  stir_shaken_profile that can be configured in stir_shaken.conf. The type
    	  of this option must be 'profile'. The stir_shaken option can be
    	  specified on this object with the same values as before (attest, verify,
    	  on), but it cannot be off since having the profile itself implies wanting
    	  STIR/SHAKEN support. You can also specify an ACL from acl.conf (along
    	  with permit and deny lines in the object itself) that will be used to
    	  limit what interfaces Asterisk will attempt to retrieve information from
    	  when reading the Identity header.
    
    	  ASTERISK-29476
    
    	  Change-Id: I87fa61f78a9ea0cd42530691a30da3c781842406
    
    2022-01-07 08:50 +0000 [1fdb1a6edf]  Ben Ford <bford@digium.com>
    
    	* AST-2022-001 - res_stir_shaken/curl: Limit file size and check start.
    
    	  Put checks in place to limit how much we will actually download, as well
    	  as a check for the data we receive at the start to ensure it begins with
    	  what we would expect a certificate to begin with.
    
    	  ASTERISK-29872
    
    	  Change-Id: Ifd3c6b8bd52b8b6192a04166ccce4fc8a8000b46
    
    2022-02-10 06:02 +0000 [88522c22aa]  Joshua C. Colp <jcolp@sangoma.com>
    
    	* func_odbc: Add SQL_ESC_BACKSLASHES dialplan function.
    
    	  Some databases depending on their configuration using backslashes
    	  for escaping. When combined with the use of ' this can result in
    	  a broken func_odbc query.
    
    	  This change adds a SQL_ESC_BACKSLASHES dialplan function which can
    	  be used to escape the backslashes.
    
    	  This is done as a dialplan function instead of being always done
    	  as some databases do not require this, and always doing it would
    	  result in incorrect data being put into the database.
    
    	  ASTERISK-29838
    
    	  Change-Id: I152bf34899b96ddb09cca3e767254d8d78f0c83d
    
    
    2022-03-29 21:46 +0000  Asterisk Development Team <asteriskteam@digium.com>
    
    	* asterisk 18.11.1 Released.
    
    2022-03-25 09:33 +0000 [663b565647]  George Joseph <gjoseph@digium.com>
    
    	* make_xml_documentation: Remove usage of get_sourceable_makeopts
    
    	  get_sourceable_makeopts wasn't handling variables with embedded
    	  double quotes in them very well.  One example was the DOWNLOAD
    	  variable when curl was being used instead of wget.  Rather than
    	  trying to fix get_sourceable_makeopts, it's just been removed.
    
    	  ASTERISK-29986
    	  Reported by: Stefan Ruijsenaars
    
    	  Change-Id: Idf2a90902228c2558daa5be7a4f8327556099cd2
    
    2022-03-25 14:00 +0000 [99fa792482]  George Joseph <gjoseph@digium.com>
    
    	* Makefile:  Disable XML doc validation
    
    	  make_xml_documentation was being called with the --validate
    	  flag set when it shouldn't have been.  This was causing
    	  build failures if neither xmllint nor xmlstarlet were installed.
    	  The correct behavior is to simply print a message that either
    	  one of those tools should be installed for validation and
    	  continue with the build.
    
    	  ASTERISK-29988
    
    	  Change-Id: Idc6c44114e7dd3fadae183a4e22f4fdba0b8a645
    
    
    2022-03-24 13:12 +0000  Asterisk Development Team <asteriskteam@digium.com>
    
    	* asterisk 18.11.0 Released.
    
    
    103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000
    2022-03-17 15:40 +0000  Asterisk Development Team <asteriskteam@digium.com>
    
    	* asterisk 18.11.0-rc1 Released.
    
    2022-03-17 10:23 +0000 [5dd61a6e16]  Asterisk Development Team <asteriskteam@digium.com>
    
    	* Update CHANGES and UPGRADE.txt for 18.11.0
    2022-03-17 09:19 +0000 [81de525c6e]  Ben Ford <bford@digium.com>
    
    	* AMI: Bump version for 18.11.0.
    
    	  Change-Id: Ic15cfca9e68efd06a1b12ab2335d52a5890e7170
    
    2022-02-18 03:19 +0000 [5b653b8a7b]  Boris P. Korzun <drtr0jan@yandex.ru>
    
    	* res_config_pgsql: Add text-type column check in require_pgsql()
    
    	  Omit "unsupported column type 'text'" warning in logs while
    	  using text-type column in the PgSQL backend.
    
    	  ASTERISK-29924 #close
    
    	  Change-Id: I48061a7d469426859670db07f1ed8af1eb814712
    
    2022-02-09 04:28 +0000 [3959d20ba5]  Kfir Itzhak <mastertheknife@gmail.com>
    
    	* app_queue: Add QueueWithdrawCaller AMI action
    
    	  This adds a new AMI action called QueueWithdrawCaller.
    	  This AMI action makes it possible to withdraw a caller from a queue,
    	  in a safe and a generic manner.
    	  This can be useful for retrieving a specific call and
    	  dispatching it to a specific extension.
    	  It works by signaling the caller to exit the queue application
    	  whenever it can. Therefore, it is not guaranteed
    	  that the call will leave the queue.
    
    	  ASTERISK-29909 #close
    
    	  Change-Id: Ic15aa238e23b2884abdcaadff2fda7679e29b7ec
    
    2022-02-08 16:58 +0000 [8666455bd8]  Alexei Gradinari <alex2grad@gmail.com>
    
    	* res_pjsip_pubsub: update RLS to reflect the changes to the lists
    
    	  This patch makes the Resource List Subscriptions (RLS) dynamic.
    	  The asterisk updates the current subscriptions to reflect the changes
    	  to the list on the subscriptions refresh. If list items are added,
    	  removed, updated or do not exist anymore, the asterisk regenerates
    	  the resource list.
    
    	  ASTERISK-29906 #close
    
    	  Change-Id: Icee8c00459a7aaa43c643d77ce6f16fb7ab037d3
    
    2022-03-03 16:44 +0000 [9e74563a50]  Kevin Harwell <kharwell@sangoma.com>
    
    	* AST-2022-006: pjproject - unconstrained malformed multipart SIP message
    
    	  ASTERISK-29945 #close
    
    	  Change-Id: Ic58957afc453195d53c2bd25c905df3d91d1abe6
    
    2022-03-03 16:42 +0000 [742d265ff5]  Kevin Harwell <kharwell@sangoma.com>
    
    	* AST-2022-005: pjproject - undefined behavior after freeing a dialog set
    
    	  ASTERISK-29945 #close
    
    	  Change-Id: Ia8ce6d82b115c82c1138747c72a0adcaa42b718c
    
    2022-03-03 16:41 +0000 [fc160abb67]  Kevin Harwell <kharwell@sangoma.com>
    
    	* AST-2022-004: pjproject - possible integer underflow on STUN message
    
    	  ASTERISK-29945 #close
    
    	  Change-Id: I721cd254e4f8aa6d3a97a37529cca53519694c54
    
    2022-03-02 08:57 +0000 [b6e482becd]  George Joseph <gjoseph@digium.com>
    
    	* xml.c, config,c:  Add stylesheets and variable list string parsing
    
    	  Added functions to open, close, and apply XML Stylesheets
    	  to XML documents.  Although the presence of libxslt was already
    	  being checked by configure, it was only happening if xmldoc was
    	  enabled.  Now it's checked regardless.
    
    	  Added ability to parse a string consisting of comma separated
    	  name/value pairs into an ast_variable list.  The reverse of
    	  ast_variable_list_join().
    
    	  Change-Id: I1e1d149be22165a1fb8e88e2903a36bba1a6cf2e
    
    2022-03-01 10:58 +0000 [468441121d]  George Joseph <gjoseph@digium.com>
    
    	* xmldoc: Fix issue with xmlstarlet validation
    
    	  Added the missing xml-stylesheet and Xinclude namespace
    	  declarations in pjsip_config.xml and pjsip_manager.xml.
    
    	  Updated make_xml_documentation to show detailed errors when
    	  xmlstarlet is the validator.  It's now run once with the '-q'
    	  option to suppress harmless/expected messages and if it actually
    	  fails, it's run again without '-q' but with '-e' to show
    	  the actual errors.
    
    	  Change-Id: I4bdc9d2ea6741e8d2e5eb82df60c68ccc59e1f5e
    
    2022-02-20 14:16 +0000 [777326fa9e]  George Joseph <gjoseph@digium.com>
    
    	* core: Config and XML tweaks needed for geolocation
    
    	  Added:
    
    	  Replace a variable in a list:
    	  int ast_variable_list_replace_variable(struct ast_variable **head,
    	      struct ast_variable *old, struct ast_variable *new);
    	  Added test as well.
    
    	  Create a "name=value" string from a variable list:
    	  'name1="val1",name2="val2"', etc.
    	  struct ast_str *ast_variable_list_join(
    	      const struct ast_variable *head, const char *item_separator,
    	      const char *name_value_separator, const char *quote_char,
    	      struct ast_str **str);
    	  Added test as well.
    
    	  Allow the name of an XML element to be changed.
    	  void ast_xml_set_name(struct ast_xml_node *node, const char *name);
    
    	  Change-Id: I330a5f63dc0c218e0d8dfc0745948d2812141ccb
    
    2022-02-14 07:31 +0000 [a81e14d2da]  George Joseph <gjoseph@digium.com>
    
    	* Makefile: Allow XML documentation to exist outside source files
    
    	  Moved the xmldoc build logic from the top-level Makefile into
    	  its own script "make_xml_documentation" in the build_tools
    	  directory.
    
    	  Created a new utility script "get_sourceable_makeopts", also in
    	  the build_tools directory, that dumps the top-level "makeopts"
    	  file in a format that can be "sourced" from shell sscripts.
    	  This allows scripts to easily get the values of common make
    	  build variables such as the location of the GREP, SED, AWK, etc.
    	  utilities as well as the AST* and library *_LIB and *_INCLUDE
    	  variables.
    
    	  Besides moving logic out of the Makefile, some optimizations
    	  were done like removing "third-party" from the list of
    	  subdirectories to be searched for documentation and changing some
    	  assignments from "=" to ":=" so they're only evaluated once.
    	  The speed increase is noticeable.
    
    	  The makeopts.in file was updated to include the paths to
    	  REALPATH and DIRNAME.  The ./conifgure script was setting them
    	  but makeopts.in wasn't including them.
    
    	  So...
    
    	  With this change, you can now place documentation in any"c"
    	  source file AND you can now place it in a separate XML file
    	  altogether.  The following are examples of valid locations:
    
    	  res/res_pjsip.c
    	      Using the existing /*** DOCUMENTATION ***/ fragment.
    
    	  res/res_pjsip/pjsip_configuration.c
    	      Using the existing /*** DOCUMENTATION ***/ fragment.
    
    	  res/res_pjsip/pjsip_doc.xml
    	      A fully-formed XML file.  The "configInfo", "manager",
    	      "managerEvent", etc. elements that would be in the "c"
    	      file DOCUMENTATION fragment should be wrapped in proper
    	      XML.  Example for "somemodule.xml":
    
    	      <?xml version="1.0" encoding="UTF-8"?>
    	      <!DOCTYPE docs SYSTEM "appdocsxml.dtd">
    	      <docs>
    	          <configInfo>
    	          ...
    	          </configInfo>
    	      </docs>
    
    	  It's the "appdocsxml.dtd" that tells make_xml_documentation
    	  that this is a documentation XML file and not some other XML file.
    	  It also allows many XML-capable editors to do formatting and
    	  validation.
    
    	  Other than the ".xml" suffix, the name of the file is not
    	  significant.
    
    	  As a start... This change also moves the documentation that was
    	  in res_pjsip.c to 2 new XML files in res/res_pjsip:
    	  pjsip_config.xml and pjsip_manager.xml.  This cut the number of
    	  lines in res_pjsip.c in half. :)
    
    	  Change-Id: I486c16c0b5a44d7a8870008e10c941fb19b71ade
    
    2022-02-17 10:26 +0000 [47106a09b0]  George Joseph <gjoseph@digium.com>
    
    	* build: Refactor the earlier "basebranch" commit
    
    	  Recap from earlier commit:  If you have a development branch for a
    	  major project that will receive gerrit reviews it'll probably be
    	  named something like "development/16/newproject" or a work branch
    	  based on that "development" branch.  That will necessitate
    	  setting "defaultbranch=development/16/newproject" in .gitreview.
    	  The make_version script uses that variable to construct the
    	  asterisk version however, which results in versions
    	  like "GIT-development/16/newproject-ee582a8c7b" which is probably
    	  not what you want.  It also constructs the URLs for downloading
    	  external modules with that version, which will fail.
    
    	  Fast-forward:
    
    	  The earlier attempt at adding a "basebranch" variable to
    	  .gitreview didn't work out too well in practice because changes
    	  were made to .gitreview, which is a checked-in file.  So, if
    	  you wanted to rebase your work branch on the base branch, rebase
    	  would attempt to overwrite your .gitreview with the one from
    	  the base branch and complain about a conflict.
    
    	  This is a slighltly different approach that adds three methods to
    	  determine the mainline branch:
    
    	  1.  --- MAINLINE_BRANCH from the environment
    
    	  If MAINLINE_BRANCH is already set in the environment, that will
    	  be used.  This is primarily for the Jenkins jobs.
    
    	  2.  --- .develvars
    
    	  Instead of storing the basebranch in .gitreview, it can now be
    	  stored in a non-checked-in ".develvars" file and keyed by the
    	  current branch.  So, if you were working on a branch named
    	  "new-feature-work" based on "development/16/new-feature" and wanted
    	   to push to that branch in Gerrit but wanted to pull the external
    	   modules for 16, you'd create the following .develvars file:
    
    	  [branch "new-feature-work"]
    	      mainline-branch = 16
    
    	  The .gitreview file would still look like:
    
    	  [gerrit]
    	  defaultbranch=development/16/new-feature
    
    	  ...which would cause any reviews pushed from "new-feature-work" to
    	  go to the "development/16/new-feature" branch in Gerrit.
    
    	  The key is that the .develvars file is NEVER checked in (it's been
    	  added to .gitignore).
    
    	  3.  --- Well Known Development Branch
    
    	  If you're actually working in a branch named like
    	  "development/<mainline_branch>/some-feature", the mainline branch
    	  will be parsed from it.
    
    	  4.  --- .gitreview
    
    	  If none of the earlier conditions exist, the .gitreview
    	  "defaultbranch" variable will be used just as before.
    
    	  Change-Id: I1cdeeaa0944bba3f2e01d7a2039559d0c266f8c9
    
    2022-02-23 07:58 +0000 [3771074a45]  Joshua C. Colp <jcolp@sangoma.com>
    
    	* jansson: Update bundled to 2.14 version.
    
    	  ASTERISK-29353
    
    	  Change-Id: I4ea43eda1691565563a4c03ef37166952d211b2b
    
    2022-01-09 07:32 +0000 [59b25e9d59]  Naveen Albert <asterisk@phreaknet.org>
    
    	* ami: Allow events to be globally disabled.
    
    	  The disabledevents setting has been added to the general section
    	  in manager.conf, which allows users to specify events that
    	  should be globally disabled and not sent to any AMI listeners.
    
    	  This allows for processing of these AMI events to end sooner and,
    	  for frequent AMI events such as Newexten which users may not have
    	  any need for, allows them to not be processed. Additionally, it also
    	  cleans up core debug as previously when debug was 3 or higher,
    	  the debug was constantly spammed by "Analyzing AMI event" messages
    	  along with a complete dump of the event contents (often for Newexten).
    
    	  ASTERISK-29853 #close
    
    	  Change-Id: Id42b9a3722a1f460d745cad1ebc47c537fd4f205
    
    2022-01-06 07:57 +0000 [42525b0fe2]  Naveen Albert <asterisk@phreaknet.org>
    
    	* func_channel: Add lastcontext and lastexten.
    
    	  Adds the lastcontext and lastexten channel fields to allow users
    	  to access previous dialplan execution locations.
    
    	  ASTERISK-29840 #close
    
    	  Change-Id: Ib455fe300cc8e9a127686896ee2d0bd11e900307
    
    2022-02-04 19:27 +0000 [7f123b3143]  Naveen Albert <asterisk@phreaknet.org>
    
    	* channel.c: Clean up debug level 1.
    
    	  Although there are 10 debugs levels, over time,
    	  many current debug calls have come to use
    	  inappropriately low debug levels. In particular,
    	  a select few debug calls (currently all debug 1)
    	  can result in thousands of debug messages per minute
    	  for a single call.
    
    	  This can adds a lot of noise to core debug
    	  which dilutes the value in having different
    	  debug levels in the first place, as these
    	  log messages are from the core internals are
    	  are better suited for higher debug levels.
    
    	  Some debugs levels are thus adjusted so that
    	  debug level 1 is not inappropriately overloaded
    	  with these extremely high-volume and general
    	  debug messages.
    
    	  ASTERISK-29897 #close
    
    	  Change-Id: I55a71598993552d3d64a401a35ee99474770d4b4
    
    2022-02-17 13:47 +0000 [8631e00a41]  Naveen Albert <asterisk@phreaknet.org>
    
    	* configs, LICENSE: remove pbx.digium.com.
    
    	  pbx.digium.com no longer accepts IAX2 calls and
    	  there are no plans for it to come back.
    
    	  Accordingly, nonworking IAX2 URIs are removed from
    	  both the LICENSE file and the sample config.
    
    	  ASTERISK-29923 #close
    
    	  Change-Id: I257c54d4d812ed6b4bd4cbec2cd7ebe2b87b5bad
    
    2022-02-04 19:11 +0000 [3499aea882]  Naveen Albert <asterisk@phreaknet.org>
    
    	* documentation: Add since tag to xmldocs DTD
    
    	  Adds the since tag to the documentation DTD so
    	  that individual applications, functions, etc.
    	  can now specify when they were added to Asterisk.
    
    	  This tag is added at the individual application,
    	  function, etc. level as opposed to at the module
    	  level because modules can expand over time as new
    	  functionality is added, and granularity only
    	  to the module level would generally not be useful.
    
    	  This enables the ability to more easily determine
    	  when new functionality was added to Asterisk, down
    	  to minor version as opposed to just by major version.
    	  This makes it easier for users to write more portable
    	  dialplan if desired to not use functionality that may
    	  not be widely available yet.
    
    	  ASTERISK-29896 #close
    
    	  Change-Id: Ibbb35c702d8038bdc3fd0a944fbfa69384cc15d5
    
    2022-01-13 08:37 +0000 [63db7505f2]  Naveen Albert <asterisk@phreaknet.org>
    
    	* asterisk: Add macro for curl user agent.
    
    	  Currently, each module that uses libcurl duplicates the standard
    	  Asterisk curl user agent.
    
    	  This adds a global macro for the Asterisk user agent used for
    	  curl requests to eliminate this duplication.
    
    	  ASTERISK-29861 #close
    
    	  Change-Id: I9fc37935980384b4daf96ae54fa3c9adb962ed2d
    
    2021-12-16 13:41 +0000 [74742cdb5e]  Naveen Albert <asterisk@phreaknet.org>
    
    	* res_stir_shaken: refactor utility function
    
    	  Refactors temp file utility function into file.c.
    
    	  ASTERISK-29809 #close
    
    	  Change-Id: Ife478708c8f2b127239cb73c1755ef18c0bf431b
    
    2022-02-16 05:34 +0000 [2016b33139]  Naveen Albert <asterisk@phreaknet.org>
    
    	* app_voicemail: Emit warning if asking for nonexistent mailbox.
    
    	  Currently, if VoiceMailMain is called with a mailbox, if that
    	  mailbox doesn't exist, then the application silently falls back
    	  to prompting the user for the mailbox, as if no arguments were
    	  provided.
    
    	  However, if a specific mailbox is requested and it doesn't exist,
    	  then no warning at all is emitted.
    
    	  This fixes this behavior to now warn if a specifically
    	  requested mailbox could not be accessed, before falling back to
    	  prompting the user for the correct mailbox.
    
    	  ASTERISK-29920 #close
    
    	  Change-Id: Ib4093b88cd661a2cabc5d685777d4e2f0ebd20a4
    
    2022-02-07 16:31 +0000 [1cc1fb54e7]  Alexei Gradinari <alex2grad@gmail.com>
    
    	* res_pjsip_pubsub: fix Batched Notifications stop working
    
    	  If Subscription refresh occurred between when the batched notification
    	  was scheduled and the serialized notification was to be sent,
    	  then new schedule notification task would never be added.
    
    	  There are 2 threads:
    
    	  thread #1. ast_sip_subscription_notify is called,
    	  if notification_batch_interval then call schedule_notification.
    	  1.1. The schedule_notification checks notify_sched_id > -1
    	  not true, then
    	  send_scheduled_notify = 1
    	  notify_sched_id =
    	    ast_sched_add(sched, sub_tree->notification_batch_interval, sched_cb....
    	  1.2. The sched_cb pushes task serialized_send_notify to serializer
    	  and returns 0 which means no reschedule.
    	  1.3. The serialized_send_notify checks send_scheduled_notify if it's false
    	  the just returns. BUT notify_sched_id is still set, so no more ast_sched_add.
    
    	  thread #2. pubsub_on_rx_refresh is called
    	  2.1 it pushes serialized_pubsub_on_refresh_timeout to serializer
    	  2.2. The serialized_pubsub_on_refresh_timeout calls pubsub_on_refresh_timeout
    	  which calls send_notify
    	  2.3. The send_notify set send_scheduled_notify = 0;
    
    	  The serialized_send_notify should always unset notify_sched_id.
    
    	  ASTERISK-29904 #close
    
    	  Change-Id: Ifc50c00b213c396509e10326a1ed89d8cf8c7875
    
    2022-02-18 06:09 +0000 [26141981c5]  Naveen Albert <asterisk@phreaknet.org>
    
    	* func_db: Add validity check for key names when writing.
    
    	  Adds a simple sanity check for key names when users are
    	  writing data to AstDB. This captures four cases indicating
    	  malformed keynames that generally result in bad data going
    	  into the DB that the user didn't intend: an empty key name,
    	  a key name beginning or ending with a slash, and a key name
    	  containing two slashes in a row. Generally, this is the
    	  result of a variable being used in the key name being empty.
    
    	  If a malformed key name is detected, a warning is emitted
    	  to indicate the bug in the dialplan.
    
    	  ASTERISK-29925 #close
    
    	  Change-Id: Ifc08a9fe532a519b1b80caca1aafed7611d573bf
    
    2022-02-01 09:59 +0000 [e2423c6f49]  Alexei Gradinari <alex2grad@gmail.com>
    
    	* res_pjsip_pubsub: provide a display name for RLS subscriptions
    
    	  Whereas BLFs allow to show a display name for each RLS entry,
    	  the asterisk provides only the extension now.
    	  This is not end user friendly.
    
    	  This commit adds a new resource_list option, resource_display_name,
    	  to indicate whether display name of resource or the resource name being
    	  provided for RLS entries.
    	  If this option is enabled, the Display Name will be provided.
    	  This option is disabled by default to remain the previous behavior.
    	  If the 'event' set to 'presence' or 'dialog' the non-empty HINT name
    	  will be set as the Display Name.
    	  The 'message-summary' is not supported yet.
    
    	  ASTERISK-29891 #close
    
    	  Change-Id: Ic5306bd5a7c73d03f5477fe235e9b0f41c69c681
    
    2022-01-13 19:37 +0000 [4358c776b8]  Naveen Albert <asterisk@phreaknet.org>
    
    	* cli: Add core dump info to core show settings.
    
    	  Adds two pieces of information to the core show settings command
    	  which are useful in the context of getting backtraces.
    
    	  The first is to display whether or not Asterisk would generate
    	  a core dump if it were to crash.
    
    	  The second is to show the current running directory of Asterisk.
    
    	  ASTERISK-29866 #close
    
    	  Change-Id: Ic42c0a9ecc233381aad274d86c62808d1ebb4d83
    
    2022-02-04 19:46 +0000 [74e9b60bd0]  Naveen Albert <asterisk@phreaknet.org>
    
    	* documentation: Adds missing default attributes.
    
    	  The configObject tag contains a default attribute which
    	  allows the default value to be specified, if applicable.
    	  This allows for the default value to show up specially on
    	  the wiki in a way that is clear to users.
    
    	  There are a couple places in the tree where default values
    	  are included in the description as opposed to as attributes,
    	  which means these can't be parsed specially for the wiki.
    	  These are changed to use the attribute instead of being
    	  included in the text description.
    
    	  ASTERISK-29898 #close
    
    	  Change-Id: I9d7ea08f50075f41459ea7b76654906b674ec755
    
    2022-02-05 06:39 +0000 [da801e2438]  Naveen Albert <asterisk@phreaknet.org>
    
    	* app_mp3: Document and warn about HTTPS incompatibility.
    
    	  mpg123 doesn't support HTTPS, but the MP3Player application
    	  doesn't document this or warn the user about this. HTTPS
    	  streams have become more common nowadays and users could
    	  reasonably try to play them without being aware they should
    	  use the HTTP stream instead.
    
    	  This adds documentation to note this limitation. It also
    	  throws a warning if users try to use the HTTPS stream to
    	  tell them to use the HTTP stream instead.
    
    	  ASTERISK-29900 #close
    
    	  Change-Id: Ie3b029be5258c5a701f71ed3b1a7a80d1e03b827
    
    2022-01-22 16:52 +0000 [332eed3aa7]  Naveen Albert <asterisk@phreaknet.org>
    
    	* app_mf: Add max digits option to ReceiveMF.
    
    	  Adds an option to the ReceiveMF application to allow specifying a
    	  maximum number of digits.
    
    	  Originally, this capability was not added to ReceiveMF as it was
    	  with ReceiveSF because typically a ST digit is used to denote that
    	  sending of digits is complete. However, there are certain signaling
    	  protocols which simply transmit a digit (such as Expanded In-Band
    	  Signaling) and for these, it's necessary to be able to read a
    	  certain number of digits, as opposed to until receiving a ST digit.
    
    	  This capability is added as an option, as opposed to as a parameter,
    	  to remain compatible with existing usage (and not shift the
    	  parameters).
    
    	  ASTERISK-29877 #close
    
    	  Change-Id: I4229167c9aa69b87402c3c2a9065bd8dfa973a0b
    
    2022-02-02 19:18 +0000 [9e71f7fe37]  Mike Bradeen <mbradeen@sangoma.com>
    
    	* taskprocessor.c: Prevent crash on graceful shutdown
    
    	  When tps_shutdown is called as part of the cleanup process there is a
    	  chance that one of the taskprocessors that references the
    	  tps_singletons object is still running.  The change is to allow for
    	  tps_shutdown to check tps_singleton's container count and give the
    	  running taskprocessors a chance to finish.  If after
    	  AST_TASKPROCESSOR_SHUTDOWN_MAX_WAIT (10) seconds there are still
    	  container references we shutdown anyway as this is most likely a bug
    	  due to a taskprocessor not being unreferenced.
    
    	  ASTERISK-29365
    
    	  Change-Id: Ia932fc003d316389b9c4fd15ad6594458c9727f1
    
    2022-01-21 13:00 +0000 [fcdeb3e5b7]  Alexei Gradinari <alex2grad@gmail.com>
    
    	* app_queue: load queues and members from Realtime when needed
    
    	  There are a lot of Queue AMI actions and Queue applications
    	  which do not load queue and queue members from Realtime.
    
    	  AMI actions
    	  QueuePause - if queue not in memory - response "Interface not found".
    	  QueueStatus/QueueSummary - if queue not in memory - empty response.
    
    	  Applications:
    	  PauseQueueMember - if queue not in memory
    	  	Attempt to pause interface %s, not found
    	  UnpauseQueueMember - if queue not in memory
    	  	Attempt to unpause interface xxxxx, not found
    
    	  This patch adds a new function load_realtime_queues
    	  which loads queue and queue members for desired queue
    	  or all queues and all members if param 'queuename' is NULL or empty.
    	  Calls the function load_realtime_queues when needed.
    
    	  Also this patch fixes leak of ast_config in function set_member_value.
    
    	  Also this patch fixes incorrect LOG_WARNING when pausing/unpausing
    	  already paused/unpaused member.
    	  The function ast_update_realtime returns 0 when no record modified.
    	  So 0 is not an error to warn about.
    
    	  ASTERISK-29873 #close
    	  ASTERISK-18416 #close
    	  ASTERISK-27597 #close
    
    	  Change-Id: I554ee0eebde93bd8f49df7f84b74acb21edcb99c
    
    2022-01-21 07:52 +0000 [6659e502a4]  Mark Petersen <bugs.digium.com@zombie.dk>
    
    	* res_prometheus.c: missing module dependency
    
    	  added res_pjsip_outbound_registration to .requires in AST_MODULE_INFO
    	  which fixes issue with module crashes on load "FRACK!, Failed assertion"
    
    	  ASTERISK-29871
    
    	  Change-Id: Ia0f49d048427a40e1b763296b834a52a03610096
    
    2022-02-07 10:55 +0000 [acd6f30cc5]  Sean Bright <sean.bright@gmail.com>
    
    	* manager.c: Simplify AMI ModuleCheck handling
    
    	  This code was needlessly complex and would fail to properly delimit
    	  the response message if LOW_MEMORY was defined.
    
    	  Change-Id: Iae50bf09ef4bc34f9dc4b49435daa76f8b2c5b6e
    
    2022-02-03 15:48 +0000 [de0c29de55]  Sean Bright <sean.bright@gmail.com>
    
    	* res_pjsip.c: Correct minor typos in 'realm' documentation.
    
    	  Change-Id: I886936b808def5540d40071321e72f6bfa19063a
    
    2022-01-31 12:52 +0000 [118e034287]  Sean Bright <sean.bright@gmail.com>
    
    	* manager.c: Generate valid XML if attribute names have leading digits.
    
    	  The XML Manager Event Interface (amxml) now generates attribute names
    	  that are compliant with the XML 1.1 specification. Previously, an
    	  attribute name that started with a digit would be rendered as-is, even
    	  though attribute names must not begin with a digit. We now prefix
    	  attribute names that start with a digit with an underscore ('_') to
    	  prevent XML validation failures.
    
    	  This is not backwards compatible but my assumption is that compliant
    	  XML parsers would already have been complaining about this.
    
    	  ASTERISK-29886 #close
    
    	  Change-Id: Icfaa56a131a082d803e9b7db5093806d455a0523
    
    2022-02-03 12:25 +0000  Asterisk Development Team <asteriskteam@digium.com>
    
    	* asterisk 18.10.0-rc1 Released.
    
    2022-02-03 06:12 +0000 [aa6a50630f]  Asterisk Development Team <asteriskteam@digium.com>
    
    	* Update CHANGES and UPGRADE.txt for 18.10.0
    2022-02-01 10:09 +0000 [c51353e4db]  Sean Bright <sean.bright@gmail.com>
    
    	* build_tools/make_version: Fix bashism in comparison.
    
    	  In POSIX sh (which we indicate in the shebang), there is no ==
    	  operator.
    
    	  Change-Id: Ic03d38214d14cdf329b0ba272279a815bb532965
    
    2022-01-21 14:08 +0000 [0d53ce35f9]  George Joseph <gjoseph@digium.com>
    
    	* bundled_pjproject:  Add additional multipart search utils
    
    	  Added the following APIs:
    	  pjsip_multipart_find_part_by_header()
    	  pjsip_multipart_find_part_by_header_str()
    	  pjsip_multipart_find_part_by_cid_str()
    	  pjsip_multipart_find_part_by_cid_uri()
    
    	  Change-Id: I6aee3dcf59eb171f93aae0f0564ff907262ef40d
    
    2022-01-07 04:01 +0000 [95ee1d06d6]  Mark Petersen <bugs.digium.com@zombie.dk>
    
    	* chan_sip.c Fix pickup on channel that are in AST_STATE_DOWN
    
    	  resolve issue with pickup on device that uses "183" and not "180"
    
    	  ASTERISK-29832
    
    	  Change-Id: I4c7d223870f8ce9a7354e0f73d4e4cb2e8b58841
    
    2022-01-31 07:09 +0000 [2a34bb1e11]  George Joseph <gjoseph@digium.com>
    
    	* res_pjsip_outbound_authenticator_digest: Prevent ABRT on cleanup
    
    	  In dev mode, if you call pjsip_auth_clt_deinit() with an auth_sess
    	  that hasn't been initialized, it'll assert and abort.  If
    	  digest_create_request_with_auth() fails to find the proper
    	  auth object however, it jumps to its cleanup which does exactly
    	  that.  So now we no longer attempt to call pjsip_auth_clt_deinit()
    	  if we never actually initialized it.
    
    	  ASTERISK-29888
    
    	  Change-Id: Ib6171c25c9fe8e61cc8d11129e324c021bc30b62
    
    2022-01-26 07:56 +0000 [135e48deba]  George Joseph <gjoseph@digium.com>
    
    	* build: Add "basebranch" to .gitreview
    
    	  If you have a development branch for a major project that
    	  will receive gerrit reviews it'll probably be named something
    	  like "development/16/newproject".  That will necessitate setting
    	  "defaultbranch=development/16/newproject" in .gitreview.  The
    	  make_version script uses that variable to construct the asterisk
    	  version however, which results in versions like
    	  "GIT-development/16/newproject-ee582a8c7b" which is probably not
    	  what you want.  Worse, since the download_externals script uses
    	  make_version to construct the URL to download the binary codecs
    	  or DPMA.  Since it's expecting a simple numeric version, the
    	  downloads will fail.
    
    	  To get this to work, a new variable "basebranch" has been added
    	  to .gitreview and make_version has been updated to use that instead
    	  of defaultversion:
    
    	  .gitreview:
    	  defaultbranch=development/16/myproject
    	  basebranch=16
    
    	  Now git-review will send the reviews to the proper branch
    	  (development/16/myproject) but the version will still be
    	  constructed using the simple branch number (16).
    
    	  If "basebranch" is missing from .gitreview, make_version will
    	  fall back to using "defaultbranch".
    
    	  Change-Id: I2941a3b21e668febeb6cfbc1a7bb51a67726fcc4
    
    2021-12-15 12:36 +0000 [6fc8453e96]  Naveen Albert <asterisk@phreaknet.org>
    
    	* cdr: allow disabling CDR by default on new channels
    
    	  Adds a new option, defaultenabled, to the CDR core to
    	  control whether or not CDR is enabled on a newly created
    	  channel. This allows CDR to be disabled by default on
    	  new channels and require the user to explicitly enable
    	  CDR if desired. Existing behavior remains unchanged.
    
    	  ASTERISK-29808 #close
    
    	  Change-Id: Ibb78c11974bda229bbb7004b64761980e0b2c6d1
    
    2022-01-11 13:19 +0000 [a4b01ececb]  Naveen Albert <asterisk@phreaknet.org>
    
    	* res_tonedetect: Fixes some logic issues and typos
    
    	  Fixes some minor logic issues with the module:
    
    	  Previously, the OPT_END_FILTER flag was getting
    	  tested before options were parsed, so it could
    	  never evaluate to true (wrong ordering).
    
    	  Additionally, the initially parsed timeout (float)
    	  needs to be compared with 0, not the result int
    	  which is set afterwards (wrong variable).
    
    	  ASTERISK-29857 #close
    
    	  Change-Id: I0062bce3b391c15e5df7a714780eeaa96dd93d4c
    
    2022-01-11 12:33 +0000 [5df5a70d37]  Naveen Albert <asterisk@phreaknet.org>
    
    	* func_frame_drop: Fix typo referencing wrong buffer
    
    	  In order to get around the issue of certain frames
    	  having names that could overlap, func_frame_drop
    	  surrounds names with commas for the purposes of
    	  comparison.
    
    	  The buffer is allocated and printed to properly,
    	  but the original buffer is used for comparison.
    	  In most cases, this wouldn't have had any effect,
    	  but that was not the intention behind the buffer.
    	  This updates the code to reference the modified
    	  buffer instead.
    
    	  ASTERISK-29854 #close
    
    	  Change-Id: I430b52e14e712d0e62a23aa3b5644fe958b684a7
    
    2022-01-20 06:56 +0000 [9c9083b45a]  Torrey Searle <tsearle@voxbone.com>
    
    	* res/res_rtp_asterisk: fix skip in rtp sequence numbers after dtmf
    
    	  When generating dtmfs, asterisk can incorrectly think packet loss
    	  occured during the dtmf generation, resulting in a jump in sequence
    	  numbers when forwarding voice frames resumes.  This patch forces
    	  asterisk to re-learn the expected sequence number after each DTMF
    	  to avoid this
    
    	  ASTERISK-29869 #close
    
    	  Change-Id: Icc7de3d947b207b82c99d3c327af8095884df853
    
    2022-01-13 16:31 +0000 [98f86697cc]  Kevin Harwell <kharwell@sangoma.com>
    
    	* res_http_websocket: Add a client connection timeout
    
    	  Previously there was no way to specify a connection timeout when
    	  attempting to connect a websocket client to a server. This patch
    	  makes it possible to now do such.
    
    	  Change-Id: I5812f6f28d3d13adbc246517f87af177fa20ee9d
    
    2022-01-21 10:34 +0000 [5b47b7a37e]  Sean Bright <sean.bright@gmail.com>
    
    	* build: Rebuild configure and autoconfig.h.in
    
    	  autoconfigh.h.in was missed in the original review for this
    	  issue. Additionally it looks like I have newer pkg-config autoconf
    	  macros on my development machine.
    
    	  ASTERISK-29817
    
    	  Change-Id: I3c85a4de82c5d7d6e0e23dad4c33bb650a86a57b
    
    2021-12-08 15:14 +0000 [ac8988c9a3]  Mike Bradeen <mbradeen@sangoma.com>
    
    	* sched: fix and test a double deref on delete of an executing call back
    
    	  sched: Avoid a double deref when AST_SCHED_DEL_UNREF is called on an
    	  executing call-back. This is done by adding a new variable 'rescheduled'
    	  to the struct sched which is set in ast_sched_runq and checked in
    	  ast_sched_del_nonrunning. ast_sched_del_nonrunning is a replacement for
    	  now deprecated ast_sched_del which returns a new possible value -2
    	  if called on an executing call-back with rescheduled set. ast_sched_del
    	  is modified to call ast_sched_del_nonrunning to maintain existing code.
    	  AST_SCHED_DEL_UNREF is also updated to look for the -2 in which case it
    	  will not throw a warning or invoke refcall.
    	  test_sched: Add a new unit test sched_test_freebird that will check the
    	  reference count in the resolved scenario.
    
    	  ASTERISK-29698
    
    	  Change-Id: Icfb16b3acbc29cf5b4cef74183f7531caaefe21d
    
    2022-01-19 16:33 +0000 [6e8bbe4b3a]  Luke Escude <luke@primevox.net>
    
    	* res_pjsip_sdp_rtp.c: Support keepalive for video streams.
    
    	  ASTERISK-28890 #close
    
    	  Change-Id: Iad269a8dc36f892ede90fe8ceb3010560c0f70d1
    
    2022-01-04 03:11 +0000 [c8d89e7e1b]  Mark Petersen <bugs.digium.com@zombie.dk>
    
    	* app_queue.c: Queue don't play "thank-you" when here is no hold time announcements
    
    	  if holdtime is (0 min, 0 sec) there is no hold time announcements
    	  we should then also not playing queue-thankyou
    
    	  ASTERISK-29831
    
    	  Change-Id: Ic7e51dcde526b23f1cd8d24e1d1e2d81e10f9d2c
    
    2021-11-10 22:24 +0000 [d68d90c5be]  Michał Górny <mgorny@NetBSD.org>
    
    	* main: Enable rdtsc support on NetBSD
    
    	  Enable the Linux rdtsc implementation on NetBSD as well.  The assembly
    	  works correctly there.
    
    	  ASTERISK-29851
    
    	  Change-Id: I460ad9b4d971913420ecb84186f5ba5ab03f6f37
    
    2021-11-10 21:40 +0000 [90d02cf0a3]  Michał Górny <mgorny@NetBSD.org>
    
    	* build_tools/make_version: Fix sed(1) syntax compatibility with NetBSD
    
    	  Fix the sed(1) invocation used to process git-svn-id not to use "\s"
    	  that is a GNU-ism and is not supported by NetBSD sed.  As a result,
    	  this call did not work properly and make_version did output the full
    	  git-svn-id line rather than the revision.
    
    	  ASTERISK-29852
    
    	  Change-Id: Ie4b406e2748920643446851a0a252a4ca7245772
    
    2021-11-10 22:29 +0000 [c8ef232d76]  Michał Górny <mgorny@NetBSD.org>