#
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
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
