a realtime queue had callers waiting in it, then the queue would be removed from the queue list, but it would
not actually be freed (in fact, a debug message warning about a memory leak would come up). With this patch,
reloads do not touch realtime queues at all.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
streaming functions will report it. Secondly, not all non-zero returns from play_file mean that the announce file
wasn't found. Positive return values simply mean that a digit was pressed (most likely to skip through the announcement).
(closes issue #10612, reported and patched by dimas)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
changes in the realtime engine.
(issue #10424, reported by irroot, patch by me)
This patch creates a new function called update_realtime_member_field, which is a generic
function which will allow any one field of a realtime queue member to be updated. This patch
only uses this function to update the paused status of a queue member, but it lays the foundation
for persisting the state of a realtime member the same way that static members' state is maintained
when using the persistentmembers setting
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
(closes issue 10541, reported by Alric, patched by me)
The REALLY nice things about this patch is that queue members now have a "realtime" field
which will be true if the member is a realtime member. This means we can check this value
prior to certain processing if it should ONLY be done for realtime members.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
locked, and then each individual queue is locked. Under the right circumstances, this could deadlock. As such, I have unlocked
the individual queue before locking the queue list, and then locked the queue back after the queue list is unlocked.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If a retrieval of a greeting from the database fails, but the file is found on the file system, then
we go ahead an insert the greeting into the database. The result of this is that people who
switch from file storage to ODBC storage do not need to rerecord their voicemail greetings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1. instead of using inboxcount as the core message counting function, we use messagecount instead. This makes it possible to count messages in folders besides just INBOX and Old.
2. inboxcount and hasvoicemail now use messagecount as their means of determining return values.
3. Added a copy_message function for IMAP storage. Unfortunately I don't have the means to test it, but it seems like a pretty straightforward function.
4. Removed a #ifndef IMAP_STORAGE and matching #endif from leave_voicemail for a couple of reasons. One, we want to support copying mail to multiple IMAP boxes, and two, IMAP was
broken because a STORE macro had been moved into this section of code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
comment for this to be fixed for IMAP_STORAGE, as well. I left IMAP alone
since I know MarkM was working on this code right now for another reason.
This is broken even worse in trunk, but for a different reason. The fact
that the mailbox option supported multiple mailboxes is completely not obvious
from the code in the channel drivers. Anyway, I will fix that in another
commit ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
conference and options that use DTMF to activate various features. The problem
was that the BEGIN frame would be passed through, but the END frame would get
intercepted to activate a feature. Then, the other conference members would hear
DTMF for forever, which they didn't seem to like very much.
(closes issue #10400, reported by stevefeinstein, fixed by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Reported by: blitzrage
Patches:
bug0010194 uploaded by vovochka
Tested by: blitzrage
Fix a problem when you call Voicemail() with multiple mailboxes specified and
ODBC_STORAGE is in use. The audio part of the message was only given to the
first mailbox specified.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
thinking the 'n' option was in use.
(closes issue #10320, reported by jfitzgibbon, patched by me, tested by blitzrage and me)
Thank you blitzrage for all the testing you've done lately with queues! It's much appreciated!
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This fixes an issue where if a caller calls into a queue where no one is logged in, they would wait forever even if a member
logged in at some point.
(closes issue #10346, reported by and tested by blitzrage, patched by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Reported by: jtodd
Add SPEECH_DTMF_TERMINATOR variable so the user can specify the digit to terminate a DTMF string with. If none is specified then no terminator will be used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This makes it so that the 'n' option for Queue() can act properly depending on which strategy is used. If the strategy is
roundrobin, rrmemory, or ringall, we want to ring each phone once before moving on in the dialplan. However, if any other strategy is
used, we will only ring one phone since it cannot be guaranteed that a different phone will ring on subsequent attempts to ring a phone.
As a side effect of this, the QUEUE_MEMBER_COUNT dialplan function now just reads the membercount variable instead of traversing through
the member list to figure out how many members there are.
Special thanks to blitzrage for helping to test this out.
(closes issue #10127, reported by bcnit, patched by me, tested by blitzrage)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
depend upon the umask. Unfortunately, mkstemp() creates files with mode 0600,
regardless of the umask. This corrects that deficiency.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76708 65c4cc65-6c06-0410-ace0-fbb531ad65f3
but now includes all of the following changes:
1. Simplifying the code to handle positive return values from ast API calls.
2. Removing the background_file function.
3. The fix for issue #10008
(closes issue #10008, reported and patched by dimas)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This change makes it so that if there is no announce file specified, the application will continue until finished (or caller hangs up).
If a bogus announce file is specified, then a warning message will be printed saying that the file could not be found, but execution will
still continue.
(closes issue #10186, reported by jon, patched by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r75066 | mmichelson | 2007-07-13 15:10:39 -0500 (Fri, 13 Jul 2007) | 5 lines
Fixed an issue where chanspy flags were uninitialized if no options were passed.
What triggered this investigation was an IRC chat where some people's quiet flags were
set while others' weren't even though none of them had specified the q option.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r74427 | qwell | 2007-07-10 14:57:20 -0500 (Tue, 10 Jul 2007) | 6 lines
Fix an issue where it was possible to have a service level of over 100%
Between the time recalc_holdtime and update_queue was called, it was possible that the call could have been hungup.
Move both additions to the same place, so this won't happen.
Issue 10158, initial patch by makoto, modified by me.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74428 65c4cc65-6c06-0410-ace0-fbb531ad65f3
inboxcount has the possibility of finding an "interactive" vm_state when no persistent "non-interactive"
vm_state exists for that mailbox. If this should happen when someone attempts to leave a message, it results in
a crash. This patch, along with my commit in revision 72670 fix issue 10053, reported by jaroth.
closes issue #10053
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
queue show and then press tab, you can continue pressing tab and it will keep auto-completing
queue names even though only 1 queue can be used as an argument.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
that a mailbox currently has. A description of the changes:
1. Changed the "updated" field of the vm_state struct to act more as a binary semaphore than a
counting semaphore, since its current implementation made the inboxcount function not work properly.
This change falls in line with a change made by UPenn with their IMAP setup and helps to sync our changes with theirs.
2. Eliminated some redundant calls to get_vm_state_by_mailbox inside leave_voicemail
3. Use the play_folder variable to keep track of the number of old and new messages in a mailbox as the messages are deleted
4. Added an increment to the number of new messages that was not there previously in the leave_voicemail function
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install. (related to issue #9989, patch by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
incoming call on the trunk, or if the trunk reached its ring timeout.
This patch changes the variable to say "RINGTIMEOUT" in that case.
(issue #9973, reported by n00dle, patch by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This fix has also been tested on Thunderbird, Evolution, Pine, and Mutt.
(Issue 9336, reported by marwick, patched by mutterc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
(Issue 8016, reported by edhorton, patched by alamantia with modification by me. Thanks to Jason Parker
for the advice on this).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@68198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1. VoiceMailMain was configured in the dialplan with an extension as its argument
2. A message was left for this mailbox
3. Tried to call VoiceMailMain but hung up before entering password.
This was fixed by checking that a pointer was non-null prior to trying to dereference it.
(Issue 9810, reported by xmarksthespot, patched by Corydon76 with modifications by me).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
this command was not locking the conference list at all.
(issue #9351, reported by and patch submitted by Junk-Y, committed patch
is different and by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
unable to be played over the phone. (Issue 9786, reporter: xmarksthespot, Patched by xmarksthe spot with revisions by me,
reviewed by Russell Bryant).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Thank you very much to xmarksthespot for submitting the patch that fixed this. (Issues 9787 and 8873, Reported by xmarksthespot and jerjer, patched by xmarksthespot)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66897 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65172 | murf | 2007-05-18 14:56:20 -0600 (Fri, 18 May 2007) | 1 line
This update will fix the situation that occurs as described by 9717, where when several targets are specified for a dial, if any one them reports FAIL, the whole call gets FAIL, even though others were ringing OK. I rearranged the priorities, so that a new disposition, NULL, is at the lowest level, and the disposition get init'd to NULL. Then, next up is FAIL, and next up is BUSY, then NOANSWER, then ANSWERED. All the related set routines will only do so if the disposition value to be set to is greater than what's already there. This gives the intended effect. So, if all the targets are busy, you'd get BUSY for the call disposition. If all get BUSY, but one, and that one rings is not answered, you get NOANSWER. If by some freak of nature, the NULL value doesn't get overridden, then the disp2str routine will report NOANSWER as before.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
unregister its device state monitoring callback in unload_module(). So, this
would make Asterisk crash on the first device state change after you
unload the module.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@64868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* The original behavior was that if one station put a call on hold, another one
picked it up, and then hung up, the code would still consider the call on
hold by the first station, so the trunk would not be hung up. However, to
better comply with what most people seem to expect it to behave, it will now
hang up the trunk.
* Fix a problem with "barge=no". This was only intended to prevent people from
joining calls that are in progress. However, it also prevented other people
from picking up a call that was on hold. This has been fixed.
* When there are no active stations on a trunk and it is on hold, the code now
indicates the HOLD and UNHOLD conditions to the trunk channel. This allows
music on hold to be played to the trunk when it is on hold.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
hints would reflect the line still on hold, even though it should reflect that
it is back to not in use. (issue #9459, reported by francesco_r, fixed by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59360 | file | 2007-03-29 13:33:58 -0400 (Thu, 29 Mar 2007) | 2 lines
Keep a global array of variables indicating whether certain conference rooms are in use. This ensures that two people going into a new dynamic conference when the 'e' option is set don't go into the same conference room. (issue #8835 reported by eliel)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Convert most of the doc directory into a single LaTeX formatted document
so that we can generate a PDF, HTML, or other formats from this
information.
* Add a CLI command to dump the application documentation into LaTeX format
which will only be include if the configure script is run with
--enable-dev-mode.
* The PDF turned out to be close to 1 MB, so it is not included. However, you
can simply run "make asterisk.pdf" to generate it yourself. We may include
it in release tarballs or have automatically generated ones on the web site,
but that has yet to be decided.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
it is known to not work properly in some situations. However, add an option to
enable it for those that would like to use it anyway.
The short story behind this is that to properly handle CallerID with SLA, we
need the ability to change the CallerID on an existing call, and we are not
ready to handle that.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
avoid a race condition. Also, if the station originated the call that it is
putting on hold, don't hang up the trunk if it was the only station on the call
and it is hanging up due to hold and not a normal hangup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Originally, I put in the documentation that only Zap interfaces would be
supported on the trunk side. However, after a discussion with Qwell, we came
up with a way to make IP trunks work as well, using some things already in
Asterisk. So, here it is, this now officially supports IP trunks.
* Update the SLA documentation to reflect how to setup IP trunks.
* Add a section in sla.txt that describes how to set up an SLA system with
voicemail.
* Simplify the way DTMF passthrough is handled in MeetMe.
* Fix a bug that exposed itself when using a Local channel on the trunk side
in SLA. The station's channel needs to be passed to the dial API when
dialing the trunk.
* Change a WARNING message to DEBUG in channel.h. This message is of no use
to users.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Add support for private hold. By setting "hold=private" for a trunk, only
the station that put the call on hold will be able to retrieve it from hold.
Also, by setting "hold=private" for a station, any call that station puts
on hold can only be retrieved by that station.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Add support for the "barge=no" option for trunks. If this option is set,
then stations will not be able to join in on a call that is on progress
on this trunk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Add support for station ring delays. Ring delays can be set globally for a
station or for specific trunks on the station.
* Fix a few bugs in existing code.
* Restructure and Reorganize code to improve readability and maintainability.
* Improve formatting of the "sla show (trunks|stations)" CLI commands.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
voicemail is sent via email using something like sendmail. In the patch from
bug 8033 to fix various IMAP storage problems, the line endings in the email
file were changed in the code from "\n" to "\r\n". However, this breaks
sending regular voicemail to email. So, this change conditionally sets line
endings to "\r\n" only if IMAP_STORAGE is enabled.
(issue #9128, patch by jarjarbinks, modified by me to not break IMAP storage)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@56341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This batch of changes to the SLA code does a few different things.
* I made the SLA code event driven instead of having to act in a lot of busy
loops while dialing things to wait for state changes. This makes the code
more efficient and readable at the same time.
* I have implemented a couple of new features. The first is inbound trunk
ringing timeouts. This is an option that defines how long to let an incoming
call on a trunk to ring.
* I have also implemented ring timeouts for stations. They may be specified
for the entire station, meaning it is how long to let the station ring before
giving up. You can also specify a ring timeout for a specific trunk on a
station. So, you can say that you only want a specific station to ring 5
seconds if it is line1 ringing, but otherwise, there is no timeout.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@56277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r55005 | russell | 2007-02-16 16:48:22 -0600 (Fri, 16 Feb 2007) | 9 lines
Revert the change I did in revisions 54955, 54969, and 54970, in 1.2, 1.4,
and trunk. I decided that once a conference is created from meetme.conf,
it is acceptable behavior that the pin can not be changed until the
conference goes away. I also added a note in meetme.conf to describe this
behavior.
We still have another issue in 1.4 and trunk where some conferences with no
users don't go away. That is the real bug that needs to be addressed here.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r54955 | russell | 2007-02-16 14:56:58 -0600 (Fri, 16 Feb 2007) | 5 lines
For conferences that are configured in meetme.conf, check the configuration
file every time someone joins the conference instead of only when the
conference is first created. This is to ensure that changes to the pin
numbers in the config file are always honored. (issue #9073)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@54969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is a completely new implementation of the SLA functionality introduced in
Asterisk 1.4. It is now functional and ready for testing. However, I will be
adding some additional features over the next week, as well.
For information on how to set this up, see configs/sla.conf.sample
and doc/sla.txt.
In addition to the changes in app_meetme.c for the SLA implementation itself,
this merge brings in various other changes:
chan_sip:
- Add the ability to indicate HOLD state in NOTIFY messages.
- Queue HOLD and UNHOLD control frames even if the channel is not bridged to
another channel.
linkedlists.h:
- Add support for rwlock based linked lists.
dial.c:
- Add the ability to run ast_dial_start() without a reference channel to
inherit information from.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Post a warning to the console that things might possibly be misconfigured when queue member's states are still 'Not in Use' when we're about to bridge them with a caller from queue. Also, put some documentation quoted from oej's queues.txt efforts started in /trunk today.
This commit puts #7433 into feedback state for 1.4, and pending no further negative feedback, it will finally be closed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Also update the vmdb sql script for IMAP specific options.
Issue 8819, initial patches by bsmithurst (slightly modified by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51167 65c4cc65-6c06-0410-ace0-fbb531ad65f3