opengt
set com 115200n81
set comecho off
set senddelay 0.05
waitquiet 1 0.2

:start
 if $env("USE_AUTH") = "0" goto connect
 send "AT$QCPDPP=3,"
 send $env("USE_AUTH")
 send ",\""
 if $env("USE_USER") <> "" send $env("USE_USER")
 send "\",\""
 if $env("USE_PASS") <> "" send $env("USE_PASS")
 send "\"^m"
 waitfor 5 "OK"
 if % = 0 goto connect
 print "WWAN error. Auth failed.\r\n"
 exit 1

:connect
 send "AT+CFUN=1^m"
 send "AT+CGDCONT=3,\"IP\",\""
 send $env("USE_APN")
 send "\"^m"
 waitfor 5 "OK"
 if % = 0 goto connok
 print "WWAN error. Connection failed.\r\n"
 exit 1

:connok
 let c=1
:loop
 sleep 2
 send "AT+CGATT?^m"
 waitfor 5 "+CGATT: 1"
 if % = 0 goto carrierok
 if c > 10 goto carriererr
 inc c
 goto loop

:carriererr
 print "WWAN error. No carrier.\r\n"
 exit 1

:carrierok
 send "AT!SCACT=1,3^m"
 waitfor 5 "OK"
 if % = 0 goto dialok
 print "WWAN error. Dialing failed.\r\n"
 exit 1

:dialok
 print "WWAN connection established.\r\n"
 exit 0
