Age | Commit message (Collapse) | Author |
|
|
|
|
|
This updates func_channel.c and main/message.c to use a generic xpointer
include instead of including info from each channel driver. Now the
name attribute of info is CHANNEL or CHANNEL_EXAMPLES to be included in
documentation for func_channel. Setting the name attribute of info to
MessageToInfo or MessageFromInfo causes it to be included in the
MessageSend application and AMI action.
Change-Id: I89fd8276a3250824241a618009714267d3a8d1ea
|
|
|
|
Change-Id: Iad24b335fb121a2bc7f1d048ab7420569edcba5a
|
|
The Exchanging Device and Mailbox States could not working
if the Entity ID (EID) is not set manually and can't be obtained
from ethernet interface.
This patch replaces debug message to warning
and addes missing description about option 'entityid' to
asterisk.conf.sample.
With this patch the asterisk also:
(1) decline loading the modules which won't work without EID:
res_corosync and res_pjsip_publish_asterisk.
(2) warn if EID is empty on loading next modules:
pbx_dundi, res_xmpp
Starting with v197 systemd/udev will automatically assign "predictable"
names for all local Ethernet interfaces.
This patch also addes some new ethernet prefixes "eno" and "ens".
ASTERISK-26164 #close
Change-Id: I72d712f1ad5b6f64571bb179c5cb12461e7c58c6
|
|
* Groups of AGI commands that have similar functionality now reference
each other, and all reference the AGI application for ease of wiki
reference.
* The documentation for the AGI application has been improved, in
particular noting the various AGI types and how they are invoked.
* A warning message has been added to DeadAGI, noting that it is
deprecated.
Change-Id: I479ccdee8a7393f01b18692c3d4ab7e6bdd1875d
|
|
into 13
|
|
|
|
|
|
|
|
|
|
When compact_headers was set, we were sending a zero-length header name
for PAI and RPID because we always forced the short header name length
to 0. We did this because we cloned the header from "From" and wanted
to clear "f" from the sname. By cloning however, we bypass pjproject's
automatic logic that sets sname to name if there's no compact form of
the header, which there isn't for PAI and RPID. So now we force sname
to be the same as name right after we set name.
res_pjsip_diversion needed the same treatment for the Diversion header.
ASTERISK-26241 #close
Change-Id: I633ec139630cd83809aae00336cee4a10077e467
|
|
If debug was specified in the global configuration but left blank,
the logger would treat it as a wildcard and log all hosts. If
default_from_user was empty, a crash would result.
The global apply handler now checks for empty strings.
ASTERISK-26239 #close
ASTERISK-26238 #close
Change-Id: Ie75727f5cd5808845d92cc81f5713842fb203336
|
|
* Eliminated RAII_VAR() usage in
ast_sip_persistent_endpoint_update_state().
* Added a missing allocation failure check to
persistent_endpoint_find_or_create().
* Made persistent_endpoint_find_or_create() create the new object without
a lock as it isn't needed.
* Cleaned up some ao2 container allocation idioms.
* Reordered res_pjsip_mwi.c load_module() and unload_module()
Change-Id: If8ce88fbd82a0c72a37a2388f74f77237a6a36a8
|
|
* Eliminated most RAII_VAR() usage.
* Added several missing allocation failure checks.
* Made ast_sip_for_each_contact() allocate the wrapper ao2 object without
a lock as it is not needed.
Change-Id: Ie20913365156c95dd79e5d471cfd25e99ae880bc
|
|
The named aor lock was always being locked for writes so a rwlock adds no
benefit and may be slower because rwlocks are biased toward read locking.
Change-Id: I8c5c2c780eb30ce5441832257beeb3506fd12b28
|
|
Change-Id: I932ab2cea845e534d9ff318035b6de39972d3b28
|
|
|
|
If both channels which should be masqueraded
are in the same serializer:
1st channel will be locked waiting condition 'complete'
2nd channel will be locked waiting condition 'suspended'
On heavy load system a chance that both channels will be in
the same serializer 'pjsip/distibutor' is very high.
To reproduce compile res_pjsip/pjsip_distributor.c with
DISTRIBUTOR_POOL_SIZE=1
Steps to reproduce:
1. Party A calls Party B (bridged call 'AB')
2. Party B places Party A on hold
3. Party B calls Voicemail app (non-bridged call 'BV')
4. Party B attended transfers Party A to voicemail using REFER.
5. When asterisk masquerades calls 'AB' and 'BV',
a deadlock is happened.
This patch adds a suspension indicator to the taskprocessor.
When a session suspends/unsuspends the serializer
it sets the indicator to the appropriate state.
The session checks the suspension indicator before
suspend the serializer.
ASTERISK-26145 #close
Change-Id: Iaaebee60013a58c942ba47b1b4930a63e686663b
|
|
|
|
When an RTCP packet is sent or received, res_rtp_asterisk generates a
Stasis event that contains the RTCP report as well as the local and
remote addresses that the report pertains to.
The addresses are determined using ast_find_ourip(). For the local
address, this will typically result in a lookup of the hostname of the
server, and then a DNS lookup of that hostname. If you do not have the
host in /etc/hosts, then this results in a full DNS lookup, which can
potentially block for some time.
This is especially problematic when performing RTCP reads, since those
are done on the same thread responsible for reading and writing media.
This patch addresses the issue by performing a lookup of the local
address when RTCP is allocated. We then use this cached local address
for the Stasis events when necessary.
ASTERISK-26280 #close
Reported by Mark Michelson
Change-Id: I3dd61882c2e57036f09f0c390cf38f7c87e9b556
|
|
|
|
unload." into 13
|
|
The PJSIP taskprocessors could be overflowed on startup
if there are many (thousands) realtime endpoints
configured with unsolicited mwi.
The PJSIP stack could be totally unresponsive for a few minutes
after boot completed.
This patch creates a separate PJSIP serializers pool for mwi
and makes unsolicited mwi use serializers from this pool.
This patch also adds 2 new global options to tune taskprocessor
alert levels: 'mwi_tps_queue_high' and 'mwi_tps_queue_low'.
This patch also adds new global option 'mwi_disable_initial_unsolicited'
to disable sending unsolicited mwi to all endpoints on startup.
If disabled then unsolicited mwi will start processing
on next endpoint's contact update.
ASTERISK-26230 #close
Change-Id: I4c8ecb82c249eb887930980a800c9f87f28f861a
|
|
This change replaces the custom unload process for the outbound
publish module with the common serializer shutdown group.
ASTERISK-25217 #close
Change-Id: I280a0384d860c486202d87d2d674394cca77ffb6
|
|
transports." into 13
|
|
|
|
Change-Id: Idccaa26fd4a423d47d013ee592b8fa6a0349c006
|
|
This changes the use of an empty regex for both res_sorcery_config
and res_sorcery_memory to "." instead. This is a more compatible
regular expression which also works on FreeBSD.
ASTERISK-26206 #close
Change-Id: Ia9166dd176f1597555ba22b6931180d0626c1388
|
|
ASTERISK-26256 #close
Change-Id: I3fd68df561f81fdb8c6c497d465b50c12422f058
|
|
|
|
twice." into 13
|
|
Change-Id: I11139a4a95df34e223ba622aa6227e33ab8f6c38
|
|
into 13
|
|
* changes:
res_fax: Fix FAXOPT(faxdetect) timeout option.
chan_dahdi: Add faxdetect_timeout option.
|
|
|
|
This patch removed call of pjsip_tx_data_dec_ref in send_notify
if send_request failed.
The pjsip_dlg_send_request deletes the message on error by itself.
It seems this patch fixes next issues:
ASTERISK-26199
ASTERISK-26166
ASTERISK-26174
Change-Id: I8b05917c93d993f95d604c042ace5f1a5500f59a
|
|
|
|
lost packets." into 13
|
|
|
|
The fax_detect_framehook() has the potential to deadlock if an incoming
fax happens during the Playback or similar application.
* Fixed the potential deadlock by not calling ast_async_goto() with the
channel lock held.
* Made always eat the fax detection frame whether there is a fax extension
or not.
* Made only detach the framehook if we detected a fax and not on other
possible frames.
ASTERISK-26216
Reported by: Richard Mudgett
Change-Id: I99da35c26d1cd802626ffb4c1b4eb5b015581b6d
|
|
The fax detection timeout option did not work because basically the wrong
variable was checked in fax_detect_framehook(). As a result, the timer
would timeout immediately and disable fax detection.
* Fixed ignoring negative timeout values. We'd complain and then go right
on using the negative value.
* Fixed destroy_faxdetect() in the off-nominal case of an incomplete
object creation.
* Added more range checking to FAXOPT(gateway) timeout parameter.
ASTERISK-26214 #close
Reported by: Richard Mudgett
Change-Id: Idc5e698dfe33572de9840bc68cd9fc043cbad976
|
|
The new endpoint option allows the PJSIP channel driver's fax_detect
endpoint option to timeout on a call after the specified number of
seconds into a call. The new feature is disabled if the timeout is set
to zero. The option is disabled by default.
ASTERISK-26214
Reported by: Richard Mudgett
Change-Id: Id5a87375fb2c4f9dc1d4b44c78ec8735ba65453d
|
|
If AST_TEST_DEFINE is not conditional to TEST_FRAMEWORK it produces dead
code. This places all existing unit tests into a conditional block if
they weren't already.
ASTERISK-26211 #close
Change-Id: I8ef83ee11cbc991b07b7a37ecb41433e8c734686
|
|
With this change, the initial RTP sequence number is randomly chosen not between
0 and 65535 (0xffff) but 0 and 32767 (0x7fff). This assures, the roll-over
counter (ROC) synchronization is not lost for sRTP, when the very first RTP
packets get lost; see http://srtp.sourceforge.net/faq.html#Q6
ASTERISK-26207 #close
Change-Id: I9a527e3aa3ce8f3becc5131d7ba32b57b5845464
|
|
|
|
The function create_mwi_subscriptions_for_endpoint checks
if there is active contacts by retrieving aors and contacts.
This function is used to create all unsolicited mwi subscriptions
on startup and is used when contact added.
In both cases it's not necessary to check if there are contacts.
The contacts are needed when asterisk sends mwi.
ASTERISK-26200 #close
Change-Id: I98e43bdc97f3c0829951cd9bf5f3c6348c6ac1fa
|
|
This commit adds scaffolding in order to support the SILK audio format
on calls. Roughly, this is what is added:
* Cached silk formats. One for each possible sample rate.
* ast_codec structures for each possible sample rate.
* RTP payload mappings for "SILK".
In addition, this change overhauls the res_format_attr_silk file in the
following ways:
* The "samplerate" attribute is scrapped. That's native to the format.
* There are far more checks to ensure that attributes have been
allocated before attempting to reference them.
* We do not SDP fmtp lines for attributes set to 0.
These changes make way to be able to install a codec_silk module and
have it actually work. It also should allow for passthrough silk calls
in Asterisk.
Change-Id: Ieeb39c95a9fecc9246bcfd3c45a6c9b51c59380e
|
|
|