[asterisk-bugs] [Asterisk 0012885]: Asterisk should reply 480(instead of 404) when a called user is not registered

noreply at bugs.digium.com noreply at bugs.digium.com
Tue Jul 1 08:02:30 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12885 
====================================================================== 
Reported By:                ibc
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12885
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-18-2008 17:14 CDT
Last Modified:              07-01-2008 08:02 CDT
====================================================================== 
Summary:                    Asterisk should reply 480(instead of 404) when a
called user is not registered
Description: 
Imagine we have 2 SIP users (201 and 202) and this dialplan:

  exten => _2XX,1,Dial(SIP/${EXTEN})
  exten => _2XX,n,Hangup

If 200 calls 201 and 201 is not registered then Asterisk will reply a "404
Not Found".

Well, even if this code is very extended for this purpose I'm sure that is
incorrect:

---------------
21.4.5 404 Not Found

   The server has definitive information that the user does not exist at
   the domain specified in the Request-URI.  This status is also
   returned if the domain in the Request-URI does not match any of the
   domains handled by the recipient of the request.

21.4.18 480 Temporarily Unavailable

   The callee's end system was contacted successfully but the callee is
   currently unavailable (for example, is not logged in, ...
---------------

In the example above, 200 called a user whose end system is Asterisk, so
"the callee's end system was contacted successfully but the callee is
currently unavailable (for example, is not logged in)".

"404 Not Found" should be replied when the server/proxy has, permanently,
no info about the dialed extension.

So:
- If 200 calls 201 (and 201 is not registered) Asterisk should reply
"480".
- If 200 calls to 333 Asterisk should reply "404".
- If 200 calls to 202 (non existing SIP user but a valid extension) I'm
not sure if it's better a 404 or 480. Probably a 404.

Also note the SIP/ISUP mapping of RFC 3398:

---------------
  404 Not found                          1 Unallocated
number
  480 Temporarily unavailable           18 No user responding
---------------

====================================================================== 

---------------------------------------------------------------------- 
 Corydon76 - 07-01-08 08:02  
---------------------------------------------------------------------- 
I'm going to suggest this patch, which defines a new cause in line with the
ISUP code translation table, using Q.931 code 20, which isn't defined in
the Q.931 spec, but which RFC 3398 maps to SIP code 480 and defines as
"Subscriber Absent". 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
07-01-08 08:02  Corydon76      Note Added: 0089474                          
======================================================================




More information about the asterisk-bugs mailing list