Commit graph

18042 commits

Author SHA1 Message Date
Mark Michelson
56903a7485 Get rid of some duplicated code and correct a connected line error.
When receiving a 200 OK response to an INVITE, it was possible to transmit two
connected line updates instead of a single one. Furthermore, the second did not
have the proper information present.

Now the two have been combined into a single update and the correct information
is presented.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 20:45:05 +00:00
Mark Michelson
8139c8ed4e Plug a memory leak in app_dial.
Since we may have copied connected line info into the chanlist struct prior
to placing an outbound call, we need to be sure to free the allocated data
when we hang the call up.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 20:14:28 +00:00
Joshua Colp
b4c24d2da1 Merged revisions 195688 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195688 | file | 2009-05-20 14:30:25 -0300 (Wed, 20 May 2009) | 5 lines
  
  Fix some code that wrongly assumed a pointer would always be non-NULL when dealing with CDRs after a bridge.
  
  (closes issue #15079)
  Reported by: barryf
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 17:33:02 +00:00
Joshua Colp
4da3a150f3 Merged revisions 195635 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195635 | file | 2009-05-20 14:14:00 -0300 (Wed, 20 May 2009) | 5 lines
  
  Fix a bug where the MeetMe option 'D' did not actually prompt for the pin.
  
  (closes issue #15050)
  Reported by: pmhaddad
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-20 17:14:42 +00:00
Mark Michelson
7b4eeed257 Add basic support for handling connected line-related UPDATE requests.
SIP purists may want to look the other way...

When COLP/CONP support for SIP was committed, there was a condition under 
which Asterisk may transmit a SIP UPDATE in order to communicate the change 
in connected line information. The issue here is that while we could send a 
SIP UPDATE message, we were not prepared to receive such an UPDATE and would 
always responde with a 501 when we received an UPDATE.

The situation was a bit rough. We really want to be able to receive UPDATEs 
having to do with connected line changes, but the amount of effort involved 
in properly supporting RFC 3311 was staggering. This commit represents a 
compromise.

First, it was decided that it is important to only send a SIP UPDATE to 
an endpoint that is able to handle one. So, now we have added parsing of 
the Allow header into SIP. We store the allowed methods on SIP peers so 
that when we communicate with them, we already will know what we can and 
cannot send to them. We will parse the peer's allowed methods when he registers
with us. If the peer is not the type to register with us, but the qualify option 
is enabled, then we will use the response to the OPTIONS request we send 
the peer to determine the peer's allowed methods. When the peer's registration 
expires, or when qualify deems the peer to be unreachable, we clear the allowed 
methods from the peer.

For an actual call, we will copy the peer's allowed methods to the sip_pvt 
representing the call leg. If we are communicating with an endpoint which is 
not a peer, then we will just parse the Allow header from the first message 
we receive during the call and store the information in the sip_pvt.

If, during communication with a peer, we receive a 501 response, then we will 
make sure to save the fact that we cannot use that method when communicating 
with that peer.

Now, with all that infrastructure in place, the only actual place we use this 
information currently is when attempting to send a connected line change using 
an UPDATE request. If we cannot send the change immediately using an UPDATE, 
we will set the SIP_NEEDREINVITE flag so that we can send a REINVITE as soon 
as it is allowed.

The second part of the changes here is for Asterisk to accept UPDATE requests 
that have connected line changes. Since we are not fully supporting RFC 3311, 
Asterisk will NOT place the UPDATE method in Allow headers it sends. Instead, 
if you are communicating with what you know to be another Asterisk box, you may 
set the rpid_update parameter in sip.conf so that we will send UPDATEs to that 
Asterisk box. When we send a connected line update, we set a custom header 
called "X-Asterisk-rpid-update."

On the receiving end, if Asterisk receives an UPDATE that does not have the 
"X-Asterisk-rpid-update" header present, then Asterisk will respond with a 501 
since media-changing UPDATEs are not supported. We should never get such 
UPDATEs, since as was stated earlier, Asterisk does not put UPDATE in its Allow
header. If the custom header is present in the received UPDATE, though, then we 
will check the incoming request for connected line updates and queue the update
on the channel where the change occurred.

ABE-1840
ABE-1822



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 20:59:38 +00:00
Tilghman Lesher
c1cb7b078e Merged revisions 195520 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195520 | tilghman | 2009-05-19 15:12:20 -0500 (Tue, 19 May 2009) | 7 lines
  
  Ensure thread keys are initialized before attempting to access them.
  (closes issue #14889)
   Reported by: jaroth
   Patches: 
         app_voicemail.c.patch uploaded by msirota (license 758)
   Tested by: msirota, BlargMaN
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 20:16:01 +00:00
Joshua Colp
99a1e0ce01 Merged revisions 195448 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195448 | file | 2009-05-19 11:41:45 -0300 (Tue, 19 May 2009) | 7 lines
  
  Fix a bug where direct RTP setup would partially occur even when disabled if the calling channel was answered.
  
  (issue #13545)
  Reported by: davidw
  (issue #14244)
  Reported by: mbnwa
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-19 14:43:54 +00:00
Tilghman Lesher
bdcafc1ab4 Recorded merge of revisions 195366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195366 | tilghman | 2009-05-18 15:24:13 -0500 (Mon, 18 May 2009) | 8 lines
  
  Add a similar dependency on SMDI for voicemail as already exists for ADSI.
  (closes issue #14846)
   Reported by: pj
   Patches: 
         20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14)
         20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14)
         20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:52:33 +00:00
Eliel C. Sardanons
e45d681d15 Fix the CLI command 'manager show command' documentation and functionality.
The CLI command 'manager show command' supports passing multiple action names in
the same line, but it was not allowing that because of a incorrect check in the
argumentes counter. Also the documentation was updated to show that this usage
of the command is possible.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:49:20 +00:00
Eliel C. Sardanons
9e5da09a6b Rollback commit 195367.
The CLI command 'manager show command' supports passing multiple AMI actions
at a time. The issue with this command was in another place.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:44:54 +00:00
Eliel C. Sardanons
311c997896 Avoid autocompleting passed the action name argument in the CLI command.
When running the autocomplete of the CLI command 'manager show command <action>'
it was autocompleting everything else after the <action> argument, giving an error,
because this command doesn't support multiple AMI action names at a time.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:31:29 +00:00
Eliel C. Sardanons
75cd3f4918 Move AGI documentation from static to the XML form.
Move the AGI commands 'receive text', 'receive char' and 'record'
static documentation to XML docs.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 20:18:43 +00:00
Tilghman Lesher
92ace48782 Move the spawn of astcanary down, until after the call to daemon(3).
This avoids possible conflicts with the internal implementation of
daemon(3).
(closes issue #15093)
 Reported by: tzafrir
 Patches: 
       20090513__issue15093__2.diff.txt uploaded by tilghman (license 14)
 Tested by: tzafrir


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 19:17:15 +00:00
Mark Michelson
1413e48fca Fix externalivr's setvariable command so that it properly sets multiple variables.
The command had a for loop that was guaranteed to only execute once since
the continuation operation of the loop would set the input buffer NULL. I rewrote
the loop so that its operation was more obvious, and it would set multiple variables
correctly.

I also reduced stack space required for the function, constified the input string,
and modified the function so that it would not modify the input string while I was
at it.

(closes issue #15114)
Reported by: chris-mac
Patches:
      15114.patch uploaded by mmichelson (license 60)
Tested by: chris-mac



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 18:58:26 +00:00
Sean Bright
c890725398 Remove some unused code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 17:08:25 +00:00
Richard Mudgett
0163194d93 The facilityenable parameter does not have anything to do with pritimer parameters.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 16:29:06 +00:00
Sean Bright
dd0cd47630 Const-ify a string, fix a log message, and use the correct signature for the
load_module function.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 15:55:53 +00:00
Joshua Colp
80bdf0f520 Merged revisions 195206 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195206 | file | 2009-05-18 12:51:22 -0300 (Mon, 18 May 2009) | 7 lines
  
  Fix a typo which caused loss of audio when using G729 in some scenarios with a smoother present.
  
  (closes issue #15105)
  Reported by: bamby
  Patches:
        process-vad-correctly.diff uploaded by bamby (license 430)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 15:53:26 +00:00
Sean Bright
f223598207 Allow cdr_custom to write to multiple files instead of just one.
Up to now, cdr_custom would only accept a single filename/format from
cdr_custom.conf.  This change allows you to specify multiple filename
& format directives.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 14:54:43 +00:00
Eliel C. Sardanons
d24179825f Warn about the use of the application WaitExten() within a Macro().
Update applications documentation to warn the user about the use of the
WaitExten() application within a Macro(). Recommend the use of Read()
instead.

(closes issue #14444)
Reported by: ewieling


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 14:45:23 +00:00
Joshua Colp
c1073e0ac3 Merged revisions 195095 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195095 | file | 2009-05-18 10:53:39 -0300 (Mon, 18 May 2009) | 5 lines
  
  Fix a bug where the codecs of the called party leg were not properly sent back to the caller call leg when reinvited.
  
  (closes issue #13569)
  Reported by: bkw918
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 13:56:16 +00:00
Joshua Colp
9f4e8a5bda Fix a bug where specifying an empty outboundproxy would cause packets to get sent to ourself.
(closes issue #15106)
Reported by: timeshell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 13:36:17 +00:00
Eliel C. Sardanons
a007eb13b2 Do not avoid loading the XML documentation if not XInclude substitution is done.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 13:30:34 +00:00
Russell Bryant
bea88fc72a Recorded merge of revisions 195020 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195020 | russell | 2009-05-18 07:57:46 -0500 (Mon, 18 May 2009) | 5 lines
  
  Don't try to unlock a bogus channel.
  
  (closes issue #15144)
  Reported by: cristiandimache
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@195021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-18 12:59:11 +00:00
Eliel C. Sardanons
2f996a3ab4 Allow to include sections of other parts of the xml documentation.
Avoid duplicating xml documentation by allowing to include other parts of
the xml documentation using XInclude.
Example:
   <xi:include xpointer="xpointer(/docs/function[@name='CHANNEL']/synopsis)" />
(Insert this line to include the synopsis of the CHANNEL function xml
documentation).

It is also possible to include documentation from other files in the
'documentation/' directory using the href="" attribute inside a xinclude
element.

(closes issue #15107)
Reported by: lmadsen

(issue #14444)
Reported by: ewieling



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-16 20:01:22 +00:00
Eliel C. Sardanons
766972a3cd Fix a missing unlock in case of error, and a missing free().
Always free the allocated memory for a string field, because
we are always using it (not only when xmldocs are enabled).
Also if there is an error allocating memory for the string field
remember to unlock the list of registered applications, before returning.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-16 18:32:11 +00:00
David Vossel
2595c54876 Merged revisions 194873 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194873 | dvossel | 2009-05-15 17:43:13 -0500 (Fri, 15 May 2009) | 17 lines
  
  IAX2 REGAUTH loop
  
  IAX was not sending REGREJ to terminate invalid registrations.  Instead it sent another REGAUTH if the authentication challenge failed.  This caused a loop of REGREQ and REGAUTH frames.
  
  (Related to Security fix AST-2009-001)
  
  (closes issue #14867)
  Reported by: aragon
  Tested by: dvossel
  
  (closes issue #14717)
  Reported by: mobeck
  Patches:
        regauth_loop_update_patch.diff uploaded by dvossel (license 671)
  Tested by: dvossel
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 22:44:44 +00:00
David Vossel
d9ac4bfc6f Merged revisions 194557,194685 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194557 | dvossel | 2009-05-14 17:59:43 -0500 (Thu, 14 May 2009) | 10 lines
  
  IAX2 "Ghost" Channels
  
  There is a bug tracker issue where people are reporting "Ghost" channels in their 'iax2 show channels' output.  The confusion is caused by channels being listed as "(NONE)" with format "unknown".  These are not channels of coarse.  They are usually just pending registration or poke requests, but it is confusing output.  To help make sense of this I have added two columns to 'iax2 show channels'.  One shows the first message which started the transaction, and the second shows the last message sent by either side of the call.  This helps diagnose why the entry exists and why it may not go away.
  
  (closes issue #14207)
  Reported by: clive18
  
  Review: https://reviewboard.asterisk.org/r/246/
........
  r194685 | dvossel | 2009-05-15 10:40:37 -0500 (Fri, 15 May 2009) | 6 lines
  
  Update to previous IAX2 "Ghost" Channels patch.
  
  Fixed some comments made on reviewboard for the previous patch.
  
  (issue #14207)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 20:52:12 +00:00
Russell Bryant
8b40aa0287 Merged revisions 194764 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r194764 | russell | 2009-05-15 13:43:18 -0500 (Fri, 15 May 2009) | 2 lines

Fix some spelling fail.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 18:43:42 +00:00
Russell Bryant
19853c437e Shuttle some bits around to address some gain issues with G.722.
(closes AST-209)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 17:59:08 +00:00
Russell Bryant
66c76daba1 Further simplify codec_g722 build.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 17:37:12 +00:00
Russell Bryant
79b5f06f34 Actually force running make for g722.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 17:24:39 +00:00
Michiel van Baak
3c3c03c179 add eliel
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 13:43:24 +00:00
Eliel C. Sardanons
77c41d700e Allow to specify an enumlist inside an enum.
It was not possible to use an enumlist inside an enum:
<enumlist>
   <enum name="aa">
      <enumlist>
         ...
      </enumlist>
   </enum>
</enumlist>
Now we will be able to insert as many levels as we want.

(closes issue #15112)
Reported by: lmadsen



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 13:23:37 +00:00
Kevin P. Fleming
d1e0b11343 Add ability for modules to dynamically register logger levels
This patch adds the ability for modules to dynamically create logger levels for their own use; these are named levels just like the built-in levels, and can be directed to any destination that the logger can send any level to, by including their names in logger.conf.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-15 13:13:47 +00:00
Kevin P. Fleming
78b84effe3 Merged revisions 194509 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194509 | kpfleming | 2009-05-14 17:23:49 -0500 (Thu, 14 May 2009) | 1 line
  
  Update URL to Reviewboard
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 22:26:02 +00:00
Mark Michelson
64c6397bd0 Merged revisions 194484 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194484 | mmichelson | 2009-05-14 17:17:55 -0500 (Thu, 14 May 2009) | 24 lines
  
  Fix a race condition where a reinvite could trigger a 482 response.
  
  The loop detection/spiral detection code in chan_sip used the owner
  channel's state as a criterion for determining if the incoming INVITE
  is a looped request. The problem with this is that the INVITE-handling
  code happens in a different thread than the thread that marks the owner
  channel as being up. As a result, if a reinvite were to come in very quickly,
  say from another Asterisk on the same LAN, it was possible for the reinvite
  to arrive before the owner channel had been set to the up state.
  
  This patch corrects the problem by using the invitestate of the sip_pvt
  instead, since that can be guaranteed to be set correctly by the time
  the reinvite arrives. Since there is a switch statement further in the
  INVITE-handling code, the AST_STATE_RINGING state also checks the invitestate
  of the sip_pvt in case we should actually be treating the channel as if it were
  up already.
  
  (closes issue #12215)
  Reported by: jpyle
  Patches:
        12215_confirmed.patch uploaded by mmichelson (license 60)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 22:20:51 +00:00
Richard Mudgett
7872538b83 Add outgoing_colp misdn.conf port parameter.
Select what to do with outgoing COLP information on this port.
0 - Send out COLP information unaltered. (default)
1 - Force COLP to restricted on all outgoing COLP information.
2 - Do not send COLP information.
outgoing_colp=0

Also fixed sending the EctInform message so it always has the
required redirectionNumber parameter when the status is active.

JIRA ABE-1853


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 22:03:49 +00:00
Russell Bryant
23f54f4c76 Fix a typo where an equality check should be an assignment.
(closes issue #15103)
Reported by: lmsteffan
Patches:
      transfer_crash.patch uploaded by lmsteffan (license 779)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 21:24:17 +00:00
Joshua Colp
5ff58c1ff9 Fix a bug where the 'T' option to Meetme did not work.
(closes issue #15031)
Reported by: Stochastic
(closes issue #13801)
Reported by: justdave


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 17:05:33 +00:00
Tilghman Lesher
5a3797643c If the timing ended on a zero, then we would loop forever.
(closes issue #14983)
 Reported by: teox
 Patches: 
       20090513__issue14983.diff.txt uploaded by tilghman (license 14)
 Tested by: teox


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 16:22:14 +00:00
Mark Michelson
62b4f8a543 Blocked revisions 194356 via svnmerge
........
  r194356 | mmichelson | 2009-05-13 14:41:44 -0500 (Wed, 13 May 2009) | 13 lines
  
  Remove an extraneous unlocking operation from ast_channel_free.
  
  In the case that we could not remove the desired channel from the
  list of channels, there was an extra call to unlock the channel list.
  Since we unlock the list later on in the function anyway, this results
  in the list being unlocked twice yet only being locked once.
  
  (closes issue #15098)
  Reported by: tim_ringenbach
  Patches:
        remove_extra_unlock.diff uploaded by tim (license 540)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-13 19:42:51 +00:00
Eliel C. Sardanons
8c5643b2f9 Do not lock the 'sessions' container, lock the allocated 'session'.
There was a typo in the structure being locked, and we were locking the
'sessions' container instead of the 'session' structure thar we are modifying.
Reported by seanbright on #asterisk-dev, thanks!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-13 15:02:10 +00:00
Joshua Colp
1179ecf165 Merged revisions 194208 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194208 | file | 2009-05-13 10:38:01 -0300 (Wed, 13 May 2009) | 11 lines
  
  Fix RFC2833 issues with DTMF getting duplicated and with duration wrapping over.
  
  (closes issue #14815)
  Reported by: geoff2010
  Patches:
        v1-14815.patch uploaded by dimas (license 88)
  Tested by: geoff2010, file, dimas, ZX81, moliveras
  (closes issue #14460)
  Reported by: moliveras
  Tested by: moliveras
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-13 13:39:10 +00:00
Tilghman Lesher
b399b5389d Merged revisions 194137 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194137 | tilghman | 2009-05-12 19:52:03 -0500 (Tue, 12 May 2009) | 7 lines
  
  Fix logic for how to proceed with a single digit extension.
  (closes issue #15091)
   Reported by: andrew
   Patches: 
         20090512__issue15091.diff.txt uploaded by tilghman (license 14)
   Tested by: andrew
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-13 00:52:49 +00:00
Tilghman Lesher
c524f905a6 Two fixes found while debugging with ast_backtrace():
1) If MALLOC_DEBUG is used when concurrently using ast_backtrace, the free()
used in that routine will trigger an error, because the memory was allocated
internally to libc, where we could not intercept that call to wrap it.
Therefore, it's not memory we knew about, and the free is reported as an
error.

2) Now that channels are objects, the old hack of initializing a channel
to all zeroes no longer works, since we may try to call something like
ast_channel_lock() within a function on that reference.  In that case, it's
reported as an error, because the pointer isn't an object reference.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-13 00:13:43 +00:00
Eliel C. Sardanons
68a37433bc Fix a crash when logging out from the AMI and avoid astobj2 warning messages.
When the user logout the session was being destroyed twice and the file
descriptor was being closed twice. The sessions reference counter wasn't
used in a proper way.
The 'mansession' structure was being treated as an astobj2 and we were
calling ao2_lock/ao2_unlock causing astobj2 report a warning message and
not locking the structure.
Also we were using an ugly naming convention 'destroy_session',
'session_destroy', 'free_session', ... all this "duplicated" code was merged.

(closes issue #14974)
Reported by: pj
Patches:
      manager.diff2 uploaded by eliel (license 64)
      Tested by: dhubbard, eliel, mnicholson

(closes issue #15088)
Reported by: eliel

Review: http://reviewboard.asterisk.org/r/248/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 22:49:13 +00:00
Matthew Nicholson
69976640f5 Merged revisions 194028 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194028 | mnicholson | 2009-05-12 17:15:45 -0500 (Tue, 12 May 2009) | 16 lines
  
  This change modifies app_queue to properly generate CDR records in failure
  situations.
  
  This involves setting a proper cdr disposition coresponding to the given
  failure condition and ensuring the proper information is stored in the cdr
  record.
  
  (closes issue #13691)
  Reported by: dferrer
  Tested by: mnicholson
  
  (closes issue #13637)
  Reported by: atis
  Tested by: atis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194057 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 22:32:13 +00:00
Tilghman Lesher
84a4d2484d Merged revisions 193955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r193955 | tilghman | 2009-05-12 15:39:21 -0500 (Tue, 12 May 2009) | 6 lines
  
  Avoid initializing routines if the authentication fails.  Fixes a crash (RR) issue.
  (closes issue #14508)
   Reported by: tiziano
   Patches: 
         20090221_2_wrongmailbox.diff.txt uploaded by tiziano (license 377)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 20:40:22 +00:00
Mark Michelson
56275abb32 Update spiral support in trunk and 1.6.X to match what is in 1.4.
In 1.4, a SIP spiral is treated the same way as a call forward. This
works much better than what is currently in trunk and 1.6.X. The code
in trunk and 1.6.X did not create a new call to the recipient of the spiral,
instead trying to continue the same call. In addition to just being plain
wrong, this also had the side effect of only being able to spiral calls
to other SIP channels.

With this in place, as long as call forwards are honored, SIP spirals
will work properly. This means that it will work for outbound calls
made  by the Queue, Dial, and Page applications. For originated calls and
spool calls, however, the spiral will not work properly until a generic
call forward mechanism is introduced into Asterisk.

(relates to issue #13630)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-12 20:28:13 +00:00