FIX: The WES Adapter may crash or a BillingRecord object that contains an ampersand (&) in the resource name may crash Connected Services Framework (CSF) 2.5 when you use CSF 2.5 together with Microsoft TV IPTV 1.0 (917539)



The information in this article applies to:

  • Microsoft Connected Services Framework Server 2.5
  • Microsoft TV IPTV 1.0

SYMPTOMS

When you use the Microsoft Connected Services Framework (CSF) 2.5 together with Microsoft TV IPTV 1.0, you may experience one of the following symptoms:

Symptom 1

The Well-Enabled Service (WES) Adapter may crash when the latest IPTV update is not installed. This hotfix fixes the ReadAdditionalFields API.

Symptom 2

A BillingRecord object that contains an ampersand (&) in the resource name may crash CSF and may transform the BillingRecord object.

CAUSE

This problem occurs because one of the following conditions is true:

Symptom 1

The IPTV Poller service (IPTVPollerService.exe) uses the ReadAdditionalFields API to retrieve record information. The service does this by using the following line of code:
IPTVWS_BAF.AdditionalFields AF = m_IPTVBAF.ReadAdditionalFields(xxx);
string Message = CreateMessage(billingRecords[i], AF);
When the AF value is NULL, the call to the CreateMessage function may cause an access violation to occur, and the WES Adapter may crash.

Symptom 2

One of the UDR field values that are read from IPTV is malformed because of incorrect encoding. Then, this malformed XML is passed through the end-to-end flow. This behavior may cause CSF to crash.

RESOLUTION

A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

To install this hotfix, you must be running the Microsoft Connected Services Framework 2.5 Service Pack 1 (SP1).

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
File nameFile versionFile sizeDateTimePlatform
Microsoft.csf.sbe.billing.vasadapter.iptvpollerservice.exe2.5.0.109161,44002-Mar-200603:16x86
Mockiptv.dll2.5.0.109012,28823-Feb-200623:57x86
Udr2ipdr.xsltNot Applicable17,82202-Mar-200603:33Not Applicable
Xsdin.xsdNot Applicable4,41802-Mar-200603:33Not Applicable

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Hotfix installation instructions

The hotfix installer puts files on the destination computer. You must manually replace the existing CSF files with the files from the hotfix. To do this, follow these steps:
  1. Stop the IPTV Poller service.
  2. Copy the Microsoft.ConnectedServices.Adapters.Iptv.dll file and the Microsoft.Csf.Sbe.Billing.VasAdapter.IPTVPollerService.exe file to the C:\Program Files\Microsoft CSF\BillingSBE\IptvWebService\Bin folder.

    Note Back up the original files before you copy the new files.
  3. Run the following command from the C:\Program Files\Microsoft CSF\BillingSBE\IPTVPoller\Bin folder:

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\installutil /u /name=IPTVPollerService Microsoft.Csf.Sbe.Billing.VasAdapter.IPTVPollerService.exe

  4. Copy the Microsoft.Csf.Sbe.Billing.VasAdapter.IPTVPollerService.exe file to the C:\Program Files\Microsoft CSF\BillingSBE\IptvWebService\Bin folder.

    Note Back up the original file before you copy the new file.
  5. Copy the Xsdin.xsd file and the Udr2ipdr.xslt file to the C:\Program Files\Microsoft CSF\BillingSBE\SERTTool\TestData folder.

    Note You may want to copy the MockIPTV.dll file to the C:\Program Files\Microsoft CSF\BillingSBE\MockIPTV\Bin folder.
  6. In the App.config file, add the following optional configuration values to the bottom of the file:
    <appSettings>
    <add key="BillingRecord_Status" value="UnRead"/>
    <add key="PollByStatus" value="false"/>
    </appSettings>
    Note The vaild values for the BillingRecord_Status parameter are Read, UnRead, Recorded, and Deletable. Additionally, you must restart the IPTV Poller Service after you modify the App.config file.
  7. At a command prompt, run the following command:

    iisreset

  8. Run the following command from the C:\Program Files\Microsoft CSF\BillingSBE\IPTVPoller\Bin folder:

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\installutil /name=IPTVPollerService Microsoft.Csf.Sbe.Billing.VasAdapter.IPTVPollerService.exe

  9. Start the IPTV Poller service.

Additional IPTV Poller service enhancements

This hotfix fixes the problems in the IPTV Poller service that are mentioned in the "Symptoms" section. Additionally, the hotfix contains the following enhancements to the IPTV Poller service:
  • Polling by status instead of date range:
    This method uses the BillingRecord_Status parameter to retrieve billing records from the Billing Management System of IPTV. If the value of the BillingRecord_Status parameter is not set, a value of UnRead is used by default. When you want to use this method, set the value of the PollByStatus parameter to true.
  • Enabled polling for Pay-Per-View billing events:
    When you want to use the Pay-Per-View Billing Events functionality, you must modify the billing record that is constructed by the poller. Modify the record so that the start and end times are passed in the UDR. The start and end times were not previously passed to the billing mediation system.
Notes
  • The following field in the App.config file is used to retrieve billing records from the Billing Management System in IPTV for the specified status:
    <add key="BillingRecord_Status" value="UnRead"/>
    The BillingRecord_Status parameter is a mandatory field. If the value of the BillingRecord_Status parameter is not set, a value of UnRead is used by default.
  • The following two kinds of polling are possible, depending on the value of the BillingRecord_Status parameter:
    1. Status-based polling:
      In this kind of polling, the values of the StartDate and EndDate variables are set to minimum values, and records are polled for specific billing record status. Use the BillingRecord_Status parameter for this configuration.
    2. Status-based, StartDate-based, and EndDate-based polling:
      In this kind of polling, the value of the StartDate parameter is retrieved from the database. The value of the EndDate parameter is based on the StartEndTimeIncrement_MSec configuration value.
    If you decide to poll by status, set the value of the PollByStatus variable to true. Otherwise, you use type 2 polling if you set the value of the PollByStatus variable to false.
  • Modify the following line of code in the IPTVPollerService.exe.config file:
    <add key="IPTVUri_BillingRecord" value="http://<HostName>/bss/BillingRecordManagement.asmx"/>
    The new code must resemble the following line of code:
    <add key="IPTVUri_BillingRecord" value="http://<HostName>/bss/legacy/1.0.1/BillingRecordManagement.asmx" />
  • Verify in the Events.xml file that the following Uniform Resource Identifiers (URIs) for participants are correct:
    • http://HostName/BillingSBERuntime/BillingSBERuntime.ashx
    • http://HostName/IptvWebService/IptvWebService.ashx
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates


Modification Type:MinorLast Reviewed:9/23/2006
Keywords:kbQFE kbhotfixserver kbpubtypekc KB917539 kbAudITPRO kbAudDeveloper