if (!($address = @$argv[1])) { $address = '0.0.0.0'; } // format if (!($format = $argv[2])) { $format = 'csv'; } $types = @$argv[3]; $max_packets = @$argv[4]; // establish socket $s = new GrandstreamSYSLOG(); $s->bind($address); // prepare XML if ('xml' == $format) { $xml = new XmlWriter(); $xml->push('messages'); } // messages to listen for $messages = array_filter(explode(',', $types)); // start listening on callback $s->listen('printPacket', $max_packets, $messages); function printPacket($result) { global $format, $xml; switch ($format) { case 'php': var_export($result); break; case 'csv': $line = date('Y-m-d') . ',' . date('H:i:s') . ',' . $result['ip'] . ',' . $result['message']['type'] . ','; unset($result['message']['type']);