- Feb 11, 2020
-
-
Sean Bright authored
The change to res_config_odbc that allowed empty strings to be returned to realtime consumers¹ causes a warning to be emitted when loading MoH classes. So we need to treat an empty 'format' as if it was not specified to avoid the warning. ASTERISK-28735 #close Reported by: Ross Beer [1] https://gerrit.asterisk.org/c/asterisk/+/13722 Change-Id: I9a271d721e1a0973e80ebe7d75b46a0d8fa0e5a5
-
- Feb 07, 2020
-
-
Joshua Colp authored
-
- Feb 06, 2020
-
-
Friendly Automation authored
-
Joshua Colp authored
-
Sean Bright authored
ASTERISK-26955 #close Reported by: Peter Sokolov Change-Id: Ib2803640905a77b65d0cee2d0ed2c7b310d470ac
-
Joshua Colp authored
-
Joshua Colp authored
-
- Feb 05, 2020
-
-
Friendly Automation authored
-
Friendly Automation authored
-
Sylvain Afchain authored
Currently aptitude is installed using interactive mode. This patch changes this to use the non-interactive mode as it can block automatic dependencies installation, ex: CI, Docker build. ASTERISK-28726 #close Change-Id: I271ee00d230513a6f044810351a32d83b2181133
-
- Feb 04, 2020
-
-
Joshua C. Colp authored
The code assumed that when the transport-cc feedback function was called at least one packet will have been received. In practice this isn't always true, so now we just reschedule the sending and do nothing. Change-Id: Iabe7b358704da446fc3b0596b847bff8b8a0da6a
-
- Feb 03, 2020
-
-
George Joseph authored
In order to reduce the amount of AMI and ARI events generated, the global "Message/ast_msg_queue" channel can be set to suppress it's normal channel housekeeping events such as "Newexten", "VarSet", etc. This can greatly reduce load on the manager and ARI applications when the Digium Phone Module for Asterisk is in use. To enable, set "hide_messaging_ami_events" in asterisk.conf to "yes" In Asterisk versions <18, the default is "no" preserving existing behavior. Beginning with Asterisk 18, the option will default to "yes". NOTE: This change does not affect UserEvents or the ARI TextMessageReceived events. * Added the "hide_messaging_ami_events" option to asterisk.conf. * Changed message.c to set the AST_CHAN_TP_INTERNAL property on the "Message/ast_msg_queue" channel if the option is set in asterisk.conf. This suppresses the reporting of the events. Change-Id: Ia2e3516d43f4e0df994fc6598565d6bba2d7018b
-
Joshua Colp authored
-
- Jan 31, 2020
-
-
Walter Doekes authored
If you're for some reason out of RTP ports, chan_sip would previously responde to an INVITE with a 403, which will fail the call. Now, it returns a 503, allowing the device/proxy to retry the call on a different machine. ASTERISK-28718 Change-Id: I968dcf6c1e30ecddcce397dcda36db727c83ca90
-
- Jan 30, 2020
-
-
Friendly Automation authored
-
Friendly Automation authored
-
Friendly Automation authored
-
- Jan 29, 2020
-
-
Sean Bright authored
When res_config_odbc (and perhaps other realtime backends) reads a SQL NULL from the database, it coalesces the value to the empty string which prevents it from being returned to the realtime core. However, if it instead reads the empty string from the database, it needs a way to encode that fact without having the value omitted entirely. It does this by changing the value to a string with a single space. The realtime code in main/config.c recognizes this special case and _turns the string back into the empty string_ before passing it to realtime API consumers. For all of this to work, we need to ensure that we actually pass the single-space-string back to the realtime core, which is currently failing because we are trimming the value before checking its content. So instead we now special case the single-space-string case so that empty values are returned properly. ASTERISK-28719 #close Reported by: EDV O-TON Change-Id: I673ed8c31ad037aa224e80c78c7a1dc4e4a4e3de
-
Sean Bright authored
Incrementing stasis_app_playback.media_index directly in our playback loop means that when we reach the end of our playlist the index into the vector will be outside of the bounds of the vector. Instead use a temporary variable and only assign when we're sure that we are in bounds. ASTERISK-28713 #close Reported by: Sébastien Duthil Change-Id: Ib53f7f156097e0607eb5871d9d78d246ed274928
-
- Jan 28, 2020
-
-
Friendly Automation authored
-
Joshua C. Colp authored
Each subscription needs to have a reference to the persisted data for it, as well as the main JSON contained within the tree. When recreating a subscription this did not occur and they both shared the same reference. ASTERISK-28714 Change-Id: I706abd49ea182ea367a4ac3feca2706460ae9f4a
-
Sean Bright authored
ASTERISK-26082 #close Reported by: Alex Change-Id: I6549e90932016349bc72b0f053432dc25286f4fb
-
Walter Doekes authored
It said "restrict [...] which peers should be able to pass [audio] to each other". However, these settings are not global (for which you would expect signaling IPs to be checked). These settings are available per peer only, and the IPs being checked, are the RTP IPs. Change-Id: I2a6c6cd7c2f5f30d1df4844e3e0308a077021660
-
Friendly Automation authored
-
- Jan 27, 2020
-
-
Kevin Harwell authored
Calling 'app_send' eventually calls the app's message handler. It's possible for a handler to obtain a lock on another object, and then need/want to lock the app object. If the caller of 'app_send' locks the app object prior to calling then there's a potential for a deadlock, if another thread calls 'app_send' without locking. This patch makes it so 'app_send' is not called with the app object locked in the section of code doing such. ASTERISK-28423 #close Change-Id: I6767c6d0933c7db1b984018966eefca4c0638a27
-
Kevin Harwell authored
The cleanup code in stasis shuts down applications if they are in a deactivated state, and no longer have explicit subscriptions. When registering an app the cleanup code was running before calling 'update'. When it should be executed after 'update' since a call to register may re-activate the app. We don't want it to shutdown before the 'update' otherwise the app won't be re-activated, or registered. This patch makes it so the cleanup code is executed post 'update'. ASTERISK-28679 #close Change-Id: I8f2c0b17e33bb8128441567b97fd4c7bf74a327b
-
Sean Bright authored
We need to wait for the message sending callback to finish to know if we succeeded or failed. ASTERISK-25421 #close Reported by: Dmitriy Serov Change-Id: I22b954398821d2caf4c6fe58f0607c8cfa378059
-
- Jan 24, 2020
-
-
Walter Doekes authored
Fixes no-audio issues when the media source is changed and strictrtp is enabled (default). If the peer media source changes, the SDP session version also changes. If it is lower than the one we had stored, chan_sip would ignore it. This changeset keeps track of the remote media origin identifier, comparing that as well. If it changes, the session version needn't be higher for us to accept the SDP. Common scenario where this would've caused problems: a separate media gateway that informs the caller about premium rates before handing off the call to the final destination. (An alternative fix would be to set ignoresdpversion=yes on the peer.) ASTERISK-28686 Change-Id: I88fdbc5aeb777b583e7738c084254c482a7776ee
-
- Jan 23, 2020
-
-
Sean Bright authored
If chan_pjsip receives an RTP packet whose payload differs from the channel's native format, and asymmetric_rtp_codec is disabled (the default), Asterisk will switch the channel's native format to match that of the incoming packet without regard to the negotiated payloads. We now check that the received frame is in a format we have negotiated before switching payloads which results in these packets being dropped instead of causing the session to terminate. ASTERISK-28139 #close Reported by: Paul Brooks Change-Id: Icc3b85cee1772026cee5dc1b68459bf9431c14a3
-
George Joseph authored
-
Joshua Colp authored
-
- Jan 22, 2020
-
-
Friendly Automation authored
-
George Joseph authored
When Alice calls Bob and Bob does a blind transfer to Charlie, Bob's bridge leave event generates a finalize on both the party_a and party_b CDRs but while the party_a CDR has the correct end time set from the event time, party_b's leg did not. This caused that CDR's end time to be equal to the answered time and resulted in a billsec of 0. * We now pass the bridge leave message event time to cdr_object_party_b_left_bridge_cb() and set it on that CDR before calling cdr_object_finalize() on it. NOTE: This issue affected transfers using chan_sip most of the time but also occasionally affected chan_pjsip probably due to message timing. ASTERISK-28677 Reported by: Maciej Michno Change-Id: I790720f1e7326f9b8ce8293028743b0ef0fb2cca
-
Sean Bright authored
Add a new configuration option 'enable_status' which allows the /httpstatus URI handler to be administratively disabled. We also no longer unconditionally register the /static and /httpstatus URI handlers, but instead do it based upon configuration. Behavior change: If enable_static was turned off, the URI handler was still installed but returned a 403 when it was accessed. Because we now register/unregister the URI handlers as appropriate, if the /static URI is disabled we will return a 404 instead. Additionally: * Change 'enablestatic' to 'enable_static' but keep the former for backwards compatibility. * Improve some internal variable names ASTERISK-28710 #close Change-Id: I647510f796473793b1d3ce1beb32659813be69e1
-
Joshua Colp authored
-
Friendly Automation authored
-
Joshua Colp authored
-
Joshua Colp authored
-
- Jan 21, 2020
-
-
Friendly Automation authored
-
Andrew Siplas authored
The no-entry timeout set to 999999 == 16⅔ minutes, change to INT_MAX to match behavior of "no timeout" defined in comment. ASTERISK-28702 #close Change-Id: I4ea015986e061374385dba247b272f7aac60bf11
-