IMS & VoLTE control on RUT200

I have run some problem attaching to networks using IOT SIM card provider. And the diagnosis from the SIM card provider is that it is likely related to the router (RUT200) using IMS and VoLTE.

I can turn off LTE via Network → Mobile → Connection.

But how do I turn OFF IMS (IP Multimedia Subsystem) ?

Best Regards

Steven

I have implemented control of the VoLTE in my management app and I have also added support to turn IMS ON/OFF. I am not seeing that the IMS cannot be turned OFF even if the VoLTE is OFF, which I think I should be able to do.

So if VoLTE is OFF and I turn IMS to OFF, it refuses and essentially stays in the ON state.

I read the IMS value with:
gsmctl -A ‘AT+QCFG=“ims”’

We turn IMS OFF with:
gsmctl -A ‘AT+QCFG=“ims”,0’

After reboot it is Auto, If I try to set it to OFF it instead goes to ON.
If I reboot again, it is back to Auto.

My IoT SIM card provider tells me that I should turn both IMS and VoLTE OFF to avoid network skipping around, which is causing the modem trouble settling down on a network. I am ending up with all these 0 byte sessions. This is mainly a problem I am seeing to areas with relatively poor reception.

So I basically need and answer to:

How do I permanently disable IMS on the RUT200 modem (Quectel) so that no secondary PDN is created?

I hope I can get some guidance here on how to configure the RUT200 modem,

Best Regards

Steven Boye
CTO, Kleenhub

Greetings, @sb-kleenhub,

Thank you for reaching out! What you’re seeing this behavior because IMS on the RUT200 is not fully controlled by AT commands alone. Even if you send AT+QCFG="ims",0, the system services will override it and revert it back to Auto/On after a reboot or reload.

To permanently disable IMS, you need to configure it at the system level via CLI:

uci set simcard.@sim[0].disable_ims=‘1’
uci commit simcard
ubus call mobifd reload

This ensures IMS is forced off and won’t be re-enabled by the system.

To verify the status, run:

gsmctl -A ‘AT+QCFG=“ims”’

If IMS is properly disabled, you should see:

+QCFG: “ims”,2,0

This indicates:

  • 2 → IMS is forcedly disabled
  • 0 → VoLTE is disabled

So even if VoLTE is already off, IMS must be explicitly disabled, otherwise it will continue to come back due to system-level configuration. This approach should also prevent the creation of a secondary PDN, which aligns with your provider’s recommendation and should help stabilize connections in low-signal areas.

If the issue persists, please let us know.

Best regards,
Povilas

Hi,

I am not sure whether the second value returned by the gsmctl -A 'AT+QCFG="ims" command actually indicates VoLTE status.

With VoLTE enabled and IMS not disabled in /etc/config/simcard:

root@RUT200:~# cat /etc/config/simcard

config sim
	option modem '1-1'
	option position '1'
	option primary '1'
	option iccid '89457300000043938490'
	option volte 'on'
	option disable_ims '0'

config simman
	option free '5'
	option info_modem_id '1-1'
	option msg_storage 'sm'

config modem
	option modem '1-1'
	option flight_mode '0'

I get:

root@RUT200:~# gsmctl -A 'AT+QCFG="ims"'
+QCFG: "ims",1,0

root@RUT200:~# gsmctl --volte_state
Inactive

If the second value actually indicates VoLTE status, shouldn’t the output be something like this?

root@RUT200:~# gsmctl -A 'AT+QCFG="ims"'
+QCFG: "ims",1,1

root@RUT200:~# gsmctl --volte_state
Active

Then I tried turning VoLTE off with the following command:

root@RUT200:~# uci set simcard.@sim[0].volte='off'; uci commit simcard; ubus call mobifd reload
{
	"state": "OK"
}

After that, VoLTE is still inactive, and AT+QCFG="ims" changes from 1,0 to 2,0:

root@RUT200:~# gsmctl --volte_state
Inactive

root@RUT200:~# gsmctl -A 'AT+QCFG="ims"'
+QCFG: "ims",2,0

So from this test, it looks like the RutOS VoLTE toggle causes IMS to turn on/off, but the second value always remains 0:

volte='on'  -> +QCFG: "ims",1,0
volte='off' -> +QCFG: "ims",2,0

So my question is: what exactly does the second value in +QCFG: "ims",<first>,<second> represent? Is this behavior expected, or does it indicate an inconsistency between the RutOS VoLTE setting and the modem state?