[svn-commits] rmudgett: branch rmudgett/call_waiting r249758 - in /team/rmudgett/call_waiti...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Mar 1 20:23:10 CST 2010


Author: rmudgett
Date: Mon Mar  1 20:23:06 2010
New Revision: 249758

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=249758
Log:
Added max_call_waiting_calls option to chan_dahdi.conf.

Code can read the new config option.  Next up being able to do something
with it.

Modified:
    team/rmudgett/call_waiting/channels/chan_dahdi.c
    team/rmudgett/call_waiting/channels/sig_pri.h
    team/rmudgett/call_waiting/configs/chan_dahdi.conf.sample

Modified: team/rmudgett/call_waiting/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/call_waiting/channels/chan_dahdi.c?view=diff&rev=249758&r1=249757&r2=249758
==============================================================================
--- team/rmudgett/call_waiting/channels/chan_dahdi.c (original)
+++ team/rmudgett/call_waiting/channels/chan_dahdi.c Mon Mar  1 20:23:06 2010
@@ -11629,6 +11629,10 @@
 						pris[span].pri.cc_qsig_signaling_link_rsp =
 							conf->pri.pri.cc_qsig_signaling_link_rsp;
 #endif	/* defined(HAVE_PRI_CCSS) */
+#if defined(HAVE_PRI_CALL_WAITING)
+						pris[span].pri.max_call_waiting_calls =
+							conf->pri.pri.max_call_waiting_calls;
+#endif	/* defined(HAVE_PRI_CALL_WAITING) */
 						pris[span].pri.facilityenable = conf->pri.pri.facilityenable;
 						ast_copy_string(pris[span].pri.msn_list, conf->pri.pri.msn_list, sizeof(pris[span].pri.msn_list));
 						ast_copy_string(pris[span].pri.idledial, conf->pri.pri.idledial, sizeof(pris[span].pri.idledial));
@@ -17045,6 +17049,14 @@
 					confp->pri.pri.cc_qsig_signaling_link_rsp = 1;/* retain */
 				}
 #endif	/* defined(HAVE_PRI_CCSS) */
+#if defined(HAVE_PRI_CALL_WAITING)
+			} else if (!strcasecmp(v->name, "max_call_waiting_calls")) {
+				confp->pri.pri.max_call_waiting_calls = atoi(v->value);
+				if (confp->pri.pri.max_call_waiting_calls < 0) {
+					/* Negative values are not allowed. */
+					confp->pri.pri.max_call_waiting_calls = 0;
+				}
+#endif	/* defined(HAVE_PRI_CALL_WAITING) */
 #endif /* HAVE_PRI */
 #ifdef HAVE_SS7
 			} else if (!strcasecmp(v->name, "ss7type")) {

Modified: team/rmudgett/call_waiting/channels/sig_pri.h
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/call_waiting/channels/sig_pri.h?view=diff&rev=249758&r1=249757&r2=249758
==============================================================================
--- team/rmudgett/call_waiting/channels/sig_pri.h (original)
+++ team/rmudgett/call_waiting/channels/sig_pri.h Mon Mar  1 20:23:06 2010
@@ -270,7 +270,22 @@
 	int cc_qsig_signaling_link_req;			/*!< CC Q.SIG signaling link retention (Party A) release(0), retain(1), do-not-care(2) */
 	int cc_qsig_signaling_link_rsp;			/*!< CC Q.SIG signaling link retention (Party B) release(0), retain(1) */
 #endif	/* defined(HAVE_PRI_CCSS) */
-
+#if defined(HAVE_PRI_CALL_WAITING)
+	/*!
+	 * \brief Number of extra outgoing calls to allow on a span before
+	 * considering that span congested.
+	 */
+	int max_call_waiting_calls;
+#endif	/* defined(HAVE_PRI_CALL_WAITING) */
+
+#if defined(HAVE_PRI_CALL_WAITING)
+	/*!
+	 * \brief Number of outstanding call waiting calls.
+	 * \note Must be zero to allow new calls from asterisk to
+	 * immediately allocate a B channel.
+	 */
+	int num_call_waiting_calls;
+#endif	/* defined(HAVE_PRI_CALL_WAITING) */
 	int dchanavail[NUM_DCHANS];				/*!< Whether each channel is available */
 	int debug;								/*!< set to true if to dump PRI event info (tested but never set) */
 	int span;                               /*!< span number put into user output messages */

Modified: team/rmudgett/call_waiting/configs/chan_dahdi.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/call_waiting/configs/chan_dahdi.conf.sample?view=diff&rev=249758&r1=249757&r2=249758
==============================================================================
--- team/rmudgett/call_waiting/configs/chan_dahdi.conf.sample (original)
+++ team/rmudgett/call_waiting/configs/chan_dahdi.conf.sample Mon Mar  1 20:23:06 2010
@@ -497,6 +497,12 @@
 ;
 callwaiting=yes
 ;
+; Configure the number of outstanding call waiting calls for internal ISDN
+; endpoints before bouncing the calls as busy.  This option is equivalent to
+; the callwaiting option for analog ports.
+; The default is zero to disable call waiting for ISDN endpoints.
+;max_call_waiting_calls=0
+;
 ; Whether or not restrict outgoing caller ID (will be sent as ANI only, not
 ; available for the user)
 ; Mostly use with FXS ports




More information about the svn-commits mailing list