diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h
index bdc8f87..bdc86fc 100644
--- a/include/osmocom/mgcp/mgcp.h
+++ b/include/osmocom/mgcp/mgcp.h
@@ -74,11 +74,13 @@
 typedef int (*mgcp_processing)(struct mgcp_endpoint *endp,
 			       struct mgcp_rtp_end *dst_end,
 			       char *data, int *len, int buf_size);
-typedef int (*mgcp_processing_setup)(struct mgcp_endpoint *endp,
-				     struct mgcp_rtp_end *dst_end,
-				     struct mgcp_rtp_end *src_end);
 
 struct mgcp_conn_rtp;
+
+typedef int (*mgcp_processing_setup)(struct mgcp_endpoint *endp,
+				     struct mgcp_conn_rtp *conn_dst,
+				     struct mgcp_conn_rtp *conn_src);
+
 typedef void (*mgcp_get_format)(struct mgcp_endpoint *endp,
 				int *payload_type,
 				const char**subtype_name,
diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h
index 38b687c..06883dd 100644
--- a/include/osmocom/mgcp/mgcp_internal.h
+++ b/include/osmocom/mgcp/mgcp_internal.h
@@ -290,8 +290,8 @@
 				char *data, int *len, int buf_size);
 
 int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp,
-				      struct mgcp_rtp_end *dst_end,
-				      struct mgcp_rtp_end *src_end);
+				      struct mgcp_conn_rtp *conn_dst,
+				      struct mgcp_conn_rtp *conn_src);
 
 void mgcp_get_net_downlink_format_default(struct mgcp_endpoint *endp,
 					  int *payload_type,
diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c
index 494156d..870a4de 100644
--- a/src/libosmo-mgcp/mgcp_network.c
+++ b/src/libosmo-mgcp/mgcp_network.c
@@ -399,12 +399,12 @@
 
 /*! dummy callback to disable transcoding (see also cfg->setup_rtp_processing_cb).
  *  \param[in] associated endpoint
- *  \param[in] destination RTP end
- *  \param[in] source RTP end
+ *  \param[in] destination RTP connnection
+ *  \param[in] source RTP connection
  *  \returns ignores input parameters, return always 0 */
 int mgcp_setup_rtp_processing_default(struct mgcp_endpoint *endp,
-				      struct mgcp_rtp_end *dst_end,
-				      struct mgcp_rtp_end *src_end)
+				      struct mgcp_conn_rtp *conn_dst,
+				      struct mgcp_conn_rtp *conn_src)
 {
 	LOGP(DRTP, LOGL_DEBUG, "endpoint:0x%x transcoding disabled\n",
 	     ENDPOINT_NUMBER(endp));
diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c
index eea67a6..ea80907 100644
--- a/src/libosmo-mgcp/mgcp_protocol.c
+++ b/src/libosmo-mgcp/mgcp_protocol.c
@@ -89,8 +89,7 @@
 		}
 	}
 
-	return cfg->setup_rtp_processing_cb(endp, &conn_dst->end,
-					    &conn_src->end);
+	return cfg->setup_rtp_processing_cb(endp, conn_dst, conn_src);
 }
 
 /* array of function pointers for handling various
