Commit graph

5914 commits

Author SHA1 Message Date
David Vossel
8f0b88c8c8 TLS/SSL private key option
Adds option to specify a private key .pem file when configuring TLS or SSL in AMI, HTTP, and SIP.  Before this, the certificate file was used for both the public and private key.  It is possible for this file to hold both, but most configurations allow for a separate private key file to be specified.  Clarified in .conf files how these options are to be used.  The current conf files do not explain how the private key is handled at all, so without knowledge of Asterisk's TLS implementation, it would be hard to know for sure what was going on or how to set it up.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 21:22:31 +00:00
Richard Mudgett
c95c065903 There is no need to use the struct ast_party_connected_line.source update values.
The messages sent by a technology when a connected line update is received
are best determined by the current call state of the channel.  The struct
ast_party_connected_line.source value is really only useful as a possible
tracing aid.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 17:59:01 +00:00
Russell Bryant
c878b21887 Fix a build error.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 15:17:38 +00:00
Russell Bryant
cba19c8a67 Convert the ast_channel data structure over to the astobj2 framework.
There is a lot that could be said about this, but the patch is a big 
improvement for performance, stability, code maintainability, 
and ease of future code development.

The channel list is no longer an unsorted linked list.  The main container 
for channels is an astobj2 hash table.  All of the code related to searching 
for channels or iterating active channels has been rewritten.  Let n be 
the number of active channels.  Iterating the channel list has gone from 
O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
Searching for a channel by extension is still O(n), but uses a new method 
for doing so, which is more efficient.

The ast_channel object is now a reference counted object.  The benefits 
here are plentiful.  Some benefits directly related to issues in the 
previous code include:

1) When threads other than the channel thread owning a channel wanted 
   access to a channel, it had to hold the lock on it to ensure that it didn't 
   go away.  This is no longer a requirement.  Holding a reference is 
   sufficient.

2) There are places that now require less dealing with channel locks.

3) There are places where channel locks are held for much shorter periods 
   of time.

4) There are places where dealing with more than one channel at a time becomes 
   _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
   future that deals with multiple channels will be much easier.

Some additional information regarding channel locking and reference count 
handling can be found in channel.h, where a new section has been added that 
discusses some of the rules associated with it.

Mark Michelson also assisted with the development of this patch.  He did the 
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
much easier to deal with holding on to a channel pointer for an extended period 
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.

Thanks to David Vossel for his assistance with this branch, as well.  David 
did the conversion of the DAHDIScan application by making it become a wrapper 
for ChanSpy internally.

The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 14:04:26 +00:00
Joshua Colp
f314c5f13f Fix nat setting on RTP instances.
(closes issue #14827)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 13:49:03 +00:00
Russell Bryant
bbcf30787d Merged revisions 190356 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r190356 | russell | 2009-04-23 16:07:07 -0500 (Thu, 23 Apr 2009) | 2 lines

Remove a bogus ast_channel_unlock().

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-23 21:13:07 +00:00
Joshua Colp
80b8d34377 Merged revisions 190286 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r190286 | file | 2009-04-23 16:13:18 -0300 (Thu, 23 Apr 2009) | 6 lines
  
  Fix a bug in chan_local glare hangup detection.
  
  If both sides of a Local channel were hung up at around the same time it was
  possible for one thread to destroy the local private structure and have the other thread
  immediately try to remove the already freed structure from the local channel list.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-23 19:15:30 +00:00
Jeff Peeler
2f8da7106d Make chan_h323 respect packetization settings and fix small reload issue.
Previously, packetization settings were ignored and now they are not. A new
config option 'autoframing' has been added to mirror the way chan_sip handles
it. Turning on the autoframing option (available both as a global option or per
peer) overrides the local settings with the remote packetization settings.
Testing was performed with varying packetization levels with the following
codecs: ulaw, alaw, gsm, and g729.

Also, an unrelated config reload issue has been fixed in the case of the config
file not changing.

(closes issue #12415)
Reported by: pj
Patches:
      2009012200_h323packetization.diff.txt uploaded by mvanbaak (license 7), 
      modified by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 19:23:49 +00:00
Tilghman Lesher
9cbd90a864 Do not continue to receive DTMF, when the channel is hungup and about to be destroyed.
(closes issue #14858)
 Reported by: barryf
 Patches: 
       20090421__bug14858.diff.txt uploaded by tilghman (license 14)
 Tested by: barryf


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-22 16:01:30 +00:00
David Vossel
00d7c4fefc Fixes segfault when switching UDP to TCP in sip.conf after reload.
If transport in sip.conf is switched from UDP to TCP, Asterisk segfaults right after issuing a sip reload.  The problem is the socket type is changed to TCP but the fd may still be present for UDP.  Later, when the TCP session should be created or set using an existing one, it isn't because the old file descriptor is still present.  Now every time transport is changed during a sip.conf reload, the file descriptor is set to -1, signifying it must be created or found.

(closes issue #14727)
Reported by: pj
Tested by: dvossel

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-21 20:28:37 +00:00
Richard Mudgett
6bb2b6c096 Added CCBS/CCNR Party A support and enhanced COLP support.
This change adds the following features to chan_misdn:
* CCBS/CCNR Party A support for PTMP and PTP modes.
* Enhances COLP support for call diversion and explicit call transfer.

These enhanced features require a modified version of mISDN.

The latest modified mISDN v1.1.x based version is available at:
http://svn.digium.com/svn/thirdparty/mISDN/trunk
http://svn.digium.com/svn/thirdparty/mISDNuser/trunk

Taged versions of the modified mISDN code are available under:
http://svn.digium.com/svn/thirdparty/mISDN/tags
http://svn.digium.com/svn/thirdparty/mISDNuser/tags

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

Merged from team/rmudgett/misdn_facility branch.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-21 17:44:01 +00:00
Doug Bailey
9c2ff7bb1e Merged revisions 189391 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r189391 | dbailey | 2009-04-20 14:10:56 -0500 (Mon, 20 Apr 2009) | 4 lines
  
  Clean up problem with manager implementation of mmap where it was not testing against MAP_FAILED response.
  Got rid of shadowed variable used in processign the mmap results. 
  Change test of mmap results to compare against MAP_FAILED
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189419 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-20 19:28:16 +00:00
Joshua Colp
b5b18b7810 Fix a bug with non-UDP connections that caused dialogs to not get freed.
This issue crept up because of a reference count issue on non-UDP based dialogs.
The dialog reference count was increased when transmitting a packet reliably but never
decreased. This caused the dialog structure to hang around despite being unlinked from
the dialogs container.

(closes issue #14919)
Reported by: vrban


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-20 17:05:15 +00:00
David Vossel
437eec8423 Merged revisions 189203 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r189203 | dvossel | 2009-04-17 20:27:19 -0500 (Fri, 17 Apr 2009) | 12 lines
  
  Fixed autologoff in agents.conf not working when agent logs in via AgentLogin app
  
  An agent logs in by calling an extension that calls the AgentLogin app.  In agents.conf ackcall=always is set, so when they get a call they have the choice to either acknowledge it or ignore it.  autologoff=10 is set as well, so if the agent ignores the call over 10sec one may assume that the agent should be logged out (and in this case hungup on as well), but this was not happening.
  
  (closes issue #14091)
  Reported by: evandro
  Patches:
        autologoff.diff uploaded by dvossel (license 671)
  
  Review: http://reviewboard.digium.com/r/225/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-18 01:28:45 +00:00
Richard Mudgett
13af9ed74c Merged revisions 188833,189134 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188833 | rmudgett | 2009-04-16 16:37:58 -0500 (Thu, 16 Apr 2009) | 4 lines
  
  Only disable mISDN DSP if Asterisk DSP is enabled. Leave jitter setting alone.
  
  JIRA ABE-1835
........
  r189134 | rmudgett | 2009-04-17 16:27:55 -0500 (Fri, 17 Apr 2009) | 4 lines
  
  Modifed/added some debug messages.
  
  JIRA ABE-1835
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17 21:48:10 +00:00
Mark Michelson
4bf5e1b805 Prevent a crash when SIP blonde transferring an unbridged call.
If one attempts to use the attended transfer button on a SIP phone
to transfer an unbridged call (such as a call to an IVR) but hangs
up while the target of the transfer is still ringing, we need to not
crash.

The problem was that ast_hangup was called from outside the channel
thread.

AST-211



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17 20:20:23 +00:00
Joshua Colp
6d2b446384 Merged revisions 188946 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188946 | file | 2009-04-17 11:41:25 -0300 (Fri, 17 Apr 2009) | 15 lines
  
  Fix a bug where a value used to create the channel name was bogus.
  
  This commit fixes the scenario where an incoming call is authenticated
  using a peer entry. Previously the channel name was created using either
  the username setting from the sip.conf entry or the IP address that the
  call came from. Now the channel name will be created using the peer name
  itself. This commit will not change the way the channel name is generated
  for users or friends.
  
  (closes issue #14256)
  Reported by: Nick_Lewis
  Patches:
        chan_sip.c-chname.patch uploaded by Nick (license 657)
  Tested by: Nick_Lewis, file
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17 14:44:56 +00:00
Joshua Colp
b0347267b3 Merged revisions 188937 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188937 | file | 2009-04-17 11:25:57 -0300 (Fri, 17 Apr 2009) | 4 lines
  
  Fix a situation where the DAHDI channel private structure lock was not unlocked when it should have been.
  
  (issue AST-210)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17 14:26:53 +00:00
Tilghman Lesher
ecc3c7c4a6 Merged revisions 188835 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188835 | tilghman | 2009-04-16 16:41:13 -0500 (Thu, 16 Apr 2009) | 7 lines
  
  Only update realtime, if global option rtupdate != false
  (closes issue #14885)
   Reported by: deepesh
   Patches: 
         20090413__bug14885.diff.txt uploaded by tilghman (license 14)
   Tested by: deepesh
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16 21:57:37 +00:00
David Vossel
a9895c6833 SIP state notify reorganization
What I've done here is simply break up how a state NOTIFY is built.  Originally both the XML and sip header information were built within the same function.  While this does work, it does not allow for the creation of multipart/related message bodies that can contain multiple XML entries with only one sip header.  Now a separate function builds the XML for each notify.  This patch also makes maintaining and modifying state notifications in the future much less of a pain.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16 19:30:23 +00:00
Joshua Colp
ac48378d28 Fix a bug with the dahdi_setoption callback in chan_dahdi.
This function incorrectly reported success even if the option was
unsupported. This was exposed by the options to change the underlying
channel format. The function now returns a failure if the option
is unsupported.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16 13:42:52 +00:00
David Vossel
b2e77d5f5d Merged revisions 188646 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188646 | dvossel | 2009-04-15 17:08:40 -0500 (Wed, 15 Apr 2009) | 12 lines
  
  National prefix inserted even when caller ID not available
  
  When the caller ID is restricted, the expected behavior is for the caller id to be blank.  In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank.
  
  (closes issue #13207)
  Reported by: shawkris
  Patches:
        national_prefix.diff uploaded by dvossel (license 671)
  
  Review: http://reviewboard.digium.com/r/220/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15 22:10:04 +00:00
Jeff Peeler
2fd695d23c Don't try to do anything in pri_check_restart with service messages unless
libpri supports it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15 14:57:20 +00:00
Jeff Peeler
50ecc19ca0 change some capitalization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14 16:49:12 +00:00
Jeff Peeler
1172c38647 Add service maintenance message support
This is the companion commit to libpri r732. Service messages are now supported
for switch types 4ess/5ess. A new option service_message_support has been added
to chan_dahdi.conf and is noted in the sample config file. The service message
support is turned off by default. The current implementation relies on AstDB
to keep track of channel state, which allows the statuses to be preserved
across Asterisk restarts. Below is a description of the storage format.

The state and reason for the service state are in the form <state>:<reason>,
where:
<state> ::= { 'O' }  // 'O' – Out Of Service
<reason> ::= { '0' | '1' | '2' | '3' }, where:
'0' – No reason (backwards compatibility)
'1' – NEAR END
'2' – FAR END
'3' – both NEAR and FAR END

The new CLI commands to handle channel service state are:
pri service disable channel <chan>
pri service enable channel <chan>

Many people contributed to the development of this functionality. Because I
entered at the very end I do not know the exact history. Special thanks to 
all who moved the bug forward one way or another:
cmaj, PCadach, markster, mattf, drmac, MikeJ, serge-v, murf, kanelbullar, Seb7,
tilghman, lmadsen, and especially dhubbard (he answered lots of my questions
and did a large portion of the work)

(closes issue #3450)
Reported by: cmaj



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14 15:54:16 +00:00
Joshua Colp
84fd750c10 Fix a bug with the change I made yesterday to outbound proxy support.
Per discussion with oej on IRC we need the actual IP address, not the
outbound proxy IP address, in the sa field. This change matches the already
existing code for all other uses of the outbound proxy setting.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14 13:14:21 +00:00
Joshua Colp
75dba8ca1d Fix a bug where using an outbound proxy would cause the local address to be 127.0.0.1.
Copy the outbound proxy IP address into the SIP dialog structure as the IP address we will
be sending to. This has to be done because the logic that determines what local IP address to use
in the SIP messages is not aware of an outbound proxy being in place. It only knows what IP address
we are sending to.

(closes issue #12006)
Reported by: mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188067 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13 16:28:06 +00:00
Jeff Peeler
a8ffff75bb Fix module embedding for chan_h323.
Include libchanh323.a in the modules.link file so that all the symbols can be
resolved at link time.

(closes issue #11966)
Reported by: dome
Patches:
      issue_11966.patch uploaded by kpfleming (license 421)
Tested by: jpeeler



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 20:26:46 +00:00
Mark Michelson
86d6af95ef Indicating connected line or redirecting updates were missing a call to lock the local_pvt.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187830 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 18:56:52 +00:00
Joshua Colp
8e4b5df187 Fix some uninitialized memory notices that appeared under valgrind.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 18:02:44 +00:00
Mark Michelson
9b580ea645 ast_strdup failures aren't really failures if the original value was NULL.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 16:26:48 +00:00
Tilghman Lesher
15e040d3f3 Ensure pvt is not NULL before dereferencing it.
(closes issue #14784)
 Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 15:59:40 +00:00
Richard Mudgett
b0cfe6e1f2 Miscellaneous minor changes to chan_misdn.
* Miscellaneous spacing and comment changes.
* Minor code rearangements.
* Miscellaneous doxygen comments.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 14:53:59 +00:00
Richard Mudgett
b89dce07b4 Make chan_misdn_log() avoid generating the log message if logging is disabled.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 14:50:42 +00:00
Mark Michelson
4d74179f20 Add a new option, mwi_from, to sip.conf.
This allows for you to change the From header for outgoing MWI
NOTIFY requests. Prior to this, the best you could do was to
set a callerid in the general section of sip.conf. The problem
was that this was used for all outbound requests, not just
MWI NOTIFY requests.

AST-201



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 21:06:26 +00:00
Mark Michelson
e53bd994d0 Merged revisions 187484 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r187484 | mmichelson | 2009-04-09 13:51:20 -0500 (Thu, 09 Apr 2009) | 18 lines
  
  Handle a SIP race condition (reinvite before an ACK) properly.
  
  RFC 5047 explains the proper course of action to take if a 
  reINVITE is received before the ACK from a previous invite
  transaction. What we are to do is to treat the reINVITE as
  if it were both an ACK and a reINVITE and process it normally.
  
  Later, when we receive the ACK we had been expecting, we will
  ignore it since its CSeq is less than the current iseqno of
  the sip_pvt representing this dialog.
  
  (closes issue #13849)
  Reported by: klaus3000
  Patches:
        13849_v2.patch uploaded by mmichelson (license 60)
  Tested by: mmichelson, klaus3000
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 18:58:41 +00:00
Tilghman Lesher
7304ac444e Allow '/' in username portion of register; this is a regression.
(closes issue #14668)
 Reported by: Netview


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 17:20:49 +00:00
Tilghman Lesher
3a220874cc Merged revisions 187362 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r187362 | tilghman | 2009-04-09 11:38:37 -0500 (Thu, 09 Apr 2009) | 3 lines
  
  Permit zero-length text messages in SIP.
  (Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal")
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 16:39:43 +00:00
Joshua Colp
e2a336124f Do not try to send the format read/format write/make compatible options over IAX2.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 16:27:53 +00:00
Joshua Colp
abcc0b9397 Add support for allowing the channel driver to handle transcoding.
This was accomplished using a set of options and the setoption channel callback.
The core calls into the channel driver using these options and the channel driver
either returns success or failure.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 16:19:35 +00:00
Russell Bryant
c4058865dd Remove duplicate prototype for temp_peer().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 17:51:35 +00:00
Russell Bryant
0fab071d13 Update some comments and resolve potential memory corruption in chan_sip.
While browsing chan_sip the other day, I noticed this dangerous code in
dialog_needdestroy().  This function is an ao2_callback.  It is absolutely
_not_ okay to unlock the container from within this function.  It's also not
clear why it was useful.  Given that it could cause memory corruption, I have
removed it.

There was also a TODO comment left describing a potential implementation of
an improvement to the needdestroy handling.  I'm not convinced that what was
described is the best choice here, so I have briefly described the way that
this function is used today that could be improved.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186928 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 12:35:57 +00:00
Tilghman Lesher
b289374dfe Add lastms to the require API call.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 05:06:22 +00:00
Mark Michelson
21dd185512 Fix bad merge from fix for issue 13867.
(closes issue #14686)
Reported by: davidw




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-08 00:01:49 +00:00
Joshua Colp
369ca78928 Fix problem when authenticating a non-RTP dialog.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-06 17:03:07 +00:00
Joshua Colp
4eaa651a8a Add support for changing the outbound codec on a SIP call using
a dialplan variable.

This adds a dialplan variable (SIP_CODEC_OUTBOUND) which controls
the codec offered for an outgoing SIP call. This is much like the
SIP_CODEC dialplan variable and has the same restrictions. The codec
set must be one that is configured for the call.

(closes issue #13243)
Reported by: samdell3
Patches:
      13243.diff uploaded by file (license 11)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-06 16:15:30 +00:00
Mark Michelson
6f53ed4c67 This commit introduces COLP/CONP and Redirecting party information into Asterisk.
The channel drivers which have been most heavily tested with these enhancements are
chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
introduced in a later commit. chan_skinny has code added to it here, but according
to user pj, the support on chan_skinny is not working as of now. This will be fixed in
a later commit.

A special thanks goes out to bugtracker user gareth for getting the ball rolling and
providing the initial support for this work. Without his initial work on this, this would
not have been nearly as painless as it was.

This functionality has been tested by Digium's product quality department, as well as a
customer site running thousands of calls every day. In addition, many many many many bugtracker
users have tested this, too.

(closes issue #8824)
Reported by: gareth

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 22:41:46 +00:00
Kevin P. Fleming
3525e37e63 Merged revisions 186458 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186458 | kpfleming | 2009-04-03 15:19:20 -0500 (Fri, 03 Apr 2009) | 5 lines
  
  Fix a bug where DAHDI/Zaptel channels would not properly switch formats when requested
  
  Don't offer AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could provide a slight performance benefit, the translation core in Asterisk has some flaws when a channel driver offers multiple raw formats. this fix is much simpler than fixing the translation core to solve that issue (although that will be done later).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186461 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 20:20:01 +00:00
Joshua Colp
2d9c6ef3d5 Add better support for relaying success or failure of the ast_transfer() API call.
This API call now waits for a special frame from the underlying channel driver to
indicate success or failure. This allows the return value to truly convey whether
the transfer worked or not. In the case of the Transfer() dialplan application this
means the value of the TRANSFERSTATUS dialplan variable is actually true.

(closes issue #12713)
Reported by: davidw
Tested by: file


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 16:47:27 +00:00
Kevin P. Fleming
612fc2e7e3 Merged revisions 186081 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186081 | kpfleming | 2009-04-02 12:21:29 -0500 (Thu, 02 Apr 2009) | 3 lines
  
  ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initialized
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 17:26:07 +00:00