# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

serviceproviders:2.0
country:ch
provider:1,3,0,0
name:,Orange
networks:22803
apn:1,mobileoffice3g,,
name:,Internet Everywhere - Standard
apn:1,click,,
name:,Internet Everywhere - Prepaid
apn:1,intranetaccess,,
name:,Internet Everywhere - Intranet Access
provider:1,1,0,0
name:,Swisscom
networks:22801
apn:0,gprs.swisscom.ch,,
country:us
provider:1,3,0,0
name:,AT&T
networks:310038,310090,310150,310410,310560,310680
apn:1,wap.cingular,,
name:,MEdia Net (phones)
apn:1,Broadband,,
name:,LaptopConnect (data cards)
apn:1,isp.cingular,,
name:,Data Connect (old)
provider:1,4,0,0
name:,T-Mobile
networks:310160,310200,310210,310220,310230,310240,310250,310260,310270,310310
apn:1,epc.tmobile.com,,
name:,Internet/WebConnect
apn:1,wap.voicestream.com,,
name:,Web2Go/t-zones
apn:1,internet2.voicestream.com,,
name:,Internet (old)
apn:1,internet3.voicestream.com,,
name:,Internet with VPN (old)
provider:2,1,0,1
name:,Cubic
name:,CUBIC
networks:
apn:0,mtoom.com,mtoom,mtoom
