Skip to content
Snippets Groups Projects
ChangeLog 3.86 MiB
Newer Older
2022-04-14 21:00 +0000  Asterisk Development Team <asteriskteam@digium.com>

	* asterisk 18.11.2 Released.

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.

95 96 97 98 99 100 101 102 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>

	* main/utils: Implement ast_get_tid() for NetBSD

	  Implement the ast_get_tid() function for NetBSD system.  NetBSD supports
	  getting the TID via _lwp_self().

	  ASTERISK-29850