[asterisk-bugs] [JIRA] (ASTERISK-27989) Asterisk sources RTP from wrong IPv6 address

Joshua Colp (JIRA) noreply at issues.asterisk.org
Tue Aug 14 10:09:54 CDT 2018


     [ https://issues.asterisk.org/jira/browse/ASTERISK-27989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp updated ASTERISK-27989:
-----------------------------------

    Component/s:     (was: Channels/chan_pjsip)
                 Resources/res_rtp_asterisk
                 Resources/res_pjsip_sdp_rtp

> Asterisk sources RTP from wrong IPv6 address
> --------------------------------------------
>
>                 Key: ASTERISK-27989
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27989
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip_sdp_rtp, Resources/res_rtp_asterisk
>    Affects Versions: 13.22.0
>         Environment: CentOS 7 64bit
>            Reporter: Isaac McDonald
>              Labels: pjsip
>
> Asterisk sources RTP traffic from the most recently assigned IPv6 address rather than the address configured in the transport.
> Steps to reproduce:
> 1. Configure a server with an IPv6 address. The following example config will provide a single global IPv6 address on CentOS 7:
> Config snippet from /etc/sysconfig/network-scripts/ifcfg-eth0
> IPV6INIT="yes"
> IPV6_AUTOCONF="no"
> IPV6_DEFROUTE="yes"
> IPV6_FAILURE_FATAL="no"
> IPV6_PEERROUTES="yes"
> IPV6_PRIVACY="no"
> IPV6ADDR=2001:DB8::55/64
> IPV6_PEERDNS=no  
> IPV6_DEFAULTGW=2001:DB8::1/64
> 2. Configure a pjsip transport for the statically assigned IPv6 address
> [IPv6-udp]
> type=transport
> protocol=udp
> bind=[2001:DB8::55]:5060
> allow_reload=yes
> tos=cs3
> cos=3
> 3. Add a pjsip endpoint. Make sure you don't specify a transport with the "transport=" option.
> 4. Register a SIP client via IPv6 to the endpoint configured in step 3.
> 5. Place a test call from the IPv6 endpoint and note how everything works as expected.
> 6. Add an additional IPv6 address to eth0:
> ip -6 address add 2001:DB8::75/64 dev eth0
> 7. Start a tcpdump: tcpdump -i eth1  port not 22 -nn
> 8. Place a test call from the IPv6 endpoint and note how the SOURCE address of RTP packets, as seen in the tcpdump, is set to the IPv6 address you assigned in step 6 and NOT the IPv6 address assigned to the transport you created in step 2.
> If you specify the IPv6 transport configured in step 2 as the transport for the endpoint, the source address of RTP packets is the configured transport address. This isn't a viable option though considering that it would break the dual-stack nature of having a endpoint with no specific transport set.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list