You can find the definitive statement you are looking for in Section 8 of RFC3264:

   ... When issuing an offer that modifies the session,
   the "o=" line of the new SDP MUST be identical to that in the
   previous SDP, except that the version in the origin field MUST
   increment by one from the previous SDP.  If the version in the origin
   line does not increment, the SDP MUST be identical to the SDP with
   that version number. ...

Now you have a MUST you can point to.

(Nevertheless, in any code that I write I would never trust this!)

        Good luck,
        Paul


On 1/22/20 11:09 AM, Sundbaum Per-Johan (Telenor Sverige AB) wrote:
Hi !

I'm in IMS operations and sometimes I get stuck in the crossfire between 
different vendors !

The two SDP's are identical except the version-number, I have checked.
For the moment it seems that most of our nodes are accepting that version is 
incremented without session has changed in any other way, but
we have a vendor that are claiming that it's a violation of RFC 4028 - Session 
Timer and also claims that that violation is causing problems, so far
a bit unclear why and what, could be some kind of misunderstanding, but I have 
also colleagues that are arguing  that RFC 4028 is only valid for UA
with support for timer.

I think your view on the matter makes very good sense !

Thanks !

BR/pj


Sensitivity: Internal

-----Original Message-----
From: sip-implementors-boun...@lists.cs.columbia.edu 
<sip-implementors-boun...@lists.cs.columbia.edu> On Behalf Of Paul Kyzivat
Sent: den 22 januari 2020 16:25
To: sip-implementors@lists.cs.columbia.edu
Subject: Re: [Sip-implementors] SDP version

Sorry, but I'm too lazy to compare those two messages byte by byte to see if 
they are identical other than the version number.

I don't understand the point of your question. Are you looking for an excuse to 
increment the version number without checking if the SDP has changed?

There is a fine line here between what is required behavior, what is good 
practice, what is considerate, ...

It really is a savings for the recipient of the SDP if he can avoid parsing it. And 
generally it should be easier for the sender to "know"
that the SDP is unchanged and so indicate that when sending it. It is a bit 
harder for the recipient to determine that. OTOH, as an implementor I'm not 
very trusting and so am inclined to not trust that it is unchanged without 
checking. Even so there are ways to take advantage of that indication without 
trusting it. (If the version # is the same as prior then do a string comparison 
of the two SDPs to verify. If the version #s are different, then simply start 
parsing the SDP without bothering with the comparison.)

And we shouldn't second guess what optimizations a peer may or may not want to 
do.

I guess the worst case is a situation where you would normally generate the SDP 
from scratch for every message and so not have an easy way to tell if it has 
changed. Then it becomes a question of whether you do the extra work to 
determine changed or not, or force extra work on the recipient. I think you 
should do it.

The session timer connection is, IMO, a red herring. That draft is poorly 
written, in that it seems to imply that an invite for session timer is mutually 
exclusive with one for offer/answer. The two processes share messages and can 
coexist or not.

        Thanks,
        Paul

On 1/22/20 6:50 AM, Sundbaum Per-Johan (Telenor Sverige AB) wrote:
Sorry for the no good picture !

SDP in 200OK for initial INVITE from PBX SDP PDU
v=0
o=- 195986 1 IN IP4 10.81.253.92
s=RFC3264OfferAnswerExchange
c=IN IP4 10.81.253.92
b=CT:10000000
t=0 0
m=audio 23812 RTP/AVP 8 110
c=IN IP4 10.81.253.92
a=rtpmap:8 PCMA/8000
a=rtpmap:110 telephone-event/8000
a=fmtp:110 0-15
a=sendrecv
a=ptime:20


SDP in re-INVITE  from PBX
SDP PDU
v=0
o=- 195986 2 IN IP4 10.81.253.92
s=RFC3264OfferAnswerExchange
c=IN IP4 10.81.253.92
b=CT:10000000
t=0 0
m=audio 23812 RTP/AVP 8 110
c=IN IP4 10.81.253.92
a=rtpmap:8 PCMA/8000
a=rtpmap:110 telephone-event/8000
a=fmtp:110 0-15
a=sendrecv
a=ptime:20

BR/pj

From: Rohit Jain <jainrohit...@gmail.com>
Sent: den 22 januari 2020 12:36
To: Sundbaum Per-Johan (Telenor Sverige AB)
<per-johan.sundb...@telenor.se>
Cc: sip-implementors@lists.cs.columbia.edu
Subject: Re: [Sip-implementors] SDP version

Hi,

SIP entities (client/server) checks SDP version to determine whether there is 
any change in SDP from previously received SDP. If the version is changed then 
they go on to parse the entire SDP to determine the change.
Based on that SIP entity can initiate media processing(more relevant in case of 
servers) or just relay the message without any media level processing. If  just 
the version number is incremented but there is no actual change in SDP, then it 
will trigger unnecessary processing on the receiver, so it should be avoided.

Also can you specify what could be the requirement ("but is that true also for UA 
without support for timer") in which it is required to increment the SDP version 
number without any actual change in SDP.
PS: Not able to get the attached picture.

Regards,
Rohit J

On Wed, Jan 22, 2020 at 4:31 PM Sundbaum Per-Johan (Telenor Sverige AB) 
<per-johan.sundb...@telenor.se<mailto:per-johan.sundb...@telenor.se>> wrote:
Hi !
What do you think about incrementing the version in SDP o-line, but
not changing anything else in SDP, should such a behavior be accepted or should 
it be rejected ?

RFC 4028 states that such behavior at least should be avoided, but is that true 
also for UA without support for timer ?

" RFC 4028 - Session Timer
                                   In that case, the offer MUST indicate
     that it has not changed.  In the case of SDP, this is accomplished by
     including the same value for the origin field as did previous SDP
     messages to its peer.  The same is true for an answer exchanged as a
     result of a session refresh request; if it has not changed, that MUST
     be indicated. "

An example from reality in picture below, should it be accepted ?
I think it should be accepted.

[cid:image001.png@01D5D11B.59A78290]

BR/pj



Sensitivity: Internal
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu<mailto:Sip-implementors@lists.c
s.columbia.edu>
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


--
Regards,
Rohit Jain


Sensitivity: Internal
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors


_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to