Disconnect inbound 30s outbound 30m mea culpa

I’ve been experiencing consistent disconnects at approximately 30 seconds on inbound calls and 30 minutes on outbound calls.

I’ve been troubleshooting this for some time. There is excellent information to be found searching Google.

After having researched and checked everything including those esoteric NAT UDP firewall timeouts I collected a log to post here.

In cleaning the log (removing identifying information), being very thorough, I came across an incorrect local IP address.

I found a type-o in pjsip.conf
external_signaling_address

Setting an incorrect external_signaling_address apparently is one way to automatically disconnect your inbound calls at ~30s and outbound calls at ~30m.

This did not come up in any of my searches so I am posting, here, in hopes it pops-up and helps someone in the future!

Of course, it would be exposed in a log. In my defense, I would point out if it is a one-digit type-o from a 9 to a 3 even an eagle-eye like me might miss it until I started using vi tools to clean and review personal data in a log to post. o.0

I love Asterisk!

32 seconds is because the ACK will be lost and the 200 OK will reach its maximum retries. ACK is sent to the Contact address.

30 minutes sounds like you have session timers enabled, with the server refreshing. The refresh attempt goes to the wrong place.

I haven’t had a call last long enough to confirm the ~30m dc resolved.

During my substantial research I did investigate session timers. In pjsip they are configured with the endpoint–am I correct? Is there another place a session timer could be hiding? :slight_smile: Here is my endpoint from pjsip.conf:

[1000]
type=endpoint
transport=transport-udp-nat
context=my-phone
;context=from-internal
disallow=all
allow=ulaw
auth=1000_auth
aors=1000
callerid=MYNAME <##########>
;
; endpoint NAT required settings:
rtp_symmetric=no
force_rport=yes
rewrite_contact=yes
;
direct_media=yes
;dtmf_mode=rfc4733
;dtmf_mode=rfc2833
;
; MWI related options
aggregate_mwi=yes
mailboxes=1000@default
mwi_from_user=1000
;
; Extortion and Device state options
;
device_state_busy_at=1
allow_subscribe=yes
sub_min_expiry=30
;
; STIR/SHAKEN support.
;
;stir_shaken=no

[1000_auth]
type=auth
auth_type=userpass
password=mysecretpwIdidntchangeitdontlook
username=1000

[1000]
type=aor
remove_existing=yes
max_contacts=1
;contact=sip:1000@myclientIP:5060

They are on by default, with a 30 minute timeout. However, the far end also has a say.

I’d expect BYE., from the remote end. to be broken, as well, so the far end won’t be able to end the call easily.