El Viernes, 28 de Noviembre de 2008, Klaus Darilion escribió:
> Hi Inaki!
>
> Where is it defined that the SDP must not be changed during a
> transaction (of course it may be changed during a dialog (reINVITE))?

I can sure 1000% that an SDP cannot be changed during the same early dialog. 
This is, provional responses containing the same To tag cannot contain 
different SDP. If so, the UAC MUST discard them.
This is: after UAC has received an SDP in an early-dialog (specific To_tag) it 
dones't need to parse future SDP in the same early-dialog. In fact, if the 
UAC receives a 183 (To_tag=AAA) with an SDP and later receives a 200 OK with 
same To_tag=AAA and different SDP, UAC MUST ignore this second SDP.

It appears in RFC 3261 sure, but don't remember now where exactly. I'll look 
for it, but I also remember this subject in SIP-implementors.


> MAyb the B2BUA has to change the session id in the SDP (o=)

This solves nothing:

- alice replies 183 with SDP:
   o=alice_sdp
   media=alice_ip

- later bob replies 200 with SDP:
   o=bob_sdp
   media=bob_ip

- Both replies are sent via leg_A with same To_tag.

- Now B2BUA generates this 200 in leg A:
   o=alice_sdp  <-- same To_tag so same SDP o
   media=bob_ip

- UAC receives the 200, the SDP "o" matches so "it's the same SDP" => 
so UAC creates a RTP session with alice_ip (while the UAS sending the 200 was 
bob). It will fails.
  

The only solution for a transparent B2BUA is behaving as a different UAS in 
leg A for each UAS detected in leg B.




-- 
Iñaki Baz Castillo
_______________________________________________
Semsdev mailing list
Semsdev@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to