Table of Contents
List of Examples
route_lir_user_unknown parameter usageroute_uar_user_unknown parameter usagescscf_entry_expiry parameter usagecxdx_forced_peer parameter usageversion_table parameter usageI_scscf_select
usageI_scscf_drop usageTable of Contents
The Following modules must be loaded before this module:
TM - Transaction Manager
SL - Stateless Reply
CDP - C Diameter Peer
CDP_AVP - CDP AVP Applications
This is the route which is executed if HSS returns "user unknown" in LIR
Default value is ''.
Example 1.1. route_lir_user_unknown parameter usage
...
modparam("ims_icscf","route_lir_user_unknown", "lir_term_user_unknown")
...
This is the route which is executed if HSS returns "user unknown" in UAR.
Default value is ''.
Example 1.2. route_uar_user_unknown parameter usage
...
modparam("ims_icscf","route_uar_user_unknown", "uar_term_user_unknown")
...
This is the time in s after which S-CSCF entries in the I-CSCF's SCSCF list will expire.
Default value is 300.
Example 1.3. scscf_entry_expiry parameter usage
...
modparam("ims_icscf","scscf_entry_expiry", 300)
...
This function is used to retrieve the next unused SCSCF from thelist for this request (based on callid).
A positive return code (1) means an SCSCF was found and is armed for routing.
Meaning of the parameters is as follows:
initial - Signal whether or not this is an original or subsequent.
This function can be used from REQUEST_ROUTE | FAILURE_ROUTE.
Example 1.6. I_scscf_select
usage
...
if (I_scscf_select("0")) {
#there is an S-CSCF list - no need to do a UAR
t_on_reply("register_reply");
t_on_failure("register_failure");
t_relay();
}
...
Drop the list of SCSCFs for this request (based on callid).
This function can be used from REQUEST_ROUTE | FAILURE_ROUTE | REPLY_ROUTE
.
Perform a UAR on Diameter CXDX interface. This function will build a list of SCSCFs to be used and populate the SCSCF list for the request. On a succesful return of this message you can get the next available SCSCF by using the I_scscf_select functoin in 4.1.
capabilities - whether to request capabilities or not "1" - with capabilities, "0" - no capabilities.
This function can be used from REQUEST_ROUTE.
p.s. this is executed asynchronously. See example on how to retrieve return value
Example 1.8. I_perform_user_authorization_request usage
...
I_perform_user_authorization_request("0"); #0=REG/DEREG; 1=REG+Capabilities
#this is async so to know status we have to check the reply avp
switch ($avp(s:uaa_return_code)){
case 1: #success
if (I_scscf_select("0")){
t_on_failure("register_failure");
t_on_reply("register_reply");
if (!t_relay()) {
t_reply("500", "Error forwarding to SCSCF");
}
} else {#select failed
I_scscf_drop();
t_reply("500", "Server error on SCSCF Select (UAR)");
}
break;
case -1: #failure
xlog("L_ERR", "UAR failure - error response sent from module");
break;
case -2: #error
xlog("L_ERR", "UAR error - sending error response now");
t_reply("500", "UAR failed");
break;
default:
xlog("L_ERR", "Unknown return code from UAR, value is [$avp(s:uaa_return_code)]");
t_reply("500", "Unknown response code from UAR");
break;
}
...
The average response time in milliseconds for UAR-UAA transaction.
The average response time in milliseconds for LIR-LIA transaction.