I have found a condition where the UCID of a call changes. This happens after I merge two calls with the CallControlCall::conference function.
If I have callA(ucid=111, state=ACTIVE) and callB(ucid=222, state=ACTIVE) and execute callA.conference(callB) then I end up with callA(ucid=222, state=ACTIVE) and callB(ucid=222,state=INVALID). So the UCID of callA changed to the UCID of callB.
I expected that the UCID of calls stays the same no matter what operations are performed.
This causes some problems for me, because I rely on the UCID when processing call events.
For example after the conference operation I receive the multiCallMetaDataMergeEnded event which looks like this: MetaEvent(newCallI=(ucid=222), oldCalls=[(ucid=222),(ucid=222)]).
With this behaviour I never get an event again that contains information about a call with UCID 111. I only get evets for a call with UCID 222 when they are really events for the other call. This makes it impossible for me to interpret the events correctly.
Do you know if this UCID behaviour is intended? Is this a bug or is it dependent on a setting somewhere else in the AVAYA system?