Hangup not working-481 call leg does not exist

Hi, I am running asterisk 13.13.0 on Debian 10

99.99.99.1: my laptop internet IP address that I register extension 2223 on it.
172.172.172.1: asterisk local IP address
173.173.173.1: another asterisk local IP address that sees the trunk
173.173.173.2: sip trunk IP address
888888888 is called-number that I call from my 2223 extension

I am trying to call 888888888 from my extension 2223, after that phone ring, I hang up the call on my sip client, but that number still ringing
I got an error after cancel packet: “481 Call leg/transaction does not exist”

I can’t attach tcpdump log file here, I use pastebin
https://pastebin.com/7LaSEvx7
I hope you can help me.

The client on your laptop appears to be broken slightly. It sends a CANCEL request to Asterisk to cancel the call, but the “To” header does not contain the tag. This causes the packet to not match the call and get a 481 response I believe.

This is what it should contain:

From: <sip:2223@172.172.172.1;transport=UDP>;tag=067c8b19
To: <sip:888888888@172.172.172.1;transport=UDP>;tag=as5ed7b86b

This is what it actually contains:

To: <sip:888888888@172.172.172.1;transport=UDP>
From: <sip:2223@172.172.172.1;transport=UDP>;tag=067c8b19

I’d suggest trying and using another client and seeing if it works instead.