A call stateful proxy is a proxy - it follows all the rules for what a
proxy can and can't do. It is presumably also transaction stateful, so
it follows the rules for that too. Because it is following proxy rules,
it must not replace the contact address.
Over and above that, it keeps state about calls (dialogs, dialog
usages). Presumably, because it keeps such state, it needs to monitor
the end of the dialog so that it will no when to abandon the state. To
do that, it needs to be on the signaling path for the duration of the
dialog. Because it can't rewrite the Contact address, the only way it
can ensure this is to record-route. It will then see all the messages in
the dialog and can use those to maintain its state, and to know when to
abandon its state. However, it won't necessarily know one of he UAs in
the call die. It can use Session Timer to request that the UAs signal
occasionally, and then, if it fails to see the signaling by the expected
time it can presume that one end is broken and it should abandon its
state. (If neither UA supports session timer then it is out of luck, and
probably should not attempt to be call stateful.)
An obvious question is whether there is any value in a call stateful
proxy. For the most part I think they have been found to not be very
useful. Potentially they could be used for logging and accounting, but
they are limited in what can be done, and are dependent on session timer.
Paul
Ivar Lumi wrote:
>
>
> Can you explain with some words diff of B2BUA and call statefull proxy ?
>
> Ok i understand B2BUA, but call statefull then ?
>
> I'm trying to get best way to implement dialog statefull proxy.
>
>
> Paul Kyzivat wrote:
>>
>>
>> Ivar Lumi wrote:
>>> Hi,
>>>
>>> I'm developing free open source c# SIP stack, all almost well, but
>>> now need some help.
>>> (I try to make dialog statefull proxy)
>>>
>>> Is it right if i say:
>>> Dialog statefull proxy won't add record-route header field, but
>>> adds/updates Contact: field in proxy to point to proxy server.
>>
>> If you do this, you have built a B2BUA, not a call stateful proxy.
>> They are quite different things, though they can be used for some of
>> the same things.
>>
>>> I did some drawing(not finished yet) but shows what i mean:
>>> http://www.lumisoft.ee/ivx/sip/sip_invite.gif
>>>
>>> Any help will be welcome.
>>>
>>>
>>>
>>> _______________________________________________
>>> Sip-implementors mailing list
>>> [email protected]
>>> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>>>
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors