Commit Graph

628 Commits

Author SHA1 Message Date
Tilghman Lesher
af43e57821 Merged revisions 280984 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r280984 | tilghman | 2010-08-05 02:46:36 -0500 (Thu, 05 Aug 2010) | 22 lines
  
  Merged revisions 280983 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r280983 | tilghman | 2010-08-05 02:40:47 -0500 (Thu, 05 Aug 2010) | 15 lines
    
    Merged revisions 280982 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r280982 | tilghman | 2010-08-05 02:28:33 -0500 (Thu, 05 Aug 2010) | 8 lines
      
      Change context lock back to a mutex, because functionality depends upon the lock being recursive.
      
      (closes issue #17643)
       Reported by: zerohalo
       Patches: 
             20100726__issue17643.diff.txt uploaded by tilghman (license 14)
       Tested by: zerohalo
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-05 07:47:30 +00:00
Matthew Nicholson
1c848835aa Merged revisions 277327 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277327 | mnicholson | 2010-07-16 13:30:22 -0500 (Fri, 16 Jul 2010) | 8 lines
  
  Interpret device state AST_DEVICE_UNKNOWN as extension state AST_EXTENSION_NOT_INUSE.
  
  (closes issue #16035)
  Reported by: francesco_r
  Patches:
        pbx.c.patch uploaded by viniciusfontes (license 978)
  Tested by: francesco_r, agx, lawbar
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 18:31:08 +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
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
Tilghman Lesher
8fe8d98dba Uh, yeah.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-06 06:01:37 +00:00
Tilghman Lesher
a3342f0c67 Send DialPlanComplete as a response, not as a separate event.
Otherwise, it goes to all manager sessions and may exclude the current session,
if the Events mask excludes it.

(closes issue #17504)
 Reported by: rrb3942
 Patches: 
       showdialplan_patch.diff uploaded by rrb3942 (license 1003)
 Tested by: rrb3942


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-29 22:39:22 +00:00
Tilghman Lesher
7037dd6680 Merged revisions 270583 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r270583 | tilghman | 2010-06-15 13:25:12 -0500 (Tue, 15 Jun 2010) | 5 lines
  
  Variables have always been case-sensitive, so we should not be removing case-insensitive matches.
  
  Bug reported via the -dev list.  See
  http://lists.digium.com/pipermail/asterisk-dev/2010-June/044510.html
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-15 18:26:26 +00:00
Leif Madsen
c672763af8 Fix some doxygen warnings.
(closes issue #17336)
Reported by: snuffy
Patches:
      doxygen-fixes1.diff uploaded by snuffy (license 35)
Tested by: russell

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-08 14:38:18 +00:00
Tilghman Lesher
815d7bfe44 Let ExtensionState resolve dynamic hints.
(closes issue #16623)
 Reported by: tilghman
 Patches: 
       20100116__issue16623.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-20 22:23:32 +00:00
Mark Michelson
10d65ad6b1 Fix potential invalid reads that could occur in pbx.c
Here is a cut and paste of my review request for this change:
This past weekend, Russell ran our current suite of unit tests for Asterisk
under valgrind. The PBX pattern match test caused valgrind to spew forth two
invalid read errors. This patch contains two changes that shut valgrind up and
do not cause any new memory leaks.

Change 1: In ast_context_remove_extension_callerid2, valgrind reported an
invalid read in the for loop close to the function's end. Specifically, one of
the the strcmp calls in the loop control was reading invalid memory. This was
because the caller of ast_context_remove_extension_callerid2 (__ast_context
destroy in this case) passed as a parameter a shallow copy of an ast_exten's
exten field. This same ast_exten was what was destroyed inside the for loop,
thus any iterations of the for loop beyond the destruction of the ast_exten
would result in invalid reads. My fix for this is to make a copy of the
ast_exten's exten field and pass the copy to
ast_context_remove_extension_callerid2. In addition, I have also acted
similarly with the ast_exten's matchcid field. Since in this case a NULL is
handled quite differently than an empty string, I needed to be a bit more
careful with its handling.

Change 2: In __ast_context_destroy, we iterated over a hashtab and called
ast_context_remove_extension_callerid2 on each item. Specifically, the hashtab
over which we were iterating was an ast_exten's peer_table. Inside of
ast_context_remove_extension_callerid2, we could possibly destroy this
ast_exten, which also caused the hashtab to be freed. Attempting to call
ast_hashtab_end_traversal on the hashtab iterator caused an invalid read to
occur when trying to read the iterator->tab->do_locking field since
iterator->tab had already been freed. My handling of this problem is a bit less
straightforward. With each iteration over the hashtab's contents, we set a
variable called "end_traversal" based on the return of
ast_context_remove_extension_callerid2. If 0 is ever returned, then we know
that the extension was found and destroyed. Because of this, we cannot call
ast_hashtab_end_traversal because we will be guaranteeing a read of invalid
memory. In such a case, we forego calling ast_hashtab_end_traversal and instead
call ast_free on the hashtab iterator.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@254362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-24 21:10:38 +00:00
Russell Bryant
a0d74cef66 Use memmove() instead of memcpy() for a case where the buffers overlap.
Once again, valgrind is freaking awesome.  That is all.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-08 23:23:45 +00:00
Mark Michelson
630b8027c3 Merged revisions 243486 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r243486 | mmichelson | 2010-01-27 12:06:43 -0600 (Wed, 27 Jan 2010) | 3 lines
  
  Use a safe list traversal while checking for duplicate vars in pbx_builtin_setvar_helper.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@243487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-27 18:08:02 +00:00
Olle Johansson
7c61a7105f Change api for pbx_builtin_setvar to actually return error code if a function can't be written to.
This patch removes code that was duplicated from pbx.c to manager.c
in order to prevent API change in released versions of Asterisk.

There are propably also other places that would benefit from reading the
return code and react if a function returns error codes on writing a value into it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-25 21:13:20 +00:00
Alec L Davis
c7be027151 Update CDR variables as pbx starts
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call,
by executing ast_cdr_update() early in __ast_pbx run.
Reverts sig_pri changes in trunk that are specific to isdn technology only.

(closes issue #16638)
Reported by: alecdavis
Patches: 
      cdr_update.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@241416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-20 08:18:45 +00:00
Jeff Peeler
8fd9401e3d Initialize data on the stack so that Park doesn't interpret random arguments.
passdata was only being set in pbx_substitue_variables when arguments were
passed.

(closes issue #16406)
(closes issue #16586)
Reported by: DLNoah
Patches: 
      bug16586v2.patch uploaded by jpeeler (license 325)
Tested by: DLNoah



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@241366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-19 22:59:53 +00:00
Sean Bright
9e02292e5c Avoid a crash on Solaris when running 'core show functions.'
(closes issue #16309)
Reported by: asgaroth


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-17 19:45:48 +00:00
Sean Bright
e612d87695 Convert a few places to use ast_calloc_with_stringfields where applicable.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-15 18:21:50 +00:00
Tilghman Lesher
3eb8f0a8dc Similarly, ensure that matchcid is duplicated correctly when merging contexts.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-14 17:34:53 +00:00
Tilghman Lesher
20e57b12e8 Ensure that the callerid is NULL when the parent is effectively NULL.
This applies only to pattern-match hints, which create exact-match
hints on the fly.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@240129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-14 16:52:22 +00:00
Tilghman Lesher
87ea570ef1 Oops, another tag error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-13 23:22:56 +00:00
Tilghman Lesher
b01df91513 Oops, missed a closing tag
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-13 23:21:46 +00:00
Tilghman Lesher
ecbe7eff7a Add the TESTTIME() dialplan function, which permits testing GotoIfTime.
Specifically, by setting TESTTIME() to a particular date and time, you
can test whether a dialplan correctly branches as was intended.  This was
developed after recent questions on the -users list on how to test their
holiday dialplan logic.
(closes issue #16464)
 Reported by: tilghman
 Patches: 
       20100112__issue16464.diff.txt uploaded by tilghman (license 14)
 
Review: https://reviewboard.asterisk.org/r/458/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-13 21:27:34 +00:00
Tilghman Lesher
d80a38310a Blank callerid and NULL callerid should not compare equal.
The second is the default state for matching CID in the dialplan (no matching)
while the first matches one particular CallerID.  This is a regression.
(fixes AST-314, SWP-611)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@239571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-12 19:58:00 +00:00
David Vossel
bebe42f3a7 fixes subscriptions being lost after 'module reload'
During a module reload if multiple extension configs are present,
such as both extensions.conf and extensions.ael, watchers for one
config's hints will be lost during the merging of the other config.

This happens because hint watchers are only preserved for the
current config being merged.  The old context list is destroyed
after the merging takes place, meaning any watchers that were not
perserved will be removed.

Now all hints are preserved during merging regardless of what config
file is being merged.  These hints are only restored if they
are present within the new context list.

(closes issue #16093)
Reported by: jlaroff



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@237839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-05 19:29:47 +00:00
Tilghman Lesher
7acf8196d0 Merged revisions 237493 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r237493 | tilghman | 2010-01-04 14:57:35 -0600 (Mon, 04 Jan 2010) | 8 lines
  
  Regression in issue #15421 - Pattern matching
  (closes issue #16482)
   Reported by: wdoekes
   Patches: 
         astsvn-16482-betterfix.diff uploaded by wdoekes (license 717)
         20091223__issue16482.diff.txt uploaded by tilghman (license 14)
   Tested by: wdoekes, tilghman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@237494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 20:59:01 +00:00
Tilghman Lesher
386b847075 Merged revisions 237405 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r237405 | tilghman | 2010-01-04 12:19:00 -0600 (Mon, 04 Jan 2010) | 16 lines
  
  Add a flag to disable the Background behavior, for AGI users.
  This is in a section of code that relates to two other issues, namely
  issue #14011 and issue #14940), one of which was the behavior of
  Background when called with a context argument that matched the current
  context.  This fix broke FreePBX, however, in a post-Dial situation.
  Needless to say, this is an extremely difficult collision of several
  different issues.  While the use of an exception flag is ugly, fixing all
  of the issues linked is rather difficult (although if someone would like
  to propose a better solution, we're happy to entertain that suggestion).
  (closes issue #16434)
   Reported by: rickead2000
   Patches: 
         20091217__issue16434.diff.txt uploaded by tilghman (license 14)
         20091222__issue16434__1.6.1.diff.txt uploaded by tilghman (license 14)
   Tested by: rickead2000
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@237406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 18:28:28 +00:00
Tilghman Lesher
e4c1fc1e4a Merged revisions 235421 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r235421 | tilghman | 2009-12-17 11:17:51 -0600 (Thu, 17 Dec 2009) | 8 lines
  
  Use context from which Macro is executed, not macro context, if applicable.
  Also, ensure that the extension COULD match, not just that it won't match more.
  (closes issue #16113)
   Reported by: OrNix
   Patches: 
         20091216__issue16113.diff.txt uploaded by tilghman (license 14)
   Tested by: OrNix
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@235422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-17 17:19:08 +00:00
Tilghman Lesher
d32c333f7c Trim leading/trailing spaces from the filename, to deal with common user error.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@234458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-13 09:41:43 +00:00
David Vossel
176c8a0185 Merged revisions 231853 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r231853 | dvossel | 2009-12-01 15:14:31 -0600 (Tue, 01 Dec 2009) | 3 lines
  
  WaitExten m option with no parameters generates frame with zero datalen but non-null data ptr
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 21:20:19 +00:00
David Brooks
bac499e521 Merged revisions 229498 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r229498 | dbrooks | 2009-11-11 13:46:19 -0600 (Wed, 11 Nov 2009) | 8 lines
  
  Solaris doesn't like NULL going to ast_log
  
  Solaris will crash if NULL is passed to ast_log. This simple patch simply uses S_OR to
  get around this.
  
  (closes issue #15392)
  Reported by: yrashk
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@229499 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-11 19:48:18 +00:00
Tilghman Lesher
4c8319190b Merged revisions 229360 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r229360 | tilghman | 2009-11-10 16:09:16 -0600 (Tue, 10 Nov 2009) | 12 lines
  
  If two pattern classes start with the same digit and have the same number of characters, they will compare equal.
  The example given in the issue report is that of [234] and [246], which have
  these characteristics, yet they are clearly not equivalent.  The code still
  uses these two characteristics, yet when the two scores compare equal, an
  additional check will be done to compare all characters within the class to
  verify equality.
  (closes issue #15421)
   Reported by: jsmith
   Patches: 
         20091109__issue15421__2.diff.txt uploaded by tilghman (license 14)
   Tested by: jsmith, thedavidfactor
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@229361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-10 22:14:22 +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
Tilghman Lesher
496282194c Merged revisions 225105 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225105 | tilghman | 2009-10-21 11:02:12 -0500 (Wed, 21 Oct 2009) | 4 lines
  
  Fix documentation for ast_softhangup() and correct the misuse thereof.
  (closes issue #16103)
   Reported by: majorbloodnok
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 17:11:23 +00:00
Tilghman Lesher
c74a2d0b45 Create an API for adding an optional time unit onto the ends of time periods.
Two examples of its use are included, and the usage could be expanded in some
cases into certain configuration options where time periods are specified.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-15 22:33:30 +00:00
David Vossel
9456ab2724 Deadlock in channel masquerade handling
Channels are stored in an ao2_container.  When accessing an item within
an ao2_container the proper locking order is to first lock the container,
and then the items within it.

In ast_do_masquerade both the clone and original channel must be locked
for the entire duration of the function.  The problem with this is that
it attemptes to unlink and link these channels back into the ao2_container
when one of the channel's name changes.  This is invalid locking order as
the process of unlinking and linking will lock the ao2_container while
the channels are locked!!! Now, both the channels in do_masquerade are
unlinked from the ao2_container and then locked for the entire function.
At the end of the function both channels are unlocked and linked back
into the container with their new names as hash values.

This new method of requiring all channels and tech pvts to be unlocked
before ast_do_masquerade() or ast_change_name() required several
changes throughout the code base.

(closes issue #15911)
Reported by: russell
Patches:
      masq_deadlock_trunk.diff uploaded by dvossel (license 671)
Tested by: dvossel, atis

(closes issue #15618)
Reported by: lmsteffan
Patches:
      deadlock_local_attended_transfers_trunk.diff uploaded by dvossel (license 671)
Tested by: lmsteffan, dvossel

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-07 22:58:38 +00:00
Tilghman Lesher
1cf5422dc8 Merged revisions 220288 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r220288 | tilghman | 2009-09-24 14:39:41 -0500 (Thu, 24 Sep 2009) | 6 lines
  
  Implicitly sending a progress signal breaks some applications.
  Call Progress() in your dialplan if you explicitly want progress to be sent.
  (Reverts change 216430, closes issue #15957)
  Reported by: Pavel Troller on the Asterisk-Dev mailing list
  http://lists.digium.com/pipermail/asterisk-dev/2009-September/039897.html
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@220289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-24 19:41:02 +00:00
David Brooks
077b44c43f Merged revisions 218867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r218867 | dbrooks | 2009-09-16 13:00:45 -0500 (Wed, 16 Sep 2009) | 13 lines
  
  Fixes CID pattern matching behavior to mirror that of extension pattern matching.
  
  Pattern matching for extensions uses a type of scoring system, giving values for
  specificity to each character in the pattern. Unfortunately, this is done character
  by character, in order. This does lead to some less specific patterns being first
  in line for matching, but it will usually get the job done.
  
  This patch merely brings CID matching to the same level as extension matching.
  This patch does not attempt to tackle the problem shared by extension matching.
  
  (closes issue #14708)
  Reported by: klaus3000
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-16 18:06:42 +00:00
Tilghman Lesher
1ca9bc4e1e Check the origination priority for more matches, not the current priority.
Found by Pavel Troller on the -dev list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-11 05:58:11 +00:00
Tilghman Lesher
ad69df830d Enable turning off the application delimiter warning with the 'dontwarn' option.
Suggested on the -dev list, and implemented in an alternate way by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@216547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 17:31:44 +00:00
Olle Johansson
98f18d56b8 Merged revisions 216430 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r216430 | oej | 2009-09-04 15:45:48 +0200 (Fre, 04 Sep 2009) | 27 lines

Make apps send PROGRESS control frame for early media and fix too early media issue in SIP

The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI
links *before* any call progress. The SIP channel receives these frames and by default
signals 183 Session progress and starts sending media. This will cause phones to 
play silence and ignore the later 180 ringing message. A bad user experience.

The fix is twofold:
- We discovered that asterisk apps that support early media ("noanswer") did not send
  any PROGRESS frame to indicate early media. Fixed.
- We introduce a setting in chan_sip so that users can disable any relay of media frames
  before the outbound channel actually indicates any sort of call progress.
  In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions
  of Asterisk, this will be enabled. We don't assume that it will change your Asterisk
  phone experience - only for the better.

We encourage third-party application developers to make sure that if they have applications
that wants to send early media, add a PROGRESS control frame transmission to make sure that
all channel drivers actually will start sending early media. This has not been the default
in Asterisk previous to this patch, so if you got inspiration from our code, you need to
update accordingly. Sorry for the trouble and thanks for your support.

This code has been running for a few months in a large scale installation (over 250
servers with PRI and/or BRI links to old PBX systems). 
That's no proof that this is an excellent patch, but, well, it's tested :-)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@216438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 14:02:34 +00:00
Tilghman Lesher
c1b4f0c4c9 Merged revisions 213970 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r213970 | tilghman | 2009-08-25 01:34:44 -0500 (Tue, 25 Aug 2009) | 7 lines
  
  Improve error message by informing user exactly which function is missing a parethesis.
  (closes issue #15242)
   Reported by: Nick_Lewis
   Patches: 
         pbx.c-funcparenthesis.patch2 uploaded by dbrooks (license 790)
         pbx.c-funcparenthesis-1.4.diff uploaded by loloski (license 68)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@213971 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 06:35:37 +00:00
Tilghman Lesher
642bec4d6f AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@211539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 19:20:57 +00:00
Matthew Nicholson
a638000451 Fix a CEL related regression with hints updating by subscribing to AST_DEVICE_STATE instead of AST_DEVICE_STATE_CHANGED.
(closes issue #15440)
Reported by: lmsteffan


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 23:07:09 +00:00
David Vossel
e39a252b1e Merged revisions 205409 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r205409 | dvossel | 2009-07-08 16:35:12 -0500 (Wed, 08 Jul 2009) | 6 lines
  
  moving ast_devstate_to_extenstate to pbx.c from devicestate.c
  
  ast_devstate_to_extenstate belongs in pbx.c.  This change
  fixes a compile time error with chan_vpb as well.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205412 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-08 22:15:06 +00:00
David Vossel
48c9a85d91 Merged revisions 204681 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r204681 | dvossel | 2009-07-02 10:05:57 -0500 (Thu, 02 Jul 2009) | 14 lines
  
  Improved mapping of extension states from combined device states.
  
  This fixes a few issues with incorrect extension states and adds
  a cli command, core show device2extenstate, to display all possible
  state mappings.
  
  (closes issue #15413)
  Reported by: legart
  Patches:
        exten_helper.diff uploaded by dvossel (license 671)
  Tested by: dvossel, legart, amilcar
  
  Review: https://reviewboard.asterisk.org/r/301/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-02 16:03:44 +00:00
Russell Bryant
cce4fad522 Make invalid hints report Unavailable instead of Idle.
(closes issue #14413)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:31:14 +00:00
Russell Bryant
0264eef115 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
David Brooks
df649a8671 Fixes the argument order in definition of new_find_extension().
In the definition of new_find_extension(), the arguments 'callerid' and
'label' were swapped. The prototype declaration and all calls to the
function are ordered 'callerid' then 'label', but the function itself
was ordered 'label' then 'callerid'.

(closes issue #15303)
Reported by: JimDickenson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-10 20:00:45 +00:00
Sean Bright
3abe8a963e Add new ast_complete_applications function so that we can use it with the
'channel originate ... application <app>' CLI command.

(And yeah, I cleaned up some whitespace in res_clioriginate.c... big whoop,
wanna fight about it!?)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-26 14:36:11 +00:00
Eliel C. Sardanons
2c882626a0 Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 17:52:35 +00:00