[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