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
