There is very little in the way of solid documentation on configuring Cisco devices with cellular interfaces to work with Australian carriers, especially Optus.
The first thing to note is that Optus only support static public IPs on 3G connections, while by default the cellar interfaces will connect at 4G if coverage is available. To get around this, we need to force 3G.
Firstly, shut down all all Cellular interfaces with the
shutdown command, then run
Cellular 0/0/0 lte technology umts.
Configuring a cellular profile
The default profile will have an empty APN and allow both IPv6 and 6. It also specifies no authentication settings. With Optus, we need to specify the APN of yesbusiness as this is the APN required for static IP support, and CHAP credentials of optus/optus. These were details provided by Optus support.
router# cellular 0/0/0 lte profile create 1 yesbusinessip chap optus optus ipv4 Warning: You are attempting to modify the attach profile. Please consult the service provider before doing so. Modem power cycle required for change to take effect. PDP Type = IPv4v6 Access Point Name (APN) = Authentication = NONE Profile 1 already exists with above parameters. Do you want to overwrite? [confirm] Profile 1 will be overwritten with the following values: PDP type = IPv4 APN = yesbusinessip Username = optus Password = optus Authentication = CHAP Are you sure? [confirm] Profile 1 written to modem
Configure the Cellular interface
We then configure the cellular interface, which is very similar to a standard Dialer interface used with ADSL services in Australia.
interface Cellular0/0/0 description -- Link to Optus 3G -- ip address negotiated ip nat outside ip virtual-reassembly in encapsulation slip load-interval 60 dialer in-band dialer idle-timeout 300 dialer string INTERNET dialer-group 1 async mode interactive
I have left out the usual NAT overload configuration, there is nothing special here and will be identical to other connection types.
Configuring the chat script
The chat script defines the command the modem needs to execute in order to connect. This seems unnecessarily low level and reminds be of the dial up days, but it is actually fairly simple. Most routers will come with a default chat script, but I like to define my own (even if it’s identical).
router(config)#chat-script INTERNET "" "AT!CALL" TIMEOUT 20 "OK" chat-script INTERNET "" "ATDT*99#" TIMEOUT 30 CONNECT
Configure the Line
Finally, we configure the line. To determine which line we need to configure, we can check
show line and to find the line which corresponds with the Cellular interface.
router#show line Tty Line Typ Tx/Rx A Modem Roty AccO AccI Uses Noise Overruns Int * 0 0 CTY - - - - - 0 0 0/0 - 1 1 AUX 9600/9600 - - - - - 0 0 0/0 - 2 2 TTY 9600/9600 - - - - - 0 0 0/0 - I 0/0/0 3 TTY - inout - - - 0 0 0/0 Ce0/0/0 0/0/1 4 TTY - - - - - 0 0 0/0 Ce0/0/1 132 132 VTY - - - - - 0 0 0/0 - 133 133 VTY - - - - - 0 0 0/0 - 134 134 VTY - - - - - 0 0 0/0 - 135 135 VTY - - - - - 0 0 0/0 - 136 136 VTY - - - - - 0 0 0/0 -
This is where we specify the chat script defined in the first step.
(config)#line 0/0/0 router(config-line)#script dialer INTERNET router(config-line)#exec
Send traffic through the interface
As the cellular connection is triggered by traffic, that is, the connection will not come up until there is data to route, we need to define a route and push some traffic through.
dialer-list 1 protocol ip permit ip route 0.0.0.0 0.0.0.0 Cellular0/0/0 10 name Failover-Optus-3G
That’s it. Your cellular service should now be usable.
A final tip, I’ve found the cellular service can take a few minutes to come up and start passing traffic when the router is reloaded, so some patience is needed.