Historically, the dial syntax for IAX2 has held that
an outkey (used only for RSA authenticated calls)
and a secret (used only for plain text and MD5 authenticated
calls, historically) were mutually exclusive, and thus
the same position in the dial string was used for both
values.
Now that encryption is possible with RSA authentication,
this poses a limitation, since encryption requires a
secret and RSA authentication requires an outkey. Thus,
the dial syntax is extended so that both a secret and
an outkey can be specified.
The new extended syntax is backwards compatible with the
old syntax. However, a secret can now be specified after
the outkey, or the outkey can be specified after the secret.
This makes it possible to spawn an encrypted RSA authenticated
call without a corresponding peer being predefined in iax.conf.
ASTERISK-29707 #close
Change-Id: I1f8149313ed760169d604afbb07720a8b07dd00e
The search for a running asterisk when --running is used
has been greatly simplified and in the event it doesn't
work, you can now specify a pid to use on the command
line with --pid.
The search for asterisk modules when --tarball-coredumps
is used has been enhanced to have a better chance of finding
them and in the event it doesn't work, you can now specify
--libdir on the command line to indicate the library directory
where they were installed.
The DATEFORMAT variable was renamed to DATEOPTS and is now
passed to the 'date' utility rather than running DATEFORMAT
as a command.
The coredump and output files are now renamed with DATEOPTS.
This can be disabled by specifying --no-rename.
Several confusing and conflicting options were removed:
--append-coredumps
--conffile
--no-default-search
--tarball-uniqueid
The script was re-structured to make it easier for follow.
Change-Id: I674be64bdde3ef310b6a551d4911c3b600ffee59
The stir_shaken configuration option now has 4 different choices to pick
from: off, attest, verify, and on. Off and on behave the same way they
do now. Attest will only perform attestation on the endpoint, and verify
will only perform verification on the endpoint.
Certain responses are required to be sent based on certain conditions
for STIR/SHAKEN. For example, if we get a Date header that is outside of
the time range that is considered valid, a 403 Stale Date response
should be sent. This and several other responses have been added.
Change-Id: I4ac1ecf652cd0e336006b0ca638dc826b5b1ebf7
Add a time_t logintime to storage a time when a member is added into a
queue.
Also, includes show this time (in seconds) using a 'queue show' command
and the field LoginTime for response for AMI events.
ASTERISK-18069 #close
Change-Id: Ied6c3a300f78d78eebedeb3e16a1520fc3fff190
I am adding a mix option that will play by filename and say.conf unlike
say option that will only play with say.conf. It
will look on the format of the name, if it is like say it play with
say.conf if not it will play the file name.
ASTERISK-29662
Change-Id: I815816916a308f0fa8f165140dc15772dcbd547a
Adds support for encryption to RSA-authenticated
calls. Also prevents crashes if an RSA IAX2 call
is initiated to a switch requiring encryption
but no secret is provided.
ASTERISK-20219
Change-Id: I18f1f9d7c59b4f9cffa00f3b94a4c875846efd40
In res_pjsip_sdp_rtp, the bind_rtp_to_media_address option and the
fallback use of the transport's bind address solve problems sending
media on systems that cannot send ipv4 packets on ipv6 sockets, and
certain other situations. This change extends both of these behaviors
to UDPTL sessions as well in res_pjsip_t38, to fix fax-specific
problems on these systems, introducing a new option
endpoint/t38_bind_udptl_to_media_address.
ASTERISK-29402
Change-Id: I87220c0e9cdd2fe9d156846cb906debe08c63557
The behavior of max_contacts and remove_existing are connected. If
remove_existing is enabled, the soonest expiring contacts are removed.
This may occur when there is an unavailable contact. Similarly,
when remove_existing is not enabled, registrations from good
endpoints are rejected in favor of retaining unavailable contacts.
This commit adds a new AOR option remove_unavailable, and the effect
of this setting will depend on remove_existing. If remove_existing
is set to no, we will still remove unavailable contacts when they
exceed max_contacts, if there are any. If remove_existing is set to
yes, we will prioritize the removal of unavailable contacts before
those that are expiring soonest.
ASTERISK-29525
Change-Id: Ia2711b08f2b4d1177411b1be23e970d7fdff5784
The MessageSend AMI action has been updated to allow the Destination
and the To addresses to be provided separately. This brings the
MessageSend manager command in line with the capabilities of the
MessageSend dialplan application.
ASTERISK-29663 #close
Change-Id: I8513168d3e189a9fed88aaab6f5547ccb50d332c
Adds a function to check for the existence of a channel by
name or by UNIQUEID.
ASTERISK-29656 #close
Change-Id: Ib464e9eb6e13dc683a846286798fecff4fd943cb
Adds the ability for users to log to custom log levels
by providing custom log level names in logger.conf. Also
adds a logger show levels CLI command.
ASTERISK-29529
Change-Id: If082703cf81a436ae5a565c75225fa8c0554b702
Adds a SendMF application and PlayMF manager
event to send arbitrary R1 MF tones on the
current or specified channel.
ASTERISK-29496
Change-Id: I5d89afdbccee3f86cc702ed96d882f3d351327a4
Adds the STRBETWEEN function, which can be used to insert a
substring between each character in a string. For instance,
this can be used to insert pauses between DTMF tones in a
string of digits.
ASTERISK-29627
Change-Id: Ice23009d4a8e9bb9718d2b2301d405567087d258
Adds the DIRNAME and BASENAME functions, which are
wrappers around the corresponding C library functions.
These can be used to safely and conveniently work with
file paths and names in the dialplan.
ASTERISK-29628 #close
Change-Id: Id3aeb907f65c0ff96b6e57751ff0cb49d61db7f3
Up until now, all of the logic used to translate
arguments to the Say applications has been
directly coupled to playback, preventing other
modules from using this logic.
This refactors code in say.c and adds a SAYFILES
function that can be used to retrieve the file
names that would be played. These can then be
used in other applications or for other purposes.
Additionally, a SayMoney application and a SayOrdinal
application are added. Both SayOrdinal and SayNumber
are also expanded to support integers greater than
one billion.
ASTERISK-29531
Change-Id: If9718c89353b8e153d84add3cc4637b79585db19
dsp.c contains arbitrary tone detection functionality
which is currently only used for fax tone recognition.
This change makes this functionality publicly
accessible so that other modules can take advantage
of this.
Additionally, a WaitForTone and TONE_DETECT app and
function are included to allow users to do their
own tone detection operations in the dialplan.
ASTERISK-29546
Change-Id: Ie38c395000f4fd4d04e942e8658e177f8f499b26
There is an option to silence voicemail instructions but it does not
take into consideration if a recorded greeting exists or not. Add a
new 'S' option that does that.
ASTERISK-29632 #close
Change-Id: I03f2f043a9beb9d99deab302247e2a8686066fb4
Adds an information element for ANI2 so that
Originating Line Information can be transmitted
over IAX2 channels.
ASTERISK-29605 #close
Change-Id: Iaeacdf6ccde18eaff7f776a0f49fee87dcb549d2
Allows for the digit # to be read as a digit,
just like any other DTMF digit, as opposed to
forcing it to be used as an end of input
indicator. The default behavior remains
unchanged.
ASTERISK-18454 #close
Change-Id: I3033432adb9d296ad227e76b540b8b4a2417665b
This allows the STUN server to change its IP address without having to
reload the res_rtp_asterisk module.
The refresh of the name resolution occurs first when the module is
loaded, then recurringly, slightly after the previous DNS answer TTL
expires.
ASTERISK-29508 #close
Change-Id: I7955a046293f913ba121bbd82153b04439e3465f
Prevents reloads of app_queue from also resetting
queue statistics.
Also preserves individual queue agent statistics
if we're just reloading members.
ASTERISK-28701
Change-Id: Ib5d4cdec175e44de38ef0f6ede4a7701751766f1
Allow mapping pjproject log messages to the Asterisk TRACE
log level. The defaults were also changes to log pjproject
levels 3,4 to DEBUG and 5,6 to TRACE. Previously 3,4,5,6
all went to DEBUG.
ASTERISK-29582
Change-Id: I859a37a8dec263ed68099709cfbd3e665324c72d
The Milliwatt application uses incorrect tone timings
that cause it to play the 1004 Hz tone constantly.
This adds an option to enable the correct timing
behavior, so that the Milliwatt application can
be used for milliwatt test lines. The default behavior
remains unchanged for compatability reasons, even
though it is incorrect.
ASTERISK-29575 #close
Change-Id: I73ccc6c6fcaa31931c6fff3b85ad1805b2ce9d8c
Previously, the Morsecode application only supported international
Morse code. This adds support for American Morse code and adds an
option to configure the frequency used in off intervals.
Additionally, the application checks for hangup between tones
to prevent application execution from continuing after hangup.
ASTERISK-29541
Change-Id: I172431a2e18e6527d577e74adfb05b154cba7bd4
Adds a function to scramble audio on a channel using
whole spectrum frequency inversion. This can be used
as a privacy enhancement with applications like
ChanSpy or other potentially sensitive audio.
ASTERISK-29542
Change-Id: I01020769d91060a1f56a708eb405f87648d1a67e
A list of codecs to use for dialplan-originated calls can
now be specified in Originate, similar to the ability
in call files and the manager action.
Additionally, we now default to just using the slin codec
for originated calls, rather than all the slin* codecs up
through slin192, which has been known to cause issues
and inconsistencies from AMI and call file behavior.
ASTERISK-29543
Change-Id: I96a1aeb83d54b635b7a51e1b4680f03791622883
Adds function to selectively drop specified frames
in the TX or RX direction on a channel, including
control frames.
ASTERISK-29478
Change-Id: I8147c9d55d74e2e48861edba6b22f930920541ec
Allows multiple files comprising an agent announcement
to be played by separating on the ampersand, similar
to the multi-file support in other Asterisk applications.
ASTERISK-29528
Change-Id: Iec600d8cd5ba14aa1e4e37f906accb356cd7891a
PJSIP currently does not provide a function to replace SIP_HEADERS() function to get a list of headers from INVITE request.
It may be used to get all X- headers in case the actual set and names of headers unknown.
ASTERISK-29389
Change-Id: Ic09d395de71a0021e0d6c5c29e1e19d689079f8b
Meter types are not well supported,
lacking support in telegraf, datadog and the official statsd servers.
We deprecate meters and provide a compliant fallback for any existing usages.
A flag has been introduced to allow meters to fallback to counters.
ASTERISK-29513
Change-Id: I5fcb385983a1b88f03696ff30a26b55c546a1dd7
Adds application to asynchronously collect digits
dialed on a channel in the TX or RX direction
using a framehook and stores them in a specified
variable, up to a configurable number of digits.
ASTERISK-29477
Change-Id: I51aa93fc9507f7636ac44806c4420ce690423e6f
While several applications exist to wait for
a certain event to occur, none allow waiting
for any generic expression to become true.
This application allows for waiting for a condition
to become true, with configurable timeout and
checking interval.
ASTERISK-29444
Change-Id: I08adf2824b8bc63405778cf355963b5005612f41
When we try to play a list of sound files in the same Play command,
we get only one PlaybackFinish event, after all sounds are played.
But in the case where the Play fails (because channel is destroyed
for example), Asterisk will send one PlaybackFinish event for each
sound file still to be played. If the list is big, Asterisk is
sending many events.
This patch adds a failed state so we can understand that the play
failed. On that case we don't send the event, if we still have a
list of sounds to be played.
When we reach the last sound, we send the PlaybackFinish with
the failed state.
ASTERISK-29464 #close
Change-Id: I4c2e5921cc597702513af0d7c6c2c982e1798322
Hitherto, the A option has made it possible to play
audio upon answer to the called party only. This option
is expanded to allow for playback of an audio file to
the caller instead of or in addition to the audio
played to the answerer.
ASTERISK-29442
Change-Id: If6eed3ff5c341dc8c588c8210987f2571e891e5e
Caller ID can now be set on the called channel and
Variables can now be set on the destination
using the Originate application, just as
they can be currently using call files
or the Manager Action.
ASTERISK-29450
Change-Id: Ia64cfe97d2792bcbf4775b3126cad662922a8b66
Adds a new ConfKick() application, which may
be used to kick a specific channel, all channels,
or all non-admin channels from a specified
conference bridge, similar to existing CLI and
AMI commands.
ASTERISK-29446
Change-Id: I5d96b683880bfdd27b2ab1c3f2e897c5046ded9b
A new user option, answer_channel, adds the capability to
prevent answering the channel if it hasn't already been
answered yet.
ASTERISK-29440
Change-Id: I26642729d0345f178c7b8045506605c8402de54b
* Implemented the new "to" parameter of the MessageSend()
dialplan application. This allows a user to specify
a complete SIP "To" header separate from the Request URI.
* Completely refactored the get_outbound_endpoint() function
to actually handle all the destination combinations that
we advertized as supporting.
* We now also accept a destination in the same format
as Dial()... PJSIP/number@endpoint
* Added lots of debugging.
ASTERISK-29404
Reported by Brian J. Murrell
Change-Id: I67a485196d9199916468f7f98bfb9a0b993a4cce
Introduces three new dialplan functions, MIN and MAX,
which can be used to calculate the minimum or
maximum of up to two numbers, and ABS, an absolute
value function.
ASTERISK-29431
Change-Id: I2bda9269d18f9d54833c85e48e41fce0e0ce4d8d
Up until now, the VOLUME function has been write
only, so that TX/RX values can be set but not
read afterwards. Now, previously set TX/RX values
can be read later.
ASTERISK-29439
Change-Id: Ia23e92fa2e755c36e9c8e69f2940d2703ccccb5f
In multidomain environments, it is desirable to create
PJSIP endpoints with the domain info in the endpoint name
in pjsip_endpoint.conf. This resulted in an error with
registrations, NOTIFY, and OPTIONS packet generation.
This commit will detect if there is an @ in the endpoint
identifier and generate the URI accordingly so NOTIFY and
OPTIONS From headers will generate correctly.
ASTERISK-28393
Change-Id: I96f8d01dfdd5573ba7a28299e46271dd4210b619
By default Asterisk reports the PJSIP version in a SOFTWARE attribute
of every STUN packet it sends. This may not be desired in a production
environment, and RFC5389 recommends making the use of the SOFTWARE
attribute a configurable option:
https://datatracker.ietf.org/doc/html/rfc5389#section-16.1.2
This patch adds a `stun_software_attribute` yes/no option to make it
possible to omit the SOFTWARE attribute from STUN packets.
ASTERISK-29434
Change-Id: Id3f2b1dd9584536ebb3a1d7e8395fd8b3e46860b