diff --git a/channels/chan_multicast_rtp.c b/channels/chan_multicast_rtp.c index e3414d2f3..93f46473f 100644 --- a/channels/chan_multicast_rtp.c +++ b/channels/chan_multicast_rtp.c @@ -126,11 +126,6 @@ static struct ast_channel *multicast_rtp_request(const char *type, format_t form } *destination++ = '\0'; - if (!ast_sockaddr_parse(&destination_address, destination, - PARSE_PORT_REQUIRE)) { - goto failure; - } - if ((control = strchr(destination, '/'))) { *control++ = '\0'; if (!ast_sockaddr_parse(&control_address, control, @@ -139,6 +134,11 @@ static struct ast_channel *multicast_rtp_request(const char *type, format_t form } } + if (!ast_sockaddr_parse(&destination_address, destination, + PARSE_PORT_REQUIRE)) { + goto failure; + } + if (!(instance = ast_rtp_instance_new("multicast", NULL, &control_address, multicast_type))) { goto failure; }