[asterisk-bugs] [JIRA] (ASTERISK-26879) PJSIP external_media_address ignored if no local_net options are provided
Bud (JIRA)
noreply at issues.asterisk.org
Wed May 17 13:41:58 CDT 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-26879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237020#comment-237020 ]
Bud commented on ASTERISK-26879:
--------------------------------
Since 14.4.0 it looks like this change has broken the use of an Asterisk server inside a NAT environment with port-forwarding correctly set (similar to the Docker environment concept above) while having the [transport-udp] set similar to above. Instead of giving the x.x.x.x external_media_address / external_signaling_address to the client to connect to RTP streams, the LAN IP-address of the Asterisk server are given (to which the remote client is unable to connect). This did work in 14.3.0 however.
> PJSIP external_media_address ignored if no local_net options are provided
> -------------------------------------------------------------------------
>
> Key: ASTERISK-26879
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-26879
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_pjsip
> Reporter: Matt Jordan
> Assignee: Matt Jordan
> Target Release: 13.15.0, 14.4.0
>
>
> Let's say you have the following transport definition:
> ```
> [transport-udp]
> type=transport
> protocol=udp
> bind=0.0.0.0
> external_media_address=x.x.x.x
> ```
> We're saying that regardless of who I'm sending a packet to, advertise as {{x.x.x.x}} in the SDP. This may be a bit odd, as it means we want to advertise as that IP address regardless of the network we send on - but in some odd situations (like where you're running Asterisk in a Docker container with `network=host` and you're communicating with stuff inside the Docker container which may also be punching holes through its NAT'd network back to the outside world) you may want to do that.
> (The above is purely hypothetical).
> Unfortunately, in today's implementation, we will ignore the `external_media_address`, as checking a `localnet` that is NULL (because it wasn't set) against the address we're sending to will always return 'true' - so Asterisk will always think we're sending a SIP message to a network within our localnet. Even though we didn't define one.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list