[svn-commits] rmudgett: trunk r226648 - in /trunk/channels: chan_dahdi.c sig_pri.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Oct 30 18:26:47 CDT 2009


Author: rmudgett
Date: Fri Oct 30 18:26:41 2009
New Revision: 226648

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=226648
Log:
Cleanup some flags on DAHDI PRI channel hangup.

*  Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split)
*  Make sure the outgoing flag is cleared if a new channel fails to get
created for outgoing calls.
*  Remove some unused flags since sig_pri was split.

Modified:
    trunk/channels/chan_dahdi.c
    trunk/channels/sig_pri.c

Modified: trunk/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_dahdi.c?view=diff&rev=226648&r1=226647&r2=226648
==============================================================================
--- trunk/channels/chan_dahdi.c (original)
+++ trunk/channels/chan_dahdi.c Fri Oct 30 18:26:41 2009
@@ -981,27 +981,12 @@
 	/*! \brief TRUE if the call has already gone/hungup */
 	unsigned int alreadyhungup:1;
 	/*!
-	 * \brief TRUE if this is an idle call
-	 * \note Applies to PRI channels.
-	 */
-	unsigned int isidlecall:1;
-	/*!
 	 * \brief TRUE if call is in a proceeding state.
 	 * The call has started working its way through the network.
 	 */
 	unsigned int proceeding:1;
 	/*! \brief TRUE if the call has seen progress through the network. */
 	unsigned int progress:1;
-	/*!
-	 * \brief TRUE if this channel is being reset/restarted
-	 * \note Applies to PRI channels.
-	 */
-	unsigned int resetting:1;
-	/*!
-	 * \brief TRUE if this channel has received a SETUP_ACKNOWLEDGE
-	 * \note Applies to PRI channels.
-	 */
-	unsigned int setup_ack:1;
 #endif
 	/*!
 	 * \brief TRUE if SMDI (Simplified Message Desk Interface) is enabled
@@ -5473,6 +5458,16 @@
 		sig_pri_hangup(p->sig_pvt, ast);
 		p->subs[SUB_REAL].owner = NULL;
 		p->owner = NULL;
+		p->ringt = 0;/* Probably not used in this mode.  Reset anyway. */
+		p->distinctivering = 0;/* Probably not used in this mode. Reset anyway. */
+		p->confirmanswer = 0;/* Probably not used in this mode. Reset anyway. */
+		p->outgoing = 0;
+		p->digital = 0;
+		p->faxhandled = 0;
+		p->pulsedial = 0;/* Probably not used in this mode. Reset anyway. */
+		//p->proceeding = 0;
+		//p->progress = 0;
+		//p->alerting = 0;
 		goto hangup_out;
 	}
 #endif
@@ -5617,7 +5612,6 @@
 		p->dialing = 0;
 		p->progress = 0;
 		p->alerting = 0;
-		p->setup_ack = 0;
 		p->rlt = 0;
 #endif
 		if (p->dsp) {
@@ -8682,8 +8676,6 @@
 	pbx_builtin_setvar_helper(tmp, "TRANSFERCAPABILITY", ast_transfercapability2str(transfercapability));
 	if (transfercapability & AST_TRANS_CAP_DIGITAL)
 		i->digital = 1;
-	/* Assume calls are not idle calls unless we're told differently */
-	i->isidlecall = 0;
 	i->alreadyhungup = 0;
 #endif
 	/* clear the fake event in case we posted one before we had ast_channel */
@@ -12110,6 +12102,9 @@
 #endif
 			} else {
 				tmp = dahdi_new(p, AST_STATE_RESERVED, 0, p->owner ? SUB_CALLWAIT : SUB_REAL, 0, 0, requestor ? requestor->linkedid : "");
+			}
+			if (!tmp) {
+				p->outgoing = 0;
 			}
 
 			/* Make special notes */

Modified: trunk/channels/sig_pri.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/sig_pri.c?view=diff&rev=226648&r1=226647&r2=226648
==============================================================================
--- trunk/channels/sig_pri.c (original)
+++ trunk/channels/sig_pri.c Fri Oct 30 18:26:41 2009
@@ -725,9 +725,16 @@
 
 struct ast_channel *sig_pri_request(struct sig_pri_chan *p, enum sig_pri_law law, const struct ast_channel *requestor)
 {
+	struct ast_channel *ast;
+
 	ast_log(LOG_DEBUG, "%s %d\n", __FUNCTION__, p->channel);
 
-	return sig_pri_new_ast_channel(p, AST_STATE_RESERVED, 0, law, 0, p->exten, requestor);
+	p->outgoing = 1;
+	ast = sig_pri_new_ast_channel(p, AST_STATE_RESERVED, 0, law, 0, p->exten, requestor);
+	if (!ast) {
+		p->outgoing = 0;
+	}
+	return ast;
 }
 
 int pri_is_up(struct sig_pri_pri *pri)




More information about the svn-commits mailing list