[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