Michael,
   I have been thinking about how call park and privacy interact. I
think there is an issue with the parking and retrieval of a call when
the user that is being parked has applied privacy in the initial call. 

Lets take for example a case where Alice calls bob. Alice is using
privacy as defined in RFC 3325. In this case the from header and the
contact for Alice will anonymous. The contact is likely just an IP
address and the from header will be sip:[email protected]. The
contact header being an IP address is enough to exchange messages in a
dialog but is unlikely to be enough to route a new call to the Alice. If
it was enough then you privacy is not very good as nothing is preventing
the user from returning a private call. 

So when a Refer is generated to the Call park server the referTo in the
Refer will not be routable. 

I really want to be able to park a call with an anonymous originator.
The only way that I can see to reliably do this it to Refer Alice to the
callpark server rather than send a unsolicited Refer to the call park
server.  This also leads to an interesting scenario. If the call park
server and Alice's proxy which is applying privacy for her are the same
server. Then once the call is parked the CallPark server has to be sure
to apply privacy to the dialog notify that it sends back to Bob. The
other issue this brings up is that we may want to specify that the
Notify for the Refer needs to include the orbit parameter in the contact
in the case that Alice is referred to the callpark server. 

So the question is do we want to have two call flows to park a call one
to the park server and one to the client being parked. I think it is
better to settle on one and in order to support parking a call with
privacy enabled I think the flow needs to show the Refer going to the
client being parked. 

Of course if we go with this flow there is now an issue of how to
retrieve the parked call. Since the call is private there is no way to
send an Invite with replaces back to  Alice to retrieve the call. One
solution to this would be for the callpark server to act as a Third
party call control device and in the park dialog event specify itself in
the dialog event. Then when the call is attempted to be retrieved the
Invite would go to the call park server. It could then either send a
Refer to the parked call to connect it to the retrieving party or act as
a BBUA and send a reinvite to the parked party with the SDP of Bob's
retrieving request.

As an example of why this is necessary, lets take a real world example
of a car dealership. A call comes in for the sales floor from an
anonymous caller. The attendant answering the call needs to be able to
park the call and let a salesman retrieve the call. 

I can provide call flows. But I have not had a chance to work them up. 

Scott
_______________________________________________
BLISS mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/bliss

Reply via email to