Commit Graph

13543 Commits

Author SHA1 Message Date
Mark Michelson
e5bef05d8f Add error message so that it is clear why a SIP peer was not processed when
a DNS lookup fails on a host or outboundproxy.

(closes issue #13432)
Reported by: p_lindheimer
Patches:
      outboundproxy.patch uploaded by p (license 558)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 22:45:34 +00:00
Mark Michelson
439ce618c5 Fix build oops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204246 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:37:05 +00:00
Mark Michelson
9589d9fb2e Fix a problem where chan_sip would ignore "old" but valid responses.
chan_sip has had a problem for quite a long time that would manifest when
Asterisk would send multiple SIP responses on the same dialog before receiving
a response. The problem occurred because chan_sip only kept track of the highest
outgoing sequence number used on the dialog. If Asterisk sent two requests out,
and a response arrived for the first request sent, then Asterisk would ignore
the response. The result was that Asterisk would continue retransmitting the
requests and ignoring the responses until the maximum number of retransmissions
had been reached.

The fix here is to rearrange the code a bit so that instead of simply comparing
the sequence number of the response to our latest outgoing sequence number, we
walk our list of outstanding packets and determine if there is a match. If there is,
we continue. If not, then we ignore the response.

In doing this, I found a few completely useless variables that I have now removed.

(closes issue #11231)
Reported by: flefoll

Review: https://reviewboard.asterisk.org/r/298


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 21:23:43 +00:00
Tilghman Lesher
399bd49b7d Revision 189537 was supposed to make 1.4 more correct. Instead, it broke func_odbc. Reverting.
(closes issue #15317, issue #14614)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204170 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 19:36:01 +00:00
David Vossel
4f3580b882 segfault after SPINLOCK schedule delete
Using the SPINLOCK schedule delete macro can result in the iax_pvt lock
being given up.  This makes it possible for the iax_pvt to dissappear
when we thought we held the mutex the entire time.  To resolve this, the
iax_pvt's ref count is incremented.

(closes issue #15377)
Reported by: aragon
Patches:
      iax_spin_issue_1.4.diff uploaded by dvossel (license 671)
Tested by: aragon, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 17:04:04 +00:00
Mark Michelson
a3848ec74c Place unlock of mutex in an else block so that it does not get unlocked twice.
(closes issue #15400)
Reported by: aragon



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@204012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-29 15:04:17 +00:00
Richard Mudgett
f65dccafb6 The ISDN CPE side should not exclusively pick B channels normally.
Before this patch, Asterisk unconditionally picked B channels exclusively
on the CPE side and normally allowed alternative B channels on the network
side.  Now Asterisk does the opposite.

Reasons for the CPE side to normally not pick B channels exclusively:
*  For CPE point-to-multipoint mode (i.e. phone side), the CPE side does
not have enough information to exclusively pick B channels.  (There may be
other devices on the line.)
*  Q.931 gives preference to the network side picking B channels.
*  Some telcos require the CPE side to not pick B channels exclusively.

(closes issue #14383)
Reported by: mbrancaleoni


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-27 00:55:12 +00:00
Jeff Peeler
fc73897bbd Make sure to recreate the dahdi pseudo channel after dahdi restart
(closes issue #14477)
Reported by: timking


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 22:09:19 +00:00
Russell Bryant
fe7923abfc Don't fast forward past the end of a message.
This is nice change for users of the voicemail application.  If someone gets a
little carried away with fast forwarding through a message, they can easily
get to the end and accidentally exit the voicemail application by hitting the
fast forward key during the following prompt.

This adds some safety by not allowing a fast forward past the end of a message.

(closes issue #14554)
Reported by: lacoursj
Patches:
      21761.patch uploaded by lacoursj (license 707)
Tested by: lacoursj


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 21:16:39 +00:00
David Brooks
64e75ecf80 Fixing voicemail's error in checking max silence vs min message length
Max silence was represented in milliseconds, yet vmminsecs (minmessage) was represented
as seconds.

Also, the inequality was reversed. The warning, if triggered, was "Max silence should 
be less than minmessage or you may get empty messages", which should have been logged 
if max silence was greater than minmessage, but the check was for less than.

Also, conforming if statement to coding guidelines.

closes issue #15331)
Reported by: markd

Review: https://reviewboard.asterisk.org/r/293/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 20:03:42 +00:00
Terry Wilson
5e3e234df6 I didn't see that Mark already fixed the underlying issue!
Yay for removing useless code.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 21:13:10 +00:00
Russell Bryant
090c2f1e4e Fix a case where CDR answer time could be before the start time involving parking.
(closes issue #13794)
Reported by: davidw
Patches:
      13794.patch uploaded by murf (license 17)
      13794.patch.160 uploaded by murf (license 17)
Tested by: murf, dbrooks


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 21:02:18 +00:00
Terry Wilson
03d3fb7a7a Don't try to free NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 20:09:15 +00:00
Mark Michelson
140d84dfc5 Prevent false positives when freeing a NULL pointer with MALLOC_DEBUG enabled.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 18:52:22 +00:00
Russell Bryant
c05d6ceccd Resolve a crash related to a T.38 reinvite race condition.
This change resolves a crash observed locally during some T.38 testing.
A call was set up using a call file, and when the T.38 reinvite came in,
the channel state was still AST_STATE_DOWN.  The reason is explained by
a comment in the code that previously lived in the handling of
AST_STATE_RINGING.  This change modifies the logic to handle the same
race condition for any channel state that is not UP.

(closes ABE-1895)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-25 16:02:16 +00:00
Richard Mudgett
1ac27cf7ec Improved chan_dahdi.conf pritimer error checking.
Valid format is: pritimer=timer_name,timer_value

*  Fixed segfault if the ',' is missing.
*  Completely check the range returned by pri_timer2idx() to prevent
possible access outside array bounds.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@203036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-24 21:01:43 +00:00
Mark Michelson
a1fa4f0391 Use the handy UNLINK macro instead of hand-coding the same thing in-line.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-24 18:28:47 +00:00
David Vossel
d6106936cb MWI NOTIFY contains a wrong URI if Asterisk listens to non-standard port and transport
(closes issue #14659)
Reported by: klaus3000
Patches:
      patch_chan_sip_fixMWIuri_1.4.txt uploaded by klaus3000 (license 65)
      mwi_port-transport_trunk.diff uploaded by dvossel (license 671)
Tested by: dvossel, klaus3000

Review: https://reviewboard.asterisk.org/r/288/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 16:28:46 +00:00
Mark Michelson
f76b499923 Fix more memory leaks that may result if rtp is not successfully allocated.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:22:35 +00:00
Mark Michelson
b0c0c17764 Fix potential memory leak in chan_sip when video rtp is not allocated properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-23 15:08:27 +00:00
Russell Bryant
72b285ed96 Report CallerID change during a masquerade.
Reported by: markster


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 20:08:53 +00:00
Russell Bryant
dcfd8d7c7c Make Polycom subscription type override check more explicit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 16:00:00 +00:00
Mark Michelson
26ba38b8f4 Remove an extra debug line left from previous commit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 14:44:58 +00:00
Mark Michelson
d31f78a172 Fix a situation in which Asterisk would not stop retransmitting 487s.
If a CANCEL were received by Asterisk, we would send a 487 in response
to the original INVITE and a 200 OK for the CANCEL. If there were a network
hiccup which caused the 200 OK and the 487 to be lost, then the UA communicating
with Asterisk may try to retransmit its CANCEL. Asterisk's response to this used
to be to try sending another 487 to the canceled INVITE and another 200 OK to the
CANCEL.

The problem here is that the originally-sent 487 was sent "reliably" meaning that
it will be retransmitted until it is received properly. So when we receive the second
CANCEL it is likely that the first batch of 487s we sent is still going strong and
reaches the UA. The result was that the second set of 487s would be retransmitted
constantly until the maximum number of retries had been reached.

The fix for this is that if we receive a second CANCEL for an INVITE, then we cancel
the retransmission of the first set of 487s and start a second set. This causes the
dialog to be terminated reasonably.

(closes issue #14584)
Reported by: klaus3000
Patches:
      14584_v2.patch uploaded by mmichelson (license 60)
Tested by: klaus3000



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 14:42:55 +00:00
Mark Michelson
1f7d3e9a01 Fix a possible infinite loop in SDP parsing during glare situation.
There was a while loop in get_ip_and_port_from_sdp which was controlled
by a call to get_sdp_iterate. The loop would exit either if what we were
searching for was found or if the return was NULL. The problem is that
get_sdp_iterate never returns NULL. This means that if what we were searching
for was not present, the loop would run infinitely. This modification of the
loop fixes the problem.

(closes issue #15213)
Reported by: schmidts

(closes issue #15349)
Reported by: samy

(closes issue #14464)
Reported by: pj

(closes issue #15345)
Reported by: aragon
Patches:
      sip_inf_loop.patch uploaded by mmichelson (license 60)
Tested by: aragon



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-22 14:34:05 +00:00
Sean Bright
f543251260 Since we don't have sip_pvt_lock() in 1.4, we need to use ast_mutex_* directly.
(closes issue #15366)
Reported by: loloski


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-20 17:51:41 +00:00
Matthew Nicholson
e735cdc36b Added deadlock protection to try_suggested_sip_codec in chan_sip.c.
Review: https://reviewboard.asterisk.org/r/287/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@202022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19 21:21:15 +00:00
David Vossel
f17d5d22d2 timestamp was being converted to host order as a short rather than a long
(closes issue #15361)
Reported by: ffloimair
Patches:
      ts_issue.diff uploaded by dvossel (license 671)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19 20:22:02 +00:00
Tilghman Lesher
5757b115b3 If the "h" extension fails, give it another chance in main/pbx.c.
If the "h" extension fails, give it another chance in main/pbx.c, when it
returns from the bridge code.  Fixes an issue where the "h" extension may
occasionally not fire, when a Dial is executed from a Macro.
Debugged in #asterisk with user tompaw.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-19 00:40:41 +00:00
Russell Bryant
fce4a98f7c Fix memory corruption and leakage related reloads of non files mode MoH classes.
For Music on Hold classes that are not files mode, meaning that we are executing
an application that will feed us audio data, we use a thread to monitor the
external application and read audio from it.  This thread also makes use of the
MoH class object.  In the MoH class destructor, we used pthread_cancel() to ask
the thread to exit.  Unfortunately, the code did not wait to ensure that the
thread actually went away.  What needed to be done is a pthread_join() to ensure
that the thread fully cleans up before we proceed.  By adding this one line, we
resolve two significant problems:

  1) Since the thread was never joined, it never fully goes away.  So, on every
     reload of non-files mode MoH, an unused thread was sticking around.

  2) There was a race condition here where the application monitoring thread
     could still try to access the MoH class, even though the thread executing
     the MoH reload has already destroyed it.

(issue #15109)
Reported by: jvandal

(issue #15123)
Reported by: axisinternet

(issue #15195)
Reported by: amorsen

(issue AST-208)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-18 15:24:31 +00:00
Mark Michelson
03909de702 Change the datastore traversal in ast_do_masquerade to use a safe list traversal.
It is possible for datastore fixup functions to remove the datastore from the list
and free it. In particular, the queue_transfer_fixup in app_queue does this. While
I don't yet know of this causing any crashes, it certainly could.

Found while discussing a separate issue with Brian Degenhardt.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 19:59:31 +00:00
David Vossel
86c204f34c StopMixMonitor race condition (not giving up file immediately)
StopMixMonitor only indicates to the MixMonitor thread to stop
writing to the file.  It does not guarantee that the recording's
file handle is available to the dialplan immediately after execution.
This results in a race condition.  To resolve this, the filestream
pointer is placed in a datastore on the channel. When StopMixMonitor
is called, the datastore is retrieved from the channel and the
filestream is closed immediately before returning to the dialplan.
Documentation indicating the use of StopMixMonitor to free files
has been updated as well.

(closes issue #15259)
Reported by: travisghansen
Tested by: dvossel

Review: https://reviewboard.asterisk.org/r/283/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 19:28:12 +00:00
David Brooks
ebe2c1829b Checks for NULL sip_pvt pointer in chan_sip.c->acf_channel_read()
Zombie channels could be passed, and chan_sip.c wasn't checking for it.
Could crash Asterisk. Now checking for NULL pointer.

(closes issue #15330)
Reported by: okrief
Tested by: dbrooks


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 18:45:50 +00:00
Kevin P. Fleming
b8417b571b Correct AST_LIST_APPEND_LIST behavior when list to be appended is empty.
When the list to be appended is empty, and the list to be appended to is *not*,
AST_LIST_APPEND_LIST would actually cause the target list to become broken,
and no longer have a pointer to its last entry. This patch fixes the problem.

(reported by Stanislaw Pitucha on the asterisk-dev mailing list)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@201261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-17 12:03:25 +00:00
Kevin P. Fleming
94fa4d11b5 Improve support for media paths that can generate multiple frames at once.
There are various media paths in Asterisk (codec translators and UDPTL, primarily)
that can generate more than one frame to be generated when the application calling
them expects only a single frame. This patch addresses a number of those cases,
at least the primary ones to solve the known problems. In addition it removes the
broken TRACE_FRAMES support, fixes a number of bugs in various frame-related API
functions, and cleans up various code paths affected by these changes.

https://reviewboard.asterisk.org/r/175/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 17:05:38 +00:00
Eliel C. Sardanons
a42ff13c97 Show the interface name on error, if it is not found.
If the smdiport specified is not found, show the interface name
instead of '(null)'.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-16 13:25:51 +00:00
Mark Michelson
c946be82a9 Add INFO to our allowed methods so that endpoints know they may send it to us.
AST-223



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200513 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 15:21:46 +00:00
Mark Michelson
af2e7f5eab Suppress a warning message and give a better return code when generating
inband ringing after a call is answered.

(closes issue #15158)
Reported by: madkins
Patches:
      15158.patch uploaded by mmichelson (license 60)
Tested by: madkins



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-12 19:06:41 +00:00
Sean Bright
a34f50f08b Backport fix for parallel build warnings from trunk r199781.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-11 22:20:31 +00:00
Leif Madsen
c5ee7242d8 Fix path for .flavor and .version.
(issue #14737)
Reported by: davidw
Patches:
      flavor.patch uploaded by davidw (license 780)
Tested by: davidw


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@200037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-11 12:12:06 +00:00
Sean Bright
035b942a7a __WORDSIZE is not available on all platforms, so use sizeof(void *) instead.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 16:08:35 +00:00
Sean Bright
aea9d7d060 Fix a typo in the stack size calculation just introduced.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-08 19:28:33 +00:00
Sean Bright
0d849d509d Increase the size of our thread stack on 64 bit processors.
We were setting the stack size for each thread to 240KB regardless of
architecture, which meant that in some scenarios we actually had less available
stack space on 64 bit processors (pointers use 8 bytes instead of 4).  So now we
calculate the stack size we reserve based on the platform's __WORDSIZE, which
gives us:

     32 bit -> 240KB
     64 bit -> 496KB
    128 bit -> 1008KB (that's right, we're ready for 128 bit processors)

Patch typed by me but written by several members of #asterisk-dev, including
Kevin, Tilghman, and Qwell.

(closes issue #14932)
Reported by: jpiszcz
Patches:
      06052009_issue14932.patch uploaded by seanbright (license 71)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199626 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-08 19:24:32 +00:00
David Vossel
d3bea6da02 Fixes issue with hints giving unexpected results.
Hints with two or more devices that include ONHOLD gave unexpected results.

(closes issue #15057)
Reported by: p_lindheimer
Patches:
      onhold_trunk.diff uploaded by dvossel (license 671)
      pbx.c.1.4.patch uploaded by p (license 558)
      devicestate.c.trunk.patch uploaded by p (license 671)
Tested by: p_lindheimer, dvossel

Review: https://reviewboard.asterisk.org/r/254/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199297 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-05 21:19:56 +00:00
David Vossel
ed94be12f0 Additional updates to AST-2009-001
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04 19:00:15 +00:00
Sean Bright
7605487610 Safely handle AMI connections/reload requests that occur during startup.
During asterisk startup, a lock on the list of modules is obtained by the
primary thread while each module is initialized.  Issue 13778 pointed out a
problem with this approach, however.  Because the AMI is loaded before other
modules, it is possible for a module reload to be issued by a connected client
(via Action: Command), causing a deadlock.

The resolution for 13778 was to move initialization of the manager to happen
after the other modules had already been lodaded.  While this fixed this
particular issue, it caused a problem for users (like FreePBX) who call AMI
scripts via an #exec in a configuration file (See issue 15189).

The solution I have come up with is to defer any reload requests that come in
until after the server is fully booted.  When a call comes in to
ast_module_reload (from wherever) before we are fully booted, the request is
added to a queue of pending requests.  Once we are done booting up, we then
execute these deferred requests in turn.

Note that I have tried to make this a bit more intelligent in that it will not
queue up more than 1 request for the same module to be reloaded, and if a
general reload request comes in ('module reload') the queue is flushed and we
only issue a single deferred reload for the entire system.

As for how this will impact existing installations - Before 13778, a reload
issued before module initialization was completed would result in a deadlock.
After 13778, you simply couldn't connect to the manager during startup (which
causes problems with #exec-that-calls-AMI configuration files).  I believe this
is a good general purpose solution that won't negatively impact existing
installations.

(closes issue #15189)
(closes issue #13778)
Reported by: p_lindheimer
Patches:
      06032009_15189_deferred_reloads.diff uploaded by seanbright (license 71)
Tested by: p_lindheimer, seanbright

Review: https://reviewboard.asterisk.org/r/272/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@199022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-04 14:14:57 +00:00
Sean Bright
f3b85fface Fix a possible crash in pbx_spool.
We were trying to reference members of a struct that had previously been freed.
This patch makes sure that we free the struct after it has been removed from
the spooler queue.

(closes issue #15072)
Reported by: garlew
Patches:
      spool.diff uploaded by garlew (license 376)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-03 20:39:10 +00:00
David Vossel
ddb4e3f2e7 Generic call forward api, ast_call_forward()
The function ast_call_forward() forwards a call to an extension specified in an ast_channel's call_forward string.  After an ast_channel is called, if the channel's call_forward string is set this function can be used to forward the call to a new channel and terminate the original one.  I have included this api call in both channel.c's ast_request_and_dial() and res_feature.c's feature_request_and_dial().  App_dial and app_queue already contain call forward logic specific for their application and options.

(closes issue #13630)
Reported by: festr

Review: https://reviewboard.asterisk.org/r/271/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-03 15:49:46 +00:00
Tilghman Lesher
af31809bcf If using the old deprecated format, a reload would cause the class to disappear.
(closes issue #14759)
 Reported by: lidocaineus
 Patches: 
       20090518__issue14759.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-01 20:07:04 +00:00
Sean Bright
8fc78eae7a Properly terminate AMI JabberSend response messages.
The response message (either Error or Success) needs an extra trailing \r\n
after the fields to inform the client that the message is complete.

(closes issue #14876)
Reported by: srt
Patches:
      05302009_1.4_res_jabber.c.diff uploaded by seanbright (license 71)
      asterisk_14876.patch uploaded by srt (license 378)
      trunk-14876-2.diff uploaded by phsultan (license 73)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@198370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-30 19:36:20 +00:00