- Apr 26, 2022
-
-
Joshua C. Colp authored
The async_operations setting on a transport configures how many simultaneous incoming packets the transport can handle when multiple threads are polling and waiting on the transport. As we only use a single thread this was needlessly creating incoming packets when set to a non-default value, wasting memory. ASTERISK-30006 Change-Id: I1915973ef352862dc2852a6ba4cfce2ed536e68f
-
- Apr 25, 2022
-
-
Sean Bright authored
ASTERISK-30021 #close Change-Id: I70eb59b782a4946b979942e21422746b7563029c
-
Joshua C. Colp authored
ASTERISK-30023 Change-Id: I0e1697f6af044e9eab7e07bbaeeffd1bb68ac34a
-
Joshua C. Colp authored
Chrome has added more attributes, causing the limit to be exceeded. This raises it up some more. ASTERISK-30015 Change-Id: I964957c005c4e6f7871b15ea1ccd9b4659c7ef32
-
- Apr 14, 2022
-
-
Ben Ford authored
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
-
Ben Ford authored
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
-
Joshua C. Colp authored
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
-
- Apr 08, 2022
-
-
Naveen Albert authored
The ReceiveMF and ReceiveSF applications currently always return 0, even if a channel has hung up. The call will still end but generally applications are expected to return -1 if the channel has hung up. We now return -1 if a hangup occured to bring this behavior in line with this norm. This has no functional impact, but merely increases conformity with how these modules interact with the PBX core. ASTERISK-29951 #close Change-Id: I234d755050ab8ed58f197c6925b968ba26b14033
-
Naveen Albert authored
Adds the m option to the Queue application, which allows a music on hold class to be specified at runtime which will override the class configured in queues.conf. This option functions like the m option to Dial. ASTERISK-29876 #close Change-Id: Ie25a48569cf8755c305c9438b1ed292c3adcf8d7
-
Naveen Albert authored
Currently, if a user tries to access a non-dynamic MeetMe conference and the conference is not found, the call simply silent hangs up. There is no indication to the user that anything went wrong at all. This changes the relevant debug message to a warning so that the user is notified of this invalidity. ASTERISK-29954 #close Change-Id: Iebcfae3755d00f2150d676ee211c57bc59530048
-
- Mar 30, 2022
-
-
Naveen Albert authored
Removes some leftover build and config references to modules that have since been removed from Asterisk. ASTERISK-29935 #close Change-Id: Iaefc73a23f4b2de3c6c14d928050135b6d0ef6af
-
Kevin Harwell authored
When adding headers to an outgoing request the headers were cloned using the dialog's pool when they should have been cloned using tdata's pool. Under certain circumstances it was possible for the dialog object, and its pool to be freed while tdata is still active and available. Thus the cloned header "disappeared", and when tdata tried to later access it a crash would occur. This patch makes it so all added headers are cloned appropriately using tdata's pool. ASTERISK-29411 #close ASTERISK-29535 #close Change-Id: I9852025b5ee93ce1c038209150ee9dba1e0767c5
-
Kevin Harwell authored
Several modules removal and deprecations occurred in 19.0.0 (initial 19 release), but associated UPGRADE files were not removed from staging for some reason in the master branch. This patch removes those files, and also removes a spurious leftover header, chan_phone.h (associated module removed in 19). Change-Id: Ib92142c846b45c882d6b2b6caca7225253c83add
-
Joshua C. Colp authored
This change removes patches which have been merged into upstream and updates some existing ones. It also adds some additional config_site.h changes to restore previous behavior, as well as a patch to allow multiple Authorization headers. There seems to be some confusion or disagreement on language in RFC 8760 in regards to whether multiple Authorization headers are supported. The RFC implies it is allowed, as does some past sipcore discussion. There is also the catch all of "local policy" to allow it. In the case of Asterisk we allow it. ASTERISK-29351 Change-Id: Id39ece02dedb7b9f739e0e37ea47d76854af7191
-
- Mar 29, 2022
-
-
Naveen Albert authored
The PBX core uses the stack when it comes to includes, which means that a context can only contain strictly fewer than AST_PBX_MAX_STACK includes. If this is exceeded, then warnings will be emitted for each number of includes beyond this if searching for an extension in the including context, and if the extension's inclusion is beyond the stack size, it will simply not be found. To address this, we now check if there are too many includes in a context when the dialplan is reloaded so that if there is an issue, the user is aware of at "compile time" as opposed to "run time" only. Secondly, more details are printed out when this message is encountered so it's clear what has happened. ASTERISK-26719 Change-Id: Ia3700452e75a7af3391b3e82ee69f06a669f8958
-
George Joseph authored
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
-
George Joseph authored
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
-
- Mar 28, 2022
-
-
Naveen Albert authored
The iax2 show netstats command previously didn't contain enough spacing in the header to properly align the table header with the table body. This caused column headers to not align with the values on longer channel names. Some spacing is added to account for the longest channel names that display (before truncation occurs) so that columns are always properly aligned. ASTERISK-29895 #close patches: 61205_misaligned2.patch submitted by Birger Harzenetter (license 5870) Change-Id: I450ce6bb81157b9d6d149007e53b749f237b6d9f
-
Sean Bright authored
There is work going on to update our OpenSSL usage to avoid the deprecated functions but in the meantime make it possible to compile in devmode. Change-Id: Ib082eb8b3751f0185d8aa8fe127da664c93f0726
-
Marcel Wagner authored
Adding information in the readme about running the install_preqreq script to install components that the ./configure script might indicate as missing. ASTERISK-29976 #close Change-Id: Ic287b46300168729838bddd8f9265e98fc22bce6
-
- Mar 25, 2022
-
-
Naveen Albert authored
ASTERISK_22025 introduced a regression that shows the host IP and port as the perceived IP and port again, as opposed to showing the actual perceived address. This fixes this by showing the correct information. ASTERISK-29048 #close Change-Id: I0ad3e25bc6b449e83ce72ea5d1a1cdba72aa304a
-
Boris P. Korzun authored
Change RTP timer behavior for detecting RTP only after two-way SDP channel establishment. Ignore detecting after receiving 183 with SDP or while direct media is used. Make rtp_timeout and rtp_timeout_hold options consistent to rtptimeout and rtpholdtimeout options in chan_sip. ASTERISK-26689 #close ASTERISK-29929 #close Change-Id: I07326d5b9c40f25db717fd6075f6f3a8d77279eb
-
Hugh McMaster authored
Use pkg-config to detect libxml2, falling back to xml2-config if the former is not available. This patch ensures Asterisk continues to build on systems without xml2-config installed. The patch also updates the associated 'configure' files. ASTERISK-29970 #close Change-Id: I3c90dfe0b0590486cbb8e6d426a7c5c4199410c0
-
- Mar 24, 2022
-
-
Philip Prindeville authored
Treat time_t's as entirely unique and use the POSIX API's for converting to/from strings. Lastly, a 64-bit integer formats as 20 digits at most in base10. Don't need to have any 100 byte buffers to hold that. ASTERISK-29674 #close Signed-off-by:
Philip Prindeville <philipp@redfish-solutions.com> Change-Id: Id7b25bdca8f92e34229f6454f6c3e500f2cd6f56
-
- Mar 23, 2022
-
-
Alexei Gradinari authored
When asterisk generates the RLMI part of NOTIFY request, the asterisk uses the local contact uri instead of the URI to which the SUBSCRIBE request is sent. Because of this mismatch some IP phones (for example Cisco 5XX) ignore this list. According https://datatracker.ietf.org/doc/html/rfc4662#section-5.2 The first mandatory <list> attribute is "uri", which contains the uri that corresponds to the list. Typically, this is the URI to which the SUBSCRIBE request was sent. https://datatracker.ietf.org/doc/html/rfc4662#section-5.3 The "uri" attribute identifies the resource to which the <resource> element corresponds. Typically, this will be a SIP URI that, if subscribed to, would return the state of the resource. This patch makes asterisk to generate URI using SUBSCRIBE request URI. ASTERISK-29961 #close Change-Id: I1fcfc08fd589677f40608c59a4e143c45ee05f6c
-
Naveen Albert authored
Adds documentation for all of the possible return values for the DIALSTATUS variable in the Dial application. ASTERISK-25716 Change-Id: Id22593f1f1f7ea86e5734cee49516ec50848e8c0
-
Sean Bright authored
Using the length of a file found on the filesystem rather than the file being requested could result in filenames whose names are substrings of another to be erroneously matched. We now ensure a complete comparison before returning a positive result. ASTERISK-29960 #close Change-Id: Id3ffc77681b9b75b8569062f3d952a128a21c71a
-
Sean Bright authored
ASTERISK-29980 #close Change-Id: I7b347665822ea2774dd322276c09be67914d2065
-
Sean Bright authored
Passing 0 as the last argument to strtoimax() or strtoumax() causes octal and hexadecimal to be accepted which was not originally intended. So we now force to only accept decimal. ASTERISK-29950 #close Change-Id: I93baf0f273441e8280354630a463df263a8c0edd
-
Philip Prindeville authored
MUSL defines BUFSIZ as 1024 which is not reasonable for log messages. More broadly, BUFSIZ is the amount of buffering stdio.h does, which is arbitrary and largely orthogonal to what logging should accept as the maximum message size. ASTERISK-29928 Signed-off-by:
Philip Prindeville <philipp@redfish-solutions.com> Change-Id: Iaa49fbbab029c64ae3d95e4b18270e0442cce170
-
Naveen Albert authored
BackGround and WaitExten both accept options that are not currently documented. This adds documentation for these options to the xml documentation for each application. ASTERISK-29967 #close Change-Id: If812a9f1ccbba3e4d427a0e7a6dea923c2f905f7
-
- Mar 15, 2022
-
-
Alexei Gradinari authored
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
-
- Mar 14, 2022
-
-
Naveen Albert authored
The XML documentation for the SET MUSIC AGI command is invalid, as the parameter does not have a name and the on/off enum options for the on/off argument are listed separately, which is incorrect. The cumulative effect of these currently is that the Asterisk Wiki documentation for SET MUSIC is broken and external documentation generators crash on SET MUSIC due to the malformed documentation. These issues are corrected so that the documentation can be successfully parsed as with other similar AGI commands. ASTERISK-29939 #close ASTERISK-28891 #close Change-Id: I8c3d59897531bcbc401cbc7b00c9e2829dcb35f8
-
Boris P. Korzun authored
Omit "unsupported column type 'text'" warning in logs while using text-type column in the PgSQL backend. ASTERISK-29924 #close Change-Id: I48061a7d469426859670db07f1ed8af1eb814712
-
- Mar 11, 2022
-
-
Kfir Itzhak authored
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
-
- Mar 07, 2022
-
-
Naveen Albert authored
ASTERISK_29853 added the ability to selectively disable AMI events on a global basis, but the logic for this uses strstr which means that events with names which are the prefix of another event, if disabled, could disable those events as well. Instead, we account for this possibility to prevent this undesired behavior from occuring. ASTERISK_29853 Change-Id: Icccd1872602889806740971e4adf932f92466959
-
- Mar 03, 2022
-
-
George Joseph authored
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
-
- Mar 01, 2022
-
-
George Joseph authored
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
-
- Feb 28, 2022
-
-
George Joseph authored
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
-
George Joseph authored
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
-