59 lines
3.5 KiB
Plaintext
59 lines
3.5 KiB
Plaintext
diff --git a/src/sccp_config.c b/src/sccp_config.c
|
|
index e15d19db..c78bcbf2 100644
|
|
--- a/src/sccp_config.c
|
|
+++ b/src/sccp_config.c
|
|
@@ -3062,6 +3062,7 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
|
uint i;
|
|
const char *id = astman_get_header(m, "ActionID");
|
|
const char *req_segment = astman_get_header(m, "Segment");
|
|
+ const char *req_listresult = astman_get_header(m, "ListResult");
|
|
uint comma = 0;
|
|
|
|
if (sccp_strlen_zero(req_segment)) { // return all segments
|
|
@@ -3180,11 +3181,22 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
|
sccpConfigSegment = &sccpConfigSegments[i];
|
|
const SCCPConfigOption *config = sccpConfigSegment->config;
|
|
|
|
- astman_append(s, "Response: Success\r\n");
|
|
- if (!ast_strlen_zero(id)) {
|
|
- astman_append(s, "ActionID: %s\r\n", id);
|
|
+ if (sccp_strcaseequals(req_listresult, "yes")) {
|
|
+ //astman_append(s, "Response: Follows\r\n\r\n");
|
|
+ //astman_append(s, "EventList: Start\r\n");
|
|
+ astman_send_listack(s, m, "SCCPConfigMetaData Follows", "Start");
|
|
+ astman_append(s, "Event: SCCPConfigMetaData\r\n");
|
|
+ if (!ast_strlen_zero(id)) {
|
|
+ astman_append(s, "ActionID: %s\r\n", id);
|
|
+ }
|
|
+ } else if (sccp_strcaseequals(req_listresult, "freepbx")) {
|
|
+ astman_append(s, "Response: Follows\r\n");
|
|
+ } else {
|
|
+ astman_append(s, "Response: Success\r\n");
|
|
+ if (!ast_strlen_zero(id)) {
|
|
+ astman_append(s, "ActionID: %s\r\n", id);
|
|
+ }
|
|
}
|
|
-
|
|
astman_append(s, "JSON: {");
|
|
astman_append(s, "\"Segment\":\"%s\",", sccpConfigSegment->name);
|
|
astman_append(s, "\"Options\":[");
|
|
@@ -3296,8 +3308,17 @@ int sccp_manager_config_metadata(struct mansession *s, const struct message *m)
|
|
comma = 1;
|
|
}
|
|
}
|
|
- astman_append(s, "]}\r\n\r\n");
|
|
+ astman_append(s, "]}\r\n");
|
|
total++;
|
|
+ if (sccp_strcaseequals(req_listresult, "yes")) {
|
|
+ astman_append(s,
|
|
+ "\r\nEvent: SCCPConfigMetaDataComplete\r\n"
|
|
+ "EventList: Complete\r\n"
|
|
+ "ListItems: %d\r\n\r\n", total);
|
|
+ } else if (sccp_strcaseequals(req_listresult, "freepbx")) {
|
|
+ astman_append(s, "--END COMMAND--\r\n");
|
|
+ }
|
|
+ astman_append(s, "\r\n");
|
|
}
|
|
}
|
|
}
|