WebRTC browser discard all RTP packets

Hi guys,
I am trying implement WebRTC to SIP phone. I am hearing all from WebRTC client in SIP phone, but nothing in WebRTC client. One of my next tests was to establish communication between two WebRTC clients. In this case, the recording was successfully made again, but nothing could be heard on either device (Mac, iPhone).

I found chrome://webrtc-internals/ and there are in inbound-rtp section interestiting information.
packetsReceived 2083
packetsDiscarded 2000

but I don’t know why.

  • Asterisk PBX 22.1.1
  • Coturn 4.5.2 as TURN server
  • SIP.js 0.21.2 as WebRTC client
  • SIP phone Grandstream GRP2613
  • Chrome 132.0.6834.83

To header is not used, I route the call currently statically in one testing dialplan (see bellow). I have recording of the caller and callee and both sides are successfully recorded.

SDP from webrtcclient:

INVITE sip:102@159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS gn13ub01kjh7.invalid;branch=z9hG4bK2849242
To: <sip:102@159.89.2.9:8089>
From: <sip:100@159.89.2.9:8089>;tag=97j1o4l8aj
CSeq: 2 INVITE
Call-ID: dvqf2naqhjdbg3h7bdgf
Max-Forwards: 70
Authorization: Digest algorithm=MD5, username="100", realm="asterisk", nonce="1737556756/db6cd6defa302e382cedec0bab8333e4", uri="sip:102@159.89.2.9:8089", response="e173097b8be0db4c484fe7bef3fad1f0", opaque="78d8adf1597483cc", qop=auth, cnonce="kssrjicvfcd7", nc=00000001
Contact: <sip:3rqk4795@gn13ub01kjh7.invalid;transport=ws;ob>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Type: application/sdp
Content-Length: 1441

v=0
o=- 3751204357248296949 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS fc194aba-03ac-47af-b741-52bbe42d01c2
m=audio 35657 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
c=IN IP4 195.128.201.154
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:683908923 1 udp 41689087 195.128.201.154 35657 typ relay raddr 0.0.0.0 rport 0 generation 0 network-id 3 network-cost 10
a=ice-ufrag:nLz4
a=ice-pwd:q2pKofZSXKK9lx3+ALTfnGJM
a=ice-options:trickle
a=fingerprint:sha-256 34:DD:80:1F:4E:BB:8B:30:0E:D0:D3:CA:29:78:54:1D:6B:2A:92:A0:1A:17:7B:C0:29:F3:0C:30:CE:8D:7D:C9
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:fc194aba-03ac-47af-b741-52bbe42d01c2 6efedeb5-80bb-41e7-a23c-487a28fde48e
a=rtcp-mux
a=rtcp-rsize
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:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:126 telephone-event/8000
a=ssrc:1639600765 cname:pIU7gCI8dpqLDtGt
a=ssrc:1639600765 msid:fc194aba-03ac-47af-b741-52bbe42d01c2 6efedeb5-80bb-41e7-a23c-487a28fde48e

SDP from Asterisk

SIP/2.0 200 OK
Via: SIP/2.0/WSS gn13ub01kjh7.invalid;rport=59570;received=195.128.201.154;branch=z9hG4bK2849242
Call-ID: dvqf2naqhjdbg3h7bdgf
From: <sip:100@159.89.2.9>;tag=97j1o4l8aj
To: <sip:102@159.89.2.9>;tag=1f6da800-58ba-49d8-bbd9-740813bb7524
CSeq: 2 INVITE
Server: Asterisk PBX 22.1.1
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REFER, INFO, MESSAGE
Contact: <sip:159.89.2.9:8089;transport=ws>
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length:  1478

v=0
o=- 3751204357248296949 4 IN IP4 159.89.2.9
s=Asterisk
c=IN IP4 159.89.2.9
t=0 0
a=msid-semantic:WMS *
a=group:BUNDLE 0
m=audio 11800 UDP/TLS/RTP/SAVPF 111 110
a=connection:new
a=setup:active
a=fingerprint:SHA-256 68:30:7B:02:92:20:FA:2D:30:E9:04:BF:D2:2C:19:35:6D:76:07:7B:59:6D:97:DE:1F:EA:C9:CC:CE:A3:3C:B6
a=ice-ufrag:328108ff45b00b51048603e2671fa1f5
a=ice-pwd:7d4497793e1c7023443203252e85f26b
a=candidate:H9f590209 1 UDP 2130706431 159.89.2.9 11800 typ host
a=candidate:Ha130007 1 UDP 2130706431 10.19.0.7 11800 typ host
a=candidate:Ha720011 1 UDP 2130706431 10.114.0.17 11800 typ host
a=candidate:Hac110001 1 UDP 2130706431 172.17.0.1 11800 typ host
a=candidate:Hac120001 1 UDP 2130706431 172.18.0.1 11800 typ host
a=candidate:H891b46ff 1 UDP 2130706431 fe80::94cb:77ff:feee:4d33 11800 typ host
a=candidate:H4d53ef85 1 UDP 2130706431 fe80::849f:5dff:fe93:a275 11800 typ host
a=candidate:Hb9891cb3 1 UDP 2130706431 fe80::42:6ff:fe8d:61d 11800 typ host
a=candidate:H51c1076d 1 UDP 2130706431 fe80::42:b5ff:fecd:a42a 11800 typ host
a=candidate:H1c2d4bf6 1 UDP 2130706431 fe80::7044:a2ff:fe02:fea5 11800 typ host
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1
a=ptime:20
a=maxptime:20
a=sendrecv
a=rtcp-mux
a=ssrc:975529807 cname:e20443be-c972-42de-bbe4-3a2d87e95193
a=msid:407a892c-65f8-407c-a7d0-d84337eecb77 46209fa3-6064-471a-81df-e58cab0184a0
a=rtcp-fb:* transport-cc
a=mid:0
a=rtpmap:110 telephone-event/48000
a=fmtp:110 0-16

pjsip.conf

[global]
ipv6=no

[general]
rtpbindaddr=159.89.2.9
ice_support=yes  ; Aktivace ICE pro WebRTC komunikaci
media_use_received_transport=yes
force_rport=yes
direct_media=yes

[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0:5060
priv_key_file=/etc/asterisk/keys/acme-v02.api.letsencrypt.org-directory/asterisk.besir.cz/asterisk.besir.cz.key
externaddr=159.89.2.9  ; Upravte na veřejnou IP, pokud používáte mimo localhost
external_media_address=turn.besir.cz

[100] ; WebRTC client
type=endpoint
aors=100
auth=100
dtls_auto_generate_cert=yes
webrtc=yes
context=webrtc-auth-context
disallow=all
allow=opus

[102]
type=aor
max_contacts=10
remove_existing=yes

[102]
type=auth
auth_type=userpass
username=102
password=securepassword

[102] ; 2nd WebRTC client
type=endpoint
aors=102
auth=102
dtls_auto_generate_cert=yes
webrtc=yes
context=webrtc-auth-context
disallow=all
allow=opus

[100]
type=aor
max_contacts=10
remove_existing=yes

[100]
type=auth
auth_type=userpass
username=100
password=securepassword

;#####   siphone

[transport-udp]
type=transport
protocol=udp
bind=159.89.2.9:5060


[1234]
type=endpoint
transport=transport-udp
aors=1234
auth=1234
context=default
disallow=all
allow=opus

[1234]
type=aor
max_contacts=2
remove_existing=yes

[1234]
type=auth
auth_type=userpass
username=1234
password=1234

rtp.conf

[general]
rtpstart=10000
rtpend=20000
strictrtp=yes
icesupport=yes
stunaddr=stun.l.google.com:19302
turnaddr=asterisk.besir.cz:3478         ; TURN server adresa a port
turnusername=atolturn                 ; TURN uživatelské jméno
turnpassword=password

extensions.conf

[webrtc-auth-context]
exten => _X.,1,NoOp(Vytáčení hovoru přes GSM bránu a ukládání kanálů)
    same => n,Set(VOLUME(TX)=10)
    same => n,Set(VOLUME(RX)=10)
    same => n,Set(CALLERID(num)=${CALLERID})
    same => n,Set(TARGET_NUMBER=${EXTEN})
    same => n,Set(DATE_TIME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
    same => n,Set(RECORDING_DIR=/etc/asterisk/records)
    same => n,Set(INPUT_FILE=${RECORDING_DIR}/${DATE_TIME}-${CALLERID(num)}-${TARGET_NUMBER}-mix.wav)
    same => n,Set(CALLER_FILE=${RECORDING_DIR}/${DATE_TIME}-${CALLERID(num)}-caller.wav)
    same => n,Set(CALLEE_FILE=${RECORDING_DIR}/${DATE_TIME}-${TARGET_NUMBER}-callee.wav)
    same => n,MixMonitor(${INPUT_FILE},t("${CALLEE_FILE}")r("${CALLER_FILE}")b)
    same => n,Dial(PJSIP/1234,30)
    same => n,Hangup()

Complete pjsip log from test call

    -- Remote UNIX connection
  == WebSocket connection from '195.128.201.154:55138' for protocol 'sip' accepted using version '13'
<--- Received SIP request (461 bytes) from WSS:195.128.201.154:55138 --->
REGISTER sip:159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK3106544
To: <sip:100@159.89.2.9:8089>
From: <sip:100@159.89.2.9:8089>;tag=ou4v5q6vco
CSeq: 2 REGISTER
Call-ID: fp09ho63vgtq58rti8b4
Max-Forwards: 70
Contact: <sip:k0j0m74u@rjghuiiupou4.invalid;transport=ws>;expires=600
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound, path, gruu
User-Agent: SIP.js/0.21.2
Content-Length: 0


<--- Transmitting SIP response (458 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK3106544
Call-ID: fp09ho63vgtq58rti8b4
From: <sip:100@159.89.2.9>;tag=ou4v5q6vco
To: <sip:100@159.89.2.9>;tag=z9hG4bK3106544
CSeq: 2 REGISTER
WWW-Authenticate: Digest realm="asterisk",nonce="1737558184/716e0d3960f3d0555e8c2029cb7b3882",opaque="1cf311ed596b0bc7",algorithm=MD5,qop="auth"
Server: Asterisk PBX 22.1.1
Content-Length:  0


<--- Received SIP request (730 bytes) from WSS:195.128.201.154:55138 --->
REGISTER sip:159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK3906463
To: <sip:100@159.89.2.9:8089>
From: <sip:100@159.89.2.9:8089>;tag=ou4v5q6vco
CSeq: 3 REGISTER
Call-ID: fp09ho63vgtq58rti8b4
Max-Forwards: 70
Authorization: Digest algorithm=MD5, username="100", realm="asterisk", nonce="1737558184/716e0d3960f3d0555e8c2029cb7b3882", uri="sip:159.89.2.9:8089", response="49da8a06d85e2c755dec1ae53ae50322", opaque="1cf311ed596b0bc7", qop=auth, cnonce="lq67m5lt8asc", nc=00000001
Contact: <sip:k0j0m74u@rjghuiiupou4.invalid;transport=ws>;expires=600
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound, path, gruu
User-Agent: SIP.js/0.21.2
Content-Length: 0


    -- Added contact 'sip:k0j0m74u@195.128.201.154:55138;transport=ws;x-ast-orig-host=rjghuiiupou4.invalid:0' to AOR '100' with expiration of 600 seconds
<--- Transmitting SIP response (410 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 200 OK
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK3906463
Call-ID: fp09ho63vgtq58rti8b4
From: <sip:100@159.89.2.9>;tag=ou4v5q6vco
To: <sip:100@159.89.2.9>;tag=z9hG4bK3906463
CSeq: 3 REGISTER
Date: Wed, 22 Jan 2025 15:03:04 GMT
Contact: <sip:k0j0m74u@rjghuiiupou4.invalid;transport=ws>;expires=599
Server: Asterisk PBX 22.1.1
Content-Length:  0


  == Endpoint 100 is now Reachable
<--- Received SIP request (1915 bytes) from WSS:195.128.201.154:55138 --->
INVITE sip:102@159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK2649066
To: <sip:102@159.89.2.9:8089>
From: <sip:100@159.89.2.9:8089>;tag=6qgf6dlhvi
CSeq: 1 INVITE
Call-ID: fp09hn7m83h4nrf1fjp8
Max-Forwards: 70
Contact: <sip:k0j0m74u@rjghuiiupou4.invalid;transport=ws;ob>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Type: application/sdp
Content-Length: 1441

v=0
o=- 617323736066885003 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS 47bf6e18-2d1f-4f8b-a877-e93dfae5d57e
m=audio 35470 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
c=IN IP4 195.128.201.154
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:1771420962 1 udp 41689087 195.128.201.154 35470 typ relay raddr 0.0.0.0 rport 0 generation 0 network-id 3 network-cost 10
a=ice-ufrag:BRcW
a=ice-pwd:dRv0uLJ70tsSynUUeQg4p85n
a=ice-options:trickle
a=fingerprint:sha-256 83:83:74:F2:24:53:8E:65:17:29:3A:49:9F:7F:4E:6C:7C:66:63:D2:82:C4:F6:73:9D:EE:64:85:AF:3B:22:97
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:47bf6e18-2d1f-4f8b-a877-e93dfae5d57e ae26250b-3f49-4d53-8d9a-442ccbb27aaf
a=rtcp-mux
a=rtcp-rsize
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:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:126 telephone-event/8000
a=ssrc:3042694704 cname:+uyNXtpghI/hW8sp
a=ssrc:3042694704 msid:47bf6e18-2d1f-4f8b-a877-e93dfae5d57e ae26250b-3f49-4d53-8d9a-442ccbb27aaf

<--- Transmitting SIP response (456 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK2649066
Call-ID: fp09hn7m83h4nrf1fjp8
From: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
To: <sip:102@159.89.2.9>;tag=z9hG4bK2649066
CSeq: 1 INVITE
WWW-Authenticate: Digest realm="asterisk",nonce="1737558191/c9a41f23d654d8e6e409455f0e78af9e",opaque="0c73bb153b444b6d",algorithm=MD5,qop="auth"
Server: Asterisk PBX 22.1.1
Content-Length:  0


<--- Received SIP request (274 bytes) from WSS:195.128.201.154:55138 --->
ACK sip:102@159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK2649066
To: <sip:102@159.89.2.9>;tag=z9hG4bK2649066
From: <sip:100@159.89.2.9:8089>;tag=6qgf6dlhvi
Call-ID: fp09hn7m83h4nrf1fjp8
CSeq: 1 ACK
Max-Forwards: 70
Content-Length: 0


<--- Received SIP request (2188 bytes) from WSS:195.128.201.154:55138 --->
INVITE sip:102@159.89.2.9:8089 SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK9637963
To: <sip:102@159.89.2.9:8089>
From: <sip:100@159.89.2.9:8089>;tag=6qgf6dlhvi
CSeq: 2 INVITE
Call-ID: fp09hn7m83h4nrf1fjp8
Max-Forwards: 70
Authorization: Digest algorithm=MD5, username="100", realm="asterisk", nonce="1737558191/c9a41f23d654d8e6e409455f0e78af9e", uri="sip:102@159.89.2.9:8089", response="23451d5952825f8dcd2d3011a19cdf44", opaque="0c73bb153b444b6d", qop=auth, cnonce="kgoapks4m2go", nc=00000001
Contact: <sip:k0j0m74u@rjghuiiupou4.invalid;transport=ws;ob>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Type: application/sdp
Content-Length: 1441

v=0
o=- 617323736066885003 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS 47bf6e18-2d1f-4f8b-a877-e93dfae5d57e
m=audio 35470 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
c=IN IP4 195.128.201.154
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:1771420962 1 udp 41689087 195.128.201.154 35470 typ relay raddr 0.0.0.0 rport 0 generation 0 network-id 3 network-cost 10
a=ice-ufrag:BRcW
a=ice-pwd:dRv0uLJ70tsSynUUeQg4p85n
a=ice-options:trickle
a=fingerprint:sha-256 83:83:74:F2:24:53:8E:65:17:29:3A:49:9F:7F:4E:6C:7C:66:63:D2:82:C4:F6:73:9D:EE:64:85:AF:3B:22:97
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:47bf6e18-2d1f-4f8b-a877-e93dfae5d57e ae26250b-3f49-4d53-8d9a-442ccbb27aaf
a=rtcp-mux
a=rtcp-rsize
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:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:126 telephone-event/8000
a=ssrc:3042694704 cname:+uyNXtpghI/hW8sp
a=ssrc:3042694704 msid:47bf6e18-2d1f-4f8b-a877-e93dfae5d57e ae26250b-3f49-4d53-8d9a-442ccbb27aaf

<--- Transmitting SIP response (285 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 100 Trying
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK9637963
Call-ID: fp09hn7m83h4nrf1fjp8
From: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
To: <sip:102@159.89.2.9>
CSeq: 2 INVITE
Server: Asterisk PBX 22.1.1
Content-Length:  0


    -- Executing [102@webrtc-auth-context:1] NoOp("PJSIP/100-00000000", "Vytáčení hovoru přes GSM bránu a ukládání kanálů") in new stack
    -- Executing [102@webrtc-auth-context:2] Set("PJSIP/100-00000000", "VOLUME(TX)=10") in new stack
    -- Executing [102@webrtc-auth-context:3] Set("PJSIP/100-00000000", "VOLUME(RX)=10") in new stack
    -- Executing [102@webrtc-auth-context:4] Set("PJSIP/100-00000000", "CALLERID(num)=") in new stack
    -- Executing [102@webrtc-auth-context:5] Set("PJSIP/100-00000000", "TARGET_NUMBER=102") in new stack
    -- Executing [102@webrtc-auth-context:6] Set("PJSIP/100-00000000", "DATE_TIME=20250122-150311") in new stack
    -- Executing [102@webrtc-auth-context:7] Set("PJSIP/100-00000000", "RECORDING_DIR=/etc/asterisk/records") in new stack
    -- Executing [102@webrtc-auth-context:8] Set("PJSIP/100-00000000", "INPUT_FILE=/etc/asterisk/records/20250122-150311--102-mix.wav") in new stack
    -- Executing [102@webrtc-auth-context:9] Set("PJSIP/100-00000000", "CALLER_FILE=/etc/asterisk/records/20250122-150311--caller.wav") in new stack
    -- Executing [102@webrtc-auth-context:10] Set("PJSIP/100-00000000", "CALLEE_FILE=/etc/asterisk/records/20250122-150311-102-callee.wav") in new stack
    -- Executing [102@webrtc-auth-context:11] MixMonitor("PJSIP/100-00000000", "/etc/asterisk/records/20250122-150311--102-mix.wav,t("/etc/asterisk/records/20250122-150311-102-callee.wav")r("/etc/asterisk/records/20250122-150311--caller.wav")b") in new stack
    -- Executing [102@webrtc-auth-context:12] Dial("PJSIP/100-00000000", "PJSIP/1234,30") in new stack
  == Begin MixMonitor Recording PJSIP/100-00000000
    -- Called PJSIP/1234
<--- Transmitting SIP request (985 bytes) to UDP:195.128.201.154:57208 --->
INVITE sip:1234@195.128.201.154:57208 SIP/2.0
Via: SIP/2.0/UDP 159.89.2.9:5060;rport;branch=z9hG4bKPje984aeb3-815b-41b6-99de-00d9f1ca3ada
From: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
To: <sip:1234@195.128.201.154>
Contact: <sip:asterisk@159.89.2.9:5060>
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20563 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REFER, INFO, MESSAGE
Supported: 100rel, timer, replaces, norefersub, histinfo
Session-Expires: 1800
Min-SE: 90
Max-Forwards: 70
User-Agent: Asterisk PBX 22.1.1
Content-Type: application/sdp
Content-Length:   323

v=0
o=- 1653010863 1653010863 IN IP4 159.89.2.9
s=Asterisk
c=IN IP4 159.89.2.9
t=0 0
m=audio 16222 RTP/AVP 107 101 102
a=rtpmap:107 opus/48000/2
a=fmtp:107 useinbandfec=1
a=rtpmap:101 telephone-event/48000
a=fmtp:101 0-16
a=rtpmap:102 telephone-event/8000
a=fmtp:102 0-16
a=ptime:20
a=maxptime:20
a=sendrecv

<--- Received SIP response (530 bytes) from UDP:195.128.201.154:57208 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 159.89.2.9:5060;rport=5060;branch=z9hG4bKPje984aeb3-815b-41b6-99de-00d9f1ca3ada
From: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
To: <sip:1234@195.128.201.154>
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20563 INVITE
Supported: replaces, path
User-Agent: Grandstream GRP2613 1.0.5.44
Warning: 399 195.128.201.154 "Detected NAT type is Full Cone NAT"
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<--- Received SIP response (615 bytes) from UDP:195.128.201.154:57208 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 159.89.2.9:5060;rport=5060;branch=z9hG4bKPje984aeb3-815b-41b6-99de-00d9f1ca3ada
From: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
To: <sip:1234@195.128.201.154>;tag=1460996082
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20563 INVITE
Contact: <sip:1234@195.128.201.154:57208>
Supported: replaces, path
User-Agent: Grandstream GRP2613 1.0.5.44
Allow-Events: talk, hold
Warning: 399 195.128.201.154 "Detected NAT type is Full Cone NAT"
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


    -- PJSIP/1234-00000001 is ringing
<--- Transmitting SIP response (489 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK9637963
Call-ID: fp09hn7m83h4nrf1fjp8
From: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
To: <sip:102@159.89.2.9>;tag=1eea031a-7989-4aca-b551-085bf1de084d
CSeq: 2 INVITE
Server: Asterisk PBX 22.1.1
Contact: <sip:159.89.2.9:8089;transport=ws>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REFER, INFO, MESSAGE
Content-Length:  0


<--- Received SIP response (844 bytes) from UDP:195.128.201.154:57208 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 159.89.2.9:5060;rport=5060;branch=z9hG4bKPje984aeb3-815b-41b6-99de-00d9f1ca3ada
From: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
To: <sip:1234@195.128.201.154>;tag=1460996082
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20563 INVITE
Contact: <sip:1234@195.128.201.154:57208>
Supported: replaces, path
User-Agent: Grandstream GRP2613 1.0.5.44
Warning: 399 195.128.201.154 "Detected NAT type is Full Cone NAT"
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length:   225

v=0
o=1234 8000 8000 IN IP4 195.128.201.154
s=SIP Call
c=IN IP4 195.128.201.154
t=0 0
m=audio 20330 RTP/AVP 107 101
a=sendrecv
a=rtpmap:107 opus/48000/2
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15

       > 0x77ba48023fd0 -- Strict RTP learning after remote address set to: 195.128.201.154:20330
<--- Transmitting SIP request (386 bytes) to UDP:195.128.201.154:57208 --->
ACK sip:1234@195.128.201.154:57208 SIP/2.0
Via: SIP/2.0/UDP 159.89.2.9:5060;rport;branch=z9hG4bKPj7a3002b7-4d81-484d-a0e1-67d76f4f054c
From: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
To: <sip:1234@195.128.201.154>;tag=1460996082
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20563 ACK
Max-Forwards: 70
User-Agent: Asterisk PBX 22.1.1
Content-Length:  0


    -- PJSIP/1234-00000001 answered PJSIP/100-00000000
       > 0x77ba4803ca70 -- Strict RTP learning after remote address set to: 195.128.201.154:35470
<--- Transmitting SIP response (2044 bytes) to WSS:195.128.201.154:55138 --->
SIP/2.0 200 OK
Via: SIP/2.0/WSS rjghuiiupou4.invalid;rport=55138;received=195.128.201.154;branch=z9hG4bK9637963
Call-ID: fp09hn7m83h4nrf1fjp8
From: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
To: <sip:102@159.89.2.9>;tag=1eea031a-7989-4aca-b551-085bf1de084d
CSeq: 2 INVITE
Server: Asterisk PBX 22.1.1
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REFER, INFO, MESSAGE
Contact: <sip:159.89.2.9:8089;transport=ws>
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length:  1478

v=0
o=- 617323736066885003 4 IN IP4 159.89.2.9
s=Asterisk
c=IN IP4 159.89.2.9
t=0 0
a=msid-semantic:WMS *
a=group:BUNDLE 0
m=audio 14890 UDP/TLS/RTP/SAVPF 111 110
a=connection:new
a=setup:active
a=fingerprint:SHA-256 21:12:2D:F6:EA:8D:9E:42:AF:CD:43:0A:E5:71:65:6D:E3:7C:BB:57:E8:E9:40:FE:FB:FE:77:9C:7A:73:61:FA
a=ice-ufrag:1b62fc070701b9fb33bf537e418ac198
a=ice-pwd:212cc8fd6957c0091bc064e66bed9527
a=candidate:H9f590209 1 UDP 2130706431 159.89.2.9 14890 typ host
a=candidate:Ha130007 1 UDP 2130706431 10.19.0.7 14890 typ host
a=candidate:Ha720011 1 UDP 2130706431 10.114.0.17 14890 typ host
a=candidate:Hac110001 1 UDP 2130706431 172.17.0.1 14890 typ host
a=candidate:Hac120001 1 UDP 2130706431 172.18.0.1 14890 typ host
a=candidate:H891b46ff 1 UDP 2130706431 fe80::94cb:77ff:feee:4d33 14890 typ host
a=candidate:H4d53ef85 1 UDP 2130706431 fe80::849f:5dff:fe93:a275 14890 typ host
a=candidate:Hb9891cb3 1 UDP 2130706431 fe80::42:6ff:fe8d:61d 14890 typ host
a=candidate:H51c1076d 1 UDP 2130706431 fe80::42:b5ff:fecd:a42a 14890 typ host
a=candidate:H1c2d4bf6 1 UDP 2130706431 fe80::7044:a2ff:fe02:fea5 14890 typ host
a=rtpmap:111 opus/48000/2
a=fmtp:111 useinbandfec=1
a=ptime:20
a=maxptime:20
a=sendrecv
a=rtcp-mux
a=ssrc:2139885586 cname:1f7dcc81-466f-41ca-bb05-8dd656466376
a=msid:36a65fa0-f1ab-4360-9e8d-eff8f37aa935 3f610671-77e5-43ed-8b18-2abbf0863dfa
a=rtcp-fb:* transport-cc
a=mid:0
a=rtpmap:110 telephone-event/48000
a=fmtp:110 0-16

    -- Channel PJSIP/1234-00000001 joined 'simple_bridge' basic-bridge <65e34184-6915-4a82-a067-967aee60cbf9>
    -- Channel PJSIP/100-00000000 joined 'simple_bridge' basic-bridge <65e34184-6915-4a82-a067-967aee60cbf9>
<--- Received SIP request (358 bytes) from WSS:195.128.201.154:55138 --->
ACK sip:159.89.2.9:8089;transport=ws SIP/2.0
Via: SIP/2.0/WSS rjghuiiupou4.invalid;branch=z9hG4bK7042493
To: <sip:102@159.89.2.9:8089>;tag=1eea031a-7989-4aca-b551-085bf1de084d
From: <sip:100@159.89.2.9:8089>;tag=6qgf6dlhvi
CSeq: 2 ACK
Call-ID: fp09hn7m83h4nrf1fjp8
Max-Forwards: 70
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Length: 0


       > 0x77ba4803ca70 -- Strict RTP learning after ICE completion
       > 0x77ba4803ca70 -- Strict RTP learning after remote address set to: 195.128.201.154:35470
       > 0x77ba4803ca70 -- Strict RTP switching to RTP target address 195.128.201.154:35470 as source
       > 0x77ba48023fd0 -- Strict RTP switching to RTP target address 195.128.201.154:20330 as source
<--- Received SIP request (556 bytes) from UDP:195.128.201.154:57208 --->
BYE sip:asterisk@159.89.2.9:5060 SIP/2.0
Via: SIP/2.0/UDP 195.128.201.154:57208;branch=z9hG4bK1709550219;rport
From: <sip:1234@195.128.201.154>;tag=1460996082
To: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
CSeq: 20564 BYE
Contact: <sip:1234@195.128.201.154:57208>
X-Grandstream-PBX: true
Max-Forwards: 70
Supported: replaces, path
User-Agent: Grandstream GRP2613 1.0.5.44
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<--- Transmitting SIP response (345 bytes) to UDP:195.128.201.154:57208 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 195.128.201.154:57208;rport=57208;received=195.128.201.154;branch=z9hG4bK1709550219
Call-ID: cb55d665-d855-4a9d-8735-caf328741f75
From: <sip:1234@195.128.201.154>;tag=1460996082
To: <sip:159.89.2.9>;tag=83c93b23-2e88-4131-9eb5-20779820851f
CSeq: 20564 BYE
Server: Asterisk PBX 22.1.1
Content-Length:  0


    -- Channel PJSIP/1234-00000001 left 'simple_bridge' basic-bridge <65e34184-6915-4a82-a067-967aee60cbf9>
    -- Channel PJSIP/100-00000000 left 'simple_bridge' basic-bridge <65e34184-6915-4a82-a067-967aee60cbf9>
  == Spawn extension (webrtc-auth-context, 102, 12) exited non-zero on 'PJSIP/100-00000000'
  == MixMonitor close filestream (mixed)
  == MixMonitor close filestream (read)
  == MixMonitor close filestream (write)
<--- Transmitting SIP request (416 bytes) to WSS:195.128.201.154:55138 --->
BYE sip:k0j0m74u@195.128.201.154:55138;transport=ws;ob SIP/2.0
Via: SIP/2.0/WSS 159.89.2.9:8089;rport;branch=z9hG4bKPj35ee2085-4738-48cf-8d23-0cb955efe155;alias
From: <sip:102@159.89.2.9>;tag=1eea031a-7989-4aca-b551-085bf1de084d
To: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
Call-ID: fp09hn7m83h4nrf1fjp8
CSeq: 322 BYE
Reason: Q.850;cause=16
Max-Forwards: 70
User-Agent: Asterisk PBX 22.1.1
Content-Length:  0


  == End MixMonitor Recording PJSIP/100-00000000
<--- Received SIP response (340 bytes) from WSS:195.128.201.154:55138 --->
SIP/2.0 200 OK
Via: SIP/2.0/WSS 159.89.2.9:8089;rport;branch=z9hG4bKPj35ee2085-4738-48cf-8d23-0cb955efe155;alias
From: <sip:102@159.89.2.9>;tag=1eea031a-7989-4aca-b551-085bf1de084d
To: <sip:100@159.89.2.9>;tag=6qgf6dlhvi
CSeq: 322 BYE
Call-ID: fp09hn7m83h4nrf1fjp8
Supported: outbound
User-Agent: SIP.js/0.21.2
Content-Length: 0

coturn session log

10: : session 008000000000000001: realm <turn.besir.cz> user <>: incoming packet BINDING processed, success
11: : session 008000000000000001: realm <turn.besir.cz> user <>: incoming packet message processed, error 401: Unauthorized
11: : session 008000000000000001: realm <turn.besir.cz> user <>: incoming packet BINDING processed, success
11: : session 008000000000000001: realm <turn.besir.cz> user <>: incoming packet message processed, error 401: Unauthorized
11: : IPv4. Local relay addr: 192.168.0.165:35348
11: : session 008000000000000001: new, realm=<turn.besir.cz>, username=<atolturn>, lifetime=600
11: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet ALLOCATE processed, success
21: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet BINDING processed, success
30: : session 008000000000000001: peer 159.89.2.9 lifetime updated: 300
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CREATE_PERMISSION processed, success
30: : session 008000000000000001: peer 10.19.0.7 lifetime updated: 300
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CREATE_PERMISSION processed, success
30: : session 008000000000000001: peer 10.114.0.17 lifetime updated: 300
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CREATE_PERMISSION processed, success
30: : session 008000000000000001: peer 172.17.0.1 lifetime updated: 300
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CREATE_PERMISSION processed, success
30: : session 008000000000000001: peer 172.18.0.1 lifetime updated: 300
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CREATE_PERMISSION processed, success
30: : session 008000000000000001: peer 159.89.2.9 lifetime updated: 600
30: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet CHANNEL_BIND processed, success
31: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet BINDING processed, success
41: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet BINDING processed, success
49: : session 008000000000000001: refreshed, realm=<turn.besir.cz>, username=<atolturn>, lifetime=0
49: : session 008000000000000001: realm <turn.besir.cz> user <atolturn>: incoming packet REFRESH processed, success
50: : session 008000000000000001: usage: realm=<turn.besir.cz>, username=<atolturn>, rp=979, rb=103784, sp=977, sb=146207
50: : session 008000000000000001: peer usage: realm=<turn.besir.cz>, username=<atolturn>, rp=967, rb=141422, sp=964, sb=98779
50: : session 008000000000000001: closed (2nd stage), user <atolturn> realm <turn.besir.cz> origin <>, local 192.168.0.165:3478, remote 192.168.0.1:55934, reason: allocation timeout
50: : session 008000000000000001: delete: realm=<turn.besir.cz>, username=<atolturn>
50: : session 008000000000000001: peer 159.89.2.9 deleted
50: : session 008000000000000001: peer 172.17.0.1 deleted
50: : session 008000000000000001: peer 172.18.0.1 deleted
50: : session 008000000000000001: peer 10.19.0.7 deleted
50: : session 008000000000000001: peer 10.114.0.17 deleted

What does the browser say for the ICE negotiation?

Generally when things happen browser side, you inevitably have to start digging into the browser. Outside of it there is minimal which can tell you what is going on.

I hope you mean this…

https://asterisk.besir.cz/, { iceServers: [turn:turn.besir.cz:3478], iceTransportPolicy: relay, bundlePolicy: balanced, rtcpMuxPolicy: require, iceCandidatePoolSize: 0 },

ICE connection state: new => checking => connected => completed => completed => completed => completed
Connection state: new => connecting => connected => connected => connected => connected => connected
Signaling state: new => have-local-offer => stable => stable => stable => stable => stable
ICE Candidate pair: 195.128.201.154:55547 <=>159.89.2.9:13658

I think you’ll need to go digging on the browser side then, I can’t provide any help there as it’s been quite awhile since I’ve been on that side.

This is from the chrome://webrtc-internals/, Complete webrtc-internal dump
webrtc_internals_dump (1).txt (1.3 MB)

I dont know how debug it more :frowning:

If you are directly sending SIP messages to the asterisk box: 159.89.2.9, why are you sending media via a TRUN server (195.128.201.154)?

Generally when Asterisk is involved in WebRTC it performs the role of a TURN server, as its is a B2BUA, and media HAS to flow through it - there is no proxy function for Asterisk… it IS the endpoint for WebRTC calls.

Because I previously get Error sending STUN request: Network is unreachable without turn server in pjsip log. See bellow.

rtp.conf

[general]
rtpstart=10000
rtpend=20000
strictrtp=yes
icesupport=yes
stunaddr=stun.l.google.com:19302

pjsip.conf

[global]
ipv6=no

[general]
rtpbindaddr=159.89.2.9
ice_support=yes  ; Aktivace ICE pro WebRTC komunikaci
media_use_received_transport=yes
force_rport=yes
direct_media=yes

[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0:5060
priv_key_file=/etc/asterisk/keys/acme-v02.api.letsencrypt.org-directory/asterisk.besir.cz/asterisk.besir.cz.key
cert_file=/etc/asterisk/keys/acme-v02.api.letsencrypt.org-directory/asterisk.besir.cz/asterisk.besir.cz.crt

;; ... same as in post above 

pjsip log

  == WebSocket connection from '78.156.38.66:49496' for protocol 'sip' accepted using version '13'
    -- Added contact 'sip:pet1oott@78.156.38.66:49496;transport=ws;x-ast-orig-host=re2tt59uh2pv.invalid:0' to AOR '100' with expiration of 600 seconds
  == Endpoint 100 is now Reachable
  == WebSocket connection from '78.156.38.66:49522' for protocol 'sip' accepted using version '13'
    -- Added contact 'sip:oevmqqrv@78.156.38.66:49522;transport=ws;x-ast-orig-host=l5b97ot443eo.invalid:0' to AOR '102' with expiration of 600 seconds
  == Endpoint 102 is now Reachable
    -- Executing [102@webrtc-auth-context:1] NoOp("PJSIP/100-00000000", "Vytáčení hovoru přes GSM bránu a ukládání kanálů") in new stack
    -- Executing [102@webrtc-auth-context:2] Set("PJSIP/100-00000000", "VOLUME(TX)=10") in new stack
    -- Executing [102@webrtc-auth-context:3] Set("PJSIP/100-00000000", "VOLUME(RX)=10") in new stack
    -- Executing [102@webrtc-auth-context:4] Set("PJSIP/100-00000000", "CALLERID(num)=") in new stack
    -- Executing [102@webrtc-auth-context:5] Set("PJSIP/100-00000000", "TARGET_NUMBER=102") in new stack
    -- Executing [102@webrtc-auth-context:6] Set("PJSIP/100-00000000", "DATE_TIME=20250123-101627") in new stack
    -- Executing [102@webrtc-auth-context:7] Set("PJSIP/100-00000000", "RECORDING_DIR=/etc/asterisk/records") in new stack
    -- Executing [102@webrtc-auth-context:8] Set("PJSIP/100-00000000", "INPUT_FILE=/etc/asterisk/records/20250123-101627--102-mix.wav") in new stack
    -- Executing [102@webrtc-auth-context:9] Set("PJSIP/100-00000000", "CALLER_FILE=/etc/asterisk/records/20250123-101627--caller.wav") in new stack
    -- Executing [102@webrtc-auth-context:10] Set("PJSIP/100-00000000", "CALLEE_FILE=/etc/asterisk/records/20250123-101627-102-callee.wav") in new stack
    -- Executing [102@webrtc-auth-context:11] MixMonitor("PJSIP/100-00000000", "/etc/asterisk/records/20250123-101627--102-mix.wav,t("/etc/asterisk/records/20250123-101627-102-callee.wav")r("/etc/asterisk/records/20250123-101627--caller.wav")b") in new stack
    -- Executing [102@webrtc-auth-context:12] Dial("PJSIP/100-00000000", "PJSIP/102,30") in new stack
  == Begin MixMonitor Recording PJSIP/100-00000000
    -- Called PJSIP/102
    -- PJSIP/102-00000001 is ringing
       > 0x7932600397c0 -- Strict RTP learning after remote address set to: 10.0.0.10:62208
[Jan 23 10:16:33] ERROR[226613]: pjproject: <?>: 	   icess0x79326659c038 ......Error sending STUN request: Network is unreachable
    -- PJSIP/102-00000001 answered PJSIP/100-00000000
       > 0x793260063bb0 -- Strict RTP learning after remote address set to: 78.156.38.66:64336
[Jan 23 10:16:33] ERROR[226613]: pjproject: <?>: 	   icess0x79326674b038 ...Error sending STUN request: Network is unreachable
    -- Channel PJSIP/102-00000001 joined 'simple_bridge' basic-bridge <7159ebaa-1620-427f-bbd5-514dc55ceca6>
    -- Channel PJSIP/100-00000000 joined 'simple_bridge' basic-bridge <7159ebaa-1620-427f-bbd5-514dc55ceca6>
       > 0x7932600397c0 -- Strict RTP learning after ICE completion
       > 0x7932600397c0 -- Strict RTP learning after remote address set to: 78.156.38.66:62208
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
       > 0x7932600397c0 -- Strict RTP switching to RTP target address 78.156.38.66:62208 as source
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:33] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:34] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:34] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
[Jan 23 10:16:34] ERROR[226629]: pjproject: <?>: 	   icess0x79326674b038 ..Error sending STUN request: Network is unreachable
       > 0x793260063bb0 -- Strict RTP learning after ICE completion
       > 0x793260063bb0 -- Strict RTP learning after remote address set to: 78.156.38.66:64336
       > 0x793260063bb0 -- Strict RTP switching to RTP target address 78.156.38.66:64336 as source
       > 0x7932600397c0 -- Strict RTP learning complete - Locking on source address 78.156.38.66:62208
       > 0x793260063bb0 -- Strict RTP learning complete - Locking on source address 78.156.38.66:64336

Then that is the error to fix - why can’t you asterisk box reach stun.l.google.com:19302 are you bocking somehow?

Also please describe the server network. Is this Asterisk box actually bound to the IP 159.89.2.9, or is your box behind a NAT/Firewall?

Asterisk is running on DigitalOcean droplet. So I dont know coplete network, but ping to the stun server from the droplet is working. FW is complete off.

ping stun.l.google.com
PING stun.l.google.com (74.125.250.129) 56(84) bytes of data.
64 bytes from 74.125.250.129: icmp_seq=1 ttl=116 time=1.26 ms
64 bytes from 74.125.250.129: icmp_seq=2 ttl=116 time=0.672 ms
64 bytes from 74.125.250.129: icmp_seq=3 ttl=116 time=0.964 ms
64 bytes from 74.125.250.129: icmp_seq=4 ttl=116 time=0.691 ms

This can also occur if there are ICE IPv6 candidates with link local addresses. The message itself is generally harmless, and it looks like ICE actually did complete.

None of these options exist here or work, and the “ipv6” option doesn’t even exist.

Yes, connection between browser is stable, packet received too, but discarted. I am using certificates from LetsEncrypt on the Asterisk. Can be this problem?

I have public demo there:

-censored- - caller
-censored- - callee

WebRTC uses TLS connection to the HTTP server built into Asterisk. But media flows via UDP, as a DTLS-SRTP stream, normally directly from the browser to the Asterisk Box (unless otherwise instructed).

So even if message sending is stable and possible - the media stream is another level completely. You need to prepare the server to accept UDP media (may as well open all UDP ports), and you will need to forward the UDP ports from the firewall to the actual Asterisk Server.

This is as I expect. All UDP ports on asterisk server are open. Both sides are successfuly recorded by MixMonitor.

If mix monitor is receiving the packets off the web client, and is able to record them, then its sending them to the wrong B-Side IP.

Use RTP debug so see the B-Side sending destination.

I tried to direct port forward the UDP ports to computer with opened client, but this is still same.

All received packets is discarded. I. try open it on iPhone via GSM data, result is same. MixMonitor record the call, but I dont here it on any side.

RTP debug example

Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029641, ts 3585771801, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015922, ts 4860624, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010963, ts 817636115, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048351, ts 4845936, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029642, ts 3585772761, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015923, ts 4861584, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010964, ts 817637075, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048352, ts 4846896, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029643, ts 3585773721, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015924, ts 4862544, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010965, ts 817638035, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048353, ts 4847856, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029644, ts 3585774681, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015925, ts 4863504, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010966, ts 817638995, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048354, ts 4848816, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029645, ts 3585775641, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015926, ts 4864464, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010967, ts 817639955, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048355, ts 4849776, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029646, ts 3585776601, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015927, ts 4865424, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010968, ts 817640915, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048356, ts 4850736, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029647, ts 3585777561, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015928, ts 4866384, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010969, ts 817641875, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048357, ts 4851696, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029648, ts 3585778521, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015929, ts 4867344, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010970, ts 817642835, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048358, ts 4852656, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029649, ts 3585779481, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015930, ts 4868304, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010971, ts 817643795, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048359, ts 4853616, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029650, ts 3585780441, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015931, ts 4869264, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010972, ts 817644755, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048360, ts 4854576, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029651, ts 3585781401, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015932, ts 4870224, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010973, ts 817645715, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048361, ts 4855536, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029652, ts 3585782361, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015933, ts 4871184, len 000138)
Got  RTP packet from    78.156.38.66:63120 (type 111, seq 010974, ts 817646675, len 000045)
Sent RTP packet to      78.156.38.66:49528 (via ICE) (type 107, seq 048362, ts 4856496, len 000138)
Got  RTP packet from    78.156.38.66:49528 (type 107, seq 029653, ts 3585783321, len 000045)
Sent RTP packet to      78.156.38.66:63120 (via ICE) (type 111, seq 015934, ts 4872144, len 000138)

Ok, so let’s say the packets are arriving on your browser, something that the graph appears to confirm… what’s playing the stream out? Have you attached the inbound stream to the audio object in the page?

That was a question worth all the money. Thank you!

The answer was nothing; I didn’t have an audio object mapped in the browser. I thought SIP.js would do it automatically.

Do you have a “Buy me a coffee” button?

1 Like

Glad you found the solution!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.