Subject: [siprec] Including RFC 4235 XML schema inside SIPREC Metadata XML schema

From: "Ram Mohan R (rmohanr)" <[email-masked]>
Date: Tue, 17 Dec 2013 14:46:59 +0000

Hi all,

This is regarding including participant capabilities in Metadata from SRC
to SRS. We had discussed this item in the past and the agreement was to
include the  parts of XML schema of RFC 4235 inside the SIPREC metadata
XML schema to represent participant capabilities.
Look here for some discussions -
http://www.ietf.org/mail-archive/web/siprec/current/msg02307.html.
This is already updated in the Metadata model, however we missed to
incorporate this to SIPREC XML schema.

Below is the updated participant schema by including participant
capabilities from RFC 4235. Let me know your opinion on this. If WG agrees
to the above I will incorporate this in next revision.

1)  RFC 4235 schema is defined here
http://www.iana.org/assignments/xml-registry/schema/dialog-info.xsd

2) As our current requirement is only to include participant parameters
which represent the participant capabilities in SIPREC schema, we need to
import only the <param> element ofdialog-info.xsd.

3) That can be done as follows. I am showing only snippets of schema. The
complete schema(validated) is attached to the email

<xs:import namespace='dialog-info:param:data'
    
schemaLocation='http://iana.org/assignments/xml-registry/schema/dialog-info
.xsd'/>
Š..
Š.
<xs:element name='participant-param'>
 <xs:complexType>
  <xs:sequence xmlns:data='dialog-info:params:data'>
    <xs:element ref='data:param'/>
  </xs:sequence>
 </xs:complexType>
  </xs:element>

4) And since metadata model allows a participant to have zero or more
capabilities, we need to allow the same in the participant XML element. So
the
updated participant element schema will be:

<xs:complexType name="participant">
  <xs:sequence>
     <xs:element name="nameID" type="tns:nameID" maxOccurs='unbounded'/>
     <xs:element name="partipant-param" type="tns:participant-param"
      minOccurs='0' maxOccurs='unbounded'/>
     <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'
     processContents='lax'/>
  </xs:sequence>
 <xs:attribute name="participant_id" type="xs:base64Binary"
 use="required"/>
</xs:complexType>

5) A sample instance of participant element with this kind of schema would
be:

<participant  participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
   <nameID aor=sip:[email-masked]>
      <name xml:lang="it">Bob</name>
  </nameID>
 <param pname="isfocus" pval="true"/>
           </participant>

A question here - Does the WG see a need to import any other parts
RFC4235 schema other than <param> element ?

Regards,
Ram