Author Message
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Hi team. Can you outline how the BlindTransfer Item works in regards to AAI/UCID? The dev guide makes it sound like all that is required is to set AACC = true, and then the AAI and UCID data is packaged up and put in the SIP header. However, it seems as though I am required to select session:ucid for the UCID variable for OD to populate it. Is it not default that this would be the UCID variable? Or is it designed so that I must specify the UCID parameter in order for it to truly pass UCID back to CM? And how does this affect the transfer if my destination is NOT CM?

Example with UCID not selected:

<transfer name="ExitTransfer" dest="tel:...." type="blind" connecttimeout="0s" maxtime="0s" aai="PD,00;C8,322c38....">


And then with UCID set to session:ucid:

<transfer name="ExitTransfer" dest="tel:...." type="blind" connecttimeout="0s" maxtime="0s" aai="PD,00;C8,312c....31;FA,000100D84716234E">
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
It looks like on AACC transfers the AAI is automatically generated.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline

aai = transfer.checkHexEncodeAAIForAACC(aai, ucidStr);
genAttr("aai", aai);

public String checkHexEncodeAAIForAACC(String aaiStr, String ucidStr){
String resultStr = aaiStr;
if (transferToAACC){
if (mode == Mode.SHARED_UUI){
if (aaiStr.length() == 0){
resultStr = "PD,00";
}else{
resultStr = "PD,00;C8," + stringToHex(aaiStr);
}
if (ucidStr.length() > 0){
resultStr += ";FA," + PrepareAAI.endcodeUcid(ucidStr);
}
}else {
if (aaiStr.length() > 0){
resultStr = "04" + stringToHex(aaiStr);
}
}
}

return resultStr;
}


MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
Let me clarify. Should I have to specify UCID variable in order for OD to send UCID back to CM? As shown below it does not seem to occur in all instances if not supplied, leading to CM receiving all zeros as UCID. I would have though OD smart enough to know the session:ucid is the UCID variable and pass that automatically.
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
It looks like when AACC is true it does that. Otherwise you can construct the AAI using the PrepareAAI.
MichaelNorman
Joined: Jun 3, 2015
Messages: 448
Offline
I'm obviously missing something in your explanation I apologize. From your description it seems I have the below choices.

A) use AACC=false, assign AAI data, which will result in NO UCID being passed back to CM (only C8 is set).

B) I can use AACC=true, assign AAI data, and leave UCID blank, which will result in NO UCID being passed back to CM (only C8 is set).

C) I can use AACC=true, assign AAI data, assign UCID variable to session:ucid, which will result in UCID being passed unchanged (C8 and F4).


In other words, the only way UCID is getting passed back to CM is if I set AACC = true and manually set the UCID variable. Is this correct?
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
I sent private email
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
You can also use the PrepareAAI operation to create the UUI/AAi and plug that into the transfer AAI.
Go to:   
Mobile view