diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index 0126c7c..0918b8b 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -189,9 +189,18 @@
 struct mgcp_conn *mgcp_conn_get(struct mgcp_endpoint *endp, const char *id)
 {
 	struct mgcp_conn *conn;
+	const char *id_upper;
+
+	if (!id || !*id)
+		return NULL;
+
+	/* Use uppercase to compare identifiers, to avoid mismatches: RFC3435 2.1.3.2 "Names of
+	 * Connections" defines the id as a hex string, so clients may return lower case hex even though
+	 * we sent upper case hex in the CRCX response. */
+	id_upper = osmo_str_toupper(id);
 
 	llist_for_each_entry(conn, &endp->conns, entry) {
-		if (strncmp(conn->id, id, sizeof(conn->id)) == 0)
+		if (strcmp(conn->id, id_upper) == 0)
 			return conn;
 	}
 
diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c
index c40eabc..99ddd71 100644
--- a/tests/mgcp/mgcp_test.c
+++ b/tests/mgcp/mgcp_test.c
@@ -1751,6 +1751,40 @@
 	OSMO_ASSERT(pt_dst == -EINVAL);
 }
 
+void test_conn_id_matching()
+{
+	struct mgcp_endpoint endp = {};
+	struct mgcp_conn *conn;
+	struct mgcp_conn *conn_match;
+	int i;
+	const char *conn_id_generated = "000023AB";
+	const char *conn_id_request[] = {
+		"000023AB",
+		"000023ab",
+	};
+
+	printf("\nTesting %s\n", __func__);
+
+	INIT_LLIST_HEAD(&endp.conns);
+
+	conn = talloc_zero(NULL, struct mgcp_conn);
+	OSMO_ASSERT(conn);
+	osmo_strlcpy(conn->id, conn_id_generated, sizeof(conn->id));
+	llist_add(&conn->entry, &endp.conns);
+
+	for (i = 0; i < ARRAY_SIZE(conn_id_request); i++) {
+		const char *needle = conn_id_request[i];
+		printf("needle='%s' ", needle);
+		conn_match = mgcp_conn_get(&endp, needle);
+		OSMO_ASSERT(conn_match);
+		printf("found '%s'\n", conn_match->id);
+		OSMO_ASSERT(conn_match == conn);
+	}
+
+	llist_del(&conn->entry);
+	talloc_free(conn);
+}
+
 int main(int argc, char **argv)
 {
 	void *ctx = talloc_named_const(NULL, 0, "mgcp_test");
@@ -1775,6 +1809,7 @@
 	test_get_lco_identifier();
 	test_check_local_cx_options(ctx);
 	test_mgcp_codec_pt_translate();
+	test_conn_id_matching();
 
 	OSMO_ASSERT(talloc_total_size(msgb_ctx) == 0);
 	OSMO_ASSERT(talloc_total_blocks(msgb_ctx) == 1);
diff --git a/tests/mgcp/mgcp_test.ok b/tests/mgcp/mgcp_test.ok
index ddda751..f50f487 100644
--- a/tests/mgcp/mgcp_test.ok
+++ b/tests/mgcp/mgcp_test.ok
Binary files differ
