Hangup the call using microsip but channel still exist

When I hang up the call using MicroSIP software, the channel still remains. The channel only gets disconnected after Asterisk finishes playing the audio.
My asterisk version is 18.17.0.
Here is the channel:

server-1-87*CLI> core show channels
Channel              Location             State   Application(Data)             
PJSIP/10043-0000002d 274@10043:5          Up      Playback(audio1223) 

This is the status of hint after hanging up the call using MicroSIP

server-1-87*CLI> core show hint 10043
10043@hint          : PJSIP/10043           State:InUse           Presence:not_set         Watchers  0

I don’t know what additional information I need to provide because the logs appear to be normal. If you need any further information, please feel free to bring it up and I will provide it as soon as possible.Thanks

I guess it’s due to network issues. If the signal for hanging up the call cannot be sent to Asterisk, what aspects of my network should I check?

External IP address is set correctly,. if router is doing NAT.

On the router: explicit port forwarding rules for port 5060 and explicit firewall permit rule for port 5060.

Thank you for your answer. I haven’t been able to make changes to the firewall recently, I will try again later.