[asterisk-bugs] [Asterisk 0018336]: [branch] No response is received if we try to subscribe for call completion after we have received a 180 Ringing

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Feb 15 10:13:58 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18336 
====================================================================== 
Reported By:                GeorgeKonopacki
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18336
Category:                   Channels/chan_sip/Subscriptions
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.8.0 
JIRA:                       SWP-2633 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-11-19 08:20 CST
Last Modified:              2011-02-15 10:13 CST
====================================================================== 
Summary:                    [branch] No response is received if we try to
subscribe for call completion after we have received a 180 Ringing
Description: 
The server does NOT send a response if we try to subscribe for call
completion after we have received a 180 Ringing.
You can only subscribe for call completion when the call has been cleared.

This appears to be a bug is the Asterisk call completion state machine.
When we receive the 180 Ringing, for this call, its call-completion state
is ‘CC_AVAILABLE’. If we then send a subscribe message to the server,
it trys to change the call-completion state to ‘CC_CALLER_REQUESRED’.
Because this is an invalid state change, it just ignores the message. The
only state the Asterisk server will accept our subscribe message is in the
state ‘CC_CALLER_AVAILABLE’.

The Asterisk server will go into the ‘CC_CALLER_OFFERED’ when the SIP
client clears the call by sending a CANCEL.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0018337 (Call Completion / SIP) Asterisk Server...
====================================================================== 

---------------------------------------------------------------------- 
 (0131971) svnbot (reporter) - 2011-02-15 10:13
 https://issues.asterisk.org/view.php?id=18336#c131971 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 307879

U   branches/1.8/channels/chan_dahdi.c
U   branches/1.8/channels/chan_sip.c
U   branches/1.8/channels/sig_pri.c
U   branches/1.8/channels/sig_pri.h
U   branches/1.8/include/asterisk/ccss.h
U   branches/1.8/main/ccss.c

------------------------------------------------------------------------
r307879 | rmudgett | 2011-02-15 10:13:57 -0600 (Tue, 15 Feb 2011) | 37
lines

No response sent for SIP CC subscribe/resubscribe request.

Asterisk does not send a response if we try to subscribe for call
completion after we have received a 180 Ringing.  You can only subscribe
for call completion when the call has been cleared.

When we receive the 180 Ringing, for this call, its call-completion state
is 'CC_AVAILABLE'.  If we then send a subscribe message to Asterisk, it
trys to change the call-completion state to 'CC_CALLER_REQUESTED'.
Because this is an invalid state change, it just ignores the message.  The
only state Asterisk will accept our subscribe message is in the
'CC_CALLER_OFFERED' state.

Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears
the call by sending a CANCEL.

Asterisk should always send a response.  Even if its a negative one.


The fix is to allow for the CCSS core to notify a CC agent that a failure
has occurred when CC is requested.  The "ack" callback is replaced with a
"respond" callback.  The "respond" callback has a parameter indicating
either a successful response or a specific type of failure that may need
to be communicated to the requester.

(closes issue https://issues.asterisk.org/view.php?id=18336)
Reported by: GeorgeKonopacki
Tested by: mmichelson, rmudgett

JIRA SWP-2633

(closes issue https://issues.asterisk.org/view.php?id=18337)
Reported by: GeorgeKonopacki
Tested by: mmichelson

JIRA SWP-2634

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=307879 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-02-15 10:13 svnbot         Note Added: 0131971                          
======================================================================




More information about the asterisk-bugs mailing list