[asterisk-commits] rmudgett: branch rmudgett/dahdi_ccss r239919 - in /team/rmudgett/dahdi_ccss: ...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jan 13 14:38:37 CST 2010


Author: rmudgett
Date: Wed Jan 13 14:38:34 2010
New Revision: 239919

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=239919
Log:
Add ISDN specific CCSS configuration option supports.

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

Modified: team/rmudgett/dahdi_ccss/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/dahdi_ccss/channels/chan_dahdi.c?view=diff&rev=239919&r1=239918&r2=239919
==============================================================================
--- team/rmudgett/dahdi_ccss/channels/chan_dahdi.c (original)
+++ team/rmudgett/dahdi_ccss/channels/chan_dahdi.c Wed Jan 13 14:38:34 2010
@@ -1323,6 +1323,12 @@
 			.localdialplan = PRI_NATIONAL_ISDN + 1,
 			.nodetype = PRI_CPE,
 			.qsigchannelmapping = DAHDI_CHAN_MAPPING_PHYSICAL,
+
+#if defined(HAVE_PRI_CCSS)
+			.cc_ptmp_recall_mode = 1,/* specificRecall */
+			.cc_qsig_signaling_link_req = 1,/* retain */
+			.cc_qsig_signaling_link_rsp = 1,/* retain */
+#endif	/* defined(HAVE_PRI_CCSS) */
 
 			.minunused = 2,
 			.idleext = "",
@@ -16778,11 +16784,32 @@
 				confp->pri.pri.hold_disconnect_transfer = ast_true(v->value);
 #endif	/* defined(HAVE_PRI_CALL_HOLD) */
 #if defined(HAVE_PRI_CCSS)
-/*
- * BUGBUG need to add CCSS DAHDI/PRI specific options:
- * Q.SIG retain CC signaling link options.
- * ETSI PTMP recall mode
- */
+			} else if (!strcasecmp(v->name, "cc_ptmp_recall_mode")) {
+				if (!strcasecmp(v->value, "global")) {
+					confp->pri.pri.cc_ptmp_recall_mode = 0;/* globalRecall */
+				} else if (!strcasecmp(v->value, "specific")) {
+					confp->pri.pri.cc_ptmp_recall_mode = 1;/* specificRecall */
+				} else {
+					confp->pri.pri.cc_ptmp_recall_mode = 1;/* specificRecall */
+				}
+			} else if (!strcasecmp(v->name, "cc_qsig_signaling_link_req")) {
+				if (!strcasecmp(v->value, "release")) {
+					confp->pri.pri.cc_qsig_signaling_link_req = 0;/* release */
+				} else if (!strcasecmp(v->value, "retain")) {
+					confp->pri.pri.cc_qsig_signaling_link_req = 1;/* retain */
+				} else if (!strcasecmp(v->value, "do_not_care")) {
+					confp->pri.pri.cc_qsig_signaling_link_req = 2;/* do-not-care */
+				} else {
+					confp->pri.pri.cc_qsig_signaling_link_req = 1;/* retain */
+				}
+			} else if (!strcasecmp(v->name, "cc_qsig_signaling_link_rsp")) {
+				if (!strcasecmp(v->value, "release")) {
+					confp->pri.pri.cc_qsig_signaling_link_rsp = 0;/* release */
+				} else if (!strcasecmp(v->value, "retain")) {
+					confp->pri.pri.cc_qsig_signaling_link_rsp = 1;/* retain */
+				} else {
+					confp->pri.pri.cc_qsig_signaling_link_rsp = 1;/* retain */
+				}
 #endif	/* defined(HAVE_PRI_CCSS) */
 #endif /* HAVE_PRI */
 #ifdef HAVE_SS7

Modified: team/rmudgett/dahdi_ccss/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/dahdi_ccss/channels/sig_pri.c?view=diff&rev=239919&r1=239918&r2=239919
==============================================================================
--- team/rmudgett/dahdi_ccss/channels/sig_pri.c (original)
+++ team/rmudgett/dahdi_ccss/channels/sig_pri.c Wed Jan 13 14:38:34 2010
@@ -4641,20 +4641,6 @@
 #ifdef HAVE_PRI_INBANDDISCONNECT
 		pri_set_inbanddisconnect(pri->dchans[i], pri->inbanddisconnect);
 #endif
-#if defined(HAVE_PRI_CALL_HOLD)
-		pri_hold_enable(pri->dchans[i], 1);
-#endif	/* defined(HAVE_PRI_CALL_HOLD) */
-#if defined(HAVE_PRI_CALL_REROUTING)
-		pri_reroute_enable(pri->dchans[i], 1);
-#endif	/* defined(HAVE_PRI_CALL_REROUTING) */
-#if defined(HAVE_PRI_CCSS)
-		pri_cc_enable(pri->dchans[i], 1);
-/*
- * BUGBUG need to add CCSS DAHDI/PRI specific options:
- * Q.SIG retain CC signaling link options.
- * ETSI PTMP recall mode
- */
-#endif	/* defined(HAVE_PRI_CCSS) */
 		/* Enslave to master if appropriate */
 		if (i)
 			pri_enslave(pri->dchans[0], pri->dchans[i]);
@@ -4674,8 +4660,23 @@
 		}
 #endif
 	}
+
 	/* Assume primary is the one we use */
 	pri->pri = pri->dchans[0];
+
+#if defined(HAVE_PRI_CALL_HOLD)
+	pri_hold_enable(pri->pri, 1);
+#endif	/* defined(HAVE_PRI_CALL_HOLD) */
+#if defined(HAVE_PRI_CALL_REROUTING)
+	pri_reroute_enable(pri->pri, 1);
+#endif	/* defined(HAVE_PRI_CALL_REROUTING) */
+#if defined(HAVE_PRI_CCSS)
+	pri_cc_enable(pri->pri, 1);
+	pri_cc_recall_mode(pri->pri, pri->cc_ptmp_recall_mode);
+	pri_cc_retain_signaling_req(pri->pri, pri->cc_qsig_signaling_link_req);
+	pri_cc_retain_signaling_rsp(pri->pri, pri->cc_qsig_signaling_link_rsp);
+#endif	/* defined(HAVE_PRI_CCSS) */
+
 	pri->resetpos = -1;
 	if (ast_pthread_create_background(&pri->master, NULL, pri_dchannel, pri)) {
 		for (i = 0; i < NUM_DCHANS; i++) {

Modified: team/rmudgett/dahdi_ccss/channels/sig_pri.h
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/dahdi_ccss/channels/sig_pri.h?view=diff&rev=239919&r1=239918&r2=239919
==============================================================================
--- team/rmudgett/dahdi_ccss/channels/sig_pri.h (original)
+++ team/rmudgett/dahdi_ccss/channels/sig_pri.h Wed Jan 13 14:38:34 2010
@@ -224,6 +224,11 @@
 	int switchtype;							/*!< Type of switch to emulate */
 	int nsf;								/*!< Network-Specific Facilities */
 	int trunkgroup;							/*!< What our trunkgroup is */
+#if defined(HAVE_PRI_CCSS)
+	int cc_ptmp_recall_mode;				/*!< CC PTMP recall mode. globalRecall(0), specificRecall(1) */
+	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) */
 
 	int dchanavail[NUM_DCHANS];				/*!< Whether each channel is available */
 	int debug;								/*!< set to true if to dump PRI event info (tested but never set) */

Modified: team/rmudgett/dahdi_ccss/configs/chan_dahdi.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/dahdi_ccss/configs/chan_dahdi.conf.sample?view=diff&rev=239919&r1=239918&r2=239919
==============================================================================
--- team/rmudgett/dahdi_ccss/configs/chan_dahdi.conf.sample (original)
+++ team/rmudgett/dahdi_ccss/configs/chan_dahdi.conf.sample Wed Jan 13 14:38:34 2010
@@ -85,10 +85,11 @@
 ;service_message_support=yes
 ; Enable service message support for channel. Must be set after switchtype.
 ;
-; PRI Reverse Charging Indication: Indicate to the called party that the
-; call will be reverse charged.  To enable, prefix the dialed number with one
-; of the following letters:
-; C - Reverse Charge Indication Requested
+; Dialing options for ISDN (i.e., Dial(DAHDI/g1/exten/options)):
+; R      Reverse Charge Indication
+;          Indicate to the called party that the call will be reverse charged.
+; K(n)   Keypad digits n
+;          Send out the specified digits as keypad digits.
 ;
 ; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for
 ; the dialed number.  For most installations, leaving this as 'unknown' (the
@@ -236,8 +237,50 @@
 ;       May vary in other ISDN standards (Q.931 1993 : 90000 ms)
 ; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms)
 ;
+; T-RESPONSE:   Maximum time to wait for a typical APDU response. (default 4000 ms)
+;               This is an implementation timer when the standard does not specify one.
+; T-ACTIVATE:   Request supervision timeout. (default 10000 ms)
+; T-RETENTION:  Maximum  time to wait for user A to activate call-completion. (default 30000 ms)
+;               Used by ETSI PTP, ETSI PTMP, and Q.SIG as the cc_offer_timer.
+; T-CCBS1:      T-STATUS timer equivalent for CC user A status. (default 4000 ms)
+; T-CCBS2:      Maximum  time the CCBS service will be active (default 45 min in ms)
+; T-CCBS3:      Maximum  time to wait for user A to respond to user B availability. (default 20000 ms)
+; T-CCBS5:      Network B CCBS supervision timeout. (default 60 min in ms)
+; T-CCBS6:      Network A CCBS supervision timeout. (default 60 min in ms)
+; T-CCNR2:      Maximum  time the CCNR service will be active (default 180 min in ms)
+; T-CCNR5:      Network B CCNR supervision timeout. (default 195 min in ms)
+; T-CCNR6:      Network A CCNR supervision timeout. (default 195 min in ms)
+; CC-T1:        Q.SIG CC request supervision timeout. (default 30000 ms)
+; CCBS-T2:      Q.SIG CCBS supervision timeout. (default 60 min in ms)
+; CCNR-T2:      Q.SIG CCNR supervision timeout. (default 195 min in ms)
+; CC-T3:        Q.SIG CC Maximum time to wait for user A to respond to user B availability. (default 30000 ms)
+;
 ;pritimer => t200,1000
 ;pritimer => t313,4000
+;
+; CC PTMP recall mode:
+; specific - Only the CC original party A can participate in the CC callback
+; global - Other compatible endpoints on the PTMP line can be party A in the CC callback
+;
+; cc_ptmp_recall_mode cannot be changed on a reload.
+;
+;cc_ptmp_recall_mode = specific
+;
+; CC Q.SIG Party A (requester) retain signaling link option
+; retain       Require that the signaling link be retained.
+; release      Request that the signaling link be released.
+; do_not_care  The responder is free to choose if the signaling link will be retained.
+;
+;cc_qsig_signaling_link_req = retain
+;
+; CC Q.SIG Party B (responder) retain signaling link option
+; retain       Prefer that the signaling link be retained.
+; release      Prefer that the signaling link be released.
+;
+;cc_qsig_signaling_link_rsp = retain
+;
+; See ccss.conf.sample for more options.  The timers described by ccss.conf.sample
+; are not used by ISDN since they are defined by the standards in pritimer above.
 ;
 ; To enable transmission of facility-based ISDN supplementary services (such
 ; as caller name from CPE over facility), enable this option.
@@ -267,6 +310,10 @@
 ; fxo_ks:         FXO (Kewl Start)
 ; pri_cpe:        PRI signalling, CPE side
 ; pri_net:        PRI signalling, Network side
+; bri_cpe:        BRI PTP signalling, CPE side
+; bri_net:        BRI PTP signalling, Network side
+; bri_cpe_ptmp:   BRI PTMP signalling, CPE side
+; bri_net_ptmp:   BRI PTMP signalling, Network side
 ; sf:             SF (Inband Tone) Signalling
 ; sf_w:           SF Wink
 ; sf_featd:       SF Feature Group D (The fake, Adtran style, DTMF)




More information about the asterisk-commits mailing list