diff --git a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c index d11ef8ff11..56f4500b82 100644 --- a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c +++ b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c @@ -197,6 +197,7 @@ static switch_status_t my_on_reporting(switch_core_session_t *session) switch_status_t status = SWITCH_STATUS_FALSE; int is_b; const char *a_prefix = ""; + char url_joiner = '?'; if (globals.shutdown) { return SWITCH_STATUS_SUCCESS; @@ -340,7 +341,10 @@ static switch_status_t my_on_reporting(switch_core_session_t *session) switch_yield(globals.delay * 1000000); } - destUrl = switch_mprintf("%s?uuid=%s%s", globals.urls[globals.url_index], a_prefix, switch_core_session_get_uuid(session)); + if( strchr(globals.urls[globals.url_index], '?') != NULL ) { + url_joiner = '&'; + } + destUrl = switch_mprintf("%s%cuuid=%s%s", globals.urls[globals.url_index], url_joiner, a_prefix, switch_core_session_get_uuid(session)); switch_curl_easy_setopt(curl_handle, CURLOPT_URL, destUrl); if (!strncasecmp(destUrl, "https", 5)) {