SIP channel is not getting free

Dear Team,

I have an Asterisk Server (Version Asterisk 11.22.0-vici) and SIP Trunk.

When am making the call using sip trunk after the call disconnected only my asterisk sip channel is not getting free.its taking more than 10 to 15seconds to get free the channel.

Am originate the clal using my trunk. Once the call is disconnected am able to see asterisk sending BYE to my SIP provider server also getting the ACK from my sip provider for with in 2 seconds, Am noticed after am getting ACK also iam able to see the below output on asterisk -rx “sip show channels”

myserver *CLI> sip show channels
Peer             User/ANR         Call ID          Format           Hold     Last Message    Expiry     Peer    7574832699       2baa90e226891d2  (alaw)           No       Tx: ACK                    mytrunk

Once the got is disconnected am getting the below response in my server.

BYE sip:+912233330000@ SIP/2.0
Via: SIP/2.0/UDP;branch=z9hG4bK-1ce4065fe32067c96fd8btaN0
To: "912233330000";tag=as6dafe962
CSeq: 1001 BYE
Max-Forwards: 66
Reason: Q.850;cause= 16;text= “Normal call clearing”
Content-Length: 0

— (9 headers 0 lines) —
Sending to (NAT)
Scheduling destruction of SIP dialog ‘’ in 6400 ms (Method: BYE)

<— Transmitting (NAT) to —>
SIP/2.0 200 OK
Via: SIP/2.0/UDP;branch=z9hG4bK-1ce4065fe32067c96fd8btaN0;received=;rport=5060
To: "912233330000";tag=as6dafe962
CSeq: 1001 BYE
Server: Asterisk PBX 11.22.0-vici
Supported: replaces, timer
Content-Length: 0

After making i have revived ACK from sip provider still the sip show channel
was showing the channel . +9122333300000@m 490df22770d393af (alaw) No Rx: BYE rcom-sip-t

And after 15 seconds h have received the below in terminal then the channel was cleared.

Really destroying SIP dialog ‘’ Method: BYE

Can any one help on this ? Why the channel is not getting clear even after ACK received from sip provider ?

Or is there any change where we can make the channel to get free instantly .

Thanks in Advance.

Because the SIP specification requires that the session can cope with multiple lost packets. Your 200 OK may have been lost and the peers’s resends of BYE may have been lost.

How can i avoid that?

How to make the channel free once the call is disconnected.?

Write a new SIP RFC and get it accepted. You will need to find an alternative solution to the problem that the current SIP RFC solves in this way.

Why is the correct implementation of the SIP protocol causing you problems?

Also note that, if the peer is sending BYE, it means the ACK is related to a successful call setup, not to a failed call.

The calls was successful call. But After the successful call only am facing the issue that channels is not getting free.

for the successful call after the call am my server sending BYE and getting ACK from sip provider server . But after that also the channel is not getting free.

its taking almost 10 to 15 seconds to get the channel free after getting ACK from SIP provider server.

Why do you need the internal data structure releasing?