diff options
author | Jenkins2 <jenkins2@gerrit.asterisk.org> | 2017-05-11 16:39:54 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-05-11 16:39:54 -0500 |
commit | 57217e4cc20ff17e8ea736ee19b03b264b166900 (patch) | |
tree | 57cf6a2322250aa3eec78528d02a91a14a03db64 | |
parent | 542dd7d7950c3d39c98fb80667f053f8cd7bb01f (diff) | |
parent | 3c36c29c81c07ad220860a59349def72afc35d86 (diff) |
Merge "res_hep_rtcp: Provide chan_sip Call-ID for RTCP messages."
-rw-r--r-- | CHANGES | 6 | ||||
-rw-r--r-- | configs/samples/hep.conf.sample | 6 | ||||
-rw-r--r-- | res/res_hep_rtcp.c | 18 |
3 files changed, 25 insertions, 5 deletions
@@ -51,6 +51,12 @@ res_pjsip_config_wizard endpoint/outbound_proxy, aor/outbound_proxy and registration/outbound_proxy parameters. +res_hep_rtcp +------------------ + * If the 'call-id' value is specified for the uuid_type option and a + chan_sip channel is used the resulting HEP traffic will now contain the + SIP Call-ID instead of the Asterisk channel name. + ------------------------------------------------------------------------------ --- Functionality changes from Asterisk 14.3.0 to Asterisk 14.4.0 ------------ ------------------------------------------------------------------------------ diff --git a/configs/samples/hep.conf.sample b/configs/samples/hep.conf.sample index 3d1e74139..32bd8df39 100644 --- a/configs/samples/hep.conf.sample +++ b/configs/samples/hep.conf.sample @@ -24,5 +24,9 @@ capture_id = 1234 ; A unique integer identifier for this ; with each packet from this server. uuid_type = call-id ; Specify the preferred source for the Homer ; correlation UUID. Valid options are: - ; - 'call-id' for the PJSIP SIP Call-ID + ; - 'call-id' for the PJSIP or chan_sip SIP + ; Call-ID ; - 'channel' for the Asterisk channel name + ; Note: If 'call-id' is specified but the + ; channel is not PJSIP or chan_sip then the + ; Asterisk channel name will be used instead. diff --git a/res/res_hep_rtcp.c b/res/res_hep_rtcp.c index 7191f4661..395031a3d 100644 --- a/res/res_hep_rtcp.c +++ b/res/res_hep_rtcp.c @@ -53,12 +53,22 @@ static char *assign_uuid(struct ast_json *json_channel) return NULL; } - if (uuid_type == HEP_UUID_TYPE_CALL_ID && ast_begins_with(channel_name, "PJSIP")) { - struct ast_channel *chan = ast_channel_get_by_name(channel_name); + if (uuid_type == HEP_UUID_TYPE_CALL_ID) { + struct ast_channel *chan = NULL; char buf[128]; - if (chan && !ast_func_read(chan, "CHANNEL(pjsip,call-id)", buf, sizeof(buf))) { - uuid = ast_strdup(buf); + if (ast_begins_with(channel_name, "PJSIP")) { + chan = ast_channel_get_by_name(channel_name); + + if (chan && !ast_func_read(chan, "CHANNEL(pjsip,call-id)", buf, sizeof(buf))) { + uuid = ast_strdup(buf); + } + } else if (ast_begins_with(channel_name, "SIP")) { + chan = ast_channel_get_by_name(channel_name); + + if (chan && !ast_func_read(chan, "SIP_HEADER(call-id)", buf, sizeof(buf))) { + uuid = ast_strdup(buf); + } } ast_channel_cleanup(chan); |