[OpenSIPS-Users] any reason why Opensips would replace 503 with 500 ?

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Oct 8 18:27:03 CEST 2010


Hi Dave,

Se RFC3261:

21.5.4 503 Service Unavailable

   The server is temporarily unable to process the request due to a
   temporary overloading or maintenance of the server.  The server MAY
   indicate when the client should retry the request in a Retry-After
   header field.  If no Retry-After is given, the client MUST act as if
   it had received a 500 (Server Internal Error) response.

   A client (proxy or UAC) receiving a 503 (Service Unavailable) SHOULD
   attempt to forward the request to an alternate server.  It SHOULD NOT
   forward any other requests to that server for the duration specified
   in the Retry-After header field, if present.

   Servers MAY refuse the connection or drop the request instead of
   responding with 503 (Service Unavailable).


So a 503 + Retry-After should od th trick for you, but not sure if your 
customers properly implement the Retry After hdr.

Regards,
Bogdan

Dave Singer wrote:
> Thank you very much!!
> I'm doing class 4 switching and for some reason all my customers 
> expect a 503 as a slow down your sending me too much traffic. Not the 
> I'm broken.
> Is the 500 the proper way to tell them to back off a little. Is there 
> a header that should be used to tell them how much to back off?
>
> Thanks again Bogdan for all your work and help you give everyone. I 
> don't know how you keep up.
>
> Dave
>
> On Fri, Oct 8, 2010 at 4:32 AM, Bogdan-Andrei Iancu 
> <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>> wrote:
>
>     Hi Dave,
>
>     See: http://www.opensips.org/Resources/DocsCoreFcn16#toc34  (added the
>     docs for this module)
>
>     Regards,
>     Bogdan
>
>     Dave Singer wrote:
>     > Julien,
>     >
>     > I have been catching it in failure_route and sending it on up
>     with this:
>     >         if (t_check_status("^503$")) {
>     >                 t_reply("503", "Service Unavailable");
>     >                 exit;
>     >         }
>     >
>     > I think you could use t_reply("503", $(<reply>rr));   (note the
>     use of
>     > <reply> to indicate the reply context see usage examples near
>     the top
>     > of this link: <http://www.opensips.org/Resources/DocsCoreVar16> ) to
>     > have it use the original reason text instead of always sending
>     > "Service Unavailable" no matter what reason came with the 503. I
>     > haven't tried it yet myself.
>     > I'm doing this because I'm just using it as a proxy to mangle
>     headers
>     > and not decide where to go next. So I really do just want to
>     pass the
>     > response back to the server doing the routing logic. It would seem
>     > passing the 503 would be the normal behavior in this case. Plus like
>     > the situation of Julien which I also have, where the upstream
>     routers
>     > are not properly handling the diff between a 500 and 503.
>     >
>     > So I agree that it would be nice if there were a param and/or
>     var that
>     > could be set for the desired behavior like the invite timeout
>     settings
>     > for tm.
>     >
>     > Bogdan,
>     >
>     > Is "disable_503_translation" ( from the subject of the link you
>     posted
>     > ) an actual parameter (un)documented?
>     >
>     > On Thu, Oct 7, 2010 at 2:44 PM, thrillerbee
>     <thrillerbee at gmail.com <mailto:thrillerbee at gmail.com>
>     > <mailto:thrillerbee at gmail.com <mailto:thrillerbee at gmail.com>>>
>     wrote:
>     >
>     >     Bogdan,
>     >
>     >     Is this or could this be configurable?  It, unfortunately,
>     breaks
>     >     a lot of existing applications.
>     >
>     >     Thanks.
>     >
>     >
>     >     On Thu, Oct 7, 2010 at 1:15 PM, Bogdan-Andrei Iancu
>     >     <bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>
>     <mailto:bogdan at voice-system.ro <mailto:bogdan at voice-system.ro>>>
>     wrote:
>     >
>     >         Hi Julien,
>     >
>     >         see:
>     >        
>     http://lists.opensips.org/pipermail/users/2010-September/014505.html
>     >
>     >         Regards,
>     >         Bogdan
>     >
>     >         Julien Chavanton wrote:
>     >         > Hi, is there any reason why Opensips would replace 503
>     with
>     >         500 ?
>     >         >
>     >         > The UA initiating the call expect 503 to reroute
>     somewhere else
>     >         >
>     >         > INVITE :
>     >         >
>     >         >  10.0.20.14(UA) -> 10.2.0.1(Proxy) -> 10.0.4.202(UA)
>     >         >
>     >         > RESPONSE :
>     >         >
>     >         > U 10.0.4.202:5060 <http://10.0.4.202:5060>
>     <http://10.0.4.202:5060> -> 10.2.0.1:5060 <http://10.2.0.1:5060>
>     >         <http://10.2.0.1:5060>
>     >         > SIP/2.0 503 Service Unavailable.
>     >         >
>     >         > U 10.2.0.1:5060 <http://10.2.0.1:5060>
>     <http://10.2.0.1:5060> -> 10.0.20.14:53584 <http://10.0.20.14:53584>
>     >         <http://10.0.20.14:53584>
>     >         > SIP/2.0 500 Service Unavailable.
>     >         >
>     >         >
>     >        
>     ------------------------------------------------------------------------
>     >         >
>     >         > _______________________________________________
>     >         > Users mailing list
>     >         > Users at lists.opensips.org
>     <mailto:Users at lists.opensips.org> <mailto:Users at lists.opensips.org
>     <mailto:Users at lists.opensips.org>>
>     >         > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >         >
>     >
>     >
>     >         --
>     >         Bogdan-Andrei Iancu
>     >         OpenSIPS Bootcamp
>     >         15 - 19 November 2010, Edison, New Jersey, USA
>     >         www.voice-system.ro <http://www.voice-system.ro>
>     <http://www.voice-system.ro>
>     >
>     >
>     >         _______________________________________________
>     >         Users mailing list
>     >         Users at lists.opensips.org
>     <mailto:Users at lists.opensips.org> <mailto:Users at lists.opensips.org
>     <mailto:Users at lists.opensips.org>>
>     >         http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>     >
>     >
>     >     _______________________________________________
>     >     Users mailing list
>     >     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     <mailto:Users at lists.opensips.org <mailto:Users at lists.opensips.org>>
>     >     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Users mailing list
>     > Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>     >
>
>
>     --
>     Bogdan-Andrei Iancu
>     OpenSIPS Bootcamp
>     15 - 19 November 2010, Edison, New Jersey, USA
>     www.voice-system.ro <http://www.voice-system.ro>
>
>
>     _______________________________________________
>     Users mailing list
>     Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>     http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>   


-- 
Bogdan-Andrei Iancu
OpenSIPS Bootcamp
15 - 19 November 2010, Edison, New Jersey, USA
www.voice-system.ro




More information about the Users mailing list