All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mobius.software.telco.protocols.diameter.primitives.creditcontrol.SubscriptionIdExtension Maven / Gradle / Ivy

package com.mobius.software.telco.protocols.diameter.primitives.creditcontrol;
/*
 * Mobius Software LTD
 * Copyright 2023, Mobius Software LTD and individual contributors
 * by the @authors tag.
 *
 * This program is free software: you can redistribute it and/or modify
 * under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation; either version 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see 
 */

import com.mobius.software.telco.protocols.diameter.AvpCodes;
import com.mobius.software.telco.protocols.diameter.annotations.DiameterAvpDefinition;
import com.mobius.software.telco.protocols.diameter.exceptions.MissingAvpException;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterGroupedAvp;

/**
*
* @author yulian oifa
*
*/

/*
 * 8.58.  Subscription-Id-Extension AVP

   The Subscription-Id-Extension AVP (AVP Code 659) is used to identify
   the end user's subscription and is of type Grouped.  The
   Subscription-Id-Extension group AVP MUST include an AVP holding the
   subscription identifier.  The type of this included AVP indicates the
   type of the subscription identifier.  For each of the enumerated
   values of the Subscription-Id-Type AVP, there is a corresponding
   sub-AVP for use within the Subscription-Id-Extension group AVP.  If a
   new identifier type is required, a corresponding new sub-AVP SHOULD
   be defined for use within the Subscription-Id-Extension group AVP.

   If full backward compatibility with [RFC4006] is required, then the
   Subscription-Id AVP MUST be used to indicate identifier types
   enumerated in the Subscription-Id-Type AVP, whereas the Subscription-
   Id-Extension AVP MUST be used only for newly defined identifier
   types.  If full backward compatibility with [RFC4006] is not
   required, then the Subscription-Id-Extension AVP MAY be used to carry
   the existing identifier types.  In this case, the Subscription-Id-
   Extension AVP MAY be sent together with the Subscription-Id AVP.

   Exactly one sub-AVP MUST be included inside the Subscription-Id-
   Extension AVP.

   The Subscription-Id-Extension AVP is defined as follows (per
   grouped-avp-def as defined in [RFC6733]):

         Subscription-Id-Extension ::= < AVP Header: 659 >
                                   [ Subscription-Id-E164 ]
                                   [ Subscription-Id-IMSI ]
                                   [ Subscription-Id-SIP-URI ]
                                   [ Subscription-Id-NAI ]
                                   [ Subscription-Id-Private ]
                                   [ AVP ]
 */

@DiameterAvpDefinition(code = AvpCodes.SUBSCRIPTION_ID_EXTENSION, vendorId = -1, must = false, name = "Subscription-Id-Extension")
public interface SubscriptionIdExtension extends DiameterGroupedAvp 
{
	String getE164();
	
	void setE164(String value) throws MissingAvpException;
	
	String getIMSI();
	
	void setIMSI(String value) throws MissingAvpException;
	
	String getSIPURI();
	
	void setSIPURI(String value) throws MissingAvpException;
	
	String getNAI();
	
	void setNAI(String value) throws MissingAvpException;
	
	String getPrivate();
	
	void setPrivate(String value) throws MissingAvpException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy