Subject: [Sip] Sessions in B2BUA

From: Péter Barta <[email-masked]>
Date: Tue, 18 Jan 2005 18:56:01 +0100

Dear All,

as I understood from RFC 3261 and from various posts of this list, a 
B2BUA is basically two SIP UAs with no clear definition of  how they 
interact or work together to manage sessions through the B2BUA.

Does the B2BUA terminate sessions completely, so sessions are completely 
independent on the two session legs? If yes, it means that all session 
related descriptors have to be changed. How does the B2BUA then match 
the two legs? Is there some parameter that remains unaltered? If, e.g., 
Call-ID would remain the same then it were easy to correlate the 
signaling legs, but otherwise the B2BUA has to maintain some kind of 
mapping to identify that certain legs belong to the same session.

Is this behavior specified somewhere?

Regards
Peter 

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: Dean Willis <[email-masked]>
Date: Tue, 18 Jan 2005 13:53:11 -0600

> interact or work together to manage sessions through the B2BUA.
That's it precisely.

> Does the B2BUA terminate sessions completely, so sessions are 
> completely independent on the two session legs? If yes, it means that 
> all session related descriptors have to be changed. How does the B2BUA 
> then match the two legs? Is there some parameter that remains 
> unaltered? If, e.g., Call-ID would remain the same then it were easy 
> to correlate the signaling legs, but otherwise the B2BUA has to 
> maintain some kind of mapping to identify that certain legs belong to 
> the same session.
>

That's up to the B2BUA. Some "hide" the two sessions from each other, 
perhaps even masking or altering the identities expressed (an 
"anonymizer") function. Others try to preserve higher-order 
transparency functions, acting as much like a proxy as they can while 
still breaking the rules of being a proxy.

> Is this behavior specified somewhere?

No.

Individual B2BUA implementations may specify their own behavior. This 
behavior will be contingent on the purpose and mission of the specific 
B2BUA, as well as the operational requirements, design philosophy, and 
toolset used for implementation, and quite possibly on the intoxication 
level of the developer who writes the code.

This question keeps coming up. It's no more possible to specify what 
all B2BUAs do than it is to specify what all possible "C" programs do. 
It's an unbounded set.

It MIGHT be possible to learn from the world of object oriented 
programming and talk about "B2BUA patterns", meaning archetypal 
behavior sets that might be used to solve certain classes of problems. 
This would probably be an interesting doctoral problem for someone who 
is also interested in software engineering and systems modeling. But 
I'm not aware of any serious work ongoing on the topic.

--
Dean