Commit Graph

113 Commits

Author SHA1 Message Date
Richard Mudgett
2ae86be1f2 Fix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable.
AST_LIST_INSERT_BEFORE_CURRENT() could not be used twice in an iteration
or before AST_LIST_REMOVE_CURRENT() without corrupting the list.
AST_LIST_INSERT_BEFORE_CURRENT() could also corrupt the list if
AST_LIST_INSERT_BEFORE_CURRENT() or AST_LIST_REMOVE_CURRENT() is used on
the next iteration.

* Fixed cut and paste error using the wrong variable in
AST_LIST_INSERT_BEFORE_CURRENT().

* Added linked list unit tests for AST_LIST_INSERT_BEFORE_CURRENT(),
AST_LIST_APPEND_LIST(), and AST_LIST_INSERT_LIST_AFTER().


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-29 04:19:42 +00:00
Paul Belanger
85e96b0b7a Test modules should depend on the TEST_FRAMEWORK flag
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 21:12:21 +00:00
Jason Parker
23acd67877 Test modules have a support level of core.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 20:54:13 +00:00
Jason Parker
529ab3ad50 Add support levels to non-module sections of menuselect (cflags, utils, etc).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 20:52:47 +00:00
Richard Mudgett
f2e1640435 Fix deadlock when using dummy channels.
Dummy channels created by ast_dummy_channel_alloc() should be destoyed by
ast_channel_unref().  Using ast_channel_release() needlessly grabs the
channel container lock and can cause a deadlock as a result.

* Analyzed use of ast_dummy_channel_alloc() and made use
ast_channel_unref() when done with the dummy channel.  (Primary reason for
the reported deadlock.)

* Made app_dial.c:dial_exec_full() not call ast_call() holding any channel
locks.  Chan_local could not perform deadlock avoidance correctly.
(Potential deadlock exposed by this issue.  Secondary reason for the
reported deadlock since the held lock was part of the deadlock chain.)

* Fixed some uses of ast_dummy_channel_alloc() not checking the returned
channel pointer for failure.

* Fixed some potential chan=NULL pointer usage in func_odbc.c.  Protected
by testing the bogus_chan value.

* Fixed needlessly clearing a 1024 char auto array when setting the first
char to zero is enough in manager.c:action_getvar().

(closes issue ASTERISK-18613)
Reported by: Thomas Arimont
Patches:
      jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Thomas Arimont


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-26 19:30:39 +00:00
Kinsey Moore
8a0b9d39e5 Make CANMATCH with the new pattern match engine behave more like the old one
When checking an extension for E_CANMATCH using the new extension matching
algorithm, an exact match was not returned as a possible match resulting in the
queue failing to allow a caller to exit on DTMF.  This removes the requirement
that an extension be longer than acquired digits for an E_CANMATCH operation
to succeed.

(closes issue ASTERISK-18044)
Review: https://reviewboard.asterisk.org/r/1367/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 21:04:11 +00:00
Paul Belanger
1fc32a652e Flag test modules as 'core'
Review: https://reviewboard.asterisk.org/r/1369/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@332176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16 20:10:13 +00:00
Terry Wilson
be2099a976 Fix netsock2 multiple zero-expansion test
Remove erroneous single bracket.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 16:30:26 +00:00
Terry Wilson
fa35b4560f We can't guarantee an eth0 is present
FreeBSD test fails on this case presumably because there is no eth0 on the test
machine. Better to just remove this test for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-20 20:16:58 +00:00
Terry Wilson
d72bfe9db3 Make AST_LIST_REMOVE safer
AST_LIST_REMOVE shouldn't modify the element passed in if it isn't found. This
commit also adds linked list unit tests.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-19 01:35:53 +00:00
Leif Madsen
d4938a111e 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/branches/1.8@328209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:13:06 +00:00
Tilghman Lesher
1344d03e6b Use 'printf' (POSIX issue 4) instead of 'echo -n', for portability.
The problem with using 'echo -n' is that it is not portable.  While BSD systems
required that the '-n' option be removed and interpreted, System V required
that all strings should be echoed with no interpretation of options.  This
fundamental difference of behavior means that it is never possible to use the
'-n' flag to echo in tests which are meant to be portable.

In this case, on Mac OS X 10.6, the /bin/sh shell builtin 'echo' uses the
System V semantics of the command, and thus the SHELL test failed on that
platform.

http://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html#tag_04_41_16


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-12 15:35:46 +00:00
Matthew Nicholson
0bc1f651c7 reset our buffer each iteration when doing variable substitution
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11 13:53:59 +00:00
Matthew Nicholson
1fcdb0f58b Reset our ast_str before passing it on to dialplan function backends.
It is possible for a dialplan backend to not modify the given buffer or ast_str
and still return success. This causes any previous value stored in the buffer
to be used as if the new function call provided it. Some functions also append
to the given buffer assuming it is empty.

The test_substitution unit test has also been modified to detect this problem.

(closes issue ASTERISK-17878)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-08 19:52:51 +00:00
Russell Bryant
635a81d58b Fix an error and add more log message info to help see why this fails on FreeBSD.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-08 16:00:05 +00:00
Terry Wilson
58ff18fbd6 Remove tests for parsing address with invalid port
getaddrinfo on OS X returns with EAI_NONAME error when passed a port
greater than 65535. Linux throws no error, so remove the tests for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-23 03:10:38 +00:00
Terry Wilson
0ada0bfea3 Stop sending IPv6 link-local scope-ids in SIP messages
The idea behind the patch listed below was used, but in a more targeted manner.
There are now address stringification functions for addresses that are meant to
be sent to a remote party. Link-local scope-ids only make sense on the machine
from which they originate and so are stripped in the new functions.

There is also a host sanitization function added to chan_sip which is used
for when peer and dialog tohost fields or sip_registry hostnames are used to
craft a SIP message.

Also added are some basic unit tests for netsock2 address parsing.

(closes issue ASTERISK-17711)
Reported by: ch_djalel
Patches:
      asterisk-1.8.3.2-ipv6_ll_scope.patch uploaded by ch_djalel (license 1251)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:52:04 +00:00
Richard Mudgett
cf2d1b01be The test_event unit test is occasionally failing.
Wait for the special posted event to process before adding a new
subscription.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 18:12:32 +00:00
Terry Wilson
78705b5922 Remove now-useless cast of ARRAY_LEN
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 20:03:58 +00:00
Terry Wilson
ae4997f3f6 Fix more ARRAY_LEN format string issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 19:45:20 +00:00
Terry Wilson
fcf2c4c6a2 Cast ARRAY_LEN to size_t for ast_logging
32-bit and 64-bit machines return different types for ARRAY_LEN(), so cast
it before using in a format string.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 17:09:51 +00:00
Richard Mudgett
372eec7fcb Add a test to the event unit tests to catch ASTERISK-18002.
The new tests check to see if there are ANY subscribers to the event type
when ast_event_check_subscriber() is not passed any specific ie values.

(issue ASTERISK-18002)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 16:43:31 +00:00
Terry Wilson
7ba8589b33 Add some astdb unit tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 02:33:23 +00:00
Jonathan Rose
5f46b994f4 Adds ast_escape_encoded utility to properly handle escaping of quoted field before uri.
This commit backports a feature in trunk affecting initreqprep so that display name won't
be encoded improperly. Also includes unit tests for the ast_escape_quoted function.
This patch gives 1.8 a much improved outlook in countries which don't use standard
ASCII characters.

(closes issue ASTERISK-16949)
Reported by: Örn Arnarson
Review: https://reviewboard.asterisk.org/r/1235/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 14:06:42 +00:00
Richard Mudgett
779a74b358 Event subscription fixes.
Must commit the subscription fixes together with the integration
subscription tests.  The subscription fixes cause an erroneously passing
test to fail.  The new subscription tests detect errors without the
subscription fixes.

* Added missing event_names[] table entry.

* Reworked ast_event_check_subscriber()/match_sub_ie_val_to_event() to
correctly detect if a subscriber exists for the proposed event.

* Made match_ie_val() and match_sub_ie_val_to_event() check the buffer
length for RAW payload types.

* Fixed error handling memory leak in ast_event_sub_activate(),
ast_event_unsubscribe(), and ast_event_queue().

* Made ast_event_new() and ast_event_check_subscriber() better protect
themselves from an invalid payload type.

* Added container lock protection between removing old cache events and
adding the new cached event in
ast_event_queue_and_cache()/event_update_cache().

* Added new event subscription tests.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 20:58:13 +00:00
Russell Bryant
f3562862e9 Backport an astobj2 unit test so that it runs on 1.8 as well.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 18:32:45 +00:00
Tilghman Lesher
583ca101ad Merged revisions 295062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295062 | tilghman | 2010-11-15 12:24:02 -0600 (Mon, 15 Nov 2010) | 9 lines
  
  Merged revisions 295026 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295026 | tilghman | 2010-11-15 11:58:37 -0600 (Mon, 15 Nov 2010) | 2 lines
    
    Create test verifying results of expression parser
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-15 18:30:13 +00:00
Mark Michelson
fff80bbe00 Prevent multiple runs of event_sub_test from producing false failure results.
The array of test subscriptions was declared "static," meaning that the
data.count field would retain its value between runs of the test. After the
first test run, this would result in false reports of test failures.

I chose to just remove the "static" keyword from the structure since it's not
a huge deal to construct this structure during each run of the test. Another
alternative would have been to zero out the data.count fields of each test
subscription instead.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@292741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-22 17:09:52 +00:00
Tilghman Lesher
f48a6f6cfe More Solaris compatibility fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@289543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-30 17:50:52 +00:00
Tilghman Lesher
e00c4dcc6d Solaris compatibility fixes
Review: https://reviewboard.asterisk.org/r/942/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@289104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-28 18:18:43 +00:00
Tilghman Lesher
f7c710feed Merged revisions 285930 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r285930 | tilghman | 2010-09-09 20:16:32 -0500 (Thu, 09 Sep 2010) | 14 lines
  
  Merged revisions 285889 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r285889 | tilghman | 2010-09-09 19:13:45 -0500 (Thu, 09 Sep 2010) | 7 lines
    
    Fix Mac OS X build.
    
    This also fixes a rather grievous calculation error for the offset of
    ast_fdset, which was masked on Linux and FreeBSD, because these platforms
    check the first 256 FDs regardless of the bitmask setting (due to backwards
    compatibility).
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@285931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-10 01:25:50 +00:00
Tilghman Lesher
6c61e312c6 Merged revisions 284593,284595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines
  
  Merged revisions 284478 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
    
    Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
    
    This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
    a potential crash bug in all supported releases.
    
    (closes issue #17678)
     Reported by: russell
    Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select 
    
    Review: https://reviewboard.asterisk.org/r/824/
  ........
................
  r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines
  
  Failed to rerun bootstrap.sh after last commit
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:00:34 +00:00
Paul Belanger
ece489688e Remove res_crypto dependency.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 18:37:32 +00:00
Paul Belanger
44ebb6b667 crypto_loaded_test depends on res_crypto, else test will fail.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 16:44:22 +00:00
Paul Belanger
ed9eb98e77 Add trailing backslash to silence warning message.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-25 21:26:42 +00:00
David Vossel
f805d00bbd make func_file unit test's category consistent with other tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 19:16:12 +00:00
Mark Michelson
d6cc7dd982 Remove the fe80🔢:1234 test case from test_acl.c
The ACL test was failing on Mac OS X because it would
convert the above invalid link-local address into
fe80::1234 while reporting no error from getaddrinfo().
Linux does not do this.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 17:10:00 +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
Matthew Nicholson
1fd618de5b updated devicestate test for device state changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 19:32:10 +00:00
Tilghman Lesher
e990f89a0e Fix trunk build for Mac OS X 10.6
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 04:23:02 +00:00
Tilghman Lesher
832d1296c6 Remove the old stub files, preferring the optional_api method.
(closes issue #17475)
 Reported by: tilghman
 
Review: https://reviewboard.asterisk.org/r/695/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 20:48:59 +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
50d5f134c8 FILE() now supports line-mode and writing (altering) files.
(closes issue #16461)
 Reported by: skyman
 Patches: 
       20100622__issue16461.diff.txt uploaded by tilghman (license 14)
 Tested by: tilghman
 
Review: https://reviewboard.asterisk.org/r/737/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 18:31:41 +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
Russell Bryant
6bb906f87c Fix an off by one error that caused a unit test to occasionally crash.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@269711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-10 13:17:51 +00:00
Richard Mudgett
afd4454c44 Generic Advice of Charge.
Asterisk Generic AOC Representation
- Generic AOC encode/decode routines.
  (Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame)
- AST_CONTROL_AOC frame type to represent generic encoded AOC data
- Manager events for AOC-S, AOC-D, and AOC-E messages

Asterisk App Support
- app_dial AOC-S pass-through support on call setup
- app_queue AOC-S pass-through support on call setup

AOC Unit Tests
- AOC Unit Tests for encode/decode routines
- AOC Unit Test for manager event representation.

SIP AOC Support
- Pass-through of generic AOC-D and AOC-E messages to snom phones via the
  snom AOC specification.
- Creation of chan_sip page3 flags for the addition of the new
  'snom_aoc_enabled' sip.conf option.

IAX AOC Support
- Natively supports AOC pass-through through the use of the new
  AST_CONTROL_AOC frame type

DAHDI AOC Support
- ETSI PRI full AOC Pass-through support
- 'aoc_enable' chan_dahdi.conf option for independently enabling
  pass-through of AOC-S, AOC-D, AOC-E.
- 'aoce_delayhangup' option for retrieving AOC-E on disconnect.
- DAHDI A() dial string option for requesting AOC services.
  example usage:
  ;requests AOC-S, AOC-D, and AOC-E on call setup
  exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e))

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 18:10:15 +00:00
Tilghman Lesher
b0357dcc3e Support setting locale per-mailbox (changes date/time languages for email, pager messages).
(closes issue #14333)
 Reported by: klaus3000
 Patches: 
       20090515__issue14333.diff.txt uploaded by tilghman (license 14)
       app_voicemail.c-svn-trunk-rev211675-patch.txt uploaded by klaus3000 (license 65)
 Tested by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 21:28:19 +00:00
Tilghman Lesher
8d6ee962c7 Add kqueue(2) implementation to Asterisk in various places.
This will save a considerable amount of CPU on the BSDs, including Mac OS X,
as it eliminates several places in the code that we previously used a busy
loop.  Additionally, this adds a res_timing interface, using kqueue timers.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@262852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-13 05:37:31 +00:00
Russell Bryant
be77c44d45 Add test case for removing random elements from a heap.
I modified the original patch for trunk to use the unit test API.

(issue #17277)
Reported by: cappucinoking
Patches:
      test_heap.diff uploaded by cappucinoking (license 1036)
Tested by: cappucinoking, russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-06 14:15:57 +00:00
Russell Bryant
52a8ddba51 Add ast_event subscription unit test and fix some ast_event API bugs.
This patch introduces another test in test_event.c that exercises most of the
subscription related ast_event API calls.  I made some minor additions to the
existing event allocation test to increase API coverage by the test code.
Finally, I made a list in a comment of API calls not yet touched by the test
module as a to-do list for future test development.

During the development of this test code, I discovered a number of bugs in
the event API.

1) subscriptions to AST_EVENT_ALL were not handled appropriately in a couple
   of different places.  The API allows a subscription to all event types,
   but with IE parameters, just as if it was a subscription to a specific
   event type.  However, the parameters were being ignored.  This affected
   ast_event_check_subscriber() and event distribution to subscribers.

2) Some of the logic in ast_event_check_subscriber() for checking subscriptions
   against query parameters was wrong.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258632 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-22 21:06:53 +00:00