freeswitch - What's the difference between event's Unique-ID and Channel-Call-UUID? -
freeswitch events contain 2 variables (unique-id , channel-call-uuid) seem set exact same value: leg's unique identifier.
i don't see purpose of , while unique-id has one-line documentation on fs's wiki ("uuid of channel's phone call leg"), channel-call-uuid doesn't. worse: came accross two examples values different:
[...] channel-call-uuid: c9bbde8b-379b-45d4-b193-3f761a44f3e2 unique-id: 81273088-c31f-4469-85a6-c878e42210e5 [...] [...] channel-call-uuid: ada7f3de-2374-4144-9b1d-eade29df0779 unique-id: f3ebca6c-d9cd-4f89-ae12-748e6c479dda [...] i need able identify leg in code, i'd know
which 1 accurate , what's purpose of other one "unique-id" identifies leg of current channel (this value seems identical "caller-unique-id", documented as "this channel's uuid"). "channel-call-uuid" id can used identify answered/bridged channels. seems derived "unique-id" of channel's creator. value of "channel-call-uuid" of b-leg (the callee) differs "unique-id", identical value of "other-leg-unique-id" header.
the source code (src/switch_channel.c) supports previous claims:
if ((v = switch_channel_get_variable(channel, "call_uuid"))) { switch_event_add_header_string(event, switch_stack_bottom, "channel-call-uuid", v); } else { switch_event_add_header_string(event, switch_stack_bottom, "channel-call-uuid", switch_core_session_get_uuid(channel->session)); } freeswitch
No comments:
Post a Comment