Okay, so I set up some things to “force” Asterisk to work with NAT.
My new 1067/1092.conf :
[1092]
type=auth
auth_type=userpass
password=XXXXXX
username=1092
[1092]
type=endpoint
transport=transport-udp
auth=1092
aors=1092
context=Tout
disallow=all
allow=opus
allow=ulaw
allow=alaw
call_group=1
pickup_group=1
rewrite_contact = yes
direct_media = no
force_rport = yes
rtp_symmetric = yes
callerid=0033695614177
[1092]
type=aor
max_contacts=10
My new pjsip.conf :
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0
local_net = 192.168.1.0/24
external_media_address = my_external_ip
external_signaling_address = my_external_ip
#include users/1067.conf
#include users/1092.conf
Now I don’t have audio on both ways.
I made a call from 1067 to 1092, and there are the logs (i just replaced my external ip with MY_EXTERNAL_IP :
PJSIP Logging enabled
<--- Received SIP request (1170 bytes) from UDP:192.168.1.254:59617 --->
INVITE sip:1092@192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPjf275fa1de39d4a0085b5684a1e57b0fb
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>
Contact: <sip:1067@192.168.1.254:59617;ob>
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11679 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: MicroSIP/3.20.5
Content-Type: application/sdp
Content-Length: 536
v=0
o=- 3837352437 3837352437 IN IP4 192.168.1.254
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4004 RTP/AVP 8 0 96 101 102
c=IN IP4 192.168.1.254
b=TIAS:64000
a=rtcp:4005 IN IP4 192.168.1.50
a=sendrecv
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1;stereo=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=rtpmap:102 telephone-event/48000
a=fmtp:102 0-16
a=ssrc:1991718844 cname:158843e20b87506a
<--- Transmitting SIP response (552 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPjf275fa1de39d4a0085b5684a1e57b0fb
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>;tag=z9hG4bKPjf275fa1de39d4a0085b5684a1e57b0fb
CSeq: 11679 INVITE
WWW-Authenticate: Digest realm="asterisk",nonce="1628356437/5af2a600ff2f4e402bb1a271385e71d7",opaque="0f769a32699af15d",algorithm=md5,qop="auth"
Server: Asterisk PBX 16.19.1
Content-Length: 0
<--- Received SIP request (386 bytes) from UDP:192.168.1.254:59617 --->
ACK sip:1092@192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPjf275fa1de39d4a0085b5684a1e57b0fb
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>;tag=z9hG4bKPjf275fa1de39d4a0085b5684a1e57b0fb
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11679 ACK
Content-Length: 0
<--- Received SIP request (1463 bytes) from UDP:192.168.1.254:59617 --->
INVITE sip:1092@192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPj9bf4b92096a2413d8c056be5872b6ee4
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>
Contact: <sip:1067@192.168.1.254:59617;ob>
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11680 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: MicroSIP/3.20.5
Authorization: Digest username="1067", realm="asterisk", nonce="1628356437/5af2a600ff2f4e402bb1a271385e71d7", uri="sip:1092@MY_EXTERNAL_IP", response="cd32d89a219a2a53c85cd5ab011a2ec8", algorithm=md5, cnonce="fce690cc903a47e1a47c3662d328941e", opaque="0f769a32699af15d", qop=auth, nc=00000001
Content-Type: application/sdp
Content-Length: 536
v=0
o=- 3837352437 3837352437 IN IP4 192.168.1.254
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4004 RTP/AVP 8 0 96 101 102
c=IN IP4 192.168.1.254
b=TIAS:64000
a=rtcp:4005 IN IP4 192.168.1.50
a=sendrecv
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1;stereo=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=rtpmap:102 telephone-event/48000
a=fmtp:102 0-16
a=ssrc:1991718844 cname:158843e20b87506a
<--- Transmitting SIP response (354 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPj9bf4b92096a2413d8c056be5872b6ee4
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>
CSeq: 11680 INVITE
Server: Asterisk PBX 16.19.1
Content-Length: 0
-- Executing [1092@Tout:1] Dial("PJSIP/1067-00000002", "PJSIP/1092,20") in new stack
-- Called PJSIP/1092
<--- Transmitting SIP request (1117 bytes) to UDP:37.165.21.89:46620 --->
INVITE sip:1092@37.165.21.89:46620;rinstance=7ec5b67d640140bd SIP/2.0
Via: SIP/2.0/UDP MY_EXTERNAL_IP:5060;rport;branch=z9hG4bKPjec4fab85-8255-41e2-a2f2-ca0462625f51
From: <sip:0033695614152@192.168.1.80>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>
Contact: <sip:asterisk@MY_EXTERNAL_IP:5060>
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1050 INVITE
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub, histinfo
Session-Expires: 1800
Min-SE: 90
Max-Forwards: 70
User-Agent: Asterisk PBX 16.19.1
Content-Type: application/sdp
Content-Length: 391
v=0
o=- 725471504 725471504 IN IP4 MY_EXTERNAL_IP
s=Asterisk
c=IN IP4 MY_EXTERNAL_IP
t=0 0
m=audio 16314 RTP/AVP 107 0 8 101
a=rtpmap:107 opus/48000/2
a=fmtp:107 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:20
a=sendrecv
<--- Received SIP response (432 bytes) from UDP:37.165.21.89:46620 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.80:5060;rport=5060;branch=z9hG4bKPjec4fab85-8255-41e2-a2f2-ca0462625f51
Contact: <sip:1092@10.45.220.57:44658>
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
From: <sip:0033695614152@192.168.1.80:5060>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1050 INVITE
User-Agent: SessionTalk 6.0
Content-Length: 0
-- PJSIP/1092-00000003 is ringing
<--- Transmitting SIP response (541 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPj9bf4b92096a2413d8c056be5872b6ee4
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>;tag=a9380a24-8b30-454e-a658-1039137f3b22
CSeq: 11680 INVITE
Server: Asterisk PBX 16.19.1
Contact: <sip:192.168.1.80:5060>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Content-Length: 0
<--- Received SIP response (432 bytes) from UDP:37.165.21.89:46620 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.1.80:5060;rport=5060;branch=z9hG4bKPjec4fab85-8255-41e2-a2f2-ca0462625f51
Contact: <sip:1092@10.45.220.57:44658>
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
From: <sip:0033695614152@192.168.1.80:5060>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1050 INVITE
User-Agent: SessionTalk 6.0
Content-Length: 0
-- PJSIP/1092-00000003 is ringing
<--- Received SIP response (914 bytes) from UDP:37.165.21.89:46620 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.80:5060;rport=5060;branch=z9hG4bKPjec4fab85-8255-41e2-a2f2-ca0462625f51
Require: timer
Contact: <sip:1092@10.45.220.57:44658>
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
From: <sip:0033695614152@192.168.1.80:5060>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1050 INVITE
Session-Expires: 1800;refresher=uac
Min-SE: 90
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, SUBSCRIBE, UPDATE, INFO, MESSAGE
Content-Type: application/sdp
Supported: path, replaces, timer, norefersub
User-Agent: SessionTalk 6.0
Content-Length: 252
v=0
o=- 0 1 IN IP4 10.45.220.57
s=-
c=IN IP4 10.45.220.57
t=0 0
m=audio 4002 RTP/AVP 107 101
a=rtpmap:107 opus/48000/2
a=fmtp:107 useinbandfec=1; usedtx=1; maxaveragebitrate=64000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
> 0x7fce44004f10 -- Strict RTP learning after remote address set to: 10.45.220.57:4002
<--- Transmitting SIP request (424 bytes) to UDP:37.165.21.89:46620 --->
ACK sip:1092@37.165.21.89:46620 SIP/2.0
Via: SIP/2.0/UDP MY_EXTERNAL_IP:5060;rport;branch=z9hG4bKPj4778b7a8-e9e4-4bf0-aca6-e9c7f4c81de4
From: <sip:0033695614152@192.168.1.80>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1050 ACK
Max-Forwards: 70
User-Agent: Asterisk PBX 16.19.1
Content-Length: 0
-- PJSIP/1092-00000003 answered PJSIP/1067-00000002
> 0x7fce60012400 -- Strict RTP learning after remote address set to: 192.168.1.254:4004
<--- Transmitting SIP response (1059 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPj9bf4b92096a2413d8c056be5872b6ee4
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>;tag=a9380a24-8b30-454e-a658-1039137f3b22
CSeq: 11680 INVITE
Server: Asterisk PBX 16.19.1
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Contact: <sip:192.168.1.80:5060>
Supported: 100rel, timer, replaces, norefersub
Session-Expires: 1800;refresher=uac
Require: timer
Content-Type: application/sdp
Content-Length: 388
v=0
o=- 3837352437 3837352439 IN IP4 192.168.1.80
s=Asterisk
c=IN IP4 192.168.1.80
t=0 0
m=audio 17532 RTP/AVP 96 0 8 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:20
a=sendrecv
-- Channel PJSIP/1092-00000003 joined 'simple_bridge' basic-bridge <e2df4bb7-2f24-4993-8fae-e80f75f6d580>
-- Channel PJSIP/1067-00000002 joined 'simple_bridge' basic-bridge <e2df4bb7-2f24-4993-8fae-e80f75f6d580>
> Bridge e2df4bb7-2f24-4993-8fae-e80f75f6d580: switching from simple_bridge technology to native_rtp
> Locally RTP bridged 'PJSIP/1067-00000002' and 'PJSIP/1092-00000003' in stack
<--- Received SIP request (376 bytes) from UDP:192.168.1.254:59617 --->
ACK sip:192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPj3bb93443b31d448ca88645cd1753fc0c
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>;tag=a9380a24-8b30-454e-a658-1039137f3b22
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11680 ACK
Content-Length: 0
<--- Received SIP request (988 bytes) from UDP:192.168.1.254:59617 --->
UPDATE sip:192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPjecbfd1ab80fd43c0a13082ab88ff3b5f
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>;tag=a9380a24-8b30-454e-a658-1039137f3b22
Contact: <sip:1067@192.168.1.254:59617;ob>
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11681 UPDATE
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800;refresher=uac
Min-SE: 90
Content-Type: application/sdp
Content-Length: 431
v=0
o=- 3837352437 3837352438 IN IP4 192.168.1.254
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4004 RTP/AVP 96 101
c=IN IP4 192.168.1.254
b=TIAS:64000
a=rtcp:4005 IN IP4 192.168.1.50
a=ssrc:1991718844 cname:158843e20b87506a
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1;stereo=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=sendrecv
> 0x7fce60012400 -- Strict RTP learning after remote address set to: 192.168.1.254:4004
<--- Transmitting SIP response (1011 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPjecbfd1ab80fd43c0a13082ab88ff3b5f
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>;tag=a9380a24-8b30-454e-a658-1039137f3b22
CSeq: 11681 UPDATE
Session-Expires: 1800;refresher=uac
Require: timer
Contact: <sip:192.168.1.80:5060>
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub
Server: Asterisk PBX 16.19.1
Content-Type: application/sdp
Content-Length: 340
v=0
o=- 3837352437 3837352440 IN IP4 192.168.1.80
s=Asterisk
c=IN IP4 192.168.1.80
t=0 0
m=audio 17532 RTP/AVP 96 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 maxplaybackrate=24000;sprop-maxcapturerate=24000;maxaveragebitrate=64000;useinbandfec=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:20
a=sendrecv
> Locally RTP bridged 'PJSIP/1067-00000002' and 'PJSIP/1092-00000003' in stack
> 0x7fce60012400 -- Strict RTP switching to RTP target address 192.168.1.254:4004 as source
> 0x7fce60012400 -- Strict RTP learning complete - Locking on source address 192.168.1.254:4004
<--- Received SIP request (405 bytes) from UDP:192.168.1.254:59617 --->
BYE sip:192.168.1.80:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.254:59617;rport;branch=z9hG4bKPj5d05b0cc49484433bfc9a69768265e8f
Max-Forwards: 70
From: <sip:1067@192.168.1.80:5060>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80:5060>;tag=a9380a24-8b30-454e-a658-1039137f3b22
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
CSeq: 11682 BYE
User-Agent: MicroSIP/3.20.5
Content-Length: 0
<--- Transmitting SIP response (388 bytes) to UDP:192.168.1.254:59617 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.254:59617;rport=59617;received=192.168.1.254;branch=z9hG4bKPj5d05b0cc49484433bfc9a69768265e8f
Call-ID: 4094f09e0cfc4f56a80cf0f26f25a2d4
From: <sip:1067@192.168.1.80>;tag=7148a006d7344a8c867f7a9f336afb9c
To: <sip:1092@192.168.1.80>;tag=a9380a24-8b30-454e-a658-1039137f3b22
CSeq: 11682 BYE
Server: Asterisk PBX 16.19.1
Content-Length: 0
-- Channel PJSIP/1067-00000002 left 'native_rtp' basic-bridge <e2df4bb7-2f24-4993-8fae-e80f75f6d580>
-- Channel PJSIP/1092-00000003 left 'native_rtp' basic-bridge <e2df4bb7-2f24-4993-8fae-e80f75f6d580>
== Spawn extension (Tout, 1092, 1) exited non-zero on 'PJSIP/1067-00000002'
<--- Transmitting SIP request (448 bytes) to UDP:37.165.21.89:46620 --->
BYE sip:1092@37.165.21.89:46620 SIP/2.0
Via: SIP/2.0/UDP MY_EXTERNAL_IP:5060;rport;branch=z9hG4bKPj266e06c4-f8c1-407e-b496-5b72fca001e1
From: <sip:0033695614152@192.168.1.80>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1051 BYE
Reason: Q.850;cause=16
Max-Forwards: 70
User-Agent: Asterisk PBX 16.19.1
Content-Length: 0
<--- Received SIP response (424 bytes) from UDP:37.165.21.89:46620 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.80:5060;rport=5060;branch=z9hG4bKPj266e06c4-f8c1-407e-b496-5b72fca001e1
Contact: <sip:1092@10.45.220.57:44658>
To: <sip:1092@37.165.21.89;rinstance=7ec5b67d640140bd>;tag=9340ca5c
From: <sip:0033695614152@192.168.1.80:5060>;tag=f9576058-a13a-42ba-b153-28daab4bc16a
Call-ID: d4666d29-f377-4930-9b21-4cd96dce8994
CSeq: 1051 BYE
User-Agent: SessionTalk 6.0
Content-Length: 0