First, allowing setting of the UUID at all means that every bit of the
system has to handle the now-much-more-real possibility of collisions or
have undefined behavior (much of which could be a security issue).
I don’t understand the part about collisions. I know what they are, but
surely if System1 has assigned a UUID (which is assumed to be unique on that
system) and then System2 uses that same UUID (and does not assign its own
UUIDs) then they remain unique on each machine, but are simply shared
(identical) on System1 and System2?
Second, having the same UUID in multiple systems defeats the purpose of
having UUIDs in the first place, since they’re supposed to be universally
unique, not coordinated.
Well, I think that depends on what you define as “a system”. Is it a single
machine, or is it a tightly-coupled pair (possibly group) of machines?
I think that so long as the system architect understands what the ID is
supposed to be unique to, it can safely be shared amongst multiple servers
without any problem.
Otherwise how would you actually differentiate what happened in System A vs
System B? They need a unique identifier for the separation of concerns there.
There is still the aspect of where the information comes from. The CDRs on
System A for a given UUID will show what System A did with the call. The CDRs
on System B for the same UUID will show what it did with the call.
I don’t see any confusion there.
All of that for supporting a very uncommon scenario, I think?
It might be uncommon, but I’m still wondering whether it can be done.
I often find myself dealing with requirements which are “uncommon” but entirely
reasonable in a specific situation.
It seems the sip header would be more useful, much like an extra request_id
header in a web system gets passed around everywhere.
But, if the SIP header doesn’t get recorded in the CDRs, it can’t be used to
follow the processing of the call on System2. Or did I misunderstand what you
meant by “the SIP header”?
I hope that is good food for thought.
Indeed, and thank you; however I hope you can see that I think I have a good
reason for wanting to do this, and have thought about why it would not be a
problem. From my perspective, the question comes down to “what size ‘system’
is this thing supposed to be unique to?” Is it a single machine, or is it a
cluster of machines?
Thanks,
Antony.