@@ -141,7 +141,7 @@ class HfFeature(enum.IntFlag):
141
141
"""
142
142
HF supported features (AT+BRSF=) (normative).
143
143
144
- Hands-Free Profile v1.8 , 4.34.2, AT Capabilities Re-Used from GSM 07.07 and 3GPP 27.007.
144
+ Hands-Free Profile v1.9 , 4.34.2, AT Capabilities Re-Used from GSM 07.07 and 3GPP 27.007.
145
145
"""
146
146
147
147
EC_NR = 0x001 # Echo Cancel & Noise reduction
@@ -155,14 +155,14 @@ class HfFeature(enum.IntFlag):
155
155
HF_INDICATORS = 0x100
156
156
ESCO_S4_SETTINGS_SUPPORTED = 0x200
157
157
ENHANCED_VOICE_RECOGNITION_STATUS = 0x400
158
- VOICE_RECOGNITION_TEST = 0x800
158
+ VOICE_RECOGNITION_TEXT = 0x800
159
159
160
160
161
161
class AgFeature (enum .IntFlag ):
162
162
"""
163
163
AG supported features (+BRSF:) (normative).
164
164
165
- Hands-Free Profile v1.8 , 4.34.2, AT Capabilities Re-Used from GSM 07.07 and 3GPP 27.007.
165
+ Hands-Free Profile v1.9 , 4.34.2, AT Capabilities Re-Used from GSM 07.07 and 3GPP 27.007.
166
166
"""
167
167
168
168
THREE_WAY_CALLING = 0x001
@@ -178,7 +178,7 @@ class AgFeature(enum.IntFlag):
178
178
HF_INDICATORS = 0x400
179
179
ESCO_S4_SETTINGS_SUPPORTED = 0x800
180
180
ENHANCED_VOICE_RECOGNITION_STATUS = 0x1000
181
- VOICE_RECOGNITION_TEST = 0x2000
181
+ VOICE_RECOGNITION_TEXT = 0x2000
182
182
183
183
184
184
class AudioCodec (enum .IntEnum ):
@@ -1390,6 +1390,7 @@ def _on_brsf(self, hf_features: bytes) -> None:
1390
1390
1391
1391
def _on_bac (self , * args ) -> None :
1392
1392
self .supported_audio_codecs = [AudioCodec (int (value )) for value in args ]
1393
+ self .emit ('supported_audio_codecs' , self .supported_audio_codecs )
1393
1394
self .send_ok ()
1394
1395
1395
1396
def _on_bcs (self , codec : bytes ) -> None :
@@ -1618,7 +1619,7 @@ class ProfileVersion(enum.IntEnum):
1618
1619
"""
1619
1620
Profile version (normative).
1620
1621
1621
- Hands-Free Profile v1.8, 5 .3 SDP Interoperability Requirements.
1622
+ Hands-Free Profile v1.8, 6 .3 SDP Interoperability Requirements.
1622
1623
"""
1623
1624
1624
1625
V1_5 = 0x0105
@@ -1632,34 +1633,36 @@ class HfSdpFeature(enum.IntFlag):
1632
1633
"""
1633
1634
HF supported features (normative).
1634
1635
1635
- Hands-Free Profile v1.8, 5 .3 SDP Interoperability Requirements.
1636
+ Hands-Free Profile v1.9, 6 .3 SDP Interoperability Requirements.
1636
1637
"""
1637
1638
1638
1639
EC_NR = 0x01 # Echo Cancel & Noise reduction
1639
1640
THREE_WAY_CALLING = 0x02
1640
1641
CLI_PRESENTATION_CAPABILITY = 0x04
1641
1642
VOICE_RECOGNITION_ACTIVATION = 0x08
1642
1643
REMOTE_VOLUME_CONTROL = 0x10
1643
- WIDE_BAND = 0x20 # Wide band speech
1644
+ WIDE_BAND_SPEECH = 0x20
1644
1645
ENHANCED_VOICE_RECOGNITION_STATUS = 0x40
1645
- VOICE_RECOGNITION_TEST = 0x80
1646
+ VOICE_RECOGNITION_TEXT = 0x80
1647
+ SUPER_WIDE_BAND = 0x100
1646
1648
1647
1649
1648
1650
class AgSdpFeature (enum .IntFlag ):
1649
1651
"""
1650
1652
AG supported features (normative).
1651
1653
1652
- Hands-Free Profile v1.8, 5 .3 SDP Interoperability Requirements.
1654
+ Hands-Free Profile v1.9, 6 .3 SDP Interoperability Requirements.
1653
1655
"""
1654
1656
1655
1657
THREE_WAY_CALLING = 0x01
1656
1658
EC_NR = 0x02 # Echo Cancel & Noise reduction
1657
1659
VOICE_RECOGNITION_FUNCTION = 0x04
1658
1660
IN_BAND_RING_TONE_CAPABILITY = 0x08
1659
1661
VOICE_TAG = 0x10 # Attach a number to voice tag
1660
- WIDE_BAND = 0x20 # Wide band speech
1662
+ WIDE_BAND_SPEECH = 0x20
1661
1663
ENHANCED_VOICE_RECOGNITION_STATUS = 0x40
1662
- VOICE_RECOGNITION_TEST = 0x80
1664
+ VOICE_RECOGNITION_TEXT = 0x80
1665
+ SUPER_WIDE_BAND_SPEED_SPEECH = 0x100
1663
1666
1664
1667
1665
1668
def make_hf_sdp_records (
@@ -1692,11 +1695,11 @@ def make_hf_sdp_records(
1692
1695
in configuration .supported_hf_features
1693
1696
):
1694
1697
hf_supported_features |= HfSdpFeature .ENHANCED_VOICE_RECOGNITION_STATUS
1695
- if HfFeature .VOICE_RECOGNITION_TEST in configuration .supported_hf_features :
1696
- hf_supported_features |= HfSdpFeature .VOICE_RECOGNITION_TEST
1698
+ if HfFeature .VOICE_RECOGNITION_TEXT in configuration .supported_hf_features :
1699
+ hf_supported_features |= HfSdpFeature .VOICE_RECOGNITION_TEXT
1697
1700
1698
1701
if AudioCodec .MSBC in configuration .supported_audio_codecs :
1699
- hf_supported_features |= HfSdpFeature .WIDE_BAND
1702
+ hf_supported_features |= HfSdpFeature .WIDE_BAND_SPEECH
1700
1703
1701
1704
return [
1702
1705
sdp .ServiceAttribute (
@@ -1772,14 +1775,14 @@ def make_ag_sdp_records(
1772
1775
in configuration .supported_ag_features
1773
1776
):
1774
1777
ag_supported_features |= AgSdpFeature .ENHANCED_VOICE_RECOGNITION_STATUS
1775
- if AgFeature .VOICE_RECOGNITION_TEST in configuration .supported_ag_features :
1776
- ag_supported_features |= AgSdpFeature .VOICE_RECOGNITION_TEST
1778
+ if AgFeature .VOICE_RECOGNITION_TEXT in configuration .supported_ag_features :
1779
+ ag_supported_features |= AgSdpFeature .VOICE_RECOGNITION_TEXT
1777
1780
if AgFeature .IN_BAND_RING_TONE_CAPABILITY in configuration .supported_ag_features :
1778
1781
ag_supported_features |= AgSdpFeature .IN_BAND_RING_TONE_CAPABILITY
1779
1782
if AgFeature .VOICE_RECOGNITION_FUNCTION in configuration .supported_ag_features :
1780
1783
ag_supported_features |= AgSdpFeature .VOICE_RECOGNITION_FUNCTION
1781
1784
if AudioCodec .MSBC in configuration .supported_audio_codecs :
1782
- ag_supported_features |= AgSdpFeature .WIDE_BAND
1785
+ ag_supported_features |= AgSdpFeature .WIDE_BAND_SPEECH
1783
1786
1784
1787
return [
1785
1788
sdp .ServiceAttribute (
0 commit comments