10-09-2020 12:30 AM
Hi all,
I've a router that needs to be one a specific network, and not roam to another one. I'm not that familiar with the cellular part of cisco routers but I've found a command that should do the trick. But when I checked the router after a while, it had switched over to another network. This also happened after a reload of the router.
Command I have tried:
cellular 0 lte plmn select force 242 14 2 lte permanent
This is based on:
Available PLMNs at : 19:30:40 UTC Wed Oct 7 2020 Idx MCC MNC RAT Desc 1 242 14 lte ice+ 2 242 2 lte NetCom 3 242 2 umts NetCom 4 242 2 gsm NetCom 5 242 1 lte TELENOR 6 242 1 gsm TELENOR 7 242 1 umts TELENOR Negotiated network MTU is 1430
So after I've entered the first command it will switch over:
sh cel 0 network Current System Time = Fri Oct 9 6:24:33 2020 Current Service Status = Normal Current Service = Packet switched Current Roaming Status = Home Network Selection Mode = Manual Network = 242-014 Mobile Country Code (MCC) = 242 Mobile Network Code (MNC) = 14 Packet switch domain(PS) state = Attached Registration state(EMM) = Registered EMM Sub State = Normal Service Tracking Area Code (TAC) = 51001 Cell ID = 232998 Negotiated network MTU is 1430
But after a while:
[...] Current Service Status = Normal Current Service = Packet switched Current Roaming Status = Roaming Network Selection Mode = Manual Network = N NetCom Mobile Country Code (MCC) = 242 Mobile Network Code (MNC) = 2 Packet switch domain(PS) state = Attached Registration state(EMM) = Registered EMM Sub State = Normal Service Tracking Area Code (TAC) = 2319 Cell ID = 33702411
How can I disable roaming to other networks? Or stick it to the one I chose?
Cisco IOS Software, C800 Software (C800-UNIVERSALK9-M), Version 15.7(3)M4a, RELEASE SOFTWARE (fc1)
chat-script lte "" "AT!CALL" TIMEOUT 20 "OK" [..] interface Cellular0 ip address negotiated ip nat outside ip virtual-reassembly in encapsulation slip dialer in-band dialer string lte dialer watch-group 1 [..] dialer watch-list 1 ip 8.8.8.8 255.255.255.255 dialer watch-list 1 delay route-check initial 60 dialer watch-list 1 delay connect 1
[..//..]
#sh cel 0 radio
Radio power mode = online
LTE Rx Channel Number = 6200
LTE Tx Channel Number = 24200
LTE Band = 20
LTE Bandwidth = 10 MHz
Current RSSI = -59 dBm
Current RSRP = -86 dBm
Current RSRQ = -8 dB
Current SNR = 13.8 dB
Physical Cell Id = 0x146
Number of nearby cells = 2
Idx PCI (Physical Cell Id)
--------------------------------
1 326
2 324
Radio Access Technology(RAT) Preference = LTE
Radio Access Technology(RAT) Selected = LTE
Solved! Go to Solution.
10-09-2020 02:53 AM
Hello,
an EEM script is a great idea, however, I would tweak it and run it only when the network the cellular is attached to actually changes.
The script below runs every minute and checks for the MNC value, if it changes to '2', the command will be run.
event manager applet CELL_ROAMING
event timer watchdog time 60
action 1.0 cli command "enable"
action 2.0 cli command "show cellular 0 network | inc (MNC)"
action 3.0 string match "2" "$_cli_result"
action 4.0 if $_string_result eq "1"
action 5.0 syslog msg "Roaming to undesired network"
action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
10-09-2020 04:30 AM
event manager applet CELL_ROAMING
event timer watchdog time 60
action 1.0 cli command "enable"
action 2.0 cli command "show cellular 0 network | inc (MNC)"
action 3.0 string match "14" "$_cli_result"
action 4.0 if $_string_result ne "14"
action 5.0 syslog msg "Roaming to undesired network"
action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
10-09-2020 02:01 AM
Hello,
there was another post recently asking a similar question:
10-09-2020 02:11 AM - edited 10-09-2020 02:36 AM
Hi and thanks,
So the short answer to my question is no, its not possible at the current time?
Edit:
How about an event manager applet as a workaround? I've never used it before, but that might work?
event manager applet ICEPLUS
event timer cron cron-entry "0 */4 * * *"
action 1.0 cli command "enable"
action 1.1 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
!
This will run the command every 4 hours.
10-09-2020 02:53 AM
Hello,
an EEM script is a great idea, however, I would tweak it and run it only when the network the cellular is attached to actually changes.
The script below runs every minute and checks for the MNC value, if it changes to '2', the command will be run.
event manager applet CELL_ROAMING
event timer watchdog time 60
action 1.0 cli command "enable"
action 2.0 cli command "show cellular 0 network | inc (MNC)"
action 3.0 string match "2" "$_cli_result"
action 4.0 if $_string_result eq "1"
action 5.0 syslog msg "Roaming to undesired network"
action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
10-09-2020 03:14 AM
Thats just amazing! Thanks a lot!
10-09-2020 03:29 AM - edited 10-09-2020 04:10 AM
added "action 7.0 end"
10-09-2020 04:14 AM
Hello,
thinking about the script again, you might want to tweak the MNC value and run the script whenever the value is NOT 14:
event manager applet CELL_ROAMING
event timer watchdog time 60
action 1.0 cli command "enable"
action 2.0 cli command "show cellular 0 network | inc (MNC)"
action 3.0 string match "14" "$_cli_result"
action 4.0 if $_string_result eq "0"
action 5.0 syslog msg "Roaming to undesired network"
action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
I'll test this myself and get back with you...
10-09-2020 04:30 AM
event manager applet CELL_ROAMING
event timer watchdog time 60
action 1.0 cli command "enable"
action 2.0 cli command "show cellular 0 network | inc (MNC)"
action 3.0 string match "14" "$_cli_result"
action 4.0 if $_string_result ne "14"
action 5.0 syslog msg "Roaming to undesired network"
action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent"
10-09-2020 05:17 AM
Great work Georg! Thanks a lot
10-09-2020 05:34 AM
The 'ne "14"' makes sure that the script runs any time your preferred network is NOT selected.
How often does the connected network change ? The 60 seconds might be too often, you could change that value accordingly and have the script run less often.
10-09-2020 01:56 PM
I think it should be "action 4.0 if $_string_result ne "0"", because action 4.0 returns "0" if action 3.0 matches "14"..
Did an echo of the content of the variables:
Oct 9 20:38:37.825: %HA_EM-6-LOG: CELL_ROAMING: Mobile Network Code (MNC) = 14 [$_cli_result]
Oct 9 20:38:37.825: %HA_EM-6-LOG: CELL_ROAMING: 0 [$_string_result]
Ending up with:
event manager applet CELL_ROAMING event timer watchdog time 60 action 1.0 cli command "enable" action 2.0 cli command "show cellular 0 network | inc (MNC)" action 3.0 string match "14" "$_cli_result" action 4.0 if $_string_result ne "0" action 5.0 syslog msg "Roaming to undesired network" action 6.0 cli command "cellular 0 lte plmn select force 242 14 2 lte permanent" action 7.0 end !
10-12-2020 12:07 AM
Hello Robert,
thanks for the update ! I'll make a note of that. If 'ne "0"' works, then this is what it should be.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide