PageRenderTime 57ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/servers/jain-slee/resources/diameter-cx-dx/ratype/src/main/java/net/java/slee/resource/diameter/cxdx/CxDxAVPFactory.java

http://mobicents.googlecode.com/
Java | 167 lines | 31 code | 21 blank | 115 comment | 0 complexity | 316515ea0937a57bdcf95d0a11414b71 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1, GPL-2.0, CC-BY-SA-3.0, CC0-1.0, Apache-2.0, BSD-3-Clause
  1. /*
  2. * JBoss, Home of Professional Open Source
  3. * Copyright 2011, Red Hat, Inc. and individual contributors
  4. * by the @authors tag. See the copyright.txt in the distribution for a
  5. * full listing of individual contributors.
  6. *
  7. * This is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU Lesser General Public License as
  9. * published by the Free Software Foundation; either version 2.1 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This software is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this software; if not, write to the Free
  19. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  20. * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  21. */
  22. package net.java.slee.resource.diameter.cxdx;
  23. import net.java.slee.resource.diameter.base.DiameterAvpFactory;
  24. import net.java.slee.resource.diameter.cxdx.events.avp.AssociatedIdentities;
  25. import net.java.slee.resource.diameter.cxdx.events.avp.AssociatedRegisteredIdentities;
  26. import net.java.slee.resource.diameter.cxdx.events.avp.ChargingInformation;
  27. import net.java.slee.resource.diameter.cxdx.events.avp.DeregistrationReason;
  28. import net.java.slee.resource.diameter.cxdx.events.avp.ReasonCode;
  29. import net.java.slee.resource.diameter.cxdx.events.avp.RestorationInfo;
  30. import net.java.slee.resource.diameter.cxdx.events.avp.SCSCFRestorationInfo;
  31. import net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem;
  32. import net.java.slee.resource.diameter.cxdx.events.avp.SIPDigestAuthenticate;
  33. import net.java.slee.resource.diameter.cxdx.events.avp.SubscriptionInfo;
  34. import net.java.slee.resource.diameter.cxdx.events.avp.ServerCapabilities;
  35. /**
  36. * Factory to support the creation of Grouped AVP instances for Cx/Dx.
  37. *
  38. * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
  39. * @author <a href="mailto:baranowb@gmail.com"> Bartosz Baranowski </a>
  40. */
  41. public interface CxDxAVPFactory extends DiameterAvpFactory{
  42. public DiameterAvpFactory getBaseFactory();
  43. /**
  44. * Create an empty AssociatedIdentities instance.
  45. *
  46. * @return a new and empty AssociatedIdentities instance
  47. */
  48. AssociatedIdentities createAssociatedIdentities();
  49. /**
  50. * Create an empty AssociatedRegisteredIdentities instance.
  51. *
  52. * @return a new and empty AssociatedRegisteredIdentities instance
  53. */
  54. AssociatedRegisteredIdentities createAssociatedRegisteredIdentities();
  55. /**
  56. * Create an empty ChargingInformation instance.
  57. *
  58. * @return a new and empty ChargingInformation instance
  59. */
  60. ChargingInformation createChargingInformation();
  61. /**
  62. * Create an empty ServerCapabilities instance.
  63. *
  64. * @return a new and empty ServerCapabilities instance
  65. */
  66. ServerCapabilities createServerCapabilities();
  67. /**
  68. * Create an empty DeregistrationReason instance.
  69. *
  70. * @return a new and empty DeregistrationReason instance
  71. */
  72. DeregistrationReason createDeregistrationReason();
  73. /**
  74. * Create an DeregistrationReason instance with mandatory AVPs filled.
  75. *
  76. * @param reasonCode the Reason-Code AVP value
  77. * @return a new DeregistrationReason instance
  78. */
  79. DeregistrationReason createDeregistrationReason(ReasonCode reasonCode);
  80. /**
  81. * Create an empty RestorationInfo instance.
  82. *
  83. * @return a new and empty RestorationInfo instance
  84. */
  85. RestorationInfo createRestorationInfo();
  86. /**
  87. * Create an RestorationInfo instance with mandatory AVPs filled.
  88. *
  89. * @param path the Path AVP value
  90. * @param contact the Contact AVP value
  91. * @return a new RestorationInfo instance
  92. */
  93. RestorationInfo createRestorationInfo(byte[] path, byte[] contact);
  94. /**
  95. * Create an empty SCSCFRestorationInfo instance.
  96. *
  97. * @return a new and empty SCSCFRestorationInfo instance
  98. */
  99. SCSCFRestorationInfo createSCSCFRestorationInfo();
  100. /**
  101. * Create an SCSCFRestorationInfo instance with mandatory AVPs filled.
  102. *
  103. * @param userName the User-Name AVP value
  104. * @param restorationInfos the Restoration-Info AVP values
  105. * @return a new SCSCFRestorationInfo instance
  106. */
  107. SCSCFRestorationInfo createSCSCFRestorationInfo(String userName, RestorationInfo[] restorationInfos);
  108. /**
  109. * Create an empty SIPAuthDataItem instance.
  110. *
  111. * @return a new and empty SIPAuthDataItem instance
  112. */
  113. SIPAuthDataItem createSIPAuthDataItem();
  114. /**
  115. * Create an empty SIPDigestAuthenticate instance.
  116. *
  117. * @return a new and empty SIPDigestAuthenticate instance
  118. */
  119. SIPDigestAuthenticate createSIPDigestAuthenticate();
  120. /**
  121. * Create an SIPDigestAuthenticate instance with mandatory AVPs filled.
  122. *
  123. * @param digestRealm the Digest-Realm AVP value
  124. * @param digestQoP the Digest-QoP AVP value
  125. * @param digestHA1 the Digest-HA1 AVP value
  126. * @return a new SIPDigestAuthenticate instance
  127. */
  128. SIPDigestAuthenticate createSIPDigestAuthenticate(String digestRealm, String digestQoP, byte[] digestHA1);
  129. /**
  130. * Create an empty SubscriptionInfo instance.
  131. *
  132. * @return a new and empty SubscriptionInfo instance
  133. */
  134. SubscriptionInfo createSubscriptionInfo();
  135. /**
  136. * Create an SubscriptionInfo instance with mandatory AVPs filled.
  137. *
  138. * @param callIDSIPHeader the Call-ID-SIP-Header AVP value
  139. * @param fromSIPHeader the From-SIP-Header AVP value
  140. * @param toSIPHeader the To-SIP-Header AVP value
  141. * @param recordRoute the Record-Route AVP value
  142. * @param contact the Contact AVP value
  143. * @return a new SubscriptionInfo instance
  144. */
  145. SubscriptionInfo createSubscriptionInfo(byte[] callIDSIPHeader, byte[] fromSIPHeader, byte[] toSIPHeader, byte[] recordRoute, byte[] contact);
  146. }