I use a combination of IPFire, Fritzbox and a SIP Software too and had similar problems. Maybe I can help you.
My set-up: Internet — Cable modem (bridge) — IPFire ---- Fritzbox
In my case the problem was that after IPFire dropped the ALG feature, after a short period of time port 5060 or 5061 got cut-off so incoming calls didn’t pass through IPFire. Therefore the phones attached to Fritzbox didn’t ring.
So I needed to tell Fritzbox to keep the connection alive every 30 seconds or so. And I got help in this community. All I needed to do is (on Fritzbox): Eigene Rufnummern → Anschlusseinstellungen → Portweiterleitung des Internet-Routers für Telefonie aktiv halten. → 30 Sek.
And the best thing: No portforwarding, no pinholes, no rules necessary to set up on IPFire. Works fantastic. Fritzbox connects to the phone provider and keeps the connection alive.
So if you have your Fritzbox behind IPFire on the green side, this might do the trick for you too.
BTW: I didn’t find this out myself. I got help from this community here: Core 155 ALG removal: how to see if it's used at all? - #40 by ms