[cisco-voip] UCCX accountnumber column in Informix database

Damisch, Kevin Kevin.Damisch at oneneck.com
Thu Sep 3 12:16:54 EDT 2015


Pulling up an old thread that we never got resolved.  I can replicate this issue every time and stumped TAC a while back as they were unable to replicate this and wasn't matching any bugs.  We were on UCCX 8.5(1)SU3, recently upgraded to 10.6(1), but still have this issue.  The normal script is too complicated to explain, so I created a simple script to test with, shown here:

[cid:image001.png at 01D0E638.0E615040]

After any call, the expectation is that both Custom Variable 10 and the AccountNumber custom variables will be populated with 1111222233334444.

So, I run this command:

run uccx sql db_cra select startdatetime,customvariable10,accountnumber from ContactCallDetail where startdatetime > '2015-09-02 00:00:00' and callednumber = '5745'

If I hang up before being *connected* to an agent (such as before the Select Resource step or while sitting in the queued branch), the Custom Variable 10 and AccountNumber custom variables are both correctly populated.  Here is the output from the SQL command:
STARTDATETIME              CUSTOMVARIABLE10     ACCOUNTNUMBER
2015-09-03 14:52:48.32  1111222233334444           1111222233334444

And the MIVR logs showing this:

-1806643255: Sep 03 09:52:59.473 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - contactID: 35820086, sessionSeqNr: 0, sessionID: 139001083928, nodeID: 1
-1806643253: Sep 03 09:52:59.473 CDT %MIVR-CRA_HRDM-7-UNK:setCallVariables - _ccdrVar10:1111222233334444
-1806643252: Sep 03 09:52:59.473 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - updated call variables in ccdr

-1806642821: Sep 03 09:53:00.511 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - contactID: 35820086, sessionSeqNr: 0, sessionID: 139001083928, nodeID: 1
-1806642820: Sep 03 09:53:00.511 CDT %MIVR-CRA_HRDM-7-UNK:setCallVariables - _accountNumber:1111222233334444
-1806642819: Sep 03 09:53:00.511 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - updated call variables in ccdr

-1806635795: Sep 03 09:53:11.196 CDT %MIVR-CRA_HRDM-7-UNK:writeCCDRToDatabase : CCDR: sessionID=139001083928, sessionSeqNum=0, nodeID=1, contactID=35820086, contactType=3, contactDisposition=1, dispositionReason=, profileID=1, originatorType=2, originatorID=-1, originatorDN=5743, destinationType=2, destinationID=-1, destinationDN=3924, startDateTime=java.util.GregorianCalendar[time=1441291968320,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=246,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=52,SECOND=48,MILLISECOND=320,ZONE_OFFSET=0,DST_OFFSET=0], endDateTime=java.util.GregorianCalendar[time=1441291986192,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=246,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=53,SECOND=6,MILLISECOND=192,ZONE_OFFSET=0,DST_OFFSET=0], gmtOffset=-300, connectTime=17, calledNumber=5745, origCalledNumber=5745, transfer=false, conference=false, redirect=false, flowout=false, transformedEv=false, applicationTaskID=36002129626, applicationID=1, applicationName=WebServicesTest, customVariable1=, customVariable2=, customVariable3=, customVariable4=, customVariable5=, customVariable6=, customVariable7=, customVariable8=, customVariable9=, customVariable10=1111222233334444, accountNumber=1111222233334444, callerEnteredDigits=, campaignID=-1dialingListID=-1, OrigProtocolCallRef=000000000022923602BCB63D00000000, DestProtocolCallRef=


Here is where the issue comes into play.  If the caller goes through the select resource step and is connected to an agent, then I see that Custom Variable 10 is populated correctly, but for some reason, the AccountNumber custom variable is blank.  Here is the output from the SQL command:

STARTDATETIME              CUSTOMVARIABLE10     ACCOUNTNUMBER
2015-09-03 14:54:07.35  1111222233334444                                                         <<<< Note that the account number is blank

Here are the MIVR logs for this call:
-1806589110: Sep 03 09:54:17.379 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - contactID: 35820135, sessionSeqNr: 0, sessionID: 139001083952, nodeID: 1
-1806589109: Sep 03 09:54:17.379 CDT %MIVR-CRA_HRDM-7-UNK:setCallVariables - _ccdrVar10:1111222233334444
-1806589108: Sep 03 09:54:17.379 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - updated call variables in ccdr

-1806588232: Sep 03 09:54:18.447 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - contactID: 35820135, sessionSeqNr: 0, sessionID: 139001083952, nodeID: 1
-1806588231: Sep 03 09:54:18.447 CDT %MIVR-CRA_HRDM-7-UNK:setCallVariables - _accountNumber:1111222233334444
-1806588230: Sep 03 09:54:18.447 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - updated call variables in ccdr

*Something* is telling it to set the accountNumber value to be blank here, which I didn't have on the previous call where I hung up before being connected to an agent.
-1806478389: Sep 03 09:57:06.002 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - contactID: 35820135, sessionSeqNr: 0, sessionID: 139001083952, nodeID: 1
-1806478388: Sep 03 09:57:06.002 CDT %MIVR-CRA_HRDM-7-UNK:setCallVariables - _accountNumber:
-1806478386: Sep 03 09:57:06.002 CDT %MIVR-CRA_HRDM-7-UNK:contactDataChanged - updated call variables in ccdr

-1806478293: Sep 03 09:57:06.862 CDT %MIVR-CRA_HRDM-7-UNK:writeCCDRToDatabase : CCDR: sessionID=139001083952, sessionSeqNum=0, nodeID=1, contactID=35820135, contactType=3, contactDisposition=2, dispositionReason=, profileID=1, originatorType=2, originatorID=-1, originatorDN=5743, destinationType=2, destinationID=-1, destinationDN=3710, startDateTime=java.util.GregorianCalendar[time=1441292047353,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=246,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=54,SECOND=7,MILLISECOND=353,ZONE_OFFSET=0,DST_OFFSET=0], endDateTime=java.util.GregorianCalendar[time=1441292224091,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=8,WEEK_OF_YEAR=36,WEEK_OF_MONTH=1,DAY_OF_MONTH=3,DAY_OF_YEAR=246,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=57,SECOND=4,MILLISECOND=91,ZONE_OFFSET=0,DST_OFFSET=0], gmtOffset=-300, connectTime=176, calledNumber=5745, origCalledNumber=5745, transfer=false, conference=false, redirect=false, flowout=false, transformedEv=false, applicationTaskID=36002129653, applicationID=1, applicationName=WebServicesTest, customVariable1=, customVariable2=, customVariable3=, customVariable4=, customVariable5=, customVariable6=, customVariable7=, customVariable8=, customVariable9=, customVariable10=1111222233334444, accountNumber=, callerEnteredDigits=, campaignID=-1dialingListID=-1, OrigProtocolCallRef=000000000022926702BCB6EF00000000, DestProtocolCallRef=

We are already using custom variables 1 to 10 for other things and those are always populated correctly, and those 10 variables plus the account number variable all show up in CAD since we pass those down to the agents.  In this example, I just wanted to show that accountNumber gets blanked out for some reason, yet custom variable 10 stays populated as it should.  If anyone has a suggestion, I'd appreciate it.  It still seems like a bug to me, but TAC couldn't replicate it.

Thanks,
Kevin

From: Damisch, Kevin
Sent: Friday, May 02, 2014 2:39 PM
To: Damisch, Kevin <Kevin.Damisch at oneneck.com>; cisco-voip at puck.nether.net
Subject: RE: UCCX accountnumber column in Informix database

I went a step further and set the Set Enterprise Info step to populate the customvariable10 and accountnumber variables both with the strAccountNumber value.  Attached are sanitized screenshots of a test script I just made to replicate the issue in its simplest form, but get the same results.  I have strAccountNumber == 1111111111111111 in the reactive debug and watched it step through Selected, Set Enterprise Call Info, Connected, and Goto END steps.  I talked to the agent who answered and verified they saw 1111111111111111 in both customervariable10 and accountnumber fields within CAD.  So, my question is how can CAD see it in both fields, yet the database doesn't show it in the accountnumber field?  If you look at the SQLResults screenshot, you can see that it does populate CustomVariable10, but accountnumber is blank.  Again, all other custom variables get populated correctly with no issues.  The accountnumber column is the only one that is blank, and its only when the call ends up going to an agent.

I have all 10 custom variables used up with other things, so I can't just move this value into one of those, which is why I'm trying to use the accountnumber custom variable to store, you know, the account number.

Thanks!
Kevin


From: cisco-voip [mailto:cisco-voip-bounces at puck.nether.net] On Behalf Of Damisch, Kevin
Sent: Friday, May 02, 2014 1:53 PM
To: cisco-voip at puck.nether.net<mailto:cisco-voip at puck.nether.net>
Subject: [cisco-voip] UCCX accountnumber column in Informix database

I have a UCCX 8.5(1)SU3 deployment where we set values in custom variables 1 to 10 (actually Call.PeripheralVariable1 to 10) and also Call.AccountNumber via the Set Enterprise Info step.  Whether we check the values by setting up a linked server or by creating a db connection to the Informix database, we can see variables 1 to 10 and the accountnumber columns populated correctly in the contactcalldetail table.  Everything gets written to the database correctly when the call is ended while navigating the IVR or if they are in the queued branch of the select resource step.  If the caller ends up talking to an agent, the accountnumber column in the Informix database is empty for that record.  Even more strange, the accountnumber value still gets passed down to CAD and the agent sees it just fine, yet it isn't in the accountnumber column in the database.

Here is the SQL command I use to pull the values from the UCCX database:

Select sessionid, startdatetime,enddatetime, applicationname, originatordn, origcallednumber, destinationdn, destinationtype, contactdisposition, customvariable1,customvariable2, customvariable3,customvariable4,customvariable5,
customvariable6, customvariable7, customvariable8, customvariable9, customvariable10, accountnumber
from contactcalldetail ccd
where startdatetime >= '2014-05-01 00:00:00'

This sounds like a TAC case, but wanted to see if anyone on this list has seen this before.  And, does anyone know what xdebugging level needs checked to see the Set Enterprise Info steps in the MIVR logs?

Thanks!
Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://puck.nether.net/pipermail/cisco-voip/attachments/20150903/8dfe8fa7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 25641 bytes
Desc: image001.png
URL: <https://puck.nether.net/pipermail/cisco-voip/attachments/20150903/8dfe8fa7/attachment.png>


More information about the cisco-voip mailing list