reginfo.xsd 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema targetNamespace="urn:ietf:params:xml:ns:reginfo"
  3. xmlns:tns="urn:ietf:params:xml:ns:reginfo"
  4. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  5. elementFormDefault="qualified" attributeFormDefault="unqualified">
  6. <!-- This import brings in the XML language attribute xml:lang-->
  7. <xs:import namespace="http://www.w3.org/XML/1998/namespace"
  8. schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
  9. <xs:element name="reginfo">
  10. <xs:complexType>
  11. <xs:sequence>
  12. <xs:element ref="tns:registration" minOccurs="0"
  13. maxOccurs="unbounded"/>
  14. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  15. maxOccurs="unbounded"/>
  16. </xs:sequence>
  17. <xs:attribute name="version" type="xs:nonNegativeInteger"
  18. use="required"/>
  19. <xs:attribute name="state" use="required">
  20. <xs:simpleType>
  21. <xs:restriction base="xs:string">
  22. <xs:enumeration value="full"/>
  23. <xs:enumeration value="partial"/>
  24. </xs:restriction>
  25. </xs:simpleType>
  26. </xs:attribute>
  27. </xs:complexType>
  28. </xs:element>
  29. <xs:element name="registration">
  30. <xs:complexType>
  31. <xs:sequence>
  32. <xs:element ref="tns:contact" minOccurs="0" maxOccurs="unbounded"/>
  33. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  34. maxOccurs="unbounded"/>
  35. </xs:sequence>
  36. <xs:attribute name="aor" type="xs:anyURI" use="required"/>
  37. <xs:attribute name="id" type="xs:string" use="required"/>
  38. <xs:attribute name="state" use="required">
  39. <xs:simpleType>
  40. <xs:restriction base="xs:string">
  41. <xs:enumeration value="init"/>
  42. <xs:enumeration value="active"/>
  43. <xs:enumeration value="terminated"/>
  44. </xs:restriction>
  45. </xs:simpleType>
  46. </xs:attribute>
  47. </xs:complexType>
  48. </xs:element>
  49. <xs:element name="contact">
  50. <xs:complexType>
  51. <xs:sequence>
  52. <xs:element name="uri" type="xs:anyURI"/>
  53. <xs:element name="display-name" minOccurs="0">
  54. <xs:complexType>
  55. <xs:simpleContent>
  56. <xs:extension base="xs:string">
  57. <xs:attribute ref="xml:lang" use="optional"/>
  58. </xs:extension>
  59. </xs:simpleContent>
  60. </xs:complexType>
  61. </xs:element>
  62. <xs:element name="unknown-param" minOccurs="0"
  63. maxOccurs="unbounded">
  64. <xs:complexType>
  65. <xs:simpleContent>
  66. <xs:extension base="xs:string">
  67. <xs:attribute name="name" type="xs:string" use="required"/>
  68. </xs:extension>
  69. </xs:simpleContent>
  70. </xs:complexType>
  71. </xs:element>
  72. <xs:any namespace="##other" processContents="lax" minOccurs="0"
  73. maxOccurs="unbounded"/>
  74. </xs:sequence>
  75. <xs:attribute name="state" use="required">
  76. <xs:simpleType>
  77. <xs:restriction base="xs:string">
  78. <xs:enumeration value="active"/>
  79. <xs:enumeration value="terminated"/>
  80. </xs:restriction>
  81. </xs:simpleType>
  82. </xs:attribute>
  83. <xs:attribute name="event" use="required">
  84. <xs:simpleType>
  85. <xs:restriction base="xs:string">
  86. <xs:enumeration value="registered"/>
  87. <xs:enumeration value="created"/>
  88. <xs:enumeration value="refreshed"/>
  89. <xs:enumeration value="shortened"/>
  90. <xs:enumeration value="expired"/>
  91. <xs:enumeration value="deactivated"/>
  92. <xs:enumeration value="probation"/>
  93. <xs:enumeration value="unregistered"/>
  94. <xs:enumeration value="rejected"/>
  95. </xs:restriction>
  96. </xs:simpleType>
  97. </xs:attribute>
  98. <xs:attribute name="duration-registered" type="xs:unsignedLong"/>
  99. <xs:attribute name="expires" type="xs:unsignedLong"/>
  100. <xs:attribute name="retry-after" type="xs:unsignedLong"/>
  101. <xs:attribute name="id" type="xs:string" use="required"/>
  102. <xs:attribute name="q" type="xs:string"/>
  103. <xs:attribute name="callid" type="xs:string"/>
  104. <xs:attribute name="cseq" type="xs:unsignedLong"/>
  105. </xs:complexType>
  106. </xs:element>
  107. </xs:schema>