[asterisk-bugs] [Asterisk 0012122]: Why Asterisk replies with "486 Busy Here" if it receives a "603 Decline"?

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Mar 5 04:16:48 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12122 
====================================================================== 
Reported By:                ibc
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12122
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!): 101278 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             03-03-2008 06:13 CST
Last Modified:              03-05-2008 04:16 CST
====================================================================== 
Summary:                    Why Asterisk replies with "486 Busy Here" if it
receives a "603 Decline"?
Description: 
If Asterisk calls a phone and receives a "603 Decline" from it, it replies
a "486 Busy Here" to the caller, why?

It makes more sense to reply with a "480 Temporary Unavailable".
Also there is a draft about this issue to propose a new response code:
  441: Decline
(instead of a global "603: Decline"):
  http://tools.ietf.org/html/draft-worley-6xx-considered-harmful

I've tryed and in version 1.4.15, Asterisk replies with "403 Forbidden" if
it receives a "603 Decline" from a phone. Afortunatelly this terrible error
seems to be "semi"-solved in later versions ;)
====================================================================== 

---------------------------------------------------------------------- 
 ibc - 03-05-08 04:16  
---------------------------------------------------------------------- 
I paste the console full output. As you can see, after receiving the "603
Decline" Asterisk says:

    -- SIP/201-0820b808 is busy
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Auto fallthrough, channel 'SIP/200-0820d3c8' status is 'BUSY'

<--- Transmitting (NAT) to 212.121.235.18:5060 --->
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP
192.168.1.58;branch=z9hG4bKxcozppdp;received=212.121.235.18;rport=5060
From: "Twinkleeeee" <sip:200 at asterisk-svn.ilimit.es>;tag=ypyfu
To: <sip:201 at asterisk-svn.ilimit.es>;tag=as06f97034
Call-ID: hyztqyrbakbzmbc at ibc.ilimit.lan
CSeq: 766 INVITE
User-Agent: Asterisk SVN trunk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Content-Length: 0
X-Asterisk-HangupCause: Call Rejected
X-Asterisk-HangupCauseCode: 21




Full log:



<--- SIP read from UDP://222.111.235.18:5060 --->
INVITE sip:201 at asterisk-svn.domain.es SIP/2.0
Via: SIP/2.0/UDP 192.168.1.58;rport;branch=z9hG4bKiyhcisjy
Max-Forwards: 70
To: <sip:201 at asterisk-svn.domain.es>
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 765 INVITE
Contact: <sip:200 at 192.168.1.58>
Content-Type: application/sdp
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.2alpha2
Content-Length: 308

v=0
o=twinkle 175148285 1275464401 IN IP4 192.168.1.58
s=-
c=IN IP4 192.168.1.58
t=0 0
m=audio 8000 RTP/AVP 98 97 8 0 3 101
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
<------------->
--- (13 headers 14 lines) ---
  == Using SIP RTP CoS mark 5
Sending to 222.111.235.18 : 5060 (NAT)
Using INVITE request as basis request - hyztqyrbakbzmbc at ibc.domain.lan
Found user '200' for '200'
asterisk-svn*CLI>
<--- Reliably Transmitting (NAT) to 222.111.235.18:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP
192.168.1.58;branch=z9hG4bKiyhcisjy;received=222.111.235.18;rport=5060
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
To: <sip:201 at asterisk-svn.domain.es>;tag=as7a3c6b91
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 765 INVITE
User-Agent: Asterisk SVN trunk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk",
nonce="3f3a0a64"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog 'hyztqyrbakbzmbc at ibc.domain.lan' in
32000 ms (Method: INVITE)
asterisk-svn*CLI>
<--- SIP read from UDP://222.111.235.18:5060 --->
ACK sip:201 at asterisk-svn.domain.es SIP/2.0
Via: SIP/2.0/UDP 192.168.1.58;rport;branch=z9hG4bKiyhcisjy
Max-Forwards: 70
To: <sip:201 at asterisk-svn.domain.es>;tag=as7a3c6b91
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 765 ACK
User-Agent: Twinkle/1.2alpha2
Content-Length: 0

<------------->
--- (9 headers 0 lines) ---
asterisk-svn*CLI>
<--- SIP read from UDP://222.111.235.18:5060 --->
INVITE sip:201 at asterisk-svn.domain.es SIP/2.0
Via: SIP/2.0/UDP 192.168.1.58;rport;branch=z9hG4bKxcozppdp
Max-Forwards: 70
To: <sip:201 at asterisk-svn.domain.es>
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 766 INVITE
Contact: <sip:200 at 192.168.1.58>
Content-Type: application/sdp
Authorization: Digest
username="200",realm="asterisk",nonce="3f3a0a64",uri="sip:201 at asterisk-svn.domain.es",response="685a91fb5a47c1260db643c320144ffa",algorithm=MD5
Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
Supported: replaces,norefersub,100rel
User-Agent: Twinkle/1.2alpha2
Content-Length: 308

v=0
o=twinkle 175148285 1275464401 IN IP4 192.168.1.58
s=-
c=IN IP4 192.168.1.58
t=0 0
m=audio 8000 RTP/AVP 98 97 8 0 3 101
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
<------------->
--- (14 headers 14 lines) ---
Sending to 222.111.235.18 : 5060 (NAT)
Using INVITE request as basis request - hyztqyrbakbzmbc at ibc.domain.lan
Found user '200' for '200'
Found RTP audio format 98
Found RTP audio format 97
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 3
Found RTP audio format 101
Peer audio RTP is at port 192.168.1.58:8000
Found audio description format speex for ID 98
Found audio description format speex for ID 97
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
Found audio description format GSM for ID 3
Found audio description format telephone-event for ID 101
Got unsupported a:fmtp in SDP offer
Capabilities: us - 0x8000e (gsm|ulaw|alaw|h263), peer - audio=0x20e
(gsm|ulaw|alaw|speex)/video=0x0 (nothing)/text=0x0 (nothing), combined -
0xe (gsm|ulaw|alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1
(telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 192.168.1.58:8000
Looking for 201 in desde-usuarios (domain asterisk-svn.domain.es)
list_route: hop: <sip:200 at 192.168.1.58>

<--- Transmitting (NAT) to 222.111.235.18:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP
192.168.1.58;branch=z9hG4bKxcozppdp;received=222.111.235.18;rport=5060
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
To: <sip:201 at asterisk-svn.domain.es>
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 766 INVITE
User-Agent: Asterisk SVN trunk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact: <sip:201 at 88.99.0.111:5060>
Content-Length: 0


<------------>
    -- Executing [201 at desde-usuarios:1] Dial("SIP/200-0820d3c8",
"SIP/201,30,tT") in new stack
  == Using SIP RTP CoS mark 5
Audio is at 88.99.0.111 port 10322
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x2 (gsm) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 222.111.235.18:5060:
INVITE sip:201 at 192.168.1.58 SIP/2.0
Via: SIP/2.0/UDP 88.99.0.111:5060;branch=z9hG4bK73c45c44;rport
Max-Forwards: 70
From: "Twinkleeeee" <sip:200 at 88.99.0.111:5060>;tag=as7ebe1ea6
To: <sip:201 at 192.168.1.58>
Contact: <sip:200 at 88.99.0.111:5060>
Call-ID: 3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111
CSeq: 102 INVITE
User-Agent: Asterisk SVN trunk
Date: Wed, 05 Mar 2008 10:17:32 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 317

v=0
o=root 620478896 620478896 IN IP4 88.99.0.111
s=Asterisk PBX SVN-trunk-r101271M
c=IN IP4 88.99.0.111
t=0 0
m=audio 10322 RTP/AVP 0 3 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---
    -- Called 201
asterisk-svn*CLI>
<--- SIP read from UDP://222.111.235.18:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 88.99.0.111:5060;rport=5060;branch=z9hG4bK73c45c44
To: <sip:201 at 192.168.1.58>
From: "Twinkleeeee" <sip:200 at 88.99.0.111:5060>;tag=as7ebe1ea6
Call-ID: 3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111
CSeq: 102 INVITE
Server: Twinkle/1.2alpha2
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---

<--- SIP read from UDP://222.111.235.18:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 88.99.0.111:5060;rport=5060;branch=z9hG4bK73c45c44
To: <sip:201 at 192.168.1.58>;tag=udoed
From: "Twinkleeeee" <sip:200 at 88.99.0.111:5060>;tag=as7ebe1ea6
Call-ID: 3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111
CSeq: 102 INVITE
Server: Twinkle/1.2alpha2
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---
    -- SIP/201-0820b808 is ringing

<--- Transmitting (NAT) to 222.111.235.18:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP
192.168.1.58;branch=z9hG4bKxcozppdp;received=222.111.235.18;rport=5060
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
To: <sip:201 at asterisk-svn.domain.es>;tag=as06f97034
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 766 INVITE
User-Agent: Asterisk SVN trunk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact: <sip:201 at 88.99.0.111:5060>
Content-Length: 0


<------------>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
asterisk-svn*CLI>
<--- SIP read from UDP://222.111.235.18:5060 --->
SIP/2.0 603 Decline
Via: SIP/2.0/UDP 88.99.0.111:5060;rport=5060;branch=z9hG4bK73c45c44
To: <sip:201 at 192.168.1.58>;tag=udoed
From: "Twinkleeeee" <sip:200 at 88.99.0.111:5060>;tag=as7ebe1ea6
Call-ID: 3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111
CSeq: 102 INVITE
Server: Twinkle/1.2alpha2
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---
    -- Got SIP response 603 "Decline" back from 222.111.235.18
Transmitting (NAT) to 222.111.235.18:5060:
ACK sip:201 at 192.168.1.58 SIP/2.0
Via: SIP/2.0/UDP 88.99.0.111:5060;branch=z9hG4bK73c45c44;rport
Max-Forwards: 70
From: "Twinkleeeee" <sip:200 at 88.99.0.111:5060>;tag=as7ebe1ea6
To: <sip:201 at 192.168.1.58>;tag=udoed
Contact: <sip:200 at 88.99.0.111:5060>
Call-ID: 3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111
CSeq: 102 ACK
User-Agent: Asterisk SVN trunk
Content-Length: 0


---
    -- SIP/201-0820b808 is busy
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Auto fallthrough, channel 'SIP/200-0820d3c8' status is 'BUSY'

<--- Transmitting (NAT) to 222.111.235.18:5060 --->
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP
192.168.1.58;branch=z9hG4bKxcozppdp;received=222.111.235.18;rport=5060
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
To: <sip:201 at asterisk-svn.domain.es>;tag=as06f97034
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 766 INVITE
User-Agent: Asterisk SVN trunk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Content-Length: 0
X-Asterisk-HangupCause: Call Rejected
X-Asterisk-HangupCauseCode: 21


<------------>
asterisk-svn*CLI>
<--- SIP read from UDP://222.111.235.18:5060 --->
ACK sip:201 at asterisk-svn.domain.es SIP/2.0
Via: SIP/2.0/UDP 192.168.1.58;rport;branch=z9hG4bKxcozppdp
Max-Forwards: 70
To: <sip:201 at asterisk-svn.domain.es>;tag=as06f97034
From: "Twinkleeeee" <sip:200 at asterisk-svn.domain.es>;tag=ypyfu
Call-ID: hyztqyrbakbzmbc at ibc.domain.lan
CSeq: 766 ACK
Authorization: Digest
username="200",realm="asterisk",nonce="3f3a0a64",uri="sip:201 at asterisk-svn.domain.es",response="685a91fb5a47c1260db643c320144ffa",algorithm=MD5
User-Agent: Twinkle/1.2alpha2
Content-Length: 0

<------------->
--- (10 headers 0 lines) ---
Really destroying SIP dialog
'3d70edc44c1c5d6f2f4744e1467b78bb at 88.99.0.111' Method: INVITE
Really destroying SIP dialog 'hyztqyrbakbzmbc at ibc.domain.lan' Method: ACK 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
03-05-08 04:16  ibc            Note Added: 0083417                          
======================================================================




More information about the asterisk-bugs mailing list