Discussion:
[Sip-implementors] B2BUA vs Proxy with Record Route
Vito Korleone
2009-02-23 16:52:07 UTC
Permalink
Hi everybody! I 'm a new member in this group of SIP people :-).

So, here's my question,

Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??

thanks,

Nikos



___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr
Alex Balashov
2009-02-23 17:05:13 UTC
Permalink
Proxies can't originate new calls, and are pretty much obligated to
forward all requests and replies as rendered by both endpoints. B2BUAs
can create call legs and interpret and translate feedback as they wish.
Post by Vito Korleone
Hi everybody! I 'm a new member in this group of SIP people :-).
So, here's my question,
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??
thanks,
Nikos
___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775
Abhishek Dhammawat
2009-02-23 17:09:27 UTC
Permalink
Hi

Please find the required usage and difference of B2BUA with respect to proxy as mentioned below:-

The B2BUA is a SIP call controlling component. Unlike a SIP proxy server, which only maintains transaction state, the B2BUA maintains complete call state and participates in all call requests. For this reason it can perform number of functions that are not possible to implement using SIP proxy, such as for example accurate call accounting, pre-paid rating and billing, fail over call routing etc.

regards
Abhishek Dhammawat
Technical Leader
Extn 5123


-----Original Message-----
From: sip-implementors-bounces at lists.cs.columbia.edu [mailto:sip-implementors-bounces at lists.cs.columbia.edu] On Behalf Of Vito Korleone
Sent: Monday, February 23, 2009 10:22 PM
To: sip-implementors at lists.cs.columbia.edu
Subject: [Sip-implementors] B2BUA vs Proxy with Record Route

Hi everybody! I 'm a new member in this group of SIP people :-).

So, here's my question,

Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??

thanks,

Nikos



___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr


_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
Iñaki Baz Castillo
2009-02-23 17:13:48 UTC
Permalink
Post by Vito Korleone
Hi everybody! I 'm a new member in this group of SIP people :-).
So, here's my question,
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??
The following example is unfeasible with a proxy (it requires a B2BUA):

- alice calls bob (through the B2BUA).
- bob answers and they talk for a while.
- After 20 seconds bob hangups.
- The B2BUA initiates a new leg to carol.
- alice talks with carol.

Impossible with a proxy.
--
I?aki Baz Castillo
<ibc at aliax.net>
Maxim Sobolev
2009-02-23 17:51:51 UTC
Permalink
Post by Iñaki Baz Castillo
Post by Vito Korleone
Hi everybody! I 'm a new member in this group of SIP people :-).
So, here's my question,
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??
- alice calls bob (through the B2BUA).
- bob answers and they talk for a while.
- After 20 seconds bob hangups.
- The B2BUA initiates a new leg to carol.
- alice talks with carol.
Impossible with a proxy.
This is pretty specialized case. The main problem is that the pure
RFC3261 SIP proxy, even with strict record routing, cannot forcefully
end call that has been answered by generating BYE (i.e. implement
duration limit). B2BUA can do it. Emphasis on "pure RFC3261 proxy" is
because nowadays many of the proxies out there have B2BUA-like modules
that can actually keep some call state for the duration of the dialog.

Regards,
--
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com
MSN: sales at sippysoft.com
Skype: SippySoft
Abhishek Dhammawat
2009-02-23 17:14:44 UTC
Permalink
Hi

Please find the required usage and difference of B2BUA with respect to proxy as mentioned below:-

The B2BUA is a SIP call controlling component. Unlike a SIP proxy server, which only maintains transaction state, the B2BUA maintains complete call state and participates in all call requests. For this reason it can perform number of functions that are not possible to implement using SIP proxy, such as for example accurate call accounting, pre-paid rating and billing, fail over call routing etc.

regards
Abhishek Dhammawat
Aricent


-----Original Message-----
From: sip-implementors-bounces at lists.cs.columbia.edu [mailto:sip-implementors-bounces at lists.cs.columbia.edu] On Behalf Of Vito Korleone
Sent: Monday, February 23, 2009 10:22 PM
To: sip-implementors at lists.cs.columbia.edu
Subject: [Sip-implementors] B2BUA vs Proxy with Record Route

Hi everybody! I 'm a new member in this group of SIP people :-).

So, here's my question,

Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??

thanks,

Nikos



___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr


_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error,please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
Dale Worley
2009-02-23 21:07:08 UTC
Permalink
Post by Vito Korleone
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace
all messages between the subscribers??
You are correct, for almost all purposes, a proxy works very well. And
it generally has lower overhead than a B2BUA.

For example, the sipX open-source PBX uses a proxy as the core of its
architecture.

Dale
M. Ranganathan
2009-02-24 03:37:05 UTC
Permalink
Post by Vito Korleone
Hi everybody! I 'm a new member in this group of SIP people :-).
So, here's my question,
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??
thanks,
Nikos
Depends upon the application. A b2bua puts state "in the network"
(logically) which is against the end to end design principle of SIP.
In particular, it breaks the three way handshake as the ACK cannot go
directly end to end. The ACK has to routed through the Back to Back
Dialogs. There is no way for the UAS to know that the UAC did not get
the OK. In practical terms, this means that an element in the middle
of the network can fail and one end (i.e. the end that sent the ACK )
can have the mistaken impression that the other end saw it and thereby
"imagine" that the call has been successfully set up whereas in fact
it has not thus leaving the system in a "hung" state. Of course, if
there is a human answering the call, he will notice something bad and
hang up so many do not consider it such a big deal.

On the other hand, there are several perfectly good reasons for
wanting to have a B2BUA. It appears that people have pointed out
several such applications later in this thread and hence I will
refrain from adding to the list.


Ranga.
Post by Vito Korleone
___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
M. Ranganathan
M. Ranganathan
2009-02-24 13:52:38 UTC
Permalink
Post by M. Ranganathan
Post by Vito Korleone
Hi everybody! I 'm a new member in this group of SIP people :-).
So, here's my question,
Why "we" need a B2BUA?? Can't we just have the same functionality if
we replace him with a proxy and insert the Record Route field to trace all messages between the subscribers??
thanks,
Nikos
Depends upon the application. A b2bua puts state "in the network"
(logically) which is against the end to end design principle of SIP.
In particular, it breaks the three way handshake as the ACK cannot go
directly end to end. ?The ACK has to routed through the Back to Back
Dialogs. There is no way for the UAS to know that the UAC did not get
the OK. In practical terms, this means that an element in the middle
of the network can fail and one end (i.e. the end that sent the ACK )
can have the mistaken impression that the other end saw it and thereby
"imagine" that the call has been successfully set up whereas in fact
it has not thus leaving the system in a "hung" state. Of course, if
there is a human answering the call, he will notice something bad and
hang up so many do not consider it such a big deal.
Though I should mention:

A similar problem occurs when you send any In-DIALOG request that is
hop to hop because the Dialog for a B2BUA in the middle of two end
points, breaks the end to end association between the end points.
These problems are circumventable using clever state management for
the B2BUA but on the other hand, it needlessly complicates and
potentially slows down the signaling and state management. Frequently,
B2BUAs are used where there is no cause to do so.
--
M. Ranganathan
Vito Korleone
2009-02-24 08:18:53 UTC
Permalink
In the scenario that

Bob <-> Alice
Bob <-> Alice Hangs-up
and B2BUA initiates a call leg to Carol for Bob..

you can do that with REFER between the subscribers without using a B2BUA
and the proxy will know that this happened because he "Record Routes".

Ok it's true for some other services a B2BUA is mandatory or they haven't found yet a solution using proxies and methods.. but for issues like "we are not sure if the BYE reached its destination etc" I think this should not be the problem for SIP and for that reason change the all philosophy behind it..Improve the NETWORK should be the solution!

I don't know.. it's sad don't you think? Anyway thanks for the replies!

Regards,
Nick
???: sip-implementors-request at lists.cs.columbia.edu <sip-implementors-request at lists.cs.columbia.edu>
????: Sip-implementors Digest, Vol 71, Issue 41
????: sip-implementors at lists.cs.columbia.edu
??????????: ?????, 24 ??????????? 2009, 0:18
Send Sip-implementors mailing list submissions to
sip-implementors at lists.cs.columbia.edu
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
or, via email, send a message with subject or body
'help' to
sip-implementors-request at lists.cs.columbia.edu
You can reach the person managing the list at
sip-implementors-owner at lists.cs.columbia.edu
When replying, please edit your Subject line so it is more
specific
than "Re: Contents of Sip-implementors digest..."
1. Re: About hexadecimal un-escaping (Dale Worley)
2. Re: About hexadecimal un-escaping (I?aki Baz
Castillo)
3. Re: in-active in answer with sendonly in offer
(Andrea Rizzi)
4. Re: CSeq header field in Register request (Dale
Worley)
5. Re: B2BUA vs Proxy with Record Route (Dale Worley)
6. Re: CSeq header field in Register request (cool
goose)
7. Diagnostic idea (Dale Worley)
8. Re: CSeq header field in Register request (Dale
Worley)
9. Re: Diagnostic idea (Brett Tate)
10. Re: CSeq header field in Register request (cool
goose)
----------------------------------------------------------------------
Message: 1
Date: Mon, 23 Feb 2009 14:20:55 -0500
From: "Dale Worley" <dworley at nortel.com>
Subject: Re: [Sip-implementors] About hexadecimal
un-escaping
To: I?aki Baz Castillo <ibc at aliax.net>
Cc: sip-implementors at lists.cs.columbia.edu
<1235416856.6505.26.camel at victoria-pingtel-com.us.nortel.com>
Content-Type: text/plain; charset=utf-8
On Sat, 2009-02-21 at 03:43 +0100, I?aki Baz Castillo
There is no "escaping in SIP" -- there
are five or seven syntactic
locations in SIP URIs/name-addrs, and each has
its own escaping rules.
Which of those contexts are you considering?
For example, URI or header paramenters keys and value
allow hexadecimal
escaping. SIP URI username also allows hexadecimal
escaping.
user name: "unreserved" and
"user-unreserved" are allowed, uses
%-escaping
URI parameter name: "unreserved" and
"param-unreserved" are allowed,
uses %-escaping
URI parameter value: same as URI parameter name
header parameter (or "header" in the BNF, *not*
"unreserved" and "hnv-unreserved" are
allowed, uses %-escaping
As far as I know, the "+ represents space" escape
is not used in SIP
URIs in any way, only in HTTP URLs.
Dale
------------------------------
Message: 2
Date: Mon, 23 Feb 2009 20:34:16 +0100
From: I?aki Baz Castillo <ibc at aliax.net>
Subject: Re: [Sip-implementors] About hexadecimal
un-escaping
To: sip-implementors at lists.cs.columbia.edu
Message-ID: <200902232034.16111.ibc at aliax.net>
Content-Type: text/plain; charset="utf-8"
On Sat, 2009-02-21 at 03:43 +0100, I?aki Baz Castillo
There is no "escaping in SIP" --
there are five or seven syntactic
locations in SIP URIs/name-addrs, and each
has its own escaping rules.
Which of those contexts are you considering?
For example, URI or header paramenters keys and
value allow hexadecimal
escaping. SIP URI username also allows
hexadecimal escaping.
user name: "unreserved" and
"user-unreserved" are allowed, uses
%-escaping
URI parameter name: "unreserved" and
"param-unreserved" are allowed,
uses %-escaping
URI parameter value: same as URI parameter name
header parameter (or "header" in the BNF,
"unreserved" and "hnv-unreserved"
are allowed, uses %-escaping
As far as I know, the "+ represents space"
escape is not used in SIP
URIs in any way, only in HTTP URLs.
Really thanks.
--
I?aki Baz Castillo
------------------------------
Message: 3
Date: Mon, 23 Feb 2009 21:18:12 +0100
From: "Andrea Rizzi"
<andrea.rizzi at yahoo.it>
Subject: Re: [Sip-implementors] in-active in answer with
sendonly in
offer
To: <sip-implementors at lists.cs.columbia.edu>
<248572C31DBA4CA290259B5D23A5226B at fastwebit.ofc>
Content-Type: text/plain; charset="us-ascii"
Answering with inactive may also be used to save bandwidth
(in addition to
DSP resources as already mentioned) in the call hold
scenario. Inactive will
force the holding party to stop sending media, leaving the
held party to
generate proper notification to the user (a message, a
special hold tone o
whatever else). In my opinion, the hold service model in
RFC 3264 is
targeted to the MOH one, while it is actually not always
really needed.
Saving bandwidth is still relevant on the access side, and
if you allow the
hold service to the user, you need to reserve a 50% more
bandwidth/line just
to play, for instance, a hold tone. Of course this would
require the CPE
(and the PSTN gateway) to play "locally" the
tone/notification, this would
be up to the operator policy (and supported by CPE/gw
vendors)
Andrea
----------------------------------------------------------------------
Message: 1
Date: Fri, 20 Feb 2009 11:42:49 -0800 (PST)
From: kaiduan xie <kaiduanx at yahoo.ca>
Subject: [Sip-implementors] in-active in answer with
sendonly in offer
To: sip-implementors at lists.cs.columbia.edu
<185354.24392.qm at web65709.mail.ac4.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1
Hi, all,
What is the purpose of putting inactive in answer when
receiving a sendonly
offer? Rfc3264 Section 6.1 says,
?? "If a stream is offered as sendonly, the
corresponding stream MUST be
?? marked as recvonly or inactive in the answer."
In rfc5359, recvonly is returned in hold case.
Thanks,
kaiduan
__________________________________________________________________
Yahoo! Canada Toolbar: Search from anywhere on the web, and
bookmark your
favourite sites. Download it now at
http://ca.toolbar.yahoo.com.
------------------------------
Message: 4
Date: Mon, 23 Feb 2009 16:03:04 -0500
From: "Dale Worley" <dworley at nortel.com>
Subject: Re: [Sip-implementors] CSeq header field in
Register request
To: cool goose <coolgoose8182 at gmail.com>
Cc: sip-implementors at lists.cs.columbia.edu
<1235422984.6505.44.camel at victoria-pingtel-com.us.nortel.com>
Content-Type: text/plain
Can someone explain me the importance of CSeq in
REGISTER request? RFC 3261
specifies that UA must increment the CSeq value by one
for each REGISTER
request with the same Call-ID. What is the expected
response from a
registrar if a UA keeps retransmitting the REGISTER
request with same CSeq
value and the same Call-ID?
The registrar will keep a record for several minutes of the
REGISTER
that it received and the response that it gave to the
REGISTER. When it
receives a duplicate of the REGISTER, it will send a
duplicate of the
response, without further processing. (This is necessary
because the
Internet can duplicate UDP messages, and also to all the
sender to
re-send if the response gets lost.)
After the registrar has purged memory of the REGISTER (with
that CSeq),
it will most likely respond to further REGISTERs with that
CSeq will a
500 "Out of order" response.
Dale
------------------------------
Message: 5
Date: Mon, 23 Feb 2009 16:07:08 -0500
From: "Dale Worley" <dworley at nortel.com>
Subject: Re: [Sip-implementors] B2BUA vs Proxy with Record
Route
To: Vito Korleone <extusiano at yahoo.gr>
Cc: sip-implementors at lists.cs.columbia.edu
<1235423228.6505.47.camel at victoria-pingtel-com.us.nortel.com>
Content-Type: text/plain
Why "we" need a B2BUA?? Can't we just
have the same functionality if
we replace him with a proxy and insert the Record
Route field to trace
all messages between the subscribers??
You are correct, for almost all purposes, a proxy works
very well. And
it generally has lower overhead than a B2BUA.
For example, the sipX open-source PBX uses a proxy as the
core of its
architecture.
Dale
------------------------------
Message: 6
Date: Mon, 23 Feb 2009 13:25:14 -0800
From: cool goose <coolgoose8182 at gmail.com>
Subject: Re: [Sip-implementors] CSeq header field in
Register request
To: Dale Worley <dworley at nortel.com>
Cc: sip-implementors at lists.cs.columbia.edu
<7ca669540902231325s7d30c871u6773804050d9d289 at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Thank You very much for the response guys!
What about the Call-ID? If the same UA sends the REGISTER
requests with
different cal-IDs, what would be the ideal response from
the registrar? I
know that RFC 3261 prohibits from doing this. If UA fails
to use the same
Call-ID, how will it effect the registrar in ordering the
requests?
CoolGoose.
On Mon, Feb 23, 2009 at 1:03 PM, Dale Worley
Can someone explain me the importance of CSeq in
REGISTER request? RFC
3261
specifies that UA must increment the CSeq value
by one for each REGISTER
request with the same Call-ID. What is the
expected response from a
registrar if a UA keeps retransmitting the
REGISTER request with same
CSeq
value and the same Call-ID?
The registrar will keep a record for several minutes
of the REGISTER
that it received and the response that it gave to the
REGISTER. When it
receives a duplicate of the REGISTER, it will send a
duplicate of the
response, without further processing. (This is
necessary because the
Internet can duplicate UDP messages, and also to all
the sender to
re-send if the response gets lost.)
After the registrar has purged memory of the REGISTER
(with that CSeq),
it will most likely respond to further REGISTERs with
that CSeq will a
500 "Out of order" response.
Dale
------------------------------
Message: 7
Date: Mon, 23 Feb 2009 16:37:27 -0500
From: "Dale Worley" <dworley at nortel.com>
Subject: [Sip-implementors] Diagnostic idea
To: sip-implementors
<sip-implementors at lists.cs.columbia.edu>
<1235425047.6505.64.camel at victoria-pingtel-com.us.nortel.com>
Content-Type: text/plain
I've been considering the following idea for a
diagnostic tool, and I'd
like to get some feedback on it.
The goal is to be able to trace the progress of a SIP
request through
the network, including seeing the forking structure. We
first need to
pick a provisional response codes. It appears that
"170" is not
currently used. This response code is also used as an
option-tag for
this feature. The processing is that whenever a SIP
element receives a
request that contains "Supported: 170", the
element will immediately (in
addition to anything else that it would do with the
request) send a 170
response upstream, containing the request as its body
(media type
message/sipfrag).
Dale
------------------------------
Message: 8
Date: Mon, 23 Feb 2009 16:41:05 -0500
From: "Dale Worley" <dworley at nortel.com>
Subject: Re: [Sip-implementors] CSeq header field in
Register request
To: cool goose <coolgoose8182 at gmail.com>
Cc: sip-implementors at lists.cs.columbia.edu
<1235425265.6505.70.camel at victoria-pingtel-com.us.nortel.com>
Content-Type: text/plain
What about the Call-ID? If the same UA sends the
REGISTER requests
with different cal-IDs, what would be the ideal
response from the
registrar? I know that RFC 3261 prohibits from doing
this. If UA fails
to use the same Call-ID, how will it effect the
registrar in ordering
the requests?
See RFC 3261 section 10.3. The rules are messy, but they
give the
results one would want to get.
Dale
------------------------------
Message: 9
Date: Mon, 23 Feb 2009 13:52:59 -0800
From: Brett Tate <brett at broadsoft.com>
Subject: Re: [Sip-implementors] Diagnostic idea
To: Dale Worley <dworley at nortel.com>,
sip-implementors
<sip-implementors at lists.cs.columbia.edu>
<9B2A061A1137254BBE4F4B2CD843646A10B1FA9ADC at mbx02.citservers.local>
Content-Type: text/plain; charset="us-ascii"
Sounds somewhat similar to
draft-ietf-sip-hop-limit-diagnostics. The 170 proposal
would potentially suffer from similar message size,
security, and privacy issues.
-----Original Message-----
From: sip-implementors-bounces at lists.cs.columbia.edu
[mailto:sip-
implementors-bounces at lists.cs.columbia.edu] On Behalf
Of Dale Worley
Sent: Monday, February 23, 2009 4:37 PM
To: sip-implementors
Subject: [Sip-implementors] Diagnostic idea
I've been considering the following idea for a
diagnostic tool, and I'd
like to get some feedback on it.
The goal is to be able to trace the progress of a SIP
request through
the network, including seeing the forking structure.
We first need to
pick a provisional response codes. It appears that
"170" is not
currently used. This response code is also used as an
option-tag for
this feature. The processing is that whenever a SIP
element receives a
request that contains "Supported: 170", the
element will immediately (in
addition to anything else that it would do with the
request) send a 170
response upstream, containing the request as its body
(media type
message/sipfrag).
Dale
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
------------------------------
Message: 10
Date: Mon, 23 Feb 2009 14:18:24 -0800
From: cool goose <coolgoose8182 at gmail.com>
Subject: Re: [Sip-implementors] CSeq header field in
Register request
To: Dale Worley <dworley at nortel.com>
Cc: sip-implementors at lists.cs.columbia.edu
<7ca669540902231418t734efe3an5828e989c92188dc at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
"If the Call-ID value in the existing binding differs
from the
Call-ID value in the request, the binding MUST be
removed if
the expiration time is zero and updated
otherwise."
Does this mean that the Register requests from same UA can
have different
Call-IDs as long as the CSeq values are not the same?
On Mon, Feb 23, 2009 at 1:41 PM, Dale Worley
What about the Call-ID? If the same UA sends the
REGISTER requests
with different cal-IDs, what would be the ideal
response from the
registrar? I know that RFC 3261 prohibits from
doing this. If UA fails
to use the same Call-ID, how will it effect the
registrar in ordering
the requests?
See RFC 3261 section 10.3. The rules are messy, but
they give the
results one would want to get.
Dale
------------------------------
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
End of Sip-implementors Digest, Vol 71, Issue 41
************************************************
___________________________________________________________
?????????????? Yahoo!;
?????????? ?? ?????????? ???????? (spam); ?? Yahoo! Mail
???????? ??? ???????? ?????? ????????? ???? ??? ???????????
????????? http://login.yahoo.com/config/mail?.intl=gr
Iñaki Baz Castillo
2009-02-24 09:28:55 UTC
Permalink
Post by Vito Korleone
In the scenario that
Bob <-> Alice
Bob <-> Alice Hangs-up
and B2BUA initiates a call leg to Carol for Bob..
you can do that with REFER between the subscribers without using a B2BUA
and the proxy will know that this happened because he "Record Routes".
Why should Bob send a REFER if he doesn't want to send it? The
requeriment is that Alice is *always* connected to Carol after Bob has
hangup up, and this is not possible without a B2BUA.
Post by Vito Korleone
Ok it's true for some other services a B2BUA is mandatory or they haven't found yet a solution using proxies and methods.. but for issues like "we are not sure if the BYE reached its destination etc" I think this should not be the problem for SIP and for that reason change the all philosophy behind it..Improve the NETWORK should be the solution!
SIP proxies network is very cool when it's written in a RFC or draft,
but most of the telephony solutions demanded by
customers/people/companies do require a B2BUA/PBX since they are
unfeasible with a proxy.

Perhaps I should mention some *basic* and *common* examples of
features requiring a B2BUA:

a) When receiving a call to our DID I want the caller to hear a
welcome announcement and later route the call to internal extension
200. If 200 doesn't answer in 20 seconds then try 201.

b) Our SIP provider routes us a PSTN incoming call, and my B2BUA
"routes" it to extension 200. Now 200 transfers the call to extension
201 by sending a REFER to the B2BUA. In case of using a proxy this
woudn't work since the REFER would be received by the SIP provider
which, obvioulsy, will not honor the REFER.

c) Incoming call routed to extension 200. When 200 hangups the caller
should be routed to an answering machine to value the conversation
with 200.


Not sure what's the reaility out there, but I work in a company
offering hosted VoIP solutions for companies and the 99% of demanded
services and features do require a B2BUA/PBX.

IMHO a SIP proxies network is enough (with no B2BUA) for a few escenarios:

- An *end-user* VoIP network like Gizmo, Skype, Messenger (Can these
users transfer a call? NO. Do they need to do it? NO, because they
are end-users, never a company).

- A residential PSTN provider using SIP (as the other case, the only
"cool" service would be an answering machine in case of user not
responding, that can be achieved by a proxy, no more).


It's very "cool" to say that we don't need B2BUA but proxies, but I
would really like to know a *real* case of two independent companies
interconnected just with SIP proxies.


Best regards.
--
I?aki Baz Castillo
<ibc at aliax.net>
Johansson Olle E
2009-02-24 09:38:56 UTC
Permalink
Post by Iñaki Baz Castillo
It's very "cool" to say that we don't need B2BUA but proxies, but I
would really like to know a *real* case of two independent companies
interconnected just with SIP proxies.
I think the truth is that in the case of enterprise PBXs we need both.
The SIP proxy, which only handles signalling, scales. Anything that
handles media, like most b2bua's, doesn't scale easily.

/O
Iñaki Baz Castillo
2009-02-24 09:54:47 UTC
Permalink
Post by Iñaki Baz Castillo
It's very "cool" to say that we don't need B2BUA but proxies, but I
would really like to know a *real* case of two independent companies
interconnected just with SIP proxies.
I think the truth is that in the case of enterprise PBXs we need both. The
SIP proxy, which only handles signalling, scales. Anything that handles
media, like most b2bua's, doesn't scale easily.
Yes, the proxy could act as registrar, forking proxy, NAT keepalive...
something like:


SIP/PSTN
|
B2BUA
|
Proxy/Registrar ---- Persence Server
/ | \
phone1 phone2 phone3


There could be more B2BUA in parallel and the proxy acting as
dispatcher. But the B2BUA is required for *most* common telephony
features in an enterprise environment.

Sincerelly I don't understand why there is some obsession against
B2BUA's. The provide funcionalities unfeasible for a proxy, they are
required in most cases.
--
I?aki Baz Castillo
<ibc at aliax.net>
M. Ranganathan
2009-02-24 13:55:05 UTC
Permalink
Post by Iñaki Baz Castillo
Post by Iñaki Baz Castillo
It's very "cool" to say that we don't need B2BUA but proxies, but I
would really like to know a *real* case of two independent companies
interconnected just with SIP proxies.
I think the truth is that in the case of enterprise PBXs we need both. The
SIP proxy, which only handles signalling, scales. Anything that handles
media, like most b2bua's, doesn't scale easily.
Yes, the proxy could act as registrar, forking proxy, NAT keepalive...
? ? ? ? ? ? ? ?SIP/PSTN
? ? ? ? ? ? ? ? ? ? |
? ? ? ? ? ? ? ? B2BUA
? ? ? ? ? ? ? ? ? ? |
? ? ? ? ?Proxy/Registrar ---- Persence Server
? ? ? ? ?/ ? ? ? ? | ? ? ? ? ?\
phone1 ? phone2 ? ?phone3
There could be more B2BUA in parallel and the proxy acting as
dispatcher. But the B2BUA is required for *most* common telephony
features in an enterprise environment.
Sincerelly I don't understand why there is some obsession against
B2BUA's. The provide funcionalities unfeasible for a proxy, they are
required in most cases.
Features are implementable as User Agents. There is no need for a BACK
TO BACK User Agent to implement most features.

Notable exception :

Session Border Controller. :-)

Using a B2BUA where you should be using a proxy is needless
complication and just bad engineering.
Post by Iñaki Baz Castillo
--
I?aki Baz Castillo
<ibc at aliax.net>
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
M. Ranganathan
Iñaki Baz Castillo
2009-02-24 14:01:41 UTC
Permalink
Post by M. Ranganathan
Features are implementable as User Agents. There is no need for a BACK
TO BACK User Agent to implement most features.
Ok, perhaps you could provice a proxy solution to replace a B2BUA in
the 3 cases I comment in other mail in this thread.
Post by M. Ranganathan
Session Border Controller. :-)
And isn't a SBC a common requeriment? Probably it's not a good idea
that a SIP request created in an enterprise LAN travels through
Internet showing private fields as Via, Contact and so.
Of course, in order to provide privacy a B2BUA is required (Via are
not propragated, Contact is replaced...).
Post by M. Ranganathan
Using a B2BUA where you should be using a proxy is needless
complication and just bad engineering.
Is there any company or enterprise using a SIP proxy instead of a
B2BUA? really? tell me just *one* example. Of course, I expect users
in that company can transfer incoming calls from their PSTN SIP
provider and so.

Best regards.
--
I?aki Baz Castillo
<ibc at aliax.net>
M. Ranganathan
2009-02-24 14:04:39 UTC
Permalink
Post by Iñaki Baz Castillo
Post by M. Ranganathan
Features are implementable as User Agents. There is no need for a BACK
TO BACK User Agent to implement most features.
Ok, perhaps you could provice a proxy solution to replace a B2BUA in
the 3 cases I comment in other mail in this thread.
Post by M. Ranganathan
Session Border Controller. :-)
And isn't a SBC a common requeriment? Probably it's not a good idea
that a SIP request created in an enterprise LAN travels through
Internet showing private fields as Via, Contact and so.
Of course, in order to provide privacy a B2BUA is required (Via are
not propragated, Contact is replaced...).
Post by M. Ranganathan
Using a B2BUA where you should be using a proxy is needless
complication and just bad engineering.
Is there any company or enterprise using a SIP proxy instead of a
B2BUA? really? tell me just *one* example. Of course, I expect users
in that company can transfer incoming calls from their PSTN SIP
Separation of concerns is a good idea in Engineering design.
Post by Iñaki Baz Castillo
provider and so.
http://www.sipfoundry.org

On the other hand, if I did come across a company using a B2BUA where
a proxy ought to be used, I might question their wisdom. Individual
companies shall not be named.
Post by Iñaki Baz Castillo
Best regards.
--
I?aki Baz Castillo
<ibc at aliax.net>
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
M. Ranganathan
Iñaki Baz Castillo
2009-02-24 14:23:30 UTC
Permalink
Post by M. Ranganathan
Post by Iñaki Baz Castillo
Post by M. Ranganathan
Using a B2BUA where you should be using a proxy is needless
complication and just bad engineering.
Is there any company or enterprise using a SIP proxy instead of a
B2BUA? really? tell me just *one* example. Of course, I expect users
in that company can transfer incoming calls from their PSTN SIP
Separation of concerns is a good idea in Engineering design.
<ironic>
Of course, let's forget real world and let's enjoy all our RFC's and
drafts in which SIP proxy networks work really well. Who cares
reality?
</ironic>
Post by M. Ranganathan
http://www.sipfoundry.org
I don't understand the reason of this link.
Post by M. Ranganathan
On the other hand, if I did come across a company using a B2BUA where
a proxy ought to be used, I might question their wisdom. Individual
companies shall not be named.
So you have replied to no one of my questions (how to replace common
B2BUA services with a proxy).

Sorry but I've seen no arguments. I invite you to extend your point of view.

Best regards.
--
I?aki Baz Castillo
<ibc at aliax.net>
M. Ranganathan
2009-02-24 14:41:01 UTC
Permalink
Post by Iñaki Baz Castillo
Post by M. Ranganathan
Post by M. Ranganathan
Using a B2BUA where you should be using a proxy is needless
complication and just bad engineering.
http://www.sipfoundry.org
I don't understand the reason of this link.
You did ask for one organization that uses a proxy server where a
proxy server ought to be used. Here is an example of a well designed
PBX solution that uses a proxy as its core routing engine. Please
follow up and investigate who is using that solution. I will refrain
from naming specific organizations.
Post by Iñaki Baz Castillo
Post by M. Ranganathan
On the other hand, if I did come across a company using a B2BUA where
a proxy ought to be used, I might question their wisdom. Individual
companies shall not be named.
So you have replied to no one of my questions (how to replace common
B2BUA services with a proxy).
Please study the architecture of sipx. Services are User Agents and
not Back to Back User Agents. There is a difference. These are "Common
Services".
Post by Iñaki Baz Castillo
Sorry but I've seen no arguments. I invite you to extend your point of view.
There are some services that can be best structured only as Back To
Back User agents (SBCs for example). Many others are constructed as
User Agents (not B2BUA). Please take a look at the sipx architecture.

You can connect enterprises using only proxy servers. You have to open
up ports in your firewall and administer firewall rules and dial
plans.

I leave you with that point of view. Please feel free to explore.

Best regards
Post by Iñaki Baz Castillo
Best regards.
--
I?aki Baz Castillo
<ibc at aliax.net>
_______________________________________________
Sip-implementors mailing list
Sip-implementors at lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
--
M. Ranganathan
Iñaki Baz Castillo
2009-02-24 15:32:10 UTC
Permalink
Post by M. Ranganathan
Please study the architecture of sipx. Services are User Agents and
not Back to Back User Agents. There is a difference. These are "Common
Services".
It sounds really interesting. Could I have a link to a documentation
explaining the difference between "User Agent services" and "B2BUA
services"? I can't imagine it.
I've found some pages:
http://sipx-wiki.calivia.com/index.php/SipX_SW_Architecture_&_Library_Dependencies
http://sipx-wiki.calivia.com/index.php/Architecture_Diagram
but no a real specification about "User Agent services".

For example:
- Our PBX receives a call from our SIP-PSTN provider and we "route" it
to an announcement server.
- After that the PBX routes it to extension 200.
- If there is no reply during 30 seconds the call is routed to extension 201.

I would really like to know how to implement this simple behaviour
without using a B2BUA.

Thanks a lot.
--
I?aki Baz Castillo
<ibc at aliax.net>
Maxim Sobolev
2009-02-24 18:42:36 UTC
Permalink
Post by M. Ranganathan
You can connect enterprises using only proxy servers. You have to open
up ports in your firewall and administer firewall rules and dial
plans.
I leave you with that point of view. Please feel free to explore.
There is one important aspect of B2BUA vs. SIP Proxy that you guys have
not mentioned yet in this discussion. I am talking about accurate
accounting. It is not possible to do accurate accounting with SIP Proxy,
in the situation when either traffic source of destination cannot be
trusted to behave correctly and not be trying to abuse the service
purposely or by mistake.

This is the case with all ITSPs out there - they buy minutes from one
source and sell them to another at a higher price, living off the
difference. Both sides in this configuration are potentially interested
in skewing accounting - the party that sends a traffic would gain if it
can use more minutes that it has been accounted for, while the party
that receives traffic would gain if it can bill for more minutes that
have been actually consumed.

Yes, I know some proxies can generate accounting, but there are too many
loopholes in SIP to abuse accounting generated by the proxy. All that
accounting functionality relies on the fact that endpoints behave
strictly to the RFC and it's really easy for anybody with at least
moderate RFC3261 knowledge to bypass. So that ITSP which uses SIP Proxy
for this purpose in the situation described above puts himself open for
intentional or unintentional abuse.

Another reason why ITSPs might want to use B2BUA is to hide traffic
destination from its clients to prevent them from cutting direct dial.
Again, this is not possible with pure SIP Proxy.

There was lengthy discussion on this topic some time ago here.

Regards,
--
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com
MSN: sales at sippysoft.com
Skype: SippySoft
Iñaki Baz Castillo
2009-02-24 19:19:15 UTC
Permalink
Post by Maxim Sobolev
Yes, I know some proxies can generate accounting, but there are too many
loopholes in SIP to abuse accounting generated by the proxy. All that
accounting functionality relies on the fact that endpoints behave
strictly to the RFC and it's really easy for anybody with at least
moderate RFC3261 knowledge to bypass. So that ITSP which uses SIP Proxy
for this purpose in the situation described above puts himself open for
intentional or unintentional abuse.
You are completely right. I remember a long thread no so far in a proxy
maillist about this subject.

The conclusion was clear: A proxy CANNOT be used for accurate and *secure*
accounting. For example a hacker (client) could send an spoofed BYE with
reverse dialog data (and Route pointing to himself) so the proxy would
account the BYE as coming from the other endpoint (PSTN gateway) while the
request is sent back to the attacker (which will reply 200 very happy). And
the RTP remains and the proxy can't realize of it...

In order to avoid such a hack, the proxy should perform very complex checking
in the BYE (checking the RURI, the Route headers...), but a proxy is supposed
to "bypass" in-dialog request without so much checking.

I think it's very clear that a pure SIP proxy network doesn't offer an
accounting solution. But with a B2BUA it's easier. For example, the B2BUA
could behave in a transparent way and could implement SessionTimers in both
legs, so could control the call duration and status without handling the
media. Also, a spoofed BYE wouldn't success in a B2BUA since one leg has no
dialog info about the other leg.

Best regards.
--
I?aki Baz Castillo
Maxim Sobolev
2009-02-24 09:28:51 UTC
Permalink
Post by Vito Korleone
In the scenario that
Bob <-> Alice
Bob <-> Alice Hangs-up
and B2BUA initiates a call leg to Carol for Bob..
you can do that with REFER between the subscribers without using a B2BUA
and the proxy will know that this happened because he "Record Routes".
I doubt that you can do this with REFER. While it's true that you can
use BYE as a trigger, but proxy cannot absorb BYE and generate in-dialog
REFER instead, so that the device will get both BYE and the new REFER
transaction outside of dialog. Its behavior in such case is undefined at
best.

Regards,
--
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com
MSN: sales at sippysoft.com
Skype: SippySoft
Loading...