On Tue, 2009-01-20 at 07:54 +0200, Simon Shaw wrote:
> In this scenario Alice, Bob and Charlie are registered to a B2BUA proxy
> (I accidentally omitted the fact that I will be developing the B2BUA
> proxy is from my original description) that can initiate the call
> between Charlie and the conference server using 3PCC.
> I am specifically looking for the standard way to implement this where
> the B2BUA implements all the logic.

SIP is a little treacherous in that:

(1) Tt is intended to operate in an end-to-end manner.  That doesn't
mean that you can't use B2BUAs, but it does mean that thinking about
things as "the switch in the middle makes all the decisions and does all
the work" will lead you *away* from workable SIP solutions.

(2) The SIP standards tend to define *mechanisms* that are utilized to
implement "features" -- E.g., a phone executes a blind transfer by
sending a REFER to the remote phone.  So one UA will be the one that
effects the operation, but in order to succeed, the other UAs have to
implement certain SIP mechanisms.  There will often be several ways to
use the mechanisms to implement a feature (all of which will work).

In your case, I would implement this in an end-to-end manner this way:

- Alice's UA contacts the conference server to set up the conference.
(How to do this depends on the conference server.)

- Alice's UA causes Charlie's UA to connect it to the conference server.
This may be done by sending an out-of-dialog REFER to Charlie's UA to
cause it to call the conference server, or more likely, by sending the
REFER to the conference server to cause it to call Charlie's UA.

- Simultaneously, Alice's UA sets up a call to the conference (but
doesn't connect it to the UA's media input/output).

- Once both of the above have been set up, Alice's UA cuts over media
input/output to the dialog with the conference, and sends and sends a
REFER to Bob's UA to cause it to reconnect the call to the conference.
(Alternatively, Alice's UA could induce the conference server to send an
INVITE-with-Replaces to Bob's UA to reconnect Bob to the conference
server.)

- Bob's UA terminates its original dialog with Alice's UA.

In your case, it seems like you'd want the B2BUA that is "fronting" for
Alice's UA to carry out this dance.  Charlie's and Bob's UAs need
nothing beyond ordinary SIP functions, so they needn't be fronted by a
B2BUA.  Indeed, they may not be part of the same enterprise's phone
system.

Dale


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to