[Asterisk-cvs] asterisk/channels chan_zap.c,1.266,1.267

markster at lists.digium.com markster at lists.digium.com
Mon Jun 14 16:35:24 CDT 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv5117/channels

Modified Files:
	chan_zap.c 
Log Message:
Handle PROGRESS event


Index: chan_zap.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v
retrieving revision 1.266
retrieving revision 1.267
diff -u -d -r1.266 -r1.267
--- chan_zap.c	14 Jun 2004 21:18:52 -0000	1.266
+++ chan_zap.c	14 Jun 2004 21:40:02 -0000	1.267
@@ -55,7 +55,7 @@
 #include <ctype.h>
 #ifdef ZAPATA_PRI
 #include <libpri.h>
-#ifndef PRI_ENSLAVE_SUPPORT
+#ifndef PRI_EVENT_PROGRESS
 #error "You need newer libpri"
 #endif
 #endif
@@ -7147,10 +7147,20 @@
 						ast_log(LOG_DEBUG, "Deferring ringing notification because of extra digits to dial...\n");
 				}
 				break;
-			case PRI_EVENT_PROCEEDING:
+			case PRI_EVENT_PROGRESS:
 				/* Get chan value if e->e is not PRI_EVNT_RINGING */
-				if (e->e == PRI_EVENT_PROCEEDING) 
-					chanpos = pri_find_principle(pri, e->proceeding.channel);
+				chanpos = pri_find_principle(pri, e->proceeding.channel);
+				if (chanpos > -1) {
+					if (pri->overlapdial && !pri->pvts[chanpos]->proceeding) {
+						struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, };
+							ast_log(LOG_DEBUG, "Queuing frame from PRI_EVENT_PROGRESS on channel %d/%d span %d\n",
+								pri->pvts[chanpos]->logicalspan, pri->pvts[chanpos]->prioffset,pri->span);
+							zap_queue_frame(pri->pvts[chanpos], &f);
+					}
+				}
+				break;
+			case PRI_EVENT_PROCEEDING:
+				chanpos = pri_find_principle(pri, e->proceeding.channel);
 				if (chanpos > -1) {
 					if (pri->overlapdial && !pri->pvts[chanpos]->proceeding) {
 						struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, };




More information about the svn-commits mailing list