summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-05main/cdrs: Preserve context/extension when executing a Macro or GoSubMatthew Jordan
The context/extension in a CDR is generally considered the destination of a call. When looking at a 2-party call CDR, users will typically be presented with the following: context exten channel dest_channel app data default 1000 SIP/8675309 SIP/1000 Dial SIP/1000,,20 However, if the Dial actually takes place in a Macro, the current behaviour in 12 will result in the following CDR: context exten channel dest_channel app data macro-dial s SIP/8675309 SIP/1000 Dial SIP/1000,,20 The same is true of a GoSub: context exten channel dest_channel app data subs dial_stuff SIP/8675309 SIP/1000 Dial SIP/1000,,20 This generally makes the context/exten fields less than useful. It isn't hard to preserve these values in the CDR state machine; however, we need to have something that informs us when a channel is executing a subroutine. Prior to this patch, there isn't anything that does this. This patch solves this problem by adding a new channel flag, AST_FLAG_SUBROUTINE_EXEC. This flag is set on a channel when it executes a Macro or a GoSub. The CDR engine looks for this value when updating a Party A snapshot; if the flag is present, we don't override the context/exten on the main CDR object. In a funny quirk, executing a hangup handler must *not* abide by this logic, as the endbeforehexten logic assumes that the user wants to see data that occurs in hangup logic, which includes those subroutines. Since those execute outside of a typical Dial operation (and will typically have their own dedicated CDR anyway), this is unlikely to cause any heartburn. Review: https://reviewboard.asterisk.org/r/3962/ ASTERISK-24254 #close Reported by: tm1000, Tony Lewis Tested by: Tony Lewis ........ Merged revisions 422718 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422719 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05main/cdr: Fix crash/memory consumption in CDRs in multi-party bridge scenariosMatthew Jordan
This patch fixes an issue where CDRs would get stuck generating an infinite number of CDRs, eventually crashing Asterisk (and consuming a lot of memory along the way). When a channel enters into a multi-party bridge, the CDR engine creates mappings of each participant to each other participant, picking the 'A' party as it goes. So, if we have four channels in a multi-party bridge (Alice, Bob, Charlie, Denise), we would have something like: Alice => Bob Alice => Charlie Alice => Denise Bob => Charlie Bob => Denise Charlie => Denise This works fine when participants enter the bridge a single time. When a participant leaves a bridge, the CDRs for that channel are transitioned to a finalized state. The bug occurs if Bob rejoins. When the CDR engine creates mappings between the channels, it walks through all the participants currently in the bridge, and realizes that no one in the bridge can create a CDR with the channel (Bob). As such it creates a new CDR for the candidate and appends it to that candidate's chain. Unfortunately, on this particular code path, it doesn't stop traversing the candidate's chain. Since we just added ourselves to the chain, this causes the loop to keep going, constantly adding new CDRs. This patch makes it so the engine bails when it creates a CDR match in this case. Review: https://reviewboard.asterisk.org/r/3964/ ASTERISK-24241 #close Reported by: Deepak Singh Rawat Tested by: Deepak Singh Rawat ASTERISK-24208 Reported by: Frankie Chin ........ Merged revisions 422715 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422716 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05func_channel.c: Add missing locking to some CHANNEL() requests.Richard Mudgett
* The CHANNEL() audionativeformat, videonativeformat, audioreadformat, and audiowriteformat now need locking since the media format rework when accessing the channel's format pointers. * Increased the buffer size for CHANNEL() audionativeformat and videonativeformat output strings since the allow=all can be a lengthy list. * Tweaked the CHANNEL() XML documentation for secure_bridge_signaling, secure_bridge_media, and state. * Ensured the output buffer is initialized for secure_bridge_signaling and secure_bridge_media. * Made use the locked_copy_string() macro instead of inlining it for trace and checkhangup. ........ Merged revisions 422700 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05Dial API: Add a dial option to indicate the dialed channel will replace dialerJonathan Rose
Adds an option to the dial API that marks an outgoing dial as replacing the dialing channel for the purpose of propagating accountcode. When it is used, AST_CHANNEL_REQUESTOR_REPLACEMENT is used instead of AST_CHANNEL_REQUESTOR_BRIDGE_PEER when setting accountcodes on the involved channels with ast_channel_req_accountcodes. Review: https://reviewboard.asterisk.org/r/3968/ ........ Merged revisions 422684 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05Call IDs: Fix appearance of call ID in core show channels when NULLJonathan Rose
NULL call IDs were meant to appear as '(none)' but instead were showing the contents of an uninitialized character buffer. ASTERISK-24223 Review: https://reviewboard.asterisk.org/r/3979/ ........ Merged revisions 422664 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422665 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05devicestate.c: Minor tweaksRichard Mudgett
* In ast_state_chan2dev() use ARRAY_LEN() instead of a sentinel value in chan2dev[]. * Fix some comments in chan_iax2.c. ........ Merged revisions 422661 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422663 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-05Menuselect: Fix incorrect enabling on failed depsKinsey Moore
This corrects a situation where menuselect can incorrectly enable a module by default that has defaultenabled set to "no" and has failed/non-selected dependencies. The bug is due to an inverted test when checking for whether the given module should be set to enabled by default on load. Review: https://reviewboard.asterisk.org/r/3975/ Reported by: John Bigelow ........ Merged revisions 422646 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-04Manager: Require read permission for SYSTEM in order to send FullyBootedJonathan Rose
Review: https://reviewboard.asterisk.org/r/3969/ ........ Merged revisions 422584 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422625 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422626 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422631 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-03res_pjsip_transport_websocket: Fix crash when the Contact header is not a URI.Joshua Colp
The code for changing the Contact header wrongly assumed that the Contact would always contain a URI. This is incorrect. ASTERISK-24271 Reported by: Dafi Ni ........ Merged revisions 422557 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422558 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-02Resolve race condition where channels enter dialplan application before ↵Mark Michelson
media has been negotiated. Testsuite tests will occasionally fail because on reception of a 200 OK SIP response, an AST_CONTROL_ANSWER frame is queued prior to when media has finished being negotiated. This is because session supplements are called into before PJSIP's inv_session code has told us that media has been updated. Sometimes the queued answer frame is handled by the PBX thread before the ensuing media negotiations occur, causing a test failure. As it turns out, there is another place that session supplements could be called into, which is after media has finished getting negotiated. What this commit introduces is a means for session supplements to indicate when they wish to be called into when handling an incoming SIP response. By default, all session supplements will be run at the same point that they were prior to this commit. However, session supplements may indicate that they wish to be handled earlier than normal on redirects, or they may indicate they wish to be handled after media has been negotiated. In this changeset, two session supplements have been updated to indicate a preference for when they should be run: res_pjsip_diversion executes before handling redirection in order to get information from the Diversion header, and chan_pjsip now handles responses to INVITEs after media negotiation to fix the race condition mentioned previously. ASTERISK-24212 #close Reported by Matt Jordan Review: https://reviewboard.asterisk.org/r/3930 ........ Merged revisions 422536 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422542 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-01main/cli: Do not attempt to show CDR data for internal channelsMatthew Jordan
Internal channels don't have CDRs. Querying the CDR engine for their variables will make it cranky. ........ Merged revisions 422506 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422507 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-01res_stasis: Don't play MoH to channels by default when added to holding bridgesMatthew Jordan
When ARI manipulates a bridge, it generally doesn't care what the mixing technology is. Operations on a bridge initiated through ARI should perform their action in generally the same way, regardless of the bridge's mixing technology. While the mixing technology may determine how media flows to channels, the actual operations on a bridge themselves should be the same. Currently, this isn't the case with holding bridges. When a channel joins without a role, MoH is started on that channel automatically. Subsequent bridge operations that would stop MoH would fail (as there is no Announcer channel playing MoH to the bridge). Starting MoH on the bridge will also create two MoH streams: one from the MoH being played on the participant channel, and one from the announcer channel. From the perspective of ARI users, this is counter-intuitive - I would not expect MoH to be started for me. The mixing technology determines how media is shared between participants, not the application experience. This patch does the following: * The Stasis bridge class now inspects channels as they are going into a bridge. If the bridge has a holding capability, and the channel has no roles, we give it a participant role and mark the default behaviour to have no entertainment. This allows addChannel operations to continue to set a participant role with an entertainment option if it felt like it (or could do it). * The music on hold channel is now Stasis approved (tm) Review: https://reviewboard.asterisk.org/r/3929/ ASTERISK-24264 #close Reported by: Samuel Galarneau Tested by: Samuel Galarneau ........ Merged revisions 422503 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422504 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-30confbridge: Add Duration to ConfbridgeList eventGeorge Joseph
The ConfbridgeList event doesn't include how long the user has been a member of the conference. This patch adds Duration (seconds) which is based on user->chan->answertime. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3955/ ........ Merged revisions 422444 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422445 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-30manager: Make WaitEvent action respect eventfiltersGeorge Joseph
A WaitEvent issued via an http session isn't respecting eventfilters defined for the user. I just added a match_filter to the predicate that controls astman_append. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3958/ ........ Merged revisions 422439 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422440 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422441 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422442 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-29doc: Add a manpage for the smsq utilityMatthew Jordan
This patch adds a manpage for the smsq utility. Note that this is one of the patches the Debian distro applies for the Asterisk project, as per ASTERISK-24191. Review: https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy Laine (License 6561) ........ Merged revisions 422376 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422377 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422378 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422379 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-29doc: Add a manpage for the aelparse utilityMatthew Jordan
This patch adds a manpage for the aelparse utility. Note that this is one of the patches the Debian distro applies for the Asterisk project, as per ASTERISK-24191. Review: https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy Laine (License 6561) ........ Merged revisions 422371 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422372 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422373 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422374 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-29The assertion that peer was not found on final eventScott Griepentrog
message was being triggered on configuration reload. This patch changes that case to just return instead. Review: https://reviewboard.asterisk.org/r/3953/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422358 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28LICENSE: Clarify language in Asterisk's LICENSE to allow for linking to UniMRCPMatthew Jordan
The UniMRCP project distributes Asterisk modules that integrate Asterisk with UniMRCP, and other Asterisk users use the UniMRCP library as well. Unfortunately, the UniMRCP license is Apache 2.0, which per the Free Software Foundation, is not a compatible license with the GPLv2. "Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions. The patent termination provision is a good thing, which is why we recommend the Apache 2.0 license for substantial programs over other lax permissive licenses." On the other hand, UniMRCP is a great project and we'd like to let people use it with Asterisk. This patch updates the LICENSE text to allow users to link Asterisk with UniMRCP and distribute the resulting binaries. ........ Merged revisions 422293 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422294 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422295 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422296 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28chan_iax2: Fix Dynamic IAX2 Registrations After Temporary DNS FailureMichael L. Young
The reporter on the issue found some issues when upgrading from version 10 to 11 on 55 hosts. Two situations that can occur with dynamic registrations. 1. With dnsmgr disabled, if the host is not resolvable we are not trying to resolve the host again when it is time to attempt to register again. This results in never registering to the host. 2. With dnsmgr enabled, when the host is temporarily not resolvable the address is set to 0.0.0.0:0 and then when the host is resolvable the port is not being restored and stays set to 0. This patch resolves these two issues by: * Storing the hostname so that it can be used for resolving with DNS. * Resolve the hostname on the next scheduled attempt to register. * Storing the port used to reach the host so that when the hostname is resolvable again, we can set the port again if the port is still unset after looking up the host. ASTERISK-23767 #close Reported by: David Herselman Tested by: David Herselman, Michael L. Young Patches: asterisk-23767-dns_reg_retry_and_set_port_11_v3.diff uploaded by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/3856/ ........ Merged revisions 422274 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422275 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422276 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28Added ConfBridge AMI event note to UPGRADE.txt.Richard Mudgett
........ Merged revisions 422255 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422256 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28chan_sip.c: Add 'rtpbindaddr' settingPaul Belanger
Users now have the ability to bind the rtpengine instance to a specific IP address. For example, you want chan_sip (call control) on eth0 but rtp (media) on eth1. ASTERISK-24280 #close Reported by: Paul Belanger Tested by: Paul Belanger Review: https://reviewboard.asterisk.org/r/3952/ Patches: rtpengine.diff uploaded by Paul Belanger git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28Fix bug that did not allow for multiple batched RLS notifications to be sent.Mark Michelson
A misunderstanding of how the scheduler worked caused further batched notifications beyond the first not to get scheduled. Now we reset our scheduler ID to -1 after the batched notification is sent. This way, further notifications can be scheduled when they arise. ........ Merged revisions 422239 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28res/res_pjsip/pjsip_options.c: Eliminate excessive RAII_VAR usage.Richard Mudgett
* Fix off nominal ref leak in find_or_create_contact_status(). * Add missing NULL check of status in update_contact_status() and init_start_time(). ........ Merged revisions 422214 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422215 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422216 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28sched: Fix typo and whitespace change.Richard Mudgett
........ Merged revisions 422200 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-27confbridge: Add 'Admin' param to join, leave, mute, unmute and talking eventsGeorge Joseph
Currently there's no way to tell if a user is an admin or not when receiving the join, leave, mute, unmute and talking events. This patch adds that capability. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3950/ ........ Merged revisions 422176 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422177 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-27CallerID: Fix parsing of malformed calleridKinsey Moore
This allows the callerid parsing function to handle malformed input strings and strings containing escaped and unescaped double quotes. This also adds a unittest to cover many of the cases where the parsing algorithm previously failed. Review: https://reviewboard.asterisk.org/r/3923/ Review: https://reviewboard.asterisk.org/r/3933/ ........ Merged revisions 422112 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 422113 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 422114 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422154 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-26confbridge: Make kick, mute and unmute handle channel targets consistently.George Joseph
Kick, mute and unmute were a little inconsistent in their handling of channel targets. This patch cleans that up by insuring they all handle the 'all' target consistently and adds the 'participants' target which acts on non-admins. Documentation for kick was also cleaned up as it never supported partial channel names. Tested by: George Joseph Review: https://reviewboard.asterisk.org/r/3944/ ........ Merged revisions 422090 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422091 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-26Fix race condition in the scheduler when deleting a running entry.Mark Michelson
When scheduled tasks run, they are removed from the heap (or hashtab). When a scheduled task is deleted, if the task can't be found in the heap (or hashtab), an assertion is triggered. If DO_CRASH is enabled, this assertion causes a crash. The problem is, sometimes it just so happens that someone attempts to delete a scheduled task at the time that it is running, leading to a crash. This change corrects the issue by tracking which task is currently running. If that task is attempted to be deleted, then we mark the task, and then wait for the task to complete. This way, we can be sure to coordinate task deletion and memory freeing. ASTERISK-24212 Reported by Matt Jordan Review: https://reviewboard.asterisk.org/r/3927 ........ Merged revisions 422070 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 422071 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-25res_musiconhold.c: Release any format refs before memset().Richard Mudgett
* Clear the channel music_state pointer before destroying the music_state object for safety. ........ Merged revisions 422037 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@422038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-25res_musiconhold: Fix MOH restarting where it left off from the last hold.Richard Mudgett
Restore code removed by https://reviewboard.asterisk.org/r/3536/ that introduced a regression that prevents MOH from restarting were it left off the last time. ASTERISK-24019 #close Reported by: Jason Richards Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch uploaded by rmudgett Review: https://reviewboard.asterisk.org/r/3928/ ........ Merged revisions 421976 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 421977 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421978 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421979 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-24res_pjsip_transport_websocket: Attach the Websocket module on outgoing INVITEs.Joshua Colp
In order to alter the Contact header on in-dialog requests and responses the Websocket module must be attached on outgoing INVITEs. The Contact header is modified so that the PJSIP transport layer can find and use the existing Websocket connection based on the source IP address, port, and transport. ASTERISK-24143 #close Reported by: Aleksei Kulakov ........ Merged revisions 421955 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421956 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-24res_pjsip_transport_websocket: Fix a progressive memory growth.Joshua Colp
The packet structure used to receive messages was using the transport pool. This meant that for each parsing the pool would grow accordingly. Since memory can not be reclaimed without resetting it this would cause the memory pool to grow and grow. This change uses a specific memory pool for the packet structure and resets it to a fresh state after the message has been received and handled. ........ Merged revisions 421939 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421945 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421950 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-24res_pjsip_transport_websocket: Ensure secure Websocket clients can be called.Joshua Colp
This change enforces the transport in the Contact header for Websocket clients. Previously a client may provide a transport of 'ws' when it is actually using a transport of 'wss'. This would cause outgoing calls to fail as the existing connection could not be found. ........ Merged revisions 421931 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421932 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-24chan_sip: Use the server reflexive ICE candidate RTCP port as provided.Joshua Colp
This code originally worked around an issue within res_rtp_asterisk itself. The wrong socket was being used for the STUN check for RTCP, causing the port to be the same as RTP. This was subsequently fixed and the RTCP port provided for the ICE candidate is correct and does not need to be incremented. ASTERISK-23997 #close Reported by: Badalian Vyacheslav Patches: plus1.diff submitted by Badalian Vyacheslav (license 5249) ........ Merged revisions 421909 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421910 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421911 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-22Fix a locking inversion in MixMonitor.Mark Michelson
We need to unlock the audiohook before trying to lock the channel, since the correct locking order is channel then audiohook. ........ Merged revisions 421882 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-22ARI: Fix a crash caused by hanging during playback to a channel in a bridgeJonathan Rose
ASTERISK-24147 #close Reported by: Edvin Vidmar Review: https://reviewboard.asterisk.org/r/3908/ ........ Merged revisions 421879 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421880 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-22main/message: Add a new-line to a DEBUG messageMatthew Jordan
........ Merged revisions 421859 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421860 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21res_musiconhold.c: Remove obsolete REF_DEBUG code.Richard Mudgett
Remove unneeded code that writes to the wrong file location in an obsolete format. ........ Merged revisions 421799 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 421800 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421801 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421802 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21Switch from hostname to an IP address in the SDP origin line.Mark Michelson
Using the hostname in the SDP origin line may not satisfy the requirement of RFC 4566 that we use a FQDN or IP address. This change has us use the same information from the SDP connection line if possible. If not possible, we'll use the configured media address. And if that's not possible, we use the result of a PJLIB call to get the IP address of ourself. ASTERISK-23994 #close Reported by Private Name Review: https://reviewboard.asterisk.org/r/3925 ........ Merged revisions 421796 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421797 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21Ensure after-bridge behavior is correct when moving from Stasis to a ↵Mark Michelson
non-Stasis bridge. Because of the departable state of channels that enter Stasis bridges, Stasis has to take responsibility for directing the channel to its intended after-bridge destination if the channel moves from a Stasis bridge to a non-Stasis bridge. This change ensures that when such a move occurs, when the channel leaves the bridging system, any after bridge gotos are honored. Review: https://reviewboard.asterisk.org/r/3920 ........ Merged revisions 421792 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421794 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21res_musiconhold: Fix reference leaks caused when reloading with REF_DEBUG setJonathan Rose
Due to a faulty function for debugging reference decrementing, it was possible to reduce the refcount on the wrong object if two moh classes of the same name were in the moh class container. (closes issue ASTERISK-22252) Reported by: Walter Doekes Patches: 18_moh_debug_ref_patch.diff Uploaded by Jonathan Rose (license 6182) ........ Merged revisions 398937 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 421777 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421779 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421788 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21Let's try checking the name and number, instead of the name twice.Mark Michelson
........ Merged revisions 421789 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421790 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21Improve consistency of party ID privacy usage.Mark Michelson
Prior to this change, the Remote-Party-ID header took the position of "If caller name and number are not explicitly allowed, then they are private" and P-Asserted-Identity took the position of "Caller name and number are only private if marked explicitly so" Now both mechanisms of conveying party identification use the former approach. ........ Merged revisions 421778 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421783 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21chan_sip: Don't use port derived from fromdomain if it isn't setMatthew Jordan
If a user does not provide a port in the fromdomain setting, chan_sip will set the fromdomainport to STANDARD_SIP_PORT (5060). The fromdomainport value will then get used unilaterally in certain places. This causes issues with TLS, where the default port is expected to be 5061. This patch modifies chan_sip such that fromdomainport is only used if it is not the standard SIP port; otherwise, the port from the SIP pvt's recorded self IP address is used. Review: https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close Reported by: Elazar Broad patches: fromdomainport_fix.diff uploaded by Elazar Broad (License 5835) ........ Merged revisions 421717 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 421718 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421719 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421720 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21ARI: Fix implicit answer when playback is initiated on unanswered channelMatthew Jordan
When issuing a POST /channels/{channel_id}/play on a channel that is not yet answered, ARI is supposed to: * Queue up an AST_CONTROL_PROGRESS on the channel * Start up the playback of the media Instead, we sneak an answer on the channel right before starting playing media. This is due to ARI's usage of control_streamfile. This function implicitly answers the channel (and doesn't give ARI the option to stop it). The answering of the channel here is probably unnecessary: * app_voicemail, by far the biggest consumer of this function, always answers the channels anyway * control stream file (in res_agi) and ControlPlayback probably shouldn't be implicitly answering the channel. Answering should not be tied directly to playing back media. As it turns out, the answering of the channel here is pretty old: 356042 twilson if (ast_channel_state(chan) != AST_STATE_UP) { 3087 anthm res = ast_answer(chan); 180259 tilghman } (As in, ancient?) Note that others ran into this problem and commented about it on various mailing lists. Review: https://reviewboard.asterisk.org/r/3907/ ASTERISK-24229 #close Reported by: Matt Jordan ........ Merged revisions 421695 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421696 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21Clean up files that do not end with newlinesMatthew Jordan
Trivial patch to add new lines to several files missing them. This fixes warnings when compiling with gcc 4.1.2 on CentOS 5. ASTERISK-24245 #close Reported by: Shaun Ruffell patches: 0002-Trivial-addition-of-newlines-at-end-of-three-files.patch uploaded by Shaun Ruffell (License 5417) ........ Merged revisions 421677 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421678 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21uri: Quiet warning about type qualifiers ignored on function return typeMatthew Jordan
This patch fixes gcc warnings that occur due to the type qualifier 'const' being ignored on a return type of int. ASTERISK-24246 #close Reported by: Shaun Ruffell patches: 0001-main-uri-Quiet-warning-about-ignored-attribute-on-re.patch uploaded by Shaun Ruffell (License 5417) ........ Merged revisions 421675 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-20chan_pjsip: Update media translation paths when new SDP negotiated.Richard Mudgett
On a SIP reinvite that changes media strams, the PJSIP channel driver was flooding the log with "Asked to transmit frame type %s, while native formats is %s" warnings. * Fixes PJSIP not setting up translation paths when the formats change on a reinvite. AFS-63 was effectively reintroduced because of the media formats work. res_pjsip_sdp_rtp.c:set_caps() * Improved the unexpected frame format WARNING message to include more information. * Added protective locking while altering formats on a channel. Reworked set_format() to simplify and protect the formats under manipulation. * Restored some code that got lost in the media_formats work. (channel.c:set_format() and res_pjsip_sdp_rtp.c:set_caps()) AFS-137 #close Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/3906/ ........ Merged revisions 421645 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-20cli.c: Fix tab completion of "module load" when MALLOC_DEBUG is enabled.Richard Mudgett
filename_completion_function() returns memory that was not allocated by the MALLOC_DEBUG allocation tracker so the memory must be freed by ast_std_free(). ........ Merged revisions 421600 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 421602 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 421608 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 421616 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-20Set the role for inbound subscriptions correctly.Mark Michelson
This was causing the AMI show_subscriptions test in the testsuite to fail since all subscriptions were being seen as subscribers instead of notifiers. ........ Merged revisions 421585 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421586 65c4cc65-6c06-0410-ace0-fbb531ad65f3