Asterisk Reboot Breaks External Audio

I’m having an issue were our FreePBX VM stops allowing audio over external calls. Softphone apps on smartphones/laptops over external networks rings and connects to internal phones, but audio cannot be heard on either end. I’m fairly certain that this is a NAT issue, but am struggling to resolve it. Here’s what I’m seeing;

  1. We initially found the issue after rebooting the entire VM, but restoring from a snapshot have narrowed it down to occurring even if we perform a “core restart now” command in asterisk. I have also tried running all updates, rebooting and checking for more. System Admin displays PBX Firmware:10.13.66-20 and the dashboard shows FreePBX 13.0.192.8 (in current working state)

  2. It looks like an update is applied when I restart it because the versions change. When I do “sip show setting” before restarting asterisk I see
    User Agent: FPBX-13.0.192.8(13.14.0)
    SDP Session Name: Asterisk PBX 13.14.0
    — After restarting asterisk, I see
    User Agent: FPBX-13.0.192.8(13.14.0)
    SDP Session Name: Asterisk PBX 13.15.0
    EDIT: Everything else stays the same when running this command except for this line which is added to the very bottom
    RTCP Multiplexing: No

  3. Before restarting, “rtp set debug on” shows the packets being sent to and from the proper external IP’s. After restarting asterisk it shows the internal IP’s as shown below;
    Sent RTP packet to 12.X.X.171:53908 (type 00, seq 011397, ts 4232573456, len 000160)
    Got RTP packet from 10.X.X.130:8000 (type 00, seq 061401, ts 4232573620, len 000160)
    Sent RTP packet to 12.X.X.171:53908 (type 00, seq 011398, ts 4232573616, len 000160)
    Got RTP packet from 10.X.X.130:8000 (type 00, seq 061402, ts 4232573780, len 000160)

  4. Advanced Settings in FreePBX, SIP nat is set to yes.

  5. Asterisk SIP Settings (Chan SIP Settings tab) in FreePBX, NAT is set to yes, and using a Static IP.

  6. Trunks > sip Settings > Outgoing PEER Details =
    username=removed
    type=friend
    session-timers=refuse
    secret=removed
    qualify=yes
    nat=no
    maxexpirey=3600
    insecure=invite
    host=trunking.VOIPCOMANY.com
    fromuser=removed
    fromdomain=trunking.VOIPCOMPANY.com
    dtmfmode=auto
    disallow=all
    defaultexpirey=60
    context=custom-get-did-from-sip
    canreinvite=no
    allow=ulaw
    Note: I have tried setting nat=yes and that did not resolve the issue. It is currently working with nat=no, until Asterisk is rebooted. Making internal changes such as an extension or sip setting, and then hitting the red apply changes button at the top does not break it.

Does anyone have a clue what could be changing on service restart?
Thanks,
-Jon

Following up to say that running the command yum downgrade asterisk*-13.14.0 after restarting asterisk resolved the issue. I was then able to run all other upgrades and reboot the server.

This continues to be an issue with asterisk 13.15 and 13.16. I am having to manually hold my systems at 13.14.*

Also, I installed the latest Freepbx 14 stable with asterisk 14 and the same issue is present with PJSIP extensions.

This seems like a very severe issue to me to have to hold back upgrades and especially given that the supposedly stable Freepbx 14 (SNG7-FPBX-64bit-1706-1) has this problem with a fresh install.

Can someone please work on correcting this problem?