SIM800l weird behaviour AT commands

I'm trying to talk to a gsm module, my goal is to make voice calls and be able to send and receive SMS.

The configuration I have is the sim800l hooked up to an arduino which I only use as a serial to usb interface for now, the sim800l is powered via a single 18650 Liion samsung cell.

When I put SIM1 or SIM2 in my phone everything works.
But when I put SIM1 in the module it works but SIM2 doesnt, I disabled pin on both simcards to make it easier to test.

With SIM2
when I type "AT+COPS?" I always get +COPS: 0
when I type "AT+CREG?" at bootup I get +CREG: 2 but after a while I get +CREG: 3
battery level should not be a concern because "AT+CBC" returns +CBC: 0,80,4040
Also sometimes "AT+COPS?" returns +COPS: 0,0,"SFR" which is what I expect but when I try to call a number with "ATD+336********;" I get "NO DIALTONE"
AT+COPS=? returns +COPS: (2,"SFR","SFR","20810"),(3,"BOUYGUES TELECOM","BYTEL","20820"),(1,"Orange F","Orange","20801"),,(0-4),(0-2)

I dont get how this is possible since I can make calls with SIM1 in the module and it works just fine but I cannot do it with SIM2 for some reason.

I think I have to add that until yesterday everything worked fine with both SIMs.

I suspect the carrier blocked the module from the network somehow?

Anyways any help would be greatly appreciated!