[Asterisk-Users] can't get the full callerid php/agi
David Croft
davidc at sargasso.net
Sat Mar 20 22:18:26 MST 2004
Your script is receiving the data correctly, as you will see if you
actually dump that data to a file rather than back to the asterisk console.
The problem is actually in your VERBOSE statement. You are passing back
this string:
VERBOSE ""Sathya Weerasooriya" <1001>"
Naturally asterisk is confused by this quote nesting. Try this line instead:
echo "VERBOSE \"".str_replace("\"", "\\\"", $temp)."\"\n";
David
Sathya wrote:
> Hi folks,
>
> I need some help from php/agi experts out there;
>
> I am having difficulties in extracting the callerid number from php. My
> script is given below;
>
> #!/usr/local/bin/php -q
> <?php
> //environment dump
>
> ob_implicit_flush(true);
> set_time_limit(0);
>
> $err=fopen("php://stderr","w");
> $in = fopen("php://stdin","r");
> while (!feof($in)) {
> $temp = str_replace("\n","",fgets($in,4096));
> echo "VERBOSE \"$temp\"\n";
> if (($temp == "") || ($temp == "\n")) {
> break;
> }
> }
> ?>
>
> And the Response is:
>
> getenv.agi: agi_request: getenv.agi
> getenv.agi: agi_channel: SIP/-081524c0
> getenv.agi: agi_language: en
> getenv.agi: agi_type: SIP
> getenv.agi: agi_uniqueid: 1079819757.97
> getenv.agi: agi_callerid: Sathya <=====================
> getenv.agi: agi_dnid: unknown
> getenv.agi: agi_rdnis: unknown
> getenv.agi: agi_context: default-in
> getenv.agi: agi_extension: 91234
> getenv.agi: agi_priority: 1
> getenv.agi: agi_enhanced: 0.0
> getenv.agi: agi_accountcode:
>
> Actual caller ID is ; "Sathya Weerasooriya"<1001>, but what I get from
> this PHP is only first part.
>
>
> When I run the example test script in agi-bin directory, I get the
> correct callerid.
>
> I am using PHP 4.3.5CR xx.
>
> Any help is appreciated.
>
> Sathya
More information about the asterisk-users
mailing list