diff --git a/libmobile_hilink.c b/libmobile_hilink.c
index 85cc645484fd4d2a7f1b7315128a3e3f6002290a..c7ed8b5999c867d5dfa29bf7e40b2f449b5153bd 100644
--- a/libmobile_hilink.c
+++ b/libmobile_hilink.c
@@ -280,6 +280,32 @@ leave:
 	return NULL;
 }
 
+//pci, sc, cell_id, rsrq, rsrp, rssi, sinr, rscp, ecio, mode..
+struct json_object *mobile_get_device_signal_hilink()
+{
+	char *api_url = "http://192.168.8.1/api/device/signal";
+	struct write_result *result;
+	struct json_object *result_json;
+
+	result = get_request(home_url, api_url);
+	if (!result)
+		goto fail_result;
+
+	debug_print("Json object inside library: %s\n", json_object_to_json_string(xml_to_json_converter(result)));
+	result_json = xml_to_json_converter(result);
+	if(!result_json)
+		goto fail_converter;
+
+	if (result)
+		free(result);
+
+	return result_json;
+
+fail_converter:
+	free(result);
+fail_result:
+	return NULL;
+}
 
 struct json_object *mobile_get_device_info_hilink()
 {