summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-15Merge "res_pjsip_endpoint_identifier_ip: Add an option to match requests by ↵Joshua Colp
header"
2017-03-15Merge "configure: Don't use the progress bar with curl when downloading to ↵Joshua Colp
stdout"
2017-03-15res_pjsip_endpoint_identifier_ip: Add an option to match requests by headerMatt Jordan
This patch adds a new features to the endpoint identifier module, 'match_header'. When set, inbound requests are matched by a provided SIP header: value pair. This option works in conjunction with the existing 'match' configuration option, such that if any 'match*' attribute matches an inbound request, the request is associated with the specified endpoint. Since this module now identifies by more than just IP address, appropriate renaming of the module and/or variables can be done in a non-release branch. ASTERISK-26863 #close Change-Id: Icfc14835c962f92e35e67bbdb235cf0589de5453 (cherry picked from commit 30f52d79d7fc9ab0b628bef2b61ea515413795a2)
2017-03-15Merge "res_pjsip_endpoint_identifier_ip: Clean up a spaces/tabs issue"George Joseph
2017-03-15Merge "configs/samples/hep.conf.sample: Clarify how the HEP stack works"Joshua Colp
2017-03-15Merge "main/stasis_cache: Demote the ERROR message when removing a ↵Joshua Colp
nonexistent item"
2017-03-14Merge "res_pjsip_transport_websocket: Add support for IPv6."zuul
2017-03-14configure: Don't use the progress bar with curl when downloading to stdoutMatt Jordan
In some scenarios, such as when there may not be a terminal (such as inside a Docker container), curl will apparently direct the progress bar to stdout. This can cause extra data to be appended to a file curl'd down to stdout, resulting in md5 verification failures. This patch removes the progress bar, and tells curl to download the file silently. ASTERISK-26872 #close Change-Id: Ie860b020f627d4372b3e7ce9453de5faafeebe6c
2017-03-14Merge "chan_pjsip: Don't assume a session will have a channel."zuul
2017-03-14Merge "chan_sip: Call not cancelled after receiving a 422 response"Joshua Colp
2017-03-14configs/samples/hep.conf.sample: Clarify how the HEP stack worksMatt Jordan
This patch updates the documenation in hep.conf.sample to better specify how the various HEP modules interact. ASTERISK-26717 #close Change-Id: I337fb742a89e3ec5edc7fc7a7a0295218d841124
2017-03-14main/stasis_cache: Demote the ERROR message when removing a nonexistent itemMatt Jordan
This patch demotes the ERROR message that is displayed when a nonexistent item is removed from the Stasis cache. The genesis of this demotion is due to chan_sip's realtime peers and their interaction with Asterisk's core ast_endpoint code, but ostensibly it could happen from other channel drivers as well. Since Mark Michelson already did an excellent job of explaining on this issue, it is quoted here for posterity: "Internally, when a realtime peer is retrieved, Asterisk creates an ast_endpoint structure. When that peer is destroyed, the ast_endpoint is destroyed as well. Part of the destruction of the ast_endpoint involves clearing the Stasis cache of all information about that endpoint. The problem here is that the act of creating the ast_endpoint is not enough to actually put any information in the Stasis cache. Instead, something has to happen, such as a state change, in order for the Stasis cache to have any information about that endpoint. When a device registers, chan_sip creates an ast_endpoint structure, processes the REGISTER, and then destroys the ast_endpoint. When the ast_endpoint is destroyed, there is nothing to destroy in the Stasis cache, so an error message is emitted. When you use rtcachefriends, ast_endpoint structures persist for the lifetime of the module and so you do not see this error message." ASTERISK-25237 #close Change-Id: I53cebc6b4a897a1ab9564182b75c177780feff70
2017-03-14res_pjsip_endpoint_identifier_ip: Clean up a spaces/tabs issueMatt Jordan
Tabs > spaces. Always. Change-Id: I899ff662361c7ab0327173bd7851a67b53dd65f1
2017-03-13chan_pjsip: Don't assume a session will have a channel.Joshua Colp
When querying for PJSIP specific information using the dialplan function CHANNEL() it is possible that the underlying session will no longer have a channel associated with it. This is most likely to occur when the RTCP HEP module attempts to get the channel name. If this happens then a crash will occur. This change just adds a check that the channel exists on the session before querying it. ASTERISK-26857 Change-Id: I113479cffff6ae64cf8ed089e9e1565223426f01
2017-03-10pjproject_bundled: Reduce the need for rebuildsGeorge Joseph
Bundled pjproject should now only rebuild if one of the menuselect "Compiler Flags" options changes. Change-Id: If114a2e16b9e77af371a600d6a5e197bbf28fe43
2017-03-10Merge "pjsip/cli_commands: pjsip show channelstats shows wrong codec"Joshua Colp
2017-03-09Merge "res_musiconhold: moh general section is a class and issues warning"zuul
2017-03-09Merge "media_cache: Prefer ast_file_is_readable() over access()"Joshua Colp
2017-03-09pjsip/cli_commands: pjsip show channelstats shows wrong codecDaniel Journo
* cli_commands.c Fixed CLI output ASTERISK-26822 #close Change-Id: I3889ef6a8f6738fc312fab42db5efacd6e452b01
2017-03-09Merge "pbx_spool: Set AST_OUTGOING_ATTEMPT variable on channel"Joshua Colp
2017-03-09res_musiconhold: moh general section is a class and issues warningDaniel Journo
* res_musiconhold.c: Ensure the general section is not treated as a moh class. ASTERISK-26353 #close Change-Id: Ia3dbd11ea2b43ab3e6c820a9827811dd24bea82d
2017-03-08media_cache: Prefer ast_file_is_readable() over access()Sean Bright
Change-Id: Icc0dc6e61b2e68d5cdcb74b016b2726a388c7def
2017-03-08pbx_spool: Set AST_OUTGOING_ATTEMPT variable on channelSean Bright
Set a variable on the channel that indicates which attempt number we are currently performing to allow for attempt-specific behavior. ASTERISK-26568 #close Reported by: Roman Shubovich Change-Id: Iacd7e8d43b0ed5b6cb021c62f41f1a1f5733dd89
2017-03-08res_pjsip_transport_websocket: Add support for IPv6.Joshua Colp
This change adds a PJSIP patch (which has been contributed upstream) to allow the registration of IPv6 transport types. Using this the res_pjsip_transport_websocket module now registers an IPv6 Websocket transport and uses it for the corresponding traffic. ASTERISK-26685 Change-Id: Id1f9126f995b31dc38db8fdb58afd289b4ad1647
2017-03-08app_voicemail: Cannot set fromstring on a per-mailbox basisDaniel Journo
* apps/app_voicemail.c fromstring field added to mailbox which will override the global fromstring if set. ASTERISK-24562 #close Change-Id: I5e90e3a1ec2b2d5340b49a0db825e4bbb158b2fe
2017-03-08Merge "res_http_websocket: Fix faulty read logic."zuul
2017-03-07Merge "pbx_spool: Gracefully handle long lines in call files"zuul
2017-03-07res_http_websocket: Fix faulty read logic.Mark Michelson
When doing some WebRTC testing, I found that the websocket would disconnect whenever I attempted to place a call into Asterisk. After looking into it, I pinpointed the problem to be due to the iostreams change being merged in. Under certain circumstances, a call to ast_iostream_read() can return a negative value. However, in this circumstance, the websocket code was treating this negative return as if it were a partial read from the websocket. The expected length would get adjusted by this negative value, resulting in the expected length being too large. This patch simply adds an if check to be sure that we are only updating the expected length of a read when the return from a read is positive. ASTERISK-26842 #close Reported by Mark Michelson Change-Id: Ib4423239828a013d27d7bc477d317d2f02db61ab
2017-03-07chan_sip: Call not cancelled after receiving a 422 responseJean Aunis
When receiving a 422 response, the invitestate variable must be reset to INV_CALLING. ASTERISK-26841 Change-Id: Ia0502d6b02192664cefa4e75bafdd2645ce56099
2017-03-06Saynumber is trying to get "and" from "digits/" subfolderDaniel Journo
* say.c Changed 'digits/and' to 'vm-and' for en_GB ASTERISK-26598 #close Change-Id: If1b713e5daea6f952b339f139178d292a6c4fcfe
2017-03-06pbx_spool: Gracefully handle long lines in call filesSean Bright
Per the linked issue, we aren't checking the buffer filled by fgets() to determine if it contains a newline, so we will fail to correctly parse the trailing portion of a long line. This patch increases the buffer size from 256 to 1024, and skips any line that exceeds that length, logging a warning in the process. ASTERISK-17067 #close Reported by: Dave Olszewski Change-Id: I51bcf270c1b4347ba05b43f18dc2094c76f5d7b0
2017-03-02core: Cleanup ast_get_hint() usage.Richard Mudgett
* manager.c:manager_state_cb() Fix potential use of uninitialized hint[] if a hint does not exist for the requested extension. Ran into this when developing a testsuite test. The AMI event ExtensionStatus came out with the hint header value containing garbage. The AMI event PresenceStatus also had the same issue. * manager.c:action_extensionstate() no need to completely initialize the hint[]. Only initialize the first element. * pbx.c:ast_add_hint() Remove unnecessary assignment. * chan_sip.c: Eliminate an unneeded hint[] local variable. We only care about the return value of ast_get_hint() there. Change-Id: Ia9a8786f01f93f1f917200f0a50bead0319af97b
2017-03-01Merge "res_pjsip WebRTC/websockets: Fix usage of WS vs WSS."Joshua Colp
2017-03-01Merge "stream: Unit tests for stream read and tweaks framework"Joshua Colp
2017-03-01Merge "res_config_pgsql: Make 'require' return consistent with other backends"Joshua Colp
2017-03-01res_pjsip WebRTC/websockets: Fix usage of WS vs WSS.Jørgen H
According to the RFC[1] WSS should only be used in the Via header for secure Websockets. * Use WSS in Via for secure transport. * Only register one transport with the WS name because it would be ambiguous. Outgoing requests may try to find the transport by name and pjproject only finds the first one registered. This may mess up unsecure websockets but the impact should be minimal. Firefox and Chrome do not support anything other than secure websockets anymore. * Added and updated some debug messages concerning websockets. * security_events.c: Relax case restriction when determining security transport type. * The res_pjsip_nat module has been updated to not touch the transport on Websocket originating messages. [1] https://tools.ietf.org/html/rfc7118 ASTERISK-26796 #close Change-Id: Ie3a0fb1a41101a4c1e49d875a8aa87b189e7ab12
2017-03-01stream: Unit tests for stream read and tweaks frameworkGeorge Joseph
* Removed the AST_CHAN_TP_MULTISTREAM tech property. We now rely on read_stream being set to indicate a multi stream channel. * Added ast_channel_is_multistream convenience function. * Fixed issue where stream and default_stream weren't being set on a frame retrieved from the queue. * Now testing for NULL being returned from the driver's read or read_stream callback. * Fixed issue where the dropnondefault code was crashing on a NULL f. * Now enforcing that if either read_stream or write_stream are set when ast_channel_tech_set is called that BOTH are set. * Added the unit tests. ASTERISK-26816 Change-Id: If7792b20d782e71e823dabd3124572cf0a4caab2
2017-03-01res_config_pgsql: Make 'require' return consistent with other backendsSean Bright
res_config_pgsql should match the behavior of other realtime backend drivers so that queue_log can disable adaptive logging. ASTERISK-25628 #close Reported by: Dmitry Wagin Change-Id: Ic1fb1600c7ce10fdfb1bcdc43c5576b7e0014372
2017-03-01SDP: Add initial SDP state machine.Mark Michelson
This introduces and documents the various states in the state machine. This also introduces API functions that induce state changes, and places TODO comments telling what needs to be done in addition to what is already there. Those TODOs will be replaced with real code in upcoming changes. Change-Id: I871c0eb480b4c84d83e91ac5628e7a673e8b89ed
2017-03-01Merge "media_cache: Mark cache entry stale if cache file is removed"Joshua Colp
2017-02-28Merge "res_config_pgsql: Release table locks where appropriate"Joshua Colp
2017-02-28Merge "res_pjsip_outbound_registration: Subscribe to network change events"Joshua Colp
2017-02-28Merge "build: Warn if asterisk is installed in both 32 and 64 bit sys dirs"Joshua Colp
2017-02-28Merge "res_pjsip_pubsub: Remove unneeded endpoint unref"Joshua Colp
2017-02-28Merge "bridge_native_rtp: Handle case where channel joins already suspended."zuul
2017-02-28media_cache: Mark cache entry stale if cache file is removedSean Bright
In the event that a cache file is removed out from under us, we should treat the cache entry as stale and force a refresh. ASTERISK-26774 #close Reported by: Igor Gamayunov Change-Id: I3b1bd0c999d59d18664ef73a29823bc5b431dc52
2017-02-28Merge "config: Improve documentation and behavior of outbound_proxy option."Joshua Colp
2017-02-28Merge "res_pjsip: Fix crash when contact has no status"Joshua Colp
2017-02-28res_config_pgsql: Release table locks where appropriateSean Bright
The find_table() functions NULL or a locked table pointer. We are not consistently calling release_table() in failure paths. Change-Id: I6f665b455799c84b036e5b34904b82b05eab9544
2017-02-28pjsip.conf.sample: user_agent: not a specific versionTzafrir Cohen
Use the description of useragent from sip.conf here. ASTERISK-26825 #close Change-Id: I5b33a4aaa0ae1d793289d05e3bc09521affbf755