diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2010-09-05 20:50:30 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2010-09-05 20:50:30 +0200 |
commit | 92916affeace4b61d6dcae8d9e8da0d14f9c25ca (patch) | |
tree | 2eb80828594ae63fed765a053690c75b35ac7e3e | |
parent | a0fe9cbdbd94b49399a2caf4d3081b2c80687c2e (diff) | |
download | ofono-92916affeace4b61d6dcae8d9e8da0d14f9c25ca.tar.bz2 |
huawei: Decode voice channel settings
-rw-r--r-- | plugins/huawei.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/plugins/huawei.c b/plugins/huawei.c index 0fd23c86..c155fb72 100644 --- a/plugins/huawei.c +++ b/plugins/huawei.c @@ -225,6 +225,7 @@ static void cvoice_query_cb(gboolean ok, GAtResult *result, struct ofono_modem *modem = user_data; struct huawei_data *data = ofono_modem_get_data(modem); GAtResultIter iter; + gint mode, rate, bits, period; if (!ok) goto done; @@ -234,8 +235,27 @@ static void cvoice_query_cb(gboolean ok, GAtResult *result, if (!g_at_result_iter_next(&iter, "^CVOICE:")) goto done; + if (!g_at_result_iter_next_number(&iter, &mode)) + goto done; + + if (!g_at_result_iter_next_number(&iter, &rate)) + goto done; + + if (!g_at_result_iter_next_number(&iter, &bits)) + goto done; + + if (!g_at_result_iter_next_number(&iter, &period)) + goto done; + data->voice = TRUE; + ofono_info("Voice channel: %d Hz, %d bits, %dms period", + rate, bits, period); + + /* check available voice ports */ + g_at_chat_send(data->pcui, "AT^DDSETEX=?", none_prefix, + NULL, NULL, NULL); + done: ofono_modem_set_powered(modem, TRUE); |