ADC NITRO APIs

subscribergxinterface

Configuration for Gx interface Parameters resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
vserver <String> Read-write Name of the load balancing, or content switching vserver to which the Gx connections are established. The service type of the virtual server must be DIAMETER/SSL_DIAMETER. Mutually exclusive with the service parameter. Therefore, you cannot set both service and the Virtual Server in the Gx Interface.

Minimum length = 1
service <String> Read-write Name of DIAMETER/SSL_DIAMETER service corresponding to PCRF to which the Gx connection is established. The service type of the service must be DIAMETER/SSL_DIAMETER. Mutually exclusive with vserver parameter. Therefore, you cannot set both Service and the Virtual Server in the Gx Interface.

Minimum length = 1
pcrfrealm <String> Read-write PCRF realm is of type DiameterIdentity and contains the realm of PCRF to which the message is to be routed. This is the realm used in Destination-Realm AVP by Citrix ADC Gx client (as a Diameter node).



Minimum length = 1
holdonsubscriberabsence <String> Read-write Set this setting to yes if Citrix ADC needs to Hold pakcets till subscriber session is fetched from PCRF. Else set to NO. By default set to yes. If this setting is set to NO, then till Citrix ADC fetches subscriber from PCRF, default subscriber profile will be applied to this subscriber if configured. If default subscriber profile is also not configured an undef would be raised to expressions which use Subscriber attributes. .

Default value: YES

Possible values = YES, NO
requesttimeout <Double> Read-write q!Time, in seconds, within which the Gx CCR request must complete. If the request does not complete within this time, the request is retransmitted for requestRetryAttempts time. If still reuqest is not complete then default subscriber profile will be applied to this subscriber if configured. If default subscriber profile is also not configured an undef would be raised to expressions which use Subscriber attributes.

Zero disables the timeout. !.

Default value: 10

Minimum value = 0

Maximum value = 86400
requestretryattempts <Double> Read-write If the request does not complete within requestTimeout time, the request is retransmitted for requestRetryAttempts time.

Default value: 3
idlettl <Double> Read-write q!Idle Time, in seconds, after which the Gx CCR-U request will be sent after any PCRF activity on a session. Any RAR or CCA message resets the timer.

Zero value disables the idle timeout. !.

Default value: 900

Minimum value = 0

Maximum value = 86400
revalidationtimeout <Double> Read-write q!Revalidation Timeout, in seconds, after which the Gx CCR-U request will be sent after any PCRF activity on a session. Any RAR or CCA message resets the timer.

Zero value disables the idle timeout. !.

Default value: 0

Minimum value = 0

Maximum value = 86400
healthcheck <String> Read-write q!Set this setting to yes if Citrix ADC should send DWR packets to PCRF server. When the session is idle, healthcheck timer expires and DWR packets are initiated in order to check that PCRF server is active. By default set to No. !.

Default value: NO

Possible values = YES, NO
healthcheckttl <Double> Read-write q!Healthcheck timeout, in seconds, after which the DWR will be sent in order to ensure the state of the PCRF server. Any CCR, CCA, RAR or RRA message resets the timer. !.

Default value: 30

Minimum value = 6

Maximum value = 86400
cerrequesttimeout <Double> Read-write q!Healthcheck request timeout, in seconds, after which the Citrix ADC considers that no CCA packet received to the initiated CCR. After this time Citrix ADC should send again CCR to PCRF server. !.

Default value: 0

Minimum value = 0

Maximum value = 86400
negativettl <Double> Read-write q!Negative TTL, in seconds, after which the Gx CCR-I request will be resent for sessions that have not been resolved by PCRF due to server being down or no response or failed response. Instead of polling the PCRF server constantly, negative-TTL makes Citrix ADC stick to un-resolved session. Meanwhile Citrix ADC installs a negative session to avoid going to PCRF.

For Negative Sessions, Netcaler inherits the attributes from default subscriber profile if default subscriber is configured. A default subscriber could be configured as 'add subscriber profile *'. Or these attributes can be inherited from Radius as well if Radius is configued.

Zero value disables the Negative Sessions. And Citrix ADC does not install Negative sessions even if subscriber session could not be fetched. !.

Default value: 600

Minimum value = 0

Maximum value = 86400
negativettllimitedsuccess <String> Read-write Set this to YES if Citrix ADC should create negative session for Result-Code DIAMETER_LIMITED_SUCCESS (2002) received in CCA-I. If set to NO, regular session is created.

Default value: NO

Possible values = YES, NO
purgesdbongxfailure <String> Read-write Set this setting to YES if needed to purge Subscriber Database in case of Gx failure. By default set to NO. .

Default value: NO

Possible values = YES, NO
servicepathavp <Double[]> Read-write The AVP code in which PCRF sends service path applicable for subscriber.

Minimum value = 1
servicepathvendorid <Double> Read-write The vendorid of the AVP in which PCRF sends service path for subscriber.
nodeid <Double> Read-write Unique number that identifies the cluster node.

Minimum value = 0

Maximum value = 31
svrstate <String> Read-only The state of the gx service.

Possible values = UP, DOWN, UNKNOWN, BUSY, OUT OF SERVICE, GOING OUT OF SERVICE, DOWN WHEN GOING OUT OF SERVICE, NS_EMPTY_STR, Unknown, DISABLED
identity <String> Read-only DiameterIdentity to be used by NS. DiameterIdentity is used to identify a Diameter node uniquely. Before setting up diameter configuration, Citrix ADC (as a Diameter node) MUST be assigned a unique DiameterIdentity.

example =>

set ns diameter -identity Citrix ADC.com

Now whenever Citrix ADC system needs to use identity in diameter messages. It will use 'netscaler.com' as Origin-Host AVP as defined in RFC3588

.

Minimum length = 1
realm <String> Read-only Diameter Realm to be used by NS.

example =>

set ns diameter -realm com

Now whenever Citrix ADC system needs to use realm in diameter messages. It will use 'com' as Origin-Realm AVP as defined in RFC3588

.

Minimum length = 1
status <String> Read-only Citrix ADC PCRF connection Status. (Gx Protocol State).
servicepathinfomode <String> Read-only The type of info in which service path is passed from PCRF,

SERVICE_FUNCTION: Denotes the service chain is passed as servicefunction names in-order in AVPS with code servicepathAVP

SERVICE_PATH: Denotes the service path name is passed in AVPS with code servicepathAVP.q.

Default value: SERVICEPATH

Possible values = SERVICEFUNCTIONS, SERVICEPATH
gxreportingavp1 <Double[]> Read-only The AVP code to report as 1st custom AVP.

Minimum value = 1
gxreportingavp1vendorid <Double> Read-only The vendorid of the AVP which will be reported as 1st custom AVP.
gxreportingavp1type <String> Read-only The type of the AVP which will be reported as 1st custom AVP.

Default value: OctetString

Possible values = OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64
gxreportingavp2 <Double[]> Read-only The AVP code to report as 2nd custom AVP.

Minimum value = 1
gxreportingavp2vendorid <Double> Read-only The vendorid of the AVP which will be reported as 2nd custom AVP.
gxreportingavp2type <String> Read-only The type of the AVP which will be reported as 2nd custom AVP.

Default value: OctetString

Possible values = OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64
gxreportingavp3 <Double[]> Read-only The AVP code to report as 3rd custom AVP.

Minimum value = 1
gxreportingavp3vendorid <Double> Read-only The vendorid of the AVP which will be reported as 3rd custom AVP.
gxreportingavp3type <String> Read-only The type of the AVP which will be reported as 3rd custom AVP.

Default value: OctetString

Possible values = OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64
gxreportingavp4 <Double[]> Read-only The AVP code to report as 4th custom AVP.

Minimum value = 1
gxreportingavp4vendorid <Double> Read-only The vendorid of the AVP which will be reported as 4th custom AVP.
gxreportingavp4type <String> Read-only The type of the AVP which will be reported as 4th custom AVP.

Default value: OctetString

Possible values = OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64
gxreportingavp5 <Double[]> Read-only The AVP code to report as 5th custom AVP.

Minimum value = 1
gxreportingavp5vendorid <Double> Read-only The vendorid of the AVP which will be reported as 5th custom AVP.
gxreportingavp5type <String> Read-only The type of the AVP which will be reported as 5th custom AVP.

Default value: OctetString

Possible values = OctetString, Integer32, Integer64, Unsigned32, Unsigned64, Float32, Float64

Operations

(click to see Properties )

  • UPDATE
  • UNSET
  • GET (ALL)

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the 'warning' query parameter as 'yes'. For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http:// <netscaler-ip-address> /nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code '209 X-NITRO-WARNING'.

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER: <username>

    X-NITRO-PASS: <password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

*Note: * Mandatory parameters are marked in red and placeholder content is marked in green

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/subscribergxinterface HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"subscribergxinterface":{
"vserver":<String_value>,
"service":<String_value>,
"pcrfrealm":<String_value>,
"holdonsubscriberabsence":<String_value>,
"requesttimeout":<Double_value>,
"requestretryattempts":<Double_value>,
"idlettl":<Double_value>,
"revalidationtimeout":<Double_value>,
"healthcheck":<String_value>,
"healthcheckttl":<Double_value>,
"cerrequesttimeout":<Double_value>,
"negativettl":<Double_value>,
"negativettllimitedsuccess":<String_value>,
"purgesdbongxfailure":<String_value>,
"servicepathavp":<Double[]_value>,
"servicepathvendorid":<Double_value>
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http:// <netscaler-ip-address> /nitro/v1/config/subscribergxinterface? action=unset HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"subscribergxinterface":{
"vserver":true,
"service":true,
"holdonsubscriberabsence":true,
"requesttimeout":true,
"requestretryattempts":true,
"idlettl":true,
"revalidationtimeout":true,
"healthcheck":true,
"healthcheckttl":true,
"cerrequesttimeout":true,
"negativettl":true,
"negativettllimitedsuccess":true,
"purgesdbongxfailure":true,
"servicepathavp":true,
"servicepathvendorid":true
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/subscribergxinterface Query-parameters: args http:// <netscaler-ip-address> /nitro/v1/config/subscribergxinterface? args=nodeid: <Double_value>

Use this query-parameter to get subscribergxinterface resources based on additional properties.

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:

{ "subscribergxinterface": [ {
nodeid:<Double_value>"vserver":<String_value>,
"service":<String_value>,
"svrstate":<String_value>,
"pcrfrealm":<String_value>,
"holdonsubscriberabsence":<String_value>,
"requesttimeout":<Double_value>,
"requestretryattempts":<Double_value>,
"idlettl":<Double_value>,
"revalidationtimeout":<Double_value>,
"healthcheck":<String_value>,
"healthcheckttl":<Double_value>,
"cerrequesttimeout":<Double_value>,
"negativettl":<Double_value>,
"negativettllimitedsuccess":<String_value>,
"purgesdbongxfailure":<String_value>,
"identity":<String_value>,
"realm":<String_value>,
"status":<String_value>,
"servicepathavp":<Double[]_value>,
"servicepathvendorid":<Double_value>,
"servicepathinfomode":<String_value>,
"gxreportingavp1":<Double[]_value>,
"gxreportingavp1vendorid":<Double_value>,
"gxreportingavp1type":<String_value>,
"gxreportingavp2":<Double[]_value>,
"gxreportingavp2vendorid":<Double_value>,
"gxreportingavp2type":<String_value>,
"gxreportingavp3":<Double[]_value>,
"gxreportingavp3vendorid":<Double_value>,
"gxreportingavp3type":<String_value>,
"gxreportingavp4":<Double[]_value>,
"gxreportingavp4vendorid":<Double_value>,
"gxreportingavp4type":<String_value>,
"gxreportingavp5":<Double[]_value>,
"gxreportingavp5vendorid":<Double_value>,
"gxreportingavp5type":<String_value>
}]}

<!--NeedCopy-->
subscribergxinterface