I solved the problem.
The header triggers the int and cannot be detected by pulsin that detects an edge.
When int is triggered, I just check with a loop and 15us increments the duration of the triggering signal (the 2400us signal) then I use pulsin to get the bits and their length (thus their state).

Cool.