[Serusers] cancelling forked requests + forcing TLS use

Olaf Bergmann Olaf.Bergmann at freenet-ag.de
Thu Mar 8 09:27:17 CET 2007


Andrew T Gin wrote:
> Hi
> I have two questions.
> 1. Receiver at 1.1.1.1 and Receiver at 2.2.2.2 register with ser.
> Client sends an INVITE to ser for Receiver.
> ser forks these INVITES in parallel to both Receiver at 1.1.1.1 and
> Receiver at 2.2.2.2.
> As both Receivers are online, they both reply with 200 OK.
> SER then relays BOTH 200 OK's back to the Client.
> My question: Shouldn't SER send CANCEL to one of the receivers, and
> relay only ONE 200 OK back to the client? How would I do this?
> It is not the client's responsibility to send a CANCEL to the SER to
> relay to one of the receivers, is this correct? This is because the
> client only sent one invite, therefore it should only receive one OK. ie
> should SER 'shield' the client from the knowledge of the existence of
> multiple contact addresses?

No, the 2xx responses must be forwarded to the client as the INVITE
transaction cannot be canceled once a final response has been
generated by the UAS. Moreover, the proxy would not know _which_
call leg to cancel (which peer is the one the caller wants to talk to?)

Thus, it _is_ the client's responsibility to send a BYE for the call
it wants to finish (note that it cannot be canceled at that state).

Regards,
Olaf



More information about the sr-users mailing list