[svn-commits] jpeeler: branch jpeeler/asterisk-sigwork-trunk r206227 - /team/jpeeler/asteri...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jul 13 13:57:08 CDT 2009


Author: jpeeler
Date: Mon Jul 13 13:57:04 2009
New Revision: 206227

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=206227
Log:
prune dahdi_hangup of code that is now handled by sig_analog

Modified:
    team/jpeeler/asterisk-sigwork-trunk/channels/chan_dahdi.c
    team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.c
    team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.h

Modified: team/jpeeler/asterisk-sigwork-trunk/channels/chan_dahdi.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/jpeeler/asterisk-sigwork-trunk/channels/chan_dahdi.c?view=diff&rev=206227&r1=206226&r2=206227
==============================================================================
--- team/jpeeler/asterisk-sigwork-trunk/channels/chan_dahdi.c (original)
+++ team/jpeeler/asterisk-sigwork-trunk/channels/chan_dahdi.c Mon Jul 13 13:57:04 2009
@@ -2314,7 +2314,7 @@
 	return dahdievent_to_analogevent(res);
 }
 
-static int my_is_off_hook(void *pvt)
+static int my_is_off_hook(void *pvt, int debug)
 {
 	struct dahdi_pvt *p = pvt;
 	int res;
@@ -2329,6 +2329,9 @@
 	}
 	if (res) {
 		ast_log(LOG_WARNING, "Unable to check hook state on channel %d: %s\n", p->channel, strerror(errno));
+	}
+	if (debug) {
+		ast_debug(1, "Channel %d, offhook = %d\n", p->channel, par.rxisoffhook);
 	}
 
 	return (par.rxbits > -1) || par.rxisoffhook;
@@ -4854,7 +4857,6 @@
 	struct dahdi_pvt *p = ast->tech_pvt;
 	struct dahdi_pvt *tmp = NULL;
 	struct dahdi_pvt *prev = NULL;
-	struct dahdi_params par;
 
 	ast_debug(1, "dahdi_hangup(%s)\n", ast->name);
 	if (!ast->tech_pvt) {
@@ -5136,37 +5138,6 @@
 			res = dahdi_set_hook(p->subs[SUB_REAL].dfd, DAHDI_ONHOOK);
 		if (res < 0) {
 			ast_log(LOG_WARNING, "Unable to hangup line %s\n", ast->name);
-		}
-		switch (p->sig) {
-		case SIG_FXOGS:
-		case SIG_FXOLS:
-		case SIG_FXOKS:
-			memset(&par, 0, sizeof(par));
-			res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_GET_PARAMS, &par);
-			if (!res) {
-#if 0
-				ast_debug(1, "Hanging up channel %d, offhook = %d\n", p->channel, par.rxisoffhook);
-#endif
-				/* If they're off hook, try playing congestion */
-				if ((par.rxisoffhook) && (!(p->radio || (p->oprmode < 0))))
-					tone_zone_play_tone(p->subs[SUB_REAL].dfd, DAHDI_TONE_CONGESTION);
-				else
-					tone_zone_play_tone(p->subs[SUB_REAL].dfd, -1);
-				p->fxsoffhookstate = par.rxisoffhook;
-			}
-			break;
-		case SIG_FXSGS:
-		case SIG_FXSLS:
-		case SIG_FXSKS:
-			/* Make sure we're not made available for at least two seconds assuming
-			   we were actually used for an inbound or outbound call. */
-			if (ast->_state != AST_STATE_RESERVED) {
-				time(&p->guardtime);
-				p->guardtime += 2;
-			}
-			break;
-		default:
-			tone_zone_play_tone(p->subs[SUB_REAL].dfd, -1);
 		}
 		if (p->sig)
 			dahdi_disable_ec(p);

Modified: team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.c?view=diff&rev=206227&r1=206226&r2=206227
==============================================================================
--- team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.c (original)
+++ team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.c Mon Jul 13 13:57:04 2009
@@ -384,10 +384,10 @@
 		return -1;
 }
 
-static int analog_is_off_hook(struct analog_pvt *p)
+static int analog_is_off_hook(struct analog_pvt *p, int debug)
 {
 	if (p->calls->is_off_hook)
-		return p->calls->is_off_hook(p->chan_pvt);
+		return p->calls->is_off_hook(p->chan_pvt, debug);
 	else
 		return -1;
 }
@@ -621,7 +621,7 @@
 		if (p->sig == ANALOG_SIG_FXSLS)
 			return 1;
 
-		offhook = analog_is_off_hook(p);
+		offhook = analog_is_off_hook(p, 0);
 
 		if ((p->sig == ANALOG_SIG_FXSKS) || (p->sig == ANALOG_SIG_FXSGS)) {
 			/* When "onhook" that means no battery on the line, and thus
@@ -1066,7 +1066,7 @@
 		case ANALOG_SIG_FXOLS:
 		case ANALOG_SIG_FXOKS:
 			/* If they're off hook, try playing congestion */
-			if (analog_is_off_hook(p))
+			if (analog_is_off_hook(p, 1))
 				analog_play_tone(p, ANALOG_SUB_REAL, ANALOG_TONE_CONGESTION);
 			else
 				analog_play_tone(p, ANALOG_SUB_REAL, -1);

Modified: team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.h
URL: http://svn.asterisk.org/svn-view/asterisk/team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.h?view=diff&rev=206227&r1=206226&r2=206227
==============================================================================
--- team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.h (original)
+++ team/jpeeler/asterisk-sigwork-trunk/channels/sig_analog.h Mon Jul 13 13:57:04 2009
@@ -123,7 +123,7 @@
 
 	int (* const get_event)(void *pvt);
 	int (* const wait_event)(void *pvt);
-	int (* const is_off_hook)(void *pvt);
+	int (* const is_off_hook)(void *pvt, int debug);
 	int (* const is_dialing)(void *pvt, enum analog_sub sub);
 	/* Start a trunk type signalling protocol (everything except phone ports basically */
 	int (* const start)(void *pvt);




More information about the svn-commits mailing list