PageRenderTime 163ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/servers/jain-slee/resources/diameter-gx/events/src/main/java/net/java/slee/resource/diameter/gx/events/GxCreditControlRequest.java

http://mobicents.googlecode.com/
Java | 396 lines | 54 code | 50 blank | 292 comment | 0 complexity | 4c8255dbf750d1e3a0368586e7fb7e3d 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.gx.events;
  23. import net.java.slee.resource.diameter.base.events.avp.TerminationCauseType;
  24. import net.java.slee.resource.diameter.cca.events.avp.SubscriptionIdAvp;
  25. import net.java.slee.resource.diameter.cca.events.avp.UserEquipmentInfoAvp;
  26. import net.java.slee.resource.diameter.gx.events.avp.PDPSessionOperation;
  27. import net.java.slee.resource.diameter.gx.events.avp.TFTPacketFilterInformation;
  28. /**
  29. * Interface defining GxCreditControlAnswer message as defined in 3GPP TS 29.210 V6.7.0 (2006-12). It has following structure:
  30. *
  31. * <pre>
  32. * <CC-Request> ::= < Diameter Header: 272, REQ, PXY >
  33. * < Session-Id >
  34. * { Auth-Application-Id }
  35. * { Origin-Host }
  36. * { Origin-Realm }
  37. * { Destination-Realm }
  38. * { CC-Request-Type }
  39. * { CC-Request-Number }
  40. * [ Destination-Host ]
  41. * [ Origin-State-Id ]
  42. * *[ Subscription-Id ]
  43. * [ Framed-IP-Address ]
  44. * [ Framed-IPv6-Prefix ]
  45. * [ 3GPP-RAT-Type ]
  46. * [ Termination-Cause ]
  47. * [ User-Equipment-Info ]
  48. * [ 3GPP-GPRS-Negotiated-QoS-Profile ]
  49. * [ 3GPP-SGSN-MCC-MNC ]
  50. * [ 3GPP-SGSN-Address ]
  51. * [ 3GPP-SGSN-IPv6-Address ]
  52. * [ Called-Station-ID ]
  53. * [ Bearer-Usage ]
  54. * [ PDP-Session-Operation ]
  55. * *[ TFT-Packet-Filter-Information ]
  56. * *[ Proxy-Info ]
  57. * *[ Route-Record ]
  58. * *[ AVP ]
  59. *
  60. * </pre>
  61. *
  62. * @author <a href="mailto:baranowb@gmail.com"> Bartosz Baranowski </a>
  63. * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
  64. * @author <a href="mailto:karthikeyan_s@spanservices.com"> Karthikeyan Shanmugam (EmblaCom)</a>
  65. * @author <a href="mailto:carl-magnus.bjorkell@emblacom.com"> Carl-Magnus Bj??rkell </a>
  66. */
  67. public interface GxCreditControlRequest extends GxCreditControlMessage {
  68. static final int commandCode = 272;
  69. /**
  70. * Returns the value of the Service-Context-Id AVP, of type UTF8String.
  71. *
  72. * @return String
  73. */
  74. String getServiceContextId();
  75. /**
  76. * Sets the value of the Service-Context-Id AVP, of type UTF8String.
  77. *
  78. * @param serviceContextId
  79. * @throws IllegalStateException
  80. */
  81. void setServiceContextId(String serviceContextId) throws IllegalStateException;
  82. /**
  83. * Returns true if the Service-Context-Id AVP is present in the message.
  84. *
  85. * @return boolean
  86. */
  87. boolean hasServiceContextId();
  88. /**
  89. * Returns the value of the Origin-State-Id AVP, of type Unsigned32.
  90. *
  91. * @return long
  92. */
  93. long getOriginStateId();
  94. /**
  95. * Sets the value of the Origin-State-Id AVP, of type Unsigned32.
  96. *
  97. * @param originStateId long
  98. * @throws IllegalStateException
  99. */
  100. void setOriginStateId(long originStateId) throws IllegalStateException;
  101. /**
  102. * Returns true if the Origin-State-Id AVP is present in the message.
  103. *
  104. * @return
  105. */
  106. boolean hasOriginStateId();
  107. /**
  108. * Returns the set of Subscription-Id AVPs.
  109. *
  110. * @return
  111. */
  112. SubscriptionIdAvp[] getSubscriptionIds();
  113. /**
  114. * Sets a single Subscription-Id AVP in the message, of type Grouped.
  115. *
  116. * @param subscriptionId
  117. * @throws IllegalStateException
  118. */
  119. void setSubscriptionId(SubscriptionIdAvp subscriptionId) throws IllegalStateException;
  120. /**
  121. * Sets the set of Subscription-Id AVPs, with all the values in the given
  122. * array.
  123. *
  124. * @param subscriptionIds
  125. * @throws IllegalStateException
  126. */
  127. void setSubscriptionIds(SubscriptionIdAvp[] subscriptionIds) throws IllegalStateException;
  128. /**
  129. * Returns the value of the Termination-Cause AVP, of type Enumerated.
  130. *
  131. * @return
  132. */
  133. TerminationCauseType getTerminationCause();
  134. /**
  135. * Sets the value of the Termination-Cause AVP, of type Enumerated.
  136. *
  137. * @param terminationCause
  138. * @throws IllegalStateException
  139. */
  140. void setTerminationCause(TerminationCauseType terminationCause) throws IllegalStateException;
  141. /**
  142. * Returns true if the Termination-Cause AVP is present in the message.
  143. *
  144. * @return
  145. */
  146. boolean hasTerminationCause();
  147. /**
  148. * Returns the value of Framed-Ip-Address AVP as OctetString. Defined in IEFT RFC 4005
  149. * http://www.ietf.org/rfc/rfc4005.txt
  150. * @return String
  151. */
  152. byte[] getFramedIPAddress();
  153. /**
  154. * Returns true if Framed-Ip-Address AVP is present in the request. Defined in IEFT RFC 4005
  155. * http://www.ietf.org/rfc/rfc4005.txt
  156. * @return
  157. */
  158. boolean hasFramedIPAddress();
  159. /**
  160. * Sets the value of the Framed-Ip-Address AVP, of type OctetString. Defined in IEFT RFC 4005
  161. * http://www.ietf.org/rfc/rfc4005.txt
  162. * @param framedIpAddress String
  163. */
  164. void setFramedIPAddress(byte[] framedIpAddress);
  165. /**
  166. * Returns the value of Framed-IPv6-Prefix AVP as octet string. Defined in IEFT RFC 4005
  167. * http://www.ietf.org/rfc/rfc4006.txt
  168. * @return String
  169. */
  170. byte[] getFramedIPV6Prefix();
  171. /**
  172. * Returns true if Framed-IPv6-Prefix AVP is present in the request. Defined in IEFT RFC 4005
  173. * http://www.ietf.org/rfc/rfc4005.txt
  174. * @return boolean
  175. */
  176. boolean hasFramedIPV6Prefix();
  177. /**
  178. * Sets the value of the Framed-IPv6-Prefix AVP, of type OctetString. Defined in IEFT RFC 4005
  179. * http://www.ietf.org/rfc/rfc4005.txt
  180. * @param framedIPV6Prefix
  181. */
  182. void setFramedIPV6Prefix(byte[] framedIPV6Prefix);
  183. /**
  184. * Returns the value of 3GPP-RAT-Type AVP as octet string. Defined in 3GPP TS 29.061
  185. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  186. * @return String
  187. */
  188. byte[] getTgppRatType();
  189. /**
  190. * Returns true if 3GPP-RAT-Type AVP is present in the request. Defined in 3GPP TS 29.061
  191. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  192. * @return boolean
  193. */
  194. boolean hasTgppRatType();
  195. /**
  196. * Sets the value of the 3GPP-RAT-Type AVP, of type OctetString. Defined in 3GPP TS 29.061
  197. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  198. * @param tgppRatType String
  199. */
  200. void setTgppRatType(byte[] tgppRatType);
  201. /**
  202. * Returns the value of 3GPP-GPRS-Negotiated-QoS-Profile AVP as Octet string. Defined in 3GPP TS 29.061
  203. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  204. * @return String
  205. */
  206. byte[] getTgppGPRSNegotiatedQosProfile();
  207. /**
  208. * Returns true if 3GPP-GPRS-Negotiated-QoS-Profile AVP is present in the request. Defined in 3GPP TS 29.061
  209. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  210. * @return
  211. */
  212. boolean hasTgppGPRSNegotiatedQosProfile();
  213. /**
  214. * Sets the value of the 3GPP-GPRS-Negotiated-QoS-Profile AVP, of type OctetString. Defined in 3GPP TS 29.061
  215. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  216. * @param tgppGPRSNegotiatedQosProfile
  217. */
  218. void setTgppGPRSNegotiatedQosProfile(byte[] tgppGPRSNegotiatedQosProfile);
  219. /**
  220. * Returns the value of 3GPP-SGSN-MCC_MNC AVP as Octet string. Defined in 3GPP TS 29.061
  221. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  222. * @return String
  223. */
  224. byte[] getTgppSgsnMccMnc();
  225. /**
  226. * Returns true if 3GPP-SGSN-MCC_MNC AVP is present in the request. Defined in 3GPP TS 29.061
  227. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  228. * @return boolean
  229. */
  230. boolean hasTgppSgsnMccMnc();
  231. /**
  232. * Sets the value of the 3GPP-SGSN-MCC_MNC AVP, of type OctetString. Defined in 3GPP TS 29.061
  233. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  234. * @param tgppSgsnMccMnc String
  235. */
  236. void setTgppSgsnMccMnc(byte[] tgppSgsnMccMnc);
  237. /**
  238. * Returns the value of 3GPP-SGSN-Address AVP as Octet string. Defined in 3GPP S 29.061
  239. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  240. * @return String
  241. */
  242. byte[] getTgppSgsnAddress();
  243. /**
  244. * Returns true if 3GPP-SGSN-Address AVP is present in the request. Defined in 3GPP S 29.061
  245. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  246. * @return boolean
  247. */
  248. boolean hasTgppSgsnAddress();
  249. /**
  250. * Sets the value of the 3GPP-SGSN-Address, of type OctetString. Defined in 3GPP S 29.061
  251. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  252. * @param TgppSgsnAddress
  253. */
  254. void setTgppSgsnAddress(byte[] TgppSgsnAddress);
  255. /**
  256. * Returns the value of 3GPP-SGSN-IPv6-Address AVP as Octet string. Defined in 3GPP S 29.061
  257. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  258. * @return String
  259. */
  260. byte[] getTgppSgsnIPV6Address();
  261. /**
  262. * Returns true if 3GPP-SGSN-IPv6-Address AVP is present in the request. Defined in 3GPP S 29.061
  263. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  264. * @return boolean
  265. */
  266. boolean hasTgppSgsnIPV6Address();
  267. /**
  268. * Sets the value of the 3GPP-SGSN-IPv6-Address, of type OctetString. Defined in 3GPP S 29.061
  269. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329061v6f0
  270. * @param tgppSgsnIPV6Address
  271. */
  272. void setTgppSgsnIPV6Address(byte[] tgppSgsnIPV6Address);
  273. /**
  274. * Returns the value of Called-Station AVP as UTF8String. Defined in IEFT RFC 4005
  275. * http://www.ietf.org/rfc/rfc4005.txt
  276. * @return
  277. */
  278. String getCalledStationId();
  279. /**
  280. * Returns true if Called-Station AVP is present in the request. Defined in IEFT RFC 4005
  281. * http://www.ietf.org/rfc/rfc4005.txt
  282. * @return boolean
  283. */
  284. boolean hasCalledStationId();
  285. /**
  286. * Sets the value of the Called-Station, of type UTF8String. Defined in IEFT RFC 4005
  287. * http://www.ietf.org/rfc/rfc4005.txt
  288. * @param calledStationId
  289. */
  290. void setCalledStationId(String calledStationId);
  291. /**
  292. * Returns the value of PDP-Session-Operation AVP as Enumerated. Defined in 3GPP TS 29.210
  293. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  294. * @return PDPSessionOperation
  295. */
  296. PDPSessionOperation getPdpSessionOperation();
  297. /**
  298. * Returns true if PDP-Session-Operation AVP is present in the request. Defined in 3GPP TS 29.210
  299. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  300. * @return boolean
  301. */
  302. boolean hasPdpSessionOperation();
  303. /**
  304. * Sets the value of the PDP-Session-Operation, of type Enumerated. Defined in 3GPP TS 29.210
  305. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  306. * @param pdpSessionOperation
  307. */
  308. void setPdpSessionOperation(PDPSessionOperation pdpSessionOperation);
  309. /**
  310. * Returns the value of TFT-Packet-Filter-Information AVP as Grouped. Defined in 3GPP TS 29.210
  311. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  312. * @return TFTPacketFilterInformation
  313. */
  314. TFTPacketFilterInformation getTFTPacketFilterInformation();
  315. /**
  316. * Returns true if TFT-Packet-Filter-Information AVP is present in the request. Defined in 3GPP TS 29.210
  317. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  318. * @return boolean
  319. */
  320. boolean hasTFTPacketFilterInformation();
  321. /**
  322. * Sets the value of the TFT-Packet-Filter-Information, of type Enumerated. Defined in 3GPP TS 29.210
  323. * http://pda.etsi.org/pda/home.asp?wkr=RTS/TSGC-0329210v670
  324. * @param tFTPacketFilterInformation
  325. */
  326. void setTFTPacketFilterInformation(TFTPacketFilterInformation tFTPacketFilterInformation);
  327. /**
  328. * Returns the value of the User-Equipment-Info AVP, of type Grouped.
  329. *
  330. * @return
  331. */
  332. UserEquipmentInfoAvp getUserEquipmentInfo();
  333. /**
  334. * Sets the value of the User-Equipment-Info AVP, of type Grouped.
  335. *
  336. * @param userEquipmentInfo
  337. * @throws IllegalStateException
  338. */
  339. void setUserEquipmentInfo(UserEquipmentInfoAvp userEquipmentInfo) throws IllegalStateException;
  340. /**
  341. * Returns true if the User-Equipment-Info AVP is present in the message.
  342. *
  343. * @return
  344. */
  345. boolean hasUserEquipmentInfo();
  346. }