Hi Joshua,
We are currently running Asterisk 18.8 in a Debian Stretch Docker container. The container is running in host network mode meaning it has access to the underlying network interfaces of the host.
Thanks for your quick reply! I have included as many details as I thought might be helpful for this please let me know if there is anything else that might be useful.
Kind Regards,
Josh
Here is the output of ip addr
from inside the container (external IPv6 has some xxx’s). ens4 also has a public IPv4 address of 35.197.xx.xx that is not shown:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
link/ether 42:01:0a:98:00:03 brd ff:ff:ff:ff:ff:ff
inet 10.152.0.3/32 scope global dynamic ens4
valid_lft 3593sec preferred_lft 3593sec
inet6 2600:1900:40b0:1xxx::/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::4001:aff:fe98:3/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:3e:93:c6:b2 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:3eff:fe93:c6b2/64 scope link
valid_lft forever preferred_lft forever
4: br-e62f4842f2e4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:67:18:32:a9 brd ff:ff:ff:ff:ff:ff
inet 172.21.0.1/16 brd 172.21.255.255 scope global br-e62f4842f2e4
valid_lft forever preferred_lft forever
inet6 fe80::42:67ff:fe18:32a9/64 scope link
valid_lft forever preferred_lft forever
Here is the transport/endpoint that we use in pjsip.conf
[transport]
type=transport
protocol=tcp
bind=0.0.0.0:6001
[webrtc_client]
type=endpoint
allow=!all,opus,ulaw,alaw,h264
aors=webrtc_client
context=webrtc-client
dtls_auto_generate_cert=yes
identify_by=header
max_audio_streams=16
max_video_streams=16
rtp_symmetric=yes
rtp_timeout=30
rtp_timeout_hold=30
transport=transport
webrtc=yes
Here is our rtp.conf
[general]
rtpstart=10000
rtpend=20000
rtpchecksums=yes
strictrtp=yes
icesupport=yes
[ice_host_candidates]
10.152.0.3 => 35.197.xx.xx
I have included an example call below which is an Invite to Asterisk.
You can see IPv6 candidates in the Invite (from client) but not the OK reponse (from Asterisk).
INVITE sip:+64XXXXXXXXXX@XXXXXX.XXXXX.vxt.co.nz SIP/2.0
Via: SIP/2.0/WSS qpk3qf7fgtvb.invalid;branch=z9hG4bK1345334
To: <sip:+64XXXXXXXX@XXXXXXX.vxt.co.nz>
From: <sip:webrtc_client@XXXXXXXX.vxt.co.nz>;tag=fasn1q6jp2
CSeq: 1 INVITE
Call-ID: 6483bsvdoii982q10oh4
Max-Forwards: 70
X-Vxt-User-Id: xxx
X-Vxt-User-Token: xxx
X-Vxt-Inbox-Id: +64xxx
X-Vxt-Call-Id: xxx
X-Vxt-Platform: web/0.0.0-latest
Contact: <sip:lglv9epn@qpk3qf7fgtvb.invalid;transport=ws;ob>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: SIP.js/0.20.0
Content-Type: application/sdp
Content-Length: 7006
v=0
o=- 2173660861984975638 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=extmap-allow-mixed
a=msid-semantic: WMS 6174daa8-ca6f-4071-9c32-a797732d9a6b
m=audio 39447 UDP/TLS/RTP/SAVPF 111 63 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 10.129.0.2
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:3655964491 1 udp 2122262783 2600:1900:40b0:fxxx:: 53169 typ host generation 0 network-id 2
a=candidate:3757563338 1 udp 2122194687 10.129.0.2 39447 typ host generation 0 network-id 1
a=candidate:2540334011 1 tcp 1518283007 2600:1900:40b0:fxxx:: 9 typ host tcptype active generation 0 network-id 2
a=candidate:2440307002 1 tcp 1518214911 10.129.0.2 9 typ host tcptype active generation 0 network-id 1
a=ice-ufrag:piH3
a=ice-pwd:tTFroFGwYSnu3NLBLjjC0rl1
a=ice-options:trickle
a=fingerprint:sha-256 0E:AB:D1:34:1D:1B:97:15:AF:4C:D4:97:DC:EA:57:11:6D:45:7F:8F:49:CA:AF:40:7D:C8:09:75:8C:52:94:20
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:6174daa8-ca6f-4071-9c32-a797732d9a6b 33042607-a62d-4c05-b56f-7397145fbb30
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
<< trimed rest >>
SIP/2.0 200 OK
Via: SIP/2.0/WSS qpk3qf7fgtvb.invalid;branch=z9hG4bK1345334
Call-ID: 6483bsvdoii982q10oh4
From: <sip:webrtc_client@XXXXXXX.vxt.co.nz>;tag=fasn1q6jp2
To: <sip:+64xxxxxxxxx@XXXXXXX.vxt.co.nz>;tag=0eac8795-f5fd-430e-b792-2cef5ead56cf
CSeq: 1 INVITE
Server: Asterisk PBX 18.8.0
Contact: <sip:XXXXXXX.vxt.co.nz:443;transport=ws;thinfo=xxx-->
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length: 1710
v=0
o=- 2496178966 4 IN IP4 10.152.0.3
s=Asterisk
c=IN IP4 10.152.0.3
t=0 0
a=msid-semantic:WMS *
a=group:BUNDLE 0 1
m=audio 19792 UDP/TLS/RTP/SAVPF 111 0 8 126
a=connection:new
a=setup:active
a=fingerprint:SHA-256 82:41:A2:55:6F:73:14:3F:B2:51:FA:AD:5E:D4:E6:07:19:3D:FD:F8:B5:47:C5:E4:50:41:10:E4:2E:50:1A:B7
a=ice-ufrag:262eab166296234810dcd82a7a5cfb44
a=ice-pwd:10b4d94f640ff90942cbcd31268048cc
a=candidate:H23c5be0e 1 UDP 2130706431 35.197.xx.xx 19792 typ host
a=candidate:Hac110001 1 UDP 2130706431 172.17.0.1 19792 typ host
a=candidate:Hac150001 1 UDP 2130706431 172.21.0.1 19792 typ host
a=candidate:Hac140001 1 UDP 2130706431 172.20.0.1 19792 typ host
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:126 telephone-event/8000
a=fmtp:126 0-16
a=ptime:20
a=maxptime:20
a=sendrecv
a=rtcp-mux
a=ssrc:772228098 cname:d197734f-8f4f-49d6-a1f8-23720ecfda2a
a=msid:79a2696a-f418-4ea1-b5ec-2974435feb8d 4b230a75-c3fc-4013-ace5-bbb8251a0812
a=rtcp-fb:* transport-cc
a=mid:0
m=video 19792 UDP/TLS/RTP/SAVPF 102as access to the underlying network interfaces of the host.
a=connection:new
a=setup:active
a=fingerprint:SHA-256 82:41:A2:55:6F:73:14:3F:B2:51:FA:AD:5E:D4:E6:07:19:3D:FD:F8:B5:47:C5:E4:50:41:10:E4:2E:50:1A:B7
a=ice-ufrag:262eab166296234810dcd82a7a5cfb44
a=ice-pwd:10b4d94f640ff90942cbcd31268048cc
a=rtpmap:102 H264/90000
a=fmtp:102 packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=42001F
a=sendonly
a=rtcp-mux
a=ssrc:966354175 cname:117942ca-b8eb-4eeb-ab95-d543805c0ba4
a=msid:53f60876-fe3e-43c3-9acc-be6b0cf620e6 d2e6cc76-894e-44fa-9e71-191b279bb7b8
a=rtcp-fb:* transport-cc
a=rtcp-fb:* ccm fir
a=rtcp-fb:* goog-remb
a=rtcp-fb:* nack
a=mid:1