[asterisk-bugs] [JIRA] (ASTERISK-27920) app_queue: Queue member considered inuse after immediately hanging up during dialing.

Joshua Colp (JIRA) noreply at issues.asterisk.org
Wed Aug 1 04:23:54 CDT 2018


    [ https://issues.asterisk.org/jira/browse/ASTERISK-27920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=244357#comment-244357 ] 

Joshua Colp commented on ASTERISK-27920:
----------------------------------------

The issue has been accepted and noone is actively working on it. If you'd like to contribute your change the method to do so is in the initial comment posted on this issue, otherwise you'll have to wait for someone to dig in.

> app_queue: Queue member considered inuse after immediately hanging up during dialing.
> -------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-27920
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27920
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 13.21.0
>         Environment: Asterisk v13.21.0, Telephone.
>            Reporter: Cao Minh Hiep
>            Assignee: Unassigned
>         Attachments: ast_configs.csv, ast_extensions.csv, Unconditional_call_forward-CLI_logs_13.21.txt, Unconditional_call_forward_failed_full_logs_13.21.txt, Unconditional_call_forward_failed_queue-logs_13.21.txt
>
>
> Hello,
> We found an issue when making an Unconditional Call Forward as the following:
> 1. Two phones A and phone B in two work groups.
> 2. Setup an Unconditional Call Forward from phone A to phone B.
> 3. Make a call from outside to phone A.
> 4. Phone A will be not ringing, it forwards to phone B.
> 5. Phone B will be ringing, then pick up phone B.
> 6. After picking up phone B, immediately hang up phone B.
> 7. Phone B has been hung up, however still hear ringing sound from the outside phone.
> 8. Queue log will output the message of "has another call trying, can't receive the call "
> 9. Hang up the outside phone then try to make another call.
> 10. Now we can hear ringing sound from outside phone but, phone B now is not ringing.
> We investigated the issue and understood that:
> 1). It will happen 100% with the scenario above.
> 2). And It will not happen if picking up the phone and answer.
> 3). When making an unconditional call forward, 
>      the queue member of the phone A will be added to pending members container, 
>      and the queue member of the phone B will be not added to.
> 4). Normally, the added queue member will be removed after hung up the phone at update_queue().
> 5). When the issue happens, It will not be hung up in this way, therefore 
>    the added queue member will not be removed. 
> 6). We tried to fix this issue by adding "pending_members_remove(member)" into the following code:
> {noformat}
> if (ast_check_hangup(peer)) {
>         /* Agent must have hung up */
> 	ast_log(LOG_WARNING, "Agent on %s hungup on the customer.\n", ast_channel_name(peer));
> +   pending_members_remove(member);
> 	ast_queue_log(queuename, ast_channel_uniqueid(qe->chan), member->membername, "AGENTDUMP", "%s", "");
> 	blob = ast_json_pack("{s: s, s: s, s: s}", "Queue", queuename,
> 			                   "Interface", member->interface,
> 					   "MemberName", member->membername);
> 	queue_publish_multi_channel_blob(qe->chan, peer, 
>                                                                  queue_agent_dump_type(), blob);
> 	ast_channel_publish_dial(qe->chan, peer, member->interface, 
>         ast_hangup_cause_to_dial_status(ast_channel_hangupcause(peer)));
> 	ast_autoservice_chan_hangup_peer(qe->chan, peer);
> 	ao2_ref(member, -1);
> 	goto out;
> } else if (ast_check_hangup(qe->chan)) {
> {noformat}
> Then, issue does not happen.
> Please take a look at them and tell us the correct way to solve this issue.
> Thank you.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list