Commit Graph

259 Commits

Author SHA1 Message Date
Steve Murphy
17e2aff7de 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/branches/1.4@77191 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-25 22:39:27 +00:00
Tilghman Lesher
6cab645954 Using a freed frame causes crashes (closes issue #9317)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 12:29:41 +00:00
Luigi Rizzo
e0b32b53b1 cast a time_t so that it does not conflict with the print format.
This change was already done on trunk so this change needs to be
blocked from merging.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 18:37:20 +00:00
Russell Bryant
a959ed6f67 Remove a couple of duplicate unlocks
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 15:21:16 +00:00
Joshua Colp
ff3d5422b6 Merged revisions 69894 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r69894 | file | 2007-06-19 09:54:03 -0400 (Tue, 19 Jun 2007) | 2 lines

Perform an extra hangup check just in case. (issue #9589 reported by bcnit)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 13:55:25 +00:00
Russell Bryant
4bce51f79f 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/branches/1.4@69518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-15 15:27:34 +00:00
Joshua Colp
2a582ba2cf Really ignore NULL frames and check whether the channel hungup or not. (issue #9912 reported by junky)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-13 19:08:24 +00:00
Russell Bryant
1a3e65a793 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/branches/1.4@67558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 23:01:44 +00:00
Joshua Colp
aae1e3e377 Remove a double const.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-22 15:04:46 +00:00
Russell Bryant
698a82996e Note that the "talker optimization" option will be enabled by default in 1.6
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@62299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-28 21:56:20 +00:00
Russell Bryant
762ed2a7ad When a station picks up a trunk that was on hold, make the hints reflect that
nobody has the trunk on hold anymore.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 19:50:52 +00:00
Russell Bryant
8908289ec7 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/branches/1.4@60521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 18:58:46 +00:00
Russell Bryant
5119296ab5 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/branches/1.4@60069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-04 16:26:23 +00:00
Joshua Colp
4490052410 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/branches/1.4@59361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-29 17:38:55 +00:00
Russell Bryant
3d052c0ca1 Fix some codec negotiation problems when CallerID support is not enabled in SLA.
(issue #9308, reported by twilson)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 18:28:29 +00:00
Russell Bryant
78d178173f 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/branches/1.4@58894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-14 16:33:01 +00:00
Russell Bryant
b7f05aeaaa Ensure that the blinky lights show that the trunk stopped ringing when the
trunk hangs up before a station has answered it.
(issue #9234, reported by francesco_r)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-13 23:19:51 +00:00
Russell Bryant
442c9f222f Make the compiler happy and initialize a variable.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-10 03:58:27 +00:00
Russell Bryant
90aa4ab658 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/branches/1.4@58512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-08 22:15:15 +00:00
Russell Bryant
ed9b9c6791 Refactor hold handling a bit so that it does not require keeping the call up
when a call is put on hold.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58474 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-08 20:54:56 +00:00
Kevin P. Fleming
37af77e79f fix a compiler warning, and overwriting 'res' value
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-08 13:17:42 +00:00
Joshua Colp
a5b62f15c3 Don't create a listen channel and record the conference unless the option is turned on. (issue #9204 reported by francesco_r)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-05 18:39:28 +00:00
Russell Bryant
31cf37519f 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/branches/1.4@57364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-01 23:42:53 +00:00
Russell Bryant
447561d7a2 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/branches/1.4@57203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 22:07:05 +00:00
Russell Bryant
315c9614cb Minor formatting change
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 19:58:56 +00:00
Russell Bryant
9d3ff33b25 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/branches/1.4@57144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 19:56:20 +00:00
Russell Bryant
9021d3c3b2 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/branches/1.4@57089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 18:20:05 +00:00
Joshua Colp
53b014b81a Picky compiler...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 17:55:03 +00:00
Russell Bryant
11e4c71bc0 Move a comment to be in the correct struct.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@56740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-26 01:04:40 +00:00
Russell Bryant
f314685447 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/branches/1.4@56277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-22 23:08:36 +00:00
Joshua Colp
fee3b74617 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/branches/1.4@55957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 20:35:40 +00:00
Russell Bryant
bb3aa2ee41 Simplify the last change to app_meetme, and move the call to dispose_conf()
up into the block where we know a conf exists.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 20:22:33 +00:00
Joshua Colp
54f59f4dad Only dispose of the conference if one was created.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 20:16:34 +00:00
Russell Bryant
39026c9f96 Improve the reference counting to fix bugs where people report seeing
conferences listed that have no members.
(issue #9073)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-21 01:03:25 +00:00
Russell Bryant
960b4de2de 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/branches/1.4@55006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 22:49:42 +00:00
Russell Bryant
cad10249de 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/branches/1.4@54969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-16 21:12:18 +00:00
Russell Bryant
5bc6ee1714 - 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/branches/1.4@54066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-12 17:58:43 +00:00
Russell Bryant
c16059235e Add some output for "show application SLAStation/SLATrunk"
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-10 01:02:00 +00:00
Russell Bryant
7ee02f585d Merge team/russell/sla_rewrite
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
2007-02-10 00:35:09 +00:00
Russell Bryant
9aab046002 Merged revisions 53045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:32:08 +00:00
Russell Bryant
c41964cd78 Remove an unused instance of an unnamed enum.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-20 00:13:06 +00:00
Russell Bryant
c94df4db51 Remove another duplicated definition
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 22:19:10 +00:00
Russell Bryant
89285ade68 Remove a variable that was declared twice.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@51339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 21:20:20 +00:00
Kevin P. Fleming
444adcb477 reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@49676 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:16:33 +00:00
Joshua Colp
c4bde5b40a Get rid of a needless memory allocation and only create a conference structure in find_conf_realtime if data was read from realtime. (issue #8669 reported by robl)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-26 05:20:08 +00:00
Joshua Colp
50ee01ccda Use the correct API call to say a device state changed. (Yes, I'm a nub.)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11 05:30:01 +00:00
Joshua Colp
08ab40c1bf Don't access the conference structure after it has been freed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-11 04:57:38 +00:00
Joshua Colp
ee182a4b02 Don't unreference the SLA object if there is no SLA object in the devicestate callback. (issue #8354 reported by loloski)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-16 17:52:48 +00:00
Russell Bryant
6a74bc409c Fix the descriptions of some of the MeetMeAdmin options (issue #8098, mflorell)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-24 01:04:14 +00:00
Kevin P. Fleming
ff05bf15c8 update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space
add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:47:22 +00:00