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

Reply via email to