while doing some presence tests with master i noticed that when presence server sends notify that terminates subscription due to change in xcap authorization rules, cseq in the notify is same as in previous one.
rfc3261 says in 12.2.1 UAC Behavior:
Requests within a dialog MUST contain strictly monotonically increasing and contiguous CSeq sequence numbers (increasing-by-one) in each direction (excepting ACK and CANCEL of course, whose numbers equal the requests being acknowledged or cancelled).
so this looks like a bug to twinkle (and me). below is sip debug from twinkle (subscriber).
-- juha
+++ 2-5-2012 08:50:41.158705 INFO SIP ::process_sip_msg Received from: tcp:192.98.103.10:5060 NOTIFY sip:jh@192.98.103.10:5074;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.98.103.10;branch=z9hG4bK4da2.6447f6ae08e84f0c0fbec6f7090757cc.0;i=c1 Via: SIP/2.0/TCP 127.0.0.1:5082;branch=z9hG4bK4da2.4e788af3000000000000000000000000.0 To: sip:jh@test.fi;tag=pqazy From: sip:test@test.fi;tag=4a664ec84c547b2d0bc0fe8965f834e4-8a4b CSeq: 2 NOTIFY Call-ID: byxobtomskpzmos@siika.tutpro.com Content-Length: 210 User-Agent: OpenXg Presence/XCAP Server (3.3.0-dev8 (x86_64/linux)) Max-Forwards: 69 Event: presence Contact: sip:127.0.0.1:5082;alias=127.0.0.1~35306~2;transport=tcp Subscription-State: active;expires=3670 Content-Type: application/pidf+xml
<?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" entity="sip:test@test.fi"> <tuple id="gxsdoz"> <status> <basic>open</basic> </status> </tuple> </presence>
---
+++ 2-5-2012 08:50:41.161169 INFO SIP ::send_sip_tcp Send to: tcp:192.98.103.10:5060 SIP/2.0 200 OK Via: SIP/2.0/TCP 192.98.103.10;branch=z9hG4bK4da2.6447f6ae08e84f0c0fbec6f7090757cc.0;i=c1,SIP/2.0/TCP 127.0.0.1:5082;branch=z9hG4bK4da2.4e788af3000000000000000000000000.0 To: sip:jh@test.fi;tag=pqazy From: sip:test@test.fi;tag=4a664ec84c547b2d0bc0fe8965f834e4-8a4b Call-ID: byxobtomskpzmos@siika.tutpro.com CSeq: 2 NOTIFY Server: Twinkle/1.4.2 Content-Length: 0
---
+++ 2-5-2012 08:51:00.381465 INFO SIP ::process_sip_msg Received from: tcp:192.98.103.10:5060 NOTIFY sip:jh@192.98.103.10:5074;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.98.103.10;branch=z9hG4bK4da2.fd70b43b9da3c3b488208a61595b1112.0;i=c1 Via: SIP/2.0/TCP 127.0.0.1:5082;branch=z9hG4bK4da2.444a74e2000000000000000000000000.0 To: sip:jh@test.fi;tag=pqazy From: sip:test@test.fi;tag=4a664ec84c547b2d0bc0fe8965f834e4-8a4b CSeq: 2 NOTIFY Call-ID: byxobtomskpzmos@siika.tutpro.com Content-Length: 0 User-Agent: OpenXg Presence/XCAP Server (3.3.0-dev8 (x86_64/linux)) Max-Forwards: 69 Event: presence Contact: sip:127.0.0.1:5082;alias=127.0.0.1~35306~2;transport=tcp Subscription-State: terminated;reason=terminated
---
+++ 2-5-2012 08:51:00.381794 WARNING NORMAL t_subscription_dialog::recvd_request CSeq seqnr is out of sequence. Reveived seqnr: 2 Remote seqnr: 2