2014-01-21 51 views
0

如何獲取DNID(最終用戶撥打到我的星號服務器的號碼)到我的php agi腳本?我試過獲取DNID在php agi

$agi->get_fullvariable("DNID"); 
$agi->get_fullvariable("${DNID}"); 
$agi->get_fullvariable("${CALLERID(dnid)}"); 
$agi->get_fullvariable("{CALLERID(dnid)}"); 

但我沒有得到一個值。任何人都可以給出正確的語法/方法來讀取php agi中的星號變量?

回答

3

我想出了一種方法。星號傳遞一些數據到AGI腳本,其可以通過在星號CLI運行

agi set debug on 

看到。如果您使用的是phpagi庫,然後

$agi->request['agi_dnid'] 

將舉行撥打的號碼或者主叫撥打去我們的Asterisk服務器的數量。

+0

$ {CALLERID(DNID)} - 這已經是工作。但agiphp沒有get_fullvariable方法,所以你需要修補它。 – arheops

+0

我在http://phpagi.sourceforge.net/phpagi22/api-docs/中看到了get_fullvariable()方法。 –

+0

在我見過的大多數phpagi中都沒有這樣的功能。也許他們添加了最新的代碼。當然,你可以輕易地將它添加到phpagi.php文件中。這是簡單的重寫。 – arheops

1

我一直在尋找爲Perl的答案,來到這裏,所以如果Perl是腳本語言:

my %input = $AGI->ReadParse(); 
my $dnid = $input{"dnid"};