[asterisk-bugs] [Asterisk 0017692]: [patch] subchannel remains half-open after call transfer

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Jul 28 02:27:26 CDT 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=17692 
====================================================================== 
Reported By:                jmhunter
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   17692
Category:                   Channels/chan_skinny
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for testing
Asterisk Version:           SVN 
JIRA:                       SWP-1960 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 278578 
Request Review:              
====================================================================== 
Date Submitted:             2010-07-23 18:02 CDT
Last Modified:              2010-07-28 02:27 CDT
====================================================================== 
Summary:                    [patch] subchannel remains half-open after call
transfer
Description: 
Call transfers don't seem to work properly using chan_skinny.

To reproduce:

 [ jmhtest1 is a Skinny phone (Cisco 7905G)   ]
 [ 5022 is a DAHDI-connected analogue handset ]

1. jmhtest1 picks up handset and calls 6001 (music on hold)
2. jmhtest1 presses 'Transfer'
3. jmhtest1 dials 5022
4. 5022 picks up
5. jmhtest1 presses 'Transfer'
6. jmhtest1 replaces handset in cradle

At this point, jmhtest1 still shows "Connected" on its display, and now
won't give out a dialtone when handset is picked up. Pressing the 'EndCall'
softkey leads to messages such as:
[Jul 23 23:26:21] WARNING[19173]: chan_skinny.c:1673
find_subchannel_by_instance_reference: Could not find subchannel with
reference '1' on 'jmhtest1'
 Received Softkey Event: End Call(1/1)
[Jul 23 23:26:22] WARNING[19173]: chan_skinny.c:1673
find_subchannel_by_instance_reference: Could not find subchannel with
reference '1' on 'jmhtest1'
 Received Softkey Event: End Call(1/1)

Hanging up 5022 (the recipient of the call transfer) does not make any
difference, jmhtest1 still does not work and I have to reboot the phone.

Trying a blind transfer (missing out step 5 above) seems to be a bit hit
and miss - this either works fine, or places the call on hold. It's done
both for me at various times, I think it's to do with whether Asterisk has
crashed recently (see https://issues.asterisk.org/view.php?id=17680).

In addition, at step 3 above, I can hear the audio from the original call
to 6001, as well as the audio from 5022 (where I am transferring to). That
surely shouldn't happen - jmhtest1 should talk to 5022 and only 5022 at
that point, right?
====================================================================== 

---------------------------------------------------------------------- 
 (0125175) jmhunter (reporter) - 2010-07-28 02:27
 https://issues.asterisk.org/view.php?id=17692#c125175 
---------------------------------------------------------------------- 
I also decided to test this with a 7920 handset, in case there was
something odd about the 7905 I've been using for testing. I discovered
something odd, that also happened with the 7905 (but I forgot to mention
above). Asterisk thought the handset was already offhook - on the 7905 this
meant I received no dialtone; on the 7920 I merely got the message below. I
solved it on the 7905, to produce the debug logs above, by restarting
Asterisk.


## New skinny handset registers with Asterisk; this handset has been
powered 
## down since before Asterisk starts up, so there are definitely no
current 
## calls on it)

    -- Starting Skinny session from 10.xxx.x.xx
    -- Skinny mwi_event_cb found 0 new messages
    -- Device 'SEP00xxxxxxxxxx' successfully registered
Device capability set to '0xc (ulaw|alaw)'
Adding button: 9, 1

## Dial 6001 (music on hold) from 7920 skinny handset

[Jul 28 08:21:19] WARNING[15640]: chan_skinny.c:1673
find_subchannel_by_instance_reference: Could not find subchannel with
reference '0' on 'jmhwireless1'
    -- Starting simple switch on '5908 at jmhwireless1'
    -- Got offhook message when device (5908 at jmhwireless1) already
offhook
    -- Executing [6001 at sip:1] Answer("Skinny/5908 at jmhwireless1-2", "") in
new stack
    -- Executing [6001 at sip:2] NoCDR("Skinny/5908 at jmhwireless1-2", "") in
new stack
    -- Executing [6001 at sip:3] MusicOnHold("Skinny/5908 at jmhwireless1-2",
"mugss") in new stack
    -- Started music on hold, class 'mugss', on
Skinny/5908 at jmhwireless1-2
    -- Stopped music on hold on Skinny/5908 at jmhwireless1-2
  == Spawn extension (sip, 6001, 3) exited non-zero on
'Skinny/5908 at jmhwireless1-2'
[Jul 28 08:21:49] WARNING[15640]: chan_skinny.c:1694
find_subchannel_by_reference: Could not find any lines that contained a
subchannel with reference '2' on device 'jmhwireless1' 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-07-28 02:27 jmhunter       Note Added: 0125175                          
======================================================================




More information about the asterisk-bugs mailing list