silent_call: Use the gsm_subscriber_connection instead of lchan->conn
diff --git a/openbsc/src/gsm_04_08.c b/openbsc/src/gsm_04_08.c
index e76a63a..520eed0 100644
--- a/openbsc/src/gsm_04_08.c
+++ b/openbsc/src/gsm_04_08.c
@@ -3090,8 +3090,8 @@
 	u_int8_t pdisc = gh->proto_discr & 0x0f;
 	int rc = 0;
 
-	if (silent_call_reroute(msg))
-		return silent_call_rx(msg);
+	if (silent_call_reroute(conn, msg))
+		return silent_call_rx(conn, msg);
 	
 	switch (pdisc) {
 	case GSM48_PDISC_CC:
diff --git a/openbsc/src/silent_call.c b/openbsc/src/silent_call.c
index 0471bff..397a3e4 100644
--- a/openbsc/src/silent_call.c
+++ b/openbsc/src/silent_call.c
@@ -72,7 +72,7 @@
 }
 
 /* receive a layer 3 message from a silent call */
-int silent_call_rx(struct msgb *msg)
+int silent_call_rx(struct gsm_subscriber_connection *conn, struct msgb *msg)
 {
 	/* FIXME: do something like sending it through a UDP port */
 	return 0;
@@ -90,14 +90,14 @@
 };
 
 /* decide if we need to reroute a message as part of a silent call */
-int silent_call_reroute(struct msgb *msg)
+int silent_call_reroute(struct gsm_subscriber_connection *conn, struct msgb *msg)
 {
 	struct gsm48_hdr *gh = msgb_l3(msg);
 	u_int8_t pdisc = gh->proto_discr & 0x0f;
 	int i;
 
 	/* if we're not part of a silent call, never reroute */
-	if (!msg->lchan->conn.silent_call)
+	if (!conn->silent_call)
 		return 0;
 
 	/* check if we are a special message that is handled in openbsc */