aboutsummaryrefslogtreecommitdiff
path: root/configs
diff options
context:
space:
mode:
authorMister Oyster <oysterized@gmail.com>2017-01-02 12:44:35 +0100
committerMister Oyster <oysterized@gmail.com>2017-01-02 12:44:35 +0100
commita184d985bf43d3fe6eeba971bc6b32f79ea38b37 (patch)
tree6f6e56e090777cc149bc1ab39e5987cc2b03e867 /configs
initial releasecm-13.0
Diffstat (limited to 'configs')
-rwxr-xr-xconfigs/android.hardware.microphone.xml20
-rwxr-xr-xconfigs/audio/audio_device.xml258
-rw-r--r--configs/audio/audio_effects.conf186
-rw-r--r--configs/audio/audio_policy.conf167
-rw-r--r--configs/bluetooth/auto_pair_devlist.conf27
-rw-r--r--configs/bluetooth/bt_did.conf85
-rw-r--r--configs/bluetooth/bt_stack.conf294
-rw-r--r--configs/bluetooth/bt_stack.conf.debug78
-rw-r--r--configs/bluetooth/bt_stack.conf.sqc78
-rw-r--r--configs/dhcpcd/dhcpcd.conf8
-rw-r--r--configs/egl.cfg2
-rw-r--r--configs/gps/agps_profiles_conf2.xml471
-rw-r--r--configs/gps/slp_conf8
-rw-r--r--configs/hostapd/hostapd.accept3
-rw-r--r--configs/hostapd/hostapd.deny2
-rw-r--r--configs/hostapd/hostapd_default.conf81
-rw-r--r--configs/media/media_codecs.xml304
-rw-r--r--configs/media/media_profiles.xml1200
-rw-r--r--configs/telephony/ecc_list.xml24
-rw-r--r--configs/telephony/spn-conf.xml1099
-rw-r--r--configs/wide-dhcpv6/dhcp6c.conf11
-rw-r--r--configs/wide-dhcpv6/dhcp6c.script61
-rw-r--r--configs/wide-dhcpv6/dhcp6cDNS.conf7
-rw-r--r--configs/wide-dhcpv6/dhcp6cPD.conf9
-rw-r--r--configs/wide-dhcpv6/dhcp6cPD.script20
-rw-r--r--configs/wide-dhcpv6/dhcp6cctlkey1
-rw-r--r--configs/wide-dhcpv6/dhcp6s.conf9
27 files changed, 4513 insertions, 0 deletions
diff --git a/configs/android.hardware.microphone.xml b/configs/android.hardware.microphone.xml
new file mode 100755
index 0000000..364e4ee
--- /dev/null
+++ b/configs/android.hardware.microphone.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 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.
+-->
+
+<!-- This is the standard feature indicating that the device includes microphone. -->
+<permissions>
+ <feature name="android.hardware.microphone" />
+</permissions>
diff --git a/configs/audio/audio_device.xml b/configs/audio/audio_device.xml
new file mode 100755
index 0000000..921af1d
--- /dev/null
+++ b/configs/audio/audio_device.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<mixercontrol>
+ <versioncontrol value="1.01">
+ </versioncontrol>
+ <!-- These are the initial mixer settings -->
+ <kctl name="Audio_Speaker_class_Switch" value="CLASSAB" />
+ <kctl name="Audio_Amp_R_Switch" value="Off" />
+ <kctl name="Audio_Amp_L_Switch" value="Off" />
+ <kctl name="Voice_Amp_Switch" value="Off" />
+ <kctl name="Speaker_Amp_Switch" value="Off" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Ext_Speaker_Amp_Switch" value="Off" />
+ <kctl name="Audio_Sidetone_Switch" value="Off" />
+ <kctl name="Headset_Speaker_Amp_Switch" value="Off" />
+ <!--headphone output-->
+ <path name="headphone_output" value="turnon">
+ <kctl name="Audio_Amp_R_Switch" value="On" />
+ <kctl name="Audio_Amp_L_Switch" value="On" />
+ </path>
+ <path name="headphone_output" value="turnoff">
+ <kctl name="Audio_Amp_R_Switch" value="Off" />
+ <kctl name="Audio_Amp_L_Switch" value="Off" />
+ </path>
+ <!--receiver output-->
+ <path name="receiver_output" value="turnon">
+ <kctl name="Voice_Amp_Switch" value="On" />
+ </path>
+ <path name="receiver_output" value="turnoff">
+ <kctl name="Voice_Amp_Switch" value="Off" />
+ </path>
+ <!-- 2-in-1 speaker output-->
+ <path name="two_in_one_speaker_output" value="turnon">
+ <kctl name="Speaker_Amp_Switch" value="On" />
+ <kctl name="Audio_Speaker_class_Switch" value="CLASSAB" />
+ </path>
+ <path name="two_in_one_speaker_output" value="turnoff">
+ <kctl name="Audio_Speaker_class_Switch" value="RECEIVER" />
+ <kctl name="Speaker_Amp_Switch" value="Off" />
+ </path>
+ <!--speaker output-->
+ <path name="speaker_output" value="turnon">
+ <kctl name="Speaker_Amp_Switch" value="On" />
+ </path>
+ <path name="speaker_output" value="turnoff">
+ <kctl name="Speaker_Amp_Switch" value="Off" />
+ </path>
+ <!--headhpone_speaker output-->
+ <path name="headphoneSpeaker_output" value="turnon">
+ <kctl name="Headset_Speaker_Amp_Switch" value="On" />
+ </path>
+ <path name="headphoneSpeaker_output" value="turnoff">
+ <kctl name="Headset_Speaker_Amp_Switch" value="Off" />
+ </path>
+ <!--external_speaker output-->
+ <path name="ext_speaker_output" value="turnon">
+ <kctl name="Ext_Speaker_Amp_Switch" value="On" />
+ </path>
+ <path name="ext_speaker_output" value="turnoff">
+ <kctl name="Ext_Speaker_Amp_Switch" value="Off" />
+ </path>
+ <!--mic setting-->
+ <path name="builtin_Mic_Mic1" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC1" />
+ </path>
+ <path name="builtin_Mic_Mic1" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_Mic1_Inverse" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC3" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC3" />
+ </path>
+ <path name="builtin_Mic_Mic1_Inverse" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_Mic2" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC3" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC3" />
+ </path>
+ <path name="builtin_Mic_Mic2" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_Mic2_Inverse" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC1" />
+ </path>
+ <path name="builtin_Mic_Mic2_Inverse" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_SingleMic" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC1" />
+ </path>
+ <path name="builtin_Mic_SingleMic" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_DualMic" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC3" />
+ </path>
+ <path name="builtin_Mic_DualMic" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_BackMic" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC3" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC3" />
+ </path>
+ <path name="builtin_Mic_BackMic" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="builtin_Mic_BackMic_Inverse" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC1" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC1" />
+ </path>
+ <path name="builtin_Mic_BackMic_Inverse" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="headset_mic_input" value="turnon">
+ <kctl name="Audio_MicSource1_Setting" value="ADC2" />
+ <kctl name="Audio_ADC_1_Switch" value="On" />
+ <kctl name="Audio_ADC_2_Switch" value="On" />
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC2" />
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC2" />
+ </path>
+ <path name="headset_mic_input" value="turnoff">
+ <kctl name="Audio_Preamp1_Switch" value="OPEN" />
+ <kctl name="Audio_Preamp2_Switch" value="OPEN" />
+ <kctl name="Audio_ADC_1_Switch" value="Off" />
+ <kctl name="Audio_ADC_2_Switch" value="Off" />
+ </path>
+ <path name="sidetone_switch" value="turnon">
+ <kctl name="Audio_Sidetone_Switch" value="On" />
+ </path>
+ <path name="sidetone_switch" value="turnoff">
+ <kctl name="Audio_Sidetone_Switch" value="Off" />
+ </path>
+ <!--mic1 type setting-->
+ <path name="Mic1TypeACCMode" value="setting">
+ <kctl name="Audio_MIC1_Mode_Select" value="ACCMODE" />>
+ </path>
+ <path name="Mic1TypeDCCMode" value="setting">
+ <kctl name="Audio_MIC1_Mode_Select" value="DCCMODE" />>
+ </path>
+ <path name="Mic1TypeDMICMode" value="setting">
+ <kctl name="Audio_MIC1_Mode_Select" value="DMIC" />>
+ </path>
+ <path name="Mic1TypeDCCECMDIFFMode" value="setting">
+ <kctl name="Audio_MIC1_Mode_Select" value="DCCECMDIFFMODE" />>
+ </path>
+ <path name="Mic1TypeDCCECMSINGLEMode" value="setting">
+ <kctl name="Audio_MIC1_Mode_Select" value="DCCECMSINGLEMODE" />>
+ </path>
+ <!--mic2 type setting-->
+ <path name="Mic2TypeACCMode" value="setting">
+ <kctl name="Audio_MIC2_Mode_Select" value="ACCMODE" />>
+ </path>
+ <path name="Mic2TypeDCCMode" value="setting">
+ <kctl name="Audio_MIC2_Mode_Select" value="DCCMODE" />>
+ </path>
+ <path name="Mic2TypeDMICMode" value="setting">
+ <kctl name="Audio_MIC2_Mode_Select" value="DMIC" />>
+ </path>
+ <path name="Mic2TypeDCCECMDIFFMode" value="setting">
+ <kctl name="Audio_MIC2_Mode_Select" value="DCCECMDIFFMODE" />>
+ </path>
+ <path name="Mic2TypeDCCECMSINGLEMode" value="setting">
+ <kctl name="Audio_MIC2_Mode_Select" value="DCCECMSINGLEMODE" />>
+ </path>
+ <!--mic3 type setting-->
+ <path name="Mic3TypeACCMode" value="setting">
+ <kctl name="Audio_MIC3_Mode_Select" value="ACCMODE" />>
+ </path>
+ <path name="Mic3TypeDCCMode" value="setting">
+ <kctl name="Audio_MIC3_Mode_Select" value="DCCMODE" />>
+ </path>
+ <path name="Mic3TypeDMICMode" value="setting">
+ <kctl name="Audio_MIC3_Mode_Select" value="DMIC" />>
+ </path>
+ <path name="Mic3TypeDCCECMDIFFMode" value="setting">
+ <kctl name="Audio_MIC3_Mode_Select" value="DCCECMDIFFMODE" />>
+ </path>
+ <path name="Mic3TypeDCCECMSINGLEMode" value="setting">
+ <kctl name="Audio_MIC3_Mode_Select" value="DCCECMSINGLEMODE" />>
+ </path>
+ <!--mic4 type setting-->
+ <path name="Mic4TypeACCMode" value="setting">
+ <kctl name="Audio_MIC4_Mode_Select" value="ACCMODE" />>
+ </path>
+ <path name="Mic4TypeDCCMode" value="setting">
+ <kctl name="Audio_MIC4_Mode_Select" value="DCCMODE" />>
+ </path>
+ <path name="Mic4TypeDMICMode" value="setting">
+ <kctl name="Audio_MIC4_Mode_Select" value="DMIC" />>
+ </path>
+ <path name="Mic4TypeDCCECMDIFFMode" value="setting">
+ <kctl name="Audio_MIC4_Mode_Select" value="DCCECMDIFFMODE" />>
+ </path>
+ <path name="Mic4TypeDCCECMSINGLEMode" value="setting">
+ <kctl name="Audio_MIC4_Mode_Select" value="DCCECMSINGLEMODE" />>
+ </path>
+ <path name="Mic_Setting_Inverse" value="setting">
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC3" />>
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC1" />>
+ </path>
+ <path name="Mic_Setting_NoInverse" value="setting">
+ <kctl name="Audio_Preamp1_Switch" value="IN_ADC1" />>
+ <kctl name="Audio_Preamp2_Switch" value="IN_ADC3" />>
+ </path>
+</mixercontrol>
diff --git a/configs/audio/audio_effects.conf b/configs/audio/audio_effects.conf
new file mode 100644
index 0000000..bd5e4c0
--- /dev/null
+++ b/configs/audio/audio_effects.conf
@@ -0,0 +1,186 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+# libraries {
+# <lib name> {
+# path <lib path>
+# }
+# }
+libraries {
+# This is a proxy library that will be an abstraction for
+# the HW and SW effects
+
+ #proxy {
+ #path /system/lib/soundfx/libeffectproxy.so
+ #}
+
+# This is the SW implementation library of the effect
+ #libSW {
+ #path /system/lib/soundfx/libswwrapper.so
+ #}
+
+# This is the HW implementation library for the effect
+ #libHW {
+ #path /system/lib/soundfx/libhwwrapper.so
+ #}
+
+ bundle {
+ path /system/lib/soundfx/libbundlewrapper.so
+ }
+ reverb {
+ path /system/lib/soundfx/libreverbwrapper.so
+ }
+ visualizer {
+ path /system/lib/soundfx/libvisualizer.so
+ }
+ downmix {
+ path /system/lib/soundfx/libdownmix.so
+ }
+ loudness_enhancer {
+ path /system/lib/soundfx/libldnhncr.so
+ }
+ pre_processing {
+ path /system/lib/soundfx/libaudiopreprocessing.so
+ }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+# pre_processing {
+# path /system/lib/soundfx/libaudiopreprocessing.so
+# }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+# effects {
+# <fx name> {
+# library <lib name>
+# uuid <effect uuid>
+# }
+# ...
+# }
+
+effects {
+
+# additions for the proxy implementation
+# Proxy implementation
+ #effectname {
+ #library proxy
+ #uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+ # SW implemetation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libsw {
+ #library libSW
+ #uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
+ #} End of SW effect
+
+ # HW implementation of the effect. Added as a node under the proxy to
+ # indicate this as a sub effect.
+ #libhw {
+ #library libHW
+ #uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
+ #}End of HW effect
+ #} End of effect proxy
+
+ bassboost {
+ library bundle
+ uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
+ }
+ virtualizer {
+ library bundle
+ uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
+ }
+ equalizer {
+ library bundle
+ uuid ce772f20-847d-11df-bb17-0002a5d5c51b
+ }
+ volume {
+ library bundle
+ uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+ }
+ reverb_env_aux {
+ library reverb
+ uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
+ }
+ reverb_env_ins {
+ library reverb
+ uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
+ }
+ reverb_pre_aux {
+ library reverb
+ uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
+ }
+ reverb_pre_ins {
+ library reverb
+ uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
+ }
+ visualizer {
+ library visualizer
+ uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+ }
+ downmix {
+ library downmix
+ uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
+ }
+ loudness_enhancer {
+ library loudness_enhancer
+ uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+ }
+ agc {
+ library pre_processing
+ uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
+ }
+ aec {
+ library pre_processing
+ uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
+ }
+ ns {
+ library pre_processing
+ uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
+ }
+}
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+# pre_processing {
+# <input source name> {
+# <fx name> {
+# <param 1 name> {
+# param {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# value {
+# int|short|float|bool|string <value>
+# [ int|short|float|bool|string <value> ]
+# ...
+# }
+# }
+# <param 2 name > {<param> <value>}
+# ...
+# }
+# ...
+# }
+# ...
+# }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/configs/audio/audio_policy.conf b/configs/audio/audio_policy.conf
new file mode 100644
index 0000000..a304c2b
--- /dev/null
+++ b/configs/audio/audio_policy.conf
@@ -0,0 +1,167 @@
+#
+# Audio policy configuration for generic device builds (goldfish audio HAL - emulator)
+#
+
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+#global_configuration {
+# attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE
+# default_output_device AUDIO_DEVICE_OUT_SPEAKER
+# attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM
+#}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+ primary {
+ global_configuration {
+ attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE
+ default_output_device AUDIO_DEVICE_OUT_SPEAKER
+ attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_FM|AUDIO_DEVICE_IN_VOICE_CALL
+ audio_hal_version 3.0
+ }
+ devices {
+ headset {
+ type AUDIO_DEVICE_OUT_WIRED_HEADSET
+ gains {
+ gain_1 {
+ mode AUDIO_GAIN_MODE_JOINT
+ channel_mask AUDIO_CHANNEL_OUT_STEREO
+ min_value_mB -6400
+ max_value_mB 0
+ default_value_mB 0
+ step_value_mB 100
+ min_ramp_ms 0
+ max_ramp_ms 0
+ }
+ }
+ }
+ headphone {
+ type AUDIO_DEVICE_OUT_WIRED_HEADPHONE
+ gains {
+ gain_1 {
+ mode AUDIO_GAIN_MODE_JOINT
+ channel_mask AUDIO_CHANNEL_OUT_STEREO
+ min_value_mB -6400
+ max_value_mB 0
+ default_value_mB 0
+ step_value_mB 100
+ min_ramp_ms 0
+ max_ramp_ms 0
+ }
+ }
+ }
+ }
+ outputs {
+ primary {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_FM_TX|AUDIO_DEVICE_OUT_DEFAULT
+ flags AUDIO_OUTPUT_FLAG_PRIMARY
+ gains {
+ gain_1 {
+ mode AUDIO_GAIN_MODE_JOINT
+ channel_mask AUDIO_CHANNEL_OUT_STEREO
+ min_value_mB -6400
+ max_value_mB 0
+ default_value_mB 0
+ step_value_mB 100
+ min_ramp_ms 0
+ max_ramp_ms 0
+ }
+ }
+ }
+ }
+ inputs {
+ primary {
+ # MTK ;-)
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_COMMUNICATION|AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_AMBIENT|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_AUX_DIGITAL|AUDIO_DEVICE_IN_MATV|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_ALL_SCO|AUDIO_DEVICE_IN_FM|AUDIO_DEVICE_IN_DEFAULT
+ }
+ }
+ }
+ a2dp {
+ global_configuration {
+ audio_hal_version 2.0
+ }
+ outputs {
+ a2dp {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_ALL_A2DP
+ }
+ }
+ inputs {
+ a2dp {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
+ }
+ }
+ }
+ usb {
+ global_configuration {
+ audio_hal_version 2.0
+ }
+ outputs {
+ usb_accessory {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_USB_ACCESSORY
+ }
+ usb_device {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_USB_DEVICE
+ }
+ }
+ inputs {
+ usb_device {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_USB_DEVICE
+ }
+ }
+ }
+ r_submix {
+ global_configuration {
+ attached_input_devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
+ audio_hal_version 2.0
+ }
+ outputs {
+ r_submix {
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
+ }
+ }
+ inputs {
+ r_submix {
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
+ }
+ }
+ }
+}
diff --git a/configs/bluetooth/auto_pair_devlist.conf b/configs/bluetooth/auto_pair_devlist.conf
new file mode 100644
index 0000000..2b5ccb1
--- /dev/null
+++ b/configs/bluetooth/auto_pair_devlist.conf
@@ -0,0 +1,27 @@
+# Do NOT change this file format without updating the parsing logic in
+# BT IF module implementation (btif_storage.c)
+
+# This file contains information to prevent auto pairing with Bluetooth devices.
+# Blacklisting by vendor prefix address:
+# The following companies are included in the list below:
+# ALPS (lexus), Murata (Prius 2007, Nokia 616), TEMIC SDS (Porsche, Audi),
+# Parrot, Zhongshan General K-mate Electronics, Great Well
+# Electronics, Flaircomm Electronics, Jatty Electronics, Delphi,
+# Clarion, Novero, Denso (Lexus, Toyota), Johnson Controls (Acura),
+# Continental Automotive, Harman/Becker, Panasonic/Kyushu Ten,
+# BMW (Motorola PCS), Visteon, Peugeot, BMW (MINI10013), Venza (Toyota)
+AddressBlacklist=00:02:C7,00:16:FE,00:19:C1,00:1B:FB,00:1E:3D,00:21:4F,00:23:06,00:24:33,00:A0:79,00:0E:6D,00:13:E0,00:21:E8,00:60:57,00:0E:9F,00:12:1C,00:18:91,00:18:96,00:13:04,00:16:FD,00:22:A0,00:0B:4C,00:60:6F,00:23:3D,00:C0:59,00:0A:30,00:1E:AE,00:1C:D7,00:80:F0,00:12:8A,00:09:93,00:80:37,00:26:7E,00:26:e8
+
+# Blacklisting by Exact Name:
+ExactNameBlacklist=Motorola IHF1000,i.TechBlueBAND,X5 Stereo v1.3,KML_CAN
+
+# Blacklisting by Partial Name (if name starts with)
+PartialNameBlacklist=BMW,Audi,Parrot,Car
+
+# Fixed PIN keyboard blacklist. Keyboards should have variable PIN
+# The keyboards below have a fixed PIN of 0000, so we will auto pair.
+# Note the reverse logic in this case compared to other's in this file
+# where its a blacklist for not auto pairing.
+FixedPinZerosKeyboardBlacklist=00:0F:F6
+
+# Blacklisting by addition of the address during usage
diff --git a/configs/bluetooth/bt_did.conf b/configs/bluetooth/bt_did.conf
new file mode 100644
index 0000000..ea89c06
--- /dev/null
+++ b/configs/bluetooth/bt_did.conf
@@ -0,0 +1,85 @@
+# Device ID (DID) configuration
+[DID1]
+
+# Primary Record - true or false (default)
+# There can be only one primary record
+primaryRecord = true
+
+# Vendor ID '0xFFFF' indicates no Device ID Service Record is present in the device
+# 0x000F = Broadcom Corporation (default)
+#vendorId = 0x000F
+
+# Vendor ID Source
+# 0x0001 = Bluetooth SIG assigned Device ID Vendor ID value (default)
+# 0x0002 = USB Implementer’s Forum assigned Device ID Vendor ID value
+#vendorIdSource = 0x0001
+
+# Product ID & Product Version
+# Per spec DID v1.3 0xJJMN for version is interpreted as JJ.M.N
+# JJ: major version number, M: minor version number, N: sub-minor version number
+# For example: 1200, v14.3.6
+productId = 0x1200
+version = 0x1436
+
+# Optional attributes
+#clientExecutableURL =
+#serviceDescription =
+#documentationURL =
+
+#=================================================================================================#
+# Device ID (DID) configuration
+[DID2]
+
+# Primary Record - true or false (default)
+# There can be only one primary record
+#primaryRecord = false
+
+# Vendor ID '0xFFFF' indicates no Device ID Service Record is present in the device
+# 0x000F = Broadcom Corporation (default)
+#vendorId = 0x000F
+
+# Vendor ID Source
+# 0x0001 = Bluetooth SIG assigned Device ID Vendor ID value (default)
+# 0x0002 = USB Implementer’s Forum assigned Device ID Vendor ID value
+#vendorIdSource = 0x0001
+
+# Product ID & Product Version
+# Per spec DID v1.3 0xJJMN for version is interpreted as JJ.M.N
+# JJ: major version number, M: minor version number, N: sub-minor version number
+# Default: 0x0000, v00.0.0
+#productId = 0x0000
+#version = 0x0000
+
+# Optional attributes
+#clientExecutableURL =
+#serviceDescription =
+#documentationURL =
+
+#=================================================================================================#
+# Device ID (DID) configuration
+[DID3]
+
+# Primary Record - true or false (default)
+# There can be only one primary record
+#primaryRecord = false
+
+# Vendor ID '0xFFFF' indicates no Device ID Service Record is present in the device
+# 0x000F = Broadcom Corporation (default)
+#vendorId = 0x000F
+
+# Vendor ID Source
+# 0x0001 = Bluetooth SIG assigned Device ID Vendor ID value (default)
+# 0x0002 = USB Implementer’s Forum assigned Device ID Vendor ID value
+#vendorIdSource = 0x0001
+
+# Product ID & Product Version
+# Per spec DID v1.3 0xJJMN for version is interpreted as JJ.M.N
+# JJ: major version number, M: minor version number, N: sub-minor version number
+# Default: 0x0000, v00.0.0
+#productId = 0x0000
+#version = 0x0000
+
+# Optional attributes
+#clientExecutableURL =
+#serviceDescription =
+#documentationURL =
diff --git a/configs/bluetooth/bt_stack.conf b/configs/bluetooth/bt_stack.conf
new file mode 100644
index 0000000..e42309e
--- /dev/null
+++ b/configs/bluetooth/bt_stack.conf
@@ -0,0 +1,294 @@
+# Enable BtSnoop logging function
+# valid value : true, false
+BtSnoopLogOutput=false
+
+# BtSnoop log output file
+BtSnoopFileName=/sdcard/mtklog/btlog/btsnoop_hci.log
+
+# Preserve existing BtSnoop log before overwriting
+BtSnoopSaveLog=false
+
+# Enable trace level reconfiguration function
+# Must be present before any TRC_ trace level settings
+TraceConf=true
+
+# Trace level configuration
+# BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
+# BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
+# BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
+# BT_TRACE_LEVEL_API 3 ( API traces )
+# BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
+# BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
+# BT_TRACE_LEVEL_VERBOSE 6 ( Verbose messages ) - Currently supported for TRC_BTAPP only.
+TRC_BTM=2
+TRC_HCI=2
+TRC_L2CAP=2
+TRC_RFCOMM=2
+TRC_OBEX=2
+TRC_AVCT=2
+TRC_AVDT=2
+TRC_AVRC=2
+TRC_AVDT_SCB=2
+TRC_AVDT_CCB=2
+TRC_A2D=2
+TRC_SDP=2
+TRC_GATT=2
+TRC_SMP=2
+TRC_BTAPP=2
+TRC_BTIF=2
+TRC_GAP=2
+TRC_BNEP=2
+TRC_PAN=2
+TRC_B3DS=2
+
+###################################
+# #
+# Must enable MTK_STACK_CONFIG #
+# #
+###################################
+
+[MtkBtConf]
+MtkStackConfigOverride=/sdcard/btsc
+
+#
+# Control FW Log
+#
+[MtkBtFWLog]
+# FCBE switch
+# Ex. Disable FWlog to set C1 = 01 BE FC 01 00 / Enable FWlog to set C1 = 01 BE FC 01 05
+C1 = 01 BE FC 01 00
+# FC5F filter
+C2 = 01 5F FC 2A 50 01 09 00 00 00
+# FC5F group filter bitmap
+# SYS
+C201 = 00 00 00 00
+# TIM
+C202 = 00 00 00 00
+# PKV
+C203 = 00 00 00 00
+# LC
+C204 = 00 00 00 00
+# LL
+C205 = 00 00 00 00
+# ANT
+C206 = 00 00 00 00
+# LMP
+C207 = 00 00 00 00
+# CO
+C208 = 00 00 00 00
+# VOICE
+C209 = 00 00 00 00
+
+#
+# Role Switch Blacklisting
+#
+[MtkRoleSwitchBlacklist]
+
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+AddressBlacklist=
+
+# Blacklisting by Exact Name:
+# Example: ExactNameBlacklist=This is an example,MT-1234,T1
+ExactNameBlacklist=
+
+# Blacklisting by Partial Name (if name starts with)
+# Example: PartialNameBlacklist=Test,MT
+PartialNameBlacklist=
+
+#
+# Sniff Subrating Blacklisting
+#
+[MtkSniffSubratingBlacklist]
+
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+# {0x54, 0x46, 0x6b}, /* JW MT002 Bluetooth Mouse */ /*LMP version&subversion - 5, 8721 & LMP Manufacturer - 15*/
+AddressBlacklist=54:46:6b
+
+# Blacklisting by Exact Name:
+# Example: ExactNameBlacklist=This is an example,MT-1234,T1
+ExactNameBlacklist=
+
+# Blacklisting by Partial Name (if name starts with)
+# Example: PartialNameBlacklist=Test,MT
+PartialNameBlacklist=
+
+#
+# Hogp Conn Update Blacklisting
+#
+[MtkHogpConnUpdateBlacklist]
+
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+AddressBlacklist=00:1b:dc
+
+# Blacklisting by Exact Name:
+# Example: ExactNameBlacklist=This is an example,MT-1234,T1
+ExactNameBlacklist=BSMBB09DS
+
+# Blacklisting by Partial Name (if name starts with)
+# Example: PartialNameBlacklist=Test,MT
+PartialNameBlacklist=
+
+#
+# BLE Conn Minimum Interval limit Blacklisting
+#
+[MtkBleConnIntMinLimitBlacklist]
+
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+AddressBlacklist=00:15:9e
+
+# Blacklisting by Exact Name:
+# Example: ExactNameBlacklist=This is an example,MT-1234,T1
+ExactNameBlacklist=Mad Catz M.O.U.S.9,Designer Mouse
+
+# Blacklisting by Partial Name (if name starts with)
+# Example: PartialNameBlacklist=Test,MT
+PartialNameBlacklist=
+
+#
+# BLE Conn timeout Blacklisting
+#
+[MtkBleConnTimeoutBlacklist]
+
+# Blacklisting by vendor prefix address:
+AddressBlacklist=FF:40:3A,DA:58:98,C2:80:29,FF:74:E1,D9:E6:EA
+
+# Blacklisting by Exact Name:
+ExactNameBlacklist=CASIO GB-6900A*
+
+#
+# Avrcp 1.5 Blacklisting
+#
+[MtkAvrcp15BackTo13Blacklist]
+
+# Some CT devices have IOT issue with AVRCP 1.5 device
+# Send the AVRCP version as 1.3 for these devices
+# {0x00, 0x1D, 0xBA}, /* JVC carkit */
+# {0x00, 0x1E, 0xB2}, /* AVN 3.0 Hyundai */
+# {0x00, 0x0E, 0x9F}, /* Porshe car kit */
+# {0x00, 0x13, 0x7B}, /* BYOM Opel */
+# {0x68, 0x84, 0x70}, /* KIA MOTOR */
+# {0x00, 0x21, 0xCC}, /* FORD FIESTA */
+# {0x30, 0x14, 0x4A}, /* Mini Cooper */
+# {0x38, 0xC0, 0x96}, /* Seat Leon */
+# {0x00, 0x54, 0xAF}, /* Chrysler */
+# {0x04, 0x88, 0xE2}, /* BeatsStudio Wireless */
+# {0x9C, 0xDF, 0x03}, /* BMW 2012 carkit */
+# {0xA8, 0x54, 0xB2}, /* BMW 2015 carkit */
+# {0x94, 0x44, 0x44}, /* AVN1.0 K9 */
+# {0x00, 0x05, 0xC9}, /* FS AVN */
+# {0xA0, 0x14, 0x3D}, /* VW Sharen */
+# {0xE0, 0x75, 0x0A}, /* VW GOLF */
+# {0x10, 0x08, 0xC1}, /* Hyundai SantaFe */
+# {0x00, 0x21, 0xCC}, /* FORD SYNC TDK */
+# {0x00, 0x0A, 0x30}, /* Honda TFT */
+# {0x00, 0x1E, 0x43}, /* AUDI MMI 3G+ */
+# {0x00, 0x18, 0x09}, /* AT-PHA05BT */
+# {0xC8, 0x02, 0x10}, /* KIA SportageR 2015 */
+# {0x34, 0xB1, 0xF7}, /* G-BOOK 2013 */
+# {0x7C, 0x66, 0x9D}, /* G-BOOK 2014 */
+# {0x00, 0x09, 0x93}, /* Nissan Altima 2014 */
+# {0x04, 0XF8, 0XC2} /* HAVAL H2 */
+AddressBlacklist=00:1D:BA,00:1E:B2,00:0E:9F,00:13:7B,68:84:70,00:21:CC,30:14:4A,38:C0:96,00:54:AF,04:88:E2,9C:DF:03,A8:54:B2,94:44:44,00:05:C9,A0:14:3D,E0:75:0A,10:08:C1,00:21:CC,00:0A:30,00:1E:43,00:18:09,C8:02:10,34:B1:F7,7C:66:9D,00:09:93,04:F8:C2
+
+[MtkAvrcp15BackTo14Blacklist]
+
+# Some CT devices support AVRCP version 1.4 instead of 1.5
+# Send the AVRCP version as 1.4 for these devices
+# {0x34, 0xC7, 0x31}, /* AUDI MIB Standard */
+# {0x00, 0x07, 0x04}, /* VW MIB Standard */
+# {0x00, 0x26, 0xB4}, /* MyFord Touch Gen2 */
+# {0x10, 0x08, 0xC1}, /* GEN 2.0 PREM */
+# {0x04, 0x98, 0xF3}, /* VW MIB Entry */
+# {0x64, 0xD4, 0xBD}, /* HONDA CAN2BENCH */
+# {0x0C, 0xD9, 0xC1}, /* HONDA CAN2BENCH-02 */
+# {0x18, 0x6D, 0x99}, /* GRANDUER MTS */
+# {0xFC, 0x62, 0xB9}, /* VW Golf VII */
+# {0x90, 0x03, 0xB7}, /* VW Jetta TSI 2013 */
+# {0x00, 0x26, 0x7E} /* VW Jetta TSI 2012 */
+AddressBlacklist=34:C7:31,00:07:04,00:26:B4,10:08:C1,04:98:F3,64:D4:BD,0C:D9:C1,18:6D:99,FC:62:B9,90:03:B7,00:26:7E
+
+
+#
+# SCMS-T Blacklisting
+#
+[MtkSCMSTBlacklist]
+
+# Some IOT devices can not work with SCSM-T normmaly
+# Do not select SCMS-T as set configurate
+# {0x00, 0x12, 0x6F} /* Bury CC9060 */
+AddressBlacklist=00:12:6f
+[MtkHfp15eSCOBlacklist]
+# Some devices support hfp 1.5 but not use eSCO connection
+# {0x00, 0x58, 0x76}, /* BT800 */
+AddressBlacklist=00:58:76
+
+ExactNameBlacklist=BT800
+
+[MtkSecureConnectionsBlacklist]
+# Some devices cannot compatible with secure connections
+PartialNameBlacklist=honor zero-
+
+[MtkSongPositionBlacklist]
+
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+#{0x00, 0x0e, 0x9f}, /* Toyota Touch&Go */
+AddressBlacklist=00:0e:9f
+
+# Blacklisting by Exact Name:
+# Example: ExactNameBlacklist=This is an example,MT-1234,T1
+ExactNameBlacklist=Toyota Touch&Go
+
+[MtkA2DPDelayStartCMDBlicklist]
+
+#
+# Some special device want perform START cmd itself first
+# If it not send START cmd, will close current link.
+# So for this special device, we need delay send A2DP START cmd
+# which from DUT to receive the special device cmd.
+# {0x00, 0x17, 0x53} /* Tiggo5 */
+AddressBlacklist=00:17:53
+
+[MtkAvrcpReleaseKeyBlacklist]
+# Blacklisting by vendor prefix address:
+# Example: AddressBlacklist=12:34:56,22:22:22
+#{0x00, 0x1e, 0xb2}, /* MTS255 */
+AddressBlacklist=00:1e:b2
+
+[MtkAvConnectOnSdpFail]
+#{00:1e:3d}, // ALPS ELECTRIC CO.,LTD.
+#{00:1b:fb}, // ALPS ELECTRIC CO.,LTD.
+#{00:26:7e}, // Parrot SA
+AddressBlacklist=00:1e:3d,00:1b:fb,00:26:7e
+
+[MtkAVDTPDiscoverBlacklist]
+# Some headset have IOT issue if DUT trigger DISCOVER procedure while act as an A2DP acceptor role
+# Do not trigger DISCOVER procedure
+
+# Blacklisting by vendor prefix address:
+#{0xa0, 0xb4, 0xa5}, /* Gear Circle */
+AddressBlacklist=a0:b4:a5
+
+# Blacklisting by Exact Name:
+ExactNameBlacklist=Gear Circle
+
+
+[MtkHfp15eSCOMsbcBlacklist]
+# Some devices can't use MSBC codec
+ExactNameBlacklist=Parrot ASTEROID Smart
+
+[MtkHIDDisableSDPBlacklist]
+# Some HID devices have issue if SDP is initiated while HID connection is in progress
+# {0x04, 0x0C, 0xCE}, /* Apple Magic Mouse */
+# {0x00, 0x07, 0x61}, /* Bluetooth Laser Travel Mouse */
+# {0x00, 0x1d, 0xd8}, /* Microsoft Bluetooth Notebook Mouse 5000 */
+# {0x00, 0x1f, 0x20}, /* Logitech MX Revolution Mouse */
+# {0x6c, 0x5d, 0x63}, /* Rapoo 6080 mouse */
+# {0x28, 0x18, 0x78} /* Microsoft Sculpt Touch Mouse */
+AddressBlacklist=04:0c:ce,00:07:61,00:1d:d8,00:1f:20,6c:5d:63,28:18:78
+ExactNameBlacklist=Apple Magic Mouse,Bluetooth Laser Travel Mouse,Microsoft Bluetooth Notebook Mouse 5000,Logitech MX Revolution Mouse,Microsoft Sculpt Touch Mouse
+
diff --git a/configs/bluetooth/bt_stack.conf.debug b/configs/bluetooth/bt_stack.conf.debug
new file mode 100644
index 0000000..13847b3
--- /dev/null
+++ b/configs/bluetooth/bt_stack.conf.debug
@@ -0,0 +1,78 @@
+# Enable BtSnoop logging function
+# valid value : true, false
+BtSnoopLogOutput=true
+
+# BtSnoop log output file
+BtSnoopFileName=/sdcard/mtklog/btlog/btsnoop_hci.log
+
+# Preserve existing BtSnoop log before overwriting
+BtSnoopSaveLog=true
+
+# Enable trace level reconfiguration function
+# Must be present before any TRC_ trace level settings
+TraceConf=true
+
+# Trace level configuration
+# BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
+# BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
+# BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
+# BT_TRACE_LEVEL_API 3 ( API traces )
+# BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
+# BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
+# BT_TRACE_LEVEL_VERBOSE 6 ( Verbose messages ) - Currently supported for TRC_BTAPP only.
+TRC_BTM=6
+TRC_HCI=6
+TRC_L2CAP=6
+TRC_RFCOMM=6
+TRC_OBEX=6
+TRC_AVCT=6
+TRC_AVDT=6
+TRC_AVRC=6
+TRC_AVDT_SCB=6
+TRC_AVDT_CCB=6
+TRC_A2D=6
+TRC_SDP=6
+TRC_GATT=6
+TRC_SMP=6
+TRC_BTAPP=6
+TRC_BTIF=6
+TRC_GAP=6
+TRC_BNEP=6
+TRC_PAN=6
+TRC_B3DS=6
+
+###################################
+# #
+# Must enable MTK_STACK_CONFIG #
+# #
+###################################
+
+#
+# Control FW Log
+#
+[MtkBtFWLog]
+# FCBE switch - Enable
+# Ex. Disable FWlog to set C1 = 01 BE FC 01 00 / Enable FWlog to set C1 = 01 BE FC 01 05
+C1 = 01 BE FC 01 05
+# FC5F filter
+C2 = 01 5F FC 2A 50 01 09 00 00 00
+# FC5F group filter bitmap
+# SYS
+C201 = 01 00 00 00
+# TIM
+C202 = 00 00 00 00
+# PKV
+C203 = 01 00 00 00
+# LC
+C204 = 01 00 00 00
+# LL
+C205 = 01 00 00 00
+# ANT
+C206 = 01 00 00 00
+# LMP
+C207 = 01 00 01 00
+# CO
+C208 = 03 38 00 00
+# VOICE
+C209 = 01 00 00 00
+
diff --git a/configs/bluetooth/bt_stack.conf.sqc b/configs/bluetooth/bt_stack.conf.sqc
new file mode 100644
index 0000000..55cac8f
--- /dev/null
+++ b/configs/bluetooth/bt_stack.conf.sqc
@@ -0,0 +1,78 @@
+# Enable BtSnoop logging function
+# valid value : true, false
+BtSnoopLogOutput=true
+
+# BtSnoop log output file
+BtSnoopFileName=/sdcard/mtklog/btlog/btsnoop_hci.log
+
+# Preserve existing BtSnoop log before overwriting
+BtSnoopSaveLog=true
+
+# Enable trace level reconfiguration function
+# Must be present before any TRC_ trace level settings
+TraceConf=true
+
+# Trace level configuration
+# BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
+# BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
+# BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
+# BT_TRACE_LEVEL_API 3 ( API traces )
+# BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
+# BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
+# BT_TRACE_LEVEL_VERBOSE 6 ( Verbose messages ) - Currently supported for TRC_BTAPP only.
+TRC_BTM=6
+TRC_HCI=6
+TRC_L2CAP=6
+TRC_RFCOMM=6
+TRC_OBEX=6
+TRC_AVCT=6
+TRC_AVDT=6
+TRC_AVRC=6
+TRC_AVDT_SCB=6
+TRC_AVDT_CCB=6
+TRC_A2D=6
+TRC_SDP=6
+TRC_GATT=6
+TRC_SMP=6
+TRC_BTAPP=6
+TRC_BTIF=6
+TRC_GAP=6
+TRC_BNEP=6
+TRC_PAN=6
+TRC_B3DS=6
+
+###################################
+# #
+# Must enable MTK_STACK_CONFIG #
+# #
+###################################
+
+#
+# Control FW Log
+#
+[MtkBtFWLog]
+# FCBE switch - Disable
+# Ex. Disable FWlog to set C1 = 01 BE FC 01 00 / Enable FWlog to set C1 = 01 BE FC 01 05
+C1 = 01 BE FC 01 00
+# FC5F filter
+C2 = 01 5F FC 2A 50 01 09 00 00 00
+# FC5F group filter bitmap
+# SYS
+C201 = 00 00 00 00
+# TIM
+C202 = 00 00 00 00
+# PKV
+C203 = 00 00 00 00
+# LC
+C204 = 00 00 00 00
+# LL
+C205 = 00 00 00 00
+# ANT
+C206 = 00 00 00 00
+# LMP
+C207 = 00 00 00 00
+# CO
+C208 = 00 00 00 00
+# VOICE
+C209 = 00 00 00 00
+
diff --git a/configs/dhcpcd/dhcpcd.conf b/configs/dhcpcd/dhcpcd.conf
new file mode 100644
index 0000000..426f756
--- /dev/null
+++ b/configs/dhcpcd/dhcpcd.conf
@@ -0,0 +1,8 @@
+# dhcpcd configuration for Android Wi-Fi interface
+
+# Disable solicitation of IPv6 Router Advertisements
+noipv6rs
+
+interface wlan0
+# dhcpcd-run-hooks uses these options.
+option subnet_mask, routers, domain_name_servers, interface_mtu
diff --git a/configs/egl.cfg b/configs/egl.cfg
new file mode 100644
index 0000000..9438b87
--- /dev/null
+++ b/configs/egl.cfg
@@ -0,0 +1,2 @@
+0 0 android
+0 1 mali
diff --git a/configs/gps/agps_profiles_conf2.xml b/configs/gps/agps_profiles_conf2.xml
new file mode 100644
index 0000000..279d1a2
--- /dev/null
+++ b/configs/gps/agps_profiles_conf2.xml
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<mtk_agps_profiles maj_ver="1" min_ver="2">
+
+ <!-- cur_supl_profile and supl_profile
+
+ name:
+ SLP name will be displayed on LocatioEM2 - SLP Template list
+
+ addr:
+ SLP address
+
+ port:
+ SLP port
+
+ tls:
+ enable/disable TLS connection
+ available value: true (default), false
+
+ ===== load SLP profile automatically based on PLMN =====
+ mcc (optional):
+ auto configure the supl_profile if the current MCC on DUT are the same as mcc parameter you specified and auto_profile_enable is enabled
+
+ mcc_mnc (optional):
+ auto configure the supl_profile if the current MCC and MNC on DUT are the same as mcc_mnc paramter you specified and auto_profile_enable is enabled
+
+ supl_version (optional):
+ auto configure supl_version if above mcc_mnc condition is met
+ available value: 1 -> SUPL1.0 (default)
+ available value: 2 -> SUPL2.0
+
+ tls_version (optional):
+ auto configure tls_version if above mcc_mnc condition is met
+ available value: 0 -> TLS1.0 (default)
+ available value: 1 -> TLS1.1
+ available value: 2 -> TLS1.2
+
+ sha_version (optional):
+ auto configure sha_version if above mcc_mnc condition is met
+ available value: 0 -> SHA1 for SUPL1.0 and SHA256 for SUPL2.0 (default)
+ available value: 1 -> SHA1 for SUPL1.0 and SUPL2.0
+ available value: 2 -> SHA256 for SUPL1.0 and SUPL2.0
+
+ ===== other parameters are used for DM =====
+ app_id (optional):
+ "ap0004"
+
+ provider_id (optional):
+ "221.176.0.55"
+
+ default_apn (optional):
+ "XXX WAP"
+
+ optional_apn (optional):
+ "internet"
+
+ optional_apn_2 (optional):
+ ""
+
+ address_type (optional):
+ "IPv4address:port"
+ -->
+
+ <cur_supl_profile name="GOOGLE"
+ addr="supl.google.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- GOOGLE-->
+ <supl_profile name="GOOGLE"
+ addr="supl.google.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- GOOGLE-->
+ <supl_profile name="GOOGLE nonTLS"
+ addr="supl.google.com"
+ port="7276"
+ tls="false"
+ />
+
+ <!-- GOOGLE-->
+ <supl_profile name="GOOGLE IP"
+ addr="173.194.72.192"
+ port="7276"
+ tls="false"
+ />
+
+ <!-- Spirent Lab -->
+ <supl_profile name="Spirent"
+ addr="www.spirent-lcs.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- R&S Lab -->
+ <supl_profile name="RnS"
+ addr="slp.rs.de"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- CMCC Lab -->
+ <supl_profile name="CMCC Lab"
+ addr="218.206.176.50"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- Andrew Lab -->
+ <supl_profile name="Andrew"
+ addr="slp1acva.andrew.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- Ericsson Lab -->
+ <supl_profile name="Ericsson"
+ addr="172.22.1.100"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- Ericsson Lab FQDN -->
+ <supl_profile name="Ericsson FQDN"
+ addr="mvtvltegmpc.naladmz.ericsson.ca"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- Ericsson Lab FQDN 2 -->
+ <supl_profile name="Ericsson FQDN 2"
+ addr="mvtv-broadcom.naladmz.ericsson.ca"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- ORANGE -->
+ <supl_profile name="ORANGE"
+ addr="agpss.orange.fr"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- CMCC-->
+ <supl_profile name="CMCC"
+ addr="221.176.0.55"
+ port="7275"
+ tls="true"
+ app_id="ap0004"
+ provider_id="221.176.0.55"
+ default_apn="CMCC WAP"
+ optional_apn="CMNET"
+ optional_apn_2=""
+ address_type="IPv4address:port"
+ />
+
+ <!-- Telstra -->
+ <supl_profile name="Telstra"
+ addr="agps.supl.telstra.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- CHUAN HWA -->
+ <supl_profile name="Chunghwa"
+ addr="10.1.101.137"
+ port="8025"
+ tls="false"
+ />
+
+ <!-- T-Mobile -->
+ <supl_profile name="T-Mobile"
+ addr="lbs.geo.t-mobile.com"
+ port="7275"
+ tls="true"
+ />
+
+ <!-- Vodafone -->
+ <supl_profile name="Vodafone"
+ addr="supl.vodafone.com"
+ port="7275"
+ tls="true"
+ mcc_mnc="22010"
+ supl_version="2"
+ tls_version="1"
+ sha_version="0"
+ />
+
+ <!-- Test 1 -->
+ <supl_profile name="Test 1"
+ addr="127.0.0.1"
+ port="7276"
+ tls="false"
+ mcc_mnc="999998"
+ supl_version="1"
+ tls_version="0"
+ sha_version="2"
+ />
+
+ <!-- Test 2 -->
+ <supl_profile name="Test 2"
+ addr="127.0.0.1"
+ port="7276"
+ tls="false"
+ mcc_mnc="999999"
+ supl_version="2"
+ tls_version="1"
+ sha_version="0"
+ />
+
+ <!-- Test 3 -->
+ <supl_profile name="Test 3"
+ addr="127.0.0.1"
+ port="7276"
+ tls="false"
+ mcc="998"
+ supl_version="1"
+ tls_version="2"
+ sha_version="1"
+ />
+
+ <!-- cdma_profile
+
+ name:
+ SLP name
+
+ mcp_enable:
+ enable/disable MCP parameters
+ available value: true, false (default)
+
+ mcp_addr:
+ MCP address
+
+ mcp_port:
+ MCP port
+
+ pde_addr_valid:
+ PDE address is valid or invalid
+ available value: true, false (default)
+
+ pde_ip_type:
+ PDE's address type
+ available value: 0 -> IPv4 (default)
+ available value: 1 -> IPv6
+
+ pde_addr:
+ PDE IP address
+
+ pde_port:
+ PDE port
+
+ pde_url_valid:
+ PDE URL is valid or invalid
+ available value: true, false (default)
+
+ pde_url_addr:
+ PDE URL
+ -->
+
+ <!-- CDMA profile template -->
+ <cdma_profile name="CDMA1"
+ mcp_enable="true"
+ mcp_addr="10.199.22.165"
+ mcp_port="6066"
+ pde_addr_valid="false"
+ pde_ip_type="0"
+ pde_addr="11.11.11.11"
+ pde_port="1111"
+ pde_url_valid="false"
+ pde_url_addr="www.mediatek.com"
+ />
+
+
+ <!-- agps_setting
+
+ agps_enable:
+ enable/disable A-GPS
+ available value: true (default), false
+
+ agps_protocol:
+ choose which A-GPS you want to use for SET Initiated
+ available value: 0 -> User Plane (default)
+ available value: 1 -> Control Plane
+
+ gpevt:
+ enable/disable GPEVT report
+ available value: true, false (default)
+ -->
+ <agps_setting
+ agps_enable="true"
+ agps_protocol="0"
+ gpevt="false"
+ />
+
+
+ <!-- cp_setting
+
+ molr_pos_method:
+ available value: 0 (Location Estimate) (default)
+ available value: 1 (Assistance Data)
+
+ external_addr_enable:
+ enable/disable the external address
+ available value: true, false (default)
+
+ external_addr:
+ external_address
+
+ mlc_number_enable:
+ enable/disable the mlc number
+ available value: true, false (default)
+
+ mlc_number:
+ MLC number
+
+ cp_auto_reset:
+ enable/disable to send PMTK997_5
+ available value: true, false (default)
+
+ epc_molr_lpp_payload_enable:
+ enable/disable to send LPP payload in the EPC-MOLR message
+ available value: true, false (default)
+
+ epc_molr_lpp_payload:
+ specify the LPP payload in the EPC-MOLR message in hexString format (ex: "010203ff" = { 0x01, 0x02, 0x03, 0xff }
+ the purpose of this parameter is used for LAB testing only, please do not change it.
+
+ -->
+ <cp_setting
+ molr_pos_method="0"
+ external_addr_enable="false"
+ external_addr="0123456789*#+"
+ mlc_number_enable="false"
+ mlc_number="0123456789*#+"
+ cp_auto_reset="false"
+ epc_molr_lpp_payload_enable="false"
+ epc_molr_lpp_payload="D2000010237B2026404FB8007202BFFFFFFFF80000000020C0000100940FB9001202B7FFFFF8000000000061800002018A00"
+ />
+
+ <!-- up_setting
+
+ ca_enable:
+ enable/disable the certificate verification
+ available value: true, false (default)
+
+ ni_request:
+ enable/disable Network Initiated (NI) functionality
+ available value: true (default), false
+
+ roaming:
+ enable/disable to use A-GPS when device is under roaming state
+ available value: true (default), false
+
+ cdma_preferred:
+ when CDMA network and WCDMA network are available, which AGPS protocol you prefer?
+ available value: 0 (WCDMA AGPS protocol is preferred) (default)
+ available value: 2 (FORCE CDMA AGPS protocol)
+
+ pref_method:
+ the preferred method in SUPL_START and SUPL_POS_INIT
+ available value: 0 -> SET assisted Preferred
+ available value: 1 -> SET Based Preferred (default)
+ available value: 2 -> no Preference
+
+ supl_version:
+ SUPL version for ULP
+ available value: 1 -> SUPL1.0 (default)
+ available value: 2 -> SUPL2.0
+
+ tls_version:
+ TLS version for TLS connection
+ available value: 0 -> TLS1.0 (default)
+ available value: 1 -> TLS1.1
+ available value: 2 -> TLS1.2
+
+ sha_version:
+ SHA version for calculating VER
+ available value: 0 -> SHA1 for SUPL1.0 and SHA256 for SUPL2.0 (default)
+ available value: 1 -> SHA1 for SUPL1.0 and SUPL2.0
+ available value: 2 -> SHA256 for SUPL1.0 and SUPL2.0
+
+ supl_log:
+ enable or disable the AGPS log
+ available value: true, false (default)
+
+ msa_enable:
+ enable/disable the MSA capability
+ available value: true (default), false
+
+ msb_enable:
+ enable/disable the MSB capability
+ available value: true (default), false
+
+ ecid_enable:
+ enable/disable the eCID capability
+ available value: true (default), false
+
+ otdoa_enable:
+ enable/disable the OTDOA capability
+ available value: true, false (default)
+
+ udp_port_enable:
+ enable/disable the UDP 7275 port by default, if you enable it, you may cause Android/CTS failure for checking netstat
+ available value: true, false (default)
+
+ dedicated_apn_enable:
+ enable/disable the dedicated SUPL APN flow
+ available value: true, false (default)
+
+ preferred_2g3g_cell_age:
+ max age of 2G / 3G cell info in history is OK to send to SLP server instead if the latest cell is of 3G or 4G.
+ available value: non-negative integer, from 0 ~ 1800, unit in second
+ 0 (always use the latest cell info)
+ 300 (prefer to use 2G / 3G cell if its age is less than 5 mins)
+
+ lpp_enable:
+ enable/disable the LPP capability
+ available value: true (default), false
+
+ cert_from_sdcard:
+ enable/disable the AGPS certification installation from SDCard
+ available value: true (default), false
+
+ auto_profile_enable:
+ enable/disable the auto profile configuration based on current mcc or mcc_mnc specified in cur_supl_profile or supl_profile
+ available value: true (default), false
+
+ ut2:
+ customize the SUPL UT2 timer
+ available value: 1~60, default value is 11 (OMA spec)
+
+ ut3:
+ customize the SUPL UT3 timer
+ available value: 1~60, default value is 10 (OMA spec)
+
+ sync_to_slp:
+ sync the AGPS setting (ex: SUPL profile, SUPL version, TLS version) from AGPSD to SLPD in runtime
+ available value: true, false (default)
+ -->
+ <up_setting
+ ca_enable="false"
+ ni_request="true"
+ roaming="true"
+ cdma_preferred="0"
+ pref_method="1"
+ supl_version="1"
+ tls_version="0"
+ sha_version="0"
+ supl_log="false"
+ msa_enable="true"
+ msb_enable="true"
+ ecid_enable="true"
+ otdoa_enable="false"
+ qop_hacc="22"
+ qop_vacc="0"
+ qop_loc_age="0"
+ qop_delay="0"
+ udp_port_enable="false"
+ dedicated_apn_enable="false"
+ preferred_2g3g_cell_age="300"
+ lpp_enable="true"
+ cert_from_sdcard="true"
+ auto_profile_enable="true"
+ ut2="11"
+ ut3="10"
+ sync_to_slp="false"
+ />
+
+</mtk_agps_profiles>
diff --git a/configs/gps/slp_conf b/configs/gps/slp_conf
new file mode 100644
index 0000000..431ec60
--- /dev/null
+++ b/configs/gps/slp_conf
@@ -0,0 +1,8 @@
+SUPL_ADDR=supl.google.com
+SUPL_PORT=7276
+//SUPL_TLS can be 0 (disable) or 1 (enable)
+SUPL_TLS=0
+//SUPL_VERSION can be 1 or 2
+SUPL_VERSION=2
+//TLS_VERSION can be 0 (TLS1.0), 1 (TLS1.1), and 2 (TLS1.2)
+TLS_VERSION=1 \ No newline at end of file
diff --git a/configs/hostapd/hostapd.accept b/configs/hostapd/hostapd.accept
new file mode 100644
index 0000000..6b167e0
--- /dev/null
+++ b/configs/hostapd/hostapd.accept
@@ -0,0 +1,3 @@
+# List of MAC addresses that are allowed to authenticate (IEEE 802.11)
+# with the AP. Optional VLAN ID can be assigned for clients based on the
+# MAC address if dynamic VLANs (hostapd.conf dynamic_vlan option) are used. \ No newline at end of file
diff --git a/configs/hostapd/hostapd.deny b/configs/hostapd/hostapd.deny
new file mode 100644
index 0000000..c37336b
--- /dev/null
+++ b/configs/hostapd/hostapd.deny
@@ -0,0 +1,2 @@
+# List of MAC addresses that are not allowed to authenticate (IEEE 802.11)
+# with the AP. \ No newline at end of file
diff --git a/configs/hostapd/hostapd_default.conf b/configs/hostapd/hostapd_default.conf
new file mode 100644
index 0000000..da942f6
--- /dev/null
+++ b/configs/hostapd/hostapd_default.conf
@@ -0,0 +1,81 @@
+##### hostapd configuration file ##############################################
+# Empty lines and lines starting with # are ignored
+
+# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
+# management frames); ath0 for madwifi
+interface=wlan0
+
+# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd);
+# default: hostap). nl80211 is used with all Linux mac80211 drivers.
+# Use driver=none if building hostapd as a standalone RADIUS server that does
+# not control any wireless/wired driver.
+driver=nl80211
+
+# hostapd event logger configuration
+#
+# Two output method: syslog and stdout (only usable if not forking to
+# background).
+#
+# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
+# modules):
+# bit 0 (1) = IEEE 802.11
+# bit 1 (2) = IEEE 802.1X
+# bit 2 (4) = RADIUS
+# bit 3 (8) = WPA
+# bit 4 (16) = driver interface
+# bit 5 (32) = IAPP
+# bit 6 (64) = MLME
+#
+# Levels (minimum value for logged events):
+# 0 = verbose debugging
+# 1 = debugging
+# 2 = informational messages
+# 3 = notification
+# 4 = warning
+#
+logger_syslog=-1
+logger_syslog_level=2
+logger_stdout=-1
+logger_stdout_level=2
+
+#DEPRECATED: DONT UNCOMMENT -- Dump file for state information (on SIGUSR1)
+#dump_file=/tmp/hostapd.dump
+
+# Interface for separate control program. If this is specified, hostapd
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple hostapd processes/interfaces can be run at the same time if more
+# than one interface is used.
+# /var/run/hostapd is the recommended directory for sockets and by default,
+# hostapd_cli will use it when trying to connect with hostapd.
+ctrl_interface=/data/misc/wifi/hostapd
+
+##### IEEE 802.11 related configuration #######################################
+
+# SSID to be used in IEEE 802.11 management frames
+ssid=AndroidAP
+
+# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
+# n = IEEE 802.11n, g_only = IEEE 802.11g_only, n_only = IEEE 802.11n_only,
+# Default: IEEE 802.11n
+hw_mode=g
+
+# Channel number (IEEE 802.11)
+# (default: 0, i.e., not set)
+# Please note that some drivers (e.g., madwifi) do not use this value from
+# hostapd and the channel will need to be configuration separately with
+# iwconfig.
+channel=6
+
+# ieee80211n: Whether IEEE 802.11n (HT) is enabled
+# 0 = disabled (default)
+# 1 = enabled
+# Note: You will also need to enable WMM for full HT functionality.
+ieee80211n=1
+
+# Accept/deny lists are read from separate files (containing list of
+# MAC addresses, one per line). Use absolute path name to make sure that the
+# files can be read on SIGHUP configuration reloads.
+accept_mac_file=/data/hostapd/hostapd.accept
+deny_mac_file=/data/hostapd/hostapd.deny
diff --git a/configs/media/media_codecs.xml b/configs/media/media_codecs.xml
new file mode 100644
index 0000000..95f8841
--- /dev/null
+++ b/configs/media/media_codecs.xml
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- 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.
+-->
+
+<!--
+<!DOCTYPE MediaCodecs [
+<!ELEMENT MediaCodecs (Decoders,Encoders)>
+<!ELEMENT Decoders (MediaCodec*)>
+<!ELEMENT Encoders (MediaCodec*)>
+<!ELEMENT MediaCodec (Type*,Quirk*)>
+<!ATTLIST MediaCodec name CDATA #REQUIRED>
+<!ATTLIST MediaCodec type CDATA>
+<!ELEMENT Type EMPTY>
+<!ATTLIST Type name CDATA #REQUIRED>
+<!ELEMENT Quirk EMPTY>
+<!ATTLIST Quirk name CDATA #REQUIRED>
+]>
+
+There's a simple and a complex syntax to declare the availability of a
+media codec:
+
+A codec that properly follows the OpenMax spec and therefore doesn't have any
+quirks and that only supports a single content type can be declared like so:
+
+ <MediaCodec name="OMX.foo.bar" type="something/interesting" />
+
+If a codec has quirks OR supports multiple content types, the following syntax
+can be used:
+
+ <MediaCodec name="OMX.foo.bar" >
+ <Type name="something/interesting" />
+ <Type name="something/else" />
+ ...
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="output-buffers-are-unreadable" />
+ </MediaCodec>
+
+Only the three quirks included above are recognized at this point:
+
+"requires-allocate-on-input-ports"
+ must be advertised if the component does not properly support specification
+ of input buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"requires-allocate-on-output-ports"
+ must be advertised if the component does not properly support specification
+ of output buffers using the OMX_UseBuffer(...) API but instead requires
+ OMX_AllocateBuffer to be used.
+
+"output-buffers-are-unreadable"
+ must be advertised if the emitted output buffers of a decoder component
+ are not readable, i.e. use a custom format even though abusing one of
+ the official OMX colorspace constants.
+ Clients of such decoders will not be able to access the decoded data,
+ naturally making the component much less useful. The only use for
+ a component with this quirk is to render the output to the screen.
+ Audio decoders MUST NOT advertise this quirk.
+ Video decoders that advertise this quirk must be accompanied by a
+ corresponding color space converter for thumbnail extraction,
+ matching surfaceflinger support that can render the custom format to
+ a texture and possibly other code, so just DON'T USE THIS QUIRK.
+
+ 2012/07/13 config for MTK OMX Media Codecs, created by Morris Yang (mtk03147)
+-->
+
+<MediaCodecs>
+
+ <Include href="media_codecs_ffmpeg.xml" />
+
+ <Decoders>
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.MP3" type="audio/mpeg" >
+ <Quirk name="decoder-lies-about-number-of-channels" />
+ <Quirk name="supports-multiple-frames-per-input-buffer" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.opus.decoder" type="audio/opus">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="8000-96000" />
+ <Limit name="bitrate" range="1-10000000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.ADPCM.MS" type="audio/x-adpcm-ms" />
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.ADPCM.DVI" type="audio/x-adpcm-dvi-ima" />
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.GSM" type="audio/gsm" />
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.RAW" type="audio/raw" />
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.G711.ALAW" type="audio/g711-alaw" >
+ <Quirk name="decoder-lies-about-number-of-channels" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.G711.MLAW" type="audio/g711-mlaw" >
+ <Quirk name="decoder-lies-about-number-of-channels" />
+ </MediaCodec>
+ <!-- <MediaCodec name="OMX.MTK.AUDIO.DECODER.FLAC" type="audio/flac" /> -->
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.WMA" type="audio/x-ms-wma" />
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.WMAPRO" type="audio/x-ms-wmapro" />
+ <!--<MediaCodec name="OMX.MTK.AUDIO.DECODER.APE" type="audio/ape" >
+ <Quirk name="decoder-lies-about-number-of-channels" />
+ <Quirk name="supports-multiple-frames-per-input-buffer" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.AUDIO.DECODER.ALAC" type="audio/alac" />-->
+
+ <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000" />
+ <Limit name="bitrate" range="4750-12200" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="16000" />
+ <Limit name="bitrate" range="6600-23850" />
+ </MediaCodec>
+ <!-- <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" /> -->
+ <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis">
+ <Limit name="channel-count" max="8" />
+ <Limit name="sample-rate" ranges="8000-96000" />
+ <Limit name="bitrate" range="32000-500000" />
+ </MediaCodec>
+
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.MPEG2" >
+ <Type name="video/mpeg2" />
+ <Type name="video/mpeg1" />
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.HEVC" type="video/hevc" >
+ <Limit name="size" min="129x65" max="4096x2176" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.MPEG4" type="video/mp4v-es" >
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.H263" type="video/3gpp" >
+ <Limit name="size" min="128x96" max="1408x1152" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.AVC" type="video/avc" >
+ <Limit name="size" min="64x64" max="4096x3120" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.VPX" type="video/x-vnd.on2.vp8" >
+ <Limit name="size" min="16x16" max="1920x1088" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.VP9" type="video/x-vnd.on2.vp9" >
+ <Limit name="size" min="16x16" max="1920x1088" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="64x64" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <Feature name="adaptive-playback"/>
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.VC1" >
+ <Type name="video/x-ms-wmv" />
+ <Type name="video/wmv" />
+ <Limit name="size" min="16x16" max="1920x1088" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.DIVX" type="video/divx" >
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.DIVX3" type="video/divx3" >
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.XVID" type="video/xvid" >
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.DECODER.S263" type="video/flv1" >
+ <Limit name="size" min="16x16" max="4096x2176" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+
+ <!--
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8">
+ <Limit name="size" min="2x2" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-1000000" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
+
+ <Limit name="size" min="2x2" max="1920x1088" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-983040" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ -->
+ </Decoders>
+
+ <Encoders>
+ <MediaCodec name="OMX.MTK.VIDEO.ENCODER.MPEG4" type="video/mp4v-es" >
+ <Limit name="size" min="64x64" max="640x480" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" >
+ <Limit name="size" min="64x64" max="640x480" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.ENCODER.AVC" type="video/avc" >
+ <Limit name="size" min="160x128" max="1920x1080" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+ <MediaCodec name="OMX.MTK.VIDEO.ENCODER.HEVC" type="video/hevc" >
+ <Limit name="size" min="160x128" max="3840x2176" />
+ <Limit name="alignment" value="32x32" />
+ <Limit name="block-size" value="32x32" />
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ </MediaCodec>
+
+ <MediaCodec name="OMX.MTK.AUDIO.ENCODER.VORBIS" type="audio/vorbis" />
+ <MediaCodec name="OMX.MTK.AUDIO.ENCODER.ADPCM.MS" type="audio/x-adpcm-ms" />
+ <MediaCodec name="OMX.MTK.AUDIO.ENCODER.ADPCM.DVI" type="audio/x-adpcm-dvi-ima" />
+ <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm">
+ <Limit name="channel-count" max="6" />
+ <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
+ <!-- also may support 64000, 88200 and 96000 Hz -->
+ <Limit name="bitrate" range="8000-960000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="8000" />
+ <Limit name="bitrate" range="4750-12200" />
+ <Feature name="bitrate-modes" value="CBR" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb">
+ <Limit name="channel-count" max="1" />
+ <Limit name="sample-rate" ranges="16000" />
+ <Limit name="bitrate" range="6600-23850" />
+ <Feature name="bitrate-modes" value="CBR" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.flac.encoder" type="audio/flac">
+ <Limit name="channel-count" max="2" />
+ <Limit name="sample-rate" ranges="1-655350" />
+ <Limit name="bitrate" range="1-21000000" />
+ <Limit name="complexity" range="0-8" default="5" />
+ <Feature name="bitrate-modes" value="CQ" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8">
+ <!-- profiles and levels: ProfileMain : Level_Version0-3 -->
+ <Limit name="size" min="2x2" max="1920x1080" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="bitrate-modes" value="VBR,CBR" />
+ </MediaCodec>
+ </Encoders>
+</MediaCodecs>
diff --git a/configs/media/media_profiles.xml b/configs/media/media_profiles.xml
new file mode 100644
index 0000000..5a3217a
--- /dev/null
+++ b/configs/media/media_profiles.xml
@@ -0,0 +1,1200 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 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.
+-->
+<!DOCTYPE MediaSettings [
+ <!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap,
+ VideoEditorCap,
+ ExportVideoProfile+)>
+ <!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+ <!ELEMENT EncoderProfile (Video, Audio)>
+ <!ATTLIST EncoderProfile quality (timelapse1080p|timelapse720p|timelapse480p|timelapsehigh|timelapselow|480p|qcif|high|low|1080p) #REQUIRED>
+ <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+ <!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+ <!ELEMENT Video EMPTY>
+ <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+ <!ATTLIST Video bitRate CDATA #REQUIRED>
+ <!ATTLIST Video width CDATA #REQUIRED>
+ <!ATTLIST Video height CDATA #REQUIRED>
+ <!ATTLIST Video frameRate CDATA #REQUIRED>
+ <!ELEMENT Audio EMPTY>
+ <!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+ <!ATTLIST Audio bitRate CDATA #REQUIRED>
+ <!ATTLIST Audio sampleRate CDATA #REQUIRED>
+ <!ATTLIST Audio channels (1|2) #REQUIRED>
+ <!ELEMENT ImageEncoding EMPTY>
+ <!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+ <!ELEMENT ImageDecoding EMPTY>
+ <!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+ <!ELEMENT Camera EMPTY>
+ <!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
+ <!ELEMENT EncoderOutputFileFormat EMPTY>
+ <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+ <!ELEMENT VideoEncoderCap EMPTY>
+ <!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+ <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+ <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+ <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+ <!ELEMENT AudioEncoderCap EMPTY>
+ <!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+ <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+ <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+ <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+ <!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+ <!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+ <!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+ <!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+ <!ELEMENT VideoDecoderCap EMPTY>
+ <!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+ <!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+ <!ELEMENT AudioDecoderCap EMPTY>
+ <!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+ <!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+ <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
+ <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
+ <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
+ <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
+ <!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
+ <!ELEMENT ExportVideoProfile EMPTY>
+ <!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
+ <!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
+ <!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <!-- Back Camera -->
+ <CamcorderProfiles cameraId="0">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <!-- Front Camera -->
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="44100"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <!-- Camera 2 -->
+ <CamcorderProfiles cameraId="2">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <!-- Camera 3 -->
+ <CamcorderProfiles cameraId="3">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="4">
+
+ <EncoderProfile quality="low" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="384000"
+ width="176"
+ height="144"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1536000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="4000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="8000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="14000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+
+ <!--
+ The Audio part of the profile will not be used since time lapse mode
+ does not capture audio
+ -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="90" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="20000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1080"
+ minFrameRate="5" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="8000000"
+ minFrameWidth="176" maxFrameWidth="704"
+ minFrameHeight="144" maxFrameHeight="576"
+ minFrameRate="5" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="10000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="5" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="8000" maxBitRate="320000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="2" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="4750" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <VideoDecoderCap name="wmv" enabled="true"/>
+ <AudioDecoderCap name="wma" enabled="true"/>
+ <VideoEditorCap maxInputFrameWidth="1920"
+ maxInputFrameHeight="1080"
+ maxOutputFrameWidth="1920"
+ maxOutputFrameHeight="1080"
+ maxPrefetchYUVFrames="10" />
+ <!--
+ The VideoEditor Export codec profile and level values
+ correspond to the values in OMX_Video.h.
+ E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
+ and level 512 means OMX_VIDEO_AVCLevel31.
+ Please note that the values are in decimal.
+ These values are for video encoder.
+ -->
+ <!--
+ Codec = h.263, Baseline profile, level 1
+ -->
+ <ExportVideoProfile name="h263" profile="1"
+ level="1" />
+ <!--
+ Codec = h.264, Baseline profile, level 4
+ -->
+ <ExportVideoProfile name="h264" profile="1"
+ level="2048" />
+ <!--
+ Codec = mpeg4, Simple profile, level 5
+ -->
+ <ExportVideoProfile name="m4v" profile="1"
+ level="128" />
+</MediaSettings>
diff --git a/configs/telephony/ecc_list.xml b/configs/telephony/ecc_list.xml
new file mode 100644
index 0000000..3cdf677
--- /dev/null
+++ b/configs/telephony/ecc_list.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<EccTable>
+ <!--
+ The attribute definition for tag EccEntry:
+ - Ecc: the emergnecy number
+ - Category: the service category
+ - Condition: there are following values:
+ - 0: ecc only when no sim
+ - 1: ecc always
+ - 2: MMI will show ecc but send to nw as normal call
+ -->
+ <EccEntry Ecc="112" Category="0" Condition="1" />
+ <EccEntry Ecc="911" Category="0" Condition="1" />
+ <EccEntry Ecc="000" Category="0" Condition="0" />
+ <EccEntry Ecc="08" Category="0" Condition="0" />
+ <EccEntry Ecc="110" Category="0" Condition="0" />
+ <EccEntry Ecc="118" Category="0" Condition="0" />
+ <EccEntry Ecc="119" Category="0" Condition="0" />
+ <EccEntry Ecc="999" Category="0" Condition="1" />
+ <EccEntry Ecc="998" Category="0" Condition="1" />
+ <EccEntry Ecc="997" Category="0" Condition="1" />
+ <EccEntry Ecc="986" Category="0" Condition="1" />
+
+</EccTable>
diff --git a/configs/telephony/spn-conf.xml b/configs/telephony/spn-conf.xml
new file mode 100644
index 0000000..618dd89
--- /dev/null
+++ b/configs/telephony/spn-conf.xml
@@ -0,0 +1,1099 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<spnOverrides version="1">
+<spnOverride numeric="3100" spn="NEPW"/>
+<spnOverride numeric="3102" spn="NEPW"/>
+<spnOverride numeric="3109" spn="NEPW"/>
+<spnOverride numeric="3500" spn="CELLONE"/>
+<spnOverride numeric="7081" spn="ClaroHND"/>
+<spnOverride numeric="20201" spn="GR COSMOTE"/>
+<spnOverride numeric="20205" spn="vodafone GR"/>
+<spnOverride numeric="20209" spn="Q-TELCOM"/>
+<spnOverride numeric="20210" spn="WIND"/>
+<spnOverride numeric="20404" spn="vodafone NL"/>
+<spnOverride numeric="20408" spn="NL KPN"/>
+<spnOverride numeric="20409" spn="Lyca mobile"/>
+<spnOverride numeric="20412" spn="NL Telfort"/>
+<spnOverride numeric="20416" spn="T-Mobile NL"/>
+<spnOverride numeric="20420" spn="Orange"/>
+<spnOverride numeric="20601" spn="Proximus"/>
+<spnOverride numeric="20605" spn="Telenet"/>
+<spnOverride numeric="20610" spn="Mobistar"/>
+<spnOverride numeric="20620" spn="BASE"/>
+<spnOverride numeric="20800" spn="Orange F"/>
+<spnOverride numeric="20801" spn="Orange F"/>
+<spnOverride numeric="20802" spn="F - Contact"/>
+<spnOverride numeric="20810" spn="SFR"/>
+<spnOverride numeric="20813" spn="F - Contact"/>
+<spnOverride numeric="20815" spn="Free"/>
+<spnOverride numeric="20820" spn="BYTEL"/>
+<spnOverride numeric="20826" spn="NRJ Mobile"/>
+<spnOverride numeric="20888" spn="F - Contact"/>
+<spnOverride numeric="21201" spn="vala"/>
+<spnOverride numeric="21210" spn="Monaco"/>
+<spnOverride numeric="21303" spn="STA-MOBILAND"/>
+<spnOverride numeric="21401" spn="vodafone ES"/>
+<spnOverride numeric="21403" spn="Orange"/>
+<spnOverride numeric="21404" spn="Yoigo"/>
+<spnOverride numeric="21407" spn="movistar"/>
+<spnOverride numeric="21601" spn="TelenorH"/>
+<spnOverride numeric="21630" spn="T-Mobile H"/>
+<spnOverride numeric="21670" spn="vodafone HU"/>
+<spnOverride numeric="21803" spn="Eronet"/>
+<spnOverride numeric="21805" spn="m:tel"/>
+<spnOverride numeric="21890" spn="BHMobile"/>
+<spnOverride numeric="21901" spn="T-Mobile"/>
+<spnOverride numeric="21902" spn="Tele2"/>
+<spnOverride numeric="21910" spn="HR VIP"/>
+<spnOverride numeric="22001" spn="Telenor"/>
+<spnOverride numeric="22002" spn="ProMonte"/>
+<spnOverride numeric="22003" spn="Telekom Srbija"/>
+<spnOverride numeric="22004" spn="T-Mobile CG"/>
+<spnOverride numeric="22005" spn="Vip SRB"/>
+<spnOverride numeric="22201" spn="I TIM"/>
+<spnOverride numeric="22210" spn="vodafone IT"/>
+<spnOverride numeric="22288" spn="I WIND"/>
+<spnOverride numeric="22299" spn="3 ITA"/>
+<spnOverride numeric="22601" spn="RO Vodafone RO"/>
+<spnOverride numeric="22603" spn="RO COSMOTE"/>
+<spnOverride numeric="22605" spn="Digi"/>
+<spnOverride numeric="22610" spn="RO ORANGE"/>
+<spnOverride numeric="22801" spn="Swisscom"/>
+<spnOverride numeric="22802" spn="Sunrise"/>
+<spnOverride numeric="22803" spn="Orange"/>
+<spnOverride numeric="22807" spn="In Phone"/>
+<spnOverride numeric="22808" spn="T2"/>
+<spnOverride numeric="23001" spn="T-Mobile CZ"/>
+<spnOverride numeric="23002" spn="O2 - CZ"/>
+<spnOverride numeric="23003" spn="Vodafone CZ"/>
+<spnOverride numeric="23101" spn="Orange SK"/>
+<spnOverride numeric="23102" spn="T-Mobile SK"/>
+<spnOverride numeric="23106" spn="O2 - SK"/>
+<spnOverride numeric="23201" spn="A1"/>
+<spnOverride numeric="23203" spn="T-Mobile A"/>
+<spnOverride numeric="23205" spn="Orange AT"/>
+<spnOverride numeric="23207" spn="telering"/>
+<spnOverride numeric="23210" spn="3 AT"/>
+<spnOverride numeric="23212" spn="Orange AT"/>
+<spnOverride numeric="23401" spn="UK01"/>
+<spnOverride numeric="23402" spn="O2 -UK"/>
+<spnOverride numeric="23403" spn="Jersey Telenet"/>
+<spnOverride numeric="23407" spn="Cable Wireless UK"/>
+<spnOverride numeric="23410" spn="O2 -UK"/>
+<spnOverride numeric="23411" spn="O2 -UK"/>
+<spnOverride numeric="23415" spn="vodafone UK"/>
+<spnOverride numeric="23419" spn="PMN UK"/>
+<spnOverride numeric="23420" spn="3 UK"/>
+<spnOverride numeric="23430" spn="T-Mobile UK"/>
+<spnOverride numeric="23431" spn="T-Mobile UK"/>
+<spnOverride numeric="23432" spn="T-Mobile UK"/>
+<spnOverride numeric="23433" spn="Orange"/>
+<spnOverride numeric="23434" spn="Orange"/>
+<spnOverride numeric="23450" spn="JT-Wave"/>
+<spnOverride numeric="23455" spn="Sure"/>
+<spnOverride numeric="23458" spn="Manx"/>
+<spnOverride numeric="23801" spn="TDC MOBIL"/>
+<spnOverride numeric="23802" spn="Telenor"/>
+<spnOverride numeric="23806" spn="3 DK"/>
+<spnOverride numeric="23820" spn="TELIA DK"/>
+<spnOverride numeric="23877" spn="Sonofon"/>
+<spnOverride numeric="23892" spn="TelenoDK"/>
+<spnOverride numeric="24001" spn="TELIA"/>
+<spnOverride numeric="24002" spn="3 SE"/>
+<spnOverride numeric="24004" spn="Sweden"/>
+<spnOverride numeric="24005" spn="Sweden 3G"/>
+<spnOverride numeric="24007" spn="Tele2"/>
+<spnOverride numeric="24008" spn="Telenor SE"/>
+<spnOverride numeric="24010" spn="SpringMobil SE"/>
+<spnOverride numeric="24024" spn="MobileS"/>
+<spnOverride numeric="24201" spn="N Telenor"/>
+<spnOverride numeric="24202" spn="N NetCom"/>
+<spnOverride numeric="24205" spn="Mobile Norway"/>
+<spnOverride numeric="24403" spn="DNA"/>
+<spnOverride numeric="24405" spn="FI Elisa"/>
+<spnOverride numeric="24412" spn="DNA"/>
+<spnOverride numeric="24414" spn="FI AMT"/>
+<spnOverride numeric="24491" spn="FI SONERA"/>
+<spnOverride numeric="24601" spn="OMNITEL LT"/>
+<spnOverride numeric="24602" spn="LT BITE GSM"/>
+<spnOverride numeric="24603" spn="TELE2"/>
+<spnOverride numeric="24701" spn="LMT GSM"/>
+<spnOverride numeric="24702" spn="TELE2"/>
+<spnOverride numeric="24705" spn="BITE LV"/>
+<spnOverride numeric="24801" spn="EE EMT"/>
+<spnOverride numeric="24802" spn="EE elisa"/>
+<spnOverride numeric="24803" spn="TELE2"/>
+<spnOverride numeric="25001" spn="MTS"/>
+<spnOverride numeric="25002" spn="MegaFon"/>
+<spnOverride numeric="25004" spn="RUS_SCN"/>
+<spnOverride numeric="25005" spn="ETK"/>
+<spnOverride numeric="25007" spn="BMT"/>
+<spnOverride numeric="25010" spn="DTC"/>
+<spnOverride numeric="25012" spn="Baykalwestcom"/>
+<spnOverride numeric="25013" spn="KUGSM"/>
+<spnOverride numeric="25015" spn="SMARTS"/>
+<spnOverride numeric="25016" spn="NTC"/>
+<spnOverride numeric="25017" spn="Utel"/>
+<spnOverride numeric="25019" spn="INDIGO"/>
+<spnOverride numeric="25020" spn="TELE2"/>
+<spnOverride numeric="25028" spn="Beeline"/>
+<spnOverride numeric="25035" spn="MOTIV"/>
+<spnOverride numeric="25037" spn="KODOTEL"/>
+<spnOverride numeric="25039" spn="Utel"/>
+<spnOverride numeric="25099" spn="Beeline"/>
+<spnOverride numeric="25501" spn="MTS UKR"/>
+<spnOverride numeric="25502" spn="Beeline"/>
+<spnOverride numeric="25503" spn="Kyivstar"/>
+<spnOverride numeric="25505" spn="GT"/>
+<spnOverride numeric="25506" spn="life:)"/>
+<spnOverride numeric="25507" spn="Utel"/>
+<spnOverride numeric="25701" spn="Velcom"/>
+<spnOverride numeric="25702" spn="MTS"/>
+<spnOverride numeric="25704" spn="life:)"/>
+<spnOverride numeric="25901" spn="Orange MD"/>
+<spnOverride numeric="25902" spn="MDCELL"/>
+<spnOverride numeric="25903" spn="UNITE"/>
+<spnOverride numeric="25904" spn="EVENTIS"/>
+<spnOverride numeric="25905" spn="UNITE"/>
+<spnOverride numeric="26001" spn="Plus"/>
+<spnOverride numeric="26002" spn="Era"/>
+<spnOverride numeric="26003" spn="Orange PL"/>
+<spnOverride numeric="26006" spn="Play"/>
+<spnOverride numeric="26010" spn="Sferia"/>
+<spnOverride numeric="26012" spn="Cyfrowy Polsat"/>
+<spnOverride numeric="26015" spn="CenterNet S.A."/>
+<spnOverride numeric="26016" spn="Mobyland Sp. z o.o."/>
+<spnOverride numeric="26017" spn="Aero 2 Sp. z o.o."/>
+<spnOverride numeric="26201" spn="T-Mobile D"/>
+<spnOverride numeric="26202" spn="Vodafone.de"/>
+<spnOverride numeric="26203" spn="E-Plus"/>
+<spnOverride numeric="26207" spn="o2 - de"/>
+<spnOverride numeric="26208" spn="o2 - de"/>
+<spnOverride numeric="26601" spn="GIBTEL"/>
+<spnOverride numeric="26606" spn="CTS"/>
+<spnOverride numeric="26801" spn="vodafone P"/>
+<spnOverride numeric="26803" spn="P OPTIMUS"/>
+<spnOverride numeric="26806" spn="P TMN"/>
+<spnOverride numeric="27001" spn="L LUXGSM"/>
+<spnOverride numeric="27077" spn="L TANGO"/>
+<spnOverride numeric="27099" spn="L Orange-LU"/>
+<spnOverride numeric="27201" spn="vodafone IE"/>
+<spnOverride numeric="27202" spn="O2 IRL"/>
+<spnOverride numeric="27203" spn="IRL - METEOR"/>
+<spnOverride numeric="27205" spn="3 IRL"/>
+<spnOverride numeric="27211" spn="Tesco Mobile"/>
+<spnOverride numeric="27401" spn="Siminn"/>
+<spnOverride numeric="27402" spn="Vodafone"/>
+<spnOverride numeric="27404" spn="Viking"/>
+<spnOverride numeric="27407" spn="IceCell"/>
+<spnOverride numeric="27408" spn="On-waves"/>
+<spnOverride numeric="27411" spn="NOVA"/>
+<spnOverride numeric="27412" spn="Siminn"/>
+<spnOverride numeric="27601" spn="AMC - AL"/>
+<spnOverride numeric="27602" spn="vodafone AL"/>
+<spnOverride numeric="27603" spn="EAGLE AL"/>
+<spnOverride numeric="27604" spn="PLUS AL"/>
+<spnOverride numeric="27801" spn="vodafone MT"/>
+<spnOverride numeric="27821" spn="go mobile"/>
+<spnOverride numeric="27877" spn="3GT MT"/>
+<spnOverride numeric="28001" spn="Cytamobile-Vodafone "/>
+<spnOverride numeric="28010" spn="MTN"/>
+<spnOverride numeric="28201" spn="GCELL"/>
+<spnOverride numeric="28202" spn="MAGTI"/>
+<spnOverride numeric="28204" spn="BEELINE"/>
+<spnOverride numeric="28300" spn="MTS Armenia"/>
+<spnOverride numeric="28301" spn="Beeline AM"/>
+<spnOverride numeric="28305" spn="MTS Armenia"/>
+<spnOverride numeric="28310" spn="Orange"/>
+<spnOverride numeric="28401" spn="M-Tel BG"/>
+<spnOverride numeric="28403" spn="vivatel"/>
+<spnOverride numeric="28405" spn="BG GLOBUL"/>
+<spnOverride numeric="28601" spn="TR TURKCELL"/>
+<spnOverride numeric="28602" spn="VODAFONE TR"/>
+<spnOverride numeric="28603" spn="AVEA"/>
+<spnOverride numeric="28801" spn="FT-GSM"/>
+<spnOverride numeric="28802" spn="VODAFONE"/>
+<spnOverride numeric="29001" spn="TELE GRL"/>
+<spnOverride numeric="29266" spn="SMT"/>
+<spnOverride numeric="29340" spn="Si.mobil"/>
+<spnOverride numeric="29341" spn="Mobitel"/>
+<spnOverride numeric="29364" spn="T-2"/>
+<spnOverride numeric="29370" spn="Tusmobil"/>
+<spnOverride numeric="29401" spn="T-Mobile MK"/>
+<spnOverride numeric="29402" spn="ONE"/>
+<spnOverride numeric="29403" spn="Vip MKD"/>
+<spnOverride numeric="29501" spn="SwisscomFL"/>
+<spnOverride numeric="29502" spn="Orange FL"/>
+<spnOverride numeric="29505" spn="FL1"/>
+<spnOverride numeric="29577" spn="LI TANGO"/>
+<spnOverride numeric="30272" spn="Rogers"/>
+<spnOverride numeric="30286" spn="Telus"/>
+<spnOverride numeric="30801" spn="AMERIS"/>
+<spnOverride numeric="31000" spn="Verizon"/>
+<spnOverride numeric="31031" spn="T-Mobile "/>
+<spnOverride numeric="31046" spn="SIMMETRY"/>
+<spnOverride numeric="31100" spn="WILKES"/>
+<spnOverride numeric="31101" spn="WILKES"/>
+<spnOverride numeric="31105" spn="WILKES"/>
+<spnOverride numeric="33403" spn="movistar"/>
+<spnOverride numeric="33805" spn="DIGICEL"/>
+<spnOverride numeric="34001" spn="F-Orange"/>
+<spnOverride numeric="34002" spn="ONLY"/>
+<spnOverride numeric="34003" spn="CHIPPIE"/>
+<spnOverride numeric="34008" spn="DAUPHIN"/>
+<spnOverride numeric="34020" spn="DIGICEL"/>
+<spnOverride numeric="35001" spn="Digicel"/>
+<spnOverride numeric="35002" spn="M3 WIRELESS"/>
+<spnOverride numeric="35010" spn="Cingular"/>
+<spnOverride numeric="36251" spn="Telcell GSM"/>
+<spnOverride numeric="36269" spn="CT GSM"/>
+<spnOverride numeric="36291" spn="CHIPPIE"/>
+<spnOverride numeric="36301" spn="SETAR GSM"/>
+<spnOverride numeric="36320" spn="Digicel"/>
+<spnOverride numeric="36439" spn="BaTelCel"/>
+<spnOverride numeric="36801" spn="Cubacel"/>
+<spnOverride numeric="37001" spn="orange"/>
+<spnOverride numeric="37002" spn="CLARO DOM"/>
+<spnOverride numeric="37004" spn="Viva"/>
+<spnOverride numeric="37201" spn="COMCEL"/>
+<spnOverride numeric="37412" spn="TSTT"/>
+<spnOverride numeric="40001" spn="ACELL"/>
+<spnOverride numeric="40002" spn="BKCELL"/>
+<spnOverride numeric="40004" spn="Nar"/>
+<spnOverride numeric="40101" spn="Beeline KZ"/>
+<spnOverride numeric="40102" spn="KZ KCELL"/>
+<spnOverride numeric="40177" spn="NEO-KZ"/>
+<spnOverride numeric="40211" spn="B-Mobile"/>
+<spnOverride numeric="40277" spn="TashiCell"/>
+<spnOverride numeric="40401" spn="Vodafone"/>
+<spnOverride numeric="40400" spn="Reliance"/>
+<spnOverride numeric="40402" spn="Airtel"/>
+<spnOverride numeric="40403" spn="Airtel"/>
+<spnOverride numeric="40404" spn="IDEA"/>
+<spnOverride numeric="40405" spn="Vodafone"/>
+<spnOverride numeric="40407" spn="IDEA"/>
+<spnOverride numeric="40409" spn="Reliance"/>
+<spnOverride numeric="40410" spn="Airtel"/>
+<spnOverride numeric="40411" spn="Vodafone"/>
+<spnOverride numeric="40412" spn="IDEA"/>
+<spnOverride numeric="40413" spn="Vodafone"/>
+<spnOverride numeric="40414" spn="IDEA"/>
+<spnOverride numeric="40415" spn="Vodafone"/>
+<spnOverride numeric="40416" spn="Airtel"/>
+<spnOverride numeric="40417" spn="Aircel"/>
+<spnOverride numeric="40418" spn="Reliance"/>
+<spnOverride numeric="40419" spn="IDEA"/>
+<spnOverride numeric="40420" spn="Vodafone"/>
+<spnOverride numeric="40421" spn="LoopMobile"/>
+<spnOverride numeric="40422" spn="IDEA"/>
+<spnOverride numeric="40424" spn="IDEA"/>
+<spnOverride numeric="40425" spn="Aircel"/>
+<spnOverride numeric="40427" spn="Vodafone"/>
+<spnOverride numeric="40428" spn="Aircel"/>
+<spnOverride numeric="40429" spn="Aircel"/>
+<spnOverride numeric="40430" spn="Vodafone"/>
+<spnOverride numeric="40431" spn="AirTel"/>
+<spnOverride numeric="40433" spn="Aircel"/>
+<spnOverride numeric="40434" spn="CellOne"/>
+<spnOverride numeric="40435" spn="Aircel"/>
+<spnOverride numeric="40436" spn="Reliance"/>
+<spnOverride numeric="40437" spn="Aircel"/>
+<spnOverride numeric="40438" spn="CellOne"/>
+<spnOverride numeric="40440" spn="Airtel"/>
+<spnOverride numeric="40441" spn="Aircel"/>
+<spnOverride numeric="40442" spn="Aircel"/>
+<spnOverride numeric="40443" spn="Vodafone"/>
+<spnOverride numeric="40444" spn="IDEA"/>
+<spnOverride numeric="40445" spn="Airtel"/>
+<spnOverride numeric="40446" spn="Vodafone"/>
+<spnOverride numeric="40449" spn="AirTel"/>
+<spnOverride numeric="40450" spn="Reliance"/>
+<spnOverride numeric="40451" spn="CellOne"/>
+<spnOverride numeric="40452" spn="Reliance"/>
+<spnOverride numeric="40453" spn="CellOne"/>
+<spnOverride numeric="40454" spn="CellOne"/>
+<spnOverride numeric="40455" spn="CellOne"/>
+<spnOverride numeric="40456" spn="IDEA"/>
+<spnOverride numeric="40457" spn="CellOne"/>
+<spnOverride numeric="40458" spn="CellOne"/>
+<spnOverride numeric="40459" spn="CellOne"/>
+<spnOverride numeric="40460" spn="Vodafone"/>
+<spnOverride numeric="40462" spn="CellOne"/>
+<spnOverride numeric="40464" spn="CellOne"/>
+<spnOverride numeric="40466" spn="CellOne"/>
+<spnOverride numeric="40467" spn="Reliance"/>
+<spnOverride numeric="40468" spn="Dolphin"/>
+<spnOverride numeric="40469" spn="Dolphin"/>
+<spnOverride numeric="40470" spn="Airtel"/>
+<spnOverride numeric="40471" spn="CellOne"/>
+<spnOverride numeric="40472" spn="CellOne"/>
+<spnOverride numeric="40473" spn="CellOne"/>
+<spnOverride numeric="40474" spn="CellOne"/>
+<spnOverride numeric="40475" spn="CellOne"/>
+<spnOverride numeric="40476" spn="CellOne"/>
+<spnOverride numeric="40477" spn="CellOne"/>
+<spnOverride numeric="40478" spn="IDEA"/>
+<spnOverride numeric="40479" spn="CellOne"/>
+<spnOverride numeric="40480" spn="CellOne"/>
+<spnOverride numeric="40481" spn="CellOne"/>
+<spnOverride numeric="40482" spn="IDEA"/>
+<spnOverride numeric="40483" spn="Reliance"/>
+<spnOverride numeric="40484" spn="Vodafone"/>
+<spnOverride numeric="40485" spn="Reliance"/>
+<spnOverride numeric="40486" spn="Vodafone"/>
+<spnOverride numeric="40487" spn="IDEA"/>
+<spnOverride numeric="40488" spn="Vodafone"/>
+<spnOverride numeric="40489" spn="IDEA"/>
+<spnOverride numeric="40490" spn="AirTel"/>
+<spnOverride numeric="40491" spn="Aircel"/>
+<spnOverride numeric="40492" spn="Airtel"/>
+<spnOverride numeric="40493" spn="Airtel"/>
+<spnOverride numeric="40494" spn="Airtel"/>
+<spnOverride numeric="40495" spn="Airtel"/>
+<spnOverride numeric="40496" spn="Airtel"/>
+<spnOverride numeric="40497" spn="Airtel"/>
+<spnOverride numeric="40498" spn="Airtel"/>
+<spnOverride numeric="40501" spn="Reliance"/>
+<spnOverride numeric="40505" spn="Reliance"/>
+<spnOverride numeric="40506" spn="Reliance"/>
+<spnOverride numeric="40507" spn="Reliance"/>
+<spnOverride numeric="40509" spn="Reliance"/>
+<spnOverride numeric="40510" spn="Reliance"/>
+<spnOverride numeric="40511" spn="Reliance"/>
+<spnOverride numeric="40513" spn="Reliance"/>
+<spnOverride numeric="40515" spn="Reliance"/>
+<spnOverride numeric="40518" spn="Reliance"/>
+<spnOverride numeric="40519" spn="Reliance"/>
+<spnOverride numeric="40520" spn="Reliance"/>
+<spnOverride numeric="40521" spn="Reliance"/>
+<spnOverride numeric="40522" spn="Reliance"/>
+<spnOverride numeric="40548" spn="Indian Railways"/>
+<spnOverride numeric="40551" spn="AirTel"/>
+<spnOverride numeric="40552" spn="Airtel"/>
+<spnOverride numeric="40553" spn="Airtel"/>
+<spnOverride numeric="40554" spn="Airtel"/>
+<spnOverride numeric="40555" spn="Airtel"/>
+<spnOverride numeric="40556" spn="Airtel"/>
+<spnOverride numeric="40566" spn="Vodafone"/>
+<spnOverride numeric="40567" spn="Vodafone"/>
+<spnOverride numeric="40570" spn="IDEA"/>
+<spnOverride numeric="41001" spn="Mobilink"/>
+<spnOverride numeric="41003" spn="PK-UFONE"/>
+<spnOverride numeric="41004" spn="ZONG"/>
+<spnOverride numeric="41006" spn="Telenor PK"/>
+<spnOverride numeric="41007" spn="WaridTel"/>
+<spnOverride numeric="41201" spn="AF AWCC"/>
+<spnOverride numeric="41220" spn="ROSHAN"/>
+<spnOverride numeric="41240" spn="MTN AF"/>
+<spnOverride numeric="41250" spn="Etisalat Af"/>
+<spnOverride numeric="41301" spn="Mobitel"/>
+<spnOverride numeric="41302" spn="SRI DIALOG"/>
+<spnOverride numeric="41303" spn="ETISALAT "/>
+<spnOverride numeric="41305" spn="SRI AIRTEL"/>
+<spnOverride numeric="41308" spn="Hutch"/>
+<spnOverride numeric="41401" spn="MPTGSM"/>
+<spnOverride numeric="41501" spn="Alfa"/>
+<spnOverride numeric="41503" spn="MTC-Touch"/>
+<spnOverride numeric="41505" spn="Ogero Mobile (OM)"/>
+<spnOverride numeric="41601" spn="zain JO"/>
+<spnOverride numeric="41603" spn="Umniah"/>
+<spnOverride numeric="41677" spn="Orange"/>
+<spnOverride numeric="41701" spn="SYRIATEL"/>
+<spnOverride numeric="41702" spn="MTN"/>
+<spnOverride numeric="41709" spn="MOBILE"/>
+<spnOverride numeric="41800" spn="ASIACELL"/>
+<spnOverride numeric="41805" spn="ASIACELL"/>
+<spnOverride numeric="41820" spn="zain IQ"/>
+<spnOverride numeric="41830" spn="IRAQNA"/>
+<spnOverride numeric="41840" spn="KOREK"/>
+<spnOverride numeric="41902" spn="zain KW"/>
+<spnOverride numeric="41903" spn="Wataniya Telecom"/>
+<spnOverride numeric="41904" spn="VIVA"/>
+<spnOverride numeric="42001" spn="STC"/>
+<spnOverride numeric="42101" spn="SabaFon"/>
+<spnOverride numeric="42102" spn="MTN"/>
+<spnOverride numeric="42202" spn="OMAN MOBILE"/>
+<spnOverride numeric="42203" spn="nawras"/>
+<spnOverride numeric="42402" spn="ETISALAT"/>
+<spnOverride numeric="42403" spn="du"/>
+<spnOverride numeric="42501" spn="IL ORANGE"/>
+<spnOverride numeric="42502" spn="Cellcom Israel"/>
+<spnOverride numeric="42503" spn="Pelephone"/>
+<spnOverride numeric="42505" spn="JAWWAL"/>
+<spnOverride numeric="42506" spn="Wataniya Mobile "/>
+<spnOverride numeric="42601" spn="BATELCO"/>
+<spnOverride numeric="42602" spn="zain BH"/>
+<spnOverride numeric="42604" spn="VIVA BH"/>
+<spnOverride numeric="42701" spn="Qat - Qtel"/>
+<spnOverride numeric="42702" spn="vodafone"/>
+<spnOverride numeric="42888" spn="Unitel"/>
+<spnOverride numeric="42899" spn="MobiCom"/>
+<spnOverride numeric="42901" spn="NTC"/>
+<spnOverride numeric="42902" spn="Ncell"/>
+<spnOverride numeric="43211" spn="MCI"/>
+<spnOverride numeric="43214" spn="IR KISH"/>
+<spnOverride numeric="43219" spn="MTCE"/>
+<spnOverride numeric="43232" spn="Taliya"/>
+<spnOverride numeric="43235" spn="MTN Irancell"/>
+<spnOverride numeric="43404" spn="Beeline UZ"/>
+<spnOverride numeric="43405" spn="UZB Ucell"/>
+<spnOverride numeric="43407" spn="UZB MTS"/>
+<spnOverride numeric="43601" spn="TCELL"/>
+<spnOverride numeric="43602" spn="TCELL"/>
+<spnOverride numeric="43603" spn="MLT"/>
+<spnOverride numeric="43604" spn="Babilon"/>
+<spnOverride numeric="43605" spn="BEELINE"/>
+<spnOverride numeric="43612" spn="INDIGO-T"/>
+<spnOverride numeric="43701" spn="Beeline KG"/>
+<spnOverride numeric="43705" spn="MEGACOM"/>
+<spnOverride numeric="43709" spn="O!"/>
+<spnOverride numeric="43801" spn="MTS TM"/>
+<spnOverride numeric="44000" spn="eMobile"/>
+<spnOverride numeric="44007" spn="KDDI"/>
+<spnOverride numeric="44010" spn="DOCOMO"/>
+<spnOverride numeric="44020" spn="SoftBank"/>
+<spnOverride numeric="44050" spn="KDDI"/>
+<spnOverride numeric="45002" spn="KTF"/>
+<spnOverride numeric="45005" spn="SK Telecom"/>
+<spnOverride numeric="45008" spn="KTF"/>
+<spnOverride numeric="45201" spn="Mobifone"/>
+<spnOverride numeric="45202" spn="VINAPHONE"/>
+<spnOverride numeric="45204" spn="Viettel Mobile"/>
+<spnOverride numeric="45205" spn="VNMOBILE"/>
+<spnOverride numeric="45207" spn="Beeline"/>
+<spnOverride numeric="45208" spn="EVNTelecom"/>
+<spnOverride numeric="45400" spn="CSL"/>
+<spnOverride numeric="45402" spn="CSL"/>
+<spnOverride numeric="45403" spn="3 HK"/>
+<spnOverride numeric="45404" spn="3(2G)"/>
+<spnOverride numeric="45406" spn="SmarToneVodafone"/>
+<spnOverride numeric="45429" spn="PCCW"/>
+<spnOverride numeric="45410" spn="CSL"/>
+<spnOverride numeric="45412" spn="CMCC"/>
+<spnOverride numeric="45413" spn="CMCC HK"/>
+<spnOverride numeric="45415" spn="SmarToneVodafone"/>
+<spnOverride numeric="45416" spn="PCCW"/>
+<spnOverride numeric="45418" spn="CSL"/>
+<spnOverride numeric="45419" spn="PCCW"/>
+<spnOverride numeric="45500" spn="SmarTone"/>
+<spnOverride numeric="45501" spn="CTM"/>
+<spnOverride numeric="45502" spn="CT Macao"/>
+<spnOverride numeric="45503" spn="HT Macau"/>
+<spnOverride numeric="45504" spn="CTM"/>
+<spnOverride numeric="45505" spn="3 Macau"/>
+<spnOverride numeric="45601" spn="CELLCARD"/>
+<spnOverride numeric="45602" spn="hello"/>
+<spnOverride numeric="45604" spn="QB"/>
+<spnOverride numeric="45605" spn="STARCELL"/>
+<spnOverride numeric="45606" spn="SMART"/>
+<spnOverride numeric="45608" spn="Metfone"/>
+<spnOverride numeric="45609" spn="Beeline"/>
+<spnOverride numeric="45618" spn="Mfone"/>
+<spnOverride numeric="45701" spn="LAO GSM"/>
+<spnOverride numeric="45702" spn="ETL MOBILE"/>
+<spnOverride numeric="45703" spn="UNITEL"/>
+<spnOverride numeric="45708" spn="TIGO LAO"/>
+<spnOverride numeric="46000" spn="CMCC"/>
+<spnOverride numeric="46001" spn="UNICOM"/>
+<spnOverride numeric="46002" spn="CMCC(02)"/>
+<spnOverride numeric="46007" spn="CMCC(07)"/>
+<spnOverride numeric="46601" spn="Far EasTone"/>
+<spnOverride numeric="46605" spn="APTG"/>
+<spnOverride numeric="46668" spn="ACeS"/>
+<spnOverride numeric="46688" spn="KG Telecom"/>
+<spnOverride numeric="46689" spn="VIBO"/>
+<spnOverride numeric="46692" spn="Chunghwa Telecom"/>
+<spnOverride numeric="46693" spn="MobiTai"/>
+<spnOverride numeric="46697" spn="Taiwan Mobile"/>
+<spnOverride numeric="46699" spn="TransAsia"/>
+<spnOverride numeric="46703" spn="SUNNET"/>
+<spnOverride numeric="47001" spn="Grameenphone"/>
+<spnOverride numeric="47002" spn="Robi"/>
+<spnOverride numeric="47003" spn="Banglalink"/>
+<spnOverride numeric="47004" spn="Teletalk"/>
+<spnOverride numeric="47007" spn="Airtel"/>
+<spnOverride numeric="47201" spn="Dhiraagu"/>
+<spnOverride numeric="47202" spn="WATANIYA"/>
+<spnOverride numeric="50212" spn="MY MAXIS"/>
+<spnOverride numeric="50213" spn="MY CELCOM 3G"/>
+<spnOverride numeric="50216" spn="MY DiGi"/>
+<spnOverride numeric="50218" spn="U MOBILE"/>
+<spnOverride numeric="50219" spn="MY CELCOM"/>
+<spnOverride numeric="50501" spn="Telstra Mobile"/>
+<spnOverride numeric="50502" spn="Optus"/>
+<spnOverride numeric="50503" spn="vodafone AU"/>
+<spnOverride numeric="50506" spn="3TELSTRA"/>
+<spnOverride numeric="50510" spn="NT"/>
+<spnOverride numeric="50519" spn="Lycamobile"/>
+<spnOverride numeric="51000" spn="ACeS"/>
+<spnOverride numeric="51001" spn="INDOSAT"/>
+<spnOverride numeric="51008" spn="axis"/>
+<spnOverride numeric="51010" spn="TELKOMSEL"/>
+<spnOverride numeric="51011" spn="XL"/>
+<spnOverride numeric="51021" spn="INDOSAT"/>
+<spnOverride numeric="51089" spn="3"/>
+<spnOverride numeric="51402" spn="TLS-TT"/>
+<spnOverride numeric="51501" spn="ISLACOM"/>
+<spnOverride numeric="51502" spn="Globe Telecom"/>
+<spnOverride numeric="51503" spn="SMART"/>
+<spnOverride numeric="51505" spn="SUN"/>
+<spnOverride numeric="51511" spn="ACeS"/>
+<spnOverride numeric="51518" spn="CURE"/>
+<spnOverride numeric="515034" spn="SUN"/>
+<spnOverride numeric="515035" spn="SUN"/>
+<spnOverride numeric="515036" spn="SUN"/>
+<spnOverride numeric="515037" spn="SUN"/>
+<spnOverride numeric="515038" spn="SUN"/>
+<spnOverride numeric="515039" spn="SUN"/>
+<spnOverride numeric="52001" spn="AIS GSM"/>
+<spnOverride numeric="52010" spn="TRUE"/>
+<spnOverride numeric="52015" spn="ACT-1900"/>
+<spnOverride numeric="52018" spn="DTAC"/>
+<spnOverride numeric="52020" spn="ACeS"/>
+<spnOverride numeric="52023" spn="TH GSM 1800"/>
+<spnOverride numeric="52099" spn="TRUE"/>
+<spnOverride numeric="52501" spn="SingTel"/>
+<spnOverride numeric="52502" spn="SingTel"/>
+<spnOverride numeric="52503" spn="M1-3GSM"/>
+<spnOverride numeric="52505" spn="STARHUB"/>
+<spnOverride numeric="52507" spn="SingTel"/>
+<spnOverride numeric="52802" spn="B-mobile"/>
+<spnOverride numeric="52811" spn="DSTCom"/>
+<spnOverride numeric="53001" spn="vodafone NZ"/>
+<spnOverride numeric="53005" spn="Telecom NZ"/>
+<spnOverride numeric="53024" spn="2degrees"/>
+<spnOverride numeric="53701" spn="BMobile"/>
+<spnOverride numeric="53901" spn="U-CALL"/>
+<spnOverride numeric="53988" spn="Digicel Tonga"/>
+<spnOverride numeric="54001" spn="BREEZE"/>
+<spnOverride numeric="54101" spn="VUT SMILE"/>
+<spnOverride numeric="54105" spn="DIGICEL"/>
+<spnOverride numeric="54201" spn="VODAFONE"/>
+<spnOverride numeric="54509" spn="KI-FRIG"/>
+<spnOverride numeric="54601" spn="MOBILIS"/>
+<spnOverride numeric="54720" spn="VINI"/>
+<spnOverride numeric="54801" spn="KOKANET"/>
+<spnOverride numeric="54927" spn="Samoatel GO"/>
+<spnOverride numeric="55001" spn="FSM Telecom"/>
+<spnOverride numeric="55280" spn="Palau Mobile"/>
+<spnOverride numeric="60201" spn="EGY MobiNiL"/>
+<spnOverride numeric="60202" spn="vodafone EG"/>
+<spnOverride numeric="60203" spn="Etisalat"/>
+<spnOverride numeric="60301" spn="Mobilis"/>
+<spnOverride numeric="60302" spn="Djezzy"/>
+<spnOverride numeric="60303" spn="Nedjma"/>
+<spnOverride numeric="60400" spn="MEDITEL"/>
+<spnOverride numeric="60401" spn="IAM"/>
+<spnOverride numeric="60402" spn="Wan Mobile"/>
+<spnOverride numeric="60501" spn="Orange"/>
+<spnOverride numeric="60502" spn="TUNTEL"/>
+<spnOverride numeric="60503" spn="TUNISIANA"/>
+<spnOverride numeric="60600" spn="Libyana"/>
+<spnOverride numeric="60601" spn="ALMADAR"/>
+<spnOverride numeric="60701" spn="GAMCEL"/>
+<spnOverride numeric="60702" spn="Africell"/>
+<spnOverride numeric="60703" spn="GMCOMIUM"/>
+<spnOverride numeric="60704" spn="QC"/>
+<spnOverride numeric="60801" spn="ALIZE"/>
+<spnOverride numeric="60802" spn="SENTEL"/>
+<spnOverride numeric="60803" spn="Expresso Senegal"/>
+<spnOverride numeric="60901" spn="MATTEL"/>
+<spnOverride numeric="60902" spn="Chinguitel"/>
+<spnOverride numeric="60910" spn="Mauritel"/>
+<spnOverride numeric="61001" spn="MALITEL ML"/>
+<spnOverride numeric="61002" spn="ORANGE ML"/>
+<spnOverride numeric="61101" spn="Orange GN"/>
+<spnOverride numeric="61102" spn="LAGUI"/>
+<spnOverride numeric="61104" spn="GNAreeba"/>
+<spnOverride numeric="61105" spn="CellcomGN"/>
+<spnOverride numeric="61202" spn="MOOV"/>
+<spnOverride numeric="61203" spn="Orange"/>
+<spnOverride numeric="61204" spn="KoZ"/>
+<spnOverride numeric="61205" spn="MTN CI"/>
+<spnOverride numeric="61301" spn="Telmob"/>
+<spnOverride numeric="61302" spn="celtel"/>
+<spnOverride numeric="61401" spn="SAHELCOM"/>
+<spnOverride numeric="61402" spn="CELTEL"/>
+<spnOverride numeric="61403" spn="TELECEL"/>
+<spnOverride numeric="61404" spn="Orange"/>
+<spnOverride numeric="61501" spn="TOGO CELL"/>
+<spnOverride numeric="61503" spn="Telecel Togo"/>
+<spnOverride numeric="61602" spn="TLCL-BEN"/>
+<spnOverride numeric="61603" spn="MTN"/>
+<spnOverride numeric="61605" spn="GloBenin"/>
+<spnOverride numeric="61701" spn="CELL +"/>
+<spnOverride numeric="61710" spn="EMTEL"/>
+<spnOverride numeric="61801" spn="LoneStar"/>
+<spnOverride numeric="61807" spn="Celcom"/>
+<spnOverride numeric="61901" spn="CELTEL"/>
+<spnOverride numeric="61902" spn="MILLICOM"/>
+<spnOverride numeric="61903" spn="Datatel"/>
+<spnOverride numeric="61904" spn="SLE COMIUM"/>
+<spnOverride numeric="61905" spn="Africell"/>
+<spnOverride numeric="61907" spn="GreenN "/>
+<spnOverride numeric="61925" spn="Mobitel"/>
+<spnOverride numeric="62001" spn="MTN"/>
+<spnOverride numeric="62002" spn="Vodafone"/>
+<spnOverride numeric="62003" spn="Tigo"/>
+<spnOverride numeric="62006" spn="Airtel"/>
+<spnOverride numeric="62120" spn="AIrtelNG"/>
+<spnOverride numeric="62130" spn="MTN-NG"/>
+<spnOverride numeric="62140" spn="Mtel"/>
+<spnOverride numeric="62150" spn="Glo Mobile"/>
+<spnOverride numeric="62160" spn="EMTS NGA"/>
+<spnOverride numeric="62201" spn="CELTEL"/>
+<spnOverride numeric="62302" spn="Telecel"/>
+<spnOverride numeric="62303" spn="Orange RCA"/>
+<spnOverride numeric="62304" spn="NationLink"/>
+<spnOverride numeric="62401" spn="Zain SD"/>
+<spnOverride numeric="62402" spn="Orange CAM"/>
+<spnOverride numeric="62501" spn="CPV MOVEL"/>
+<spnOverride numeric="62502" spn="CPV T+"/>
+<spnOverride numeric="62601" spn="CSTmovel"/>
+<spnOverride numeric="62701" spn="GETESA"/>
+<spnOverride numeric="62703" spn="HiTs-GE"/>
+<spnOverride numeric="62801" spn="LIBERTIS"/>
+<spnOverride numeric="62802" spn="TELECEL"/>
+<spnOverride numeric="62803" spn="ZAIN"/>
+<spnOverride numeric="62901" spn="CELTEL RC"/>
+<spnOverride numeric="62902" spn="Azur-Congo"/>
+<spnOverride numeric="62907" spn="WARIDRC"/>
+<spnOverride numeric="62910" spn="MTN-CG"/>
+<spnOverride numeric="63001" spn="Vodacom CD"/>
+<spnOverride numeric="63002" spn="CELTEL"/>
+<spnOverride numeric="63005" spn="SCELL CD"/>
+<spnOverride numeric="63086" spn="CCT"/>
+<spnOverride numeric="63089" spn="OASIS"/>
+<spnOverride numeric="63102" spn="Unitel"/>
+<spnOverride numeric="63202" spn="MTN"/>
+<spnOverride numeric="63203" spn="ORANGE BS"/>
+<spnOverride numeric="63207" spn="GTM"/>
+<spnOverride numeric="63301" spn="C W SEY"/>
+<spnOverride numeric="63310" spn="AIRTEL"/>
+<spnOverride numeric="63401" spn="MobiTel"/>
+<spnOverride numeric="63402" spn="MTN"/>
+<spnOverride numeric="63405" spn="Vivacell"/>
+<spnOverride numeric="63510" spn="RCELL"/>
+<spnOverride numeric="63512" spn="RWTEL"/>
+<spnOverride numeric="63513" spn="TIGO"/>
+<spnOverride numeric="63601" spn="ET-MTN"/>
+<spnOverride numeric="63701" spn="Tele"/>
+<spnOverride numeric="63704" spn="SOMAFONE"/>
+<spnOverride numeric="63730" spn="Golis"/>
+<spnOverride numeric="63740" spn="MONTYSOM"/>
+<spnOverride numeric="63771" spn="SOMTEL"/>
+<spnOverride numeric="63782" spn="Telsom"/>
+<spnOverride numeric="63801" spn="EVATIS"/>
+<spnOverride numeric="63902" spn="Safaricom"/>
+<spnOverride numeric="63903" spn="Airtel"/>
+<spnOverride numeric="63905" spn="Yu"/>
+<spnOverride numeric="63907" spn="Orange Kenya "/>
+<spnOverride numeric="64002" spn="TIGO"/>
+<spnOverride numeric="64003" spn="ZANTEL"/>
+<spnOverride numeric="64004" spn="VodaCom"/>
+<spnOverride numeric="64005" spn="celtel"/>
+<spnOverride numeric="64009" spn="Hits TZ"/>
+<spnOverride numeric="64101" spn="CELTEL"/>
+<spnOverride numeric="64110" spn="MTN-UG"/>
+<spnOverride numeric="64111" spn="UTL"/>
+<spnOverride numeric="64114" spn="OUL"/>
+<spnOverride numeric="64122" spn="WaridTel"/>
+<spnOverride numeric="64201" spn="EWB"/>
+<spnOverride numeric="64202" spn="TEMPO-AF"/>
+<spnOverride numeric="64203" spn="ONATEL"/>
+<spnOverride numeric="64207" spn="SMART"/>
+<spnOverride numeric="64282" spn="TELECEL-BDI"/>
+<spnOverride numeric="64301" spn="mCel"/>
+<spnOverride numeric="64304" spn="VodaCom"/>
+<spnOverride numeric="64501" spn="CELTEL"/>
+<spnOverride numeric="64502" spn="MTN ZM"/>
+<spnOverride numeric="64601" spn="Airtel"/>
+<spnOverride numeric="64602" spn="OrangeMG"/>
+<spnOverride numeric="64604" spn="TELMA"/>
+<spnOverride numeric="64700" spn="Orange "/>
+<spnOverride numeric="64702" spn="OUTREMER"/>
+<spnOverride numeric="64710" spn="SFR RU"/>
+<spnOverride numeric="64801" spn="NetOne"/>
+<spnOverride numeric="64803" spn="TELECEL"/>
+<spnOverride numeric="64804" spn="ECONET"/>
+<spnOverride numeric="64901" spn="MTC"/>
+<spnOverride numeric="64903" spn="leoâ„¢"/>
+<spnOverride numeric="65010" spn="CELTEL"/>
+<spnOverride numeric="65101" spn="Vodacom-LS"/>
+<spnOverride numeric="65102" spn="EZI-CEL"/>
+<spnOverride numeric="65201" spn="MASCOM"/>
+<spnOverride numeric="65202" spn="Orange"/>
+<spnOverride numeric="65310" spn="SwaziMTN"/>
+<spnOverride numeric="65501" spn="VodaCom-SA"/>
+<spnOverride numeric="65502" spn="8ta"/>
+<spnOverride numeric="65507" spn="Cell C"/>
+<spnOverride numeric="65510" spn="MTN-SA"/>
+<spnOverride numeric="70267" spn="BTL"/>
+<spnOverride numeric="70401" spn="ClaroGTM"/>
+<spnOverride numeric="70402" spn="COMCEL"/>
+<spnOverride numeric="70403" spn="movistar"/>
+<spnOverride numeric="70601" spn="CLARO SLV"/>
+<spnOverride numeric="70602" spn="Digicel"/>
+<spnOverride numeric="70603" spn="TELEMOVIL"/>
+<spnOverride numeric="70604" spn="movistar"/>
+<spnOverride numeric="70802" spn="CELTELHND"/>
+<spnOverride numeric="70830" spn="HT - 200"/>
+<spnOverride numeric="71021" spn="ClaroNIC"/>
+<spnOverride numeric="71073" spn="ClaroNIC"/>
+<spnOverride numeric="71200" spn="I.C.E. "/>
+<spnOverride numeric="71201" spn="I.C.E. "/>
+<spnOverride numeric="71202" spn="I.C.E. "/>
+<spnOverride numeric="71401" spn="PANCW"/>
+<spnOverride numeric="71403" spn="CLARO PA"/>
+<spnOverride numeric="71606" spn="movistar"/>
+<spnOverride numeric="71610" spn="CLARO PER"/>
+<spnOverride numeric="71617" spn="NXT3"/>
+<spnOverride numeric="72207" spn="movistar"/>
+<spnOverride numeric="72234" spn="AR TP"/>
+<spnOverride numeric="72236" spn="Telecom Personal SA"/>
+<spnOverride numeric="72402" spn="TIM BRASIL"/>
+<spnOverride numeric="72403" spn="TIM BRASIL"/>
+<spnOverride numeric="72404" spn="TIM BRASIL"/>
+<spnOverride numeric="72405" spn="Claro"/>
+<spnOverride numeric="72406" spn="VIVO"/>
+<spnOverride numeric="72410" spn="VIVO"/>
+<spnOverride numeric="72411" spn="VIVO"/>
+<spnOverride numeric="72415" spn="Sercomtel"/>
+<spnOverride numeric="72416" spn="Oi"/>
+<spnOverride numeric="72423" spn="VIVO"/>
+<spnOverride numeric="72424" spn="AMAZONIA"/>
+<spnOverride numeric="72431" spn="Oi"/>
+<spnOverride numeric="72432" spn="CTBC"/>
+<spnOverride numeric="72433" spn="CTBC"/>
+<spnOverride numeric="72434" spn="CTBC"/>
+<spnOverride numeric="73001" spn="ENTEL"/>
+<spnOverride numeric="73002" spn="movistar"/>
+<spnOverride numeric="73003" spn="CLARO CHL"/>
+<spnOverride numeric="73008" spn="VTR"/>
+<spnOverride numeric="73009" spn="Nextel"/>
+<spnOverride numeric="73010" spn="ENTEL"/>
+<spnOverride numeric="73401" spn="DIGITEL "/>
+<spnOverride numeric="73402" spn="DIGITEL "/>
+<spnOverride numeric="73403" spn="DIGITEL "/>
+<spnOverride numeric="73404" spn="movistar"/>
+<spnOverride numeric="73406" spn="Movilnet"/>
+<spnOverride numeric="73601" spn="VIVA"/>
+<spnOverride numeric="73602" spn="EMOVIL"/>
+<spnOverride numeric="73603" spn="Telecel"/>
+<spnOverride numeric="73801" spn="DIGICEL"/>
+<spnOverride numeric="74000" spn="movistar"/>
+<spnOverride numeric="74001" spn="PORTA GSM"/>
+<spnOverride numeric="74401" spn="VOX"/>
+<spnOverride numeric="74402" spn="CLARO PY"/>
+<spnOverride numeric="74404" spn="Telecel"/>
+<spnOverride numeric="74405" spn="Personal"/>
+<spnOverride numeric="74602" spn="TeleG"/>
+<spnOverride numeric="74603" spn="DIGICEL"/>
+<spnOverride numeric="74604" spn="UNIQA"/>
+<spnOverride numeric="74807" spn="Movistar"/>
+<spnOverride numeric="74810" spn="CLARO UY"/>
+<spnOverride numeric="79502" spn="TM CELL"/>
+<spnOverride numeric="90105" spn="Thuraya"/>
+<spnOverride numeric="90106" spn="Thuraya"/>
+<spnOverride numeric="90112" spn="MCP"/>
+<spnOverride numeric="90114" spn="AeroMob"/>
+<spnOverride numeric="90115" spn="OnAir"/>
+<spnOverride numeric="90117" spn="Navitas"/>
+<spnOverride numeric="90118" spn="WMS"/>
+<spnOverride numeric="90121" spn="Seanet"/>
+<spnOverride numeric="284001" spn="M-Tel"/>
+<spnOverride numeric="302220" spn="TELUS"/>
+<spnOverride numeric="302350" spn="FIRST"/>
+<spnOverride numeric="302370" spn="Fido"/>
+<spnOverride numeric="302380" spn="DMTS"/>
+<spnOverride numeric="302490" spn="WIND"/>
+<spnOverride numeric="302610" spn="Bell"/>
+<spnOverride numeric="302654" spn="SaskTel Mobility"/>
+<spnOverride numeric="302660" spn="MTS "/>
+<spnOverride numeric="302702" spn="MT&amp;T Mobility"/>
+<spnOverride numeric="302703" spn="NewTel Mobility"/>
+<spnOverride numeric="302720" spn="ROGERS"/>
+<spnOverride numeric="302730" spn="TStarSol"/>
+<spnOverride numeric="310000" spn="NEP Wireless"/>
+<spnOverride numeric="310002" spn="NEP Wireless"/>
+<spnOverride numeric="310009" spn="NEP Wireless"/>
+<spnOverride numeric="310010" spn="Verizon"/>
+<spnOverride numeric="310016" spn="Cricket"/>
+<spnOverride numeric="310020" spn="UnionTel"/>
+<spnOverride numeric="310030" spn="CENT USA"/>
+<spnOverride numeric="310032" spn="IT E"/>
+<spnOverride numeric="310050" spn="ACS Wireless"/>
+<spnOverride numeric="310070" spn="Cingular Wireless"/>
+<spnOverride numeric="310080" spn="Corr"/>
+<spnOverride numeric="310090" spn="Edge"/>
+<spnOverride numeric="310100" spn="PLATEAU"/>
+<spnOverride numeric="310120" spn="Sprint"/>
+<spnOverride numeric="310130" spn="Carolina West Wireless"/>
+<spnOverride numeric="310140" spn="GTA Wireless"/>
+<spnOverride numeric="310150" spn="AT&amp;T"/>
+<spnOverride numeric="310160" spn="T-Mobile "/>
+<spnOverride numeric="310170" spn="AT&amp;T"/>
+<spnOverride numeric="310180" spn="West Central Wireless"/>
+<spnOverride numeric="310190" spn="D-HARBOR"/>
+<spnOverride numeric="310200" spn="T-Mobile "/>
+<spnOverride numeric="310210" spn="T-Mobile "/>
+<spnOverride numeric="310220" spn="T-Mobile "/>
+<spnOverride numeric="310230" spn="T-Mobile "/>
+<spnOverride numeric="310240" spn="T-Mobile "/>
+<spnOverride numeric="310250" spn="T-Mobile "/>
+<spnOverride numeric="310260" spn="T-Mobile "/>
+<spnOverride numeric="310260" spn="T-Mobile "/>
+<spnOverride numeric="310270" spn="T-Mobile "/>
+<spnOverride numeric="310300" spn="BigSkyUS"/>
+<spnOverride numeric="310310" spn="T-Mobile "/>
+<spnOverride numeric="310320" spn="Cell"/>
+<spnOverride numeric="310330" spn="Cell One"/>
+<spnOverride numeric="310340" spn="WestLink"/>
+<spnOverride numeric="310350" spn="Mohave Cellular"/>
+<spnOverride numeric="310380" spn="AT&amp;T"/>
+<spnOverride numeric="310390" spn="CELL 1 ET"/>
+<spnOverride numeric="310400" spn="iCAN_GSM"/>
+<spnOverride numeric="310410" spn="AT&amp;T"/>
+<spnOverride numeric="310420" spn="CBW"/>
+<spnOverride numeric="310450" spn="NECCI"/>
+<spnOverride numeric="310460" spn="SIMMETRY"/>
+<spnOverride numeric="310470" spn="DOCOMOPA"/>
+<spnOverride numeric="310490" spn="T-Mobile USA"/>
+<spnOverride numeric="310500" spn="Alltel"/>
+<spnOverride numeric="310530" spn="IWS"/>
+<spnOverride numeric="310540" spn="Oklahoma Western Telephone"/>
+<spnOverride numeric="310570" spn="Chinook"/>
+<spnOverride numeric="310590" spn="ROAMING"/>
+<spnOverride numeric="310630" spn="AMERLINK"/>
+<spnOverride numeric="310640" spn="ARDGMC"/>
+<spnOverride numeric="310650" spn="Jasper"/>
+<spnOverride numeric="310660" spn="T-Mobile "/>
+<spnOverride numeric="310690" spn="IMMIX"/>
+<spnOverride numeric="310700" spn="BIGFOOT"/>
+<spnOverride numeric="310710" spn="ASTAC"/>
+<spnOverride numeric="310730" spn="U.S.Cellular"/>
+<spnOverride numeric="310740" spn="OTZ"/>
+<spnOverride numeric="310770" spn="IWS"/>
+<spnOverride numeric="310790" spn="Pinpoint"/>
+<spnOverride numeric="310860" spn="Five Star Wireless"/>
+<spnOverride numeric="310870" spn="PACE"/>
+<spnOverride numeric="310880" spn="ACSIAC"/>
+<spnOverride numeric="310890" spn="UNICEL"/>
+<spnOverride numeric="310950" spn="XIT"/>
+<spnOverride numeric="310980" spn="AT&amp;T"/>
+<spnOverride numeric="311000" spn="Mid-Tex"/>
+<spnOverride numeric="311030" spn="Indigo"/>
+<spnOverride numeric="311040" spn="Commnet"/>
+<spnOverride numeric="311050" spn="Thumb Cellular"/>
+<spnOverride numeric="311080" spn="PINECell"/>
+<spnOverride numeric="311090" spn="SXLP"/>
+<spnOverride numeric="311130" spn="Amarillo Cellular"/>
+<spnOverride numeric="311150" spn="Wilkes Cellular"/>
+<spnOverride numeric="311170" spn="PetroCom"/>
+<spnOverride numeric="311180" spn="AT&amp;T"/>
+<spnOverride numeric="311190" spn="C1ECI"/>
+<spnOverride numeric="311210" spn="FARMERS"/>
+<spnOverride numeric="311240" spn="CWCI"/>
+<spnOverride numeric="311260" spn="SLO Cellular"/>
+<spnOverride numeric="311310" spn="LamarCel"/>
+<spnOverride numeric="311330" spn="BTW"/>
+<spnOverride numeric="311350" spn="Sagebrush Cellular"/>
+<spnOverride numeric="311360" spn="STELERA"/>
+<spnOverride numeric="311370" spn="GCI"/>
+<spnOverride numeric="311420" spn="Northwest Missouri Cellular"/>
+<spnOverride numeric="311430" spn="Cellular 29 Plus"/>
+<spnOverride numeric="311440" spn="Bluegrass Cellular"/>
+<spnOverride numeric="311500" spn="MOSAIC"/>
+<spnOverride numeric="311530" spn="NCW"/>
+<spnOverride numeric="311540" spn="ProxMo"/>
+<spnOverride numeric="311590" spn="Golden State Cellular"/>
+<spnOverride numeric="311720" spn="MainePCS"/>
+<spnOverride numeric="330110" spn="Claro"/>
+<spnOverride numeric="334020" spn="TELCEL"/>
+<spnOverride numeric="334030" spn="movistar"/>
+<spnOverride numeric="334050" spn="Iusacell"/>
+<spnOverride numeric="334090" spn="Nextel"/>
+<spnOverride numeric="338050" spn="Digicel"/>
+<spnOverride numeric="338070" spn="ClaroJam"/>
+<spnOverride numeric="338180" spn="C W"/>
+<spnOverride numeric="342600" spn="C W"/>
+<spnOverride numeric="342750" spn="DIGICEL"/>
+<spnOverride numeric="344030" spn="APUA-PCS"/>
+<spnOverride numeric="344920" spn="C W"/>
+<spnOverride numeric="344930" spn="Cingular"/>
+<spnOverride numeric="346140" spn="LIME"/>
+<spnOverride numeric="348170" spn="C W"/>
+<spnOverride numeric="348570" spn="CCTBVI"/>
+<spnOverride numeric="350000" spn="CellularOne"/>
+<spnOverride numeric="350010" spn="Cingular"/>
+<spnOverride numeric="352030" spn="DIGICEL"/>
+<spnOverride numeric="352110" spn="C W"/>
+<spnOverride numeric="354860" spn="LIME"/>
+<spnOverride numeric="356110" spn="LIME"/>
+<spnOverride numeric="358050" spn="DIGICEL"/>
+<spnOverride numeric="358110" spn="C W"/>
+<spnOverride numeric="360070" spn="DIGICEL"/>
+<spnOverride numeric="360110" spn="C W"/>
+<spnOverride numeric="362951" spn="CHIPPIE"/>
+<spnOverride numeric="365840" spn="C W"/>
+<spnOverride numeric="366020" spn="Cingular"/>
+<spnOverride numeric="366110" spn="C W"/>
+<spnOverride numeric="376350" spn="C W"/>
+<spnOverride numeric="376352" spn="ICOM TCI"/>
+<spnOverride numeric="376360" spn="ICOM TCI"/>
+<spnOverride numeric="404030" spn="Vodafone"/>
+<spnOverride numeric="405025" spn="TATA DOCOMO"/>
+<spnOverride numeric="405027" spn="TATA DOCOMO"/>
+<spnOverride numeric="405029" spn="TATA DOCOMO"/>
+<spnOverride numeric="405030" spn="TATA DOCOMO"/>
+<spnOverride numeric="405031" spn="TATA DOCOMO"/>
+<spnOverride numeric="405032" spn="TATA DOCOMO"/>
+<spnOverride numeric="405034" spn="TATA DOCOMO"/>
+<spnOverride numeric="405035" spn="TATA DOCOMO"/>
+<spnOverride numeric="405036" spn="TATA DOCOMO"/>
+<spnOverride numeric="405037" spn="TATA DOCOMO"/>
+<spnOverride numeric="405038" spn="TATA DOCOMO"/>
+<spnOverride numeric="405039" spn="TATA DOCOMO"/>
+<spnOverride numeric="405041" spn="TATA DOCOMO"/>
+<spnOverride numeric="405042" spn="TATA DOCOMO"/>
+<spnOverride numeric="405043" spn="TATA DOCOMO"/>
+<spnOverride numeric="405044" spn="TATA DOCOMO"/>
+<spnOverride numeric="405045" spn="TATA DOCOMO"/>
+<spnOverride numeric="405046" spn="TATA DOCOMO"/>
+<spnOverride numeric="405047" spn="TATA DOCOMO"/>
+<spnOverride numeric="405750" spn="Vodafone"/>
+<spnOverride numeric="405751" spn="Vodafone"/>
+<spnOverride numeric="405752" spn="Vodafone"/>
+<spnOverride numeric="405753" spn="Vodafone"/>
+<spnOverride numeric="405754" spn="Vodafone"/>
+<spnOverride numeric="405755" spn="Vodafone"/>
+<spnOverride numeric="405756" spn="Vodafone"/>
+<spnOverride numeric="405799" spn="IDEA"/>
+<spnOverride numeric="405800" spn="Aircel"/>
+<spnOverride numeric="405801" spn="Aircel"/>
+<spnOverride numeric="405802" spn="Aircel"/>
+<spnOverride numeric="405803" spn="Aircel"/>
+<spnOverride numeric="405804" spn="Aircel"/>
+<spnOverride numeric="405805" spn="Aircel"/>
+<spnOverride numeric="405806" spn="Aircel"/>
+<spnOverride numeric="405807" spn="Aircel"/>
+<spnOverride numeric="405808" spn="Aircel"/>
+<spnOverride numeric="405809" spn="Aircel "/>
+<spnOverride numeric="405810" spn="Aircel"/>
+<spnOverride numeric="405811" spn="Aircel"/>
+<spnOverride numeric="405812" spn="Aircel"/>
+<spnOverride numeric="405813" spn="uninor"/>
+<spnOverride numeric="405814" spn="uninor"/>
+<spnOverride numeric="405815" spn="uninor"/>
+<spnOverride numeric="405816" spn="uninor"/>
+<spnOverride numeric="405817" spn="uninor"/>
+<spnOverride numeric="405818" spn="uninor"/>
+<spnOverride numeric="405819" spn="uninor"/>
+<spnOverride numeric="405820" spn="uninor"/>
+<spnOverride numeric="405821" spn="uninor"/>
+<spnOverride numeric="405822" spn="uninor"/>
+<spnOverride numeric="405823" spn="Videocon"/>
+<spnOverride numeric="405824" spn="Videocon"/>
+<spnOverride numeric="405825" spn="Videocon"/>
+<spnOverride numeric="405827" spn="Videocon"/>
+<spnOverride numeric="405827" spn="Videocon"/>
+<spnOverride numeric="405828" spn="Videocon"/>
+<spnOverride numeric="405829" spn="Videocon"/>
+<spnOverride numeric="405830" spn="Videocon"/>
+<spnOverride numeric="405831" spn="Videocon"/>
+<spnOverride numeric="405832" spn="Videocon"/>
+<spnOverride numeric="405833" spn="Videocon"/>
+<spnOverride numeric="405834" spn="Videocon"/>
+<spnOverride numeric="405835" spn="Videocon"/>
+<spnOverride numeric="405836" spn="Videocon"/>
+<spnOverride numeric="405837" spn="Videocon"/>
+<spnOverride numeric="405838" spn="Videocon"/>
+<spnOverride numeric="405839" spn="Videocon"/>
+<spnOverride numeric="405840" spn="Videocon"/>
+<spnOverride numeric="405840" spn="Videocon"/>
+<spnOverride numeric="405841" spn="Videocon"/>
+<spnOverride numeric="405842" spn="Videocon"/>
+<spnOverride numeric="405843" spn="Videocon"/>
+<spnOverride numeric="405844" spn="uninor"/>
+<spnOverride numeric="405845" spn="IDEA"/>
+<spnOverride numeric="405846" spn="IDEA"/>
+<spnOverride numeric="405848" spn="IDEA"/>
+<spnOverride numeric="405849" spn="IDEA"/>
+<spnOverride numeric="405850" spn="IDEA"/>
+<spnOverride numeric="405852" spn="IDEA"/>
+<spnOverride numeric="405853" spn="IDEA"/>
+<spnOverride numeric="405854" spn="LoopMobile"/>
+<spnOverride numeric="405855" spn="LoopMobile"/>
+<spnOverride numeric="405856" spn="LoopMobile"/>
+<spnOverride numeric="405857" spn="LoopMobile"/>
+<spnOverride numeric="405858" spn="LoopMobile"/>
+<spnOverride numeric="405859" spn="LoopMobile"/>
+<spnOverride numeric="405860" spn="LoopMobile"/>
+<spnOverride numeric="405861" spn="LoopMobile"/>
+<spnOverride numeric="405862" spn="LoopMobile"/>
+<spnOverride numeric="405863" spn="LoopMobile"/>
+<spnOverride numeric="405864" spn="LoopMobile"/>
+<spnOverride numeric="405865" spn="LoopMobile"/>
+<spnOverride numeric="405866" spn="LoopMobile"/>
+<spnOverride numeric="405867" spn="LoopMobile"/>
+<spnOverride numeric="405868" spn="LoopMobile"/>
+<spnOverride numeric="405869" spn="LoopMobile"/>
+<spnOverride numeric="405870" spn="LoopMobile"/>
+<spnOverride numeric="405871" spn="LoopMobile"/>
+<spnOverride numeric="405872" spn="LoopMobile"/>
+<spnOverride numeric="405873" spn="LoopMobile"/>
+<spnOverride numeric="405874" spn="LoopMobile"/>
+<spnOverride numeric="405875" spn="uninor"/>
+<spnOverride numeric="405876" spn="uninor"/>
+<spnOverride numeric="405877" spn="uninor"/>
+<spnOverride numeric="405878" spn="uninor"/>
+<spnOverride numeric="405879" spn="uninor"/>
+<spnOverride numeric="405880" spn="uninor"/>
+<spnOverride numeric="405881" spn="STEL"/>
+<spnOverride numeric="405882" spn="STEL"/>
+<spnOverride numeric="405883" spn="STEL"/>
+<spnOverride numeric="405884" spn="STEL"/>
+<spnOverride numeric="405885" spn="STEL"/>
+<spnOverride numeric="405886" spn="STEL"/>
+<spnOverride numeric="405912" spn="Cheers"/>
+<spnOverride numeric="405913" spn="Cheers"/>
+<spnOverride numeric="405914" spn="Cheers"/>
+<spnOverride numeric="405915" spn="Cheers"/>
+<spnOverride numeric="405916" spn="Cheers"/>
+<spnOverride numeric="405917" spn="Cheers"/>
+<spnOverride numeric="405918" spn="Cheers"/>
+<spnOverride numeric="405919" spn="Cheers"/>
+<spnOverride numeric="405920" spn="Cheers"/>
+<spnOverride numeric="405921" spn="Cheers"/>
+<spnOverride numeric="405922" spn="Cheers"/>
+<spnOverride numeric="405923" spn="Cheers"/>
+<spnOverride numeric="405924" spn="Cheers"/>
+<spnOverride numeric="405925" spn="uninor"/>
+<spnOverride numeric="405926" spn="uninor"/>
+<spnOverride numeric="405927" spn="uninor"/>
+<spnOverride numeric="405928" spn="uninor"/>
+<spnOverride numeric="405929" spn="uninor"/>
+<spnOverride numeric="405932" spn="Videocon"/>
+<spnOverride numeric="420003" spn="mobily"/>
+<spnOverride numeric="421700" spn="YemYY"/>
+<spnOverride numeric="472002" spn="WATANIYA"/>
+<spnOverride numeric="510510" spn="Mobile-8"/>
+<spnOverride numeric="537030" spn="Digicel"/>
+<spnOverride numeric="544110" spn="BLUESKY"/>
+<spnOverride numeric="616004" spn="BBCOM"/>
+<spnOverride numeric="654001" spn="HURI"/>
+<spnOverride numeric="704030" spn="movistar"/>
+<spnOverride numeric="708001" spn="ClaroHND"/>
+<spnOverride numeric="708030" spn="HND"/>
+<spnOverride numeric="710300" spn="movistar"/>
+<spnOverride numeric="714020" spn="movistar"/>
+<spnOverride numeric="722070" spn="Movistar"/>
+<spnOverride numeric="722310" spn="CLARO AR"/>
+<spnOverride numeric="722340" spn="AR PERSONAL"/>
+<spnOverride numeric="732101" spn="COMCEL"/>
+<spnOverride numeric="732102" spn="COL_TEMC"/>
+<spnOverride numeric="732103" spn="TIGO COL"/>
+<spnOverride numeric="732111" spn="TIGO COL"/>
+<spnOverride numeric="732123" spn="movistar"/>
+<spnOverride numeric="738002" spn="CLNK PLS"/>
+<spnOverride numeric="750001" spn="C W FLK"/>
+</spnOverrides>
diff --git a/configs/wide-dhcpv6/dhcp6c.conf b/configs/wide-dhcpv6/dhcp6c.conf
new file mode 100644
index 0000000..820dc86
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6c.conf
@@ -0,0 +1,11 @@
+
+interface wlan0 {
+ send ia-na 234883274;
+ # information-only;
+ request domain-name-servers;
+ request domain-name;
+ script "/etc/wide-dhcpv6/dhcp6c.script";
+};
+
+id-assoc na 234883274{
+};
diff --git a/configs/wide-dhcpv6/dhcp6c.script b/configs/wide-dhcpv6/dhcp6c.script
new file mode 100644
index 0000000..ebd9347
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6c.script
@@ -0,0 +1,61 @@
+#!/system/bin/sh
+
+# Set dhcp.ipv6.<iface>.dnsN properties that contain the
+# DNS server addresses given by the DHCPv6 server.
+set_dns_props()
+{
+ case "${new_domain_name_servers}" in
+ "") return 0;;
+ esac
+
+ count=1
+ for i in 1 2; do
+ setprop dhcp.ipv6.${interface}.dns${i} ""
+ done
+
+ count=1
+ for dnsaddr in ${new_domain_name_servers}; do
+ case "$count" in
+ 1|2)
+ setprop dhcp.ipv6.${interface}.dns${count} ${dnsaddr}
+ ;;
+ esac
+ count=$(($count + 1))
+ done
+}
+
+unset_dns_props()
+{
+ for i in 1 2; do
+ setprop dhcp.ipv6.${interface}.dns${i} ""
+ setprop net.dns.ipv6_${i} ""
+ done
+}
+
+unset_iana_props()
+{
+ setprop dhcp.ipv6.${interface}.leasetime ""
+ setprop dhcp.ipv6.${interface}.ipaddress ""
+}
+
+# For debugging:
+setprop dhcp.ipv6.${interface}.reason "${REASON}"
+
+case "${REASON}" in
+ REQUEST|CONFIRM|INFOREQ)
+ set_dns_props
+ setprop dhcp.ipv6.${interface}.result "ok"
+ ;;
+ RENEW|REBIND)
+ set_dns_props
+ setprop dhcp.ipv6.${interface}.renewresult "ok"
+ ;;
+ RELEASE)
+ unset_dns_props
+ unset_iana_props
+ setprop dhcp.ipv6.${interface}.result "released"
+ ;;
+ *)
+ setprop dhcp.ipv6.${interface}.result "failed"
+ ;;
+esac
diff --git a/configs/wide-dhcpv6/dhcp6cDNS.conf b/configs/wide-dhcpv6/dhcp6cDNS.conf
new file mode 100644
index 0000000..b4e0ee8
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6cDNS.conf
@@ -0,0 +1,7 @@
+
+interface wlan0 {
+ request domain-name-servers;
+ request domain-name;
+ information-only;
+ script "/etc/wide-dhcpv6/dhcp6c.script";
+};
diff --git a/configs/wide-dhcpv6/dhcp6cPD.conf b/configs/wide-dhcpv6/dhcp6cPD.conf
new file mode 100644
index 0000000..86662f1
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6cPD.conf
@@ -0,0 +1,9 @@
+
+interface wlan0 {
+ # information-only;
+ script "/etc/wide-dhcpv6/dhcp6cPD.script";
+ send ia-pd 1234;
+};
+
+id-assoc pd 1234 {
+};
diff --git a/configs/wide-dhcpv6/dhcp6cPD.script b/configs/wide-dhcpv6/dhcp6cPD.script
new file mode 100644
index 0000000..f57f43c
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6cPD.script
@@ -0,0 +1,20 @@
+#!/system/bin/sh
+
+# For debugging:
+setprop dhcp.pd.${interface}.reason "${REASON}"
+
+case "${REASON}" in
+ REQUEST|CONFIRM|INFOREQ)
+ setprop dhcp.pd.${interface}.result "ok"
+ ;;
+ RENEW|REBIND)
+ set_dns_props
+ setprop dhcp.pd.${interface}.renewresult "ok"
+ ;;
+ RELEASE)
+ setprop dhcp.pd.${interface}.result "released"
+ ;;
+ *)
+ setprop dhcp.pd.${interface}.result "failed"
+ ;;
+esac
diff --git a/configs/wide-dhcpv6/dhcp6cctlkey b/configs/wide-dhcpv6/dhcp6cctlkey
new file mode 100644
index 0000000..3f75992
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6cctlkey
@@ -0,0 +1 @@
+i7srdxZshUB7sGd2Ln1w4Q==
diff --git a/configs/wide-dhcpv6/dhcp6s.conf b/configs/wide-dhcpv6/dhcp6s.conf
new file mode 100644
index 0000000..1ada17e
--- /dev/null
+++ b/configs/wide-dhcpv6/dhcp6s.conf
@@ -0,0 +1,9 @@
+# The followings are a sample configuration to provide an IPv6 address
+# from an address pool 2001:db8:1:2::1000-2000 for 3600[s].
+# Note. You have to send an RA to fxp0; otherwise a client cannot be sure
+# about the prefix-length and the default router. If you want to prevent
+# stateless address configuration via RA, please set the autonomous-flag to
+# OFF in your RA configuration.
+
+option domain-name-servers 2001:4860:4860::8888;
+option domain-name-servers 2001:4860:4860::8844;