]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_rtp: Make usage of ast_rtp_instance_get_local_address clearer
authorGeorge Joseph <gjoseph@digium.com>
Wed, 2 Nov 2022 12:41:29 +0000 (06:41 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Wed, 2 Nov 2022 13:55:51 +0000 (08:55 -0500)
unicast_rtp_request() was setting the channel variables like this:

pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_ADDRESS",
    ast_sockaddr_stringify_addr(&local_address));
ast_rtp_instance_get_local_address(instance, &local_address);
pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_PORT",
    ast_sockaddr_stringify_port(&local_address));

...which made it appear that UNICASTRTP_LOCAL_ADDRESS was being
set before local_address was set.  In fact, the address part of
local_address was set earlier in the function, just not the port.
This was confusing however so ast_rtp_instance_get_local_address()
is now being called before setting UNICASTRTP_LOCAL_ADDRESS.

ASTERISK-30281

Change-Id: I872ac49477100f4eb33891d46efc6ca21ec81aa4

channels/chan_rtp.c

index 087ddaed3270697e28ff0fee76f63fb8de2ca123..0740c2c6a16d12df327fee655c436f88ae7f1621 100644 (file)
@@ -381,9 +381,9 @@ static struct ast_channel *unicast_rtp_request(const char *type, struct ast_form
 
        ast_channel_tech_pvt_set(chan, instance);
 
+       ast_rtp_instance_get_local_address(instance, &local_address);
        pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_ADDRESS",
                ast_sockaddr_stringify_addr(&local_address));
-       ast_rtp_instance_get_local_address(instance, &local_address);
        pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_PORT",
                ast_sockaddr_stringify_port(&local_address));