[asterisk-commits] jpeeler: branch jpeeler/dahdi-restart r136858 - /team/jpeeler/dahdi-restart/c...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Aug 8 18:48:07 CDT 2008


Author: jpeeler
Date: Fri Aug  8 18:48:06 2008
New Revision: 136858

URL: http://svn.digium.com/view/asterisk?view=rev&rev=136858
Log:
now that calls are being process properly in dahdi_hangup, remove any forced hangup code in dahdi_restart

Modified:
    team/jpeeler/dahdi-restart/channels/chan_dahdi.c

Modified: team/jpeeler/dahdi-restart/channels/chan_dahdi.c
URL: http://svn.digium.com/view/asterisk/team/jpeeler/dahdi-restart/channels/chan_dahdi.c?view=diff&rev=136858&r1=136857&r2=136858
==============================================================================
--- team/jpeeler/dahdi-restart/channels/chan_dahdi.c (original)
+++ team/jpeeler/dahdi-restart/channels/chan_dahdi.c Fri Aug  8 18:48:06 2008
@@ -3053,11 +3053,6 @@
 		return 0;
 	}
 
-#ifdef HAVE_SS7
-	if (p->alreadyhungup)
-		return 0;
-#endif	
-	
 	ast_mutex_lock(&p->lock);
 	
 	index = dahdi_get_index(ast, p, 1);
@@ -9864,7 +9859,7 @@
 				if (p->owner) {
 					p->owner->hangupcause = e->rel.cause;
 					p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
-				} else
+				} else if (!p->restartpending)
 					ast_log(LOG_WARNING, "REL on channel (CIC %d) without owner!\n", p->cic);
 
 				/* End the loopback if we have one */
@@ -12039,23 +12034,8 @@
             pthread_join(pris[i].master, NULL);
 			ast_debug(4, "Joined thread of span %d\n", i);
 		}
-		for (j = 0; j < pris[i].numchans - 1; j++) {
-			struct dahdi_pvt *p = pris[i].pvts[j];
-			if (p) {
-				if (p->call) {
-					if (p->pri && p->pri->pri) {
-						pri_hangup(p->pri->pri, p->call, -1);
-						pri_destroycall(p->pri->pri, p->call);
-						p->call = NULL;
-					}
-					if (p->realcall) {
-						pri_hangup_all(p->realcall, &pris[i]);
-					}
-				}
-			}
-		}
     }
-	#endif /* HAVE_PRI */
+	#endif
 
 	#if defined(HAVE_SS7)
 	for (i = 0; i < NUM_SPANS; i++) {
@@ -12066,32 +12046,8 @@
 			pthread_join(linksets[i].master, NULL);
 			ast_debug(4, "Joined thread of span %d\n", i);
 		}
-//		for (j = 0; j < linksets[i].numchans - 1; j++) {
-//			struct dahdi_pvt *p = linksets[i].pvts[j];
-//			if (p->ss7) {
-//				if (p->ss7call) {
-//	/* jpeeler: may need to lock here, was done by ss7_grab previously */
-//					if (!p->alreadyhungup) {
-///*
-//						const char *cause = pbx_builtin_getvar_helper(ast,"SS7_CAUSE");
-//						int icause = ast->hangupcause ? ast->hangupcause : -1;
-//
-//						if (cause) {
-//							if (atoi(cause))
-//								icause = atoi(cause);
-//						}
-//
-//						//isup_rel(p->ss7->ss7, p->ss7call, 8);
-//						//ss7_rel(p->ss7);
-//						p->alreadyhungup = 1;
-//						p->owner->tech_pvt = NULL;
-//					} else
-//						ast_log(LOG_WARNING, "Trying to hangup twice!\n");
-//				}
-//			}
-//		}
-	}
-	#endif /* HAVE_SS7 */
+	}
+	#endif
 
     ast_mutex_lock(&monlock);
     if (monitor_thread && (monitor_thread != AST_PTHREADT_STOP) && (monitor_thread != AST_PTHREADT_NULL)) {




More information about the asterisk-commits mailing list