Balraj Singh
2018-10-08 20:11:11 UTC
Hi,
We have Asterisk Installed on AWS with following configs:
Asterisk Version: 15.4.0 with NAT and Gateway.
OS: CentOS.
The problem we are facing is that we are getting Audio while calling using
a SIP Phone connected to our Asterisk using our Local IP. But, we are
facing no Audio issue on both sides when calling from an External IP. By
External IP I mean, calling from a connection outside of our Infrastructure.
So for that, we have configured NAT settings and stun server in pjsip.conf
and rtp.conf respectively. But even then we are facing the same problem, NO
AUDIO!.
By turning on rtp debug on we can see the following logs:
Logs while calling from External IP:
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654> (type 00, seq 000569, ts 000160, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000570, ts 000320, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000571, ts 000480, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000572, ts 000640, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000573, ts 000800, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000574, ts 000960, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000575, ts 001120, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000576, ts 001280, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000577, ts 001440, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000578, ts 001600, len
000160)
Logs while calling from Local / Internal IP:
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006608, ts
3065984412, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006609, ts
3065984572, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006610, ts
3065984732, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006611, ts
3065984892, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006612, ts
3065985052, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006613, ts
3065985212, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006614, ts
3065985372, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006615, ts
3065985532, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006616, ts
3065985692, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006617, ts
3065985852, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027738, ts 000160, len 000170)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027739, ts 000320, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006618, ts
3065986012, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027740, ts 000480, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006619, ts
3065986172, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027741, ts 000640, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006620, ts
3065986332, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027742, ts 000800, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006621, ts
3065986492, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027743, ts 000960, len 000170)
What could go wrong for the difference in log? We are getting audio
where we are getting *VIA ICE.*
Following is our rtp.conf and pjsip.conf respectively:
*rtp.conf*
[general]rtpstart=10002rtpend=20000rtcpinterval=9998rtpchecksums=nostrictrtp=noicesupport=yesstunaddr=stun.l.google.com:19302;stunaddr=xx.xx.xx.xx:3478
;
*pjsip.conf*
[global]
type = global
debug = no
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
local_net=xxx.xxx.xxx.xxx/255.255.255.240
external_media_address=xxx.xxx.xxx.xxx ;public IP of gateway / tried
with AWS public IP too
external_signaling_address=xxx.xxx.xxx.xxx ; same as external_media_address
cert_file=some_pem_file
ca_list_file=some_crt_file
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5060 ;tried with 0.0.0.0 too
[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:8089 ;tried with 0.0.0.0 too
cert_file=some_pem_file
cipher=ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
priv_key_file=some_priv_key
ca_list_file=some_crt_file
method=tlsv1
[some_context]
type = aor
max_contacts = 1
[some_context]
type = auth
username = user_name
password = password
[some_context]
type=endpoint
context=outgoing
dtmf_mode=rfc4733
transport=transport-tls
transport=transport-udp-nat
rtp_symmetric=yes
disallow=all
allow=ulaw
allow=opus
ice_support = yes
direct_media = no
use_avpf = yes
auth = some_context
outbound_auth=some_context
media_encryption=dtls
media_use_received_transport=yes
dtls_verify = fingerprint
dtls_cert_file=some_pem_file
dtls_ca_file=some_crt_file
dtls_private_key=some_priv_key
dtls_cipher=ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dtls_setup=actpass
rtcp_mux=yes
aors = some_context
Please help us out. What could go wrong?. Also if some configuration
is missing / needs to be changed or need more logs for debugging,
please let us know.
We have Asterisk Installed on AWS with following configs:
Asterisk Version: 15.4.0 with NAT and Gateway.
OS: CentOS.
The problem we are facing is that we are getting Audio while calling using
a SIP Phone connected to our Asterisk using our Local IP. But, we are
facing no Audio issue on both sides when calling from an External IP. By
External IP I mean, calling from a connection outside of our Infrastructure.
So for that, we have configured NAT settings and stun server in pjsip.conf
and rtp.conf respectively. But even then we are facing the same problem, NO
AUDIO!.
By turning on rtp debug on we can see the following logs:
Logs while calling from External IP:
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654> (type 00, seq 000569, ts 000160, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000570, ts 000320, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000571, ts 000480, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000572, ts 000640, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000573, ts 000800, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000574, ts 000960, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000575, ts 001120, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000576, ts 001280, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/>(type 00, seq 000577, ts 001440, len
000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50654
<http://157.48.188.116:50654/> (type 00, seq 000578, ts 001600, len
000160)
Logs while calling from Local / Internal IP:
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006608, ts
3065984412, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006609, ts
3065984572, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006610, ts
3065984732, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006611, ts
3065984892, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006612, ts
3065985052, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006613, ts
3065985212, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006614, ts
3065985372, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006615, ts
3065985532, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006616, ts
3065985692, len 000160)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006617, ts
3065985852, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027738, ts 000160, len 000170)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027739, ts 000320, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006618, ts
3065986012, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027740, ts 000480, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006619, ts
3065986172, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027741, ts 000640, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006620, ts
3065986332, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027742, ts 000800, len 000170)
Got RTP packet from xxx:xxx:xxx:xxx:50433 (type 00, seq 006621, ts
3065986492, len 000160)
Sent RTP packet to xxx:xxx:xxx:xxx:50433 *(via ICE)* (type 00,
seq 027743, ts 000960, len 000170)
What could go wrong for the difference in log? We are getting audio
where we are getting *VIA ICE.*
Following is our rtp.conf and pjsip.conf respectively:
*rtp.conf*
[general]rtpstart=10002rtpend=20000rtcpinterval=9998rtpchecksums=nostrictrtp=noicesupport=yesstunaddr=stun.l.google.com:19302;stunaddr=xx.xx.xx.xx:3478
;
*pjsip.conf*
[global]
type = global
debug = no
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
local_net=xxx.xxx.xxx.xxx/255.255.255.240
external_media_address=xxx.xxx.xxx.xxx ;public IP of gateway / tried
with AWS public IP too
external_signaling_address=xxx.xxx.xxx.xxx ; same as external_media_address
cert_file=some_pem_file
ca_list_file=some_crt_file
[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5060 ;tried with 0.0.0.0 too
[transport-wss]
type=transport
protocol=wss
bind=0.0.0.0
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:8089 ;tried with 0.0.0.0 too
cert_file=some_pem_file
cipher=ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
priv_key_file=some_priv_key
ca_list_file=some_crt_file
method=tlsv1
[some_context]
type = aor
max_contacts = 1
[some_context]
type = auth
username = user_name
password = password
[some_context]
type=endpoint
context=outgoing
dtmf_mode=rfc4733
transport=transport-tls
transport=transport-udp-nat
rtp_symmetric=yes
disallow=all
allow=ulaw
allow=opus
ice_support = yes
direct_media = no
use_avpf = yes
auth = some_context
outbound_auth=some_context
media_encryption=dtls
media_use_received_transport=yes
dtls_verify = fingerprint
dtls_cert_file=some_pem_file
dtls_ca_file=some_crt_file
dtls_private_key=some_priv_key
dtls_cipher=ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dtls_setup=actpass
rtcp_mux=yes
aors = some_context
Please help us out. What could go wrong?. Also if some configuration
is missing / needs to be changed or need more logs for debugging,
please let us know.
--
*Thanks, *
*Balraj Singh Saini,*
*ZeMoSo Technologies.*
*Thanks, *
*Balraj Singh Saini,*
*ZeMoSo Technologies.*