Microsoft KB Archive/917539

= 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 =

Article ID: 917539

Article Last Modified on 11/15/2007

-

APPLIES TO


 * Microsoft Connected Services Framework Server 2.5
 * Microsoft TV IPTV 1.01

-





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. However, this hotfix is intended to correct only the problem that this article describes. Apply this hotfix only to systems that are experiencing this specific problem.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

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.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



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:  Stop the IPTV Poller service. 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. 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

 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. 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.</li>  In the App.config file, add the following optional configuration values to the bottom of the file: <appSettings> <add key=&quot;BillingRecord_Status&quot; value=&quot;UnRead&quot;/> <add key=&quot;PollByStatus&quot; value=&quot;false&quot;/> </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. </li> At a command prompt, run the following command:

iisreset

</li> 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

</li> Start the IPTV Poller service.</li></ol>

Additional IPTV Poller service enhancements
This hotfix fixes the problems in the IPTV Poller service that are mentioned in the &quot;Symptoms&quot; 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 <ul>  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=&quot;BillingRecord_Status&quot; value=&quot;UnRead&quot;/> 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. </li> The following two kinds of polling are possible, depending on the value of the BillingRecord_Status parameter: <ol style="list-style-type: lower-alpha;"> 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.</li> 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.</li></ol>

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.</li>  Modify the following line of code in the IPTVPollerService.exe.config file: <add key=&quot;IPTVUri_BillingRecord&quot; value=&quot;http://<HostName>/bss/BillingRecordManagement.asmx&quot;/> The new code must resemble the following line of code: <add key=&quot;IPTVUri_BillingRecord&quot; value=&quot;http://<HostName>/bss/legacy/1.0.1/BillingRecordManagement.asmx&quot; /> </li> Verify in the Events.xml file that the following Uniform Resource Identifiers (URIs) for participants are correct: <ul> http:// /BillingSBERuntime/BillingSBERuntime.ashx</li> http:// /IptvWebService/IptvWebService.ashx</li></ul> </li></ul>

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

Keywords: kbqfe kbpubtypekc kbhotfixserver KB917539

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.