On 6/2/12 4:20 AM, pranab sahoo wrote:
> Hi all,
>
> Its nice to have a platform for sip related discussion.
>
> It's first time I am working in call forwarding.Really I have a doubt
> in call forwarding and redirecting.
>
> Suppose consider a scenario
>
> INVITE INVITE
> call id=1234 call id=?
> Max-forward=70 Max-forwrd=?
> A--------------------->B--------------------->C
>
> so B going to forward the call to C.
> so in this case
>
> Will B behave like a proxy or user agent?
> so call id will remain same for B------------->C or it will be different?
> and what about Max forward,if Max-forward=0 in A---->B,then call will
> forward to C or not???
Whether B acts as a proxy or a UA is up to it.
If it acts as a UA then we would call it a back to back UA (B2BUA).
If it acts as a proxy then 3261 is clear about how it should act.
It should forward the message on with the same callid and with the M-F
value decremented to 69. If the incoming M-F value to B had been 0 then
it must not forward.
If B acts as a B2BUA, there are very few standards about how it should
behave. Specifically, it is required to act as a UA on both "sides".
That means it should assign a new callid for the B-C leg. But there are
really no other rules about the relationship of the message received
from A and the one sent to C. For instance, B is *permitted* to assign a
new M-F value to the outgoing message, independent of the value received
in the message from A. It is also permitted to act on the incoming
message if it has a M-F value of 0, so it can in principle send a
similar message on to C, with a new M-F value.
However, its widely understood that there are things B *should* do in
order to allow normal things to work well. In particular, the purpose of
the M-F header is to help prevent message loops. That is something that
B should have an interest in preserving. It can best do that by acting
as a proxy would with respect to the M-F header. There is work in
progress that would start to put standards in place for this behavior.
If you are new to this, be careful. When constructing a new B2BUA there
are many decisions you must make about how it should behave. If you get
them wrong you can make a mess that can be difficult to debug. And there
are no standards to guide you.
Thanks,
Paul
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors