简体   繁体   中英

Asterisk agi not working

I'm having the simple AGI script, when incoming call is answered run script. But does not working. How can i run my script correctly?

By the way sorry for my english.

Here's code:

extensions_additional.conf

[macro-auto-blkvm]

include => macro-auto-blkvm-custom

exten => s,1,Set(__MACRO_RESULT=)    
exten => s,n,DBDel(${BLKVM_OVERRIDE})

exten => s,n,AGI(call-answered.agi,${CALLERID(ANI)},${CHANNEL})   

call-answered.php:

#!/usr/bin/php -q
<?php
include("phpagi.php");
$agi = new AGI();
$agi->verbose("------------------------------------------");
$ani = $agi->request['agi_callerid'];
$agi->noop("My CalleID: <<<<<<<=".$ani);

$user = 'root';
$pass = 'eLaStIx.2oo7';
$db = new PDO('mysql:host=localhost;dbname=call', $user, $pass);

$query = $db->prepare("INSERT INTO deneme SET
gsm = ?,
agent = ?");
$insert = $query->execute(array("123123", "213123"));

Console output:

-- SIP/103-0000000e answered Local/103@from-internal-3556,2
-- Executing [s@macro-auto-blkvm:1] Set("SIP/103-0000000e", "__MACRO_RESULT=") in new stack
-- Executing [s@macro-auto-blkvm:2] Set("SIP/103-0000000e", "CFIGNORE=") in new stack
-- Executing [s@macro-auto-blkvm:3] Set("SIP/103-0000000e", "MASTER_CHANNEL(CFIGNORE)=") in new stack
-- Executing [s@macro-auto-blkvm:4] Set("SIP/103-0000000e", "FORWARD_CONTEXT=from-internal") in new stack
-- Executing [s@macro-auto-blkvm:5] Set("SIP/103-0000000e", "MASTER_CHANNEL(FORWARD_CONTEXT)=from-internal") in new stack
-- Executing [s@macro-auto-blkvm:6] Macro("SIP/103-0000000e", "blkvm-clr|") in new stack
-- Executing [s@macro-auto-blkvm:7] AGI("SIP/103-0000000e", "call-answered.agi|*******|SIP/103-0000000e") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/call-answered.agi
AGI Tx >> agi_request: call-answered.agi
AGI Tx >> agi_channel: SIP/103-0000000e
AGI Tx >> agi_language: en
AGI Tx >> agi_type: SIP
AGI Tx >> agi_uniqueid: 1481798039.22
AGI Tx >> agi_callerid: 103
AGI Tx >> agi_calleridname: unknown
AGI Tx >> agi_callingpres: 0
AGI Tx >> agi_callingani2: 0
AGI Tx >> agi_callington: 0
AGI Tx >> agi_callingtns: 0
AGI Tx >> agi_dnid: unknown
AGI Tx >> agi_rdnis: unknown
AGI Tx >> agi_context: macro-auto-blkvm
AGI Tx >> agi_extension: s
AGI Tx >> agi_priority: 7
AGI Tx >> agi_enhanced: 0.0
AGI Tx >> agi_accountcode:
AGI Tx >>
-- AGI Script call-answered.agi completed, returning 0
-- Executing [s@macro-auto-blkvm:8] ExecIf("SIP/103-0000000e", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=103)") in new stack
== Spawn extension (macro-auto-blkvm, s, 8) exited non-zero on 'SIP/103-0000000e' in macro 'auto-blkvm'
-- Local/103@from-internal-3556,1 answered SIP/103-0000000d
-- Stopped music on hold on SIP/**-0000000d

Thanks

Are you sure you named your file call-answered.php ? You refer to it in dialplan as call-answered.agi , which looks inconsistent. Try changing the dialplan to call-answered.php .

Check that the .php files have the read and execute file permissions. Run chmod 755 /var/lib/asterisk/agi-bin/*.php to set that.

Also check that they're located in the correct directory (default is /var/lib/asterisk/agi-bin), or specify the full path in your dialplan. Throw it in quotes to be safe:

exten => s,n,AGI('/var/lib/asterisk/agi-bin/call-answered.php',${CALLERID(ANI)},${CHANNEL})

You can find more help at the Official AGI Docs , or at the Voip Info (unofficial) page .

Edit: You can also try running your script directly from the PHP cli by running:

php /var/lib/asterisk/agi-bin/call-answered.php

Press enter repeatedly to simulate communications with Asterisk. If there are any permissions or script errors you will usually see those in this cli session. If that still doesn't work, use php's error_log() command to write some useful info to the log so you can tell if your script is running at all.

That mean you have syntax error or permission issue in your script. Or maybe just no script at path.

ie it not respond at all.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM