[reSIProcate] NOTIFY retransmit, bug or feature?
Hi,
I have this setup: a B2BUA based on resip and a mediaserver, based on SEMS.
The SEMS sends a REFER to the resip which starts to send NOTIFYs according to
the progress of the REFERred call: for example: 100, 183,. 180, 200. One of
the NOTIFY gets lost on the network, lets say the 183, the resip retransmits
it, but before the retransmittion, the 180 is sent and replied:
100->
<--OK(100)
183->
...
180->
<-OK(180)
183(r)->
<-500
(resip terminates the subscription)
So the SEMS refuses the retransmitted 183 NOTIFY, because it's cseq is smaller
than the 180's. The SEMS code references the 12.2.2 section of the RFC, I
presume this part:
"
If the remote sequence number was not empty, but the sequence number
of the request is lower than the remote sequence number, the request
is out of order and MUST be rejected with a 500 (Server Internal
Error) response.
"
https://tools.ietf.org/html/rfc3261#section-12.2.2
I guess one of the peers behaviour is wrong, otherwise any random hickup could
terminate the subscription. Which one is the correct behaviour?
Thank you!
br
Szo