diff --git a/src/shared/hfp.c b/src/shared/hfp.c
index 44b5b55..08393d8 100644
--- a/src/shared/hfp.c
+++ b/src/shared/hfp.c
result->offset++;
}
+bool hfp_gw_result_get_number_default(struct hfp_gw_result *result,
+ unsigned int *val,
+ unsigned int default_val)
+{
+ skip_whitespace(result);
+
+ if (result->data[result->offset] == ',') {
+ if (val)
+ *val = default_val;
+
+ result->offset++;
+ return true;
+ }
+
+ return hfp_gw_result_get_number(result, val);
+}
+
bool hfp_gw_result_get_number(struct hfp_gw_result *result, unsigned int *val)
{
int tmp = 0;
diff --git a/src/shared/hfp.h b/src/shared/hfp.h
index 4da5c97..743db65 100644
--- a/src/shared/hfp.h
+++ b/src/shared/hfp.h
bool hfp_gw_unregister(struct hfp_gw *hfp, const char *prefix);
bool hfp_gw_result_get_number(struct hfp_gw_result *result, unsigned int *val);
+bool hfp_gw_result_get_number_default(struct hfp_gw_result *result,
+ unsigned int *val,
+ unsigned int default_val);
bool hfp_gw_result_open_container(struct hfp_gw_result *result);
bool hfp_gw_result_close_container(struct hfp_gw_result *result);
bool hfp_gw_result_get_string(struct hfp_gw_result *result, char *buf,