Subject: RE: [SIP] Some idea on Stateful SIP Proxy for Card Service

From: Jonathan Rosenberg <[email-masked]>
Date: Sat, 10 Feb 2001 00:41:07 -0500

> -----Original Message-----
> From: Jo Hornsby [mailto:[email-masked]]
> Sent: Thursday, February 01, 2001 4:41 AM
> To: William Marshall; [email-masked]
> Cc: [email-masked]
> Subject: RE: [SIP] Some idea on Stateful SIP Proxy for Card Service
> 
> 
> William Marshall wrote:
> > Consider a simple voicemail service, implemented by a 
> service provider.
> > The UAS receives an INVITE, sends 180-Ringing, then 4xx/6xx 
> and gives up.
> > The proxy changes the 4xx/6xx into a 302-Redirect with a 
> Contact header
> > of the voicemail server.
> >
> > But, a proxy can't do this.  So it is a B2BUA.  There is 
> nothing about
> > state storage needed, nothing extra for fault tolerance and scale;
> > in fact this "proxy" is probably simpler than most 
> "stateful proxies".
> > But its need to change the response from 4xx/6xx to 3xx 
> makes it a B2BUA.
> 
> I disagree with this.  I think it is fine for a proxy to pull
> responses "out of the air".  What's it's not allowed to do is
> modify fundamental transaction-identifying headers (From, To,
> Call-ID, CSeq, Via immediately spring to mind).

Indeed, it is fine. Here is a proof, in fact.

Consider that the proxy forks, gets a 4xx and a 5xx. Then, it forks once
more, but to itself. WHen it receives this fork, it responds with a 3xx.
Now, the best response is 3xx, which it may forward upstream.

What a proxy should not do, is generate a response when there are pending
proxied branches outstanding. If it does this, one of those pending branches
may respond with a 200 OK, but you've already sent some other non-2xx
upstream. Thats bad. This is why you REALLy want to have a UAS that responds
to a cancelled INVITE with a 487; it guarantees that the proxy gets final
responses before forwarding one upstream.

---
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (973) 952-5000
http://www.dynamicsoft.com

_______________________________________________
This list is for continuing development of the SIP protocol.
The sip-implementer's list is the place to discuss implementation,
and to receive advice on understanding existing sip.
To subscribe to it, send mail to [email-masked] with
"subscribe sip-implementors" in the body.