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.