[Asterisk-cvs] libpri libpri.h,1.22,1.23 pri.c,1.16,1.17 pri_q931.h,1.11,1.12 q931.c,1.54,1.55

markster at lists.digium.com markster at lists.digium.com
Wed May 19 11:22:16 CDT 2004


Update of /usr/cvsroot/libpri
In directory mongoose.digium.com:/tmp/cvs-serv24234

Modified Files:
	libpri.h pri.c pri_q931.h q931.c 
Log Message:
Add separate ability to do both progress and proceeding


Index: libpri.h
===================================================================
RCS file: /usr/cvsroot/libpri/libpri.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- libpri.h	19 May 2004 15:21:15 -0000	1.22
+++ libpri.h	19 May 2004 15:34:43 -0000	1.23
@@ -397,4 +397,7 @@
 /* Send call proceeding */
 extern int pri_progress(struct pri *pri, q931_call *c, int info);
 
+#define PRI_PROCEEDING
+/* Send call proceeding */
+extern int pri_proceeding(struct pri *pri, q931_call *c, int info);
 #endif

Index: pri.c
===================================================================
RCS file: /usr/cvsroot/libpri/pri.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- pri.c	19 May 2004 15:21:15 -0000	1.16
+++ pri.c	19 May 2004 15:34:43 -0000	1.17
@@ -191,11 +191,18 @@
 	return q931_alerting(pri, call, channel, info);
 }
 
-int pri_progress(struct pri *pri, q931_call *call, int info)
+int pri_proceeding(struct pri *pri, q931_call *call, int info)
 {
 	if (!pri || !call)
 		return -1;
 	return q931_call_proceeding(pri, call,info);
+}
+
+int pri_progress(struct pri *pri, q931_call *call, int info)
+{
+	if (!pri || !call)
+		return -1;
+	return q931_call_progress(pri, call,info);
 }
 
 int pri_information(struct pri *pri, q931_call *call, char digit)

Index: pri_q931.h
===================================================================
RCS file: /usr/cvsroot/libpri/pri_q931.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- pri_q931.h	19 May 2004 15:21:15 -0000	1.11
+++ pri_q931.h	19 May 2004 15:34:43 -0000	1.12
@@ -243,6 +243,8 @@
 
 extern int q931_alerting(struct pri *pri, q931_call *call, int channel, int info);
 
+extern int q931_call_progress(struct pri *pri, q931_call *call, int info);
+
 extern int q931_call_proceeding(struct pri *pri, q931_call *call, int info);
 
 extern int q931_setup_ack(struct pri *pri, q931_call *call, int channel, int nonisdn);

Index: q931.c
===================================================================
RCS file: /usr/cvsroot/libpri/q931.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- q931.c	19 May 2004 15:26:16 -0000	1.54
+++ q931.c	19 May 2004 15:34:43 -0000	1.55
@@ -1564,6 +1564,29 @@
 }
 
 #ifdef ALERTING_NO_PROGRESS
+static int call_progress_ies[] = { Q931_CHANNEL_IDENT, -1 };
+#else
+static int call_progress_ies[] = { Q931_CHANNEL_IDENT, Q931_PROGRESS_INDICATOR, -1 };
+#endif
+
+int q931_call_progress(struct pri *pri, q931_call *c, int info)
+{
+	c->ourcallstate = Q931_CALL_STATE_INCOMING_CALL_PROCEEDING;
+	c->peercallstate = Q931_CALL_STATE_OUTGOING_CALL_PROCEEDING;
+	if (info) {
+		c->progloc = LOC_PRIV_NET_LOCAL_USER;
+		c->progcode = CODE_CCITT;
+		c->progress = Q931_PROG_INBAND_AVAILABLE;
+	} else
+		c->progress = -1;
+	if (!c->proc)
+		q931_call_proceeding(pri, c, 0);
+	c->proc = 1;
+	c->alive = 1;
+	return send_message(pri, c, Q931_PROGRESS, call_progress_ies);
+}
+
+#ifdef ALERTING_NO_PROGRESS
 static int call_proceeding_ies[] = { Q931_CHANNEL_IDENT, -1 };
 #else
 static int call_proceeding_ies[] = { Q931_CHANNEL_IDENT, Q931_PROGRESS_INDICATOR, -1 };




More information about the svn-commits mailing list