........
r375993 | mmichelson | 2012-11-07 11:01:13 -0600 (Wed, 07 Nov 2012) | 30 lines
Fix misuses of timeouts throughout the code.
Prior to this change, a common method for determining if a timeout
was reached was to call a function such as ast_waitfor_n() and inspect
the out parameter that told how many milliseconds were left, then use
that as the input to ast_waitfor_n() on the next go-around.
The problem with this is that in some cases, submillisecond timeouts
can occur, resulting in the out parameter not decreasing any. When this
happens thousands of times, the result is that the timeout takes much
longer than intended to be reached. As an example, I had a situation where
a 3 second timeout took multiple days to finally end since most wakeups
from ast_waitfor_n() were under a millisecond.
This patch seeks to fix this pattern throughout the code. Now we log the
time when an operation began and find the difference in wall clock time
between now and when the event started. This means that sub-millisecond timeouts
now cannot play havoc when trying to determine if something has timed out.
Part of this fix also includes changing the function ast_waitfor() so that it
is possible for it to return less than zero when a negative timeout is given
to it. This makes it actually possible to detect errors in ast_waitfor() when
there is no timeout.
(closes issue ASTERISK-20414)
reported by David M. Lee
Review: https://reviewboard.asterisk.org/r/2135/
........
r375994 | mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov 2012) | 3 lines
Remove some debugging that accidentally made it in the last commit.
........
Merged revisions 375993-375994 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 375995 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 376014 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@376015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When confbridge was changed to handle conference status with a state machine in
r374658. The function responsible for starting recording for a conference was
refactored with the function actually responsible for launching the recording
thread being split into a function with another name. The old function name was
still used for manually started recordings through AMI or CLI. This patch fixes
that by switching which function is used to start recording the conference.
(closes issue ASTERISK-20601)
Reported by: Vilius
Patches:
confbridge_mixmonitor.diff uploaded by Jonathan Rose (license 6182)
........
Merged revisions 375470 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 375471 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375472 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When a caller enters a queue and no queue member answers the call, the current
behaviour can be a little odd depending on the paused status of the queue
members. If any queue member is paused, but not all, the CDR disposition
will be BUSY. If all queue members are paused, then the CDR disposition is
based instead on the disposition of the call prior to entering the Queue.
This patch modifies the behaviour in the following ways:
* If no queue members are paused, the CDR disposition is whatever the
disposition was prior to going into Queue. If the call was answered this
will be ANSWERED; otherwise, it is NO ANSWER.
* If some queue members are pused, the CDR result is NO ANSWER. (This is a
change in behaviour, as the result would previously have been BUSY)
* If all queue members are paused, the CDR result is whatever the result was
prior to going into Queue. This is the same as the behaviour prior to this
patch.
* If the caller hangs up, times out, or presses '*' with the 'h' option, the
CDR disposition is again not set and is dependent on whether or not the
caller was Answered prior to entering Queue.
This patch was based on one provided by Thomas Arimont, but has been modified
to accomodate findings by the reviewers.
Review: https://reviewboard.asterisk.org/r/2064/
(closes issue AST-906)
Reported by: Thomas Arimont
(closes issue ASTERISK-17776)
Reported by: Attila Megyeri
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Fix documentation error when validating the xml in trunk caused by r375150.
Moved the description end tag down to below the variablelist element end tag.
Found when compiling with --dev-mode-enabled.
(issue ASTERISK-20289)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Commiting this on behalf of Kaloyan Kovachev (license 5506).
AlarmReceiver now supports the following DTMF signaling types:
- ContactId
- 4x1
- 4x2
- High Speed
- Super Fast
We are also auto-detecting which signaling is being received. So support for
those protocols should work out-the-box. Correctly identify ALAW / ULAW calls.
Some enhanced protection for broken panels and malicious callers where added.
(closes issue ASTERISK-20289)
Reported by: Kaloyan Kovachev
Review: https://reviewboard.asterisk.org/r/2088/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- receive_dtmf_digits had the wrong buffer length
- app_alarmreceiver should wait 100ms before sending the second part of handshake
(closes issue ASTERISK-20484)
Reported by: Jean-Philippe Lord
Tested by: Jean-Philippe Lord, Pedro Kiefer
Patches:
ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev (license 5506)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Passing an ast_str pointer by value that then calls
ast_str_set(), ast_str_set_va(), ast_str_append(), or
ast_str_append_va() can result in the pointer originally
passed by value being invalidated if the ast_str had
to be reallocated.
This fixes places in the code that do this. Only the
example in ccss.c could result in pointer invalidation
though since the other cases use a stack-allocated ast_str
and cannot be reallocated.
I've also updated the doxygen in strings.h to include
notes about potential misuse of the functions mentioned
previously.
Review: https://reviewboard.asterisk.org/r/2161
........
Merged revisions 375025 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 375026 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 375027 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Update and extend the configuration_file group and enable linking to the application. Update title that was left behind many years ago.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375004 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Add app_skel.c as an example in app.c and fix some formating for the "Dial Privacy scripts" so it actually shows up in the Doxygen output.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If a format name was not found by ast_getformatbyname, a NULL pointer
would be passed into ast_format_rate and immediately dereferenced.
This ensures that a valid pointer is used since the structure is
already allocated on the stack.
(closes issue DPH-523)
Reported-by: Steve Pitts
........
Merged revisions 374932 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Party A calls Party B
Party B puts Party A on hold.
Party B calls a queue.
Ringing queue member D sees Party B identification.
Party B transfers Party A to the queue.
Queue member D does not get a connected line update for Party A.
Queue member D answers the call and still sees Party B information.
However, if Party A later transfers the call to Party C then queue member
D gets a connected line update for Party C.
* Made pass connected line updates from the caller to queue members while
the queue members are ringing.
(closes issue AST-1017)
Reported by: Thomas Arimont
(closes issue ABE-2886)
Reported by: Thomas Arimont
Tested by: rmudgett
........
Merged revisions 374801 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........
Merged revisions 374802 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 374803 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 374804 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Thank's to Neil Tallim (flan)'s tireless testing, issue reporting, and patches
it became clear that app_confbridge had some complex logic in how it handled
interactions between marked, waitmarked, and unmarked users. In particular,
there were some areas in which the interactions between the users resulted
in inconsistent behavior, and app_confbridge was missing logic in how to handle
some corner cases. Some areas included:
* Poor handling of mixing unmarked and waitmarked users
* Inconsistencies in how MOH and muting was applied to various users
* Handling of various announcements for different user profile options
flan's patches seem to fix the various issues, but highlighted how hard the
code could be to maintain. In an attempt to make things easier to maintain and
to more fully enumerate the various cases that exist, this patch breaks up the
logic into a state machine-like setup.
Please note that the various state transitioned are documented on the Asterisk
wiki:
https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes
Review: //https://reviewboard.asterisk.org/r/2072/
Note that for the following issues, mjordan uploaded the patch, although it
was written by twilson. Any contributor license discrepency is due to that.
(closes issue ASTERISK-19562)
Reported by: flan
Tested by: flan, mjordan, jrose
patches:
bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)
(closes issue ASTERISK-19726)
Reported by: flan
Tested by: flan
patches:
bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)
(closes issue ASTERISK-20181)
Reported by: Jonathan White
Tested by: Jonathan White
patches:
bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)
........
Merged revisions 374652 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 374657 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Greenlight in #asterisk brought up that he was receiving an error message "Could
not create persistent member string, out of space" when running app_queue in
Asterisk 10. dump_queue_members() made an assumption that 8K would be enough to
store the generated string, but with queues that have large member lists this is
not always the case. This patch removes the limitation and uses ast_str instead
of a fixed sized buffer.
The complicating factor comes from the fact that ast_db_get requires a buffer
and buffer size argument, which doesn't let us pull back more than what we pass
in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d
copy of the value from astdb.
As an aside, I did some testing on the maximum size of data that we can store in
the BDB library we distribute and was able to store a 10MB string and retrieve
it with no problems, so I feel this is a safe patch.
Review: https://reviewboard.asterisk.org/r/2136/
........
Merged revisions 374108 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 374135 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 374150 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* The following dialplan applications now recognize 'W' to pause sending
DTMF for one second in addition to the previously existing 'w' that paused
sending DTMF for half a second. Dial, ExternalIVR, and SendDTMF.
* The chan_dahdi analog port dialing and deferred DTMF dialing for PRI now
distinguishes between 'w' and 'W'. The 'w' pauses dialing for half a
second. The 'W' pauses dialing for one second.
* Created dahdi_dial_str() in chan_dahdi that eliminated a lot of
duplicated dialing code and diagnostic messages for the channel driver.
(closes issue ASTERISK-20039)
Reported by: Jeremiah Gowdy
Patches:
jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by Jeremiah Gowdy
Expanded patch to add support in chan_dahdi.
Tested by: rmudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds an optional header to the PlayDTMF AMI action, Duration.
It allows the duration of the DTMF digit to be played on the channel to be
specified in milliseconds.
(closes issue ASTERISK-18172)
Reported by: Renato dos Santos
patches:
send-dtmf.patch uploaded by Renato dos Santos (license #6267)
Modified slightly for this commit for Asterisk 12.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Currently, if there are modifications to mailboxes that Asterisk is
not aware of, the user needs to add "pollmailboxes" to their mailbox
configuration, which repeatedly polls the subscribed mailboxes for
changes. This results in a lot of extra work for the CPU. This patch
introduces the AMI command VoicemailRefresh which permits external
applications to trigger the refresh themselves. The refresh can apply
to a specified mailbox only, an entire context, or all configured
mailboxes. Even a refresh performed on every mailbox would not consume
as much CPU as the pollmailboxes option, given that pollmailboxes runs
continuously and this only runs on demand.
(closes issue ASTERISK-17206)
(closes issue ASTERISK-19908)
Reported-by: Jeff Hutchins
Reported-by: Tilghman Lesher
Patch-by: Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Fix previously untested senarios;
1). On queue initialisation set queue_avail devstate to INUSE.
Previously was unavailable, which indicated an agent was available.
2). When removing members, if there are no other members available, set queue_avail to INUSE.
Previously, if a member interface had become 'unavailable', they were never going to be removed, particularly when persistant queues is enabled.
3). When adding a member, check that they are available, if they are set queue_avail to NOT_INUSE.
Previously on reloaded, members may have been 'unavailable'.
4). When pausing or unpausing a member, set appropriate queue availability.
alecdavis (license 585)
Reported by: Alec Davis
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2129/
........
Merged revisions 373804 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Whitespace, doc-blocks, spelling, case, missing and incorrect tags.
* Add cleanup to Makefile for the Doxygen configuration update
* Start updating Doxygen configuration for cleaner output
* Enable inclusion of configuration files into documentation
* remove mantisworkflow...
* update documentation README
* Add markup to Tilghman's email and talk with him about updating his email, he knows...
* no code changes on this commit other than the mentioned Makefile change
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Doxygen updates including mistakes, misspellings, missing parameters, updates for Doxygen style. Some missing txt file links are removed but their content or essense will be included in some later updates. A majority of the txt files were removed in the 1.6 era but never noted. The HR and EXTREF are simple changes that make the documentation more compatable with more versions of Doxygen.
Further updates coming.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When using the 'e' or 'E' option to MeetMe the configured conference bridges are loaded and examined to see
if any are empty. If no conference bridges are empty the caller is prompted to enter the number of one.
This operation left around a pointer to the last created conference bridge still containing participants.
When the caller that was not able to find any empty conference bridge hung up this pointer was disposed of
and the reference count of the conference bridge decremented. If there was only a single participant in the
conference bridge it was ultimately destroyed prematurely.
(closes issue AST-994)
Reported by: John Bigelow
........
Merged revisions 373242 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 373245 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 373246 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Alec's patch in r373188 added the ability to subscribe to a hint for when
Queue members are available. This patch modifies the check that determines
when a Queue member is available by refactoring the availability checks in
num_available_members into a shared function is_member_available. This
should now handle the ringinuse option, as well as device state values
other than AST_DEVICE_NOT_INUSE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* ASTERISK-20383
Missing named call pickup group features:
CHANNEL(callgroup) - Need CHANNEL(namedcallgroup)
CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup)
Pickup() - Needs to also select from named pickup groups.
* ASTERISK-20384
Using the pickupexten, the pickup channel selection could fail even though
there was a call it could have picked up. In a call pickup race when
there are multiple calls to pickup and two extensions try to pickup a
call, it is conceivable that the loser will not pick up any call even
though it could have picked up the next oldest matching call.
Regression because of the named call pickup group feature.
* See ASTERISK-20386 for the implementation improvements. These are the
changes in channel.c and channel.h.
* Fixed some locking issues in CHANNEL().
(closes issue ASTERISK-20383)
Reported by: rmudgett
(closes issue ASTERISK-20384)
Reported by: rmudgett
(closes issue ASTERISK-20386)
Reported by: rmudgett
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/2112/
........
Merged revisions 373220 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Sets INUSE when no free agents, NOT_INUSE when an agent is free.
modifes handle_statechange() scan members loop to scan for a free agent
and updates the Queue:queuename_avial devstate.
Previously exited early if the member was found in the queue.
Now Exits later when both a member was found, and a free agent was found.
alecdavis (license 585)
Reported by: Alec Davis
Tested by: alecdavis
Review: https://reviewboard.asterisk.org/r/2121/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The AMI action VoicemailUsersList VoicemailUserEntry event headers
ServerEmail and MailCommand did not report the global values if they were
not overridden. The VoicemailUserEntry event header ServerEmail was not
populated with the global value if the voicemail user did not override it.
The VoicemailUserEntry event header MailCommand was never populated with a
value.
* Removed unused struct ast_vm_user member mailcmd[].
(closes issue AST-973)
Reported by: John Bigelow
Tested by: rmudgett
........
Merged revisions 372620 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372621 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372622 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When MiniVM sends an e-mail and it has the volgain option set, it will spawn
sox in a separate process to handle the manipulation of the sound file. In
doing so, it creates a temporary file. There are two problems here:
1) The file descriptor returned from mkstemp is leaked
2) The finalfilename character pointer points to a buffer that loses scope
once volgain processing is finished.
Note that in r316265, Russell fixed some gcc warnings by using the return
value of the mkstemp call. A warning was placed in minivm that the file
descriptor was going to be leaked. This patch reverts that change, as it
handles the leak and 'uses' the file descriptor returned from mkstemp.
(closes issue ASTERISK-17133)
Reported by: Tzafrir Cohen
patches:
minivm_18501_demo.diff uploaded by Tzafrir Cohen (license #5035)
........
Merged revisions 372554 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372555 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372556 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The Status: header in a QueueMemberStatus event (and other QueueMember* events)
is the numeric value of the device state corresponding to that Queue Member.
As those values are not exactly obvious, listing them in the documentation is
useful.
Matt Riddell reported this indirectly through the wiki page.
(closes issue ASTERISK-20243)
Reported by: Matt Riddell
........
Merged revisions 372531 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When parsing a 'number' defined in followme.conf, FollowMe previously parsed
the number in the configuration file into a buffer with a length of 90
characters. This can artificially limit some parallel dial scenarios. This
patch allows for numbers of any length to be defined in the configuration
file.
Note that Clod Patry originally wrote a patch to fix this problem and received
a Ship It! on the JIRA issue. The patch originally expanded the buffer to 256
characters. Instead, the patch being committed duplicates the string in the
config file on the stack before parsing it for consumption by the application.
(closes issue ASTERISK-16879)
Reported by: Clod Patry
Tested by: mjordan
patches:
followme_no_limit.diff uploaded by Clod Patry (license #5138)
Slightly modified for this commit.
........
Merged revisions 372390 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372391 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372392 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This work comes courtesy of Pedro Kiefer (License #6407)
The work was posted to review board by Kaloyan Kovachev (License #5506)
(closes issue ASTERISK-16668)
Reported by Grant Crawshay
(closes issue ASTERISK-16694)
Reported by Fred van Lieshout
(closes issue ASTERISK-18417)
Reported by Kostas Liakakis
(closes issue ASTERISK-19435)
Reported by Deon George
(closes issue ASTERISK-20157)
Reported by Pedro Kiefer
(closes issue ASTERISK-20158)
Reported by Pedro Kiefer
(closes issue ASTERISK-20224)
Reported by Pedro Kiefer
Review: https://reviewboard.asterisk.org/r/2075
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch fixes two memory leaks:
1. When find_user is called with NULL as its first parameter, the voicemail
user returned is allocated on the heap. The inboxcount2 function uses
find_user in such a fashion when counting new messages, and fails to free
the resulting voicemail user object.
2. When populate_defaults is called on a voicemail user, it wipes whatever
flags have been set on the object by copying over the global flags object.
If the VM_ALLOCED flag was ste on the voicemail user prior to doing so,
that flag is removed. This leaks the voicemail user when free_user is later
called.
(closes issue ASTERISK-19155)
Reported by: Filip Jenicek
patches:
asterisk.patch2 uploaded by Filip Jenicek (license 6277)
Patch slightly modified for this commit.
Review: https://reviewboard.asterisk.org/r/2096
........
Merged revisions 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372288 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372289 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Prior to this patch, if pause or unpause was issued on an interface
without specifying a specific queue, a PAUSEALL or UNPAUSEALL event
would be logged in the queue log even if that interface wasn't a
member of any queues. This patch changes it so that these events are
only logged when at least one member of any queue exists for that
interface.
(closes issue AST-946)
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/2079/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When app_queue is unloaded, the queues container has its refcount
decremented, potentially to 0. Then the taskprocessor responsible
for handling device state changes is unreferenced. If the
taskprocessor happens to be just about to run its task, then it
will create and destroy an iterator on the queues container.
This can cause the refcount on the queues container to increase to
1 and then back to 0. Going back to 0 a second time results in
double frees.
This failure was seen periodically in the testsuite when Asterisk
would shut down.
........
Merged revisions 372089 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372090 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372091 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Queue member status would not always get updated properly when the member
was called, thus resulting in the member getting multiple calls. With this
change, we update the member's status at the time of calling, and we also
check to make sure the member is still available to take the call before
placing an outbound call.
(closes issue ASTERISK-16115)
reported by nik600
Patches:
app_queue.c-svn-r370418.patch uploaded by Italo Rossi (license #6409)
........
Merged revisions 372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 372049 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 372050 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch fixes numerous doxygen warnings across Asterisk. It also updates
the makefile to regenerate the doxygen configuration on the local system
before running doxygen to help prevent warnings/errors on the local system.
Much thanks to Andrew for tackling one of the Asterisk janitor projects!
(issue ASTERISK-20259)
Reported by: Andrew Latham
Patches:
doxygen_partial.diff uploaded by Andrew Latham (license 5985)
make_progdocs.diff uploaded by Andrew Latham (license 5985)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If a static queue had realtime members, then there could be a potential
for those realtime members not to be properly deleted from memory.
If the queue's members were loaded from realtime and then all the
members were deleted from the backend, then the queue would still
think these members existed. The reason was that there was a short-
circuit in code such that if there were no members found in the
backend, then the queue would not be updated to reflect this.
Note that this only affected static queues with realtime members.
Realtime queues with realtime members were unaffected by this issue.
(closes issue ASTERISK-19793)
reported by Marcus Haas
........
Merged revisions 371306 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 371313 from http://svn.asterisk.org/svn/asterisk/branches/10
........
Merged revisions 371324 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When a channel hangs up while being spied upon and the option to exit the
ChanSpy application when the spied on channel hangs up is set,
ast_autochan_destroy is not being called and therefore a reference to the spied
upon channel is not removed.
The symptom being reported was that when using func_group in the dialplan and
calling "group show channels" at the cli, the spied upon channel was still
being shown while "core show channels" showed that the channel was not up.
This patch calls ast_autochan_destroy when a spied upon channel hangs up and
the option to exit the ChanSpy application is set, removing the reference to
the channel allowing the count for the group that the spied channel was part of
to be decremented.
(closes issue ASTERISK-17515)
Reported by: Arkadiusz Malka
Tested by: Alexandr Gordeev, Michael L. Young
Patches:
asterisk-17515-destroy-autochan.diff
uploaded by Michael L. Young (license 5026)
........
Merged revisions 370952 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 370954 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is based on the work done by Olle Johansson on review board.
The idea is that the channel specified in an AMI originate or call
file is typically not connected to the outgoing extension until the
channel has been answered. With this change, an EarlyMedia header can
be specified for AMI originates and an early_media option can
be specified in call files. With this option set, once early media is
received on a channel, it will be connected with the outgoing extension.
(closes issue ASTERISK-18644)
Reported by Olle Johansson
Review: https://reviewboard.asterisk.org/r/1472
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The value "none" is specified in the config file as a valid value for
the "video_mode" option. The code prior to the ACO conversion did not
check for "none", but just ignored it and relied on the default zero
value. The parsing with ACO is more strict, so without handling
"none" specifically, parsing would fail.
When parsing failed, but the module loaded anyway, the config info
would never be stored, and one place in the code did not check for
this case and would segfault. It was also possible that the
aco_info struct's internals would be destroyed and used as well.
This patch keeps the module from loading after parse failures, adds
the "none" option to "video_mode", registers CLI functions only
after parsing has completed, checks the config data for NULL before
accessing it, and returns -1 on some allocation failures when
initializing.
(closes issue ASTERISK-20159)
Reported by: Birger "WIMPy" Harzenetter
Tested by: Birger "WIMPy" Harzenetter
Patches:
confbridge_fix3.txt uploaded by Terry Wilson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The paragraph describing the SubEvent belongs with the SubEvent parameter
itself, and not with its enum values. The order of parsing was placing
the description after the last enum, which isn't correct.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The heard and deleted arrays in the voicemail state structure were not
handled properly following the memory leak fix in r354890 and a fix for
an invalid free in r356797. This could result in accessing and writing
into freed memory. The allocation for these arrays has been reworked
to avoid the possibility of invalid frees, access of freed memory, and
crashes that were occurring as a result of this.
Locking around accesses and modifications of the voicemail state
structure members dh_arraysize, heard, and deleted has been added to
prevent simultaneous modification and access when IMAP storage is in
use. If IMAP storage is not in use, this locking is not compiled in.
Review: https://reviewboard.asterisk.org/r/1994/
(closes issue ASTERISK-19923)
Reported by: Dan Delaney
Tested by: Dan Delaney, Julian Yap
Patches:
vm_alloc_fix.diff uploaded by kmoore (license 6273)
........
Merged revisions 369652 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 369653 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Manager_mixmonitor included an early return on failed executions of mixmonitor
that would result in a leaked channel reference.
(closes issue ASTERISK-19943)
Reported by: Mark Murawski
Patches:
mixmonitor-trunk-368394.patch uploaded by Mark Murawski (license 5791)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Hangup handlers are an alternative to the h extension. They can be used
in addition to the h extension. The idea is to attach a Gosub routine to
a channel that will execute when the call hangs up. Whereas which h
extension gets executed depends on the location of dialplan execution when
the call hangs up, hangup handlers are attached to the call channel. You
can attach multiple handlers that will execute in the order of most
recently added first.
(closes issue ASTERISK-19549)
Reported by: Mark Murawski
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/2002/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds the core changes necessary to support AMI event documentation
in the source files of Asterisk, and adds documentation to those AMI events
defined in the core application modules. Event documentation is built from
the source by two new python scripts, located in build_tools:
get_documentation.py and post_process_documentation.py.
The get_documentation.py script mirrors the actions of the existing AWK
get_documentation scripts, except that it will scan the entirety of a source
file for Asterisk documentation. Upon encountering it, if the documentation
happens to be an AMI event, it will attempt to extract information about the
event directly from the manager event macro calls that raise the event. The
post_process_documentation.py script combines manager event instances that
are the same event but documented in multiple source files. It generates
the final core-[lang].xml file.
As this process can take longer to complete than a typical 'make all', it
is only performed if a new make target, 'full', is chosen.
Review: https://reviewboard.asterisk.org/r/1967/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines
Add support-level indications to many more source files.
Since we now have tools that scan through the source tree looking for files
with specific support levels, we need to ensure that every file that is
a component of a 'core' or 'extended' module (or the main Asterisk binary)
is explicitly marked with its support level. This patch adds support-level
indications to many more source files in tree, but avoids adding them to
third-party libraries that are included in the tree and to source files
that don't end up involved in Asterisk itself.
........
r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines
Add a script to enable finding source files without support-levels defined.
........
Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Make non-normal dialplan execution routines be able to run on a hung up
channel. This is preparation work for hangup handler routines.
* Fixed ability to support relative non-normal dialplan execution
routines. (i.e., The context and exten are optional for the specified
dialplan location.) Predial routines are the only non-normal routines that
it makes sense to optionally omit the context and exten. Setting a hangup
handler also needs this ability.
* Fix Return application being able to restore a dialplan location
exactly. Channels without a PBX may not have context or exten set.
* Fixes non-normal execution routines like connected line interception and
predial leaving the dialplan execution stack unbalanced. Errors like
missing Return statements, popping too many stack frames using StackPop,
or an application returning non-zero could leave the dialplan stack
unbalanced.
* Fixed the AGI gosub application so it cleans up the dialplan execution
stack and handles the autoloop priority increments correctly.
* Eliminated the need for the gosub_virtual_context return location.
Review: https://reviewboard.asterisk.org/r/1984/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This was essentially duplicated functionality where normal channels used
AST_CAUSE_ANSWERED_ELSEWHERE while local channels and queues used
AST_FLAG_ANSWERED_ELSEWHERE. This removes the flag and converts that usage
into AST_CAUSE_ANSWERED_ELSEWHER usage.
Review: https://reviewboard.asterisk.org/r/1944
(closes issue ASTERISK-19865)
Patch-by: Birger Harzenetter
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Presence support has been added. This is accomplished by
allowing for presence hints in addition to device state
hints. A dialplan function called PRESENCE_STATE has been
added to allow for setting and reading presence. Presence
can be transmitted to Digium phones using custom XML
elements in a PIDF presence document.
Voicemail has new APIs that allow for moving, removing,
forwarding, and playing messages. Messages have had a new
unique message ID added to them so that the APIs will work
reliably. The state of a voicemail mailbox can be obtained
using an API that allows one to get a snapshot of the mailbox.
A voicemail Dialplan App called VoiceMailPlayMsg has been
added to be able to play back a specific message.
Configuration hooks have been added. Configuration hooks
allow for a piece of code to be executed when a specific
configuration file is loaded by a specific module. This is
useful for modules that are dependent on the configuration
of other modules.
chan_sip now has a public method that allows for a custom
SIP INFO request to be sent mid-dialog. Digium phones use
this in order to display progress bars when files are played.
Messaging support has been expanded a bit. The main
visible difference is the addition of an AMI action
MessageSend.
Finally, a ParkingLots manager action has been added in order
to get a list of parking lots.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Fix only issue pointed out by deprecated_REVERSE_INULL.txt for
app_meetme.c in find_user().
* Change use of %i to %d in sscanf() in find_user(). The use of %i gives
unexpected parsing because it can accept hex, octal, and decimal integer
formats.
* Changed other uses of %i in app_meetme() to use %d for consistency.
(issue ASTERISK-19648)
Reported by: Matt Jordan
........
Merged revisions 367906 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 367907 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The Dial and Queue I option is intended to block connected line updates
and redirecting updates. However, it is a feature that when a call is
locally redirected, the I option is disabled if the redirected call runs
as a local channel so the administrator can have an opportunity to setup
new connected line information. Unfortunately, the Dial and Queue I
option is disabled for *all* forked calls if one of those calls is
redirected.
* Make the Dial and Queue I option apply to each outgoing call leg
independently. Now if one outgoing call leg is locally redirected, the
other outgoing calls are not affected.
* Made Dial not pass any redirecting updates when forking calls.
Redirecting updates do not make sense for this scenario.
* Made Queue not pass any redirecting updates when using the ringall
strategy. Redirecting updates do not make sense for this scenario.
* Fixed deadlock potential with chan_local when Dial and Queue send
redirecting updates for a local redirect.
* Converted the Queue stillgoing flag to a boolean bitfield.
(closes issue ASTERISK-19511)
Reported by: rmudgett
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1920/
........
Merged revisions 367678 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 367679 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
A patch introduced in r354938 made it so that ConfBridge would not attempt to
play sound files if those files did not exist. Unfortunately, ConfBridge uses
the same underlying function, play_sound_helper, to playback both sound files
and numbers to callers. When a number is being played back, the name of the
sound file is expected to be NULL. This NULL value was passed into a function
that tested for the existance of a sound file and is not tolerant to NULL
file names, causing a crash.
This patch fixes the behavior, such that if a sound file does not exist we
do not attempt to play it, but we only attempt that check if the a sound file
was specified in the first place. If a sound file was not specified, we use
the 'play number' logic in the helper function.
(closes issue ASTERISK-19899)
Reported by: Florian Gilcher
Tested by: Florian Gilcher
patches:
asterisk-19899.diff uploaded by mjordan (license 6283)
........
Merged revisions 367562 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Adds a number of methods for controlling the setting of 'ringinuse'
which is basically the same concept as the old ignorebusy setting,
only now the per member setting always controls whether or not the
member is actually ringed while in use. A CLI command and a manager
action have been added to change a given queue member's ringinuse
option while Asterisk is running and the an argument has been added
for adding members with deliberately set ringinuse in queues.conf
Some effort has been made to ensure compatability with dialplans and
databases still referring to 'ignorebusy'.
(issue ASTERISK-19536)
reported by: Philippe Lindheimer
Review: https://reviewboard.asterisk.org/r/1919/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367080 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch addresses a number of memory leaks in a variety of modules that were
found by a static analysis tool. A brief summary of the changes:
* app_minivm: free ast_str objects on off nominal paths
* app_page: free the ast_dial object if the requested channel technology
cannot be appended to the dialing structure
* app_queue: if a penalty rule failed to match any existing rule list
names, the created rule would not be inserted and its memory
would be leaked
* app_read: dispose of the created silence detector in the presence of
off nominal circumstances
* app_voicemail: dispose of an allocated unique ID field for MWI event
un-subscribe requests in off nominal paths; dispose of
configuration objects when using the secret.conf option
* chan_dahdi: dispose of the allocated frame produced by ast_dsp_process
* chan_iax2: properly unref peer in CLI command "iax2 unregister"
* chan_sip: dispose of the allocated frame produced by sip_rtp_read's
call of ast_dsp_process; free memory in parse unit tests
* func_dialgroup: properly deref ao2 object grhead in nominal path of
dialgroup_read
* func_odbc: free resultset in off nominal paths of odbc_read
* cli: free match_list in off nominal paths of CLI match completion
* config: free comment_buffer/list_buffer when configuration file load
is unchanged; free the same buffers any time they were
created and config files were processed
* data: free XML nodes in various places
* enum: free context buffer in off nominal paths
* features: free ast_call_feature in off nominal paths of applicationmap
config processing
* netsock2: users of ast_sockaddr_resolve pass in an ast_sockaddr struct
that is allocated by the method. Failures in
ast_sockaddr_resolve could result in the users of the method
not knowing whether or not the buffer was allocated. The
method will now not allocate the ast_sockaddr struct if it
will return failure.
* pbx: cleanup hash table traversals in off nominal paths; free
ignore pattern buffer if it already exists for the specified
context
* xmldoc: cleanup various nodes when we no longer need them
* main/editline: various cleanup of pointers not being freed before being
assigned to other memory, cleanup along off nominal paths
* menuselect/mxml: cleanup of value buffer for an attribute when that attribute
did not specify a value
* res_calendar*: responses are allocated via the various *_request method
returns and should not be allocated in the various
write_event methods; ensure attendee buffer is freed if no
data exists in the parsed node; ensure that calendar objects
are de-ref'd appropriately
* res_jabber: free buffer in off nominal path
* res_musiconhold: close the DIR* object in off nominal paths
* res_rtp_asterisk: if we run out of ports, close the rtp socket object and free
the rtp object
* res_srtp: if we fail to create the session in libsrtp, destroy the
temporary ast_srtp object
(issue ASTERISK-19665)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1922
........
Merged revisions 366880 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 366881 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is the starting point for the Asterisk 11: Who Hung Up work and provides
a framework which will allow channel drivers to report the types of hangup
cause information available in SIP_CAUSE without incurring the overhead of the
MASTER_CHANNEL dialplan function. The initial implementation only includes
cause generation for chan_sip and does not include cause code translation
utilities.
This change deprecates SIP_CAUSE and replaces its method of reporting cause
codes with the new framework. This change also deprecates the 'storesipcause'
option in sip.conf.
Review: https://reviewboard.asterisk.org/r/1822/
(Closes issue SWP-4221)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Before this patch, the predial routine executes on the ;1 channel of a
local channel pair. Executing predial on the ;1 channel of a local
channel pair is of limited utility. Any channel variables set by the
predial routine executing on the ;1 channel will not be available when the
local channel executes dialplan on the ;2 channel.
* Create ast_pre_call() and an associated pre_call() technology callback
to handle running the predial routine. If a channel technology does not
provide the callback, the predial routine is simply run on the channel.
Review: https://reviewboard.asterisk.org/r/1903/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This resolves core findings from ASTERISK-19650 numbers 0-2, 6, 7, 9-11, 14-20,
22-24, 28, 30-32, 34-36, 42-56, 82-84, 87, 89-90, 93-102, 104, 105, 109-111,
and 115. Finding numbers 26, 33, and 29 were already resolved. Those skipped
were either extended/deprecated or in areas of code that shouldn't be
disturbed.
(Closes issue ASTERISK-19650)
........
Merged revisions 366167 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 366168 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If you hit the wrong DTMF digit trying to accept/decline a FollowMe call,
you had to wait for the prompt to repeat to try again.
* Make FollowMe compare the last DTMF digits received to the
accept/decline matching strings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The FollowMe caller call leg is usually answered and listening to MOH.
The caller could put the call on hold while FollowMe is looking for a
winner. The winning outgoing call is now immediately placed on hold if
the caller has put the call on hold before the winning call was selected.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Why this tiny struct was malloced instead of the 28k struct in the last
change is beyond me. Just doing my part to help stamp out sillyness.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365766 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Sending the 'I' command from an external process will cause the current playlist
to be cleared, including stopping any audio file that is currently playing. This
is useful when you want to interrupt audio playback only when specific DTMF is
entered by the caller.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The VoiceMail d([c]) option is documented to accept digits for a new extension
in context <c>, if played during the greeting. This option works fine if the
extension being redirected to has an extension with the same initial digit in
the channel's current context. If that digit did not happen to exist in some
extension, a dialplan match would fail and the user would not be redirected.
This patch fixes it such that if the <c> option is used, the extensions are
matched in that context as opposed to the caller's original context.
(closes issue ASTERISK-18243)
Reported by: mjordan
Tested by: mjordan
Review: https://reviewboard.asterisk.org/r/1892
........
Merged revisions 365474 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 365475 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Most of the changes here are trivial NULL checks. There are a couple
optimizations to remove the need to check for NULL and outboundproxy parsing
in chan_sip.c was rewritten to avoid use of strtok. Additionally, a bug was
found and fixed with the parsing of outboundproxy when "outboundproxy=," was
set.
(Closes issue ASTERISK-19654)
........
Merged revisions 365398 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 365399 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@365400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The configuration option to specify a custom sound_leader_has_left file for a
conference bridge was not being parsed. This patch fixes it so that a custom
sound file will now be used.
(closes issue ASTERISK-19771)
Reported by: Pawel Kuzak
Tested by: Pawel Kuzak, Michael L. Young
Patches: leaderhasleft_sound.dpatch uploaded by Pawel Kuzak (license 6380)
Review: https://reviewboard.asterisk.org/r/1884/
........
Merged revisions 364536 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The warnings were about argv[0] being used uninitialized, which is correct.
Just remove setting username to this value, since username is set again before
it actually gets used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Simplify some code in app_dial and app_queue by calling
ast_app_exec_macro() and ast_app_exec_sub().
* Fix minor locking issue in app_dial for post-answer macro/gosub
MACRO/GOSUB_RESULT=GOTO: handling.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Redo ast_app_run_sub()/ast_app_exec_sub() to use a known return point so
execution will stop after the routine returns there.
(s@gosub_virtual_context:1)
* Create ast_app_exec_macro() and ast_app_exec_sub() to run the macro and
gosub application respectively with the parameter string already created.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The CHANNEL_DEADLOCK_AVOIDANCE() feature of preserving where the channel
lock was originally obtained is overkill where ast_channel_lock_both() was
inlined.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The Speech API apps return -1 on failure, which will hang up the channel. This
may not be desirable behavior for some, but it isn't something that can be
changed without breaking people's dialplans or writing an option to all of the
Speech apps that does what TryExec already does. This patch documents the
hangup behavior of the apps, and suggests TryExec as the solution.
(closes issue AST-813)
........
Merged revisions 362815 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 362816 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* chan_mobile: Fixed an overrun where the cind_state buffer (an integer array
of size 16) would be overrun due to improper bounds checking. At worst, the
buffer can be overrun by a total of 48 bytes (assuming 4-byte integers),
which would still leave it within the allocated memory of struct hfp. This
would corrupt other elements in that struct but not necessarily cause any
further issues.
* app_sms: The array imsg is of size 250, while the array (ud) that the data
is copied into is of size 160. If the size of the inbound message is
greater then 160, up to 90 bytes could be overrun in ud. This would corrupt
the user data header (array udh) adjacent to ud.
* chan_unistim: A number of invalid memmoves are corrected. These would move
data (which may or may not be valid) into the ends of these buffers.
* asterisk: ast_console_toggle_loglevel does not check that the console log
level being set is less then or equal to the allowed log levels of 32.
* format_pref: In ast_codec_pref_prepend, if any occurrence of the specified
codec is not found, the value used to index into the array pref->order
would be one greater then the maximum size of the array.
* jitterbuf: If the element being placed into the jitter buffer lands in the
last available slot in the jitter history buffer, the insertion sort attempts
to move the last entry in the buffer into one slot past the maximum length
of the buffer. Note that this occurred for both the min and max jitter
history buffers.
* tdd: If a read from fsk_serial returns a character that is greater then 32,
an attempt to read past one of the statically defined arrays containing the
values that character maps to would occur.
* localtime: struct ast_time and tm are not the same size - ast_time is larger,
although it contains the elements of tm within it in the same layout. Hence,
when using memcpy to copy the contents of tm into ast_time, the size of tm
should be used, as opposed to the size of ast_time.
* extconf: this treats ast_timing's minmask array as if it had a length of 48,
when it has defined the size of the array as 24. pbx.h defines minmask as
having a size of 48.
(issue ASTERISK-19668)
Reported by: Matt Jordan
........
Merged revisions 362485 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 362496 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When storing a voicemail message using an ODBC connection to a database, the
voicemail message is first stored on disk. The sound file associated with
the message is read into memory before being transmitted to the database.
When this occurs, a failure in the C library's lseek function would cause a
negative value to be passed to the mmap as the size of the memory map to
create. This would almost certainly cause the creation of the memory map to
fail, resulting in the message being lost.
(issue ASTERISK-19655)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1863
........
Merged revisions 362201 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 362202 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Prior to this patch, ForkCDR's e option would immediately set the end time of the forked
CDR to that of the CDR that is being terminated. This resulted in the new CDR's end time
being roughly the same as it's beginning time (which is in turn roughly the same as the
original's end time).
(closes issue ASTERISK-19164)
Reported by: Steve Davies
Patches:
cdr_fork_end.v10.patch uploaded by Steve Davies (license 5012)
........
Merged revisions 362082 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 362084 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
A memory leak/reference counting leak occurs if the MeetMeAdmin 'e' command
(eject last user that joined) is used in conjunction with a specified user.
Regardless of the command being executed, if a user is specified for the
command, MeetMeAdmin will look up that user. Because the 'e' option kicks
the last user that joined, as opposed to the one specified, the reference to
the user specified by the command would be leaked when the user variable
was assigned to the last user that joined.
........
Merged revisions 361558 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 361560 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@361561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Echo()'s description states that it echoes audio, video, and DTMF except for #
while it actually echoes any frame that it receives other than DTMF #. This
was causing frame storms in the test suite in some circumstances where Echo()
was attached to both ends of a pair of local channels and control frames
were being periodically generated. Echo()'s behavior and description have
been modifed so that it only echoes media and non-# DTMF frames.
........
Merged revisions 360033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 360034 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Added 'b' and 'B' options to Dial. These options will allow you to run
last-minute dialplan on the caller and callee channels while the Dial
application is executing, but before the call is started. For example you
can use the 'b' option to run dialplan on the callee channel to get the name
of the newly created channel right away.
Review: https://reviewboard.asterisk.org/r/1229/
(closes issue: ASTERISK-19548)
Reported by: Mark Murawski
Tested by: Mark Murawski, Stefan Schmidt
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Milliwatt is vulnerable to a remotely exploitable stack overrun when using
the 'o' option. This occurs due to the milliwatt_generate function not
accounting for AST_FRIENDLY_OFFSET when calculating the maximum number of
samples it can put in the output buffer.
This patch resolves this issue by taking into account AST_FRIENDLY_OFFSET
when determining the maximum number of samples allowed. Note that at no
point is remote code execution possible. The data that is written into the
buffer is the pre-defined Milliwatt data, and not custom data.
(closes issue ASTERISK-19541)
Reported by: Russell Bryant
Tested by: Matt Jordan
Patches:
milliwatt_stack_overrun.rev1.txt by Russell Bryant (license 6283)
Note that this patch was written by Russell, even though Matt uploaded it
........
Merged revisions 359645 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........
Merged revisions 359656 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 359694 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359704 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When connected line support was added, the wait_for_answer() variable
single changed its meaning slightly. Unfortunately, the places where
single was used did not necessarily get updated to reflect that change.
Also audio/video frames were sent to all forked calls when the endpoints
were never made compatible.
* Don't pass audio/video media frames when the channels have not been made
compatible.
* Added handling of AST_CONTROL_SRCCHANGE to app_dial.c.
* Fixed app_dial.c passing on AST_CONTROL_HOLD because that frame can also
pass a requested MOH class.
(closes issue ASTERISK-16901)
Reported by: Chris Gentle
(closes issue ASTERISK-17541)
Reported by: clint
Review: https://reviewboard.asterisk.org/r/1805/
........
Merged revisions 359344 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 359355 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@359357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This change restores functionality that was present in 1.4, when AEL macros
were implemented with the Macro dialplan application. Macros are fraught with
functionality issues, because they consume a large portion of the underlying
application stack. This limits the ability of AEL users to call many layers
of subroutines, an issue which Gosub does not have (originally tested to
100,000 levels deep). Therefore, starting in 1.6.0, AEL macros were
implemented with Gosub.
However, there were some implicit behaviors of Macro, which were not replicated
at the same time as with the transition to Gosub, one of which is documented in
the related issue. In particular, the "h" extension is designed to execute not
in the Macro context, but in the topmost calling context. Due to legacy issues
with a misapplied bugfix many years ago, when a macro exited in 1.4, it looks
in all calling contexts, bubbling up from the deepest level until it finds an
"h" extension.
Since AEL hides the complexity of the underlying dialplan logic from the AEL
programmer, it's reasonable to assume that this behavior should not change in
the transition from Asterisk 1.4 LTS to Asterisk 1.8 LTS, lest we break
working AEL configurations in the transition to Asterisk 1.8 LTS. This fix
is the result, which implements a search for the "h" extension in all calling
Gosub contexts.
Fixes ASTERISK-19336
Patch: 20120308__ael_bugfix_for_trunk__2.diff (License #5003) by Tilghman Lesher
(with slight modifications for 1.8)
Tested by: Johan Wilfer
Review: https://reviewboard.asterisk.org/r/1776/
........
Merged revisions 358810 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 358811 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This should (and does in my testing) act just like the Dial option of the same name.
This allows a queue member to be transfered to the next priority (no args), or to
a context/extension/priority similar to goto (with args context^extension^priority)
when a caller hangs up on them.
(closes issue ASTERISK-19283)
Reported by: To
Patches:
queue_f-v3.diff uploaded by To (license 6347)
Review: https://reviewboard.asterisk.org/r/1785/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When the stack frame is allocated, we save the address to which we should
return, when the Gosub returns. However, if we just want to restore the
priority, then we need to subtract 1 before setting it. Otherwise, when
a Gosub goes to a nonexistent address, it will skip a priority in the
dialplan. This is because when we return from an application, the PBX
increments the priority for us.
........
Merged revisions 357416 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 357421 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit adds GoSub alternatives to connected line, redirecting, and CCSS
macro hooks so that macro can finally be deprecated. This also adds
deprecation warnings for those features when used and in documentation.
Review: https://reviewboard.asterisk.org/r/1760/
(closes issue SWP-4256)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
In r354890, a memory leak in app_voicemail was fixed by properly disposing of
the allocated heard/deleted pointers. However, there are situations,
particularly when no messages are found in a folder, where these pointers are
not allocated and not NULL. In that case, an invalid free would be attempted,
which could crash app_voicemail. As there are a number of code paths where
this could occur, this patch uses the number of messages detected in the folder
before it attempts to free the pointers. This resolves the crash detected in
the Asterisk Test Suite's check_voicemail_nominal test.
........
Merged revisions 356797 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 356798 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This simply fixes the compilation issue introduced in r354429 by
re-adding the 'quote' variable.
(closes issue ASTERISK-19337)
Reported by: John Taylor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.
Review: https://reviewboard.asterisk.org/r/1661/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
MixMonitor receives a new option i(channel_variable) which stores the unique id at said
variable. StopMixMonitor now accepts ID as an optional argument, which if included will
make StopMixMonitor specifically target the mixmonitor on that particular channel. CLI
commands and AMI actions have been ammended to work with the IDs as well. In addition,
monitors across a channel can now be listed be listed via CLI command "mixmonitor list
<channel>" which will display all of the mixmonitors active on that channel along with
the files they each have open. Created by Sergio González Martín.
(closes issue ASTERISK-19096)
Reported by: Sergio González Martín
Review: https://reviewboard.asterisk.org/r/1643/
Review: https://reviewboard.asterisk.org/r/1682/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Previously, realtime queues could be loaded without defining the queue member
table. This allowed for queue members to be dynamic, while the realtime
queue definitions could exist in some backing storage. Revision 342223 broke
this when it changed the return value for realtime_multientry to return NULL
when no results are returned. Previously, an empty ast_config object was
expected.
(closes issue ASTERISK-19170)
Reported by: Rene Mendoza
Tested by: Rene Mendoza
Patches:
rt_queue_member_patch.diff uploaded by Matt Jordan (license 6283)
........
Merged revisions 350552 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 350553 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch addresses two issues in ConfBridge and the channel bridge layer:
1. It fixes a race condition wherein the bridge channel could be hung up
2. It removes the deadlock avoidance from the bridging layer and makes the
bridge_pvt an ao2 ref counted object
Patch by David Vossel (mjordan was merely the commit monkey)
(issue ASTERISK-18988)
(closes issue ASTERISK-18885)
Reported by: Dmitry Melekhov
Tested by: Matt Jordan
Patches: chan_bridge_cleanup_v.diff uploaded by David Vossel (license 5628)
(closes issue ASTERISK-19100)
Reported by: Matt Jordan
Tested by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1654/
........
Merged revisions 350550 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.
This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.
The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.
The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).
Review: https://reviewboard.asterisk.org/r/1655/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When looking up a ConfBridge profile, the config parser would, if it
found a channel datastore on the channel requesting the bridge profile,
unlock the channel mutex twice. Since that's a little aggressive,
it now only unlocks it once.
(closes issue ASTERISK-19042)
Reported by: Matt Jordan
Tested by: Matt Jordan
Patches:
19042 uploaded by David Vossel (license 5628)
........
Merged revisions 349619 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch allows the imapserver, imapport, and imapflags settings to be
overridden for any voicemail user. It also documents the settings in
the sample voicemail.conf file, and updates the voicemail schema to
allow storage of those columns.
(closes issue ASTERISK-16489)
Reporter: Hubert Mickael
Tested by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1614/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r349045 | seanbright | 2011-12-23 12:32:33 -0500 (Fri, 23 Dec 2011) | 25 lines
Merged revisions 349044 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r349044 | seanbright | 2011-12-23 12:25:01 -0500 (Fri, 23 Dec 2011) | 18 lines
In ChanSpy, don't create audiohooks that will never be used.
When ChanSpy is initialized it creates and attaches 3 audiohooks:
1) Read audio off of the channel that we are spying on
2) Write audio to the channel that we are spying on
3) Write audio to the channel that is bridged to the channel that we are
spying on.
The first is always necessary, but the others are used only when specific
options are passed to the ChanSpy application (B, d, w, and W to be specific).
When those flags are not passed, neither of those audiohooks are ever sent
frames, but we still try to process the hooks for each voice frame that we
recieve on the channel.
So in short - only create and attach audiohooks that we actually need.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
In order to check the availability of the caller's name, app_voicemail will check for an
audio file in <astspooldir>/recordings/callerids/
This change sets a precedent for where to put recordings of names. Currently the idea is
that recordings here could also be used for applications like confbridge and meetme to
find recorded names in this folder from callerid (when another recording isn't available)
(closes issue ASTERISK-18565)
Reporter: Russell Brown
Patches:
r uploaded by Russel Brown (license 6182)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
ParkAndAnnounce tried to pass the CallerID to the announcing channel but
the ID was wiped out by the channel masquerade done when parking the call.
* Save the CallerID before parking the channel to pass it to the
announcing channel.
* Fixed a minor memory leak in ParkAndAnnounce.
* Updated some ParkAndAnnounce log messages.
........
Merged revisions 348310 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 348311 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Previously, app_originate could not originate a call into a non-8kHz conference
bridge as the formats for non-8kHz slin codecs were not applied to the created
channel. This patch adds all of the formats by default, such that if a created
channel has a codec that supports a higher sampling rate, a translation path
can be built between it and other channels.
........
Merged revisions 348265 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The function QUEUE_MEMBER has two required parameters (queuename, option). It
was only checking for the presence of queuename. The patch checks for the
existence of the option parameter and provides better error logging when
invalid values are provided for the option parameter as well.
........
Merged revisions 348211 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Provided a more descriptive error message when a value supplied for the parameter
type is not one of the acceptable values.
(closes issue ASTERISK-18717)
Reported by: Paul Belanger
Patches:
__20111103-better-confbridge_info-error-msg.txt (License #4999)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The addition of the Connected Line support changed how CallerID is passed
to outgoing calls. The FollowMe application was not updated to pass
CallerID to the outgoing calls.
* Fix FollowMe CallerID on outgoing calls.
* Restructured findmeexec() to fix several memory leaks and eliminate some
duplicated code.
* Made check the return value of create_followme_number(). Putting a NULL
into the numbers list is bad if create_followme_number() fails.
* Fixed a couple uses of ast_strdupa() inside loops.
* The changes to bridge_builtin_features.c fix a similar CallerID issue
with the bridging API attended and blind transfers. (Not used at this
time.)
(closes issue ASTERISK-17557)
Reported by: hamlet505a
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1612/
........
Merged revisions 348101 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 348102 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
These commands work much like the dialplan applications that would otherwise invoke them.
A nice benefit of these is that they can be invoked on a call remotely and at any time
during a call. They work much like the Monitor and StopMonitor ami commands.
(closes issue ASTERISK-17726)
Reported by: Sergio González Martín
Patches:
mixmonitor_actions.diff uploaded by Sergio González Martín (license 5644)
Review: https://reviewboard.asterisk.org/r/1193/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When a caller sends DTMF while the SayUnixTime application is saying the time, The call
would jump to the next extension much like it does during Background(). This patch adds
option 'j' to SayUnixTime which when used employs the old behavior. Also, this patch
allows arguments to sayunixtime to not be used as empty strings in the case of something
like 'sayunixtime(,,,j)' or 'sayunixtime(,,pattern).
(closes issue ASTERISK-16675)
Reported by: jlpedrosa
Patches:
patch_SayUnixTime_noJump.patch uploaded by jlpedrosa (license 5959)
Review: https://reviewboard.asterisk.org/r/956/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
r325483 caused a regression in Asterisk 10+ that would make Asterisk segfault when
attempting to set penalty on an interface without specifying a queue in the queue set
penalty CLI command. In addition, no attempt would be made whatsoever to perform the
penalty setting on all the queues in the core list with either the cli command or the
non-segfaulting ami equivalent. This patch fixes that and also makes an attempt to
document and rename some functions required by this command to better represent what
they actually do. Oh yeah, and the use of this command without specifying a specific
queue actually works now.
Review: https://reviewboard.asterisk.org/r/1609/
........
Merged revisions 347656 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Meetme would attempt to substitute the realtime values of RECORDING_FILE and
RECORDING_FORMAT from the meetme db entry instead of using the channel variable set
for those variables in spite of those database entries being NULL or even lacking
a column to represent them.
(closes issue ASTERISK-18873)
Reported by: Byron Clark
Patches:
ASTERISK-18873-1.patch uploaded by Byron Clark (license 6157)
........
Merged revisions 347369 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 347383 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds two new menu features to app_confbridge, admin_toggle_menu_
participants and participant_count. The admin action will globally mute /
unmute all non-admin participants on a converence, while the participant
count simply exposes the existing participant count function to the
conference bridge menu.
This also adds configuration options to change the sound played when the
conference is globally muted / unmuted, as well as the necessary config
hooks to place these functions in the DTMF menus.
(closes issue ASTERISK-18204)
Reported by: Kevin Reeves
Tested by: Matt Jordan
Patches:
app_confbridge.c.patch.txt, conf_config_parser.c.patch.txt,
confbridge.h.patch.txt uploaded by Kevin Reeves (license 6281)
Review: https://reviewboard.asterisk.org/r/1518/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@345560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
It was strange that the AgentCalled AMI event would get most of its
information from the incoming channel but then get the CallerID
information from the outgoing channel. Before connected line support was
added, this information was always the same at this point.
(closes issue ASTERISK-18152)
Reported by: Thomas Farnham
Tested by: rmudgett
........
Merged revisions 344536 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 344537 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@344538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The MeetMe application documentation has some comments about usage of DAHDI,
and they were a bit outdated relative to modern DAHDI releases. This patch
changes the comment to just tell the user that a functional DAHDI timing
source is required, and no longer mention 'dahdi_dummy', since that module
does not exist in current DAHDI releases.
........
Merged revisions 342990 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 342991 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Despite an ominous sounding comment stating that membercount was for "logged
in" members only and thus we couldn't use ao2_container_count(), I could not
find a single place in the code where that seemed to be accurate. The only time
we decremented membercount was when we were marking something dead or actually
removing it. The only places we incremented it were either after ao2_link(), or
trying to correct for having set it to 0 during a reload. In every case where
we were correcting the value, it seemed that we were trying to make the count
actually match what ao2_container_count() would return. The only place I could
find where we made a determination about something being "logged in" or not, we
didn't trust the membercount, but instead looked at devicestate, paused, etc.
This patch removes membercount, replaces its use with ao2_container_count, and
manually adds the results of ao2_container_count to a "membercount" field for
ast_data queue query results. This patch also would fix AST-676, but as it is
slightly riskier than the previously committed fix, the two commits have been
made separately.
Reivew: https://reviewboard.asterisk.org/r/1541/
........
Merged revisions 342383 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 342384 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
To use the new OBJ_KEY flag, the container hash and compare callback
functions must be updated to support OBJ_KEY. Otherwise, bad things
happen.
(issue ASTERISK-14769)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
........
r341580 | irroot | 2011-10-20 19:13:23 +0200 (Thu, 20 Oct 2011) | 15 lines
Add option to check state when state is unknown
r341486 reverts r325483 this is a rework of the patch.
optimize to minimize load.
add option check_state_unknown to control whether a member with unknown
device state is checked there is a small % chance that calls will be sent
to the member when they on a call.
app_queue will see a device with unknown state as available and does not
try verify the state without this option enabled.
Review: https://reviewboard.asterisk.org/r/1535/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
........
r341486 | mnicholson | 2011-10-19 16:23:17 -0500 (Wed, 19 Oct 2011) | 18 lines
Fix a performance regression introduced in r325483.
The regression was caused by a call to ast_parse_device_state() in app_queue's
ring_entry() function. The ast_parse_device_state() function eventually calls
ast_channel_get_full() with a channel name prefix which causes it to walk the
channel list causing massive lock contention and slow downs.
This patch fixes the regression by removing the call to
ast_parase_device_state() which should be unnecessary. Queue member device
state should be maintained by device state events. Some users have seen
instances where busy agents were called when they shouldn't have, which is the
reason the call to ast_parse_device_state() was added. That change appears to
have resolved that issue but also causes this performance regression. There may
still be issues with queue member status, and if so, alternative methods should
be investigated to resolve them.
AST-695
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r340109 | mnicholson | 2011-10-10 09:15:41 -0500 (Mon, 10 Oct 2011) | 18 lines
Merged revisions 340108 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r340108 | mnicholson | 2011-10-10 09:14:48 -0500 (Mon, 10 Oct 2011) | 11 lines
Load the proper XML documentation when multiple modules document the same application.
This patch adds an optional "module" attribute to the XML documentation spec
that allows the documentation processor to match apps with identical names from
different modules to their documentation. This patch also fixes a number of
bugs with the documentation processor and should make it a little more
efficient. Support for multiple languages has also been properly implemented.
ASTERISK-18130
Review: https://reviewboard.asterisk.org/r/1485/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r337974 | rmudgett | 2011-09-26 14:35:23 -0500 (Mon, 26 Sep 2011) | 37 lines
Merged revisions 337973 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r337973 | rmudgett | 2011-09-26 14:30:39 -0500 (Mon, 26 Sep 2011) | 30 lines
Fix deadlock when using dummy channels.
Dummy channels created by ast_dummy_channel_alloc() should be destoyed by
ast_channel_unref(). Using ast_channel_release() needlessly grabs the
channel container lock and can cause a deadlock as a result.
* Analyzed use of ast_dummy_channel_alloc() and made use
ast_channel_unref() when done with the dummy channel. (Primary reason for
the reported deadlock.)
* Made app_dial.c:dial_exec_full() not call ast_call() holding any channel
locks. Chan_local could not perform deadlock avoidance correctly.
(Potential deadlock exposed by this issue. Secondary reason for the
reported deadlock since the held lock was part of the deadlock chain.)
* Fixed some uses of ast_dummy_channel_alloc() not checking the returned
channel pointer for failure.
* Fixed some potential chan=NULL pointer usage in func_odbc.c. Protected
by testing the bogus_chan value.
* Fixed needlessly clearing a 1024 char auto array when setting the first
char to zero is enough in manager.c:action_getvar().
(closes issue ASTERISK-18613)
Reported by: Thomas Arimont
Patches:
jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Thomas Arimont
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r337120 | mjordan | 2011-09-20 17:49:36 -0500 (Tue, 20 Sep 2011) | 28 lines
Merged revisions 337118 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r337118 | mjordan | 2011-09-20 17:38:54 -0500 (Tue, 20 Sep 2011) | 21 lines
Fix for incorrect voicemail duration in external notifications
This patch fixes an issue where the voicemail duration was being reported
with a duration significantly less than the actual sound file duration.
Voicemails that contained mostly silence were reporting the duration of
only the sound in the file, as opposed to the duration of the file with
the silence. This patch fixes this by having two durations reported in
the __ast_play_and_record family of functions - the sound_duration and the
actual duration of the file. The sound_duration, which is optional, now
reports the duration of the sound in the file, while the actual full duration
of the file is reported in the duration parameter. This allows the voicemail
applications to use the sound_duration for minimum duration checking, while
reporting the full duration to external parties if the voicemail is kept.
(issue ASTERISK-2234)
(closes issue ASTERISK-16981)
Reported by: Mary Ciuciu, Byron Clark, Brad House, Karsten Wemheuer, KevinH
Tested by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1443
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@337124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r336659 | rmudgett | 2011-09-19 13:51:19 -0500 (Mon, 19 Sep 2011) | 38 lines
Merged revisions 336658 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r336658 | rmudgett | 2011-09-19 13:46:40 -0500 (Mon, 19 Sep 2011) | 31 lines
Made Dial d and H options no longer immediately auto-answer the calling leg.
The Dial d and H options break DTMF attended transfer atxferdropcall
option.
1) Party A calls party B.
2) Party B does a DTMF attended transfer to Party C.
If the dialplan uses the Dial d or H options to call Party C then the Dial
application answers the call immediately before initiating the call leg to
Party C. The premature answer causes the transfer code to not invoke the
atxferdropcall=no behavior for a blonde transfer since Party C has
"answered". The transfer code thinks that Party B has "consulted" with
Party C when Party B hangs up and completes the transfer to Party A.
Party A now hears ringback until Party C actually answers.
ASTERISK-13294 Dial d option.
ASTERISK-11067 Dial H option to disconnect before answer.
The referenced issues made Dial answer with the d and H options because
many SIP and ISDN phones cannot send DTMF before the call is connected.
* Made require the dialplan to control when or if the call needs to be
answered to use the Dial application d and H options. (The call is no
longer surprise answered when using the Dial d or H options.)
Review: https://reviewboard.asterisk.org/r/1381/
JIRA AST-623
JIRA AST-666
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r336094 | irroot | 2011-09-15 17:54:46 +0200 (Thu, 15 Sep 2011) | 26 lines
Merged revisions 336093 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r336093 | irroot | 2011-09-15 17:46:21 +0200 (Thu, 15 Sep 2011) | 20 lines
Locking order in app_queue.c causes deadlocks.
a channel lock must never be held with the queues container lock held.
the deadlock occured on masquerade.
the queues container lock is a relic of the past the old queue module lock.
with ao2 there is no need to hold this lock when dealing with members this
patch removes unneeded locks.
(closes issue ASTERISK-18101)
(closes issue ASTERISK-18487)
Reported by: Paul Rolfe, Jason Legault
Tested by: irroot, Jason Legault, Paul Rolfe
Reviewed by: Matthew Nicholson
Review: https://reviewboard.asterisk.org/r/1402/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
........
r336042 | oej | 2011-09-15 14:46:38 +0200 (Tor, 15 Sep 2011) | 12 lines
Meetme: Introducing a new option "k" to kill a conference if there's only a single member left.
When using Meetme as a modular call bridge from third party applications, it's handy to make
it behave like a normal call bridge. When the second to last person exists, the last person
will be kicked out of the conference when this option is enabled.
(closes issue ASTERISK-18234)
Review: https://reviewboard.asterisk.org/r/1376/
Patch by oej, sponsored by ClearIT, Solna, Sweden
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@336043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r335346 | kmoore | 2011-09-12 09:22:15 -0500 (Mon, 12 Sep 2011) | 17 lines
Merged revisions 335341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r335341 | kmoore | 2011-09-12 09:21:17 -0500 (Mon, 12 Sep 2011) | 10 lines
Ensure frames are not written to dialed channel if ringback is requested
When a single channel was dialed and there was media to be forwarded to the
calling channel, the media was written without regard for ringback causing
silence to be heard in some circumstances. This regression was introduced
when the meaning of "single" changed to mean only the number of channels
dialed.
(closes issue ASTERISK-18083)
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines
Merged revisions 335064 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines
Updated SIP 484 handling; added Incomplete control frame
When a SIP phone uses the dial application and receives a 484 Address
Incomplete response, if overlapped dialing is enabled for SIP, then
the 484 Address Incomplete is forwarded back to the SIP phone and the
HANGUPCAUSE channel variable is set to 28. Previously, the Incomplete
application dialplan logic was automatically triggered; now, explicit
dialplan usage of the application is required.
Additionally, this patch adds a new AST_CONTOL_FRAME type called
AST_CONTROL_INCOMPLETE. If a channel driver receives this control frame,
it is an indication that the dialplan expects more digits back from the
device. If the device supports overlap dialing it should attempt to
notify the device that the dialplan is waiting for more digits; otherwise,
it can handle the frame in a manner appropriate to the channel driver.
(closes issue ASTERISK-17288)
Reported by: Mikael Carlsson
Tested by: Matthew Jordan
Review: https://reviewboard.asterisk.org/r/1416/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r333370 | mjordan | 2011-08-26 10:58:37 -0500 (Fri, 26 Aug 2011) | 26 lines
Merged revisions 333339 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r333339 | mjordan | 2011-08-26 08:36:36 -0500 (Fri, 26 Aug 2011) | 20 lines
Bug fixes for voicemail user emailsubject / emailbody.
This code change fixes a few issues with the voicemail user override of
emailbody and emailsubject, including escaping the strings, potential memory
leaks, and not overriding the voicemail defaults. Revision 325877 fixed this
for ASTERISK-16795, but did not fix it for ASTERISK-16781. A subsequent
check-in prevented 325877 from being applied to 10. This check-in resolves
both issues, and applies the changes to 1.8, 10, and trunk.
(closes issue ASTERISK-16781)
Reported by: Sebastien Couture
Tested by: mjordan
(closes issue ASTERISK-16795)
Reported by: mdeneen
Tested by: mjordan
Review: https://reviewboard.asterisk.org/r/1374
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r333011 | rmudgett | 2011-08-23 13:15:49 -0500 (Tue, 23 Aug 2011) | 19 lines
Merged revisions 333010 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r333010 | rmudgett | 2011-08-23 13:14:01 -0500 (Tue, 23 Aug 2011) | 12 lines
Memory Leak in app_queue
The patch that was committed in the 1.6.x versions of Asterisk for
ASTERISK-15862 actually fixed two issues. One was not applicable to 1.8
but the other is. queue_leak.patch fixes the portion applicable to 1.8.
(closes issue ASTERISK-18265)
Reported by: Fred Schroeder
Patches:
queue_leak.patch (license #5049) patch uploaded by mmichelson
Tested by: Thomas Arimont
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@333014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r332875 | rmudgett | 2011-08-22 14:41:03 -0500 (Mon, 22 Aug 2011) | 1 line
Fix merge property.
................
r332878 | rmudgett | 2011-08-22 14:46:25 -0500 (Mon, 22 Aug 2011) | 25 lines
Merged revisions 332874 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r332874 | rmudgett | 2011-08-22 14:32:19 -0500 (Mon, 22 Aug 2011) | 18 lines
Reference leaks in app_queue.
* Fixed load_realtime_queue() leaking a queue reference when it overwrites
q when processing a realtime queue.
(issue ASTERISK-18265)
* Make join_queue() unreference the queue returned by
load_realtime_queue() when it is done with the pointer. The
load_realtime_queue() returns a reference to the just loaded realtime
queue.
* Fixed queues container reference leak in queues_data_provider_get().
* queue_unref() should not return q that was just unreferenced.
* Made logic in __queues_show() and queues_data_provider_get() when
calling load_realtime_queue() easier to understand.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r331775 | mnicholson | 2011-08-12 14:03:31 -0500 (Fri, 12 Aug 2011) | 17 lines
Merged revisions 331774 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r331774 | mnicholson | 2011-08-12 14:01:27 -0500 (Fri, 12 Aug 2011) | 11 lines
Unlock the channel before calling update_queue.
Holding the channel lock when calling update_queue which attempts to lock the
queue lock can cause a deadlock. This deadlock involves the following chain:
1. hold chan lock -> wait queue lock
2. hold queue lock -> wait agent list lock
3. hold agent list lock -> wait chan list lock
4. hold chan list lock -> wait chan lock
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines
Merged revisions 331248 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines
Misc minor items found in code.
* Add some reentrancy protection in pbx.c when creating the contexts_table
hash table.
* Fix inverted test in chan_sip.c conditional code.
* Fix uninitialized variable and use of the wrong variable in chan_iax2.c.
* Fix test of return value in app_parkandannounce.c. Explicitly testing
for -1 is bad if the function does not actually return that value when it
fails.
* Fixup some comments and add some curly braces in features.c.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
app_queue logs the events ADDMEMBER and REMOVEMEMBER with the agent field set
to the interface value rather than the membername value when a member is added
with a state_interface value set. However all other member related queue
events are logged with the membername when a state_interface is set. This
patch makes these fields optionally more consistent and correct.
(closes issue ASTERISK-14769)
Review: https://reviewboard.asterisk.org/r/1286
Patch-by: Jamuel Starkey
Tested-by: Kinsey Moore <kmoore@digium.com>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds the state_interface of the queue member struct to the output
of "queue show" (CLI command) and "QueueStatus" (AMI action) when displaying
relevant queue member information. For the AMI event message the variable
StateInterface has been added.
(closes issue ASTERISK-18071)
Review: https://reviewboard.asterisk.org/r/1300/
Patch-by: Jamuel Starkey
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r329538 | jrose | 2011-07-26 09:19:34 -0500 (Tue, 26 Jul 2011) | 11 lines
Merged revisions 329529 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r329529 | jrose | 2011-07-26 09:04:55 -0500 (Tue, 26 Jul 2011) | 5 lines
Changes sound file for prepend "then-press-pound" to "vm-then-pound" which is the same
prompt, only it turned out "then-press-pound" was part of extra sounds. Also, vm is more
appropriate anyway.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r329528 | jrose | 2011-07-26 08:52:34 -0500 (Tue, 26 Jul 2011) | 24 lines
Merged revisions 329527 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r329527 | jrose | 2011-07-26 08:25:35 -0500 (Tue, 26 Jul 2011) | 17 lines
Fixes some voicemail forwarding behavior based around prepend mode.
Formerly, prepend forwarding would have the user record a message with no useful prompt
and an expectation for the user to push a button on the phone when finished recording.
If a length of silence was detected instead, the recording would be canceled and the user
would re-enter the voicemail forwarding menu. Subsequent time-outs in prepend recording
would also bug out in the sense that they would write over the original message and get
sent to the recipient regardless of whether they timed out or were accepted. This patch
fixes this issue and adds a prompt which will be played after a timeout informing the
user that they needed to press a button. Currently, the sound files that we have are
somewhat inadquate for this, so after the call we simply have Allison say "Please try
again. Then press pound." which actually relies on two separate sound files. Just one
would be more appropriate.
reporter: Vlad Povorozniuc
Review: https://reviewboard.asterisk.org/r/1327/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/10
................
r329200 | rmudgett | 2011-07-21 12:32:02 -0500 (Thu, 21 Jul 2011) | 24 lines
Merged revisions 329199 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r329199 | rmudgett | 2011-07-21 12:30:57 -0500 (Thu, 21 Jul 2011) | 17 lines
Update PickupChan documentation.
The PickupChan uses the ampersand as the argument separator.
Was documented as:
PickupChan(channel[,channel2[,...][,options]])
Fixed documentation to:
PickupChan(Technology/Resource[&Technology2/Resource2[&...]][,options])
This is a continuation of ASTERISK-17494 for v1.8 and later.
(closes issue ASTERISK-18144)
Reported by: Erik Smith
Patches:
pickupchan_ducumentation-v2.patch (License #6263) patch uploaded by Erik Smith
Tested by: Erik Smith
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.10
................
r328771 | kmoore | 2011-07-19 10:46:54 -0500 (Tue, 19 Jul 2011) | 18 lines
Merged revisions 328770 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328770 | kmoore | 2011-07-19 10:43:32 -0500 (Tue, 19 Jul 2011) | 11 lines
MeetMe requests a PIN twice in some circumstances
If a call to MeetMe includes both the dynamic(D) and always request PIN(P)
options, MeetMe will ask for the PIN two times: once for creating the
conference and once for entering the conference. This behavior was introduced
in rev 311616 when adding the CONFFLAG_ALWAYSPROMPT option to the logic branch
controlling PIN entry for joining a conference.
(closes AST-601)
Review: https://reviewboard.asterisk.org/r/1305/
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.10
................
r328664 | markm | 2011-07-18 16:50:13 -0400 (Mon, 18 Jul 2011) | 15 lines
Merged revisions 328663 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r328663 | markm | 2011-07-18 16:47:04 -0400 (Mon, 18 Jul 2011) | 9 lines
app_dial may double free a channel datastore
When starting a call with originate, and having the callee channel run Bridge() on pickup, we will double free the dialed_interface_info datastore, causing a crash. Make sure to check if the datastore still exists before trying to free it.
(closes issue ASTERISK-17917)
Reported by: Mark Murawski
Tested by: Mark Murawski
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.10
........
r328120 | dvossel | 2011-07-13 17:09:34 -0500 (Wed, 13 Jul 2011) | 15 lines
Preserve sample rate quality of wideband mixmonitor recordings.
MixMonitor has the ability to record in any file format Asterisk supports,
but the quality of wideband audio is not preserved. This is because
regardless of the sample rate the call is being recorded in, the audio
is always downsampled to 8khz and then upsampled to whatever wideband
format it is being written as. This patch resolves this by requesting
the audio from the audiohook in the signed linear format closest to the
sample rate of the format we are writing. This fix is only possible for
Asterisk 1.10 because audio hooks in 1.8 are not capable of wideband
audio.
Review: https://reviewboard.asterisk.org/r/1314/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r327852 | mjordan | 2011-07-12 14:10:34 -0500 (Tue, 12 Jul 2011) | 12 lines
Added additional checks for mailbox / password beginning with '*' character
A bug existed such that if a user entered a password with '*', and the extension 'a' did not exist, an invalid mailbox would be created and the user authenticated. The code was changed to prevent this from occurring, and to prevent users from having mailboxes or passwords defined that begin with the '*' character.
(closes issue ASTERISK-17443)
Reported by: Kevin Scott Adams
Tested by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1316/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When undergoing a shutdown and channels are kicked out of a bridge, a segfault
occurs because ConfBridge tries to play sounds on the bridge after the
underlying channels have been blown away due to the shutdown.
(closes ASTERISK-18040)
Review: https://reviewboard.asterisk.org/r/1283/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r326411 | tilghman | 2011-07-05 17:08:29 -0500 (Tue, 05 Jul 2011) | 14 lines
Add the attribute "type" to each "<use>" for menuselect.
This matters only when autoconf fails to detect that weak linking is supported.
External optional dependencies will become optional in both cases, as they are
removed at compile time when not detected. However, runtime-optional modules
are made mandatory when weak linking is not found. This change affects only
the external optional dependencies; previously, they were incorrectly required
when weak linking support was not detected.
Patches:
20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003)
Tested by: iasgoscouk
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r325610 | rmudgett | 2011-06-29 13:05:15 -0500 (Wed, 29 Jun 2011) | 18 lines
Response to QueueRule manager command does not contain ActionID if it was specified.
* Add ActionID support as documented for the QueueRule AMI action.
* Remove documentation for ActionID with the Queues AMI action. The
output does not follow normal AMI response output and there is no place to
put an ActionID header.
(closes issue AST-602)
Reported by: Vlad Povorozniuc
Patches:
jira_ast_602_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Vlad Povorozniuc, rmudgett
Review: https://reviewboard.asterisk.org/r/1295/
JIRA SWP-3575
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When playing back a prompt to a channel, confbridge neglects to check for
hangup events causing lockup condititions for hangups that occur before
actually joining the conference. This change ensures that the user is removed
from the conference in the event of a premature hangup.
Review: https://reviewboard.asterisk.org/r/1277/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Current behavior in ConfBridge menu definitions is that first definition takes
precedence, even in templated situations. This change allows inheritance and
overriding to work as expected so that the last definition takes precedence.
(closes ASTERISK-17986)
Review: https://reviewboard.asterisk.org/r/1267/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This adds the playing_moh flag to the conference_bridge_user struct that
signifies when MOH should be playing so code doesn't have to guess whether
MOH is playing.
This change also adds the necessary checking to ensure that MOH continues
playing for a single user in a conference after the join sound is played when
configured to do so.
(closes ASTERISK-17988)
Review: https://reviewboard.asterisk.org/r/1263/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Bridge and user profiles are not checked for existence before use. The lack
of a fully formed bridge profile can cause a segfault when sounds are accessed.
This change ensures that bridge and user profiles exist prior to usage
attempts.
Review: https://reviewboard.asterisk.org/r/1264/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r322749 | rmudgett | 2011-06-09 11:31:53 -0500 (Thu, 09 Jun 2011) | 15 lines
Remove potential deadlock in call pickup race.
Deadlock is possible in ast_do_pickup() when holding the target channel
lock and trying to get the chan channel lock. Also, holding the target
lock when calling ast_channel_masquerade() is not a good idea because that
routine does deadlock avoidance.
* Removed the need to hold the target lock after marking the target with a
datastore and getting the connected line data off of the target channel.
* Moved can_pickup() to ast_can_pickup() in features.c. Now all the call
pickup methods use the same basic call pickup availability check.
Review: https://reviewboard.asterisk.org/r/1234/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r322484 | rmudgett | 2011-06-08 15:46:55 -0500 (Wed, 08 Jun 2011) | 15 lines
Ring all queue with more than 255 agents will cause crash.
1. Create a ring-all queue with 500 permanent agents.
2. Call it.
3. Asterisk will crash.
The watchers array in app_queue.c has a hard limit of 255. Bounds
checking is not done on this array. No sane person should put 255 people
in a ring-all queue, but we should not crash anyway.
* Added bounds checking to the watchers array.
JIRA AST-464
JIRA SWP-2903
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r321330 | rmudgett | 2011-05-27 16:31:25 -0500 (Fri, 27 May 2011) | 8 lines
The app_privacy args have undocumented "options" position, interferes with "context" position.
* Add documention for unused "options" position to match existing code.
The trunk(v1.10) version will remove the unused options position.
(closes issue #19273)
Reported by: mdavenport
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320823 | rmudgett | 2011-05-25 12:06:38 -0500 (Wed, 25 May 2011) | 18 lines
The AMI Newstate event contains different information between v1.4 and v1.8.
The addition of connected line support in v1.8 changes the behavior of the
channel caller ID somewhat. The channel caller ID value no longer time
shares with the connected line ID on outgoing call legs. The timing of
some AMI events/responses output the connected line ID as caller ID.
These party ID's are now separate.
* The ConnectedLineNum and ConnectedLineName headers were added to many
AMI events/responses if the CallerIDNum/CallerIDName headers were also
present.
(closes issue #18252)
Reported by: gje
Tested by: rmudgett
Review: https://reviewboard.asterisk.org/r/1227/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320825 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r320162 | jrose | 2011-05-20 13:12:21 -0500 (Fri, 20 May 2011) | 15 lines
Fixes an imapfolder related crash
imapfolders being set in the general section of voicemail would cause the inbox folder name to
change. Since sound file names are made based on the names of the folders, this would cause
the audio related to that folder name to change and if Asterisk attempted to play it, the
channel would instantly hang up when the audio file couldn't be found. This patch searches for
the name of the folder first to leave existing behavior in tact and if that fails, it uses
the normal inbox name to get the sound file instead.
(closes issue #16104)
Reported by: blkline
Review: https://reviewboard.asterisk.org/r/1215/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r319997 | rmudgett | 2011-05-20 10:48:25 -0500 (Fri, 20 May 2011) | 25 lines
Crash when using directed pickup applications.
The directed pickup applications can cause a crash if the pickup was
successful because the dialplan keeps executing.
This patch does the following:
* Completes the channel masquerade on a successful pickup before the
application returns. The channel is now guaranteed a zombie and must not
continue executing the dialplan.
* Changes the return value of the directed pickup applications to return
zero if the pickup failed and nonzero(-1) if the pickup succeeded.
* Made some code optimizations that no longer require re-checking the
pickup channel to see if it is still available to pickup.
(closes issue #19310)
Reported by: remiq
Patches:
issue19310_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: alecdavis, remiq, rmudgett
Review: https://reviewboard.asterisk.org/r/1221/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r319529 | twilson | 2011-05-18 13:05:34 -0700 (Wed, 18 May 2011) | 24 lines
Merged revisions 319528 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r319528 | twilson | 2011-05-18 13:02:06 -0700 (Wed, 18 May 2011) | 17 lines
Merged revisions 319527 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r319527 | twilson | 2011-05-18 12:56:08 -0700 (Wed, 18 May 2011) | 10 lines
Fix app_dial ring groups
Revert part of r315643. We need to remove the datastore here as well.
The code in bridging code will catch anything that app_dial might miss.
(closes issue #19311)
Reported by: mspuhler
Patches:
issue_19311_no_answer.diff uploaded by elguero (license 37)
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r318671 | alecdavis | 2011-05-13 10:52:08 +1200 (Fri, 13 May 2011) | 30 lines
Fix directed group pickup feature code *8 with pickupsounds enabled
Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.
1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
2). dialplan applications for directed_pickups shouldn't beep.
3). feature code for directed pickup should beep on success/failure if configured.
Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.
Moved app_directed:pickup_do() to features:ast_do_pickup().
Functions below, all now use the new ast_do_pickup()
app_directed_pickup.c:
pickup_by_channel()
pickup_by_exten()
pickup_by_mark()
pickup_by_part()
features.c:
ast_pickup_call()
(closes issue #18654)
Reported by: Docent
Patches:
ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett
Review: https://reviewboard.asterisk.org/r/1185/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r317969 | russell | 2011-05-06 16:49:01 -0500 (Fri, 06 May 2011) | 10 lines
Use the right variable to print the time in a debug message.
The original patch also increased some buffer sizes, but that was already
done in this version.
(closes issue #17034)
Reported by: sysreq
Patches:
asterisk-issue-17034.patch uploaded by sysreq (license 1009)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r317584 | twilson | 2011-05-06 01:18:53 -0700 (Fri, 06 May 2011) | 20 lines
Merged revisions 317575 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r317575 | twilson | 2011-05-06 01:04:17 -0700 (Fri, 06 May 2011) | 13 lines
Merged revisions 317574 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r317574 | twilson | 2011-05-06 00:55:21 -0700 (Fri, 06 May 2011) | 6 lines
Re-fix queue round-robin
This part of the change for r315596 was incorrect. No bridge occurs
when doing a roundrobin dial and no one answers, so this code shouldn't
have been removed.
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r316831 | rmudgett | 2011-05-04 13:51:40 -0500 (Wed, 04 May 2011) | 9 lines
Wait for leader with Music On Hold allows crosstalk between participants.
Parenthesis in the wrong position. Regression from issue #14365 when
expanding conference flags to use 64 bits.
(closes issue #18418)
Reported by: MrHanMan
Tested by: rmudgett
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r316476 | seanbright | 2011-05-03 22:34:01 -0400 (Tue, 03 May 2011) | 17 lines
Merged revisions 316475 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r316475 | seanbright | 2011-05-03 22:23:01 -0400 (Tue, 03 May 2011) | 10 lines
Honor the C option to MeetMe when L is passed.
This fixes a case that r304773 and friends missed.
(closes issue #17317)
Reported by: var
Patches:
meetme-continue-on-l_16218.diff uploaded by var (license 1227)
Tested by: seanbright
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r315644 | twilson | 2011-04-26 14:39:01 -0700 (Tue, 26 Apr 2011) | 32 lines
Merged revisions 315643 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r315643 | twilson | 2011-04-26 14:27:44 -0700 (Tue, 26 Apr 2011) | 25 lines
Merged revisions 315596 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r315596 | twilson | 2011-04-26 14:16:10 -0700 (Tue, 26 Apr 2011) | 18 lines
Allow transfer loops without allowing forwarding loops
We try to avoid the situation where two phones may be forwarded to each other
causing an infinite loop by storing each dialed interface in a channel
datastore and checking the list before dialing out. This works, but currently
breaks situations like A calls B, A transfers B to C, B transfers C to A, and A
transfers C to B. Since human interaction is happening here and not an
automated forwarding loop, it should be allowed.
This patch removes the dialed_interfaces datastore when a call is bridged (a
suggestion from the brilliant mmichelson). If a call is being bridged, it
should be safe to assume that we aren't stuck in a loop.
Since we are now handling this is the bridge code, the previous attempts at
handling it in app_dial and app_queue are removed.
Review: https://reviewboard.asterisk.org/r/1195/
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r313517 | rmudgett | 2011-04-12 17:35:53 -0500 (Tue, 12 Apr 2011) | 12 lines
Bring the dumpchan application inline with "core show channel".
* Added fields that are in "core show channel" to dumpchan output.
* Fixed reuse of formatbuf before the previous string stored there was
used by snprintf. All output strings now have their own buffer.
* Adjusted the buffer sizes to not be so abusive of the stack now that
there are more buffers.
Change requested by oej.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r313368 | rmudgett | 2011-04-11 18:03:02 -0500 (Mon, 11 Apr 2011) | 2 lines
Backport a restructuring change from trunk to make the next change stand out.
........
r313369 | rmudgett | 2011-04-11 18:08:02 -0500 (Mon, 11 Apr 2011) | 13 lines
Frames from the inbound channel should go to all outbound channels in app_dial.c.
In app_dial.c:wait_for_answer() frames from the inbound channel should be
sent to all outbound channels instead of only if there is just one
outbound channel.
Control frames like AST_CONTROL_CONNECTED_LINE need to be passed to all of
the the outbound channels. This can happen if a blond transfer is done by
a remote switch on the inbound channel.
JIRA AST-443
JIRA SWP-2730
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r312211 | alecdavis | 2011-04-01 22:03:11 +1300 (Fri, 01 Apr 2011) | 36 lines
Merged revisions 312210 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r312210 | alecdavis | 2011-04-01 21:47:29 +1300 (Fri, 01 Apr 2011) | 29 lines
Merged revisions 312174 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r312174 | alecdavis | 2011-04-01 21:29:49 +1300 (Fri, 01 Apr 2011) | 23 lines
voicemail: get real last_message_index and count_messages, ODBC resequence
change last_message_index to read the max msgnum stored in the database
change count_messages to actually count the number of messages.
last_message_index change:
This fixed overwriting of the last message if msgnum=0 was missing.
Previously every incoming message would overwrite msgnum=1.
count_messages change:
allows us to detect when requencing is required in opneA_mailbox.
resequence enabled for ODBC storage:
Assists with fixing up corrupt databases with gaps, but only when
a user actively opens there mailboxes.
(closes issue #18692,#18582,#19032)
Reported by: elguero
Patches:
based on odbc_resequence_mailbox2.1.diff uploaded by elguero (license 37)
Tested by: elguero, nivek, alecdavis
Review: https://reviewboard.asterisk.org/r/1153/
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@312212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r312117 | alecdavis | 2011-04-01 20:32:12 +1300 (Fri, 01 Apr 2011) | 29 lines
Merged revisions 312103 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r312103 | alecdavis | 2011-04-01 20:25:54 +1300 (Fri, 01 Apr 2011) | 22 lines
Merged revisions 312070 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r312070 | alecdavis | 2011-04-01 19:46:56 +1300 (Fri, 01 Apr 2011) | 16 lines
app_voicemail: close_mailbox needs to respect additional messages while mailbox is open.
close_mailbox leave gaps in message sequence if messages are deleted and new messages
arrive during this time, this is because the shuffle down to slot 0, only shuffles
the number of pre-existing messages when mailbox is opened, ignoring new arrivals.
Fix: in close_mailbox re-evaluate number of messages before the shuffle, this then includes new arrivals.
Happens on filebased or ODBC storage.
(issues #19032,#18582,#18692,#18998)
Reported by: alecdavis,tootai,afosorio
Review: https://reviewboard.asterisk.org/r/1153/
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@312118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r311295 | rmudgett | 2011-03-17 21:22:07 -0500 (Thu, 17 Mar 2011) | 35 lines
Merged revision 310986 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
..........
r310986 | rmudgett | 2011-03-16 13:56:28 -0500 (Wed, 16 Mar 2011) | 28 lines
Dial() o option broke when connected line feature added.
The patch restores the o option behavior and adds the ability to specify
the CallerID. The Dial o and f options are complementary to each other.
The o option stores the CallerID on the outgoing channel as the channel's
CallerID. The f option forces the CallerID sent by the outgoing channel.
o(x) - The argument 'x' is optional. If not present, then specify that
the CallerID that was present on the *calling* channel be stored as the
CallerID on the *called* channel. This was the behavior of Asterisk 1.0
and earlier. If present, then specify the CallerID stored on the *called*
channel. Note that o(${CALLERID(all)}) is similar to option o without
parameters.
f(x) - The argument 'x' is optional and its presence changes the behavior
of this option. If not present, then force the outgoing CallerID on a
call-forward or deflection to the dialplan extension for this Dial() using
a dialplan 'hint'. For example, some PSTNs do not allow CallerID to be
set to anything other than the numbers assigned to you. If present, then
force the outgoing CallerID to 'x'.
Patches:
jira_abe_2752_dial_fo_options.patch uploaded by rmudgett (license 664)
Tested by: rmudgett
JIRA ABE-2752
JIRA SWP-3096
..........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r311197 | jrose | 2011-03-17 14:03:34 -0500 (Thu, 17 Mar 2011) | 11 lines
This fixes a nasty chanspy bug which was causing a channel leak every time a spied on channel made a call.
In addition to the above, it makes certain channel destruction occurs so that applications don't get stuck waiting for datastore destruction while monitored by chanspy.
(closes issue #18742)
Reported by: jkister
Tested by: jkister, jcovert, jrose
Review: http://reviewboard.digium.internal/r/106/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate. This allows
for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.
-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c
Review: https://reviewboard.asterisk.org/r/1104/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r308010 | qwell | 2011-02-15 17:34:03 -0600 (Tue, 15 Feb 2011) | 24 lines
Merged revisions 308007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r308007 | qwell | 2011-02-15 17:33:24 -0600 (Tue, 15 Feb 2011) | 17 lines
Merged revisions 308002 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r308002 | qwell | 2011-02-15 17:32:20 -0600 (Tue, 15 Feb 2011) | 10 lines
Fix regression that changed behavior of queues when ringing a queue member.
This reverts r298596, which was to fix a highly bizarre and contrived issue
with a queue member that called into his own queue being transferred back
into his own queue. I couldn't reproduce that issue in any way. I think one
of the other recent transfer fixes actually fixed this.
(closes issue #18747)
Reported by: vrban
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r307750 | tilghman | 2011-02-14 00:50:23 -0600 (Mon, 14 Feb 2011) | 23 lines
Calling a gosub routine defined in AEL from Dial/Queue ceased to work.
A bug in AEL did not distinguish between the "s" extension generated by
AEL and an "s" extension that was required to exist by the chan_dahdi
(or another channel) that was not supplied with a starting extension.
Therefore, AEL made incorrect assumptions about what commands were
permissable in the context. This was fixed by making AEL generate a
different extension name. However, Dial and Queue make additional
assumptions about the name of the default gosub extension. Therefore,
they needed to be brought into line with a "macro" rendered by AEL (as
a gosub), without breaking traditional dialplans written without the
aid of AEL.
Related to (issue #18480)
Reported by: nivek
(closes issue #18729)
Reported by: kkm
Patches:
20110209__issue18729.diff.txt uploaded by tilghman (license 14)
018729-dial-queue-gosub-try3.patch uploaded by kkm (license 888)
Tested by: kkm
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
From the submitter:
I've added a new manager action to list only the active conferences on an
Asterisk system. It shows the same data displayed when you run a 'meetme list'
on the Asterisk CLI.
(closes issue #17905)
Reported by: rcasas
Patches:
app_meetme.c.patch uploaded by rcasas (license 641)
Review: https://reviewboard.asterisk.org/r/874/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r306962 | jpeeler | 2011-02-08 13:25:38 -0600 (Tue, 08 Feb 2011) | 22 lines
Merged revisions 306961 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r306961 | jpeeler | 2011-02-08 13:25:10 -0600 (Tue, 08 Feb 2011) | 15 lines
Merged revisions 306960 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r306960 | jpeeler | 2011-02-08 13:18:50 -0600 (Tue, 08 Feb 2011) | 9 lines
Backup file storing message duration is not used with IMAP_STORAGE, remove code.
The message duration is stored in the body of the email when using IMAP_STORAGE,
so nothing needs to happen with the backup file.
(closes issue #18718)
Reported by: kerframil
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The display ie handling can be controlled independently in the send and
receive directions with the following options:
* Block display text data.
* Use display text in SETUP/CONNECT messages for name.
* Use display text for COLP name updates (FACILITY/NOTIFY as appropriate).
* Pass arbitrary display text during a call. Sent in INFORMATION
messages. Received from any message that the display text was not used as
a name.
If the display options are not set then the options default to legacy
behavior.
The arbitrary display text is exchanged between bridged channels using the
AST_FRAME_TEXT frame type.
To send display text from the dialplan use the SendText() application when
the arbitrary display text option is enabled.
JIRA SWP-2688
JIRA ABE-2693
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r306324 | rmudgett | 2011-02-04 12:53:06 -0600 (Fri, 04 Feb 2011) | 9 lines
Don't send redirecting updates to the caller if the dialplan forked the call.
Each fork in the dial could be redirected and confuse the caller. For
ISDN the DivLeg1 and DivLeg3 messages would get confused because ISDN
redirects calls in sequence not in parallel.
* Also fixed a formatting inconsistency in app_dial.c and make a warning
message more useful about what frame type could not be written.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal. For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal
The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs. Functionally
no change in behavior should be present in this patch. Thanks to twilson
and russell for all the time they spent reviewing these changes.
Review: https://reviewboard.asterisk.org/r/1083/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r305923 | rmudgett | 2011-02-02 18:24:40 -0600 (Wed, 02 Feb 2011) | 24 lines
Merged revisions 305889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r305889 | rmudgett | 2011-02-02 18:15:07 -0600 (Wed, 02 Feb 2011) | 17 lines
Merged revisions 305888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r305888 | rmudgett | 2011-02-02 18:02:43 -0600 (Wed, 02 Feb 2011) | 8 lines
Minor AST_FRAME_TEXT related issues.
* Include the null terminator in the buffer length. When the frame is
queued it is copied. If the null terminator is not part of the frame
buffer length, the receiver could see garbage appended onto it.
* Add channel lock protection with ast_sendtext().
* Fixed AMI SendText action ast_sendtext() return value check.
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r305254 | qwell | 2011-01-31 17:07:00 -0600 (Mon, 31 Jan 2011) | 24 lines
Merged revisions 305253 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r305253 | qwell | 2011-01-31 16:59:34 -0600 (Mon, 31 Jan 2011) | 17 lines
Merged revisions 305252 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r305252 | qwell | 2011-01-31 16:56:54 -0600 (Mon, 31 Jan 2011) | 10 lines
Prevent a crash when dialing a technology with no destination (ex: Dial(SIP/))
chan_iax2 and other channel drivers already had code to prevent this. The
attempt that app_dial was making to prevent it was not correct, so I fixed that.
(closes issue #18371)
Reported by: gbour
Patches:
18371.patch uploaded by gbour (license 1162)
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Add and extend the see-also sections to the documentation for applications
and functions in an effort to expand the online documentation of the wiki.
Also check for and update any links to moved documentation in the doc folder.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r304774 | seanbright | 2011-01-29 12:54:43 -0500 (Sat, 29 Jan 2011) | 16 lines
Merged revisions 304773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r304773 | seanbright | 2011-01-29 12:51:28 -0500 (Sat, 29 Jan 2011) | 9 lines
When we pass the S() or L() options to MeetMe, make sure that we honor C as well.
Without this patch, if the user was kicked from the conference via the S() or L()
mechanism, we would just hang up on them even if we also passed C (continue in
dialplan when kicked). With this patch we honor the C flag in those cases.
(closes issue #17317)
Reported by: var
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r304730 | seanbright | 2011-01-29 12:15:27 -0500 (Sat, 29 Jan 2011) | 22 lines
Merged revisions 304729 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r304729 | seanbright | 2011-01-29 12:01:51 -0500 (Sat, 29 Jan 2011) | 15 lines
Make sure that we unref the correct object when ejecting the most recent caller.
Currently, when we kick the last user to enter, we decrement our own reference
count which results in a crash when we kick another user or when we exit the
conference ourselves.
This will fix#18225 in 1.8 and trunk, but that particular bug does not exist in
1.6.2.
(closes issue #18225)
Reported by: kenji
Patches:
issue18225.patch uploaded by seanbright (license 71)
Tested by: seanbright
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r304727 | seanbright | 2011-01-29 11:28:27 -0500 (Sat, 29 Jan 2011) | 16 lines
Merged revisions 304726 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r304726 | seanbright | 2011-01-29 11:26:57 -0500 (Sat, 29 Jan 2011) | 9 lines
Fix user reference leak in MeetMe.
We were unlinking the user from the conferences user container, but not
decrementing the reference count of the user as well, resulting in a leak.
(closes issue #18444)
Reported by: junky
Tested by: seanbright
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r304683 | seanbright | 2011-01-28 17:54:23 -0500 (Fri, 28 Jan 2011) | 16 lines
Merged revisions 304659,304682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r304659 | seanbright | 2011-01-28 16:22:09 -0500 (Fri, 28 Jan 2011) | 5 lines
Don't leak references if we can't create a pseudo channel for mixing in MeetMe.
If there was a problem allocating a pseudo channel when building our meetme, we
weren't destroying our user container or destroying the mutexes that we created.
........
r304682 | seanbright | 2011-01-28 17:38:05 -0500 (Fri, 28 Jan 2011) | 2 lines
Revert part of the previous commit that snuck in.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Followme answers an incoming call if it hasn't already been answered and starts
MOH. Some poorly designed autodialers see the answer and start playing their
message to the hold music. The 'N' option has been added to indicate ringing and
not answer until the call is accepted.
(closes issue #18479)
Reported by: ianc
Patches:
trunk_followme.diff uploaded by ianc (license 998)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r303678 | jpeeler | 2011-01-25 11:02:38 -0600 (Tue, 25 Jan 2011) | 33 lines
Merged revisions 303677 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r303677 | jpeeler | 2011-01-25 10:59:28 -0600 (Tue, 25 Jan 2011) | 26 lines
Merged revisions 303676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r303676 | jpeeler | 2011-01-25 10:58:29 -0600 (Tue, 25 Jan 2011) | 20 lines
Fix voicemail sequencing for file based storage.
A previous change was made to account for when the number of voicemail messages
exceeds the max limit to be handled properly, but it caused gaps in the messages
to not be properly handled. This has now been resolved.
In later non 1.4 branches, it appears that resequencing wasn't even occurring
due from what appears and accidental code removal.
(closes issue #18498)
Reported by: JJCinAZ
Patches:
bug18498v2.patch uploaded by jpeeler (license 325)
(closes issue #18486)
Reported by: bluefox
Patches:
bug18486.patch uploaded by jpeeler (license 325)
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r303549 | russell | 2011-01-24 14:51:37 -0600 (Mon, 24 Jan 2011) | 45 lines
Merged revisions 303548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r303548 | russell | 2011-01-24 14:49:53 -0600 (Mon, 24 Jan 2011) | 38 lines
Merged revisions 303546 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r303546 | russell | 2011-01-24 14:32:21 -0600 (Mon, 24 Jan 2011) | 31 lines
Fix channel redirect out of MeetMe() and other issues with channel softhangup.
Mantis issue #18585 reports that a channel redirect out of MeetMe() stopped
working properly. This issue includes a patch that resolves the issue by
removing a call to ast_check_hangup() from app_meetme.c. I left that in my
patch, as it doesn't need to be there. However, the rest of the patch fixes
this problem with or without the change to app_meetme.
The key difference between what happens before and after this patch is the
effect of the END_OF_Q control frame. After END_OF_Q is hit in ast_read(),
ast_read() will return NULL. With the ast_check_hangup() removed, app_meetme
sees this which causes it to exit as intended. Checking ast_check_hangup()
caused app_meetme to exit earlier in the process, and the target of the
redirect saw the condition where ast_read() returned NULL.
Removing ast_check_hangup() works around the issue in app_meetme, but doesn't
solve the issue if another application did the same thing. There are also
other edge cases where if an application finishes at the same time that a
redirect happens, the target of the redirect will think that the channel hung
up. So, I made some changes in pbx.c to resolve it at a deeper level. There
are already places that unset the SOFTHANGUP_ASYNCGOTO flag in an attempt to
abort the hangup process. My patch extends this to remove the END_OF_Q frame
from the channel's read queue, making the "abort hangup" more complete. This
same technique was used in every place where a softhangup flag was cleared.
(closes issue #18585)
Reported by: oej
Tested by: oej, wedhorn, russell
Review: https://reviewboard.asterisk.org/r/1082/
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r303009 | jpeeler | 2011-01-20 11:10:32 -0600 (Thu, 20 Jan 2011) | 21 lines
Merged revisions 303008 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r303008 | jpeeler | 2011-01-20 11:07:44 -0600 (Thu, 20 Jan 2011) | 14 lines
Merged revisions 303007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r303007 | jpeeler | 2011-01-20 11:04:08 -0600 (Thu, 20 Jan 2011) | 8 lines
Add new queue strategy to preserve behavior for when queue members moved to ao2.
Add queue strategy called "rrordered" to mimic old behavior from when queue
members were stored in a linked list.
ABE-2707
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303011 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r302918 | lmadsen | 2011-01-20 09:45:39 -0600 (Thu, 20 Jan 2011) | 16 lines
Merged revisions 302917 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r302917 | lmadsen | 2011-01-20 09:42:05 -0600 (Thu, 20 Jan 2011) | 8 lines
Option L() is milliseconds, not seconds.
> Change the verbose output of option L() to say milliseconds and not seconds
> as the value is in milliseconds.
>
> (closes issue #18264)
> Reported by: jacco
> Patches:
> app_dial_patch.txt uploaded by lmadsen (license 10)
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r301047 | jpeeler | 2011-01-07 13:58:30 -0600 (Fri, 07 Jan 2011) | 15 lines
Merged revisions 301046 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r301046 | jpeeler | 2011-01-07 13:57:42 -0600 (Fri, 07 Jan 2011) | 8 lines
Fix regression causing forwarding voicemails to not work with file storage.
I had actually already fixed this in 295200 in 1.4 and thought it wasn't
missing in the other branches for some reason.
(closes issue #18358)
Reported by: cabal95
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@301048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r300955 | jpeeler | 2011-01-07 11:24:14 -0600 (Fri, 07 Jan 2011) | 21 lines
Merged revisions 300951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r300951 | jpeeler | 2011-01-07 11:23:37 -0600 (Fri, 07 Jan 2011) | 14 lines
Merged revisions 300918 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r300918 | jpeeler | 2011-01-07 11:13:21 -0600 (Fri, 07 Jan 2011) | 7 lines
Ensure good bye prompt in voicemail is played at the correct time.
Specifically in the case of timing out but not leaving voicemail nothing
should be heard. And when leaving voicemail it should be heard.
ABE-2647
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
playing_silence was not initialized with the struct
was initialized, it was being set after the fact
which caused problems if something that relied on
playing_silence being set was called too quickly
(closes issue #18430)
Reported by: stevebrandli
Patches:
externalivr.patch uploaded by thedavidfactor (license 903)
Tested by: thedavidfactor, stevebrandli
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r298598 | jpeeler | 2010-12-16 14:51:44 -0600 (Thu, 16 Dec 2010) | 21 lines
Merged revisions 298597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r298597 | jpeeler | 2010-12-16 14:49:33 -0600 (Thu, 16 Dec 2010) | 14 lines
Merged revisions 298596 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r298596 | jpeeler | 2010-12-16 14:46:52 -0600 (Thu, 16 Dec 2010) | 7 lines
Fix improper hangup when doing an attended transfer to queue.
Had to indicate ringing in wait_for_answer so the attended transfer code would
not try and hang up the local channel it created, which would kill the call.
ABE-2624
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r297245 | russell | 2010-12-02 07:20:19 -0600 (Thu, 02 Dec 2010) | 20 lines
Merged revisions 297229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r297229 | russell | 2010-12-02 07:16:47 -0600 (Thu, 02 Dec 2010) | 13 lines
Merged revisions 297228 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r297228 | russell | 2010-12-02 07:16:15 -0600 (Thu, 02 Dec 2010) | 6 lines
Add "DAHDI" to a couple of app_meetme error messages.
This is in response to some questions on IRC. To the user, there was nothing
that made it obvious that this error had anything to do with DAHDI not being
loaded.
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Added option v(mailbox@[context]) which tells MeetMe where to look for a users greet file. If one does not exist it clears the v option and defers to the functionality of i/I as/if set by the MeetMe() command.
Review: https://reviewboard.asterisk.org/r/1009/
(closes issue #18297)
Reported by: parisioa
Patches:
meetme_final_patch_v.diff uploaded by parisioa (license 1153)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r296002 | russell | 2010-11-24 11:13:08 -0600 (Wed, 24 Nov 2010) | 52 lines
Merged revisions 296001 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r296001 | russell | 2010-11-24 11:03:16 -0600 (Wed, 24 Nov 2010) | 45 lines
Merged revisions 296000 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r296000 | russell | 2010-11-24 10:48:39 -0600 (Wed, 24 Nov 2010) | 38 lines
Handle failures building translation paths more effectively.
The problem scenario occurred on a heavily loaded system that was using the
codec_dahdi module and exceeded the hardware transcoding capacity. The failure
mode at that point was not good. The report came in to us as an Asterisk
lock-up. The "core show locks" shows a ton of threads locked up (but no
obvious deadlock). Upon deeper investigation, when the system is in this
state, the CPU was maxed out. The CPU was being consumed by the Asterisk
logger spewing messages on every audio frame for calls set up after transcoder
capacity was reached.
The purpose of this patch is to make Asterisk handle failures to create a
translation path in a more graceful manner. If we can't translate, then the
call just needs to be dropped, as it's not going to work. These are the
changes:
1) In set_format() of channel.c (which is called by set_read_format() and
set_write_format()), it was ignoring if ast_translator_build_path() failed and
returned NULL. It now pays attention to that case and returns a result
reflecting failure. With this change in place, the bridging code will
immediately detect a failure and end the bridge instead of proceeding to try to
bridge frames that can't be translated and making channel drivers freak out by
sending them frames in a format they weren't expecting.
2) In ast_indicate_data() of channel.c, failure of ast_playtones_start() was
ignored. It is now reflected in the return value of the function. This didn't
turn out to have any affect on the bug, but seemed like a good change to leave
in.
3) In app_dial(), when only sending a call to a single endpoint, it will
attempt to do some bridging of its own of early audio. It uses
make_compatible() when it's going to do this. However, it ignored failure from
make compatible. So, even with the fix from #1, if there was early audio going
through app_dial, there would still be a period of invalid frames passing
through. After detecting failure here, Dial() exits.
ABE-2658
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r295866 | rmudgett | 2010-11-22 13:36:10 -0600 (Mon, 22 Nov 2010) | 60 lines
Merged revisions 295843 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r295843 | rmudgett | 2010-11-22 13:28:23 -0600 (Mon, 22 Nov 2010) | 53 lines
Merged revisions 295790 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r295790 | rmudgett | 2010-11-22 12:46:26 -0600 (Mon, 22 Nov 2010) | 46 lines
The channel redirect function (CLI or AMI) hangs up the call instead of redirecting the call.
To recreate the problem:
1) Party A calls Party B
2) Invoke CLI "channel redirect" command to redirect channel call leg
associated with A.
3) All associated channels are hung up.
Note that if the CLI command were done on the channel call leg associated
with B it works.
This regression was a result of the fix for issue #16946
(https://reviewboard.asterisk.org/r/740/).
The regression affects all features that use an async goto to execute the
dialplan because of an external event: Channel redirect, AMI redirect, SIP
REFER, and FAX detection.
The struct ast_channel._softhangup code is a mess. The variable is used
for several purposes that do not necessarily result in the call being hung
up. I have added doxygen comments to describe how the various _softhangup
bits are used. I have corrected all the places where the variable was
tested in a non-bit oriented manner.
The primary fix is the new AST_CONTROL_END_OF_Q frame. It acts as a weak
hangup request so the soft hangup requests that do not normally result in
a hangup do not hangup.
JIRA SWP-2470
JIRA SWP-2489
(closes issue #18171)
Reported by: SantaFox
(closes issue #18185)
Reported by: kwemheuer
(closes issue #18211)
Reported by: zahir_koradia
(closes issue #18230)
Reported by: vmarrone
(closes issue #18299)
Reported by: mbrevda
(closes issue #18322)
Reported by: nerbos
Review: https://reviewboard.asterisk.org/r/1013/
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@295867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r294905 | jpeeler | 2010-11-12 14:52:06 -0600 (Fri, 12 Nov 2010) | 30 lines
Merged revisions 294904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r294904 | jpeeler | 2010-11-12 14:51:15 -0600 (Fri, 12 Nov 2010) | 23 lines
Merged revisions 294903 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r294903 | jpeeler | 2010-11-12 14:49:09 -0600 (Fri, 12 Nov 2010) | 16 lines
Fix regression causing abort in voicemail after opening a mailbox with no mesgs.
In order to be more safe, some error handling code was changed to respect more
error conditions including the potential memory allocation failure for deleted
and heard message tracking introduced in 293004. However, last_message_index
returns -1 for zero messages (perhaps as expected) and was triggering the
stricter error checking. Because last_message_index is only called directly
in one place, just return 0 from open_mailbox (for file based storage) when no
messages are detected unless a real error has occurred.
(closes issue #18240)
Reported by: leobrown
Patches:
bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585)
Tested by: pabelanger
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r293119 | jpeeler | 2010-10-26 13:49:08 -0500 (Tue, 26 Oct 2010) | 43 lines
Merged revisions 293118 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r293118 | jpeeler | 2010-10-26 13:33:24 -0500 (Tue, 26 Oct 2010) | 36 lines
Merged revisions 293004 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r293004 | jpeeler | 2010-10-25 17:55:28 -0500 (Mon, 25 Oct 2010) | 29 lines
Fix inprocess_container in voicemail to correctly restrict max messages.
The comparison function logic was off, so the number of sessions for a given
mailbox were not being incremented properly. This problem caused the maximum
number of messages per folder to not be respected when simultaneously leaving
multiple voicemails just below the threshold.
These problems should be fixed by the above, but just in case:
Fixed resequence_mailbox to rely on the actual number of detected number of
files in a directory rather than just assuming only 10 messages more than the
maximum had been left. Also if more messages than the maximum are deleted they
are actually removed now.
The second purpose of this commit should have been separated out probably, but
is related to the above. Again, if the number of messages in a given voicemail
folder exceeds the maximum set limit make sure to allocate enough space for the
deleted and heard index tracking array.
A few random fixes:
There was a forgotten decrement of the inprocess count in imap_store_file.
When using IMAP storage, do not look in the directory where file based storage
messages may still reside and influence the message count.
Ensure to use only the first format in sendmail.
ABE-2516
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r292227 | jpeeler | 2010-10-18 16:55:46 -0500 (Mon, 18 Oct 2010) | 25 lines
Merged revisions 292226 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r292226 | jpeeler | 2010-10-18 16:54:38 -0500 (Mon, 18 Oct 2010) | 18 lines
Merged revisions 292223 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r292223 | jpeeler | 2010-10-18 16:50:30 -0500 (Mon, 18 Oct 2010) | 11 lines
Fix improper operator key acceptance and clean up temp recording files.
This is a fix for when pressing the operator key after recording an unavailable,
busy, name, or temporary message in mailbox options. The operator key should not
be accepted here, but should be allowed during the message recording. If the
operator key is pressed during ensure the file is saved or deleted as
apporopriate. Also, ensure removal of temporary recorded files after an early
hang up or when message acceptance confirmation times out.
ABE-2518
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Add the extension and context of the calling channel to the log output if a macro could not be found.
(closes issue #18112)
Reported by: prado
Patches:
app_macro-info.diff uploaded by prado (license 510)
Tested by: schmidts
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r289426 | russell | 2010-09-30 10:39:45 -0500 (Thu, 30 Sep 2010) | 22 lines
Merged revisions 289425 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r289425 | russell | 2010-09-30 10:37:29 -0500 (Thu, 30 Sep 2010) | 15 lines
Merged revisions 289424 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r289424 | russell | 2010-09-30 10:34:29 -0500 (Thu, 30 Sep 2010) | 8 lines
Fix a crash in app_sms.
Since the data being passed to the generator callback is on the stack of the
SMS() application, we must ensure that the generator is stopped before the
application exits.
ABE-2587
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r288079 | rmudgett | 2010-09-21 15:29:51 -0500 (Tue, 21 Sep 2010) | 2 lines
Protect channel access in CONNECTED_LINE and REDIRECTING interception macro launch code.
........
r288080 | rmudgett | 2010-09-21 15:29:59 -0500 (Tue, 21 Sep 2010) | 8 lines
Simplify locking code for REDIRECTING interception macro when forwarding a call.
Simplified the locking code by using a local copy of the redirecting party
information in app_dial.c:do_forward() and app_queue.c:wait_for_answer()
for launching the REDIRECTING interception macro when a call is forwarded.
Reduced the lock time of the 'o->chan' and 'in' channels.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r287760 | bbryant | 2010-09-20 20:00:23 -0400 (Mon, 20 Sep 2010) | 30 lines
Merged revisions 287759 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r287759 | bbryant | 2010-09-20 19:58:26 -0400 (Mon, 20 Sep 2010) | 23 lines
Merged revisions 287758 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r287758 | bbryant | 2010-09-20 19:57:08 -0400 (Mon, 20 Sep 2010) | 16 lines
Fix misvalidation of meetme pins in conjunction with the 'a' MeetMe flag.
When using the 'a' MeetMe flag and having a user and admin pin setup for your
conference, using the user pin would gain you admin priviledges. Also, when no
user pin was set, an admin pin was, the 'a' MeetMe flag wasn't used, and the
user tried to enter a conference then they were still prompted for a pin and
forced to hit #.
(closes issue #17908)
Reported by: kuj
Patches:
pins_2.patch uploaded by kuj (license 1111)
Tested by: kuj
Review: [full review board URL with trailing slash]
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r287015 | jpeeler | 2010-09-15 15:32:52 -0500 (Wed, 15 Sep 2010) | 21 lines
Merged revisions 286998 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r286998 | jpeeler | 2010-09-15 15:28:02 -0500 (Wed, 15 Sep 2010) | 14 lines
Merged revisions 286941 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r286941 | jpeeler | 2010-09-15 15:08:52 -0500 (Wed, 15 Sep 2010) | 7 lines
Ensure mailbox is not filled to capacity before doing message forwarding.
Specifically, before prompting to record a prepended message the capacity is
checked first. If the mailbox is full the extension will be reprompted.
ABE-2517
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287016 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r285533 | bbryant | 2010-09-08 16:58:43 -0400 (Wed, 08 Sep 2010) | 15 lines
Merged revisions 285532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r285532 | bbryant | 2010-09-08 16:56:12 -0400 (Wed, 08 Sep 2010) | 8 lines
Fixes a bug with MeetMe where after announcing the amount of time left in a conference, if music on hold was playing, it doesn't restart.
(closes issue #17408)
Reported by: sysreq
Patches:
asterisk-issue-17408_fixed.patch uploaded by sysreq (license 1009)
Tested by: sysreq
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r284281 | tilghman | 2010-08-30 17:28:47 -0500 (Mon, 30 Aug 2010) | 18 lines
Merged revisions 284280 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r284280 | tilghman | 2010-08-30 17:27:06 -0500 (Mon, 30 Aug 2010) | 11 lines
Fix 3 coding errors:
1) After we close FD, we should not be trying to write to it.
2) Call _exit(0), not exit(0), to avoid running shutdown routines in a child.
3) Use endian, not processor, detection to ensure bytes are written in the correct order.
(closes issue #15706)
Reported by: modelnine
Patches:
asterisk-1.6.1.1-festival-debug.patch uploaded by modelnine (license 865)
Tested by: gmartinez
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r279227 | rmudgett | 2010-07-23 17:20:47 -0500 (Fri, 23 Jul 2010) | 21 lines
Merged revisions 279207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r279207 | rmudgett | 2010-07-23 17:11:23 -0500 (Fri, 23 Jul 2010) | 14 lines
Merged revisions 279206 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r279206 | rmudgett | 2010-07-23 16:56:44 -0500 (Fri, 23 Jul 2010) | 7 lines
SIP promiscuous redirect could fail to dial the redirect.
The ast_channel was created with one variable to ast_request() but the
call to ast_call() that initiates the outgoing call was using a different
variable. The two variables are not equivalent if the call_forward string
included a channel technology specifier. e.g., SIP/200
........
................
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Also, parse the useropts properly, when retrieving from realtime, and add them
to the existing flags.
(closes issue #17502)
Reported by: kenji
Patches:
20100720__issue17502.diff.txt uploaded by tilghman (license 14)
Tested by: kenji
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Just say the number of seconds (after minutes) rather than doing some incorrect
calculation with respect to minutes.
(closes issue #17498)
Reported by: corruptor
Patches:
holdesecs_bug.diff uploaded by corruptor (license 253)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r277182 | pabelanger | 2010-07-16 13:10:36 -0400 (Fri, 16 Jul 2010) | 8 lines
Total analysis time error with SIP and silence suppression
When using app_amd with SIP providers that have silence
suppression on, the iTotalTime count increases exponentially.
(closes issue #17656)
Reported by: juls
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.
Eliminate struct ast_callerid and replace it with the following struct
organization:
struct ast_party_name {
char *str;
int char_set;
int presentation;
unsigned char valid;
};
struct ast_party_number {
char *str;
int plan;
int presentation;
unsigned char valid;
};
struct ast_party_subaddress {
char *str;
int type;
unsigned char odd_even_indicator;
unsigned char valid;
};
struct ast_party_id {
struct ast_party_name name;
struct ast_party_number number;
struct ast_party_subaddress subaddress;
char *tag;
};
struct ast_party_dialed {
struct {
char *str;
int plan;
} number;
struct ast_party_subaddress subaddress;
int transit_network_select;
};
struct ast_party_caller {
struct ast_party_id id;
char *ani;
int ani2;
};
The new organization adds some new information as well.
* The party name and number now have their own presentation value that can
be manipulated independently. ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.
* The party name and number now have a valid flag. Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.
* The party name now has a character set value. SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.
* The dialed party now has a numbering plan value that could be useful to
have available.
The various channel drivers will need to be updated to support the new
core features as needed. They have simply been converted to supply
current functionality at this time.
The following items of note were either corrected or enhanced:
* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.
* CALLERPRES() is now deprecated because the name and number have their
own presentation values.
* Fixed app_alarmreceiver.c write_metadata(). The workstring[] could
contain garbage. It also can only contain the caller id number so using
ast_callerid_parse() on it is silly. There was also a typo in the
CALLERNAME if test.
* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string. ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string. Then using
ast_shrink_phone_number() could alter it even more.
* Fixed caller ID name and number memory leak in chan_usbradio.c.
* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.
* Protected access to a caller channel with lock in chan_sip.c.
* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk(). Also made save all caller ID data instead of just the name
and number strings.
* Simplified cdr.c set_one_cid(). It hand coded the ast_callerid_merge()
function.
* Corrected some weirdness with app_privacy.c's use of caller
presentation.
Review: https://reviewboard.asterisk.org/r/702/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r275773 | jpeeler | 2010-07-12 15:34:51 -0500 (Mon, 12 Jul 2010) | 12 lines
Make user removals and traversals thread safe in meetme.
Race conditions present in meetme involving the user list where a lack of
locking has the potential for a user to be removed during a traversal or as in
the case of the reporter after checking if the list is empty could cause a
crash. Fixing this was done by convering the userlist to an ao2 container.
(closes issue #17390)
Reported by: Vince
Review: https://reviewboard.asterisk.org/r/746/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This adds a generic API for accommodating IPv6 and IPv4 addresses
within Asterisk. While many files have been updated to make use of the
API, chan_sip and the RTP code are the files which actually support
IPv6 addresses at the time of this commit. The way has been paved for
easier upgrading for other files in the near future, though.
Big thanks go to Simon Perrault, Marc Blanchet, and Jean-Philippe Dionne
for their hard work on this.
(closes issue #17565)
Reported by: russell
Patches:
asteriskv6-test-report.pdf uploaded by russell (license 2)
Review: https://reviewboard.asterisk.org/r/743
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r273474 | jpeeler | 2010-07-01 15:19:16 -0500 (Thu, 01 Jul 2010) | 14 lines
Allow admin user to join conference without using admin mode and no user pin.
Configuring the conference in meetme.conf like the following:
conf => 2345,,6666
did not prompt for pin when used without admin mode. This meant that the
conference could not be joined as an admin even if the user knew the correct
pin. The original bug report was submitted claiming that the blank user pin
should deny entry into the conference. I think a better way to handle this
would be with a feature enhancement that used the following syntax:
conf => 2345,X,6666 - where X denotes no acceptable pin allowed
(closes issue #15704)
Reported by: modelnine
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r273354 | jpeeler | 2010-07-01 10:05:43 -0500 (Thu, 01 Jul 2010) | 12 lines
Ensure channel placed in meetme in ringing state is properly hung up.
An outgoing channel placed in meetme while still ringing which was then hung up
would not exit meetme and the channel was not properly destroyed. Specifically
checking for this scenario by looking at the appropriate control frames resolves
the issue.
(closes issue #15871)
Reported by: Ivan
Patches:
meetme_congestion_trunk_v2.patch uploaded by Ivan (license 229)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
This version of the patch only adds AgentComplete for attended transfers. It was already present for blind transfers.
........
r272367 | mnicholson | 2010-06-23 17:33:51 -0500 (Wed, 23 Jun 2010) | 8 lines
Send AgentComplete manager events in the event of blind and attended transfers.
(closes issue #16819)
Reported by: elbriga
Patches:
app_queue.diff uploaded by elbriga (license 482)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r272255 | pabelanger | 2010-06-23 16:57:01 -0400 (Wed, 23 Jun 2010) | 12 lines
First caller into a dynamic conference now enter pin once.
If MeetMe is configured to use dynamic conference
numbers, then the first caller (which creates the
conference) had to enter the PIN number twice.
(closes issue #15878)
Reported by: shawkris
Patches:
issue15878.patch uploaded by pabelanger (license 224)
Tested by: pabelanger
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Even if there are no stations or trunks defined, we need to start the sla
thread to make sure we get the reload event. Also, when doing a reload we need
to remove the existing trunks and stations or they end up hanging around.
(closes issue #16818)
Reported by: mbonin
Patches:
sla_reload.patch uploaded by twilson (license 396)
Tested by: twilson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Asterisk Generic AOC Representation
- Generic AOC encode/decode routines.
(Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame)
- AST_CONTROL_AOC frame type to represent generic encoded AOC data
- Manager events for AOC-S, AOC-D, and AOC-E messages
Asterisk App Support
- app_dial AOC-S pass-through support on call setup
- app_queue AOC-S pass-through support on call setup
AOC Unit Tests
- AOC Unit Tests for encode/decode routines
- AOC Unit Test for manager event representation.
SIP AOC Support
- Pass-through of generic AOC-D and AOC-E messages to snom phones via the
snom AOC specification.
- Creation of chan_sip page3 flags for the addition of the new
'snom_aoc_enabled' sip.conf option.
IAX AOC Support
- Natively supports AOC pass-through through the use of the new
AST_CONTROL_AOC frame type
DAHDI AOC Support
- ETSI PRI full AOC Pass-through support
- 'aoc_enable' chan_dahdi.conf option for independently enabling
pass-through of AOC-S, AOC-D, AOC-E.
- 'aoce_delayhangup' option for retrieving AOC-E on disconnect.
- DAHDI A() dial string option for requesting AOC services.
example usage:
;requests AOC-S, AOC-D, and AOC-E on call setup
exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e))
Review: https://reviewboard.asterisk.org/r/552/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Patch supplied by reporter was modified to use autoservice and
prevent a potential channel ref leak but is otherwise as the
reporter uploaded it.
(closes issue #17182)
Reported by: rcasas
Patches:
app_senddtmf.c.patch_trunk uploaded by rcasas (license 641)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r265089 | mmichelson | 2010-05-21 15:59:14 -0500 (Fri, 21 May 2010) | 8 lines
Don't hang up on a queue caller if the file we attempt to play does not exist.
This also fixes a documentation mistake in file.h that made my original attempt
to correct this problem not work correctly.
(closes issue #17061)
Reported by: RoadKill
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The connected line update macro would not get run if the connected line
number string was empty. The number could be empty if the connected line
update did not update a number but the name. It should be run if there
was an AST_CONTROL_CONNECTED_LINE frame received for pending dials and
queues.
Renamed and added some more comments for some confusing identifiers
directly connected to the related code.
Also fixed a memory leak in app_queue.
Review: https://reviewboard.asterisk.org/r/669/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r263769 | jpeeler | 2010-05-18 13:54:58 -0500 (Tue, 18 May 2010) | 10 lines
Modify directory name reading to be interrupted with operator or pound escape.
In the case of accidentally entering the wrong first three letters for the
reading, users could be very frustrated if the name listing is very long. This
allows interrupting the reading by pressing 0 or #. 0 will attempt to execute
a configured operator (o) extension and # will exit and proceed in the
dialplan.
ABE-2200
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
From reviewboard:
Digium has a commercial customer who has made extensive use of the connected party and
redirecting information present in later versions of Asterisk Business Edition and which
is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions
have come about. This patch adds several enhancements to maximize usage of the connected party
and redirecting information functionality.
First, Asterisk trunk already had connected line interception macros. These macros allow you to
manipulate connected line information before it was sent out to its target. This patch adds the
same feature except for redirecting information instead.
Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This
tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI,
mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is
that it can be set to whatever value the administrator likes. Later, when running connected line
and redirecting macros, the admin can read the tag off the appropriate structure to determine what
action to take. You can think of this sort of like a channel variable, except that instead of having
the variable associated with a channel, the variable is associated with a specific identity within
Asterisk.
Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific
caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force
a specific calling presentation value on the outgoing channel.
Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added
to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party
being transferred would not have the opportunity to run a connected line interception macro to
possibly alter the transfer target's connected line information. The issue here was that during a
blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line
update. The way this was corrected was to add this new control frame subclass. Now, we queue an
AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should
be run. When ast_read is called to read the frame, ast_read responds by calling a callback function
associated with the specific read action the control frame describes. In this case, the action taken
is to run the connected line interception macro on the transferee's channel.
Review: https://reviewboard.asterisk.org/r/652/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r262662 | dvossel | 2010-05-12 12:00:04 -0500 (Wed, 12 May 2010) | 11 lines
fixes app_meetme dsp error
We attempted to detect silence after translating a frame
from signed linear. This caused a flooding of errors. To
resolve this the code to detect silence was moved before the
translation.
(closes issue #17133)
Reported by: jsdyer
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@262744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Where a site uses VoicemailMain(mailbox) the users have to be at their own extension to clear
their voicemail, they have no way of escaping VoicemailMain to allow entry of new boxnumber.
This patch, allows a site to include to 'a' priority in the VoicemailMain context, to allow an escape.
If the 'a' priority doesn't exist in the context that VoicemailMain was called from then it acts as the old behaviour.
Reported by: alecdavis
Tested by: alecdavis
Patch
vm_a_extension.diff2.txt uploaded by alecdavis (license 585)
Review: https://reviewboard.asterisk.org/r/489/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@262005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r261735 | jpeeler | 2010-05-06 15:10:59 -0500 (Thu, 06 May 2010) | 8 lines
Only allow the operator key to be accepted after leaving a voicemail.
Or rather disallow the operator key from being accepted when not offered,
such as after finishing a recording from within the mailbox options menu.
ABE-2121
SWP-1267
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r260923 | jpeeler | 2010-05-04 13:46:46 -0500 (Tue, 04 May 2010) | 12 lines
Voicemail transfer to operator should occur immediately, not after main menu.
There were two scenarios in the advanced options that while using the
operator=yes and review=yes options, the transfer occurred only after exiting
the main menu (after sending a reply or leaving a message for an extension).
Now after the audio is processed for the reply or message the transfer occurs
immediately as expected.
ABE-2107
ABE-2108
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch adds the following in-conference admin DTMF features:
*81 - Roll call (or simply user count if INTROUSER isn't enabled)
*82 - Eject all non-admins
*83 - Mute/unmute all non-admins
*84 - Start recording the conference on the fly
FWIW, this code uses newly recorded prompts.
(closes issue #16379)
Reported by: rfinnie
Patches:
meetme-enhancements-232771-v1.patch uploaded by rfinnie (license 940)
modified slightly by me
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
When a specific position is specified for the queue, the idea
was that the caller cannot be placed ahead of higher-priority
callers. Unfortunately, the logic was reversed so that the caller
could ONLY be placed ahead of higher priority callers.
Discovered while writing a unit test.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This module implements an abstraction for retrieving and exporting
asterisk data.
Developed by:
Brett Bryant <brettbryant@gmail.com>
Eliel C. Sardanons (LU1ALY) <eliels@gmail.com>
For the Google Summer of code 2009 Project.
Documentation can be found in doxygen format and inside the
header include/asterisk/data.h
Review: https://reviewboard.asterisk.org/r/275/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r258432 | jpeeler | 2010-04-21 16:45:36 -0500 (Wed, 21 Apr 2010) | 8 lines
Fix looping forever when no input received in certain voicemail menu scenarios.
Specifically, prompting for an extension (when leaving or forwarding a message)
or when prompting for a digit (when saving a message or changing folders).
ABE-2122
SWP-1268
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Added a new manager command to mute/unmute MixMonitor audio on a channel.
Added a new feature to audiohooks so that you can mute either read / write
(or both) types of frames - this allows for MixMonitor to mute either side
of the conversation without affecting the conversation itself.
(closes issue #16740)
Reported by: jmls
Review: https://reviewboard.asterisk.org/r/487/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r258029 | jpeeler | 2010-04-20 11:16:33 -0500 (Tue, 20 Apr 2010) | 11 lines
Play correct prompt when voicemail store failure occurs after attempted forward.
If a user's mailbox was full and a message was attempted to be forwarded to
said box, warnings on the console would indicate failure. However, the played
prompt was that of success (vm-msgsaved). Now storage failure is taken into
account and the correct prompt (vm-mailboxfull) is played when appropriate.
ABE-2123
SWP-1262
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r257686 | dhubbard | 2010-04-16 16:15:43 -0500 (Fri, 16 Apr 2010) | 21 lines
Make the mixmonitor thread process audio frames faster
Mantis issue 17078 reports MixMonitor recordings have shorter durations than
the call duration. This was because the mixmonitor thread was not processing
frames from the audiohook fast enough. The mixmonitor thread would slowly fall
behind the most recent audio frame and when the channel hangs up, the mixmonitor
thread would exit without processing the same number of frames as the channel;
leaving the mixmonitor recording shorter than actual call duration.
This revision fixes this issue by moving the ast_audiohook_trigger_wait() and
the subsequent audiohook.status check into the block where the
ast_audiohook_read_frame() function returns NULL.
(closes issue #17078)
Reported by: geoff2010
Patches:
dw-M17078.patch uploaded by dhubbard (license 733)
Tested by: dhubbard, geoff2010
Review: https://reviewboard.asterisk.org/r/611/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@257713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
From Reviewboard:
CCSS stands for Call Completion Supplementary Services. An admittedly out-of-date
overview of the architecture can be found in the file doc/CCSS_architecture.pdf
in the CCSS branch. Off the top of my head, the big differences between what is
implemented and what is in the document are as follows:
1. We did not end up modifying the Hangup application at all.
2. The document states that a single call completion monitor may be used across
multiple calls to the same device. This proved to not be such a good idea
when implementing protocol-specific monitors, and so we ended up using one
monitor per-device per-call.
3. There are some configuration options which were conceived after the document
was written. These are documented in the ccss.conf.sample that is on this
review request.
For some basic understanding of terminology used throughout this code, see the
ccss.tex document that is on this review.
This implements CCBS and CCNR in several flavors.
First up is a "generic" implementation, which can work over any channel technology
provided that the channel technology can accurately report device state. Call
completion is requested using the dialplan application CallCompletionRequest and can
be canceled using CallCompletionCancel. Device state subscriptions are used in order
to monitor the state of called parties.
Next, there is a SIP-specific implementation of call completion. This method uses the
methods outlined in draft-ietf-bliss-call-completion-06 to implement call completion
using SIP signaling. There are a few things to note here:
* The agent/monitor terminology used throughout Asterisk sometimes is the reverse of
what is defined in the referenced draft.
* Implementation of the draft required support for SIP PUBLISH. I attempted to write
this in a generic-enough fashion such that if someone were to want to write PUBLISH
support for other event packages, such as dialog-state or presence, most of the effort
would be in writing callbacks specific to the event package.
* A subportion of supporting PUBLISH reception was that we had to implement a PIDF
parser. The PIDF support added is a bit minimal. I first wrote a validation
routine to ensure that the PIDF document is formatted properly. The rest of the
PIDF reading is done in-line in the call-completion-specific PUBLISH-handling
code. In other words, while there is PIDF support here, it is not in any state
where it could easily be applied to other event packages as is.
Finally, there are a variety of ISDN-related call completion protocols supported. These
were written by Richard Mudgett, and as such I can't really say much about their
implementation. There are notes in the CHANGES file that indicate the ISDN protocols
over which call completion is supported.
Review: https://reviewboard.asterisk.org/r/523
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Fix app_dial.c:do_forward() OPT_FORCECLID setting cid.cid_num with a stack
allocated string instead of a heap allocated string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Some platforms prefix externally-visible symbols in object files generated
from C sources (most commonly, '_' is the prefix). On these platforms,
the existing symbol export filtering process ends up suppressing all the symbols
that are supposed to be left visible. This patch allows the prefix string
to be supplied to the top-level Makefile in the LINKER_SYMBOL_PREFIX variable,
and then generates the linker scripts as required to include the prefix
supplied.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r255591 | tilghman | 2010-03-31 14:09:46 -0500 (Wed, 31 Mar 2010) | 15 lines
Ensure line terminators in email are consistent.
Fixes an issue with certain Mail Transport Agents, where attachments are not
interpreted correctly.
(closes issue #16557)
Reported by: jcovert
Patches:
20100308__issue16557__1.4.diff.txt uploaded by tilghman (license 14)
20100308__issue16557__1.6.0.diff.txt uploaded by tilghman (license 14)
20100308__issue16557__trunk.diff.txt uploaded by tilghman (license 14)
Tested by: ebroad, zktech
Reviewboard: https://reviewboard.asterisk.org/r/544/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Previously only configurable globally. A unit test has also been written to
provide protection against parse failures for supported mailbox options.
(closes issue #16864)
Reported by: kobaz
Patches:
voicemail2.patch uploaded by kobaz (license 834)
Review: https://reviewboard.asterisk.org/r/555/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@254321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Change the example usage of pipe as a separator to comma in the UserEvent
documentation.
(closes issue #16961)
Reported by: jlpedrosa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@253345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
For some reason the documentation for the 'k' application in trunk
and 1.6.2 is different than 1.6.0 and 1.6.1, so I'm setting them all
to match. The wording in 1.6.2 and trunk was ambiguous, so you could
interpret the wording the mean that recording would continue upon hangup
indefinitely, or you could interpret it to mean that the recorded
data would not be discarded upon hangup. This change makes it clear
we mean the latter, and not the former.
Came from a discussion in #asterisk on IRC.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251680 65c4cc65-6c06-0410-ace0-fbb531ad65f3