- Jan 12, 2022
-
-
Sean Bright authored
A regression was introduced in ASTERISK~29531 that caused 'say' functions to fail with file lists that would previously have succeeded. This caused affected channels to hang up where previously they would have continued. We now explicitly check for the empty string to restore the previous behavior. ASTERISK-29859 #close Change-Id: Ia2e5769868e2792313c2d7c07996efe009c6f8d5
-
Naveen Albert authored
Every config variable in the directories section of asterisk.conf currently has a counterpart built-in variable containing the value of the config option, except for the last one, astsbindir, which should have an ASTSBINDIR variable. However, the actual corresponding ASTSBINDIR variable is missing in pbx_variables.c. This adds the missing variable so that all the config options have their corresponding variable. ASTERISK-29847 #close Change-Id: I36006faf471825b36ebc8aa5e87a3bcb38d446fc
-
- Jan 11, 2022
-
-
Naveen Albert authored
Documentation for built-in special system and channel vars is currently outdated, and updating is a manual process since there is no XML documentation for these anywhere. This adds documentation for system vars to func_env and for channel vars to func_channel so that they appear along with the corresponding fields that would be accessed using a function. ASTERISK-29848 #close Change-Id: I6997f925c4a45fffe71321861f5898a8b7182fa9
-
- Jan 07, 2022
-
-
George Joseph authored
There are times when you need to troubleshoot issues with bundled pjproject or add new features that need to be pushed upstream but... * The source directory created by extracting the pjproject tarball is not scanned for code changes so you have to keep forcing rebuilds. * The source directory isn't a git repo so you can't easily create patches, do git bisects, etc. * Accidentally doing a make distclean will ruin your day by wiping out the source directory, and your changes. * etc. This commit makes that easier. See third-party/pjproject/README-hacking.md for the details. ASTERISK-29824 Change-Id: Idb1251040affdab31d27cd272dda68676da9b268
-
- Jan 06, 2022
-
-
Sean Bright authored
gethostbyname() and gethostbyname_r() are deprecated in favor of getaddrinfo() which we use in the ast_sockaddr family of functions. ASTERISK-29819 #close Change-Id: Ie277c0ef768d753b169c121ef570a71665692ab7
-
Naveen Albert authored
Fixes 12pm noon incorrectly returning 0/a.m. Also fixes a misspelling typo in the config. ASTERISK-29695 #close Change-Id: Ie40f9618636eb4c483b449bd707a5dcffca5c406
-
- Jan 05, 2022
-
-
Sean Bright authored
ASTERISK-29664 #close Change-Id: I29dcde52e9faeaf2609c604eada61c6a9e49d8f5
-
Mark Petersen authored
adding support for playing the correct en/et for nordic languages by adding 'n' for neuter gender in the relevant ast_say_number ASTERISK-29827 Change-Id: I03ebc827d2f0dc95132ab2f42799893c70edc5b1
-
Naveen Albert authored
Adds the macro DTMF_MATRIX_SIZE to replace the magic number 4 sprinkled throughout dsp.c. ASTERISK-29815 #close Change-Id: Ie3bddb92c6b16204ece0f758009e9490eb33b9ba
-
Naveen Albert authored
Adds an AMI event for a wink frame. ASTERISK-29830 #close Change-Id: I83e426de5e37baed79a4dbcc91e9e8d030ef1b56
-
Naveen Albert authored
Adds a command to the CLI to unload and then load a module. This makes it easier to perform these operations which are often done subsequently to load a new version of a module. "module reload" already refers to reloading of configuration, so the name "refresh" is chosen instead. ASTERISK-29807 #close Change-Id: I595f6f11774a0de2565a1fba38da22309ce93a2c
-
Naveen Albert authored
Currently, the MP3Player application doesn't emit a warning if attempting to play a stream which no longer exists. This can be a common scenario as many mp3 streams are valid at some point but can disappear at any time. Now a warning is thrown if attempting to play a nonexistent MP3 stream, instead of silently exiting. ASTERISK-29829 #close Change-Id: I53a0bf1ed1740166655eb66fe7675f6f808bf535
-
Naveen Albert authored
Adds missing documentation for some channel, bridge, and queue events. ASTERISK-24427 ASTERISK-29515 Change-Id: I92b06b88c8cadc0155f95ebe3e870b3e795a8c64
-
Kevin Harwell authored
The current TCP client connect code, blocks and does not handle EINTR error case. This patch makes the client socket non-blocking while connecting, ensures a connect does not immediately fail due to EINTR "errors", and adds a connect timeout option. The original client start call sets the new timeout option to "infinite", thus making sure old, orginal behavior is retained. ASTERISK-29746 #close Change-Id: I907571843a83e43c0742b95a64785f4411f02671
-
Naveen Albert authored
Adds tech-agnostic support for SF signaling by adding SF sender and receiver applications as well as Dial integration. ASTERISK-29802 #close Change-Id: I7ec50752e9a661af639425e5d1e339f17411bcad
-
Steve Davies authored
A previous patch for ASTERISK_29578 caused a 'leak' of extension state information across queues, causing the state of the first member of unrelated queues to be updated in addition to the correct member. Which queues and members depended on the order of queues in the iterator. Additionally, it is possible to use the same 'hint:' on multiple queue members, so the update cannot break out of the update loop early when a match is found. ASTERISK-29806 #close Change-Id: If2c1d1cc2a752afd9286d79710fc818596e7a7ad
-
Sean Bright authored
SayAlpha, SayAlphaCase, SayDigits, SayMoney, SayNumber, SayOrdinal, and SayPhonetic all claim to allow DTMF interruption if the SAY_DTMF_INTERRUPT channel variable is set to a truthy value, but we are failing to break out of a given 'say' application if DTMF actually occurs. ASTERISK-29816 #close Change-Id: I6a96e0130560831d2cb45164919862b9bcb6287e
-
Florentin Mayer authored
The ast_rtp_codecs_payloads functions do not preserve the order in which the payloads were specified on an incoming SDP media line. This leads to a problem with the codec negotiation functionality, as the format capabilities of the stream are extracted from the ast_rtp_codecs. This commit moves the ast_rtp_codec to ast_format conversion to the place where the order is still known. ASTERISK-28863 ASTERISK-29320 Change-Id: I3aabcfed3f379c36654f59c1872c313d0cb57e25
-
Joshua C. Colp authored
It's not safe to keep the channel locked while locking the peer Local channel, as it can result in a deadlock. This change unlocks it during this time but keeps the bridge locked to ensure nothing changes about the bridge. ASTERISK-29821 Change-Id: Ib68eb7037e5a479bcc2aceee77337cdde1fbdde6
-
- Jan 04, 2022
-
-
Josh Soref authored
When test_timezone_watch runs very near a DST transition, two time zones that would otherwise be expected to report the same time can differ because of the DST transition. Instead of having the test fail when this happens, report the times, time zones, and dst flags. ASTERISK-29722 Change-Id: Id59bdac8b277e14343ccdf0c99b89e92f79f316a
-
- Dec 22, 2021
-
-
George Joseph authored
Adding upstream patch for pull request... https://github.com/pjsip/pjproject/pull/2920 --------------------------------------------------------------- sip_inv: Additional multipart support (#2919) sip_inv.c:inv_check_sdp_in_incoming_msg() deals with multipart message bodies in rdata correctly. In the case where early media is involved though, the existing sdp has to be retrieved from the last tdata sent in this transaction. This, however, always assumes that the sdp sent is in a non-multipart body. While there's a function to retrieve the sdp from multipart and non-multpart rdata bodies, no similar function for tdata exists. So... * The existing pjsip_rdata_get_sdp_info2 was refactored to find the sdp in any body, multipart or non-multipart, and from either an rdata or tdata. The new function is pjsip_get_sdp_info. This new function detects whether the pjsip_msg->body->data is the text representation of the sdp from an rdata or an existing pjmedia_sdp_session object from a tdata, or whether pjsip_msg->body is a multipart body containing either of the two sdp formats. * The exsting pjsip_rdata_get_sdp_info and pjsip_rdata_get_sdp_info2 functions are now wrappers that get the body and Content-Type header from the rdata and call pjsip_get_sdp_info. * Two new wrappers named pjsip_tdata_get_sdp_info and pjsip_tdata_get_sdp_info2 have been created that get the body from the tdata and call pjsip_get_sdp_info. * inv_offer_answer_test.c was updated to test multipart scenarios. ASTERISK-29804 Change-Id: I483c7c3d413280c9e247a96ad581278347f9c71b
-
- Dec 15, 2021
-
-
Frederic Van Espen authored
When OUTPUTDIR is set to another directory and the --delete-results-after is set, the resulting txt files are not deleted. ASTERISK-29794 #close Change-Id: I1c0071f6809a1e3f5cfc455d6eb08378bc0d7286
-
Naveen Albert authored
The variable cp4 in a variable substitution function can potentially be used without being initialized currently. This causes Asterisk to no longer compile. This initializes cp4 to NULL to make the compiler happy. ASTERISK-29803 #close Change-Id: I392579cbb76db2795d5820c9427cf55fbcee9e72
-
Mark Petersen authored
added that we set DIALEDPEERNUMBER on the outgoing channels so it is avalible in b(content^extension^line) this add the same behaviour as Dial ASTERISK-29795 Change-Id: Icbc589ea2066f0c401a892bf478f6b2fd44e62f6
-
Kevin Harwell authored
Previously, it was only possible to have one HTTP server in Asterisk. With this patch it is now possible to have multiple HTTP servers listening on different addresses. Note, this behavior has only been made available through an API call from within the TEST_FRAMEWORK. Specifically, this feature has been added in order to allow unit test to create/start and stop servers, if one has not been enabled through configuration. Change-Id: Ic5fb5f11e62c019a1c51310f4667b32a4dae52f5
-
Naveen Albert authored
Currently, Asterisk doesn't throw warnings if options are passed into applications that don't accept them. This can confuse users if they're unaware that they are doing something wrong. This adds an additional check to parse_options so that a warning is thrown anytime an option is parsed that doesn't exist in the parsing application, so that users are notified of the invalid usage. ASTERISK-29801 #close Change-Id: Id029274a57135caca193c913307a63fd75e24679
-
- Dec 14, 2021
-
-
Mark Petersen authored
added support for playing the correct plural sound file dependen on where you have 1 or multipe messages based on the existing SE/NO code ASTERISK-29797 Change-Id: I88aa814d02f3772bb80b474204b1ffb26fe438c2
-
Naveen Albert authored
The enum values for ast_strsep_flags includes AST_STRSEP_STRIP. However, some comments reference AST_SEP_STRIP, which doesn't exist. This fixes these comments to use the correct value. ASTERISK-29800 #close Change-Id: If7bbd0c0e6226a211d25ddf9d1629347e2674943
-
- Dec 13, 2021
-
-
Naveen Albert authored
Includes some minor updates to extensions.conf and iax.conf. In particular, the demonstration of macros in extensions.conf is removed, as Macro is deprecated and will be removed soon. These examples have been replaced with examples demonstrating the usage of Gosub instead. The older exten => ...,n syntax is also mostly replaced with the same keyword to demonstrate the newer, more concise way of defining extensions. IAXTEL no longer exists, so this example is replaced with something more generic. Some documentation is also added to extensions.conf and iax.conf to clarify some of the new expanded encryption capabilities with IAX2. ASTERISK-29758 #close Change-Id: I04fba9671aa1ee9ba1bd5027061f80bbe38e7b46
-
Naveen Albert authored
Adds a ReceiveText application that can be used in conjunction with SendText. Currently, there is no way in Asterisk to receive text in the dialplan (or anywhere else, really). This allows for Asterisk to be the recipient of text instead of just the sender. ASTERISK-29759 #close Change-Id: Ica2c354a42bff69f323a0493d3a7cd0fb129d52d
-
Naveen Albert authored
Currently MSet can only parse a maximum of 24 variables. If more variables are provided to MSet, the 24th variable will simply contain the remainder of the string and the remaining variables thereafter will never get set. This increases the number of variables that can be parsed in one go from 24 to 99. Additionally, documentation is added since this limitation is currently undocumented and is confusing to users who encounter this limitation. ASTERISK-29766 #close Change-Id: I3fe35b462dedec0a452fd9ea7f92c920a3939f16
-
Naveen Albert authored
Attempting to access ${CHANNEL(ruri)} in a pre-dial handler before initiating an outgoing call will cause Asterisk to crash. This is because a null field is accessed, resulting in an offset from null and subsequent memory access violation. Since RURI is not guaranteed to exist, we now check if the base pointer is non-null before calculating an offset. ASTERISK-29772 Change-Id: Icd3b02f07256bbe6615854af5717074087b95a83
-
Naveen Albert authored
Adds the JSON_DECODE function for parsing JSON in the dialplan. JSON parsing already exists in the Asterisk core and is used for many different things. This function exposes the basic parsing capability to the user in the dialplan, for instance, in conjunction with CURL for using API responses. ASTERISK-29706 #close Change-Id: Iea60c49a7358dfdc2db60803cdc9a742f808ba2c
-
Sean Bright authored
Change-Id: I22a788ebf11168fff7fbf9ea956ebcd705ab63dd
-
Naveen Albert authored
Currently, variable substitution involving dialplan extensions is quite clunky since it entails obtaining the current dialplan location, backing it up, storing the desired variables for substitution on the channel, performing substitution, then restoring the original location. In addition to being clunky, things could also go wrong if an async goto were to occur and change the dialplan location during a substitution. Fundamentally, there's no reason it needs to be done this way, so new API is added to allow for directly passing in the dialplan location for the purposes of variable substitution so we don't need to mess with the channel information anymore. Existing API is not changed. ASTERISK-29745 #close Change-Id: I23273bf27fa0efb64a606eebf9aa8e2f41a065e4
-
Naveen Albert authored
Adds tech-agnostic support for MF signaling by adding MF sender and receiver applications as well as Dial integration. ASTERISK-29496-mf #do-not-close Change-Id: I61962b359b8ec4cfd05df877ddf9f5b8f71927a4
-
Alexander Traud authored
Otherwise, the value 'false' was not found in the enumerated set of the XML DTD for the XML attribute 'required' in the XML element 'parameter'. Therefore, DTD validation of the runtime XML failed. ASTERISK-29790 Change-Id: Id13f230ad65a70dd8c2e3ae9ac85d1e841aed03e
-
Alexander Traud authored
Change-Id: I5b5cf9c9cbbe00ba8b379a8d162ac67445d39016
-
Alexander Traud authored
ASTERISK-29791 Change-Id: I7c656498427fcadd0a5d61a54ff67e6036609725
-
- Dec 08, 2021
-
-
Alexander Traud authored
In developer mode, use internal documentation as well. This should produce no warnings. Fix yours! In noisy mode, output all possible warnings of Doxygen. This creates zillion of warnings. Double-check your current module! Any warnings are in the file './doxygen.log'. Beside that, this change avoids deprecated parameters because the configuration file for Doxygen contains only those parameters which differ from the default. This avoids the need to update the file on each run. Furthermore, it adds AST_VECTOR to be expanded. Finally, the default name for that file is Doxyfile. Therefore, let us use that! ASTERISK-26991 ASTERISK-20259 Change-Id: I4129092a199d5e24c319a09cd088614b121015af
-