/protocols/ss7/isup/isup-impl/src/main/java/org/mobicents/protocols/ss7/isup/impl/message/InitialAddressMessageImpl.java

http://mobicents.googlecode.com/ · Java · 780 lines · 561 code · 115 blank · 104 comment · 10 complexity · d3e65b04ce673bf5789a08ddb005ec78 MD5 · raw file

  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. /**
  23. * Start time:08:17:13 2009-07-17<br>
  24. * Project: mobicents-isup-stack<br>
  25. *
  26. * @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
  27. *
  28. */
  29. package org.mobicents.protocols.ss7.isup.impl.message;
  30. import java.util.ArrayList;
  31. import java.util.Collections;
  32. import java.util.List;
  33. import java.util.Map;
  34. import java.util.Set;
  35. import org.mobicents.protocols.ss7.isup.ISUPParameterFactory;
  36. import org.mobicents.protocols.ss7.isup.ParameterException;
  37. import org.mobicents.protocols.ss7.isup.impl.message.parameter.AbstractISUPParameter;
  38. import org.mobicents.protocols.ss7.isup.impl.message.parameter.MessageTypeImpl;
  39. import org.mobicents.protocols.ss7.isup.message.InitialAddressMessage;
  40. import org.mobicents.protocols.ss7.isup.message.parameter.CCSS;
  41. import org.mobicents.protocols.ss7.isup.message.parameter.CallReference;
  42. import org.mobicents.protocols.ss7.isup.message.parameter.CalledPartyNumber;
  43. import org.mobicents.protocols.ss7.isup.message.parameter.CallingPartyCategory;
  44. import org.mobicents.protocols.ss7.isup.message.parameter.CallingPartyNumber;
  45. import org.mobicents.protocols.ss7.isup.message.parameter.ClosedUserGroupInterlockCode;
  46. import org.mobicents.protocols.ss7.isup.message.parameter.ConnectionRequest;
  47. import org.mobicents.protocols.ss7.isup.message.parameter.ForwardCallIndicators;
  48. import org.mobicents.protocols.ss7.isup.message.parameter.ForwardGVNS;
  49. import org.mobicents.protocols.ss7.isup.message.parameter.GenericDigits;
  50. import org.mobicents.protocols.ss7.isup.message.parameter.GenericNotificationIndicator;
  51. import org.mobicents.protocols.ss7.isup.message.parameter.GenericNumber;
  52. import org.mobicents.protocols.ss7.isup.message.parameter.GenericReference;
  53. import org.mobicents.protocols.ss7.isup.message.parameter.LocationNumber;
  54. import org.mobicents.protocols.ss7.isup.message.parameter.MLPPPrecedence;
  55. import org.mobicents.protocols.ss7.isup.message.parameter.MessageType;
  56. import org.mobicents.protocols.ss7.isup.message.parameter.NatureOfConnectionIndicators;
  57. import org.mobicents.protocols.ss7.isup.message.parameter.NetworkManagementControls;
  58. import org.mobicents.protocols.ss7.isup.message.parameter.NetworkSpecificFacility;
  59. import org.mobicents.protocols.ss7.isup.message.parameter.OptionalForwardCallIndicators;
  60. import org.mobicents.protocols.ss7.isup.message.parameter.OriginalCalledNumber;
  61. import org.mobicents.protocols.ss7.isup.message.parameter.OriginatingISCPointCode;
  62. import org.mobicents.protocols.ss7.isup.message.parameter.ParameterCompatibilityInformation;
  63. import org.mobicents.protocols.ss7.isup.message.parameter.PropagationDelayCounter;
  64. import org.mobicents.protocols.ss7.isup.message.parameter.RedirectingNumber;
  65. import org.mobicents.protocols.ss7.isup.message.parameter.RedirectionInformation;
  66. import org.mobicents.protocols.ss7.isup.message.parameter.RemoteOperations;
  67. import org.mobicents.protocols.ss7.isup.message.parameter.ServiceActivation;
  68. import org.mobicents.protocols.ss7.isup.message.parameter.TransimissionMediumRequierementPrime;
  69. import org.mobicents.protocols.ss7.isup.message.parameter.TransitNetworkSelection;
  70. import org.mobicents.protocols.ss7.isup.message.parameter.TransmissionMediumRequirement;
  71. import org.mobicents.protocols.ss7.isup.message.parameter.UserServiceInformation;
  72. import org.mobicents.protocols.ss7.isup.message.parameter.UserServiceInformationPrime;
  73. import org.mobicents.protocols.ss7.isup.message.parameter.UserTeleserviceInformation;
  74. import org.mobicents.protocols.ss7.isup.message.parameter.UserToUserIndicators;
  75. import org.mobicents.protocols.ss7.isup.message.parameter.UserToUserInformation;
  76. import org.mobicents.protocols.ss7.isup.message.parameter.accessTransport.AccessTransport;
  77. /**
  78. * Start time:08:17:13 2009-07-17<br>
  79. * Project: mobicents-isup-stack<br>
  80. *
  81. * @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
  82. */
  83. public class InitialAddressMessageImpl extends ISUPMessageImpl implements InitialAddressMessage {
  84. public static final MessageTypeImpl _MESSAGE_TYPE = new MessageTypeImpl(MESSAGE_CODE);
  85. private static final int _MANDATORY_VAR_COUNT = 1;
  86. // mandatory fixed L
  87. static final int _INDEX_F_MessageType = 0;
  88. static final int _INDEX_F_NatureOfConnectionIndicators = 1;
  89. static final int _INDEX_F_ForwardCallIndicators = 2;
  90. static final int _INDEX_F_CallingPartyCategory = 3;
  91. static final int _INDEX_F_TransmissionMediumRequirement = 4;
  92. // mandatory variable L
  93. static final int _INDEX_V_CalledPartyNumber = 0;
  94. // optional
  95. static final int _INDEX_O_TransitNetworkSelection = 0;
  96. static final int _INDEX_O_CallReference = 1;
  97. static final int _INDEX_O_CallingPartyNumber = 2;
  98. static final int _INDEX_O_OptionalForwardCallIndicators = 3;
  99. static final int _INDEX_O_RedirectingNumber = 4;
  100. static final int _INDEX_O_RedirectionInformation = 5;
  101. static final int _INDEX_O_ClosedUserGroupInterlockCode = 6;
  102. static final int _INDEX_O_ConnectionRequest = 7;
  103. static final int _INDEX_O_OriginalCalledNumber = 8;
  104. static final int _INDEX_O_UserToUserInformation = 9;
  105. static final int _INDEX_O_AccessTransport = 10;
  106. static final int _INDEX_O_UserServiceInformation = 11;
  107. static final int _INDEX_O_User2UIndicators = 12;
  108. static final int _INDEX_O_GenericNumber = 13;
  109. static final int _INDEX_O_PropagationDelayCounter = 14;
  110. static final int _INDEX_O_UserServiceInformationPrime = 15;
  111. static final int _INDEX_O_NetworkSPecificFacility = 16;
  112. static final int _INDEX_O_GenericDigits = 17;
  113. static final int _INDEX_O_OriginatingISCPointCode = 18;
  114. static final int _INDEX_O_UserTeleserviceInformation = 19;
  115. static final int _INDEX_O_RemoteOperations = 20;
  116. static final int _INDEX_O_ParameterCompatibilityInformation = 21;
  117. static final int _INDEX_O_GenericNotificationIndicator = 22;
  118. static final int _INDEX_O_ServiceActivation = 23;
  119. static final int _INDEX_O_GenericReference = 24;
  120. static final int _INDEX_O_MLPPPrecedence = 25;
  121. static final int _INDEX_O_TransimissionMediumRequierementPrime = 26;
  122. static final int _INDEX_O_LocationNumber = 27;
  123. static final int _INDEX_O_ForwardGVNS = 28;
  124. static final int _INDEX_O_CCSS = 29;
  125. static final int _INDEX_O_NetworkManagementControls = 30;
  126. static final int _INDEX_O_EndOfOptionalParameters = 31;
  127. protected static final List<Integer> mandatoryParam;
  128. static {
  129. List<Integer> tmp = new ArrayList<Integer>();
  130. tmp.add(_INDEX_F_MessageType);
  131. tmp.add(_INDEX_F_NatureOfConnectionIndicators);
  132. tmp.add(_INDEX_F_ForwardCallIndicators);
  133. tmp.add(_INDEX_F_CallingPartyCategory);
  134. tmp.add(_INDEX_F_TransmissionMediumRequirement);
  135. mandatoryParam = Collections.unmodifiableList(tmp);
  136. }
  137. InitialAddressMessageImpl(Set<Integer> mandatoryCodes, Set<Integer> mandatoryVariableCodes, Set<Integer> optionalCodes,
  138. Map<Integer, Integer> mandatoryCode2Index, Map<Integer, Integer> mandatoryVariableCode2Index, Map<Integer, Integer> optionalCode2Index) {
  139. super(mandatoryCodes, mandatoryVariableCodes, optionalCodes, mandatoryCode2Index, mandatoryVariableCode2Index, optionalCode2Index);
  140. super.f_Parameters.put(_INDEX_F_MessageType, this.getMessageType());
  141. super.o_Parameters.put(_INDEX_O_EndOfOptionalParameters, _END_OF_OPTIONAL_PARAMETERS);
  142. }
  143. /*
  144. * (non-Javadoc)
  145. *
  146. * @see
  147. * org.mobicents.isup.messages.ISUPMessage#decodeMandatoryParameters(byte[],
  148. * int)
  149. */
  150. protected int decodeMandatoryParameters(ISUPParameterFactory parameterFactory, byte[] b, int index) throws ParameterException {
  151. int localIndex = index;
  152. index += super.decodeMandatoryParameters(parameterFactory, b, index);
  153. if (b.length - index > 5) {
  154. try {
  155. byte[] natureOfConnectionIndicators = new byte[1];
  156. natureOfConnectionIndicators[0] = b[index++];
  157. NatureOfConnectionIndicators _nai = parameterFactory.createNatureOfConnectionIndicators();
  158. ((AbstractISUPParameter)_nai).decode(natureOfConnectionIndicators);
  159. this.setNatureOfConnectionIndicators(_nai);
  160. } catch (Exception e) {
  161. // AIOOBE or IllegalArg
  162. throw new ParameterException("Failed to parse NatureOfConnectionIndicators due to: ", e);
  163. }
  164. try {
  165. byte[] body = new byte[2];
  166. body[0] = b[index++];
  167. body[1] = b[index++];
  168. ForwardCallIndicators v = parameterFactory.createForwardCallIndicators();
  169. ((AbstractISUPParameter)v).decode(body);
  170. this.setForwardCallIndicators(v);
  171. } catch (Exception e) {
  172. // AIOOBE or IllegalArg
  173. throw new ParameterException("Failed to parse ForwardCallIndicators due to: ", e);
  174. }
  175. try {
  176. byte[] body = new byte[1];
  177. body[0] = b[index++];
  178. CallingPartyCategory v = parameterFactory.createCallingPartyCategory();
  179. ((AbstractISUPParameter)v).decode(body);
  180. this.setCallingPartCategory(v);
  181. } catch (Exception e) {
  182. // AIOOBE or IllegalArg
  183. throw new ParameterException("Failed to parse CallingPartyCategory due to: ", e);
  184. }
  185. try {
  186. byte[] body = new byte[1];
  187. body[0] = b[index++];
  188. TransmissionMediumRequirement v = parameterFactory.createTransmissionMediumRequirement();
  189. ((AbstractISUPParameter)v).decode(body);
  190. this.setTransmissionMediumRequirement(v);
  191. } catch (Exception e) {
  192. // AIOOBE or IllegalArg
  193. throw new ParameterException("Failed to parse TransmissionMediumRequirement due to: ", e);
  194. }
  195. return index - localIndex;
  196. } else {
  197. throw new ParameterException("byte[] must have atleast eight octets");
  198. }
  199. }
  200. /**
  201. * @param parameterBody
  202. * @param parameterCode
  203. * @throws ParameterException
  204. */
  205. protected void decodeMandatoryVariableBody(ISUPParameterFactory parameterFactory, byte[] parameterBody, int parameterIndex) throws ParameterException {
  206. switch (parameterIndex) {
  207. case _INDEX_V_CalledPartyNumber:
  208. CalledPartyNumber cpn = parameterFactory.createCalledPartyNumber();
  209. ((AbstractISUPParameter) cpn).decode(parameterBody);
  210. this.setCalledPartyNumber(cpn);
  211. break;
  212. default:
  213. throw new ParameterException("Unrecognized parameter index for mandatory variable part: " + parameterIndex);
  214. }
  215. }
  216. /*
  217. * (non-Javadoc)
  218. *
  219. * @see org.mobicents.isup.messages.ISUPMessage#decodeOptionalBody(byte[],
  220. * byte)
  221. */
  222. protected void decodeOptionalBody(ISUPParameterFactory parameterFactory, byte[] parameterBody, byte parameterCode) throws ParameterException {
  223. // TODO Auto-generated method stub
  224. switch ((int) parameterCode) {
  225. case TransitNetworkSelection._PARAMETER_CODE:
  226. TransitNetworkSelection v = parameterFactory.createTransitNetworkSelection();
  227. ((AbstractISUPParameter) v).decode(parameterBody);
  228. setTransitNetworkSelection(v);
  229. break;
  230. case CallReference._PARAMETER_CODE:
  231. CallReference cr = parameterFactory.createCallReference();
  232. ((AbstractISUPParameter) cr).decode(parameterBody);
  233. this.setCallReference(cr);
  234. break;
  235. case CallingPartyNumber._PARAMETER_CODE:
  236. CallingPartyNumber cpn = parameterFactory.createCallingPartyNumber();
  237. ((AbstractISUPParameter) cpn).decode(parameterBody);
  238. this.setCallingPartyNumber(cpn);
  239. break;
  240. case OptionalForwardCallIndicators._PARAMETER_CODE:
  241. OptionalForwardCallIndicators ofci = parameterFactory.createOptionalForwardCallIndicators();
  242. ((AbstractISUPParameter) ofci).decode(parameterBody);
  243. this.setOptForwardCallIndicators(ofci);
  244. break;
  245. case RedirectingNumber._PARAMETER_CODE:
  246. RedirectingNumber rn = parameterFactory.createRedirectingNumber();
  247. ((AbstractISUPParameter) rn).decode(parameterBody);
  248. this.setRedirectingNumber(rn);
  249. break;
  250. case RedirectionInformation._PARAMETER_CODE:
  251. RedirectionInformation ri = parameterFactory.createRedirectionInformation();
  252. ((AbstractISUPParameter) ri).decode(parameterBody);
  253. this.setRedirectionInformation(ri);
  254. break;
  255. case ClosedUserGroupInterlockCode._PARAMETER_CODE:
  256. ClosedUserGroupInterlockCode cugic = parameterFactory.createClosedUserGroupInterlockCode();
  257. ((AbstractISUPParameter) cugic).decode(parameterBody);
  258. this.setCUserGroupInterlockCode(cugic);
  259. break;
  260. case ConnectionRequest._PARAMETER_CODE:
  261. ConnectionRequest cr2 = parameterFactory.createConnectionRequest();
  262. ((AbstractISUPParameter) cr2).decode(parameterBody);
  263. this.setConnectionRequest(cr2);
  264. break;
  265. case OriginalCalledNumber._PARAMETER_CODE:
  266. OriginalCalledNumber orn = parameterFactory.createOriginalCalledNumber();
  267. ((AbstractISUPParameter) orn).decode(parameterBody);
  268. this.setOriginalCalledNumber(orn);
  269. break;
  270. case UserToUserInformation._PARAMETER_CODE:
  271. UserToUserInformation u2ui = parameterFactory.createUserToUserInformation();
  272. ((AbstractISUPParameter) u2ui).decode(parameterBody);
  273. this.setU2UInformation(u2ui);
  274. break;
  275. case AccessTransport._PARAMETER_CODE:
  276. AccessTransport at = parameterFactory.createAccessTransport();
  277. ((AbstractISUPParameter) at).decode(parameterBody);
  278. this.setAccessTransport(at);
  279. break;
  280. case UserServiceInformation._PARAMETER_CODE:
  281. UserServiceInformation usi = parameterFactory.createUserServiceInformation();
  282. ((AbstractISUPParameter) usi).decode(parameterBody);
  283. this.setUserServiceInformation(usi);
  284. break;
  285. case UserToUserIndicators._PARAMETER_CODE:
  286. UserToUserIndicators utui = parameterFactory.createUserToUserIndicators();
  287. ((AbstractISUPParameter) utui).decode(parameterBody);
  288. this.setU2UIndicators(utui);
  289. break;
  290. case GenericNumber._PARAMETER_CODE:
  291. GenericNumber gn = parameterFactory.createGenericNumber();
  292. ((AbstractISUPParameter) gn).decode(parameterBody);
  293. this.setGenericNumber(gn);
  294. break;
  295. case PropagationDelayCounter._PARAMETER_CODE:
  296. PropagationDelayCounter pdc = parameterFactory.createPropagationDelayCounter();
  297. ((AbstractISUPParameter) pdc).decode(parameterBody);
  298. this.setPropagationDelayCounter(pdc);
  299. break;
  300. case UserServiceInformationPrime._PARAMETER_CODE:
  301. UserServiceInformationPrime usip = parameterFactory.createUserServiceInformationPrime();
  302. ((AbstractISUPParameter) usip).decode(parameterBody);
  303. this.setUserServiceInformationPrime(usip);
  304. break;
  305. case NetworkSpecificFacility._PARAMETER_CODE:
  306. NetworkSpecificFacility nsf = parameterFactory.createNetworkSpecificFacility();
  307. ((AbstractISUPParameter) nsf).decode(parameterBody);
  308. this.setNetworkSpecificFacility(nsf);
  309. break;
  310. case GenericDigits._PARAMETER_CODE:
  311. GenericDigits gd = parameterFactory.createGenericDigits();
  312. ((AbstractISUPParameter) gd).decode(parameterBody);
  313. this.setGenericDigits(gd);
  314. break;
  315. case OriginatingISCPointCode._PARAMETER_CODE:
  316. OriginatingISCPointCode vv = parameterFactory.createOriginatingISCPointCode();
  317. ((AbstractISUPParameter) vv).decode(parameterBody);
  318. this.setOriginatingISCPointCode(vv);
  319. break;
  320. case UserTeleserviceInformation._PARAMETER_CODE:
  321. UserTeleserviceInformation uti = parameterFactory.createUserTeleserviceInformation();
  322. ((AbstractISUPParameter) uti).decode(parameterBody);
  323. this.setUserTeleserviceInformation(uti);
  324. break;
  325. case RemoteOperations._PARAMETER_CODE:
  326. RemoteOperations ro = parameterFactory.createRemoteOperations();
  327. ((AbstractISUPParameter) ro).decode(parameterBody);
  328. this.setRemoteOperations(ro);
  329. break;
  330. case ParameterCompatibilityInformation._PARAMETER_CODE:
  331. ParameterCompatibilityInformation pci = parameterFactory.createParameterCompatibilityInformation();
  332. ((AbstractISUPParameter) pci).decode(parameterBody);
  333. this.setParameterCompatibilityInformation(pci);
  334. break;
  335. case GenericNotificationIndicator._PARAMETER_CODE:
  336. GenericNotificationIndicator gni = parameterFactory.createGenericNotificationIndicator();
  337. ((AbstractISUPParameter) gni).decode(parameterBody);
  338. this.setGenericNotificationIndicator(gni);
  339. break;
  340. case ServiceActivation._PARAMETER_CODE:
  341. ServiceActivation sa = parameterFactory.createServiceActivation();
  342. ((AbstractISUPParameter) sa).decode(parameterBody);
  343. this.setServiceActivation(sa);
  344. break;
  345. case GenericReference._PARAMETER_CODE:
  346. GenericReference gr = parameterFactory.createGenericReference();
  347. ((AbstractISUPParameter) gr).decode(parameterBody);
  348. this.setGenericReference(gr);
  349. break;
  350. case MLPPPrecedence._PARAMETER_CODE:
  351. MLPPPrecedence mlpp = parameterFactory.createMLPPPrecedence();
  352. ((AbstractISUPParameter) mlpp).decode(parameterBody);
  353. this.setMLPPPrecedence(mlpp);
  354. break;
  355. case TransmissionMediumRequirement._PARAMETER_CODE:
  356. TransmissionMediumRequirement tmr = parameterFactory.createTransmissionMediumRequirement();
  357. ((AbstractISUPParameter) tmr).decode(parameterBody);
  358. this.setTransmissionMediumRequirement(tmr);
  359. break;
  360. case LocationNumber._PARAMETER_CODE:
  361. LocationNumber ln = parameterFactory.createLocationNumber();
  362. ((AbstractISUPParameter) ln).decode(parameterBody);
  363. this.setLocationNumber(ln);
  364. break;
  365. case ForwardGVNS._PARAMETER_CODE:
  366. ForwardGVNS fgvns = parameterFactory.createForwardGVNS();
  367. ((AbstractISUPParameter) fgvns).decode(parameterBody);
  368. this.setForwardGVNS(fgvns);
  369. break;
  370. case CCSS._PARAMETER_CODE:
  371. CCSS ccss = parameterFactory.createCCSS();
  372. ((AbstractISUPParameter) ccss).decode(parameterBody);
  373. this.setCCSS(ccss);
  374. break;
  375. case NetworkManagementControls._PARAMETER_CODE:
  376. NetworkManagementControls nmc = parameterFactory.createNetworkManagementControls();
  377. ((AbstractISUPParameter) nmc).decode(parameterBody);
  378. this.setNetworkManagementControls(nmc);
  379. break;
  380. default:
  381. throw new ParameterException("Unrecognized parameter code for optional part: " + parameterCode);
  382. }
  383. }
  384. /*
  385. * (non-Javadoc)
  386. *
  387. * @seeorg.mobicents.isup.messages.ISUPMessage#
  388. * getNumberOfMandatoryVariableLengthParameters()
  389. */
  390. protected int getNumberOfMandatoryVariableLengthParameters() {
  391. return _MANDATORY_VAR_COUNT;
  392. }
  393. /*
  394. * (non-Javadoc)
  395. *
  396. * @see org.mobicents.isup.messages.ISUPMessage#getMessageType()
  397. */
  398. public MessageType getMessageType() {
  399. return this._MESSAGE_TYPE;
  400. }
  401. /*
  402. * (non-Javadoc)
  403. *
  404. * @see org.mobicents.isup.messages.ISUPMessage#hasAllMandatoryParameters()
  405. */
  406. public boolean hasAllMandatoryParameters() {
  407. if (!super.f_Parameters.keySet().containsAll(mandatoryParam) || super.f_Parameters.values().contains(null)) {
  408. return false;
  409. }
  410. if (!super.v_Parameters.containsKey(_INDEX_V_CalledPartyNumber) || super.v_Parameters.get(_INDEX_V_CalledPartyNumber) == null) {
  411. return false;
  412. }
  413. return true;
  414. }
  415. public NatureOfConnectionIndicators getNatureOfConnectionIndicators() {
  416. return (NatureOfConnectionIndicators) super.f_Parameters.get(_INDEX_F_NatureOfConnectionIndicators);
  417. }
  418. public void setNatureOfConnectionIndicators(NatureOfConnectionIndicators v) {
  419. super.f_Parameters.put(_INDEX_F_NatureOfConnectionIndicators, v);
  420. }
  421. public ForwardCallIndicators getForwardCallIndicators() {
  422. return (ForwardCallIndicators) super.f_Parameters.get(_INDEX_F_ForwardCallIndicators);
  423. }
  424. public void setForwardCallIndicators(ForwardCallIndicators v) {
  425. super.f_Parameters.put(_INDEX_F_ForwardCallIndicators, v);
  426. }
  427. public CallingPartyCategory getCallingPartCategory() {
  428. return (CallingPartyCategory) super.f_Parameters.get(_INDEX_F_CallingPartyCategory);
  429. }
  430. public void setCallingPartCategory(CallingPartyCategory v) {
  431. super.f_Parameters.put(_INDEX_F_CallingPartyCategory, v);
  432. }
  433. public TransmissionMediumRequirement getTransmissionMediumRequirement() {
  434. return (TransmissionMediumRequirement) super.f_Parameters.get(_INDEX_F_TransmissionMediumRequirement);
  435. }
  436. public void setTransmissionMediumRequirement(TransmissionMediumRequirement v) {
  437. super.f_Parameters.put(_INDEX_F_TransmissionMediumRequirement, v);
  438. }
  439. public CalledPartyNumber getCalledPartyNumber() {
  440. return (CalledPartyNumber) super.v_Parameters.get(_INDEX_V_CalledPartyNumber);
  441. }
  442. public void setCalledPartyNumber(CalledPartyNumber v) {
  443. super.v_Parameters.put(_INDEX_V_CalledPartyNumber, v);
  444. }
  445. public TransitNetworkSelection getTransitNetworkSelection() {
  446. return (TransitNetworkSelection) super.o_Parameters.get(_INDEX_O_TransitNetworkSelection);
  447. }
  448. public void setTransitNetworkSelection(TransitNetworkSelection v) {
  449. super.o_Parameters.put(_INDEX_O_TransitNetworkSelection, v);
  450. }
  451. public CallReference getCallReference() {
  452. return (CallReference) super.o_Parameters.get(_INDEX_O_CallReference);
  453. }
  454. public void setCallReference(CallReference v) {
  455. super.o_Parameters.put(_INDEX_O_CallReference, v);
  456. }
  457. public CallingPartyNumber getCallingPartyNumber() {
  458. return (CallingPartyNumber) super.o_Parameters.get(_INDEX_O_CallingPartyNumber);
  459. }
  460. public void setCallingPartyNumber(CallingPartyNumber v) {
  461. super.o_Parameters.put(_INDEX_O_CallingPartyNumber, v);
  462. }
  463. public OptionalForwardCallIndicators getOptForwardCallIndicators() {
  464. return (OptionalForwardCallIndicators) super.o_Parameters.get(_INDEX_O_OptionalForwardCallIndicators);
  465. }
  466. public void setOptForwardCallIndicators(OptionalForwardCallIndicators v) {
  467. super.o_Parameters.put(_INDEX_O_OptionalForwardCallIndicators, v);
  468. }
  469. public RedirectingNumber getRedirectingNumber() {
  470. return (RedirectingNumber) super.o_Parameters.get(_INDEX_O_RedirectingNumber);
  471. }
  472. public void setRedirectingNumber(RedirectingNumber v) {
  473. super.o_Parameters.put(_INDEX_O_RedirectingNumber, v);
  474. }
  475. public RedirectionInformation getRedirectionInformation() {
  476. return (RedirectionInformation) super.o_Parameters.get(_INDEX_O_RedirectionInformation);
  477. }
  478. public void setRedirectionInformation(RedirectionInformation v) {
  479. super.o_Parameters.put(_INDEX_O_RedirectionInformation, v);
  480. }
  481. public ClosedUserGroupInterlockCode getCUserGroupInterlockCode() {
  482. return (ClosedUserGroupInterlockCode) super.o_Parameters.get(_INDEX_O_ClosedUserGroupInterlockCode);
  483. }
  484. public void setCUserGroupInterlockCode(ClosedUserGroupInterlockCode v) {
  485. super.o_Parameters.put(_INDEX_O_ClosedUserGroupInterlockCode, v);
  486. }
  487. public ConnectionRequest getConnectionRequest() {
  488. return (ConnectionRequest) super.o_Parameters.get(_INDEX_O_ConnectionRequest);
  489. }
  490. public void setConnectionRequest(ConnectionRequest v) {
  491. super.o_Parameters.put(_INDEX_O_ConnectionRequest, v);
  492. }
  493. public OriginalCalledNumber getOriginalCalledNumber() {
  494. return (OriginalCalledNumber) super.o_Parameters.get(_INDEX_O_OriginalCalledNumber);
  495. }
  496. public void setOriginalCalledNumber(OriginalCalledNumber v) {
  497. super.o_Parameters.put(_INDEX_O_OriginalCalledNumber, v);
  498. }
  499. public UserToUserInformation getU2UInformation() {
  500. return (UserToUserInformation) super.o_Parameters.get(_INDEX_O_UserToUserInformation);
  501. }
  502. public void setU2UInformation(UserToUserInformation v) {
  503. super.o_Parameters.put(_INDEX_O_UserToUserInformation, v);
  504. }
  505. public UserServiceInformation getUserServiceInformation() {
  506. return (UserServiceInformation) super.o_Parameters.get(_INDEX_O_UserServiceInformation);
  507. }
  508. public void setUserServiceInformation(UserServiceInformation v) {
  509. super.o_Parameters.put(_INDEX_O_UserServiceInformation, v);
  510. }
  511. public NetworkSpecificFacility getNetworkSpecificFacility() {
  512. return (NetworkSpecificFacility) super.o_Parameters.get(_INDEX_O_NetworkSPecificFacility);
  513. }
  514. public void setNetworkSpecificFacility(NetworkSpecificFacility v) {
  515. super.o_Parameters.put(_INDEX_O_NetworkSPecificFacility, v);
  516. }
  517. public GenericDigits getGenericDigits() {
  518. return (GenericDigits) super.o_Parameters.get(_INDEX_O_GenericDigits);
  519. }
  520. public void setGenericDigits(GenericDigits v) {
  521. super.o_Parameters.put(_INDEX_O_GenericDigits, v);
  522. }
  523. public OriginatingISCPointCode getOriginatingISCPointCode() {
  524. return (OriginatingISCPointCode) super.o_Parameters.get(_INDEX_O_OriginatingISCPointCode);
  525. }
  526. public void setOriginatingISCPointCode(OriginatingISCPointCode v) {
  527. super.o_Parameters.put(_INDEX_O_OriginatingISCPointCode, v);
  528. }
  529. public UserTeleserviceInformation getUserTeleserviceInformation() {
  530. return (UserTeleserviceInformation) super.o_Parameters.get(_INDEX_O_UserTeleserviceInformation);
  531. }
  532. public void setUserTeleserviceInformation(UserTeleserviceInformation v) {
  533. super.o_Parameters.put(_INDEX_O_UserTeleserviceInformation, v);
  534. }
  535. public RemoteOperations getRemoteOperations() {
  536. return (RemoteOperations) super.o_Parameters.get(_INDEX_O_RemoteOperations);
  537. }
  538. public void setRemoteOperations(RemoteOperations v) {
  539. super.o_Parameters.put(_INDEX_O_RemoteOperations, v);
  540. }
  541. public ParameterCompatibilityInformation getParameterCompatibilityInformation() {
  542. return (ParameterCompatibilityInformation) super.o_Parameters.get(_INDEX_O_ParameterCompatibilityInformation);
  543. }
  544. public void setParameterCompatibilityInformation(ParameterCompatibilityInformation v) {
  545. super.o_Parameters.put(_INDEX_O_ParameterCompatibilityInformation, v);
  546. }
  547. public GenericNotificationIndicator getGenericNotificationIndicator() {
  548. return (GenericNotificationIndicator) super.o_Parameters.get(_INDEX_O_GenericNotificationIndicator);
  549. }
  550. public void setGenericNotificationIndicator(GenericNotificationIndicator v) {
  551. super.o_Parameters.put(_INDEX_O_GenericNotificationIndicator, v);
  552. }
  553. public ServiceActivation getServiceActivation() {
  554. return (ServiceActivation) super.o_Parameters.get(_INDEX_O_ServiceActivation);
  555. }
  556. public void setServiceActivation(ServiceActivation v) {
  557. super.o_Parameters.put(_INDEX_O_ServiceActivation, v);
  558. }
  559. public GenericReference getGenericReference() {
  560. return (GenericReference) super.o_Parameters.get(_INDEX_O_GenericReference);
  561. }
  562. public void setGenericReference(GenericReference v) {
  563. super.o_Parameters.put(_INDEX_O_GenericReference, v);
  564. }
  565. public MLPPPrecedence getMLPPPrecedence() {
  566. return (MLPPPrecedence) super.o_Parameters.get(_INDEX_O_MLPPPrecedence);
  567. }
  568. public void setMLPPPrecedence(MLPPPrecedence v) {
  569. super.o_Parameters.put(_INDEX_O_MLPPPrecedence, v);
  570. }
  571. public TransimissionMediumRequierementPrime getTransimissionMediumReqPrime() {
  572. return (TransimissionMediumRequierementPrime) super.o_Parameters.get(_INDEX_O_TransimissionMediumRequierementPrime);
  573. }
  574. public void setTransimissionMediumReqPrime(TransimissionMediumRequierementPrime v) {
  575. super.o_Parameters.put(_INDEX_O_TransimissionMediumRequierementPrime, v);
  576. }
  577. public LocationNumber getLocationNumber() {
  578. return (LocationNumber) super.o_Parameters.get(_INDEX_O_LocationNumber);
  579. }
  580. public void setLocationNumber(LocationNumber v) {
  581. super.o_Parameters.put(_INDEX_O_LocationNumber, v);
  582. }
  583. public ForwardGVNS getForwardGVNS() {
  584. return (ForwardGVNS) super.o_Parameters.get(_INDEX_O_ForwardGVNS);
  585. }
  586. public void setForwardGVNS(ForwardGVNS v) {
  587. super.o_Parameters.put(_INDEX_O_ForwardGVNS, v);
  588. }
  589. public CCSS getCCSS() {
  590. return (CCSS) super.o_Parameters.get(_INDEX_O_CCSS);
  591. }
  592. public void setCCSS(CCSS v) {
  593. super.o_Parameters.put(_INDEX_O_CCSS, v);
  594. }
  595. public NetworkManagementControls getNetworkManagementControls() {
  596. return (NetworkManagementControls) super.o_Parameters.get(_INDEX_O_NetworkManagementControls);
  597. }
  598. public void setNetworkManagementControls(NetworkManagementControls v) {
  599. super.o_Parameters.put(_INDEX_O_NetworkManagementControls, v);
  600. }
  601. /**
  602. * @param usip
  603. */
  604. public void setUserServiceInformationPrime(UserServiceInformationPrime v) {
  605. super.o_Parameters.put(_INDEX_O_UserServiceInformationPrime, v);
  606. }
  607. public UserServiceInformationPrime getUserServiceInformationPrime() {
  608. return (UserServiceInformationPrime) super.o_Parameters.get(_INDEX_O_UserServiceInformationPrime);
  609. }
  610. /**
  611. * @param pdc
  612. */
  613. public void setPropagationDelayCounter(PropagationDelayCounter v) {
  614. super.o_Parameters.put(_INDEX_O_PropagationDelayCounter, v);
  615. }
  616. public PropagationDelayCounter getPropagationDelayCounter() {
  617. return (PropagationDelayCounter) super.o_Parameters.get(_INDEX_O_PropagationDelayCounter);
  618. }
  619. /**
  620. * @param gn
  621. */
  622. public void setGenericNumber(GenericNumber v) {
  623. super.o_Parameters.put(_INDEX_O_GenericNumber, v);
  624. }
  625. public GenericNumber getGenericNumber() {
  626. return (GenericNumber) super.o_Parameters.get(_INDEX_O_GenericNumber);
  627. }
  628. /**
  629. * @param utui
  630. */
  631. public void setU2UIndicators(UserToUserIndicators v) {
  632. super.o_Parameters.put(_INDEX_O_User2UIndicators, v);
  633. }
  634. public UserToUserIndicators getU2UIndicators() {
  635. return (UserToUserIndicators) super.o_Parameters.get(_INDEX_O_User2UIndicators);
  636. }
  637. /**
  638. * @param at
  639. */
  640. public void setAccessTransport(AccessTransport v) {
  641. super.o_Parameters.put(_INDEX_O_AccessTransport, v);
  642. }
  643. public AccessTransport getAccessTransport() {
  644. return (AccessTransport) super.o_Parameters.get(_INDEX_O_AccessTransport);
  645. }
  646. /*
  647. * (non-Javadoc)
  648. *
  649. * @see org.mobicents.protocols.ss7.isup.impl.ISUPMessageImpl#
  650. * mandatoryVariablePartPossible()
  651. */
  652. protected boolean mandatoryVariablePartPossible() {
  653. return this.getNumberOfMandatoryVariableLengthParameters() != 0;
  654. }
  655. /*
  656. * (non-Javadoc)
  657. *
  658. * @see
  659. * org.mobicents.protocols.ss7.isup.impl.ISUPMessageImpl#optionalPartIsPossible
  660. * ()
  661. */
  662. protected boolean optionalPartIsPossible() {
  663. return true;
  664. }
  665. }