[Asterisk-cvs] asterisk/channels/h323 ast_h323.cpp,1.50,1.51 chan_h323.h,1.20,1.21

jeremy at lists.digium.com jeremy at lists.digium.com
Tue Jun 15 15:51:11 CDT 2004


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

Modified Files:
	ast_h323.cpp chan_h323.h 
Log Message:
check to make sure the extension exists b4 actually accepting the call and lets hope this gives Open H.323 enough time to sync up (bug #1714)

Index: ast_h323.cpp
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/ast_h323.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- ast_h323.cpp	26 May 2004 19:14:51 -0000	1.50
+++ ast_h323.cpp	15 Jun 2004 20:56:06 -0000	1.51
@@ -489,6 +489,9 @@
 																   const H323SignalPDU & /*setupPDU*/,
 																   H323SignalPDU & /*connectPDU*/)
 {
+	if (!on_answer_call(GetCallReference()))
+		return H323Connection::AnswerCallDenied;
+
 	/* The call will be answered later with "AnsweringCall()" function.
 	 */ 
 	return H323Connection::AnswerCallDeferred;
@@ -835,7 +838,8 @@
  			    clear_con_cb	clfunc,
  			    chan_ringing_cb     rfunc,
 			    con_established_cb 	efunc,
- 			    send_digit_cb	dfunc)
+ 			    send_digit_cb	dfunc,
+ 			    answer_call_cb	acfunc)
 {
 	on_incoming_call = ifunc;
 	on_outgoing_call = sfunc;
@@ -845,6 +849,7 @@
 	on_chan_ringing = rfunc;
 	on_connection_established = efunc;
 	on_send_digit = dfunc;
+	on_answer_call = acfunc;
 }
 
 /**

Index: chan_h323.h
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/chan_h323.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- chan_h323.h	20 May 2004 07:05:26 -0000	1.20
+++ chan_h323.h	15 Jun 2004 20:56:06 -0000	1.21
@@ -153,6 +153,9 @@
 typedef void (*clear_con_cb)(call_details_t);
 clear_con_cb		on_connection_cleared;
 
+typedef int (*answer_call_cb)(unsigned);
+answer_call_cb		on_answer_call;
+
 /* debug flag */
 int h323debug;
 
@@ -178,7 +181,8 @@
  				    clear_con_cb,
  				    chan_ringing_cb,
 				    con_established_cb,
- 				    send_digit_cb);
+ 				    send_digit_cb,
+ 				    answer_call_cb);
 
 
 	int h323_set_capability(int, int);




More information about the svn-commits mailing list