[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sip] B2B UA definition



Medhavi Bhatia wrote:
> Hi all,
> 
> Very many times I have seen a discussion on B2B UA's end merely in a
> definition
> of a B2BUA:
>         "A back-to-back user agent (B2BUA) is a
>          logical entity that receives a request and processes it as a
>          user agent server (UAS).  In order to determine how the request
>          should be answered, it acts as a user agent client (UAC) and
>          generates requests.  Unlike a proxy server, it maintains dialog
>          state and must participate in all requests sent on the dialogs
>          it has established.  Since it is a concatenation of a UAC and
>          UAS, no explicit definitions are needed for its behavior."
> 
> However I believe this is quite incomplete. For example:
> 
> 1) A B2BUA behaves similar to a proxy in that it must maintain "timer C" on
> outgoing transactions - which is unlike a UAC.
> 2) It SHOULD maintain max forwards on request in/requests out basis.
> Moreover
> it SHOULD have a defined relationship between incoming and outgoing
> requests.
> The way the definition goes, the outgoing request can have completely new
> headers,
> which eventually will cause a problem in loop detection/ policy and
> configuration
> at a remote destination. Clearly there may be reasons for new headers, but
> certain
> headers should be maintained for proper SIP network operation.
> 3) It has a notion similar to a response context of a proxy, and thus of
> forking
> requests
>  etc etc...

I think these things greatly overconstrain a b2bua. If we follow this 
path to the logical conclusion, a b2bua is just another way to implement 
a proxy. For example, is it not permissible to create a b2bua that, when 
it receives one request, generates several? Or when it receives a FOO 
request, emits a BAR request?

A b2bUA must act as a proper UAS on one side, and a proper UAC on the 
other. That should be enough. You describe some particular 
application(s) of a b2bua, where the inbound and outbound dialogs are 
linked in a way that is at least somewhat transparent to other devices. 
I think there are many b2bua applications where that is not the case at 
all. For example, can I not create a b2bua, where the downstream devices 
cannot tell that the upstream devices exist?


> 
> I believe that the SIP rfc describes a "server" role as a stateful/stateless
> proxy and
> completely specifies it. However a "server" can also be implemented as a
> B2BUA,
> so it should talk some more about it, or the requirements should be spelled
> out
> somewhere. A completely loose definition might just lead to deployment
> problems
> in future.
> 
> -Medhavi.
> 
> 
> 
> _______________________________________________
> Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
> This list is for NEW development of the core SIP Protocol
> Use sip-implementors@cs.columbia.edu for questions on current sip
> Use sipping@ietf.org for new developments on the application of sip
> 




_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip