[libpri-commits] trunk - r302 in /trunk: pri_facility.c q931.c

libpri-commits at lists.digium.com libpri-commits at lists.digium.com
Thu Jan 19 15:18:01 MST 2006


Author: mattf
Date: Thu Jan 19 16:18:01 2006
New Revision: 302

URL: http://svn.digium.com/view/libpri?rev=302&view=rev
Log:
More changes for RLT

Modified:
    trunk/pri_facility.c
    trunk/q931.c

Modified: trunk/pri_facility.c
URL: http://svn.digium.com/view/libpri/trunk/pri_facility.c?rev=302&r1=301&r2=302&view=diff
==============================================================================
--- trunk/pri_facility.c (original)
+++ trunk/pri_facility.c Thu Jan 19 16:18:01 2006
@@ -1521,7 +1521,7 @@
 				/*  Next is the Call ID */
 				NEXT_COMPONENT(comp, i);
 				GET_COMPONENT(comp, i, vdata, len);
-				CHECK_COMPONENT(comp, (ASN1_CONTEXT_SPECIFIC|ASN1_TAG_0), "Error check failed on Call ID!\n");
+				CHECK_COMPONENT(comp, ASN1_TAG_0, "Error check failed on Call ID!\n");
 				ASN1_GET_INTEGER(comp, call->rlt_call_id);
 				/* We have enough data to transfer the call */
 				call->transferable = 1;

Modified: trunk/q931.c
URL: http://svn.digium.com/view/libpri/trunk/q931.c?rev=302&r1=301&r2=302&view=diff
==============================================================================
--- trunk/q931.c (original)
+++ trunk/q931.c Thu Jan 19 16:18:01 2006
@@ -1174,57 +1174,26 @@
 	if (ie->len < 1)
 		return -1;
 
-	if (pri->switchtype != PRI_SWITCH_DMS100) {
-		if ((ie->data[i] & 0xe0) != 0x80) {
-			pri_error(pri, "!! Invalid Protocol Profile field 0x%X\n", ie->data[i]);
-			return -1;
-		}
-		switch(next_protocol = protocol = (ie->data[i] & 0x1f)) {
-		case Q932_PROTOCOL_CMIP:
-		case Q932_PROTOCOL_ACSE:
-			if (pri->debug & PRI_DEBUG_APDU)
-				pri_message(pri, "!! Don't know how to handle Q.932 Protocol Profile of type 0x%X\n", protocol);
-			return -1;
-		case Q932_PROTOCOL_EXTENSIONS:
-			state = Q932_STATE_NFE;
-			next_protocol = Q932_PROTOCOL_ROSE;
-			break;
-		case Q932_PROTOCOL_ROSE:
-			break;
-		default:
-			pri_error(pri, "!! Invalid Q.932 Protocol Profile of type 0x%X received\n", protocol);
-			return -1;
-		}
+	switch(next_protocol = protocol = (ie->data[i] & 0x1f)) {
+	case Q932_PROTOCOL_CMIP:
+	case Q932_PROTOCOL_ACSE:
+		if (pri->debug & PRI_DEBUG_APDU)
+			pri_message(pri, "!! Don't know how to handle Q.932 Protocol Profile of type 0x%X\n", protocol);
+		return -1;
+	case Q932_PROTOCOL_EXTENSIONS:
+		state = Q932_STATE_NFE;
+		next_protocol = Q932_PROTOCOL_ROSE;
+		break;
+	case Q932_PROTOCOL_ROSE:
+		break;
+	default:
+		pri_error(pri, "!! Invalid Q.932 Protocol Profile of type 0x%X received\n", protocol);
+		return -1;
+	}
+	/* Service indicator octet - Just ignore for now */
+	if (!(ie->data[i] & 0x80))
 		i++;
-	} else { /* Silly DMS100s */
-		switch(next_protocol = protocol = (ie->data[i] & 0x1f)) {
-		case Q932_PROTOCOL_CMIP:
-		case Q932_PROTOCOL_ACSE:
-			if (pri->debug & PRI_DEBUG_APDU)
-				pri_message(pri, "!! Don't know how to handle Q.932 Protocol Profile of type 0x%X\n", protocol);
-			return -1;
-		case Q932_PROTOCOL_EXTENSIONS:
-			state = Q932_STATE_NFE;
-			next_protocol = Q932_PROTOCOL_ROSE;
-			break;
-		case Q932_PROTOCOL_ROSE:
-			break;
-		default:
-			pri_error(pri, "!! Invalid Q.932 Protocol Profile of type 0x%X received\n", protocol);
-			return -1;
-		}
-		if (!(ie->data[i] & 0x80)) {
-			i++;
-			if (((ie->data[i] & 0x7f) != RLT_OPERATION_IND) || !(ie->data[i] & 0x80)) {
-				pri_error(pri, "!! Do not support operation 0x%x\n", ie->data[i] & 0xff);
-				return -1;
-			}
-		}
-		i++;
-	}
-
-
-
+	i++;
 
 	if (ie->len < 3)
 		return -1;



More information about the libpri-commits mailing list