3 way call problem after hangup

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

3 way call problem after hangup

Postby Invictus » Sat Dec 09, 2017 4:08 am

Hi,

I am having a strange problem in 3-way calls. agent1 calls customer, then on transfer area selects AGENTDIRECT and select agent2, checks consultative and clicks dial with customer button. When agent2 joins call, agent1 clicks leave 3-way call button. When conversation is over agent2 hangups call. So far everythings is normal, agent1 and agent2 continues with next calls but customers phone (i am the customer) still on line with no agent, after about 2 minutes customer hears 'You have been kicked from this conferences' and call finishes.

I looked meetme conferences from asterisk cli,

Initial state:
- 8600051 : agent1
- 8600052 : agent2

After agent1 call customer:
- 8600051 : agent1, customer (i thing second local particapent is for recording)
- 8600052 : agent2

After 3-way:
- 8600051 : agent1, customer, IAX2/127.0.0.1 (and recording channel)
- 8600052 : agent2, IAX2/ASTloop (and recording channel)

After agent1 leaves 3-way:
- 8600051 : customer, IAX2/127.0.0.1
- 8600052 : agent2, IAX2/ASTloop (and recording channel)
- 8600053 : agent1

After agent2 hangs up
- 8600051 : customer alone
- 8600052 : agent2
- 8600053 : agent1

And 2 minutes later, customer is kicked from 8600051.

My installation is ViciBox 8.0.1
Invictus
 
Posts: 16
Joined: Wed Dec 28, 2016 9:49 am

Re: 3 way call problem after hangup

Postby mflorell » Sat Dec 09, 2017 9:32 am

That's normal on a default installation. If you want the customer line to be hung up quicker, you're going to have to set up the "cu3way" options in the crontab on your server. There are two changes that need to be made:

# AST_conf_update_3way.pl version 2.14
#
# This script checks leave 3way vicidial_conferences for participants
# This is a constantly running script that is in the keepalive_ALL script, to
# enable this script in the keepalive, add the --cu3way flag to the
# ADMIN_keepalive_ALL.pl entry in the crontab
#
# NOTE: if you are using this script, then you should set the flag in the other
# script's crontab entry that does some of these functions:
# AST_conf_update.pl --no-vc-3way-check
mflorell
Site Admin
 
Posts: 17040
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: 3 way call problem after hangup

Postby Invictus » Fri Dec 15, 2017 6:11 am

I did what you said, thank you.
Invictus
 
Posts: 16
Joined: Wed Dec 28, 2016 9:49 am

Re: 3 way call problem after hangup

Postby Invictus » Fri Dec 15, 2017 6:19 am

Now I have another problem,

I want to use multiple AGENTDIRECT for each campaign.

For example;
AGENTDIRECTcamp1 for Campaign1, AGENTDIRECTcamp2 for CampaiI

In transfer conf;
agent1 selects AGENTDIRECTcamp2
selects agent2
checks consultative
clicks dial with customer button

In asterisk cli,
NOTICE[1885][C-00000195]: chan_local.c:1006 local_call: No such extension/context 90009*AGENTDIRECTcamp2*CXFER*1292060**0505555555*agent1*agent2*21*@d while calling Local channel
NOTICE[1885][C-00000195]: channel.c:5747 __ast_request_and_dial: Unable to call channel Local/90009*AGENTDIRECTcamp2*CXFER*1292060**0505555555*agent1*agent2*21*@default

When group name was "AGENTDIRECT" there wasn't any problem.
Invictus
 
Posts: 16
Joined: Wed Dec 28, 2016 9:49 am

Re: 3 way call problem after hangup

Postby Invictus » Sat Dec 16, 2017 8:32 am

I have solved this.

Because of AST_MAX_EXTENSION is defined as 80, exten lenghth shouldn't be over 80 characters.
"90009*AGENTDIRECTcamp2*CXFER*1292060**0505555555*agent1*agent2*21*@default" was example, actual one's length is over 80.

so I maked some changes in vicidial.php and agi-VDAD_ALL_inbound.agi

in vicidial.php, instead of usernames in "user" and "agentdirect ", I wrote user ids.
Code: Select all
tasknum = Ctasknum + "*" + XfeR_GrouP + '*CXFER*' + document.vicidial_form.lead_id.value + '**' + dialed_number + '*' + user + '*' + agentdirect + '*' + VD_live_call_secondS + '*';


in agi-VDAD_ALL_inbound.agi
under this line;
Code: Select all
$agent_grab_extension = $EXT_vars[10];   # used by dial in-group feature

i added
Code: Select all
         if (length($agent_only) > 0) {
            $stmtA = "SELECT user FROM vicidial_users where user_id = '$agent_only' LIMIT 1;";
            $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
            $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
            $sthArows=$sthA->rows;
            if ($sthArows > 0) {
               @aryA = $sthA->fetchrow_array;
               $agent_only =          $aryA[0];
            }               
            $sthA->finish();
         }
         
         
         if (length($fronter) > 0) {
            $stmtA = "SELECT user FROM vicidial_users where user_id = '$fronter' LIMIT 1;";
            $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
            $sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
            $sthArows=$sthA->rows;
            if ($sthArows > 0) {
               @aryA = $sthA->fetchrow_array;
               $fronter =          $aryA[0];
            }               
            $sthA->finish();
         }
Invictus
 
Posts: 16
Joined: Wed Dec 28, 2016 9:49 am


Return to Support

Who is online

Users browsing this forum: No registered users and 27 guests