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
* Updated .gitreview default branch to certified/18.9
* Updated .version to certified/18.9
* Set all extended support modules to be disabled by default
* fixed MODULEINFO order introduced by default script on wiki
Change-Id: Id12804325c31b1112b6c559fa97c8a6401c051b3
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
(cherry picked from commit 3fd47840c9)
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
(cherry picked from commit 4fe94bab09)
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
(cherry picked from commit d83a46869e)
Since Doxygen 1.8.16, a special comment block is required. Otherwise
(pure C comment), the group command is ignored. Additionally, several
unbalanced group commands were fixed.
ASTERISK-29732
Change-Id: I4687857b9d56e6f44fd440b73af156691660202e
Most examples in the XML documentation use the
example tag to demonstrate examples, which gets
parsed specially in the Wiki to make it easier
to follow for users.
This fixes a few modules to use the example
tag instead of vanilla para tags to bring them
in line with the standard syntax.
ASTERISK-29777 #close
Change-Id: I9acb6cc5faf1d220e73c6dd28592371d768d279b
A backend's implementation of the realtime 'require' function may call
va_arg() and then fail, leaving the va_list in an undefined
state. Pass a copy of the va_list instead.
ASTERISK-29771 #close
Change-Id: I555565a72af84e96d49f62fe8cb66ba5a78461f4
Refactors generic functions used for email generation
into utils.c so that they can be used by multiple
modules, including app_voicemail and app_minivm,
to avoid code duplication.
ASTERISK-29715 #close
Change-Id: I1de0ed3483623e9599711129edc817c45ad237ee
This avoids a few long-name overflows, at the cost of less instructive
names in the case of C++ (specifically overloaded functions and class
methods). This in turn is offset against the fact that we're logging
the filename and line numbers in any case.
Change-Id: I54101a0bb5f8cb9ef63ec12c5e0d4c8edafff9ed
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
In the AO2_ALLOC_OPT_LOCK_NOLOCK case the referenced obj
structure is freed, but is then referenced later if ref_log is
enabled. The change is to store the obj->priv_data.options value
locally and reference it instead of the value from the freed obj
ASTERISK-29730
Change-Id: I60cc5dc1f5a4330e7ad56976fc38a42de0ab6072
Local channels are made up of two pairs - the 1 and 2
sides. When a frame goes in one side, it comes out the
other. Back and forth. When both halves are in a
bridge this creates an infinite loop of frames.
This change makes it so that bridging no longer
allows both of these sides to exist in the same
bridge.
ASTERISK-29748
Change-Id: I29928b6de87cd9be996a77daccefd7c360fef651
Makes basic call progress tone detection available
in a tech-agnostic manner with the addition of the
ToneScan application. This can determine if the channel
has encountered a busy signal, SIT tones, dial tone,
modem, fax machine, etc. A few basic async progress
tone detect options are also added to the TONE_DETECT
function.
ASTERISK-29720 #close
Change-Id: Ia02437e0450473031e294798b8cb421fb8f24e90
Furthermore, consistently use not 'No' but ':' for non-existent file
paths. Finally, use the same pattern for checking file paths:
a) = ":"
b) != "x:"
Change-Id: I0c80c76d2cc98b0e5c859131290f4e3141a1a544
Fixes four misuses of the parameter 'name'. Additionally, for
consistency and to avoid such an issue in future, those few other
places, which used '\file name', were changed just to '\file'. Then,
Doxygen uses the name of the current file.
ASTERISK-29733
Change-Id: I0c18b4c863c6988b138c77448057349a9ee7052d
Correct typos of the following word families:
multiplication
potentially
iteration
interaction
virtual
synthesis
convolve
initializes
overlap
ASTERISK-29714
Change-Id: Ia40f1aca8f2996ab407c6ed9d24cb10a67c6684b
(cherry picked from commit 2a8fb4695e)
Fixes a deadlock in app_morsecode caused by locking
the channel twice when reading variables from the
channel. The duplicate lock is simply removed.
ASTERISK-29744 #close
Change-Id: I204000701f123361d7f85e0498fedc90243c75e4
Fix parsing of ANI2/OLI information, since it was previously
parsing the user, when it should have been parsing other_param.
Also improves the parsing by using pjproject native functions
rather than trying to parse the parameters ourselves like
chan_sip did. A previous attempt at this caused a crash, but
this works correctly now.
ASTERISK-29703 #close
Change-Id: I8f3c79032d9ea1a21d16f8e11f22bd8d887738a1