[asterisk-commits] tilghman: branch tilghman/config_mtime_cache r79622 - in /team/tilghman/confi...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Aug 15 16:01:01 CDT 2007


Author: tilghman
Date: Wed Aug 15 16:01:00 2007
New Revision: 79622

URL: http://svn.digium.com/view/asterisk?view=rev&rev=79622
Log:
Merged revisions 79471,79507,79524,79529,79558,79595,79611 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r79471 | russell | 2007-08-14 13:50:12 -0500 (Tue, 14 Aug 2007) | 10 lines

Merged revisions 79470 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79470 | russell | 2007-08-14 13:49:10 -0500 (Tue, 14 Aug 2007) | 2 lines

Fix another spot where an iax2_peer would be leaked if realtime was in use.

........

................
r79507 | crichter | 2007-08-15 06:27:51 -0500 (Wed, 15 Aug 2007) | 9 lines

Merged revisions 78936 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78936 | crichter | 2007-08-10 15:24:03 +0200 (Fr, 10 Aug 2007) | 1 line

fixed a bug with the useruser information element. We send them now also in the disconnect message.
........

................
r79524 | file | 2007-08-15 09:20:36 -0500 (Wed, 15 Aug 2007) | 14 lines

Merged revisions 79523 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79523 | file | 2007-08-15 11:18:44 -0300 (Wed, 15 Aug 2007) | 6 lines

(closes issue #10456)
Reported by: irroot
Patches:
      sip_timeout.patch uploaded by irroot (license 52)
Change hardcoded timer value to defined value. I'm doing this in 1.4 as well so if it needs to be changed in the future this place would not have been forgotten.

........

................
r79529 | mmichelson | 2007-08-15 09:27:35 -0500 (Wed, 15 Aug 2007) | 13 lines

Merged revisions 79527 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79527 | mmichelson | 2007-08-15 09:26:40 -0500 (Wed, 15 Aug 2007) | 5 lines

Fixed an error in the Russian language voicemail intro.

(issue #10458, reported and patched by Oleh)


........

................
r79558 | file | 2007-08-15 09:42:49 -0500 (Wed, 15 Aug 2007) | 14 lines

Merged revisions 79553 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79553 | file | 2007-08-15 11:40:23 -0300 (Wed, 15 Aug 2007) | 6 lines

(closes issue #10440)
Reported by: irroot
(closes issue #10454)
Reported by: flo_turc
Increase maximum timestamp skew to 120. 20 was apparently far too low.

........

................
r79595 | murf | 2007-08-15 14:21:27 -0500 (Wed, 15 Aug 2007) | 1 line

This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
................
r79611 | file | 2007-08-15 14:34:42 -0500 (Wed, 15 Aug 2007) | 2 lines

Remove properties that appeared from Steve's last branch merge. Automerge has already run so everyone's branches based off of trunk are probably toast by now.

................

Added:
    team/tilghman/config_mtime_cache/res/ael/
      - copied from r79611, trunk/res/ael/
    team/tilghman/config_mtime_cache/res/ael/ael.flex
      - copied unchanged from r79611, trunk/res/ael/ael.flex
    team/tilghman/config_mtime_cache/res/ael/ael.tab.c
      - copied unchanged from r79611, trunk/res/ael/ael.tab.c
    team/tilghman/config_mtime_cache/res/ael/ael.tab.h
      - copied unchanged from r79611, trunk/res/ael/ael.tab.h
    team/tilghman/config_mtime_cache/res/ael/ael.y
      - copied unchanged from r79611, trunk/res/ael/ael.y
    team/tilghman/config_mtime_cache/res/ael/ael_lex.c
      - copied unchanged from r79611, trunk/res/ael/ael_lex.c
    team/tilghman/config_mtime_cache/res/ael/pval.c
      - copied unchanged from r79611, trunk/res/ael/pval.c
    team/tilghman/config_mtime_cache/res/res_ael_share.c
      - copied unchanged from r79611, trunk/res/res_ael_share.c
Removed:
    team/tilghman/config_mtime_cache/pbx/ael/ael.flex
    team/tilghman/config_mtime_cache/pbx/ael/ael.tab.c
    team/tilghman/config_mtime_cache/pbx/ael/ael.tab.h
    team/tilghman/config_mtime_cache/pbx/ael/ael.y
    team/tilghman/config_mtime_cache/pbx/ael/ael_lex.c
Modified:
    team/tilghman/config_mtime_cache/   (props changed)
    team/tilghman/config_mtime_cache/CHANGES
    team/tilghman/config_mtime_cache/UPGRADE.txt
    team/tilghman/config_mtime_cache/apps/app_voicemail.c
    team/tilghman/config_mtime_cache/channels/chan_iax2.c
    team/tilghman/config_mtime_cache/channels/chan_misdn.c
    team/tilghman/config_mtime_cache/channels/chan_sip.c
    team/tilghman/config_mtime_cache/channels/misdn/ie.c
    team/tilghman/config_mtime_cache/channels/misdn/isdn_msg_parser.c
    team/tilghman/config_mtime_cache/include/asterisk/ael_structs.h
    team/tilghman/config_mtime_cache/include/asterisk/ast_expr.h
    team/tilghman/config_mtime_cache/include/asterisk/pbx.h
    team/tilghman/config_mtime_cache/main/pbx.c
    team/tilghman/config_mtime_cache/main/rtp.c
    team/tilghman/config_mtime_cache/pbx/Makefile
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-ntest10
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test1
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test11
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test14
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test15
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test16
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test19
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test2
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test3
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test4
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test5
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test6
    team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test7
    team/tilghman/config_mtime_cache/pbx/pbx_ael.c
    team/tilghman/config_mtime_cache/res/Makefile
    team/tilghman/config_mtime_cache/utils/Makefile
    team/tilghman/config_mtime_cache/utils/ael_main.c
    team/tilghman/config_mtime_cache/utils/check_expr.c

Propchange: team/tilghman/config_mtime_cache/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/tilghman/config_mtime_cache/
------------------------------------------------------------------------------
    automerge-email = tilghman at digium.com

Propchange: team/tilghman/config_mtime_cache/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/tilghman/config_mtime_cache/
            ('svnmerge' removed)

Propchange: team/tilghman/config_mtime_cache/
            ('svnmerge-email' removed)

Propchange: team/tilghman/config_mtime_cache/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Aug 15 16:01:00 2007
@@ -1,1 +1,1 @@
-/trunk:1-79440
+/trunk:1-79620

Modified: team/tilghman/config_mtime_cache/CHANGES
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/CHANGES?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/CHANGES (original)
+++ team/tilghman/config_mtime_cache/CHANGES Wed Aug 15 16:01:00 2007
@@ -186,6 +186,12 @@
      by saying "local myvar=someval;"  or using Set() in this
      fashion:  Set(LOCAL(myvar)=someval);  ("local" is now
      an AEL keyword).
+  * utils/conf2ael introduced. Will convert an extensions.conf
+    file into extensions.ael. Very crude and unfinished, but 
+    will be improved as time goes by. Should be useful for a
+    first pass at conversion.
+  * aelparse will now read extensions.conf to see if a referenced
+    macro or context is there before issueing a warning.
 
 Zaptel channel driver (chan_zap) Changes
 ----------------------------------------

Modified: team/tilghman/config_mtime_cache/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/UPGRADE.txt?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/UPGRADE.txt (original)
+++ team/tilghman/config_mtime_cache/UPGRADE.txt Wed Aug 15 16:01:00 2007
@@ -16,6 +16,10 @@
   best to insert a Return() app call at the end of your macro if you did
   not include it, but really, you should make sure that all execution
   paths within your macros end in "return;".
+
+* The conf2ael program is 'introduced' in this release; it is in a rather
+  crude state, but deemed useful for making a first pass at converting
+  extensions.conf code into AEL. More intelligence will come with time.
 
 Core:
 

Modified: team/tilghman/config_mtime_cache/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/apps/app_voicemail.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/apps/app_voicemail.c (original)
+++ team/tilghman/config_mtime_cache/apps/app_voicemail.c Wed Aug 15 16:01:00 2007
@@ -5964,7 +5964,7 @@
 
 	if (!res && vms->oldmessages) {
 		lastnum = get_lastdigits(vms->oldmessages);
-		dcnum = vms->newmessages - lastnum;
+		dcnum = vms->oldmessages - lastnum;
 		if (dcnum)
 			res = say_and_wait(chan, dcnum, chan->language);
 		if (!res && lastnum) {

Modified: team/tilghman/config_mtime_cache/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/channels/chan_iax2.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/channels/chan_iax2.c (original)
+++ team/tilghman/config_mtime_cache/channels/chan_iax2.c Wed Aug 15 16:01:00 2007
@@ -5560,8 +5560,11 @@
 			ast_mutex_unlock(&iaxsl[callno]);
 			if ((peer = realtime_peer(peer_name, NULL))) {
 				ast_mutex_lock(&iaxsl[callno]);
-				if (!(p = iaxs[callno]))
+				if (!(p = iaxs[callno])) {
+					if (ast_test_flag(peer, IAX_TEMPONLY))
+						destroy_peer(peer);
 					return -1;
+				}
 				res = authenticate(p->challenge, peer->secret,peer->outkey, authmethods, &ied, sin, &p->ecx, &p->dcx);
 				if (ast_test_flag(peer, IAX_TEMPONLY))
 					destroy_peer(peer);

Modified: team/tilghman/config_mtime_cache/channels/chan_misdn.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/channels/chan_misdn.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/channels/chan_misdn.c (original)
+++ team/tilghman/config_mtime_cache/channels/chan_misdn.c Wed Aug 15 16:01:00 2007
@@ -2319,6 +2319,15 @@
 
 	bc = p->bc;
 
+	if (bc) {
+		const char *tmp=pbx_builtin_getvar_helper(ast,"MISDN_USERUSER");
+		if (tmp) {
+			ast_log(LOG_NOTICE, "MISDN_USERUSER: %s\n", tmp);
+			strcpy(bc->uu, tmp);
+			bc->uulen=strlen(bc->uu);
+		}
+	}
+
 	MISDN_ASTERISK_TECH_PVT(ast) = NULL;
 	p->ast = NULL;
 

Modified: team/tilghman/config_mtime_cache/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/channels/chan_sip.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/channels/chan_sip.c (original)
+++ team/tilghman/config_mtime_cache/channels/chan_sip.c Wed Aug 15 16:01:00 2007
@@ -18635,7 +18635,7 @@
 	ast_string_field_build(p, our_contact, "Transfer <sip:%s@%s%s%s>", extension, host, port ? ":" : "", port ? port : "");
 	transmit_response_reliable(p, "302 Moved Temporarily", &p->initreq);
 
-	sip_scheddestroy(p, 32000);	/* Make sure we stop send this reply. */
+	sip_scheddestroy(p, SIP_TRANS_TIMEOUT);	/* Make sure we stop send this reply. */
 	sip_alreadygone(p);
 	/* hangup here */
 	return 0;

Modified: team/tilghman/config_mtime_cache/channels/misdn/ie.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/channels/misdn/ie.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/channels/misdn/ie.c (original)
+++ team/tilghman/config_mtime_cache/channels/misdn/ie.c Wed Aug 15 16:01:00 2007
@@ -1348,7 +1348,7 @@
 		
 	if (MISDN_IE_DEBG) printf("    protocol=%d user-user%s\n", protocol, debug);
 
-	l = user_len;
+	l = user_len+1;
 	p = msg_put(msg, l+3);
 	if (nt)
 		*ntmode = p+1;

Modified: team/tilghman/config_mtime_cache/channels/misdn/isdn_msg_parser.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/channels/misdn/isdn_msg_parser.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/channels/misdn/isdn_msg_parser.c (original)
+++ team/tilghman/config_mtime_cache/channels/misdn/isdn_msg_parser.c Wed Aug 15 16:01:00 2007
@@ -797,6 +797,12 @@
 	
 	enc_ie_cause(&disconnect->CAUSE, msg, (nt)?1:0, bc->out_cause,nt,bc);
 	if (nt) enc_ie_progress(&disconnect->PROGRESS, msg, 0, nt?1:5, 8 ,nt,bc);
+
+	if (bc->uulen) {
+		int  protocol=4;
+		enc_ie_useruser(&disconnect->USER_USER, msg, protocol, bc->uu, bc->uulen, nt,bc);
+		cb_log(1,bc->port,"ENCODING USERUESRINFO:%s\n",bc->uu);
+	}
   
 #ifdef DEBUG 
 	printf("Building DISCONNECT Msg\n"); 
@@ -867,6 +873,12 @@
   
 	if (bc->out_cause>= 0)
 		enc_ie_cause(&release->CAUSE, msg, nt?1:0, bc->out_cause, nt,bc);
+
+	if (bc->uulen) {
+		int  protocol=4;
+		enc_ie_useruser(&release->USER_USER, msg, protocol, bc->uu, bc->uulen, nt,bc);
+		cb_log(1,bc->port,"ENCODING USERUESRINFO:%s\n",bc->uu);
+	}
   
 #ifdef DEBUG 
 	printf("Building RELEASE Msg\n"); 
@@ -917,6 +929,12 @@
 	release_complete=(RELEASE_COMPLETE_t*)((msg->data+HEADER_LEN)); 
 	
 	enc_ie_cause(&release_complete->CAUSE, msg, nt?1:0, bc->out_cause, nt,bc);
+
+	if (bc->uulen) {
+		int  protocol=4;
+		enc_ie_useruser(&release_complete->USER_USER, msg, protocol, bc->uu, bc->uulen, nt,bc);
+		cb_log(1,bc->port,"ENCODING USERUESRINFO:%s\n",bc->uu);
+	}
   
 #ifdef DEBUG 
 	printf("Building RELEASE_COMPLETE Msg\n"); 

Modified: team/tilghman/config_mtime_cache/include/asterisk/ael_structs.h
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/include/asterisk/ael_structs.h?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/include/asterisk/ael_structs.h (original)
+++ team/tilghman/config_mtime_cache/include/asterisk/ael_structs.h Wed Aug 15 16:01:00 2007
@@ -25,6 +25,8 @@
 #ifndef _ASTERISK_AEL_STRUCTS_H
 #define _ASTERISK_AEL_STRUCTS_H
 
+#include "pval.h"
+
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
 /* #include <err.h> */
 #else
@@ -46,118 +48,15 @@
 #  endif
 
 
-typedef enum {
-	PV_WORD, /* an ident, string, name, label, etc. A user-supplied string. */ /* 0 */
-	PV_MACRO,             /* 1 */
-	PV_CONTEXT,           /* 2 */
-	PV_MACRO_CALL,        /* 3 */
-	PV_APPLICATION_CALL,  /* 4 */
-	PV_CASE,              /* 5 */
-	PV_PATTERN,           /* 6 */
-	PV_DEFAULT,           /* 7 */
-	PV_CATCH,             /* 8 */
-	PV_SWITCHES,          /* 9 */
-	PV_ESWITCHES,         /* 10 */
-	PV_INCLUDES,          /* 11 */
-	PV_STATEMENTBLOCK,    /* 12 */
-	PV_VARDEC, /* you know, var=val; */  /* 13 */
-	PV_GOTO,              /* 14 */
-	PV_LABEL,             /* 15 */
-	PV_FOR,               /* 16 */
-	PV_WHILE,             /* 17 */
-	PV_BREAK,             /* 18 */
-	PV_RETURN,            /* 19 */
-	PV_CONTINUE,          /* 20 */
-	PV_IF,                /* 21 */
-	PV_IFTIME,            /* 22 */
-	PV_RANDOM,            /* 23 */
-	PV_SWITCH,            /* 24 */
-	PV_EXTENSION,         /* 25 */
-	PV_IGNOREPAT,         /* 26 */
-	PV_GLOBALS,           /* 27 */
-	PV_LOCALVARDEC, /* you know, local var=val; */  /* 28 */
-
-} pvaltype;
-
-/* why this horrible mess? It's always been a tradeoff-- tons of structs,
-   each storing it's specific lists of goodies, or a 'simple' single struct,
-   with lots of fields, that catches all uses at once. Either you have a long
-   list of struct names and subnames, or you have a long list of field names,
-   and where/how they are used. I'm going with a single struct, using unions
-   to reduce storage. Some simple generalizations, and a long list of types,
-   and a book about what is used with what types.... Sorry!
-*/
-
-struct pval
-{
-	pvaltype type;
-	int startline;
-	int endline;
-	int startcol;
-	int endcol;
-	char *filename;
-	
-	union
-	{
-		char *str; /* wow, used almost everywhere! */
-		struct pval *list; /* used in SWITCHES, ESWITCHES, INCLUDES, STATEMENTBLOCK, GOTO */
-		struct pval *statements;/*  used in EXTENSION */
-		char *for_init;  /* used in FOR */
-	} u1;
-	struct pval *u1_last; /* to build in-order lists -- looks like we only need one */
-	
-	union
-	{
-		struct pval *arglist; /* used in macro_call, application_call, MACRO def, also attached to PWORD, the 4 timevals for includes  */
-		struct pval *statements; /* used in case, default, catch, while's statement, CONTEXT elements, GLOBALS */
-		char *val;  /* used in VARDEC */
-		char *for_test; /* used in FOR */
-		int label_in_case; /* a boolean for LABELs */
-		struct pval *goto_target;  /* used in GOTO */
-	} u2;
-	
-	union
-	{
-		char *for_inc; /* used in FOR */
-		struct pval *else_statements; /* used in IF */
-		struct pval *macro_statements; /* used in MACRO */
-		int abstract;  /* used for context */
-		char *hints; /* used in EXTENSION */
-		int goto_target_in_case; /* used in GOTO */
-		struct ael_extension *compiled_label;
-	} u3;
-	
-	union
-	{
-		struct pval *for_statements; /* used in PV_FOR */
-		int regexten;                /* used in EXTENSION */
-	} u4;
-	
-	struct pval *next; /* the pval at the end of this ptr will ALWAYS be of the same type as this one! 
-						  EXCEPT for objects of the different types, that are in the same list, like contexts & macros, etc */
-	
-	struct pval *dad; /* the 'container' of this struct instance */
-	struct pval *prev; /* the opposite of the 'next' pointer */
-} ;
-
-
-typedef struct pval pval;
-
 #if 0
+#endif
+void ael2_semantic_check(pval *item, int *errs, int *warns, int *notes);
 pval *npval(pvaltype type, int first_line, int last_line, int first_column, int last_column);
-void linku1(pval *head, pval *tail);
-void print_pval_list(FILE *f, pval *item, int depth);
-void print_pval(FILE *f, pval *item, int depth);
-void ael2_semantic_check(pval *item, int *errs, int *warns, int *notes);
-struct pval *find_label_in_current_context(char *exten, char *label);
-struct pval *find_label_in_current_extension(char *label);
-int count_labels_in_current_context(char *label);
-struct pval *find_label_in_current_db(char *context, char *exten, char *label);
+pval *linku1(pval *head, pval *tail);
 void ael2_print(char *fname, pval *tree);
-#endif
 struct pval *ael2_parse(char *fname, int *errs);	/* in ael.flex */
 void destroy_pval(pval *item);
-
+ 
 extern char *prev_word;	/* in ael.flex */
 
 #ifndef YY_TYPEDEF_YY_SCANNER_T

Modified: team/tilghman/config_mtime_cache/include/asterisk/ast_expr.h
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/include/asterisk/ast_expr.h?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/include/asterisk/ast_expr.h (original)
+++ team/tilghman/config_mtime_cache/include/asterisk/ast_expr.h Wed Aug 15 16:01:00 2007
@@ -19,7 +19,6 @@
 #ifndef _ASTERISK_EXPR_H
 #define _ASTERISK_EXPR_H
 #ifndef STANDALONE
-#include "asterisk/channel.h"
 #endif
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {

Modified: team/tilghman/config_mtime_cache/include/asterisk/pbx.h
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/include/asterisk/pbx.h?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/include/asterisk/pbx.h (original)
+++ team/tilghman/config_mtime_cache/include/asterisk/pbx.h Wed Aug 15 16:01:00 2007
@@ -904,6 +904,52 @@
  */
 int ast_func_write(struct ast_channel *chan, const char *function, const char *value);
 
+/*!
+ * When looking up extensions, we can have different requests
+ * identified by the 'action' argument, as follows.
+ * Note that the coding is such that the low 4 bits are the
+ * third argument to extension_match_core.
+ */
+
+enum ext_match_t {
+	E_MATCHMORE = 	0x00,	/* extension can match but only with more 'digits' */
+	E_CANMATCH =	0x01,	/* extension can match with or without more 'digits' */
+	E_MATCH =	0x02,	/* extension is an exact match */
+	E_MATCH_MASK =	0x03,	/* mask for the argument to extension_match_core() */
+	E_SPAWN =	0x12,	/* want to spawn an extension. Requires exact match */
+	E_FINDLABEL =	0x22	/* returns the priority for a given label. Requires exact match */
+};
+
+#define STATUS_NO_CONTEXT	1
+#define STATUS_NO_EXTENSION	2
+#define STATUS_NO_PRIORITY	3
+#define STATUS_NO_LABEL		4
+#define STATUS_SUCCESS		5 
+#define AST_PBX_MAX_STACK  128
+
+/* request and result for pbx_find_extension */
+struct pbx_find_info {
+#if 0
+	const char *context;
+	const char *exten;
+	int priority;
+#endif
+
+	char *incstack[AST_PBX_MAX_STACK];      /* filled during the search */
+	int stacklen;                   /* modified during the search */
+	int status;                     /* set on return */
+	struct ast_switch *swo;         /* set on return */
+	const char *data;               /* set on return */
+	const char *foundcontext;       /* set on return */
+};
+ 
+struct ast_exten *pbx_find_extension(struct ast_channel *chan,
+									 struct ast_context *bypass, struct pbx_find_info *q,
+									 const char *context, const char *exten, int priority,
+									 const char *label, const char *callerid, enum ext_match_t action);
+	
+
+
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif

Modified: team/tilghman/config_mtime_cache/main/pbx.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/main/pbx.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/main/pbx.c (original)
+++ team/tilghman/config_mtime_cache/main/pbx.c Wed Aug 15 16:01:00 2007
@@ -767,21 +767,6 @@
 	else
 		return (ret > 0) ? 1 : -1;
 }
-
-/*!
- * When looking up extensions, we can have different requests
- * identified by the 'action' argument, as follows.
- * Note that the coding is such that the low 4 bits are the
- * third argument to extension_match_core.
- */
-enum ext_match_t {
-	E_MATCHMORE = 	0x00,	/*!< extension can match but only with more 'digits' */
-	E_CANMATCH =	0x01,	/*!< extension can match with or without more 'digits' */
-	E_MATCH =	0x02,	/*!< extension is an exact match */
-	E_MATCH_MASK =	0x03,	/*!< mask for the argument to extension_match_core() */
-	E_SPAWN =	0x12,	/*!< want to spawn an extension. Requires exact match */
-	E_FINDLABEL =	0x22	/*!< returns the priority for a given label. Requires exact match */
-};
 
 /*!
  * \internal
@@ -947,23 +932,7 @@
 	return ast_extension_match(cidpattern, callerid);
 }
 
-/*! request and result for pbx_find_extension */
-struct pbx_find_info {
-#if 0
-	const char *context;
-	const char *exten;
-	int priority;
-#endif
-
-	char *incstack[AST_PBX_MAX_STACK];      /* filled during the search */
-	int stacklen;                   /* modified during the search */
-	int status;                     /* set on return */
-	struct ast_switch *swo;         /* set on return */
-	const char *data;               /* set on return */
-	const char *foundcontext;       /* set on return */
-};
-
-static struct ast_exten *pbx_find_extension(struct ast_channel *chan,
+struct ast_exten *pbx_find_extension(struct ast_channel *chan,
 	struct ast_context *bypass, struct pbx_find_info *q,
 	const char *context, const char *exten, int priority,
 	const char *label, const char *callerid, enum ext_match_t action)

Modified: team/tilghman/config_mtime_cache/main/rtp.c
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/main/rtp.c?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/main/rtp.c (original)
+++ team/tilghman/config_mtime_cache/main/rtp.c Wed Aug 15 16:01:00 2007
@@ -59,7 +59,7 @@
 #include "asterisk/unaligned.h"
 #include "asterisk/utils.h"
 
-#define MAX_TIMESTAMP_SKEW	20
+#define MAX_TIMESTAMP_SKEW	120
 
 #define RTP_SEQ_MOD     (1<<16) 	/*!< A sequence number can't be more than 16 bits */
 #define RTCP_DEFAULT_INTERVALMS   5000	/*!< Default milli-seconds between RTCP reports we send */

Modified: team/tilghman/config_mtime_cache/pbx/Makefile
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/pbx/Makefile?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/pbx/Makefile (original)
+++ team/tilghman/config_mtime_cache/pbx/Makefile Wed Aug 15 16:01:00 2007
@@ -28,20 +28,6 @@
 clean::
 	rm -f ael/*.o
 
-ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
-ael/ael_lex.o: ASTCFLAGS+=-I.
-
-ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
-ael/ael.tab.o: ASTCFLAGS+=-I. -DYYENABLE_NLS=0
-
-$(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o
-
-ael/ael_lex.c:
-	(cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
-
-ael/ael.tab.c ael/ael.tab.h:
-	(cd ael; bison -v -d ael.y)
-
 dundi-parser.o: dundi-parser.h
 dundi-parser.o: ASTCFLAGS+=-I.
 

Modified: team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-ntest10
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-ntest10?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-ntest10 (original)
+++ team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-ntest10 Wed Aug 15 16:01:00 2007
@@ -5,27 +5,36 @@
 
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c  line:4092 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c  line:4099 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c  line:4107 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch.
-LOG: lev:2 file:pbx_ael.c  line:4110 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c  line:1680 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c  line:1687 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c  line:1695 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 1-4: The macro endsess does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 6-9: The macro nullchk does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 11-26: The macro endcall does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 13-13: A default case was automatically added to the switch.
+LOG: lev:3 file:extconf.c  line:3959 func: add_pri  Unable to register extension '_', priority 1 in 'test6', already in use
+LOG: lev:3 file:extconf.c  line:3959 func: add_pri  Unable to register extension '_X.', priority 1 in 'test6', already in use
+=== Loading extensions.conf ===
+Context: test6
+Context: test5
+Context: macro-funcA
+Context: macro-funcB
+Context: macro-funcC
+=========
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 28-44: The macro endcall2 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 36-36: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 46-68: The macro endcall3 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 48-48: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 60-60: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 70-96: The macro endcall4 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 72-72: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 84-84: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 87-87: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 98-131: The macro endcall5 does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 106-106: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 119-119: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 122-122: A default case was automatically added to the switch.
+LOG: lev:2 file:pbx_ael.c  line:1698 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
 Executed ast_context_create(conts, name=endsess, registrar=pbx_ael);
 Executed ast_context_create(conts, name=nullchk, registrar=pbx_ael);
 Executed ast_context_create(conts, name=endcall, registrar=pbx_ael);
@@ -154,9 +163,9 @@
 Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=13, label=(null), callerid=(null), appl=Goto, data=sw-21-in,ptr1, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=14, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=endcall5, rep=0, exten=sw-16-out, priority=15, label=(null), callerid=(null), appl=Goto, data=sw-16-in,10, FREE, registrar=pbx_ael);
-LOG: lev:2 file:pbx_ael.c  line:4112 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c  line:1700 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
 Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:pbx_ael.c  line:4115 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c  line:1703 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
 Executed ast_walk_contexts();
-LOG: lev:2 file:pbx_ael.c  line:4118 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:522 func: main  7 contexts, 27 extensions, 121 priorities
+LOG: lev:2 file:pbx_ael.c  line:1706 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:521 func: main  7 contexts, 27 extensions, 121 priorities

Modified: team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test1
URL: http://svn.digium.com/view/asterisk/team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test1?view=diff&rev=79622&r1=79621&r2=79622
==============================================================================
--- team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test1 (original)
+++ team/tilghman/config_mtime_cache/pbx/ael/ael-test/ref.ael-test1 Wed Aug 15 16:01:00 2007
@@ -2,18 +2,18 @@
 (If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:pbx_ael.c  line:4092 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:pbx_ael.c  line:4099 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c  line:4107 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:739 func: check_macro_returns  Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one.
-LOG: lev:3 file:pbx_ael.c  line:1408 func: check_goto  Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro!
-LOG: lev:3 file:pbx_ael.c  line:1408 func: check_goto  Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro!
-LOG: lev:3 file:pbx_ael.c  line:2356 func: check_switch_expr  Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch.
-LOG: lev:3 file:pbx_ael.c  line:989 func: check_dow  Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
-LOG: lev:3 file:pbx_ael.c  line:947 func: check_timerange  Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
-LOG: lev:2 file:pbx_ael.c  line:4110 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c  line:4112 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c  line:4115 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:pbx_ael.c  line:4118 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:522 func: main  5 contexts, 14 extensions, 155 priorities
+LOG: lev:2 file:pbx_ael.c  line:1680 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:pbx_ael.c  line:1687 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:pbx_ael.c  line:1695 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 2-16: The macro testdial does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:668 func: check_macro_returns  Warning: file ./extensions.ael, line 18-25: The macro exten-gen does not end with a return; I will insert one.
+LOG: lev:3 file:pval.c  line:1358 func: check_goto  Warning: file ./extensions.ael, line 21-21: It's bad form to have a goto in a macro to a target outside the macro!
+LOG: lev:3 file:pval.c  line:1358 func: check_goto  Warning: file ./extensions.ael, line 23-23: It's bad form to have a goto in a macro to a target outside the macro!
+LOG: lev:3 file:pval.c  line:2280 func: check_switch_expr  Warning: file ./extensions.ael, line 58-58: A default case was automatically added to the switch.
+LOG: lev:3 file:pval.c  line:918 func: check_dow  Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
+LOG: lev:3 file:pval.c  line:876 func: check_timerange  Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!

[... 3821 lines stripped ...]



More information about the asterisk-commits mailing list