[asterisk-users] DIALSTATUS Values

Tony Mountifield tony at softins.co.uk
Fri Dec 2 05:44:34 CST 2011


In article <SNT142-W45A64E47437777DE653DA591B60 at phx.gbl>,
Kamlesh Kumar <kamlesh_kmr at hotmail.com> wrote:
> I tried to search the answer of my problem but unable to get resolution so sending to you
> guys. I'm using asterisk 1.6.2.7 and writing the AGI scripts using PHP. I'm unable to
> retrieve the DIALSTATUS value, during execution of AGI script, I get empty value.
>  
> Extracts from AGI Script:
>  
> #!/usr/bin/php -q
> #!/bin/bash
> <?php
> include_once ("phpagi-2.14/phpagi.php");
> $agi = new AGI();
> 
> --------some codes for dial out------------
>  
>        $dialstatus=$agi->get_variable(DIALSTATUS);

Shouldn't that be: $dialstatus=$agi->get_variable("DIALSTATUS");

Having DIALSTATUS as a bare word might work in some versions of php,
but is likely to produce a warning. Although in your case, it does
appear to have worked.

>        $dd=$dialstatus["data"];
>        $agi->verbose("Status".$dd);
>  
> In AGI debug, I get: 
> <SIP/10036-00000096>AGI Tx >> agi_channel: SIP/10036-00000096
> <SIP/10036-00000096>AGI Tx >> agi_language: en
> <SIP/10036-00000096>AGI Tx >> agi_type: SIP
> <SIP/10036-00000096>AGI Tx >> agi_uniqueid: 1322848927.172
> <SIP/10036-00000096>AGI Tx >> agi_version: 1.6.2.7
> <SIP/10036-00000096>AGI Tx >> agi_callerid: 10036
> <SIP/10036-00000096>AGI Tx >> agi_calleridname: 10036
> <SIP/10036-00000096>AGI Tx >> agi_dnid: 0012127773456
> <SIP/10036-00000096>AGI Tx >> agi_rdnis: unknown
> <SIP/10036-00000096>AGI Tx >> agi_context: privoip
> <SIP/10036-00000096>AGI Tx >> agi_extension: 0012127773456
> <SIP/10036-00000096>AGI Rx << GET VARIABLE DIALSTATUS
> <SIP/10036-00000096>AGI Tx >> 200 result=1 (ANSWER)

This shows that AGI is indeed returning the value of DIALSTATUS,
which is ANSWER.

> <SIP/10036-00000096>AGI Rx << VERBOSE "Status" 1

But you are not picking it up.

> <SIP/10036-00000096>AGI Tx >> 200 result=1
>  
> Please help me in this.

I'm not familiar with php-agi (I usualy write my AGI in C), but it
looks like $dialstatus["data"] is not the correct way to retrieve
the returned value. Or else there is a bug in php-agi.

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org



More information about the asterisk-users mailing list