Subject: [dispatch] Incompatibility between policy dataset framework and media-policy-dataset

From: "Dale Worley" <[email-masked]>
Date: Fri, 12 Jun 2009 13:06:28 -0400

Currently, the only defined policy schema within the
draft-ietf-sipping-profile-datasets framework is
draft-ietf-sipping-media-policy-dataset.  Unfortunately, the
media-policy-dataset includes elements that cannot be modeled with the
profile-datasets framework.

Consider the example in section 7.1 of
draft-ietf-sipping-media-policy-dataset-07:

  <property-set>
    <session-policy>
      <context>
        <policy-server-URI>[email-masked]</policy-server-URI>
        <contact>sip:[email-masked]</contact>
        <info>Access network policies</info>
      </context>
      <media-types excluded-policy="disallow">
        <media-type policy="allow">audio</media-type>
        <media-type policy="allow">video</media-type>
      </media-types>
      <codecs excluded-policy="allow">
        <codec policy="disallow">
          <mime-type>audio/G729</mime-type>
        </codec>
        <codec policy="disallow">
          <mime-type>audio/G723</mime-type>
        </codec>
      </codecs>
    </session-policy>
  </property-set>

This dataset contains bindings of the properties "media-types" and
"codecs".  But it also contains a <context> element that does not fit
within the system of the policy-dataset framework.

One way to remove this inconsistency is to remove the <context> from
within the dataset, and rather have the <context> and the dataset be
siblings within the XML:  (This example includes correcting the
top-level element of the dataset to be propertySet, so we can use
<session-policy> for the higher-level element.)

  <session-policy>
    <context>
      <policy-server-URI>[email-masked]</policy-server-URI>
      <contact>sip:[email-masked]</contact>
      <info>Access network policies</info>
    </context>
    <propertySet>
      <media-types excluded-policy="disallow">
        <media-type policy="allow">audio</media-type>
        <media-type policy="allow">video</media-type>
      </media-types>
      <codecs excluded-policy="allow">
        <codec policy="disallow">
          <mime-type>audio/G729</mime-type>
        </codec>
        <codec policy="disallow">
          <mime-type>audio/G723</mime-type>
        </codec>
      </codecs>
    </propertySet>
  </session-policy>

Worse, the <streams> element cannot be put within the policy-dataset
framework at all, as it consists of an array-of-structures, which we
have earlier noted is not supported within the framework.

Dale