[asterisk-bugs] [JIRA] (ASTERISK-27920) Unconditional Call Forward:Failed after immediately hanging up.

Cao Minh Hiep (JIRA) noreply at issues.asterisk.org
Tue Jun 19 23:03:55 CDT 2018


     [ https://issues.asterisk.org/jira/browse/ASTERISK-27920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cao Minh Hiep updated ASTERISK-27920:
-------------------------------------

    Attachment:     (was: Unconditional_call_forward-CLI_logs.txt)

> Unconditional Call Forward:Failed after immediately hanging up.
> ---------------------------------------------------------------
>
>                 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: 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