[asterisk-commits] rmudgett: branch rmudgett/ss7_27_knk r374149 - /team/rmudgett/ss7_27_knk/chan...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Oct 1 14:43:31 CDT 2012


Author: rmudgett
Date: Mon Oct  1 14:43:27 2012
New Revision: 374149

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=374149
Log:
Fix compile.

The change:
Allow for redirecting reasons to be set to arbitrary strings.
required additional changes in this branch to compile.

Modified:
    team/rmudgett/ss7_27_knk/channels/sig_ss7.c

Modified: team/rmudgett/ss7_27_knk/channels/sig_ss7.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/ss7_27_knk/channels/sig_ss7.c?view=diff&rev=374149&r1=374148&r2=374149
==============================================================================
--- team/rmudgett/ss7_27_knk/channels/sig_ss7.c (original)
+++ team/rmudgett/ss7_27_knk/channels/sig_ss7.c Mon Oct  1 14:43:27 2012
@@ -1131,53 +1131,53 @@
 
 		switch (p->redirect_info_orig_reas) {
 		case SS7_REDIRECTING_REASON_UNKNOWN:
-			redirecting.orig_reason = AST_REDIRECTING_REASON_UNKNOWN;
+			redirecting.orig_reason.code = AST_REDIRECTING_REASON_UNKNOWN;
 			break;
 		case SS7_REDIRECTING_REASON_USER_BUSY:
-			redirecting.orig_reason = AST_REDIRECTING_REASON_USER_BUSY;
+			redirecting.orig_reason.code = AST_REDIRECTING_REASON_USER_BUSY;
 			break;
 		case SS7_REDIRECTING_REASON_NO_ANSWER:
-			redirecting.orig_reason = AST_REDIRECTING_REASON_NO_ANSWER;
+			redirecting.orig_reason.code = AST_REDIRECTING_REASON_NO_ANSWER;
 			break;
 		case SS7_REDIRECTING_REASON_UNCONDITIONAL:
-			redirecting.orig_reason = AST_REDIRECTING_REASON_UNCONDITIONAL;
+			redirecting.orig_reason.code = AST_REDIRECTING_REASON_UNCONDITIONAL;
 			break;
 		default:
-			redirecting.orig_reason = AST_REDIRECTING_REASON_UNKNOWN;
+			redirecting.orig_reason.code = AST_REDIRECTING_REASON_UNKNOWN;
 			break;
 		}
 
 		switch (p->redirect_info_reas) {
 		case SS7_REDIRECTING_REASON_UNKNOWN:
-			redirecting.reason = AST_REDIRECTING_REASON_UNKNOWN;
+			redirecting.reason.code = AST_REDIRECTING_REASON_UNKNOWN;
 			break;
 		case SS7_REDIRECTING_REASON_USER_BUSY:
-			redirecting.reason = AST_REDIRECTING_REASON_USER_BUSY;
+			redirecting.reason.code = AST_REDIRECTING_REASON_USER_BUSY;
 			if (!p->redirect_info_orig_reas && redirecting.count == 1) {
-				redirecting.orig_reason = AST_REDIRECTING_REASON_USER_BUSY;
+				redirecting.orig_reason.code = AST_REDIRECTING_REASON_USER_BUSY;
 			}
 			break;
 		case SS7_REDIRECTING_REASON_NO_ANSWER:
-			redirecting.reason = AST_REDIRECTING_REASON_NO_ANSWER;
+			redirecting.reason.code = AST_REDIRECTING_REASON_NO_ANSWER;
 			if (!p->redirect_info_orig_reas && redirecting.count == 1) {
-				redirecting.orig_reason = AST_REDIRECTING_REASON_NO_ANSWER;
+				redirecting.orig_reason.code = AST_REDIRECTING_REASON_NO_ANSWER;
 			}
 			break;
 		case SS7_REDIRECTING_REASON_UNCONDITIONAL:
-			redirecting.reason = AST_REDIRECTING_REASON_UNCONDITIONAL;
+			redirecting.reason.code = AST_REDIRECTING_REASON_UNCONDITIONAL;
 			if (!p->redirect_info_orig_reas && redirecting.count == 1) {
-				redirecting.orig_reason = AST_REDIRECTING_REASON_UNCONDITIONAL;
+				redirecting.orig_reason.code = AST_REDIRECTING_REASON_UNCONDITIONAL;
 			}
 			break;
 		case SS7_REDIRECTING_REASON_DEFLECTION_DURING_ALERTING:
 		case SS7_REDIRECTING_REASON_DEFLECTION_IMMEDIATE_RESPONSE:
-			redirecting.reason = AST_REDIRECTING_REASON_DEFLECTION;
+			redirecting.reason.code = AST_REDIRECTING_REASON_DEFLECTION;
 			break;
 		case SS7_REDIRECTING_REASON_UNAVAILABLE:
-			redirecting.reason = AST_REDIRECTING_REASON_UNAVAILABLE;
+			redirecting.reason.code = AST_REDIRECTING_REASON_UNAVAILABLE;
 			break;
 		default:
-			redirecting.reason = AST_REDIRECTING_REASON_UNKNOWN;
+			redirecting.reason.code = AST_REDIRECTING_REASON_UNKNOWN;
 			break;
 		}
 		/* Clear this after we set it */
@@ -2650,7 +2650,7 @@
 
 static unsigned char ss7_redirect_reason(struct sig_ss7_chan *p, struct ast_party_redirecting *redirecting, int orig)
 {
-	int reason = (orig) ? redirecting->orig_reason : redirecting->reason;
+	int reason = (orig) ? redirecting->orig_reason.code : redirecting->reason.code;
 
 	switch (reason) {
 	case AST_REDIRECTING_REASON_USER_BUSY:
@@ -2710,7 +2710,7 @@
 		return SS7_INDICATION_NO_REDIRECTION;
 	}
 
-	if (redirecting->reason == AST_REDIRECTING_REASON_DEFLECTION) {
+	if (redirecting->reason.code == AST_REDIRECTING_REASON_DEFLECTION) {
 		if ((redirecting->to.number.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) {
 			if ((redirecting->orig.number.presentation & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) {
 				return SS7_INDICATION_DIVERTED_PRES_ALLOWED;




More information about the asterisk-commits mailing list