The way a device state change propagates is kind of silly, in my opinion. A
device state provider calls a function that indicates that the state of a
device has changed. Then, another thread goes back and calls a callback for
the device state provider to find out what the new state is before it can go
send it off to whoever cares.
I have changed it so that you can include the state that the device has changed
to in the first function call from the device state provider. This removes the
need to have to call the callback, which locks up critical containers to go find
out what the state changed to.
This change set changes the "simple" device state providers to use the new method.
This includes parking, meetme, and SLA.
I have also mostly converted chan_agent in my branch, but still have some more
things to think through before presenting the plan for converting channel drivers
to ensure all of the right events get generated ...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78907 | mmichelson | 2007-08-09 18:47:00 -0500 (Thu, 09 Aug 2007) | 4 lines
Improved a bit of logic regarding comma-separated mailboxes in has_voicemail. Also added some braces to some compound if statements
since unbraced if statements scare me in general.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78859 | mmichelson | 2007-08-09 16:51:17 -0500 (Thu, 09 Aug 2007) | 9 lines
Quite a few changes regarding IMAP storage.
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/trunk@78861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78749 | russell | 2007-08-09 12:24:40 -0500 (Thu, 09 Aug 2007) | 9 lines
Fix subscriptions to multiple mailboxes for ODBC_STORAGE. Also, leave a
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/trunk@78750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78717 | russell | 2007-08-09 11:12:57 -0500 (Thu, 09 Aug 2007) | 7 lines
Fix a problem with the combination of the 'F' option to pass DTMF through a
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/trunk@78718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78575 | mmichelson | 2007-08-08 09:26:36 -0500 (Wed, 08 Aug 2007) | 4 lines
Changing a bit of logic so that someone will NEVER exit the queue on timeout unless they have enabled the 'n' option.
This commit relates to issue #10320. Thanks to jfitzgibbon for detailing the idea behind this code change.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Reported by: yehavi
Use the filename we parsed using the standard parsing when launching the application specified to ExternalIVR.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r78101 | russell | 2007-08-03 15:14:06 -0500 (Fri, 03 Aug 2007) | 10 lines
(closes issue #10194)
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/trunk@78102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r77854 | mmichelson | 2007-08-01 09:08:57 -0500 (Wed, 01 Aug 2007) | 8 lines
Fixes an issue I introduced to queues wherein a queue with joinempty=yes would kick people out of the queue because of erroneously
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/trunk@77855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r77852 | mmichelson | 2007-08-01 08:59:59 -0500 (Wed, 01 Aug 2007) | 7 lines
If a queue uses dynamic realtime members, then the member list should be updated after each attempt to call the queue.
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/trunk@77853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r77191 | murf | 2007-07-25 16:39:27 -0600 (Wed, 25 Jul 2007) | 1 line
This fix solves problem with intense squelch noise when someone joins conf in bug 9430; We repro'd the problem with meetme opts of 'CciMo'; Josh Colp supplied this patch, and I'm applying it. It looks like playing the recorded username will louse up the next thing played into the channel. Josh rearranged the code so as to start things over before playing data directly into the conference.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r77176 | file | 2007-07-25 19:16:10 -0300 (Wed, 25 Jul 2007) | 4 lines
(closes issue #10303)
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/trunk@77182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r76801 | mmichelson | 2007-07-24 11:26:58 -0500 (Tue, 24 Jul 2007) | 13 lines
Added a membercount variable to call_queue struct which keeps track of the number of logged in members in a particular queue.
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/trunk@76804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r76708 | tilghman | 2007-07-23 17:38:06 -0500 (Mon, 23 Jul 2007) | 4 lines
It was our stated intention for 1.4 that files created in app_voicemail should
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/trunk@76709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
using old methods of parsing arguments to using the standard macros. However, the big
change is that the really old way of specifying application and arguments separated by
a comma will no longer work (e.g. NoOp,foo|bar). Instead, the way that has been
recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r76139 | mmichelson | 2007-07-20 13:42:27 -0500 (Fri, 20 Jul 2007) | 6 lines
When using users.conf for the entries in the directory, if multiple users had the same last name, only the first user listed would be available
in the directory.
(closes issue #10200, reported by mrskippy, patched by me)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r75969 | mmichelson | 2007-07-19 11:26:10 -0500 (Thu, 19 Jul 2007) | 10 lines
Changes in handling return values of several functions in app_queue. This all started as a fix for issue #10008
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/trunk@75977 65c4cc65-6c06-0410-ace0-fbb531ad65f3
(and/or the optimization level) may think it is used uninitialized.
The code was indeed correct, but unfortunately the result of
some compiler checks such as -Wunused and -Wuninitialized depends
heavily on the optimization level.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r75253 | mmichelson | 2007-07-16 13:16:15 -0500 (Mon, 16 Jul 2007) | 8 lines
Restoring functionality from 1.2 wherein Retrydial will not exit if there is no announce file specified.
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/trunk@75254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r75078 | mmichelson | 2007-07-13 15:15:30 -0500 (Fri, 13 Jul 2007) | 13 lines
Merged revisions 75066 via svnmerge from
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/trunk@75082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
(closes issue #10158)
................
r74428 | qwell | 2007-07-10 14:58:53 -0500 (Tue, 10 Jul 2007) | 14 lines
Merged revisions 74427 via svnmerge from
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/trunk@74429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r74120 | mmichelson | 2007-07-09 13:32:50 -0500 (Mon, 09 Jul 2007) | 6 lines
The n option for Queue should make the queue exit immediately after failure to reach any members and should not
be dependent on the timeout value passed to Queue
(closes issue #10127, reported by bcnit, repaired by me)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If the call is answered by another phone, other phones won't display the call as "missed".
You can also add an option to the dial command so that you can have a "followme"
scenario and not count the calls as "missed" when you cancel the call.
Thanks to Ramon and Frank for feedback on this feature.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r73727 | mmichelson | 2007-07-06 11:36:17 -0500 (Fri, 06 Jul 2007) | 8 lines
Fixing a rare case which causes voicemail to crash when compiled with IMAP storage.
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/trunk@73728 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r73400 | mmichelson | 2007-07-05 10:59:41 -0500 (Thu, 05 Jul 2007) | 5 lines
Correcting a minor CLI bug I found. When issuing the queue show command, if you type
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/trunk@73402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This does not break existing configs - the arguments to p are optional.
Issue 8827, initial patch by junky, mostly rewritten by fw to re-use option p, further modified by me.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
possible for there to be entries in the queue and the thread is just sleeping
(Thanks to mmichelson for bringing the problem to my attention)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The imapuser being passed in was never getting compared to imapusers of any of the vm_states
in the vmstates list.
I also found some places in the code where I used my typical brace style and changed it to match
the typical Asterisk brace style.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This feature may be turned on by adding imapgreetings=yes to the general section of voicemail.conf
voicemail.conf.sample has details on the options added.
As a result, IMAP storage now has RETRIEVE and DISPOSE macros defined.
In addition to the IMAP greeting changes, I also have added an enum for the voicemail folders
and so now the code should be easier to understand and maintain when it comes to this area.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r71953 | mmichelson | 2007-06-26 18:02:09 -0500 (Tue, 26 Jun 2007) | 4 lines
Removing a pointless line. This variable was already set earlier and between then and this
line, there is no way that the values on the right side of the assignment could have changed.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@71954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r71877 | mmichelson | 2007-06-26 14:00:05 -0500 (Tue, 26 Jun 2007) | 11 lines
A few changes, the ultimate goal of which is to keep better track of the number of messages
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/trunk@71883 65c4cc65-6c06-0410-ace0-fbb531ad65f3
you had 0 messages when using IMAP storage.
Secondary fixes: adding locks to list access in several places
Big thanks to Russell Bryant for helping out with this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r69702 | russell | 2007-06-18 11:35:02 -0500 (Mon, 18 Jun 2007) | 6 lines
To prevent 92138749238754 more reports of "I have unixodbc installed, but
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/trunk@69703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r69518 | russell | 2007-06-15 10:27:34 -0500 (Fri, 15 Jun 2007) | 5 lines
The SLATRUNK_STATUS variable indicated "SUCCESS" for both an answer of the
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/trunk@69519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r69181 | mmichelson | 2007-06-13 14:41:13 -0500 (Wed, 13 Jun 2007) | 5 lines
Contains a patch for fixing an encoding problem when using Outlook to view voicemail emails and attachments.
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/trunk@69182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
the beginning of the file. Also, add a channel variable that indicates
the location in the file where the Playback was stopped.
(closes issue #7655, patch from sharkey)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@68502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r68198 | mmichelson | 2007-06-07 14:47:42 -0500 (Thu, 07 Jun 2007) | 5 lines
Submitting a fix for Issue 8016. Added a check to make sure that greetings get stored properly.
(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/trunk@68200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67804 | mmichelson | 2007-06-06 14:26:55 -0500 (Wed, 06 Jun 2007) | 10 lines
Fix for Issue 9810. There was a segfault under a specific set of circumstances:
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/trunk@67808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
was enabled. Though no bug was reported to the bugtracker, there was mention of this made as a note on
bug 9810 by edhorton.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67558 | russell | 2007-06-05 18:01:44 -0500 (Tue, 05 Jun 2007) | 5 lines
Fix some crashes related to the use of the "meetme" CLI command. The code for
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/trunk@67560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67424 | mmichelson | 2007-06-05 13:32:50 -0500 (Tue, 05 Jun 2007) | 5 lines
Fix for bug number 9786, wherein voicemails saved to IMAP storage using extensions other than gsm were
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/trunk@67486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
places that cared about device states were app_queue and the hint code in pbx.c.
The changes include converting it to use the Asterisk event system, as well as
other efficiency improvements.
* app_queue: This module used to register a callback into devicestate.c to
monitor device state changes. Now, it is just a subscriber to Asterisk
events with the type, device state.
* pbx.c hints: Previously, the device state processing thread in devicestate.c
would call ast_hint_state_changed() each time the state of a device changed.
Then, that code would go looking for all the hints that monitor that device,
and call their callbacks. All of this blocked the device state processing
thread. Now, the hint code is a subscriber of Asterisk events with the
type, device state. Furthermore, when this code receives a device state
change event, it queues it up to be processed by another thread so that it
doesn't block one of the event processing threads.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r66897 | mmichelson | 2007-06-01 16:09:30 -0500 (Fri, 01 Jun 2007) | 3 lines
Submitting a fix for voicemail with IMAP storage. Attachments with format specified as gsm were duplicated (i.e. two attachments) were left.
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/trunk@66910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- Don't free structures before calling load_config(), because load_config()
already does it
- Use the existing functions for freeing the minivm structures instead of
replicating the code
(issue #9846, patch from eliel)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
is no reason to keep a thread attribute structure on the conference structure.
(Pointed out by Tony Mountifield on the asterisk-dev list)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
places in the code where the same block of code for creating detached threads
was replicated. (patch from bbryant)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
saw this, I couldn't help myself from changing it. Previously, for *every*
device state change, app_queue would spawn a thread to handle it. Now, the
device state callback just puts the state change in a queue and it gets
handled by a single state change processing thread.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r65200 | murf | 2007-05-18 16:06:27 -0600 (Fri, 18 May 2007) | 9 lines
Merged revisions 65172 via svnmerge from
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/trunk@65202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r64868 | russell | 2007-05-17 21:48:51 -0500 (Thu, 17 May 2007) | 5 lines
Fix a small bug I noticed while working on something else. app_queue did not
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/trunk@64869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
except it lets you operate on a channel by name instead of conference member
number. It is very useful in combination with the 'X' option to ChanSpy.
(issue #9671, patch by mnicholson, with some small modifications by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@63319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
created will now be stored. Then, every channel that joins the conference will
have the MEETMEUNIQUEID channel variable set with this ID. This can be used to
relate callers that come and go from long standing conferences.
(issue #7295, patch by softins)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
entries in the queue log.
(issue #7561, reported and originally patched by fkasumovic, patch slightly
modified and updated to trunk by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This set of changes introduces a new generic event API for use within Asterisk.
I am still working on a way for events to be shared between servers, but this
part is ready and can already be used inside of Asterisk.
This set of changes introduces the first use of the API, as well. I have
restructured the way that MWI (message waiting indication) is handled. It is
now event based instead of polling based. For example, if there are a bunch
of SIP phones subscribed to mailboxes, then chan_sip will not have to
constantly poll the mailboxes for changes. app_voicemail will generate events
when changes occur.
See UPGRADE.txt and CHANGES for some more information on the effects of these
changes from the user perspective. For developer information, see the text in
include/asterisk/event.h.
As always, additional feedback is welcome on the asterisk-dev mailing list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
minimum amount of time between queue announcements for use when the caller's queue
position changes frequently.
(issue #9604, patch by Matthew Roth)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
blocks instead of one large monolithic app. Supports multiple templates
and is designed mostly for voicemail delivery over e-mail.
There's a todo with a list of ideas in the source code if you want
to contribute. Feedback is appreciated!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r60521 | russell | 2007-04-06 13:58:46 -0500 (Fri, 06 Apr 2007) | 16 lines
Fix a few problems with SLA. (issue #9459, reported by francesco_r, fixed by me)
* 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/trunk@60522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r60069 | russell | 2007-04-04 11:26:23 -0500 (Wed, 04 Apr 2007) | 4 lines
Fix a problem where if a trunk was hung up while it was on hold, all of the
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/trunk@60070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
just having one that can be re-used. There is no functional change here (that
is intentional, anyway!).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r59361 | file | 2007-03-29 13:38:55 -0400 (Thu, 29 Mar 2007) | 10 lines
Merged revisions 59360 via svnmerge from
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/trunk@59362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58931 | russell | 2007-03-15 17:25:12 -0500 (Thu, 15 Mar 2007) | 13 lines
Merge changes from svn/asterisk/team/russell/LaTeX_docs.
* 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/trunk@58932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58894 | russell | 2007-03-14 11:33:01 -0500 (Wed, 14 Mar 2007) | 8 lines
By default, don't attempt to do any CallerID handling at all with SLA because
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/trunk@58895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58512 | russell | 2007-03-08 16:15:15 -0600 (Thu, 08 Mar 2007) | 5 lines
Hang up the channel that put the call on hold in the event processing thread to
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/trunk@58541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
addition to where it is already sent if either side hangs up.
(issue #9219, rgollent)
In passing, I put this code in a function so it would not be duplicated
a third time.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58123 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r57364 | russell | 2007-03-01 17:42:53 -0600 (Thu, 01 Mar 2007) | 16 lines
Merge changes from svn/asterisk/team/russell/sla_updates
* 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/trunk@57365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r57203 | russell | 2007-02-28 16:07:05 -0600 (Wed, 28 Feb 2007) | 7 lines
Merge more changes from svn/asterisk/team/russell/sla_updates
* 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/trunk@57204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r57144 | russell | 2007-02-28 13:56:20 -0600 (Wed, 28 Feb 2007) | 6 lines
Merge changes from svn/asterisk/team/russell/sla_updates
* 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/trunk@57145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r57089 | russell | 2007-02-28 12:20:05 -0600 (Wed, 28 Feb 2007) | 8 lines
Merge current set of changes from svn/asterisk/team/russell/sla_updates
* 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/trunk@57090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
external libraries and URLs to these. Please help me add these
references.
We might want to create a similar macro "\linuxpackage" to list
the needed Linux packages in popular distributions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@56647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r56341 | russell | 2007-02-23 11:58:57 -0600 (Fri, 23 Feb 2007) | 8 lines
The IMAP storage code uses the same code to build the email that is used when
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/trunk@56342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r56277 | russell | 2007-02-22 17:08:36 -0600 (Thu, 22 Feb 2007) | 18 lines
Merge changes from team/russell/sla_updates.
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/trunk@56278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r55957 | file | 2007-02-21 15:35:40 -0500 (Wed, 21 Feb 2007) | 10 lines
Merged revisions 55956 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r55956 | file | 2007-02-21 15:32:16 -0500 (Wed, 21 Feb 2007) | 2 lines
Change naughty warning message to provide useful information. If a write now fails on a channel in meetme it will tell you the channel name instead of spitting out the wrong error message.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
convert various #if expressions to #ifdef for macros that may not be defined (and where the value is not important)
Note: two of these changes are in bison generated files which is going to be inconvenient when they are regenerated
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@55329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r55006 | russell | 2007-02-16 16:49:42 -0600 (Fri, 16 Feb 2007) | 17 lines
Merged revisions 55005 via svnmerge from
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/trunk@55007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r54969 | russell | 2007-02-16 15:12:18 -0600 (Fri, 16 Feb 2007) | 13 lines
Merged revisions 54955 via svnmerge from
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/trunk@54970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
pretty cool things.
First, you can get the device state of anything in the dialplan:
NoOp(SIP/mypeer has state ${DEVSTATE(SIP/mypeer)})
NoOp(The conference room 1234 has state ${DEVSTATE(MeetMe:1234)})
Most importantly, this allows you to create custom device states so you can
control phone lamps directly from the dialplan.
Set(DEVSTATE(Custom:mycustomlamp)=BUSY)
...
exten => mycustomlamp,hint,Custom:mycustomlamp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r54066 | russell | 2007-02-12 11:58:43 -0600 (Mon, 12 Feb 2007) | 4 lines
- Add the ability to register a callback to monitor state changes in an
asynchronous dial operation.
- Rename the various references to "status" to "state" in the dial API
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@54067 65c4cc65-6c06-0410-ace0-fbb531ad65f3