profile: Default SDP settings for HSP Headset
PATCH 1/1 profile: Default SDP settings for HSP Headset
Add default SDP record for HSP Headset, so one can use this profile in a similar fashion to HFP Headset profile - no user configuration required. Without proper SDP record, connection with HSP Headset might not work properly.
--- src/profile.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+)
src/profile.c +56 -0
@@ -56,6 +56,7 @@#define DUN_DEFAULT_CHANNEL 1#define SPP_DEFAULT_CHANNEL 3 +#define HSP_HS_DEFAULT_CHANNEL 6#define HFP_HF_DEFAULT_CHANNEL 7#define OPP_DEFAULT_CHANNEL 9#define FTP_DEFAULT_CHANNEL 10
@@ -155,6 +156,43 @@ </attribute> \ </record>" +#define HSP_HS_RECORD \ + "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \ + <record> \ + <attribute id=\"0x0001\"> \ + <sequence> \ + <uuid value=\"0x1108\" /> \ + <uuid value=\"0x1131\" /> \ + <uuid value=\"0x1203\" /> \ + </sequence> \ + </attribute> \ + <attribute id=\"0x0004\"> \ + <sequence> \ + <sequence> \ + <uuid value=\"0x0100\" /> \ + </sequence> \ + <sequence> \ + <uuid value=\"0x0003\" /> \ + <uint8 value=\"0x%02x\" /> \ + </sequence> \ + </sequence> \ + </attribute> \ + <attribute id=\"0x0009\"> \ + <sequence> \ + <sequence> \ + <uuid value=\"0x1108\" /> \ + <uint16 value=\"0x%04x\" /> \ + </sequence> \ + </sequence> \ + </attribute> \ + <attribute id=\"0x0100\"> \ + <text value=\"%s\" /> \ + </attribute> \ + <attribute id=\"0x0302\"> \ + <boolean value=\"%s\" /> \ + </attribute> \ + </record>" +#define HSP_AG_RECORD \ "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \ <record> \
@@ -1761,6 +1799,14 @@ static char *get_hfp_ag_record(struct ext_profile *ext, struct ext_io *l2cap, ext->name, ext->features); } +static char *get_hsp_hs_record (struct ext_profile *ext,struct ext_io *l2cap, +struct ext_io *rfcomm) +{ +const char *volume_control = ext->features ?"true" :"false" ; +return g_strdup_printf (HSP_HS_RECORD , rfcomm->chan, ext->version, + ext->name, volume_control); +} +static char *get_hsp_ag_record (struct ext_profile *ext,struct ext_io *l2cap,struct ext_io *rfcomm) {
@@ -1993,6 +2039,16 @@ static struct default_settings { .auto_connect = true, .get_record = get_hsp_ag_record, .version = 0x0102, + }, { + .uuid = HSP_HS_UUID, + .name = "Headset unit", + .priority = BTD_PROFILE_PRIORITY_HIGH, + .remote_uuid = HSP_AG_UUID, + .channel = HSP_HS_DEFAULT_CHANNEL, + .authorize = true, + .auto_connect = true, + .get_record = get_hsp_hs_record, + .version = 0x0102, }, { .uuid = OBEX_OPP_UUID, .name = "Object Push",
Signature · 1 line
2.23.0