Get ReasonForCall attribute of Unified Messaging calls via Powershell

I've been tasked with generating daily a specific report about our UM calls that is similar to our previous voicemail system.  Specifically it needs to differentiate between calls that were Busy versus No Answer.

Get-UMCallDataRecord seems to be the obvious choice but doesn't seem to have the information required to differentiate between busy and No Answer.

I see that in the Exchange admin center,  UM call statistics, you can export all calls for a given day to file, and this contains the data I'm looking for (ReasonForCall column).  However, the Command Logging feature of the admin center doesn't log that particular action.

The Export-UMCallDataRecord cmdlet looks to be what the admin center is running, but even in that technet link it says 

"The Export-UMCallDataRecord cmdlet is available when you're using the Exchange Administration Center. You can't use the cmdlet from the Exchange Management Shell."   (Then why do they show syntax and examples??)

I've tried running Export-UMCallDataRecord myself in the Exchange Management Shell but haven't been able to fulfill the required ClientStream argument.  Keep getting errors like

Cannot process argument transformation on parameter 'ClientStream'. Cannot convert the "System.IO.Stream" value of type "Deserialized.System.IO.Stream" to type "System.IO.Stream".

Any ideas here?  How to get Export-UMCallDataRecord working from the Shell, or somehow get the Daily Call export from the admin center to run daily+automatically, or to get the Busy/No Answer information from Get-UMCallDataRecord?

Appreciate any help.  Thanks,

Jesse

April 2nd, 2015 12:16pm

For what its worth, after hours of trying all sorts of different things, I gleaned some helpful information out of Exchange's IIS logs after I exported a report from the admin center.  It lead me to be able to use Powershell's Invoke-WebRequest like so:

Invoke-WebRequest "https://<servername>/ecp/UnifiedMessaging/Download.aspx?Date=4/02/2015&UMDialPlanID=<dialplanGUID>&handlerClass=ExportUMCallDataRecordHandler" -UseDefaultCredentials | select -ExpandProperty content | ConvertFrom-Csv

Doesn't seem like the absolute best approach, but it's working for what I've been asked to compile.



Free Windows Admin Tool Kit Click here and download it now
April 2nd, 2015 5:43pm

For what its worth, after hours of trying all sorts of different things, I gleaned some helpful information out of Exchange's IIS logs after I exported a report from the admin center.  It lead me to be able to use Powershell's Invoke-WebRequest like so:

Invoke-WebRequest "https://<servername>/ecp/UnifiedMessaging/Download.aspx?Date=4/02/2015&UMDialPlanID=<dialplanGUID>&handlerClass=ExportUMCallDataRecordHandler" -UseDefaultCredentials | select -ExpandProperty content | ConvertFrom-Csv

Doesn't seem like the absolute best approach, but it's working for what I've been asked to compile.



April 2nd, 2015 9:41pm

For what its worth, after hours of trying all sorts of different things, I gleaned some helpful information out of Exchange's IIS logs after I exported a report from the admin center.  It lead me to be able to use Powershell's Invoke-WebRequest like so:

Invoke-WebRequest "https://<servername>/ecp/UnifiedMessaging/Download.aspx?Date=4/02/2015&UMDialPlanID=<dialplanGUID>&handlerClass=ExportUMCallDataRecordHandler" -UseDefaultCredentials | select -ExpandProperty content | ConvertFrom-Csv

Doesn't seem like the absolute best approach, but it's working for what I've been asked to compile.



Free Windows Admin Tool Kit Click here and download it now
April 2nd, 2015 9:41pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics