tnx for your reply
acctually in console , it shows that call goto to h exten.
there is no log in console that agi is executing, 
asterisk is executing agi (in backgrond) and then execute h exten
in asterisk console log i can see that just h exten is executes
but in reality first agi continue its work then call go to h exten in dialplan
[context]
exten => _49763xxx,1,agi(inbound-logger.php,${EXTEN})
exten => _49763xxx,n,verbose(${AGISTATUS})
exten => _49763xxx,n,verbose(${channelstatus})
exten => h,1,verbose($[${ack${app}${i}}])
exten => h,n,verbose(${AGISTATUS})
exten => h,n,Verbose(hangup cause : ${HANGUPCAUSE} for callid: ${callid})
exten => h,n,gotoif($[${AGISTATUS} != SUCCESS]?ack)
exten => h,n,hangup()
exten => h,n(ack),gotoif($["$[${ack${app}${i}}]"=“done”]?hang)
exten => h,n(ack),agi(ack-logger.php,${ivrkey},${calllogid},${callid},${uniqi},${actionid},${meta},${app},${i})
and this is mentioned part of my agi file : inbound-logger.php
$agi->exec(“DIAL LOCAL/”.$queue."@from-internal,g");
/////////////*END action-ack api call start az inja
$data = array(
'AckTimeType' => 9101,
'Ek' => $ivrkey,
'CallLogId' => $calllogid,
'CallId' => $callid,
'UniqueId' => $uniq,
'ActionId' => $actionid,
'Meta' => $meta
);
//LOG
$log_msg = $uniq.'--'.$cid.'--'.$did.'--'.$callid.' now its time to CALL END ACK in inbound.conf';
$log = logger($log_msg);
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_ack);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'access-token: '.$token)
);
$resp = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$agi->verbose("*****".$callid."*******ack sent to DB successfully and Status : ".$status."");
and ack-logger.php
$data = array(
‘AckTimeType’ => 9101,
‘Ek’ => $ivrkey,
‘CallLogId’ => $calllogid,
‘CallId’ => $callid,
‘UniqueId’ => $uniq,
‘Meta’ => $meta,
‘ActionId’ => $actionid
);
$data_string = json_encode($data);
//LOG
$log_msg = $uniq.'--'.$callid.'---The Parameters that will pass to ACK api : '.$data_string;
$log = logger($log_msg);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_ack);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'access-token: '.$token)
);
$resp = curl_exec($ch);
//LOG
$log_msg = $uniq.'--'.$callid.'---Executing Ack api';
$log = logger($log_msg);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$agi->verbose("*****".$callid."*******ack sent to DB successfully and Status : ".$status."");
$agi->verbose("ACK Api STATUSSSS is".$status."");
tnx million for your follow up