No subject


Thu Jul 12 09:23:04 CDT 2007


........

................
r80817 | tilghman | 2007-08-24 13:50:16 -0600 (Fri, 24 Aug 2007) | 2 lines

Fix documentation for Set (closes issue #10549)

................
r80819 | bweschke | 2007-08-24 14:21:17 -0600 (Fri, 24 Aug 2007) | 11 lines

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

........
r80818 | bweschke | 2007-08-24 15:52:06 -0400 (Fri, 24 Aug 2007) | 3 lines

 A minor correction to the available logic of autofill. If a queue member is paused, they're not really "available" so don't count them as such. Somewhat related to issue #10155 


........

................
r80821 | russell | 2007-08-24 14:25:39 -0600 (Fri, 24 Aug 2007) | 15 lines

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

........
r80820 | russell | 2007-08-24 15:24:05 -0500 (Fri, 24 Aug 2007) | 7 lines

Improve the debouncing logic in the DTMF detector to fix some reliability
issues.  Previously, this code used a shift register of hits and non-hits.
However, if the start of the digit isn't clean, it is possible for the
leading edge detector to miss the digit.  These changes replace the flawed
shift register logic and also does the debouncing on the trailing edge as well.
(closes issue #10535, many thanks to softins for the patch)

........

................
r80850 | russell | 2007-08-24 15:23:14 -0600 (Fri, 24 Aug 2007) | 13 lines

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

........
r80849 | russell | 2007-08-24 16:22:50 -0500 (Fri, 24 Aug 2007) | 5 lines

If dnsmgr is in use, and no DNS servers are available when Asterisk first
starts, then don't give up on poking peers.  Allow the poke to get rescheduled
so that it will work once the dnsmgr is able to resolve the host.
(closes issue #10521, patch by jamesgolovich)

........

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

Modified:
    team/group/CDRfix5/   (props changed)
    team/group/CDRfix5/apps/app_queue.c
    team/group/CDRfix5/channels/chan_iax2.c
    team/group/CDRfix5/main/cdr.c
    team/group/CDRfix5/main/dsp.c
    team/group/CDRfix5/main/pbx.c

Propchange: team/group/CDRfix5/
------------------------------------------------------------------------------
    automerge = si

Propchange: team/group/CDRfix5/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/group/CDRfix5/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Aug 24 17:17:56 2007
@@ -1,1 +1,1 @@
-/trunk:1-80780
+/trunk:1-80876

Modified: team/group/CDRfix5/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/group/CDRfix5/apps/app_queue.c?view=diff&rev=80877&r1=80876&r2=80877
==============================================================================
--- team/group/CDRfix5/apps/app_queue.c (original)
+++ team/group/CDRfix5/apps/app_queue.c Fri Aug 24 17:17:56 2007
@@ -2260,7 +2260,8 @@
 				switch (cur->status) {
 				case AST_DEVICE_NOT_INUSE:
 				case AST_DEVICE_UNKNOWN:
-					avl++;
+					if (!cur->paused)
+						avl++;
 					break;
 				}
 			}

Modified: team/group/CDRfix5/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/group/CDRfix5/channels/chan_iax2.c?view=diff&rev=80877&r1=80876&r2=80877
==============================================================================
--- team/group/CDRfix5/channels/chan_iax2.c (original)
+++ team/group/CDRfix5/channels/chan_iax2.c Fri Aug 24 17:17:56 2007
@@ -9001,8 +9001,8 @@
 
 static int iax2_poke_peer(struct iax2_peer *peer, int heldcall)
 {
-	if (!peer->maxms || !peer->addr.sin_addr.s_addr) {
-		/* IF we have no IP, or this isn't to be monitored, return
+	if (!peer->maxms || (!peer->addr.sin_addr.s_addr && !peer->dnsmgr)) {
+		/* IF we have no IP without dnsmgr, or this isn't to be monitored, return
 		  immediately after clearing things out */
 		peer->lastms = 0;
 		peer->historicms = 0;

Modified: team/group/CDRfix5/main/cdr.c
URL: http://svn.digium.com/view/asterisk/team/group/CDRfix5/main/cdr.c?view=diff&rev=80877&r1=80876&r2=80877
==============================================================================
--- team/group/CDRfix5/main/cdr.c (original)
+++ team/group/CDRfix5/main/cdr.c Fri Aug 24 17:17:56 2007
@@ -490,6 +490,9 @@
 		cdr->disposition = AST_CDR_NOANSWER;
 }
 
+/* everywhere ast_cdr_disposition is called, it will call ast_cdr_failed() 
+   if ast_cdr_disposition returns a non-zero value */
+
 int ast_cdr_disposition(struct ast_cdr *cdr, int cause)
 {
 	int res = 0;
@@ -498,18 +501,11 @@
 	case AST_CAUSE_BUSY:
 		ast_cdr_busy(cdr);
 		break;
-	case AST_CAUSE_FAILURE:
-	case AST_CAUSE_NORMAL_CIRCUIT_CONGESTION:
-		ast_cdr_failed(cdr);
-		break;
 	case AST_CAUSE_NORMAL:
-		break;
-	case AST_CAUSE_NOTDEFINED:
-		res = -1;
 		break;
 	default:
 		res = -1;
-		ast_log(LOG_WARNING, "Cause not handled\n");
+		break;
 	}
 	return res;
 }

Modified: team/group/CDRfix5/main/dsp.c
URL: http://svn.digium.com/view/asterisk/team/group/CDRfix5/main/dsp.c?view=diff&rev=80877&r1=80876&r2=80877
==============================================================================
--- team/group/CDRfix5/main/dsp.c (original)
+++ team/group/CDRfix5/main/dsp.c Fri Aug 24 17:17:56 2007
@@ -218,7 +218,7 @@
 	int hit3;
 	int hit4;
 #else
-	int hits[3];
+	int lasthit;
 #endif	
 	int mhit;
 	float energy;
@@ -383,7 +383,7 @@
 	s->hit4 = 
 	s->hit2 = 0;
 #else
-	s->hits[0] = s->hits[1] = s->hits[2] = 0;
+	s->lasthit = 0;
 #endif
 	for (i = 0;  i < 4;  i++) {
 		goertzel_init (&s->row_out[i], dtmf_row[i], 102);
@@ -588,6 +588,7 @@
 						amp[i] = 0;
 					*writeback = 1;
 				}
+#ifdef OLD_DSP_ROUTINES
 				/* Look for two successive similar results */
 				/* The logic in the next test is:
 				   We need two successive identical clean detects, with
@@ -595,7 +596,6 @@
 				   back to back differing digits. More importantly, it
 				   can work with nasty phones that give a very wobbly start
 				   to a digit */
-#ifdef OLD_DSP_ROUTINES
 				if (hit == s->hit3  &&  s->hit3 != s->hit2) {
 					s->mhit = hit;
 					s->digit_hits[(best_row << 2) + best_col]++;
@@ -607,21 +607,33 @@
 						s->lost_digits++;
 					}
 				}
-#else				
-				if (hit == s->hits[2]  &&  hit != s->hits[1]  &&  hit != s->hits[0]) {
-					s->mhit = hit;
-					s->digit_hits[(best_row << 2) + best_col]++;
-					s->detected_digits++;
-					if (s->current_digits < MAX_DTMF_DIGITS) {
-						s->digits[s->current_digits++] = hit;
-						s->digits[s->current_digits] = '\0';
-					} else {
-						s->lost_digits++;
-					}
+#endif
+			}
+		} 
+
+#ifndef OLD_DSP_ROUTINES
+		/* Look for two successive similar results */
+		/* The logic in the next test is:
+		   We need two successive identical clean detects, with
+		   something different preceeding it. This can work with
+		   back to back differing digits. More importantly, it
+		   can work with nasty phones that give a very wobbly start
+		   to a digit */
+		if (hit == s->lasthit  &&  hit != s->mhit) {
+			if (hit) {
+				s->digit_hits[(best_row << 2) + best_col]++;
+				s->detected_digits++;
+				if (s->current_digits < MAX_DTMF_DIGITS) {
+					s->digits[s->current_digits++] = hit;
+					s->digits[s->current_digits] = '\0';
+				} else {
+					s->lost_digits++;
 				}
-#endif
-			}
-		} 
+			}
+			s->mhit = hit;
+		}
+#endif
+
 #ifdef FAX_DETECT
 		if (!hit && (fax_energy >= FAX_THRESHOLD) && 
 			(fax_energy >= DTMF_TO_TOTAL_ENERGY*s->energy) &&
@@ -652,9 +664,7 @@
 		s->hit2 = s->hit3;
 		s->hit3 = hit;
 #else
-		s->hits[0] = s->hits[1];
-		s->hits[1] = s->hits[2];
-		s->hits[2] = hit;
+		s->lasthit = hit;
 #endif		
 		/* Reinitialise the detector for the next block */
 		for (i = 0;  i < 4;  i++) {
@@ -674,11 +684,15 @@
 		s->energy = 0.0;
 		s->current_sample = 0;
 	}
+#ifdef OLD_DSP_ROUTINES
 	if ((!s->mhit) || (s->mhit != hit)) {
 		s->mhit = 0;
 		return(0);
 	}
 	return (hit);
+#else
+	return (s->mhit);	/* return the debounced hit */
+#endif
 }
 
 /* MF goertzel size */
@@ -1690,7 +1704,7 @@
 #endif
 		dsp->td.dtmf.hit1 = dsp->td.dtmf.hit2 = dsp->td.dtmf.hit3 = dsp->td.dtmf.hit4 = dsp->td.dtmf.mhit = 0;
 #else
-		dsp->td.dtmf.hits[2] = dsp->td.dtmf.hits[1] = dsp->td.dtmf.hits[0] =  dsp->td.dtmf.mhit = 0;
+		dsp->td.dtmf.lasthit = dsp->td.dtmf.mhit = 0;
 #endif		
 		dsp->td.dtmf.energy = 0.0;
 		dsp->td.dtmf.current_sample = 0;

Modified: team/group/CDRfix5/main/pbx.c
URL: http://svn.digium.com/view/asterisk/team/group/CDRfix5/main/pbx.c?view=diff&rev=80877&r1=80876&r2=80877
==============================================================================
--- team/group/CDRfix5/main/pbx.c (original)
+++ team/group/CDRfix5/main/pbx.c Fri Aug 24 17:17:56 2007
@@ -475,13 +475,13 @@
 
 	{ "Set", pbx_builtin_setvar,
 	"Set channel variable(s) or function value(s)",
-	"  Set(name1=value1)\n"
+	"  Set(name=value)\n"
 	"This function can be used to set the value of channel variables or dialplan\n"
-	"functions. It will accept up to 24 name/value pairs. When setting variables,\n"
-	"if the variable name is prefixed with _, the variable will be inherited into\n"
-	"channels created from the current channel. If the variable name is prefixed\n"
-	"with __, the variable will be inherited into channels created from the current\n"
-	"channel and all children channels.\n"
+	"functions. When setting variables, if the variable name is prefixed with _,\n"
+	"the variable will be inherited into channels created from the current\n"
+	"channel. If the variable name is prefixed with __, the variable will be\n"
+	"inherited into channels created from the current channel and all children\n"
+	"channels.\n"
 	},
 
 	{ "SetAMAFlags", pbx_builtin_setamaflags,




More information about the asterisk-commits mailing list