[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