error) { print $trame->error_message; //Si c'est une erreur on redemande le message $message_pair=96; $values=array(); } else { //Sinon tout va bien $message_pair=$trame->message_pair; $values=$trame->message_values; if ($trame->message_id==97) { //Demande du dernier message if ($_SESSION[$id]["ltrame"]) { //Si dernier message pas vide $last_trame=$_SESSION[$id]["ltrame"]; print $_SESSION[$id]["ltrame"]; $message_pair=""; } else { //Si dernier message vide, on envoie une redemande $message_pair=96; $values=array(); } } } if ($message_pair) { $tramer=new sip2_trame("",$protocol); $tramer->set_message_id($message_pair); $tramer->set_checksum(true); $tramer->set_sequence_number($trame->sequence_number*1); //Appel de la fonction $func_response="_".strtolower($protocol->messages[$message_pair]["NAME"])."_"; $values=$func_response($values); $tramer->set_message_values($values); //Si il y a une erreur, erreur définitive ! if ($tramer->error) { print $tramer->error_message; print "exit"; } else { //On construit la trame $tramer->make_trame(); //Si il y a une erreur if ($tramer->error) { print $tramer->error_message; print "exit"; } else { if($rtim){ $tramer->trame=rtrim($tramer->trame); } print $tramer->trame; if($fp_debug){ fwrite($fp_debug,$tramer->trame."\n"); } $last_trame=$tramer->trame; } } } if($fp_debug){ fclose($fp_debug); } $_SESSION[$id]["ltrame"]=$last_trame; ?>