In SIP registration regiatrat(S-CSCF) sends remove 1 binding but AS response with 200-OK sends 'removed 2 bindings'.
In SIP registration regiatrat(S-CSCF) sends remove 1 binding but AS response with 200-OK sends 'removed 2 bindings'. Why its like that, this removed 2 binding is showing only in packet list, while analyzing the packet details no binding information visible. So how binding count calculated.
Request (for VoLTE de-reg)
8 2019-04-22 14:14:10.384 4.767 10.94.4.37 10.94.8.160 SIP 4430 Request: REGISTER sip:mhtas1.ims.mnc066.mcc404.3gppnetwork.org (remove 1 binding) | Request: REGISTER sip:mh1scfx010.ims.mnc066.mcc404.3gppnetwork.org:5090;lskpmc=S9R (remove 1 binding) | [email protected],[email protected] 2019-04-22 14:14:10.384
Response
14 2019-04-22 14:14:10.442 4.825 10.94.8.160 10.94.4.37 SIP 1045 Status: 200 OK (removed 2 bindings) | [email protected] 2019-04-22 14:14:10.442
In accordance to RFC-3261, it says contact uri with expires-0 will be considered as 1 binding removal, So in same sequence if response 200-ok contains multiple list of contact URIs with all expire-0 will it means multiple bindings removal, If so then in my queried WS traces I found only one contact URI with expire-0 but in packet summary it contains 2 removed bindings by AS..... I want to understand what id the calculation method on bindings in register message... or if my understading as per RFC is correct then is it a bug/static behaviour of WIRESHARK to show 2 bindings removed always for de-rgistration procedure...... Kindly help me to get clear idea on this.
Use File->Export specified packets to save just the two packets above into a new pcap(ng) file, publish that file somewhere and edit your Question with a login-free link to it. Or copy-paste here the complete SIP text of both packets. Wireshark SIP dissector has no clue how many contacts were previously registered when it dissects the 200, so the information must be inside the 200. There is a difference between Expires: 0 as a SIP header (which deregisters all contacts) and expires=0 as a parameter of a particular contact uri (which deregisters only that particular contact).