diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index c74069dc8..b97c161e5 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -366,14 +366,38 @@ char *mgcp_conn_dump(struct mgcp_conn *conn) switch (conn->type) { case MGCP_CONN_TYPE_RTP: - /* Dump RTP connection */ - snprintf(str, sizeof(str), "(%s/rtp, id:0x%s, ip:%s, " - "rtp:%u rtcp:%u)", - conn->name, - conn->id, - osmo_sockaddr_ntop(&conn->u.rtp.end.addr.u.sa, ipbuf), - osmo_sockaddr_port(&conn->u.rtp.end.addr.u.sa), - ntohs(conn->u.rtp.end.rtcp_port)); + switch (conn->u.rtp.type) { + case MGCP_RTP_DEFAULT: + /* Dump RTP connection */ + snprintf(str, sizeof(str), "(%s/rtp, id:0x%s, ip:%s, " + "rtp:%u rtcp:%u)", + conn->name, conn->id, + osmo_sockaddr_ntop(&conn->u.rtp.end.addr.u.sa, ipbuf), + osmo_sockaddr_port(&conn->u.rtp.end.addr.u.sa), + ntohs(conn->u.rtp.end.rtcp_port)); + break; + case MGCP_RTP_OSMUX: + snprintf(str, sizeof(str), "(%s/osmux, id:0x%s, ip:%s, " + "port:%u CID:%u)", + conn->name, conn->id, + osmo_sockaddr_ntop(&conn->u.rtp.end.addr.u.sa, ipbuf), + osmo_sockaddr_port(&conn->u.rtp.end.addr.u.sa), + conn->u.rtp.osmux.local_cid); + break; + case MGCP_RTP_IUUP: + snprintf(str, sizeof(str), "(%s/iuup, id:0x%s, ip:%s, " + "port:%u)", + conn->name, conn->id, + osmo_sockaddr_ntop(&conn->u.rtp.end.addr.u.sa, ipbuf), + osmo_sockaddr_port(&conn->u.rtp.end.addr.u.sa)); + break; + default: + /* Should not happen, we should be able to dump + * every possible connection type. */ + snprintf(str, sizeof(str), "(unknown conn_rtp connection type %u)", + conn->u.rtp.type); + break; + } break; default: