Commit graph

1076 commits

Author SHA1 Message Date
Terry Wilson
0e5c761c28 Opaquify ast_channel typedefs, fd arrays, and softhangup flag
Review: https://reviewboard.asterisk.org/r/1784/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-01 22:09:18 +00:00
Terry Wilson
a9d607a357 Opaquify ast_channel structs and lists
Review: https://reviewboard.asterisk.org/r/1773/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-29 16:52:47 +00:00
Sean Bright
c20cfcdcf0 Address comments from Mark Michelson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27 17:03:46 +00:00
Sean Bright
3cf09f40f7 Convert netsock.h over to use ast_sockaddrs rather than sockaddr_in and update
chan_iax2 to pass in the correct types.

chan_iax2 is the only consumer for the various ast_netsock_* functions in trunk
at this point, so this feels like a safe change to make.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27 16:31:24 +00:00
Sean Bright
9ed6de9fd2 There isn't much point in saving off and restoring a value that we never use again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356966 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27 16:12:51 +00:00
Terry Wilson
ebaf59a656 Opaquification for ast_format structs in struct ast_channel
Review: https://reviewboard.asterisk.org/r/1770/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-24 00:32:20 +00:00
Sean Bright
1c971ae604 Make 'iax2 show callnumber usage' output make sense when an IP is passed in.
........

Merged revisions 356107 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 356108 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-21 11:17:53 +00:00
Terry Wilson
57f42bd74f ast_channel opaquification of pointers and integral types
Review: https://reviewboard.asterisk.org/r/1753/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-20 23:43:27 +00:00
Sean Bright
25e5eb3b96 Remove spurious warning when 'qualifyfreqnotok' is set successfully.
(closes issue ASTERISK-17176)
Reported by: John Covert
Tested by: Sean Bright
Patches:
   chan_iax2.c.qualifyfreqnotok.patch uploaded by John Covert (license 5512)
........

Merged revisions 355997 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355998 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-20 18:40:11 +00:00
Sean Bright
bec0ee0851 Add some boilerplate documentation for IAXVAR and IAXPEER.
........

Merged revisions 355904 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355905 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-19 18:06:08 +00:00
Sean Bright
2c1b3144cb Set the length of the ast_sockaddr, so that we can set it's port later.
Without this, the call to ast_sockaddr_set_port a few lines later is a noop.
........

Merged revisions 355901 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355902 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-19 17:51:12 +00:00
Sean Bright
3816fdde94 Don't allow trunkfreq to be greater than 1000ms.
........

Merged revisions 355793 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355794 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355795 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-17 22:03:56 +00:00
Sean Bright
7c373d8c13 Pass the correct value to ast_timer_set_rate() for IAX2 trunking.
IAX2 uses the trunkfreq variable to determine how often to send trunk packets, but
this value is in milliseconds while ast_timer_set_rate() expects the rate argument
to be ticks per second.  So we divide 1000 by trunkfreq and pass that in instead.

With a default of 20ms, this change makes IAX2 send trunk packets every 20ms
instead of every 50ms.

Tracked down by myself and Bob Wienholt.
........

Merged revisions 355746 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355747 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-17 19:35:11 +00:00
Sean Bright
b69fb773d2 When IAX2 debugging is enabled, make sure to log 'apathetic' messages too.
........

Merged revisions 355529 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355530 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-15 19:29:26 +00:00
Sean Bright
45f361c9bd Remove IAX_OLD_FIND from chan_iax2.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-15 18:41:22 +00:00
Sean Bright
0d12368261 Use TRUNK_CALL_START as originally intended.
Back in r646, TRUNK_CALL_START was added and defined as 0x4000.  That same value
was also hard-coded in one part of the IAX2 code instead of using the #define.

TRUNK_CALL_START has changed over the years (for dealing with LOW_MEMORY), but
the hard-coded usage was never updated to match.  This patch fixes that.
........

Merged revisions 355448 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355449 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-15 17:26:30 +00:00
Sean Bright
98111f8f1f Clear the high order bit from the destination call number before sending.
send_apathetic_reply takes the incoming frame's source call number as the
destination call number for the outgoing frame.  If the incoming frame was a
full frame, then the high order bit of the source call number is set and will be
interpreted as a retransmit when sent back out as the destination call number.
........

Merged revisions 355182 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355183 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-14 13:35:02 +00:00
Terry Wilson
34c55e8e7c Opaquify char * and char[] in ast_channel
Review: https://reviewboard.asterisk.org/r/1733/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-13 17:27:06 +00:00
Walter Doekes
db24fc2523 Avoid cppcheck warnings; removing unused vars and a bit of cleanup.
Patch by: Clod Patry
Review: https://reviewboard.asterisk.org/r/1651


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-08 20:49:48 +00:00
Richard Mudgett
23bc964e1c Constify some more channel driver technology callback parameters.
Review: https://reviewboard.asterisk.org/r/1707/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-01 19:53:38 +00:00
Richard Mudgett
27b69e7d29 Audit of ao2_iterator_init() usage for v1.8.
Fixes numerous reference leaks and missing ao2_iterator_destroy() calls as
a result.

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

Merged revisions 352955 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352956 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-27 18:47:16 +00:00
Terry Wilson
99cae5b750 Opaquify channel stringfields
Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-24 20:12:09 +00:00
Terry Wilson
04da92c379 Replace direct access to channel name with accessor functions
There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.

This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.

The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.

The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 22:15:50 +00:00
Richard Mudgett
64d1b247c4 Fix joinable thread terminating without joiner memory leak in chan_iax.c.
The iax2_process_thread() can exit without anyone waiting to join the
thread.  If noone is waiting to join the thread then a large memory leak
occurs.

* Made iax2_process_thread() deatach itself if nobody is waiting to join
the thread.

(closes issue ASTERISK-17339)
Reported by: Tzafrir Cohen
Patches:
      asterisk-1.8.4.4-chan_iax2-detach-thread-on-non-stop-exit.patch (license #5617) patch uploaded by Alex Villacis Lasso (modified)

(closes issue ASTERISK-17825)
Reported by: wangjin
........

Merged revisions 350220 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350221 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 21:56:29 +00:00
Richard Mudgett
e58d4e4093 Fix chan_iax2 to not report an RDNIS number if it is blank.
Some ISDN switches complain or block the call if the RDNIS number is
empty.

* Made chan_iax2 not save a RDNIS number into the ast_channel if the
string is blank.  This is what other channel drivers do.

(closes issue ASTERISK-17152)
Reported by: rmudgett
........

Merged revisions 348735 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348736 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348737 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-20 23:11:29 +00:00
Richard Mudgett
7d9ba4875b Fix calls to ast_get_ip() not initializing the address family.
........

Merged revisions 346239 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346240 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 23:03:32 +00:00
Matthew Jordan
9333071c1f Fixed invalid memory access when adding extension to pattern match tree
When an extension is removed from a context, its entry in the pattern match
tree is not deleted.  Instead, the extension is marked as deleted.  When an
extension is removed and re-added, if that extension is also a prefix of
another extension, several log messages would report an error and did not
check whether or not the extension was deleted before accessing the memory.
Additionally, if the extension was already in the tree but previously
deleted, and the pattern was at the end of a match, the findonly flag was
not honored and the extension would be erroneously undeleted.  

Additionaly, it was discovered that an IAX2 peer could be unregistered
via the CLI, while at the same time it could be scheduled for unregistration
by Asterisk.  The unregistration method now checks to see if the peer
was already unregistered before continuing with an unregistration.

(closes issue ASTERISK-18135)
Reported by: Jaco Kroon, Henry Fernandes, Kristijan Vrban
Tested by: Matt Jordan

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

Merged revisions 342769 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 342770 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-31 16:10:32 +00:00
Richard Mudgett
10de040b6e More parking issues.
* Fix potential deadlocks in SIP and IAX blind transfer to parking.

* Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the
parkext_exclusive option with transfers (Park(,,,,,exclusive_lot)
parameter).  Created ast_park_call_exten() and ast_masq_park_call_exten()
to maintian API compatibility.

* Made masq_park_call() handle a failed ast_channel_masquerade() setup.

* Reduced excessive struct parkeduser.peername[] size.
........

Merged revisions 341254 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 341255 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@341256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-18 21:15:45 +00:00
Kinsey Moore
c5c1fed9b6 Merged revisions 335321 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335321 | kmoore | 2011-09-12 08:27:04 -0500 (Mon, 12 Sep 2011) | 16 lines
  
  Merged revisions 335320 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r335320 | kmoore | 2011-09-12 08:25:42 -0500 (Mon, 12 Sep 2011) | 9 lines
    
    Prevent IAX2 from getting IPv6 addresses via DNS
    
    IAX2 does not support IPv6 and getting such addresses from DNS can cause error
    messages on the remote end involving bad IPv4 address casts in the presence of
    IPv6/IPv4 tunnels.  This patch ensures that IAX2 will not encounter IPv6
    addresses via DNS queries.
    
    (closes issue ASTERISK-18090)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-12 13:27:45 +00:00
Paul Belanger
272afe432b Merged revisions 334844 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334844 | pabelanger | 2011-09-07 15:37:24 -0400 (Wed, 07 Sep 2011) | 11 lines
  
  Merged revisions 334843 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r334843 | pabelanger | 2011-09-07 15:35:52 -0400 (Wed, 07 Sep 2011) | 4 lines
    
    Cleanup chan_iax2.c log messages
    
    Review: https://code.asterisk.org/code/cru/CR-AST-11
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-07 19:38:58 +00:00
Paul Belanger
39ac2e639f Merged revisions 334514 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r334514 | pabelanger | 2011-09-06 11:47:59 -0400 (Tue, 06 Sep 2011) | 6 lines
  
  authdebug is now disabled by default
  
  To enable this functionaility again set authdebug = yes in iax.conf
  
  Review: https://reviewboard.asterisk.org/r/1414/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@334517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-06 16:08:10 +00:00
Richard Mudgett
b99b1116be Merged revisions 331265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r331265 | rmudgett | 2011-08-09 18:12:49 -0500 (Tue, 09 Aug 2011) | 22 lines
  
  Merged revisions 331248 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r331248 | rmudgett | 2011-08-09 17:12:59 -0500 (Tue, 09 Aug 2011) | 15 lines
    
    Misc minor items found in code.
    
    * Add some reentrancy protection in pbx.c when creating the contexts_table
    hash table.
    
    * Fix inverted test in chan_sip.c conditional code.
    
    * Fix uninitialized variable and use of the wrong variable in chan_iax2.c.
    
    * Fix test of return value in app_parkandannounce.c.  Explicitly testing
    for -1 is bad if the function does not actually return that value when it
    fails.
    
    * Fixup some comments and add some curly braces in features.c.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@331266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-09 23:17:13 +00:00
David Vossel
e128ee2567 Merged revisions 330586 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r330586 | dvossel | 2011-08-02 11:17:59 -0500 (Tue, 02 Aug 2011) | 15 lines
  
  Merged revisions 330581 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r330581 | dvossel | 2011-08-02 11:15:08 -0500 (Tue, 02 Aug 2011) | 8 lines
    
    Fixes crash in chan_iax2.
    
    Fixes crash in chan_iax2 resulting from an edge case in the
    way control frames are queued during calltoken negotiation is complete.
    
    (closes issue ASTERISK-17610)
    Reported by: mgrobecker
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@330593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-02 16:19:32 +00:00
Russell Bryant
6a15e95a32 astobj2: Avoid using temporary objects + ao2_find() with OBJ_POINTER.
There is a fairly common pattern making its way through the code base where we
put a temporary object on the stack so we can call ao2_find() with OBJ_POINTER.
The purpose is so that it can be passed into the object hash function.
However, this really seems like a hack and potentially error prone.  This patch
is a first stab at approach to avoid having to do that.

It adds a new flag, OBJ_KEY, which can be used instead of OBJ_POINTER in these
situations.  Then, the hash function can know whether it was given an object or
some custom data to hash.

The patch also changes some uses of ao2_find() for iax2_user and iax2_peer
objects to reflect how OBJ_KEY would be used.

So long, and thanks for all the fish.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@330273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-29 19:34:36 +00:00
Leif Madsen
a525edea59 Merged revisions 328247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines
  
  Merged revisions 328209 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines
    
    Introduce <support_level> tags in MODULEINFO.
    This change introduces MODULEINFO into many modules in Asterisk in order to show
    the community support level for those modules. This is used by changes committed
    to menuselect by Russell Bryant recently (r917 in menuselect). More information about
    the support level types and what they mean is available on the wiki at
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:28:54 +00:00
Tilghman Lesher
7d179abfd4 Merged revisions 326411 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326411 | tilghman | 2011-07-05 17:08:29 -0500 (Tue, 05 Jul 2011) | 14 lines
  
  Add the attribute "type" to each "<use>" for menuselect.
  
  This matters only when autoconf fails to detect that weak linking is supported.
  External optional dependencies will become optional in both cases, as they are
  removed at compile time when not detected.  However, runtime-optional modules
  are made mandatory when weak linking is not found.  This change affects only
  the external optional dependencies; previously, they were incorrectly required
  when weak linking support was not detected.
  
  Patches:
  	20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003)
  
  Tested by: iasgoscouk
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-05 22:11:40 +00:00
David Vossel
d5ea9e5ae2 Merged revisions 324652 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r324652 | dvossel | 2011-06-23 13:23:21 -0500 (Thu, 23 Jun 2011) | 20 lines
  
  Merged revisions 324634 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r324634 | dvossel | 2011-06-23 13:18:46 -0500 (Thu, 23 Jun 2011) | 13 lines
    
    Merged revisions 324627 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r324627 | dvossel | 2011-06-23 13:16:52 -0500 (Thu, 23 Jun 2011) | 7 lines
      
      Addresses AST-2011-010, remote crash in IAX2 driver
      
      Thanks to twilson for identifying the issue and providing the patches.
      
      AST-2011-010
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-23 18:26:09 +00:00
Richard Mudgett
397c379a7d Merged revisions 321812-321813 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321812 | rmudgett | 2011-06-03 14:55:21 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Correct IAX2 and SIP event subscription description string.
........
  r321813 | rmudgett | 2011-06-03 14:56:09 -0500 (Fri, 03 Jun 2011) | 1 line
  
  Constify subscription description parameter string.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:57:03 +00:00
Russell Bryant
0ccfc8609a Merged revisions 318436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318436 | russell | 2011-05-10 10:13:16 -0500 (Tue, 10 May 2011) | 2 lines
  
  chan_iax2: change LOG_NOTICE to LOG_DEBUG in iax2_read().
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-10 15:16:34 +00:00
Russell Bryant
3736b02d97 Merged revisions 318055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318055 | russell | 2011-05-07 18:24:18 -0500 (Sat, 07 May 2011) | 7 lines
  
  chan_iax2: Don't overwrite port found with an SRV lookup.
  
  (closes issue #17291)
  Reported by: jcovert
  Patches:
        chan_iax2.c.1.8.3-srvlookup-corrected.patch uploaded by jcovert (license 551)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-07 23:26:05 +00:00
Russell Bryant
f0f5e237bf Merged revisions 317474 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317474 | russell | 2011-05-05 17:36:33 -0500 (Thu, 05 May 2011) | 2 lines
  
  Fix more "set but unused" warnings.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:44:52 +00:00
Leif Madsen
b8b1d085db Add 'description' field for CLI and Manager output
(closes issue #19076)
Reported by: lmadsen
Patches: 
      __20110408-channel-description.txt uploaded by lmadsen (license 10)
Tested by: lmadsen

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-13 15:49:33 +00:00
David Vossel
d760e81f37 Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
   using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
   and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
   for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
   updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.

-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22 23:04:49 +00:00
Paul Belanger
3556e4c2d4 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 16:55:39 +00:00
David Vossel
c26c190711 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 16:22:10 +00:00
Jason Parker
76cfbf7817 Merged revisions 305692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r305692 | qwell | 2011-02-01 16:48:16 -0600 (Tue, 01 Feb 2011) | 7 lines
  
  Reverse sense of an error test when reading from astdb.
  
  (closes issue #18545)
  Reported by: jcovert
  Patches: 
        chan_iax2.c.patch uploaded by jcovert (license 551)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@305693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-01 22:48:55 +00:00
Leif Madsen
783ea39ba1 Merged revisions 300521 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r300521 | lmadsen | 2011-01-04 15:53:27 -0600 (Tue, 04 Jan 2011) | 17 lines
  
  Merged revisions 300520 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r300520 | lmadsen | 2011-01-04 15:52:41 -0600 (Tue, 04 Jan 2011) | 9 lines
    
    Fix backwards and broken XML documentation.
    
    (closes issue #18547)
    Reported by: jcovert
    Patches: 
          xmldoc.c.patch uploaded by jcovert (license 551)
          chan_iax2.c.doc.patch uploaded by jcovert (license 551)
          chan_sip.c.patch uploaded by jcovert (license 551)
          chan_agent.c.patch uploaded by jcovert (license 551)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-04 21:54:20 +00:00
Russell Bryant
cc0b7e7df5 Some scheduler API cleanup and improvements.
Previously, I had added the ast_sched_thread stuff that was a generic scheduler
thread implementation.  However, if you used it, it required using different
functions for modifying scheduler contents.  This patch reworks how this is
done and just allows you to optionally start a thread on the original scheduler
context structure that has always been there.  This makes it trivial to switch
to the generic scheduler thread implementation without having to touch any of
the other code that adds or removes scheduler entries.

In passing, I made some naming tweaks to add ast_ prefixes where they were not
there before.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 17:15:54 +00:00
Tilghman Lesher
597e913cd2 Merged revisions 296951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296951 | tilghman | 2010-11-30 19:46:32 -0600 (Tue, 30 Nov 2010) | 9 lines
  
  Merged revisions 296950 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r296950 | tilghman | 2010-11-30 19:38:19 -0600 (Tue, 30 Nov 2010) | 2 lines
    
    Missed initializations caused startup errors on Mac OS X (and possibly others, too).
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-01 02:02:04 +00:00
Paul Belanger
bd6f29dcb9 Merged revisions 296673 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296673 | pabelanger | 2010-11-29 18:05:45 -0500 (Mon, 29 Nov 2010) | 19 lines
  
  Merged revisions 296671 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r296671 | pabelanger | 2010-11-29 17:54:14 -0500 (Mon, 29 Nov 2010) | 12 lines
    
    Merged revisions 296670 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r296670 | pabelanger | 2010-11-29 17:49:39 -0500 (Mon, 29 Nov 2010) | 5 lines
      
      Make sure nothing else is needed before destroying the scheduler.
      
      (closes issue #18398)
      Reported by: pabelanger
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-29 23:07:06 +00:00
Paul Belanger
53149a69df Merged revisions 293496 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r293496 | pabelanger | 2010-11-01 12:09:05 -0400 (Mon, 01 Nov 2010) | 13 lines
  
  Use ast_sockaddr_from_sin function not memcpy
  
  This resolves some IAX2 registration issue report on the 
  asterisk-users mailing list. 
  
  (closes issue #18202)
  Reported by: pabelanger
  Patches: 
        update_registry.patch.v2 uploaded by pabelanger (license 224)
  Tested by: pabelanger, Nic Colledge (mailing list)
  
  Review: https://reviewboard.asterisk.org/r/993
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@293497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-01 16:11:50 +00:00
David Vossel
ae6e8ecfd2 Merged revisions 290506 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290506 | dvossel | 2010-10-05 17:23:00 -0500 (Tue, 05 Oct 2010) | 2 lines
  
  Fixes uninitialized memory problem in 'iax2 set debug peer' option.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@290509 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-05 22:23:52 +00:00
David Vossel
a8e290cd15 Merged revisions 290378 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290378 | dvossel | 2010-10-05 15:09:06 -0500 (Tue, 05 Oct 2010) | 11 lines
  
  Resolves dnsmgr memory corruption in chan_iax2.
  
  (closes issue #17902)
  Reported by: afried
  Patches:
        issue_17902.rev1.txt uploaded by russell (license 2)
  Tested by: afried, russell, dvossel
  
  Review: https://reviewboard.asterisk.org/r/965/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@290379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-05 20:10:05 +00:00
Richard Mudgett
c5f5c24103 Merged revisions 288194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288194 | rmudgett | 2010-09-21 19:06:21 -0500 (Tue, 21 Sep 2010) | 40 lines
  
  Merged revisions 288193 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r288193 | rmudgett | 2010-09-21 19:03:37 -0500 (Tue, 21 Sep 2010) | 33 lines
    
    Merged revisions 288192 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r288192 | rmudgett | 2010-09-21 18:55:58 -0500 (Tue, 21 Sep 2010) | 26 lines
      
      In chan_iax2.c:schedule_delivery() calls ast_bridged_channel() on an unlocked channel.
      
      Near the beginning of schedule_delivery(), ast_bridged_channel() is called
      on iaxs[fr->callno]->owner.  However, the channel is not locked, which can
      result in ast_bridged_channel() crashing should owner->tech change to a
      technology that doesn't implement bridged_channel.
      
      I also fixed the other calls to ast_bridged_channel() in chan_iax2.c since
      the owner lock was not held there either.
      
      Converted the existing channel deadlock avoidance to use
      iax2_lock_owner().  Using the new function simplified some awkward code.
      
      In the process of fixing the locking on ast_bridged_channel(), I also
      found a memory leak in socket_process() for v1.6.2 and v1.8.  The local
      struct variable ies.vars is not freed on early/abnormal function exits.
      
      (closes issue #17919)
      Reported by: rain
      Patches:
            issue17919_v1.4.patch uploaded by rmudgett (license 664)
            issue17919_w_leak_v1.6.2.patch uploaded by rmudgett (license 664)
            issue17919_w_leak_v1.8.patch uploaded by rmudgett (license 664)
      
      Review: https://reviewboard.asterisk.org/r/926/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-22 00:08:49 +00:00
Paul Belanger
b287e93101 Merged revisions 288157 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288157 | pabelanger | 2010-09-21 18:26:15 -0400 (Tue, 21 Sep 2010) | 15 lines
  
  Merged revisions 288147 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r288147 | pabelanger | 2010-09-21 18:22:43 -0400 (Tue, 21 Sep 2010) | 9 lines
    
    Setup timer before set_config().
    
    (closes issue #18019)
    Reported by: Netview
    Patches: 
          issue_0018019.patch uploaded by pabelanger (license 224)
    Tested by: Netview
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 22:28:21 +00:00
Jeff Peeler
41b95ee887 Merged revisions 286931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r286931 | jpeeler | 2010-09-15 14:22:15 -0500 (Wed, 15 Sep 2010) | 16 lines
  
  Add parking extension for non-default parking lots.
  
  This is a new feature that allows for parking to custom parking lots to be
  accessed directly, rather than with channel variables or by changing the
  default parking lot. The extension is set with the parkext option just as the
  default parking lot is done. Also, the manager action has been updated to
  optionally allow a specified parking lot.
  
  (closes issue #14882)
  Reported by: vmikhnevych
  Patches: 
        patch_14882.txt uploaded by mnick (license 874)
        modified by me
  
  Review: https://reviewboard.asterisk.org/r/884/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 19:23:56 +00:00
Paul Belanger
b51f922a34 Merged revisions 286120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286120 | pabelanger | 2010-09-10 17:11:08 -0400 (Fri, 10 Sep 2010) | 18 lines
  
  Merged revisions 286117 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r286117 | pabelanger | 2010-09-10 16:55:06 -0400 (Fri, 10 Sep 2010) | 11 lines
    
    Merged revisions 286114 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r286114 | pabelanger | 2010-09-10 16:35:08 -0400 (Fri, 10 Sep 2010) | 4 lines
      
      Load iax.conf before registering any functions/applications/actions.
      
      Review: https://reviewboard.asterisk.org/r/914/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-10 21:13:02 +00:00
Brett Bryant
5e97e23de0 Merged revisions 284967 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r284967 | bbryant | 2010-09-03 14:19:53 -0400 (Fri, 03 Sep 2010) | 15 lines
  
  Merged revisions 284958 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r284958 | bbryant | 2010-09-03 14:15:49 -0400 (Fri, 03 Sep 2010) | 8 lines
    
    This is a patch provided for issue #17935 to add the ActionID to the IAXregistry AMI response.
    
    (closes issue #17935)
    Reported by: alexkuklin
    Patches: 
          iaxshowreg uploaded by alexkuklin (license 1115)
    Tested by: alexkuklin
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-03 18:21:47 +00:00
Tilghman Lesher
8190e96fad Merged revisions 284610 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r284610 | tilghman | 2010-09-02 00:20:59 -0500 (Thu, 02 Sep 2010) | 10 lines
  
  When optional_api is non-optional, force dependent modules to be loaded.
  
  (closes issue #17707)
   Reported by: ira
   Patches: 
         20100819__issue17707__asterisk1.8.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
   
  Review: https://reviewboard.asterisk.org/r/876/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:27:53 +00:00
David Vossel
06c6b2c7eb Merged revisions 282545 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282545 | dvossel | 2010-08-17 15:08:56 -0500 (Tue, 17 Aug 2010) | 6 lines
  
  ACCEPT message should respond with the new FORMAT2 ie
  
  (closes issue #17804)
  Reported by: tpanton
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-17 20:09:30 +00:00
Tilghman Lesher
557ad25f07 Merged revisions 282366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282366 | tilghman | 2010-08-13 23:53:58 -0500 (Fri, 13 Aug 2010) | 4 lines
  
  Fix our FRACKing issue with chan_iax2 a different way.
  
  Review: https://reviewboard.asterisk.org/r/861/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-14 04:58:34 +00:00
David Vossel
0f8eaa6299 Merged revisions 282269 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r282269 | dvossel | 2010-08-13 15:03:56 -0500 (Fri, 13 Aug 2010) | 4 lines
  
  res_stun_monitor for monitoring network changes behind a NAT device
  
  Review: https://reviewboard.asterisk.org/r/854
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-13 20:05:44 +00:00
Paul Belanger
0443248aa7 PeerStatus now includes Address and Port
(closes issue #17730)
Reported by: jkroon
Patches:
      iax2-peerstate-address.patch uploaded by jkroon (license 714)
Tested by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 21:06:13 +00:00
Terry Wilson
d6e1c724e5 Remove built-in AES code and use optional_api instead
Review: https://reviewboard.asterisk.org/r/793/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 19:11:32 +00:00
Tilghman Lesher
a8c843199c Change order so that it more closely matches the related SIP command.
(closes issue #17648)
 Reported by: GMLudo

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 06:45:06 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Mark Michelson
6fa79e8f77 Make ACLs IPv6-capable.
ACLs can now be configured to match IPv6 networks. This is only
relevant for ACLs in chan_sip for now since other channel drivers
do not support IPv6 addressing. However, once those channel drivers
are outfitted to support IPv6 addressing, the ACLs will already be
ready for IPv6 support.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 14:17:16 +00:00
Richard Mudgett
cf7bbcc4c6 Expand the caller ANI field to an ast_party_id
Expand the ani field in ast_party_caller and ast_party_connected_line to
an ast_party_id.

This is an extension to the ast_callerid restructuring patch in review:
https://reviewboard.asterisk.org/r/702/

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:58:03 +00:00
Richard Mudgett
ec37ffbdaf ast_callerid restructuring
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.

Eliminate struct ast_callerid and replace it with the following struct
organization:

struct ast_party_name {
	char *str;
	int char_set;
	int presentation;
	unsigned char valid;
};
struct ast_party_number {
	char *str;
	int plan;
	int presentation;
	unsigned char valid;
};
struct ast_party_subaddress {
	char *str;
	int type;
	unsigned char odd_even_indicator;
	unsigned char valid;
};
struct ast_party_id {
	struct ast_party_name name;
	struct ast_party_number number;
	struct ast_party_subaddress subaddress;
	char *tag;
};
struct ast_party_dialed {
	struct {
		char *str;
		int plan;
	} number;
	struct ast_party_subaddress subaddress;
	int transit_network_select;
};
struct ast_party_caller {
	struct ast_party_id id;
	char *ani;
	int ani2;
};

The new organization adds some new information as well.

* The party name and number now have their own presentation value that can
be manipulated independently.  ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.

* The party name and number now have a valid flag.  Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.

* The party name now has a character set value.  SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.

* The dialed party now has a numbering plan value that could be useful to
have available.

The various channel drivers will need to be updated to support the new
core features as needed.  They have simply been converted to supply
current functionality at this time.


The following items of note were either corrected or enhanced:

* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.

* CALLERPRES() is now deprecated because the name and number have their
own presentation values.

* Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
contain garbage.  It also can only contain the caller id number so using
ast_callerid_parse() on it is silly.  There was also a typo in the
CALLERNAME if test.

* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string.  ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string.  Then using
ast_shrink_phone_number() could alter it even more.

* Fixed caller ID name and number memory leak in chan_usbradio.c.

* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.

* Protected access to a caller channel with lock in chan_sip.c.

* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk().  Also made save all caller ID data instead of just the name
and number strings.

* Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
function.

* Corrected some weirdness with app_privacy.c's use of caller
presentation.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00
Tilghman Lesher
2fdf43f9fc Get more information about the Bamboo test failures
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 20:01:01 +00:00
Tilghman Lesher
d6011adab4 Weird, no output and Bamboo still fails...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 18:55:02 +00:00
Tilghman Lesher
384681e182 Add some diagnostic feedback to our data tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 18:21:39 +00:00
Tilghman Lesher
da8450323f Kill some startup warnings and errors and make some messages more helpful in tracking down the source.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 17:00:22 +00:00
Mark Michelson
cd4ebd336f Add IPv6 to Asterisk.
This adds a generic API for accommodating IPv6 and IPv4 addresses
within Asterisk. While many files have been updated to make use of the
API, chan_sip and the RTP code are the files which actually support
IPv6 addresses at the time of this commit. The way has been paved for
easier upgrading for other files in the near future, though.

Big thanks go to Simon Perrault, Marc Blanchet, and Jean-Philippe Dionne
for their hard work on this.

(closes issue #17565)
Reported by: russell
Patches: 
      asteriskv6-test-report.pdf uploaded by russell (license 2)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 22:08:07 +00:00
Eliel C. Sardanons
a1b89a6a50 Implement AstData API data providers as part of the GSOC 2010 project,
midterm evaluation.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 14:48:42 +00:00
Tzafrir Cohen
c613897d1c Fix various typos reported by Lintian
(Also fix the typos in the comments)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-02 15:57:02 +00:00
Russell Bryant
450f4ff2ee Resolve some errors produced during module unload of chan_iax2.
The external test suite stops Asterisk using the "core stop gracefully" command.
The logs from the tests show that there are a number of problems with Asterisk
trying to cleanly shut down.  This patch addresses the following type of error
that comes from chan_iax2:

[Jun 22 16:58:11] ERROR[29884]: lock.c:129 __ast_pthread_mutex_destroy:
                chan_iax2.c line 11371 (iax2_process_thread_cleanup):
                Error destroying mutex &thread->lock: Device or resource busy

For an example in the context of a build, see:

http://bamboo.asterisk.org/browse/AST-TRUNK-739/log

The primary purpose of this patch is to change the thread pool shutdown
procedure to be more explicit to ensure that the thread exits from a point
where it is not holding a lock.  While testing that, I encountered various
crashes due to the order of operations in unload_module() being problematic.
I reordered some things there, as well.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-23 23:09:28 +00:00
David Vossel
fcb055fb4e addition of G.719 pass-through support
(closes issue #16293)
Reported by: malcolmd
Patches:
      g719.passthrough.patch.7 uploaded by malcolmd (license 924)
      format_g719.c uploaded by malcolmd (license 924)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-16 19:03:24 +00:00
David Vossel
1da8159aa6 Merged revisions 270866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r270866 | dvossel | 2010-06-16 12:35:29 -0500 (Wed, 16 Jun 2010) | 22 lines
  
  fixes chan_iax2 race condition
  
  There is code in chan_iax2.c that attempts to guarantee that only a single
  active thread will handle a call number at a time.  This code works once
  the thread is added to an active_list of threads, but we are not currently
  guaranteed that a newly activated thread will enter the active_list immediately
  because it is left up to the thread to add itself after frames have been
  queued to it.  This means that if two frames come in for the same call number
  at the same time, it is possible for them to grab two separate threads because
  the first thread did not add itself to the active_list fast enough.  This
  causes some pretty complex problems.
  
  This patch resolves this race condition by immediately adding an activated
  thread to the active_list within the network thread and only depending on
  the thread to remove itself once it is done processing the frames queued to
  it.  By doing this we are guaranteed that if another frame for the same call
  number comes in at the same time, that this thread will immediately be found
  in the active_list of threads.
  
  Review: https://reviewboard.asterisk.org/r/720/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-16 17:36:51 +00:00
Terry Wilson
857814f435 Add SRTP support for Asterisk
After 5 years in mantis and over a year on reviewboard, SRTP support is finally
being comitted. This includes generic CHANNEL dialplan functions that work for
getting the status of whether a call has secure media or signaling as defined
by the underlying channel technology and for setting whether or not a new
channel being bridged to a calling channel should have secure signaling or
media. See doc/tex/secure-calls.tex for examples.

Original patch by mikma, updated for trunk and revised by me.

(closes issue #5413)
Reported by: mikma
Tested by: twilson, notthematrix, hemanshurpatel

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-08 05:29:08 +00:00
Tilghman Lesher
7d18dd5394 Finally track down and eliminate the "FRACK! warnings from chan_iax2".
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-06 00:37:30 +00:00
David Vossel
cddc244c97 fix iax_frame double free
Very unfortunate things happen if we add an iax_frame
to the frame queue and let go of the lock before scheduling
the frame's transmit... There is a race condition that
exists where the frame can be removed from the frame_queue
and freed before the transmit is scheduled if we do not
hold on to that lock.  This results in a freed frame
being scheduled for transmit later.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-14 18:53:55 +00:00
Leif Madsen
bb2fa21ac1 IAXpeers output now matches SIPpeers format for manager (AMI).
(closes issue #17100)
Reported by: secesh
Tested by: pabelanger

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-21 19:02:45 +00:00
Richard Mudgett
a5a0a5f867 Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number.
SWP-1229
ABE-2161

* Ensure chan_local.c:local_call() will not leak cid.cid_dnid when
copying.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-03 02:12:33 +00:00
David Vossel
3d4de4a277 Merged revisions 250394 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r250394 | dvossel | 2010-03-03 12:02:27 -0600 (Wed, 03 Mar 2010) | 16 lines
  
  fixes problem with duplicate TXREQ packets
  
  When Asterisk receives an IAX2 TXREQ packet, try_transfer()
  will call store_by_transfercallno() to link the chan_iax2_pvt
  struct into iax_transfercallno_pvts. If a duplicate TXREQ
  packet is received for the same call, the pvt struct will be
  linked into iax_transfercallno_pvts multiple times.  This patch
  fixes this.  Thanks rain for debugging this and providing a patch!
  
  (closes issue #16904)
  Reported by: rain
  Patches:
        iax2-double-txreq-fix.diff uploaded by rain (license 327)
  Tested by: rain, dvossel
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03 18:03:19 +00:00
Kevin P. Fleming
7e2145b9ac Merged revisions 249234 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r249234 | kpfleming | 2010-02-27 09:07:59 -0500 (Sat, 27 Feb 2010) | 1 line
  
  add a reference to the now-published IAX2 RFC
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-27 14:08:35 +00:00
David Vossel
dd48c7eb40 fixes a merging error for the iaxs and iaxsl off by one fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-09 23:18:58 +00:00
David Vossel
5be3d14c11 Merged revisions 245792 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r245792 | dvossel | 2010-02-09 16:55:38 -0600 (Tue, 09 Feb 2010) | 12 lines
  
  Fixes iaxs and iaxsl size off by one issue.
  
  2^15 = 32768 which is the maximum allowed iax2 callnumber.
  Creating the iaxs and iaxsl array of size 32768 means the maximum
  callnumber is actually out of bounds.  This causes a nasty crash.
  
  (closes issue #15997)
  Reported by: exarv
  Patches:
        iax_fix.diff uploaded by dvossel (license 671)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-09 23:07:17 +00:00
David Vossel
a97e8f3908 adds total call numbers available to 'iax2 show callnumber usage' cli output
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-05 18:12:41 +00:00
Russell Bryant
34317fb0d3 Fix the ability to specify an OSP token for an outbound IAX2 call.
When this patch was originally submitted, the code allowed for the token to be
set via a channel variable.  I decided that a cleaner approach would be to
integrate it into the CHANNEL() function.  Unfortunately, that is not a suitable
approach.  It's not possible to get the value set on the channel soon enough
using that method.  So, go back to the simple channel variable method.

(closes issue #16711)
Reported by: homesick
Patches:
      iax-svn.diff uploaded by homesick (license 91)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-27 17:32:07 +00:00
Tilghman Lesher
9c1b53cab4 According to POSIX, the capital L modifier applies only to floating point types.
Fixes a crash on Solaris.
(closes issue #16572)
 Reported by: crjw
 Patches: 
       frame_changes.patch uploaded by crjw (license 963)
       Plus several others found and fixed by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-10 19:37:30 +00:00
David Vossel
c8bb5daf1e Merged revisions 238411 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r238411 | dvossel | 2010-01-07 14:14:25 -0600 (Thu, 07 Jan 2010) | 10 lines
  
  fixes crash in "scheduled_destroy" in chan_iax
  
  A signed short was used to represent a callnumber.  This is makes
  it possible to attempt to access the iaxs array with a negative
  index.
  
  (closes issue #16565)
  Reported by: jensvb
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-07 20:15:27 +00:00
David Vossel
6ecaa764d3 fixes iax "can't compress subclass 4294967295" error
(closes issue #16456)
Reported by: dvossel
Tested by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@236144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-22 21:53:46 +00:00
David Vossel
417657f4ed fixes iax2 show cache locking error, thanks alecdavis!
(closes issue #16094)
Reported by: alecdavis
Patches:
      bug16094.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis, dvossel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-20 22:35:54 +00:00
Kevin P. Fleming
209e1cf195 Merged revisions 230246 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r230246 | kpfleming | 2009-11-15 11:19:06 -0600 (Sun, 15 Nov 2009) | 6 lines
  
  Correct mistaken option name in error message.
  
  The configuration option for allowing hosts to make non-token-based calls
  is 'calltokenoptional', not 'calltokenignore'. (reported on asterisk-users)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230247 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-15 17:23:02 +00:00
Tilghman Lesher
5e2aa190fe Display a list of channel variables in each channel-oriented event.
(Closes AST-33)
Reviewboard:	https://reviewboard.asterisk.org/r/368/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@230111 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-13 20:42:03 +00:00
David Vossel
60f80e5360 Merged revisions 229167 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r229167 | dvossel | 2009-11-10 11:15:57 -0600 (Tue, 10 Nov 2009) | 9 lines
  
  don't crash on log message in solaris
  
  AST-2009-006
  
  (closes issue #16206)
  Reported by: bklang
  Tested by: bklang
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@229168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-10 17:16:49 +00:00
Tilghman Lesher
2bbda7a7c8 Two other trunk build fixes (reported by seanbright on #asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 16:17:18 +00:00
Tilghman Lesher
d8e0c58437 Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 14:05:12 +00:00
David Vossel
3acfd4933c Merged revisions 225243 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225243 | dvossel | 2009-10-21 15:58:08 -0500 (Wed, 21 Oct 2009) | 13 lines
  
  IAX2: VNAK loop caused by signaling frames with no destination call number
  
  It is possible for the PBX thread to queue up signaling frames before
  a destination call number is received.  This can result in signaling
  frames being sent out with no destination call number. Since recent
  versions of Asterisk require accurate destination callnumbers for all
  Full Frames, this can cause a VNAK loop to occur.  To resolve this
  no signaling frames are sent until a destination callnumber is received,
  and destination call numbers are now only required for iax_pvt matching
  when the frame is an ACK.
  
  Review: https://reviewboard.asterisk.org/r/413/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 21:58:46 +00:00