Quedo resuelto por completo.
mi archivo .php lo renombre a .agi y ahora ya anda
mi código quedo de la siguiente forma. simula la cadena de datos que envía un CallerID (http://callerid.com/), la manda en el protocolo UDP, por lo que realice una aplicación en delphi con un componente de indi idUDPServer escuchando el puerto y recibo el array de datos que envió y que posteriormente proceso...
#!/usr/bin/php -q
<?php
include "phpagi.php";
$agi=new AGI();
$agi->verbose("Inicializando Socket");
$port=3520;
$fecha=date('m/d h:i A');
$callerid=$agi->request["agi_callerid"];
//Llenamos de espacios al final
$numero_discado=str_pad($argv,30,chr(0x20),STR_PAD_RIGHT);
//por cual troncal salio la llamada recibida por parametro
$PSTN=str_pad($argv,2,"0",STR_PAD_RIGHT);
$agi->verbose("PSTN=$PSTN");
$agi->verbose("Generando String Llamasa de salida: ");
//'^^<U>'#0#0#0#0#0#1'<S>'#$17#0#$11#9'&'#4'$02 I S 0000 G A0 03/01 11:14 AM 612-128-6686
//este es el string que recibo en delphi en AData
//Esta es la expresion regular que uitilizo para la cadena anterior '
//'(\d{2}) () () (\d{4}) () ((.)(\d)) ((\d{2})\/(\d{2}) (\d{2})🙁\d{2}) ) (.{8,15})';
$broadcast_string="^^<U>".chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x01)."<S>".chr(0x17).chr(0x00).chr(0x11).chr(0x09)."&".chr(0x04)."$00 O S 0000 G A0 $fecha $numero_discado";
$agi->verbose("AData:[$broadcast_string]");
$agi->verbose("Inicializando Socket UDP");
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$agi->verbose("Aplicando Opcion Broadcast");
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
$agi->verbose("Enviando Broadcast String");
//envio los datos de la llamada a todos los clientes de mi aplicacion, en broadcast para que todas cachen la info
socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, '255.255.255.255', $port);
$agi->verbose("Destrullendo Objetos");
socket_close($sock);
?>