Commit graph

2112 commits

Author SHA1 Message Date
Russell Bryant
8ccb6795e9 Merged revisions 167432 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r167432 | russell | 2009-01-07 11:29:53 -0600 (Wed, 07 Jan 2009) | 4 lines

Treat an empty string the same way as a NULL country argument.

In passing, simplify the handling of returning a default tone zone.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@167442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-07 17:35:39 +00:00
Mark Michelson
483c555c41 Merged revisions 167299 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r167299 | mmichelson | 2009-01-06 15:35:57 -0600 (Tue, 06 Jan 2009) | 8 lines

Use the correct variable when creating the format string

(closes issue #14177)
Reported by: nic_bellamy
Patches:
      asterisk-trunk-svn-r167242-ast_db_gettree.patch uploaded by nic (license 299)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@167301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-06 21:36:44 +00:00
Jeff Peeler
334a89f754 When parsing environment variable ASTERISK_PROMPT, make sure to proceed to the next character when a non format specifier is used (no %). Otherwise, the while loop looking for the null byte will never exit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@167125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-03 20:29:54 +00:00
Terry Wilson
c70d486ec6 Don't forget to free typename
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@167057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-31 22:53:55 +00:00
Tilghman Lesher
dca80878af That was weird...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-31 19:39:05 +00:00
Tilghman Lesher
7cb7920e19 Merged revisions 166953 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r166953 | tilghman | 2008-12-31 13:20:35 -0600 (Wed, 31 Dec 2008) | 5 lines
  
  Also inherit the musiconhold class.
  (Closes #14153)
  Reported by: Jerry Geis, via the users list.
  Patch by: me (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-31 19:34:28 +00:00
Steve Murphy
aa905e347e Merged revisions 166093 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

In order to merge this 1.4 patch into trunk,
I had to resolve some conflicts and wait for
Russell to make some changes to res_agi.
I re-ran all the tests; 39 calls in all, and
made fairly careful notes and comparisons: I
don't want this to blow up some aspect of 
asterisk; I completely removed the KEEPALIVE
from the pbx.h decls. The first 3 scenarios
involving feature park; feature xfer to 700;
hookflash park to Park() app call all behave
the same, don't appear to leave hung channels,
and no crashes.

........
  r166093 | murf | 2008-12-19 15:30:32 -0700 (Fri, 19 Dec 2008) | 131 lines
  
  This merges the masqpark branch into 1.4
  
  These changes eliminate the need for (and use of)
  the KEEPALIVE return code in res_features.c;
  There are other places that use this result code
  for similar purposes at a higher level, these appear
  to be left alone in 1.4, but attacked in trunk.
  
  The reason these changes are being made in 1.4, is
  that parking ends a channel's life, in some situations,
  and the code in the bridge (and some other places),
  was not checking the result code properly, and dereferencing
  the channel pointer, which could lead to memory corruption
  and crashes.
  
  Calling the masq_park function eliminates this danger 
  in higher levels.
  
  A series of previous commits have replaced some parking calls
  with masq_park, but this patch puts them ALL to rest,
  (except one, purposely left alone because a masquerade
  is done anyway), and gets rid of the code that tests
  the KEEPALIVE result, and the NOHANGUP_PEER result codes.
  
  While bug 13820 inspired this work, this patch does
  not solve all the problems mentioned there.
  
  I have tested this patch (again) to make sure I have
  not introduced regressions. 
  
  Crashes that occurred when a parked party hung up
  while the parking party was listening to the numbers
  of the parking stall being assigned, is eliminated.
  
  These are the cases where parking code may be activated:
  
  1. Feature one touch (eg. *3)
  2. Feature blind xfer to parking lot (eg ##700)
  3. Run Park() app from dialplan (eg sip xfer to 700)
     (eg. dahdi hookflash xfer to 700)
  4. Run Park via manager.
  
  The interesting testing cases for parking are:
  I. A calls B, A parks B
      a. B hangs up while A is getting the numbers announced.
      b. B hangs up after A gets the announcement, but 
         before the parking time expires
      c. B waits, time expires, A is redialed,
         A answers, B and A are connected, after
         which, B hangs up.
      d. C picks up B while still in parking lot.
  
  II. A calls B, B parks A
      a. A hangs up while B is getting the numbers announced.
      b. A hangs up after B gets the announcement, but 
         before the parking time expires
      c. A waits, time expires, B is redialed,
         B answers, A and B are connected, after
         which, A hangs up.
      d. C picks up A while still in parking lot.
  
  Testing this throroughly involves acting all the permutations
  of I and II, in situations 1,2,3, and 4.
  
  Since I added a few more changes (ALL references to KEEPALIVE in the bridge
  code eliimated (I missed one earlier), I retested
  most of the above cases, and no crashes.
  
  H-extension weirdness.
  
  Current h-extension execution is not completely
  correct for several of the cases.
  
  For the case where A calls B, and A parks B, the
  'h' exten is run on A's channel as soon as the park
  is accomplished. This is expected behavior.
  
  But when A calls B, and B parks A, this will be
  current behavior:
  
  After B parks A, B is hung up by the system, and
  the 'h' (hangup) exten gets run, but the channel
  mentioned will be a derivative of A's...
  
  Thus, if A is DAHDI/1, and B is DAHDI/2,
  the h-extension will be run on channel
  Parked/DAHDI/1-1<ZOMBIE>, and the 
  start/answer/end info will be those 
  relating to Channel A.
  
  And, in the case where A is reconnected to
  B after the park time expires, when both parties
  hang up after the joyful reunion, no h-exten
  will be run at all.
  
  In the case where C picks up A from the 
  parking lot, when either A or C hang up,
  the h-exten will be run for the C channel.
  
  CDR's are a separate issue, and not addressed
  here.
  
  As to WHY this strange behavior occurs, 
  the answer lies in the procedure followed
  to accomplish handing over the channel
  to the parking manager thread. This procedure
  is called masquerading. In the process,
  a duplicate copy of the channel is created,
  and most of the active data is given to the
  new copy. The original channel gets its name
  changed to XXX<ZOMBIE> and keeps the PBX
  information for the sake of the original
  thread (preserving its role as a call 
  originator, if it had this role to begin
  with), while the new channel is without
  this info and becomes a call target (a
  "peer").
  
  In this case, the parking lot manager
  thread is handed the new (masqueraded)
  channel. It will not run an h-exten
  on the channel if it hangs up while
  in the parking lot. The h exten will
  be run on the original channel instead,
  in the original thread, after the bridge
  completes.
  
  See bug 13820 for our intentions as
  to how to clean up the h exten behavior.

Review: http://reviewboard.digium.com/r/29/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-23 18:13:49 +00:00
Mark Michelson
859ae78977 Merged revisions 166568 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r166568 | mmichelson | 2008-12-23 09:16:26 -0600 (Tue, 23 Dec 2008) | 12 lines

Fix a crash resulting from a datastore with inheritance but no duplicate callback

The fix for this is to simply set the newly created datastore's data pointer
to NULL if it is inherited but has no duplicate callback.

(closes issue #14113)
Reported by: francesco_r
Patches:
      14113.patch uploaded by putnopvut (license 60)
Tested by: francesco_r


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-23 15:17:54 +00:00
Tilghman Lesher
18e07935ed Merged revisions 166509 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r166509 | tilghman | 2008-12-22 22:05:25 -0600 (Mon, 22 Dec 2008) | 4 lines
  
  Use the integer form of condition for integer comparisons.
  (closes issue #14127)
   Reported by: andrew
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-23 04:32:15 +00:00
Russell Bryant
7166156658 Remove some error messages. This is the default handler that is valid to use.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 17:44:23 +00:00
Russell Bryant
50387142b7 Merged revisions 166297 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r166297 | russell | 2008-12-22 11:22:56 -0600 (Mon, 22 Dec 2008) | 2 lines

Fix up timeout handling in ast_carefulwrite().

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 17:29:10 +00:00
Russell Bryant
c2999a8366 Introduce ast_careful_fwrite() and use in AMI to prevent partial writes.
This patch introduces a function to do careful writes on a file stream which
will handle timeouts and partial writes.  It is currently used in AMI to
address the issue that has been reported.  However, there are probably a few
other places where this could be used.

(closes issue #13546)
Reported by: srt
Tested by: russell
http://reviewboard.digium.com/r/104/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 17:09:36 +00:00
Joshua Colp
29b658f040 Record the previous port in the temporary address structure so that the comparison does not treat the host as having changed even if it did not. This would have been uninitialized before and would have led to a baddddd port.
(closes issue #13628)
Reported by: pananix
Patches:
      bug13628.patch uploaded by jpeeler (license 325)
Tested by: file, blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 16:08:13 +00:00
Mark Michelson
9f7ce9da41 Fix a file playback crash and explicitly initialize values in func_timeout.c
A crash was brought up on the bugtracker. The first run through valgrind
was full of legitimate complaints of uninitialized values in func_timeout when
setting a response timeout. These were fixed but the crash persisted.

A second run through showed the real problem. The reference counting used
for filestreams was incorrect because there were some missing increments
when a frame was read from a format module.

(closes issue #14118)
Reported by: blitzrage
Patches:
      14118v2.patch uploaded by putnopvut (license 60)
Tested by: blitzrage



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 16:07:59 +00:00
Mark Michelson
e015e6f404 Get rid of an extra space.
I don't know how this crept back in when I had already
fixed it earlier



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 23:45:00 +00:00
Mark Michelson
9733b30ff0 Adding a new dialplan function AUDIOHOOK_INHERIT
This function is being added as a method to allow for
an audiohook to move to a new channel during a channel
masquerade. The most obvious use for such a facility is
for MixMonitor when a transfer is performed. Prior to
the addition of this functionality, if a channel 
running MixMonitor was transferred by another party, then
the recording would stop once the transfer had completed.
By using AUDIOHOOK_INHERIT, you can make MixMonitor 
continue recording the call even after the transfer
has completed.

It has also been determined that since this is seen
by most as a bug fix and is not an invasive change,
this functionality will also be backported to 1.4 and
merged into the 1.6.0 branches, even though they are
feature-frozen.

(closes issue #13538)
Reported by: mbit
Patches:
      13538.patch uploaded by putnopvut (license 60)
	  Tested by: putnopvut

Review: http://reviewboard.digium.com/r/102/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 22:26:16 +00:00
Russell Bryant
1cb4baade2 Merged revisions 165796 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r165796 | russell | 2008-12-18 15:39:25 -0600 (Thu, 18 Dec 2008) | 11 lines

Make ast_carefulwrite() be more careful.

This patch handles some additional cases that could result in partial writes
to the file description.  This was done to address complaints about partial
writes on AMI.

(issue #13546) (more changes needed to address potential problems in 1.6)
Reported by: srt
Tested by: russell
Review: http://reviewboard.digium.com/r/99/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 21:44:47 +00:00
Jeff Peeler
4e4093ab48 (closes issue #13993)
Reported by: mika

Add ActionID response to ping if sent with request.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 21:43:17 +00:00
Russell Bryant
50a25ac847 Remove the need for AST_PBX_KEEPALIVE with the GoSub option from Dial.
This is part of an effort to completely remove AST_PBX_KEEPALIVE and other
similar return codes from the source.  While this usage was perfectly safe,
there are others that are problematic.  Since we know ahead of time that
we do not want to PBX to destroy the channel, the PBX API has been changed
so that information can be provided as an argument, instead, thus removing
the need for the KEEPALIVE return value.

Further changes to get rid of KEEPALIVE and related code is being done by
murf.  There is a patch up for that on review 29.

Review: http://reviewboard.digium.com/r/98/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 19:33:42 +00:00
Joshua Colp
549fcd78a1 Merged revisions 165591 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r165591 | file | 2008-12-18 13:11:42 -0400 (Thu, 18 Dec 2008) | 4 lines
  
  Only care about a compatible codec for early bridging if we are actually bridging to another channel. If we are not we actually want to bring the audio back to us.
  (closes issue #13545)
  Reported by: davidw
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 17:13:32 +00:00
Eliel C. Sardanons
344a37f2a7 Remove duplicate code from the ast_str API. We now use __AST_STR_* to
access 'struct ast_str' members, but this must only be used inside the API implementation.

(closes issue #14098)
Reported by: eliel
Patches:
      ast_str.patch uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 15:25:15 +00:00
Tilghman Lesher
27cbfc1bd5 Add timezone to the possible fields in a timespec.
(closes issue #14028)
 Reported by: mostyn
 Patches: 
       timezone-v2.patch uploaded by mostyn (license 398)
       (with additional code guideline fixes and a memory leak fix by me - license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 22:57:17 +00:00
Russell Bryant
c8da171dd1 Merged revisions 164881 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164881 | russell | 2008-12-16 15:38:29 -0600 (Tue, 16 Dec 2008) | 9 lines

Fix an issue where DEBUG_THREADS may erroneously report that a thread 
is exiting while holding a lock.

If the last lock attempt was a trylock, and it failed, it will still be in the
list of locks so that it can be reported.

(closes issue #13219)
Reported by: pj

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 21:39:15 +00:00
Russell Bryant
53f788c6b5 Fix build issues on Linux after sysinfo related changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 20:49:25 +00:00
Russell Bryant
0859a4e30c Merged revisions 164806 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164806 | russell | 2008-12-16 14:35:25 -0600 (Tue, 16 Dec 2008) | 9 lines

Add "restart gracefully" to the AMI blacklist of CLI commands.  

"module unload" was already identified as a command that can not be used 
from the AMI.  "restart gracefully" effectively unloads all modules, and will 
run in to the same problems.

(closes issue #13894)
Reported by: kernelsensei

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 20:41:51 +00:00
Michiel van Baak
d2d96b10ac introduce 'core show sysinfo' for systems that dont have the Linux-ish sysinfo stuff but do have sysctl.
(closes issue #13433)
Reported by: mvanbaak
Patches:
      2008121300_sysinfosysctl.diff.txt uploaded by mvanbaak (license 7)
	  with two free calls replaced with ast_free based on feedback on reviewboard
Review:
      http://reviewboard.digium.com/r/91/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 20:08:34 +00:00
Steve Murphy
9de00f16f6 (closes issue #14076)
Reported by: toc
Tested by: murf

OK, Well this issue has had its share of flip-flopping.
I found the following:

1. the code in question, in ext_cmp1 in pbx.c, would not
allow two extensions that vary only by any dashes contained
within them, to be defined in the same context.

2. for input dialstrings, dashes are NOT ignored.
So, skipping them when sorting patterns seemed a bit silly.
Thus, you might declare ext 891 in a context, but
if you try dialing 8-9-1, it will NOT match 891.

So, I proposed to remove the code from ext_cmp1 to 
skip the spaces and dashes. Just kept us from 
declaring 891 and 8-9-1 in the same context,
forcing users to generate otherwise uselessly
obfuscated dialplan code to get the same effect.

Then, I tried out 1.4, and found that:

1. you can declare 891 and 8-9-1 in the
same context!

2. You can't define 891, and have 8-9-1 match
it! Nor can you define 8-9-1, and have 891
match it!

So, it appears that my proposal simply restores
the pbx to behaving as it did in 1.4.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 20:04:46 +00:00
Russell Bryant
556b082522 Merged revisions 164736 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164736 | russell | 2008-12-16 11:06:29 -0600 (Tue, 16 Dec 2008) | 14 lines

Fix memory leak and invalid reporting issues with DEBUG_THREADLOCALS.

One issue was that the ast_mutex_* API was being used within the context of the
thread local data destructors.  We would go off and allocate more thread local data
while the pthread lib was in the middle of destroying it all.  This led to a memory 
leak.

Another issue was an invalid argument being provided to the the object_add
API call.

(closes issue #13678)
Reported by: ys
Tested by: Russell

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 17:14:01 +00:00
Steve Murphy
eb73f5673a Merged revisions 164634 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164634 | murf | 2008-12-16 08:15:58 -0700 (Tue, 16 Dec 2008) | 5 lines

I added a sentence to clarify why - and ' ' are ignored in patterns
as per bug 14076. Leif says he'll put some stuff about it in the
extensions.conf sample, etc.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-16 15:31:54 +00:00
Russell Bryant
5a5cb18f54 Make sure we handle a uint32_t payload in ast_frdup()
(closes issue #14080)
Reported by: fnordian
Patches:
      frame.patch uploaded by fnordian (license 110)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 21:53:30 +00:00
Joshua Colp
d330d3e210 Use ast_seekstream to return the file stream back to the beginning instead of directly seeking to zero. This is because some audio formats have headers at the front that need to be skipped, which will be done by the format module.
(closes issue #14079)
Reported by: elguero


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 17:24:28 +00:00
Joshua Colp
6df30fb8cc Update to work with new ast_str changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 15:21:23 +00:00
Russell Bryant
c9eb01c899 Merged revisions 164201 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164201 | russell | 2008-12-15 08:31:37 -0600 (Mon, 15 Dec 2008) | 31 lines

Handle a case where a call can be bridged to a channel that is still ringing.

The issue that was reported was about a case where a RINGING channel got 
redirected to an extension to pick up a call from parking.  Once the parked 
call got taken out of parking, it heard silence until the other side answered.  
Ideally, the caller that was parked would get a ringing indication.  This patch
fixes this case so that the caller receives ringback once it comes out of 
parking until the other side answers.

The fixes are:

 - Make sure we remember that a channel was an outgoing channel when doing 
   a masquerade.  This prevents an erroneous ast_answer() call on the channel,
   which causes a bogus 200 OK to be sent in the case of SIP.

 - Add some additional comments to explain related parts of code.

 - Update the handling of the ast_channel visible_indication field.  Storing 
   values that are not stateful is pointless.  Control frames that are events 
   or commands should be ignored.

 - When a bridge first starts, check to see if the peer channel needs to be 
   given ringing indication because the calling side is still ringing.

 - Rework ast_indicate_data() a bit for the sake of readability.

(closes issue #13747)
Reported by: davidw
Tested by: russell
Review: http://reviewboard.digium.com/r/90/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@164203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 14:40:24 +00:00
Tilghman Lesher
c8223fc957 Merge ast_str_opaque branch (discontinue usage of ast_str internals)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13 08:36:35 +00:00
Tilghman Lesher
5e034d9f0b Merged revisions 163761 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r163761 | tilghman | 2008-12-12 16:03:10 -0600 (Fri, 12 Dec 2008) | 7 lines
  
  Simple fix for Ctrl-C not immediately exiting Asterisk, but also add a
  pointer inside editline to look back to asterisk.c, so others don't spend
  as much time as I did looking (in the wrong place) for the appropriate
  function.
  Reported by: ZX81, via the #asterisk-users channel
  Fixed by: me (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 22:04:26 +00:00
Russell Bryant
90e65dc7d3 Rename a number of tcptls_session variables. There are no functional changes here.
The name "ser" was used in a lot of places.  However, it is a relic from when
the struct was a server_instance, not a session_instance.  It was renamed since
it represents both a server or client connection.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 18:45:03 +00:00
Joshua Colp
035a7552d6 Since chan_sip is callback devicestate driven do not pass in actual states, pass in unknown so we get asked. Additionally do not pass in an actual device state value in ast_setstate since the channel may be callback driven.
(closes issue #13525)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 16:55:15 +00:00
Russell Bryant
7fcac067b2 Merged revisions 163448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163448 | russell | 2008-12-12 07:44:08 -0600 (Fri, 12 Dec 2008) | 26 lines

Resolve issues that could cause DTMF to be processed out of order.

These changes come from team/russell/issue_12658

1) Change autoservice to put digits on the head of the channel's frame readq 
   instead of the tail.  If there were frames on the readq that autoservice 
   had not yet read, the previous code would have resulted in out of order 
   processing.  This required a new API call to queue a frame to the head 
   of the queue instead of the tail.

2) Change up the processing of DTMF in ast_read().  Some of the problems 
   were the result of having two sources of pending DTMF frames.  There 
   was the dtmfq and the more generic readq.  Both were used for pending 
   DTMF in various scenarios.  Simplifying things to only use the frame 
   readq avoids some of the problems.

3) Fix a bug where a DTMF END frame could get passed through when it 
   shouldn't have.  If code set END_DTMF_ONLY in the middle of digit emulation,
   and a digit arrived before emulation was complete, digits would get 
   processed out of order.

(closes issue #12658)
Reported by: dimas
Tested by: russell, file
Review: http://reviewboard.digium.com/r/85/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 13:55:30 +00:00
Tilghman Lesher
592cab8202 Merged revisions 163383 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r163383 | tilghman | 2008-12-11 17:35:55 -0600 (Thu, 11 Dec 2008) | 9 lines
  
  When a Ctrl-C or Ctrl-D ends a remote console, on certain shells, the terminal
  is messed up.  By intercepting those events with a signal handler in the remote
  console, we can avoid those issues.
  (closes issue #13464)
   Reported by: tzafrir
   Patches: 
         20081110__bug13464.diff.txt uploaded by Corydon76 (license 14)
   Tested by: blitzrage
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 23:38:56 +00:00
Mark Michelson
7828e7a966 Add an appropriate goto if ast_call fails
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 20:21:44 +00:00
Russell Bryant
fb242bc8fd Fix the "failed" extension for outgoing calls.
The conversion to use ast_check_hangup() everywhere instead of checking the softhangup
flag directly introduced this problem.  The issue is that ast_check_hangup() checked
for tech_pvt to be NULL.  Unfortunately, this will be NULL is some valid circumstances,
such as with a dummy channel.

The fix is simple.  Don't check tech_pvt.  It's pointless, because the code path that
sets this to NULL is when the channel hangup callback gets called.  This happens inside
of ast_hangup(), which is the same function responsible for freeing the channel.  Any
code calling ast_check_hangup() better not be calling it after that point, and if so,
we have a bigger problem at hand.

(closes issue #14035)
Reported by: erogoza


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 20:07:47 +00:00
Mark Michelson
62130ba876 Reduce indentation level of ast_feature_request_and_dial
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 19:40:18 +00:00
Russell Bryant
31e068ade2 Merged revisions 163092 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r163092 | russell | 2008-12-11 10:54:51 -0600 (Thu, 11 Dec 2008) | 11 lines

Fix an issue that made it so you could only have a single caller executing
a custom feature at a time.  This was especially problematic when custom
features ran for any appreciable amount of time.

The fix turned out to be quite simple.  The dynamic features are now stored
in a read/write list instead of a list using a mutex.

(closes issue #13478)
Reported by: neutrino88
Fix suggested by file

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-11 17:06:16 +00:00
Tilghman Lesher
8c89090160 Previously missing line, now the substitution works correctly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 23:01:14 +00:00
Tilghman Lesher
689465ba98 Checking global variables here actually overwrote the previous substitution by
channel variables, and in any case, was redundant;
pbx_substitute_variables_helper ALREADY does substitution for global
variables.
(closes issue #13327)
 Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 22:48:09 +00:00
Michiel van Baak
c8c8995b70 add tab completion for 'core set debug X filename.c'
(closes issue #13969)
Reported by: jtodd
Patches:
      20081205__bug13969.diff.txt uploaded by Corydon76 (license 14)
Tested by: mvanbaak, eliel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 17:09:15 +00:00
Joshua Colp
402bd762c0 Merged revisions 162653 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r162653 | file | 2008-12-10 12:05:29 -0400 (Wed, 10 Dec 2008) | 6 lines
  
  Increment the sequence number on the end packets for RFC2833. After reading the RFC some more and doing some testing I agree with this change.
  (closes issue #12983)
  Reported by: vt
  Patches:
        dtmf_inc_seqnum_on_end_pkts.diff uploaded by vt (license 520)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-10 16:06:59 +00:00
Russell Bryant
d0bc22b3e8 Add some additional Asterisk project developer documentation.
After the nightly update of the documentation on asterisk.org, I'll post 
an update to asterisk-dev with a pointer to the changes.  This covers some
release branch and commit policy information.  None of this should be a
surprise, since it's just documenting what we have already been doing.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 22:38:41 +00:00
Russell Bryant
179667088b Merged revisions 162413 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r162413 | russell | 2008-12-09 16:17:39 -0600 (Tue, 09 Dec 2008) | 8 lines

Remove the test_for_thread_safety() function completely.

The test is not valid.  Besides, if we actually suspected that recursive
mutexes were not working, we would get a ton of LOG_ERROR messages when
DEBUG_THREADS is turned on.

(inspired by a discussion on the asterisk-dev list)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 22:25:06 +00:00
Mark Michelson
5f4dc23293 Merged revisions 162265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r162265 | mmichelson | 2008-12-09 14:28:44 -0600 (Tue, 09 Dec 2008) | 6 lines

If we fail to start a thread for the pbx to run in, we need to
be sure to decrease the number of active calls on the system.

This fix may relate to ABE-1713, but it is not certain yet.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 20:30:07 +00:00
Joshua Colp
90f6a8eeee Merged revisions 162204 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r162204 | file | 2008-12-09 15:47:07 -0400 (Tue, 09 Dec 2008) | 7 lines
  
  Make sure that the timestamp for DTMF is not the same as the previous voice frame and do not send audio when transmitting DTMF as this confuses some equipment.
  (closes issue #13209)
  Reported by: ip-rob
  Patches:
        13209.diff uploaded by file (license 11)
  Tested by: ip-rob, bujones
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162205 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 19:48:35 +00:00
Joshua Colp
f02e8e9ea9 Merged revisions 162188 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r162188 | file | 2008-12-09 15:06:14 -0400 (Tue, 09 Dec 2008) | 4 lines
  
  Take video into account when early bridging RTP.
  (closes issue #13535)
  Reported by: davidw
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 19:08:39 +00:00
Russell Bryant
da0737c00c Merged revisions 161948 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r161948 | russell | 2008-12-09 08:52:25 -0600 (Tue, 09 Dec 2008) | 15 lines

Fix a problem with GROUP() settings on a masquerade.

The previous code carried over group settings from the old channel to the new
one.  However, it did nothing with the group settings that were already on the
new channel.  This patch removes all group settings that already existed on the
new channel.

I have a more complicated version of this patch which addresses only the most
blatant problem with this, which is that a channel can end up with multiple
group settings in the same category.  However, I could not think of a use case
for keeping any of the group settings from the old channel, so I went this route
for now.

(closes AST-152)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-09 14:57:39 +00:00
Brandon Kruse
390b5bbcd6 Note that the recently changed waittime parameter is in milliseconds.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-08 23:04:49 +00:00
Tilghman Lesher
58716e94ba Allocate enough space initially for the message.
(closes issue #14027)
 Reported by: junky
 Patches: 
       M14027.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-08 18:49:50 +00:00
Joshua Colp
db99faa00d Fix a regression introduced when the PBX timeouts were converted to milliseconds. collect_digits now gets milliseconds fed to it, not seconds.
(closes issue #14012)
Reported by: dveiga
Patches:
      14012.patch uploaded by bkruse (license 132)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-08 18:47:32 +00:00
Eliel C. Sardanons
bc03323251 - Fix a leak while printing an argument description.
- Avoid printing the name of an argument in the [Arguments] tag if there is no description
  for that argument.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-08 04:23:50 +00:00
Sean Bright
fbb542055f Merged revisions 161426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
  r161426 | seanbright | 2008-12-05 16:02:20 -0500 (Fri, 05 Dec 2008) | 15 lines
  
  Merged revisions 161421 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.2
  
  ........
    r161421 | seanbright | 2008-12-05 15:50:23 -0500 (Fri, 05 Dec 2008) | 8 lines
    
    Fix build errors on FreeBSD (uint -> unsigned int).
    
    (closes issue #14006)
    Reported by: alphaque
    Patches:
          astobj2.h-patch uploaded by alphaque (license 259)
          (Slightly modified by seanbright)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 21:08:43 +00:00
Russell Bryant
de811c9490 Merged revisions 161287 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r161287 | russell | 2008-12-05 08:12:14 -0600 (Fri, 05 Dec 2008) | 2 lines

Fix a NULL format string warning found by buildbot.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 14:16:24 +00:00
Eliel C. Sardanons
1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Tilghman Lesher
da8069394b The first file should have a blank config filename in the structure, so that
when a save occurs to a different filename, everything goes to the alternate
filename, instead of appending to the original.  This is important for the
AMI command UpdateConfig.
(closes issue #13301)
 Reported by: trevo
 Patches: 
       20081113__bug13301.diff.txt uploaded by Corydon76 (license 14)
       20081113__bug13301__1.6.0.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76, blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 05:41:41 +00:00
Eliel C. Sardanons
4900f83f56 Fix minor coding guidelines introduced with CLI permissions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 19:31:48 +00:00
Jeff Peeler
8dd432ec5e Merged revisions 161013 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r161013 | jpeeler | 2008-12-04 12:30:41 -0600 (Thu, 04 Dec 2008) | 9 lines

(closes issue #13835)
Reported by: matt_b
Tested by: jpeeler

This mirrors a check that was present in ast_rtp_read to also be in ast_rtp_raw_write to not schedule sending the receiver report if the remote RTCP endpoint address isn't present in the RTCP structure.

Closes AST-142.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 18:32:20 +00:00
Mark Michelson
21a3c93ef2 Merged revisions 160943 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r160943 | mmichelson | 2008-12-04 10:44:18 -0600 (Thu, 04 Dec 2008) | 15 lines

Fix a callerid parsing issue. If someone formatted callerid like the
following: "name <number>" (including the quotation marks), then the parts
would be parsed as 

name: "name
number: number

This is because the closing quotation mark was not discovered since the number
and everything after was parsed out of the string earlier. Now, there is a check
to see if the closing quote occurs after the number, so that we can know if we
should strip off the opening quote on the name.

Closes AST-158


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 16:45:06 +00:00
Jason Parker
85034a7f8e Another place this is missing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-03 20:35:36 +00:00
Jason Parker
b147256fb5 Fix typo when ListCategories returns none.
(closes issue #13994)
Reported by: mika
Patches:
      ListCategoriesActionPatch.diff uploaded by mika (license 624)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-03 20:32:20 +00:00
Tilghman Lesher
3d4c0cd421 Merged revisions 160207 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r160207 | tilghman | 2008-12-01 18:25:16 -0600 (Mon, 01 Dec 2008) | 3 lines
  
  Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc
  and glibc.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-02 00:37:21 +00:00
Sean Bright
4dc60e7560 Merged revisions 159976 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r159976 | mvanbaak | 2008-12-01 11:08:36 -0500 (Mon, 01 Dec 2008) | 3 lines
  
  Get rid of the useless format string and argument in the Bogus/ manager channelname.
  Noted by kpfleming and name Bogus/manager suggested by eliel
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-01 23:37:49 +00:00
Eliel C. Sardanons
033bffd32f Introduce CLI permissions.
Based on cli_permissions.conf configuration file, we are able to permit or deny
cli commands based on some patterns and the local user and group running rasterisk.

(Sorry if I missed some of the testers).

Reviewboard: http://reviewboard.digium.com/r/11/

(closes issue #11123)
Reported by: eliel
Tested by: eliel, IgorG, Laureano, otherwiseguy, mvanbaak



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-01 18:52:14 +00:00
Michiel van Baak
1b6a5b7524 Merged revisions 159897 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r159897 | mvanbaak | 2008-12-01 15:05:41 +0100 (Mon, 01 Dec 2008) | 4 lines
  
  make manager compile on OpenBSD.
  The last (10th) argument to ast_channel_alloc here should be a pointer
  and NULL is not really a pointer.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-01 14:09:59 +00:00
Kevin P. Fleming
887e28d7aa incorporates r159808 from branches/1.4:
------------------------------------------------------------------------
r159808 | kpfleming | 2008-11-29 10:58:29 -0600 (Sat, 29 Nov 2008) | 7 lines

update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors

since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them

format attributes in a consistent way


------------------------------------------------------------------------

in addition:

move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-29 17:57:39 +00:00
Kevin P. Fleming
9a7c28cd5a we can now build with -Wformat=2, which found a couple of real bugs
because SPRINTF() use non-literal format strings (which cannot be checked), move it into its own module so the rest of func_strings can benefit from format string checking



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-29 15:29:33 +00:00
Russell Bryant
bcde91337b Make a formatting change to test a new post-commit hook for reviewboard.
http://reviewboard.digium.com/r/65/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 22:11:55 +00:00
Russell Bryant
bd341895b3 Make a formatting change to test a new post-commit hook for reviewboard.
http://reviewboard.digium.com/r/65/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 22:08:33 +00:00
Russell Bryant
40a52b50fa Make a formatting change to test a new post-commit hook for reviewboard.
http://reviewboard.digium.com/r/65/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 22:01:34 +00:00
Kevin P. Fleming
aa0e888629 add support for event suppression for AMI-over-HTTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 21:09:58 +00:00
Tilghman Lesher
6e6e02ce1f If the config file does not exist, then the first use crashes Asterisk.
(closes issue #13848)
 Reported by: klaus3000
 Patches: 
       udptl.c.patch uploaded by eliel (license 64)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 18:33:04 +00:00
Jeff Peeler
1abffcee9f Always parse arguments in park_call_exec so that app_args is valid. This prevents a crash when executing Park from the dialplan with no arguments.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 03:18:01 +00:00
Steve Murphy
c5e64b2ac4 Merged revisions 159316 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r159316 | murf | 2008-11-25 15:41:10 -0700 (Tue, 25 Nov 2008) | 15 lines

(closes issue #12694)
Reported by: yraber
Patches:
      12694.2nd.diff uploaded by murf (license 17)
Tested by: murf, laurav

Thanks to file (Joshua Colp) for his IAX fix.

the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 23:03:01 +00:00
Tilghman Lesher
bb80c835e0 Add an option, waitfordialtone, for UK analog lines which do not end a call
until the originating line hangs up.
(closes issue #12382)
 Reported by: one47
 Patches: 
       zap-waitfordialtone-trunk.080901.patch uploaded by one47 (license 23)
       zap-waitfordialtone-bra-1.4.21.2.patch uploaded by fleed (license 463)
 Tested by: fleed


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 22:45:59 +00:00
Tilghman Lesher
f9461535d3 Don't limit the length of the hint at the final step (from ~8100 chars max
(or ~500 chars max on LOW_MEMORY) to 80 chars max).  This will allow more
channels to be used in a single hint.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 17:44:30 +00:00
Sean Bright
fd8caa1778 This is basically a complete rollback of r155401, as it was determined that
it would be best to maintain API compatibility.  Instead, this commit introduces
ao2_callback_data() which is functionally identical to ao2_callback() except
that it allows you to pass arbitrary data to the callback.

Reviewed by Mark Michelson via ReviewBoard:
	http://reviewboard.digium.com/r/64


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 01:01:49 +00:00
Matthew Nicholson
69d85eaca9 Fix compiling in dev mode.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-25 00:19:55 +00:00
Matthew Nicholson
f3d086256c Added EVENT_FLAG_AGI and used it for manager calls in res_agi.c
(closes issue #13873)
Reported by: fnordian
Patches:
      ami_agievent.patch uploaded by fnordian (license 110)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-24 21:56:22 +00:00
Tilghman Lesher
455284ebc1 Add a bit of documentation (thanks, I-MOD) on what the silence threshold
constant actually does and what values are valid for it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-24 21:52:34 +00:00
Matthew Nicholson
926eb0940b Make ast_streamfile() check the result of ast_openstream() before doing
anything with it.

(closes issue #13955)
Reported by: chris-mac


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-24 21:27:26 +00:00
Steve Murphy
11e22239cc Merged revisions 158603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r158603 | murf | 2008-11-21 16:14:50 -0700 (Fri, 21 Nov 2008) | 11 lines

In reference to the fix made for 13871, I was
merging the fix into 1.6.0 and realized I missed
the code in the h-exten block, and didn't catch it
because my test case had the h-exten commented out.

So, this corrects the code I missed, as a 
preventative against another crash report.
Tested with the h-exten defined, all is well.



........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 23:40:46 +00:00
Tilghman Lesher
35213dff98 Allow space within an extension, when the space is within a character class.
(requested by lmadsen on -dev, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 23:33:22 +00:00
Tilghman Lesher
7bd6f1744b Merged revisions 158600 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r158600 | tilghman | 2008-11-21 17:07:46 -0600 (Fri, 21 Nov 2008) | 5 lines
  
  The passed extension may not be the same in the list as the current entry,
  because we strip spaces when copying the extension into the structure.
  Therefore, use the copied item to place the item into the list.
  (found by lmadsen on -dev, fixed by me)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 23:14:11 +00:00
Russell Bryant
6fb1f86054 Merged revisions 158539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r158539 | russell | 2008-11-21 16:05:55 -0600 (Fri, 21 Nov 2008) | 2 lines

When compiling with DEBUG_THREADS, report the real file/func/line for ao2_lock/ao2_unlock

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 22:12:37 +00:00
Steve Murphy
3c01868040 Merged revisions 158483 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r158483 | murf | 2008-11-21 14:19:47 -0700 (Fri, 21 Nov 2008) | 11 lines

(closes issue #13871)
Reported by: mdu113

This one is totally my fault. The code doesn't even
create a bridge CDR if the channel CDR has POST_DISABLED.
I didn't check for that at the end of the bridge.
Fixed with a few small insertions. Tested. Looks
good. No cdr generated, no crash, no unnecc. data
objects created either.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 21:47:16 +00:00
Jason Parker
ea1446635e Make sure we add the Event header for CoreShowChannels.
(closes issue #13334)
Reported by: srt
Patches:
      13334_missing_event_header_in_core_show_channel.diff uploaded by srt (license 378)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-21 19:40:57 +00:00
Mark Michelson
3a9c27459e Merged revisions 158072 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r158072 | twilson | 2008-11-20 11:48:58 -0600 (Thu, 20 Nov 2008) | 2 lines

Begin on a crusade to end trailing whitespace!

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-20 18:20:00 +00:00
Ryan Brindley
e27f9325ea more formatting corrections :: one line for loops and if statements still need {}
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-20 17:53:42 +00:00
Ryan Brindley
ad918da94f formatting changes :: one line for loops and if statements should have {}
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-20 17:46:56 +00:00
Jeff Peeler
d12263a16a (closes issue #12929)
Reported by: snyfer

This handles the case for a zero length file to attempt to be streamed. Instead of failing from not playing any data, go ahead and return success as ast_streamfile should consider playing nothing a success when there is nothing to play.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-20 17:37:31 +00:00
Kevin P. Fleming
8d5deb312b Merged revisions 157859 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
  
  the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
  
  with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
  
  while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-20 00:08:12 +00:00
Terry Wilson
d66a8cd264 Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon trying to parse an invalid config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 19:25:14 +00:00
Tilghman Lesher
afb571ba8f Starting with a change to ensure that ast_verbose() preserves ABI compatibility
in 1.6.1 (as compared to 1.6.0 and versions of 1.4), this change also
deprecates the use of Asterisk with FreeBSD 4, given the central use of va_copy
in core functions.  va_copy() is C99, anyway, and we already require C99 for
other purposes, so this isn't really a big change anyway.  This change also
simplifies some of the core ast_str_* functions.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 01:02:45 +00:00
Mark Michelson
07a22680ee If malloc returns NULL, we need to return NULL immediately or
else Asterisk will crash when attempting to dereference the NULL
pointer

(closes issue #13858)
Reported by: eliel
Patches:
      astmm.c.patch uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 00:59:48 +00:00