Joshua Colp [Mon, 12 Mar 2007 01:21:12 +0000 (01:21 +0000)]
Allow RFC2833 compensation to compensate for even stupider implementations by queueing up the end frame at the start, not the actual end. (issue #8963 reported by AndrewZ)
Joshua Colp [Mon, 12 Mar 2007 00:51:16 +0000 (00:51 +0000)]
Add matchexterniplocally setting which only substitutes your externip/externhost setting if it matches the localnet setting. I know of at least two people who need opposite settings, so I made it an option! (issue #8821 reported by kokoskarokoska)
Russell Bryant [Sat, 10 Mar 2007 18:11:11 +0000 (18:11 +0000)]
Fix a few more places in chan_iax2 where the ast_frame used for receiving a
frame was not properly initialized.
- Interpolating a frame when the jitterbuffer is in use
- decrypting a frame when IAX2 encryption is on
- frames in an IAX2 trunk
Russell Bryant [Fri, 9 Mar 2007 23:59:10 +0000 (23:59 +0000)]
Merge some updates to the SLA documentation. I plan to keep working on this
to explain all of the expected behavior with call handling, configuration
details for specific phones, and other things. However, I got tired of doing
it in plain text, so I switched to using LaTeX. I have included the PDF version.
I haven't been able to get a nice looking plain text version out of it yet, but
I'm not terribly concerned since this is supposed to be more of the manual,
while the plain text sample configuration file is the reference.
If we are unable to lookup the host in a c line we have to abort, otherwise the previous data is gone and we will (potentially) have no data when all is said and done.
Russell Bryant [Thu, 8 Mar 2007 22:15:15 +0000 (22:15 +0000)]
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.
Russell Bryant [Thu, 8 Mar 2007 01:01:46 +0000 (01:01 +0000)]
If we receive ZT_EVENT_REMOVED, destroy the specified channel.
(issue #7256, tzafrir)
Also, update the configure script to make sure that we don't try to build
chan_zap if the installed version of zaptel does not include ZT_EVENT_REMOVED.
Russell Bryant [Wed, 7 Mar 2007 18:19:19 +0000 (18:19 +0000)]
(This bug was reported to me by Kinsey Moore)
Merged revisions 58242 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r58242 | russell | 2007-03-07 12:17:07 -0600 (Wed, 07 Mar 2007) | 7 lines
Fix a problem where the Asterisk channel name could be that of the wrong IAX2
user for a call. This is because the first step of choosing this name is to
look for an IAX2 peer that happens to have the same IP/port number that this
call is coming from and assuming that is it. However, this is not always
correct. So, I have made it change this name after authentication happens
since at that point, we have an exact match.
Russell Bryant [Wed, 7 Mar 2007 00:25:19 +0000 (00:25 +0000)]
Merged revisions 58164 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r58164 | russell | 2007-03-06 18:20:13 -0600 (Tue, 06 Mar 2007) | 4 lines
If the channels acquired using the manager Redirect action are not up, then
don't attempt to do anything with them. It could lead to weird behavior,
including crashes. (issue #8977)
Steve Murphy [Tue, 6 Mar 2007 23:10:14 +0000 (23:10 +0000)]
Merged revisions 58115 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r58115 | murf | 2007-03-06 15:52:52 -0700 (Tue, 06 Mar 2007) | 1 line
Fix for 9220: Eyebeam cannot renew subscriptions for presence info. Reason: re-SUBSCRIBE requests don't include Accept headers, which the rfc says are optional (to put it tersely), (it uses MAY), and luckily, the sip_pvt struct has the format info stored, so we simply leave it if the format is set, and the accept header null.
........
Steve Murphy [Fri, 2 Mar 2007 05:21:36 +0000 (05:21 +0000)]
I almost had comma escapes right, but 9184 points out the problem-- the escape is removed by pbx_config, and pbx_ael should also, before sending it down into the pbx engine. Also, you have to insert it back in, if you are generating extensions.conf code from the AEL.
Russell Bryant [Thu, 1 Mar 2007 23:42:53 +0000 (23:42 +0000)]
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.
Don't even attempt to optimize things when a proxy channel is involved. It will just explode in weird and unexplaineable ways. (issue #9175 reported by clegall_proformatique)
Russell Bryant [Wed, 28 Feb 2007 22:07:05 +0000 (22:07 +0000)]
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.
Russell Bryant [Wed, 28 Feb 2007 19:56:20 +0000 (19:56 +0000)]
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.
Russell Bryant [Wed, 28 Feb 2007 18:20:05 +0000 (18:20 +0000)]
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.
Steve Murphy [Wed, 28 Feb 2007 17:15:27 +0000 (17:15 +0000)]
I was surprised that I had not yet downgraded missing goto targets and macro call defs to a warning, in case they are in extensions.conf; I rectified this problem. Also, A goto in a macro to a target in a catch block was not being found; I fixed this too; the cause was that I needed to treat catch statements like an extension in the find_match code.
Russell Bryant [Tue, 27 Feb 2007 17:36:09 +0000 (17:36 +0000)]
Fix voicemail email attachments. I missed the conversion of one of the line
endings and there was an extra one where it should not have been.
(issue #9128)
Russell Bryant [Mon, 26 Feb 2007 20:42:21 +0000 (20:42 +0000)]
Restore the behavior of Asterisk 1.2 where if a device was not specified in
alsa.conf, then we just use the system default, instead of creating our own
default of hw:0,0. (issue #9139)
Joshua Colp [Mon, 26 Feb 2007 17:09:53 +0000 (17:09 +0000)]
Use ast_strlen_zero to see if the language and/or context argument is not present for Background instead of just checking if it is NULL. (issue #9141 reported by mjagdis)
Russell Bryant [Mon, 26 Feb 2007 00:35:04 +0000 (00:35 +0000)]
Blocked revisions 56729 via svnmerge
........
r56729 | russell | 2007-02-25 18:34:31 -0600 (Sun, 25 Feb 2007) | 4 lines
Ensure that lock.h is included in utils.c with AST_API_MODULE defined so that
the implementations will be properly included when the AST_INLINE_API functions
are not going to be inlined. (issue #9124, festr)
Russell Bryant [Fri, 23 Feb 2007 23:24:18 +0000 (23:24 +0000)]
Merged revisions 56504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r56504 | russell | 2007-02-23 17:20:55 -0600 (Fri, 23 Feb 2007) | 8 lines
Fix up a couple more signal handlers to not do bad things that could cause
various undesirable results. The other day, I made Asterisk deadlock by
hitting Control-C because of a bad signal handler. Now, signal handlers
just set a flag and write to an alert pipe for the flag to be handled. Then,
there is another thread that is monitoring for these flags. If being run in
console mode, it is just the main thread. If Asterisk is in the background,
a thread is created to do it.
Joshua Colp [Fri, 23 Feb 2007 21:53:41 +0000 (21:53 +0000)]
Change log notice to debug. It is possible for a scheduled item to execute and be deleted at close to the same time and unavoidable. If this happens this message creeps up.
Russell Bryant [Fri, 23 Feb 2007 20:20:00 +0000 (20:20 +0000)]
Merged revisions 56406 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r56406 | russell | 2007-02-23 14:17:56 -0600 (Fri, 23 Feb 2007) | 4 lines
Don't destroy mutexes before unregistering all of the entry points from the core.
Also, fix a potential memory leak from not destroying the locks for all of the
possible call numbers (about 32k of them).
Russell Bryant [Fri, 23 Feb 2007 17:58:57 +0000 (17:58 +0000)]
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)
Russell Bryant [Thu, 22 Feb 2007 23:08:36 +0000 (23:08 +0000)]
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.
Kevin P. Fleming [Thu, 22 Feb 2007 00:08:54 +0000 (00:08 +0000)]
disable unloading of embedded modules... there is a fundamental problem with doing so that will not be fixed in this version of Asterisk due to its invasiveness
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.
Joshua Colp [Wed, 21 Feb 2007 17:18:19 +0000 (17:18 +0000)]
Add a flag that indicates whether a SIP dialog is an outgoing call or not. SIP_OUTGOING originally did it but it was repurposed to the direction of the last transaction, which can cause update_call_counter to falsely decrease the wrong counters. (please don't hurt me oej) (issue #8943 reported by mdu113)
Russell Bryant [Wed, 21 Feb 2007 00:22:29 +0000 (00:22 +0000)]
Blocked revisions 55750 via svnmerge
........
r55750 | russell | 2007-02-20 18:19:14 -0600 (Tue, 20 Feb 2007) | 9 lines
Fix random crashes when using the MeetMe application. This patch converts list
handling to use the linked list macros and most importantly, implements
reference counting on the ast_conference objects. The reference counting was
first backported from 1.4. However, that code has some problems that caused
the reference count to never hit zero. Those problems are fixed in this patch
and will be resolved in 1.4 and trunk next, with a different patch.
Joshua Colp [Tue, 20 Feb 2007 23:08:45 +0000 (23:08 +0000)]
Don't test our own address against the localnet settings. At least one person has had issues as a result of this from #7051 so I'm reversing it. (issue #8821 reported by kokoskarokoska)
Defer clearing callback information if channels are up until they are hung up. This ensures the hangup process goes smoothly and no channels get hung in limbo. (issue #8088 reported by kebl0155)