/branches/v3/ttcn/LibIms_PIXITS.ttcn |
---|
File deleted |
Property changes: |
Deleted: svn:keywords |
## -1 +0,0 ## |
-Id |
\ No newline at end of property |
Index: branches/v3/ttcn/LibIms_Steps.ttcn |
=================================================================== |
--- branches/v3/ttcn/LibIms_Steps.ttcn (revision 191) |
+++ branches/v3/ttcn/LibIms_Steps.ttcn (revision 192) |
@@ -16,7 +16,6 @@ |
// LibIms |
import from LibIms_Templates all; |
import from LibIms_Interface all; |
- import from LibIms_PIXITS all; |
import from LibIms_SIPTypesAndValues all; |
group externalfunctions { |
@@ -138,13 +137,13 @@ |
/** |
* @desc Sets BYE header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to send Bye |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersBYE( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
vc_route := f_route(); // update the route header field depending on vc_boo_route |
vc_recordRoute := f_recordroute(); // update the route header field depending on vc_boo_route |
LibSip_Steps.f_setHeadersBYE(p_cSeq_s); |
@@ -153,11 +152,9 @@ |
/** |
* @desc Sets CANCEL header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to send Cancel |
*/ |
function f_setHeadersCANCEL( |
- inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ inout CSeq p_cSeq_s |
) runs on ImsComponent { |
vc_route := f_route(); // update the route header field depending on vc_boo_route |
vc_recordRoute := f_recordroute(); // update the route header field depending on vc_boo_route |
@@ -216,15 +213,15 @@ |
/** |
* @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersINVITE( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
if (vc_boo_route) { |
vc_route := m_route_interface(vc_interfaceprofile); |
} |
@@ -238,15 +235,15 @@ |
/** |
* @desc Sets Invite header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersUPDATE( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
if (vc_boo_route) { |
vc_route := m_route_interface(vc_interfaceprofile); |
} |
@@ -260,15 +257,15 @@ |
/** |
* @desc Sets Message header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersMESSAGE( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
LibSip_Steps.f_setHeadersMESSAGE(p_cSeq_s); |
} // end f_setHeadersMESSAGE |
@@ -275,11 +272,11 @@ |
/** |
* @desc Sets Notify header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersNOTIFY( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
LibSip_Steps.f_setHeadersNOTIFY(p_cSeq_s); |
@@ -290,8 +287,8 @@ |
}; |
vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
// contact header initialization for sending of NOTIFY from CSCF component |
vc_contact := m_Contact(m_SipUrl_currIpaddr_CSCF(vc_userprofile)); |
} // end f_setHeadersNOTIFY |
@@ -299,11 +296,11 @@ |
/** |
* @desc Sets Publish header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersPUBLISH( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
LibSip_Steps.f_setHeadersPUBLISH(p_cSeq_s); |
@@ -314,8 +311,8 @@ |
}; |
vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
if (vc_boo_route) { |
vc_route := m_route_interface(vc_interfaceprofile); |
} |
@@ -330,7 +327,7 @@ |
/** |
* @desc Sets Subscribe header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersSUBSCRIBE( |
inout CSeq p_cSeq_s, |
@@ -346,7 +343,7 @@ |
}, // end addressField |
toParams := omit |
}; |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_from := f_initFromHeader(p_to_user, f_getRndTag()); // init of vc_from using userProfile identifier |
vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
LibSip_Steps.f_setHeadersSUBSCRIBE(p_cSeq_s); |
} // end f_setHeadersSUBSCRIBE |
@@ -355,12 +352,12 @@ |
* @desc Sets headers for ReINVITE method |
* @param p_cSeq_s The current cSeq |
* @param p_orginatingSide true in case of Re-INVITE is send from the orgination endpoint otherwise false. |
- * @param p_to_user The user_profile id of the user to be re-invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersReINVITE( |
inout CSeq p_cSeq_s, |
in boolean p_orginatingSide, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
var integer v_tmp, v_i, v_j, v_nbroute; |
var Request v_request; |
@@ -369,7 +366,7 @@ |
f_setHeadersGeneral(p_cSeq_s, "INVITE"); // cseq, contact, branch, via |
vc_reqHostPort := vc_requestUri.components.sip.hostPort; |
- vc_requestUri := f_initSipUrl(p_to_user); |
+ vc_requestUri := p_to_user; |
if (p_orginatingSide) { |
vc_to := vc_caller_To; |
@@ -501,15 +498,13 @@ |
/** |
* @desc Sets REFER header fields (IMS addresses) extension of general settings from LibSip basic function |
* @param p_cSeq_s The current cSeq |
- * @param p_to_user The user_profile id of the user to be invited |
+ * @param p_to_user The selected user's SIP URL |
*/ |
function f_setHeadersREFER( |
inout CSeq p_cSeq_s, |
- in integer p_to_user |
+ in SipUrl p_to_user |
) runs on ImsComponent { |
- // vc_to := f_initToHeader(p_to_user); // init of vc_to using userProfile identifier |
- // vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
- vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header |
+ vc_requestUri := p_to_user; // Request URI of Invite is identical with To header |
if (vc_boo_route) { |
vc_route := m_route_interface(vc_interfaceprofile); |
} |
@@ -540,7 +535,7 @@ |
toParams := omit |
}; |
- vc_from := f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier |
+ vc_from := f_initFromHeader(p_uri, f_getRndTag()); // init of vc_from using userProfile identifier |
vc_requestUri := p_uri; // Request URI of Invite is identical with To header |
if (vc_boo_route) { |
vc_route := m_route_interface(vc_interfaceprofile); |
@@ -590,252 +585,15 @@ |
} |
group globalSteps { |
- /** |
- * @desc Sets user parameters with PIXIT values |
- * @param p_user Identifies the selected user configuration and location |
- */ |
- function f_init_userprofile( |
- in integer p_user |
- ) runs on ImsComponent { |
- LibSip_Steps.f_init_userprofile(p_user); |
+ //NOTE STF471: removed function f_init_userprofile, have to move up to specific ATS |
- select (p_user) { |
- case (c_userProfile_UE1atSUThome) { // variant c_userProfile_UE1atSUThome |
- vc_userprofile.currPort := PX_IMS_TS_UE1_PORT; |
- vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR; |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; |
- } |
- case (c_userProfile_UE2atSUThome) { // variant c_userProfile_UE2atSUThome |
- vc_userprofile.currPort := PX_IMS_TS_UE2_PORT; |
- vc_userprofile.currIpaddr := PX_IMS_TS_UE2_IPADDR; |
- vc_userprofile.contactPort := PX_IMS_TS_UE2_PORT; |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE2_IPADDR; |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE2_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN; |
- vc_userprofile.publUsername := PX_IMS_SUT_UE2_PUBLIC_USER; |
- vc_userprofile.qop := PX_IMS_SUT_UE2_QOP; |
- vc_userprofile.privUsername := PX_IMS_SUT_UE2_PRIVAT_USERNAME; |
- vc_userprofile.passwd := PX_IMS_SUT_UE2_PRIVAT_PASSWD; |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE2_REGISTRAR; |
- } |
- case (c_userProfile_UE3atSUThome) { // variant c_userProfile_UE3atSUThome |
- vc_userprofile.currPort := PX_IMS_TS_UE3_PORT; |
- vc_userprofile.currIpaddr := PX_IMS_TS_UE3_IPADDR; |
- vc_userprofile.contactPort := PX_IMS_TS_UE3_PORT; |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE3_IPADDR; |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE3_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE3_HOME_DOMAIN; |
- vc_userprofile.publUsername := PX_IMS_SUT_UE3_PUBLIC_USER; |
- vc_userprofile.qop := PX_IMS_SUT_UE3_QOP; |
- vc_userprofile.privUsername := PX_IMS_SUT_UE3_PRIVAT_USERNAME; |
- vc_userprofile.passwd := PX_IMS_SUT_UE3_PRIVAT_PASSWD; |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE3_REGISTRAR; |
- } |
- case (c_userProfile_UE4atSUThome) { // variant c_userProfile_UE4atSUThome |
- vc_userprofile.currPort := PX_IMS_TS_UE4_PORT; |
- vc_userprofile.currIpaddr := PX_IMS_TS_UE4_IPADDR; |
- vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT; |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR; |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN; |
- vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER; |
- vc_userprofile.qop := PX_IMS_SUT_UE4_QOP; |
- vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME; |
- vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD; |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; |
- } |
- case (c_userProfile_UE1atSUTvisiting) { // variant c_userProfile_UE1atSUTvisiting - UE3 parameters |
- vc_userprofile.currPort := PX_IMS_TS_UE1_PORT; |
- vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR; |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE3_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE3_HOME_DOMAIN; |
- vc_userprofile.publUsername := PX_IMS_SUT_UE3_PUBLIC_USER; |
- vc_userprofile.qop := PX_IMS_SUT_UE3_QOP; |
- vc_userprofile.privUsername := PX_IMS_SUT_UE3_PRIVAT_USERNAME; |
- vc_userprofile.passwd := PX_IMS_SUT_UE3_PRIVAT_PASSWD; |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE3_REGISTRAR; |
- } |
- case (c_userProfile_IBCFwithHomeUE) { // variant c_userProfile_IBCFwithHomeUE |
- vc_userprofile.currPort := PX_IMS_TS_IBCF_PORT; // via (Ic interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_IBCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_IBCF_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_IBCF_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_IBCFwithVisitingUE) { // variant c_userProfile_IBCFwithVisitingUE |
- vc_userprofile.currPort := PX_IMS_TS_IBCF_PORT; // via (Ic interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_IBCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_IBCF_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_IBCF_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_ICSCFwithHomeUE) { // variant c_userProfile_ICSCFwithHomeUE - UE4 parameters |
- vc_userprofile.currPort := PX_IMS_TS_ICSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_ICSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE4_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_IBCFwithUnknownUE) { // variant c_userProfile_IBCFwithUnknownUE |
- vc_userprofile.currPort := PX_IMS_TS_ICSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_ICSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_unknownUE_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_PCSCFwithHomeUE) { // variant c_userProfile_PCSCFwithHomeUE |
- vc_userprofile.currPort := PX_IMS_TS_PCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_PCSCFwithVisitingUE) { // variant c_userProfile_PCSCFwithVisitingUE |
- vc_userprofile.currPort := PX_IMS_TS_PCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_REGISTRAR; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_PCSCFwithVisitingUE2) { // variant c_userProfile_PCSCFwithVisitingUE2 |
- vc_userprofile.currPort := PX_IMS_TS_PCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE2_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE2_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE2_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_PCSCFwithUnknownVisitingUE) { // variant c_userProfile_PCSCFwithUnknownVisitingUE |
- vc_userprofile.currPort := PX_IMS_TS_PCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_PCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE2_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_unknownUE_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_SCSCFwithHomeUE) { // variant c_userProfile_SCSCFwithHomeUE - UE4 parameters |
- vc_userprofile.currPort := PX_IMS_TS_SCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_SCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE4_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_SCSCFwithHomeUE_domain) { // variant c_userProfile_SCSCFwithHomeUE - UE4 parameters |
- vc_userprofile.currPort := PX_IMS_TS_SCSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_SCSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE4_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE4_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE4_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE4_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE4_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE4_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE4_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE4_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; // Authorization |
- } |
- case (c_userProfile_AS1) { // variant c_userProfile_AS1 |
- vc_userprofile.currPort := PX_IMS_TS_AS1_PORT; // via, route(Isc interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_AS1_IPADDR; // via, route |
- vc_userprofile.contactPort := PX_IMS_TS_AS1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_AS1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_TS_AS1_HOME_DOMAIN; // via, route |
- vc_userprofile.publUsername := "as1"; |
- vc_userprofile.qop := ""; // Authorization |
- vc_userprofile.privUsername := ""; // Authorization |
- vc_userprofile.passwd := ""; // Authorization |
- vc_userprofile.registrarDomain := ""; // Authorization |
- } |
- case (c_userProfile_AS2) { // variant c_userProfile_AS2 |
- vc_userprofile.currPort := PX_IMS_TS_AS2_PORT; // via, route(Isc interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_AS2_IPADDR; // via, route |
- vc_userprofile.homeDomain := PX_IMS_TS_AS2_HOME_DOMAIN; // via, route |
- } |
- case (c_userProfile_ECSCFwithHomeUE) { // variant c_userProfile_PCSCFwithHomeUE |
- vc_userprofile.currPort := PX_IMS_TS_ECSCF_PORT; // via (Mw interface of TS) |
- vc_userprofile.currIpaddr := PX_IMS_TS_ECSCF_IPADDR; // via |
- vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT; // contact (simulated UE) |
- vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
- vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR; |
- vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
- vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER; // From, To (register) |
- vc_userprofile.qop := PX_IMS_SUT_UE1_QOP; // Authorization |
- vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME; // Authorization |
- vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD; // Authorization |
- vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR; // Authorization |
- } |
- } |
- } |
- |
/** |
* @desc Initializes the To header |
- * @param p_user Identifies the selected user configuration and location |
+ * @param p_user Identifies the selected user's SIP URL |
* @return The To header |
*/ |
function f_initToHeader( |
- in integer p_user |
+ in SipUrl p_user |
) runs on ImsComponent |
return To { |
var To p_to := c_empty_To; |
@@ -844,7 +602,7 @@ |
addressField := { |
nameAddr := { |
displayName := omit, // optional charstring |
- addrSpec := f_initSipUrl(p_user) // SipUrl |
+ addrSpec := p_user // SipUrl |
} |
}, // end addressField |
toParams := omit |
@@ -854,12 +612,12 @@ |
/** |
* @desc Initializes the From header |
- * @param p_user Identifies the selected user configuration and location |
+ * @param p_user Identifies the selected user' SIP URL |
* @param p_tag_str The string value of the tag id |
* @return The From header |
*/ |
function f_initFromHeader( |
- in integer p_user, |
+ in SipUrl p_user, |
charstring p_tag_str |
) runs on ImsComponent |
return From { |
@@ -869,7 +627,7 @@ |
addressField := { |
nameAddr := { |
displayName := omit, // optional charstring |
- addrSpec := f_initSipUrl(p_user) // SipUrl |
+ addrSpec := p_user // SipUrl |
} |
}, // end addressField |
fromParams := { |
@@ -882,294 +640,11 @@ |
return v_from; |
} |
- /** |
- * @desc Initializes the SIP URL |
- * @param p_user Identifies the selected user configuration and location |
- * @return The SIP URL |
- */ |
- function f_initSipUrl( |
- in integer p_user |
- ) runs on ImsComponent |
- return SipUrl { |
- var SipUrl v_sipUrl := { |
- scheme := c_sipScheme, // contains "sip" |
- components := { |
- sip := { |
- userInfo := omit, |
- hostPort := {omit, omit} |
- } |
- }, |
- urlParameters := omit, |
- headers := omit |
- }; |
+ //NOTE STF471: removed function f_initSipUrl, have to move up to specific ATS |
- var SipUrl v_urnUrl := { |
- scheme := c_urnScheme, // contains "urn" |
- components := { |
- urn := { |
- namespaceId := "service", |
- namespaceSpecificString := PX_IMS_SUT_EMERGENCY_SERVICE_namespaceSpecificString |
- } |
- }, |
- urlParameters := omit, |
- headers := omit |
- }; |
+ //NOTE STF471: removed function f_init_interfaceprofile, have to move up to specific ATS |
- select (p_user) { |
- case (c_userProfile_UE1atSUThome) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE1_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_UE1_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_UE2atSUThome) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE2_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_UE2_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_UE3atSUThome) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE3_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_UE3_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_UE4atSUThome) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE4_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_UE4_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_IBCFwithHomeUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_ICSCFwithHomeUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_PCSCFwithHomeUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_PCSCF_IPADDR, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_PCSCFwithVisitingUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_PCSCF_IPADDR, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_SCSCFwithHomeUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE4_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_SCSCF_HOME_DOMAIN, |
- portField := PX_IMS_TS_SCSCF_PORT |
- }; |
- } |
- case (c_userProfile_SCSCFwithHomeUE_domain) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_UE4_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_SCSCF_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_AS1) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_AS1_IPADDR, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_ECSCFwithHomeUE) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_IMS1UE_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_ECSCF_IPADDR, |
- portField := omit |
- }; |
- } |
- case (c_userProfile_ISUP) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_TS_ISUP_PUBLIC_USER, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_ISUP_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- case (c_serviceProfile_EMERGENCY) { |
- v_urnUrl.components.urn.namespaceId := PX_IMS_SUT_EMERGENCY_SERVICE_namespaceId; |
- v_urnUrl.components.urn.namespaceSpecificString := PX_IMS_SUT_EMERGENCY_SERVICE_namespaceSpecificString; |
- } |
- case (c_serviceProfile_EMERGENCY_INVALID) { |
- v_urnUrl.components.urn.namespaceId := PX_IMS_SUT_EMERGENCY_SERVICE_INVALID_namespaceId; |
- v_urnUrl.components.urn.namespaceSpecificString := PX_IMS_SUT_EMERGENCY_SERVICE_INVALID_namespaceSpecificString; |
- } |
- case (c_interfaceProfile_IMS_SUT_PCSCF1) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := "", |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_PCSCF1_HOME_DOMAIN, |
- portField := PX_IMS_SUT_PCSCF1_PORT |
- }; |
- } |
- case (c_interfaceSIPURL_IMS_SUT_PCSCF1_domain) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := "", |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_PCSCF1_HOME_DOMAIN, |
- portField := PX_IMS_SUT_PCSCF1_PORT |
- }; |
- } |
- case (c_interfaceSIPURL_IMS_SUT_PCSCF1_ip) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := "", |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_PCSCF1_IPADDR, |
- portField := PX_IMS_TS_SCSCF_PORT |
- }; |
- } |
- case (c_interfaceProfile_IMS_SUT_SCSCF) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := "", |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_TS_SCSCF_HOME_DOMAIN, |
- portField := PX_IMS_SUT_PCSCF1_PORT |
- }; |
- } |
- case (c_conferenceProfile_factoryURI) { |
- v_sipUrl.components.sip.userInfo := { |
- userOrTelephoneSubscriber := PX_IMS_SUT_CONF_FACTORY_NAME, |
- password := omit |
- }; |
- v_sipUrl.components.sip.hostPort := { |
- host := PX_IMS_SUT_CONF_HOME_DOMAIN, |
- portField := omit |
- }; |
- } |
- } |
- if (p_user == c_serviceProfile_EMERGENCY or p_user == c_serviceProfile_EMERGENCY_INVALID) { |
- return v_urnUrl; |
- } |
- else { |
- return v_sipUrl; |
- } |
- } |
- |
/** |
- * @desc Initializes interface profile parameters with PIXIT values |
- * @param p_interface Identifies the selected interface |
- */ |
- function f_init_interfaceprofile( |
- in integer p_interface |
- ) runs on ImsComponent { |
- select (p_interface) { |
- case (c_interfaceProfile_IMS_SUT_IBCF1) { // variant c_interfaceProfile_IMS_SUT_IBCF1 |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_IBCF1_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_IBCF1_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_IBCF1_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_IBCF2) { // variant c_interfaceProfile_IMS_SUT_IBCF2 |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_IBCF2_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_IBCF2_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_IBCF2_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_PCSCF1) { // variant c_interfaceProfile_IMS_SUT_PCSCF1 |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_PCSCF1_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_PCSCF1_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_PCSCF1_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_PCSCF2) { // variant c_interfaceProfile_IMS_SUT_PCSCF2 |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_PCSCF2_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_PCSCF2_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_PCSCF2_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_PCSCF) { // variant c_interfaceProfile_IMS_SUT_PCSCF |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_PCSCF_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_PCSCF_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_PCSCF_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_SCSCF) { // variant c_interfaceProfile_IMS_SUT_SCSCF |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_SCSCF_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_SCSCF_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_SCSCF_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_ICSCF) { // variant c_interfaceProfile_IMS_SUT_ICSCF |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_ICSCF_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_ICSCF_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_ICSCF_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_MGCF) { // variant c_interfaceProfile_IMS_SUT_MGCF |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_IMGCF_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_IMGCF_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_IMGCF_HOME_DOMAIN; |
- } |
- case (c_interfaceProfile_IMS_SUT_AS) { // variant c_interfaceProfile_IMS_SUT_AS |
- vc_interfaceprofile.SUTPort := PX_IMS_SUT_AS_PORT; |
- vc_interfaceprofile.SUTIpaddr := PX_IMS_SUT_AS_IPADDR; |
- vc_interfaceprofile.SUTHomeDomain := PX_IMS_SUT_AS_HOME_DOMAIN; |
- } |
- } |
- } |
- |
- /** |
* @desc Retrieves user DomainPort value of the user profile |
* @param p_userProfile Identifies the selected user profile |
* @return The Domain HostPort |
@@ -1237,13 +712,17 @@ |
* @desc Registration and authentication |
* @param p_cSeq_s The current cseq |
* @param p_auth flag indicating if authentication is needed |
+ * @param p_host TODO formerly PX_IMS_TS_PCSCF_HOME_DOMAIN |
+ * @param p_port TODO formerly PX_IMS_TS_PCSCF_PORT |
*/ |
function f_Registration_IMS( |
inout CSeq p_cSeq_s, |
- in boolean p_auth |
+ in boolean p_auth, |
+ template(value) charstring p_host, |
+ template(value) integer p_port |
) runs on SipComponent { |
f_setHeaders_REGISTER(p_cSeq_s); |
- f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest(vc_authorization, {c_Integrity_protected_no}))); // LibSip |
+ f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest(vc_authorization, {c_Integrity_protected_no}), p_host, p_port)); // LibSip |
// awaiting of 401 and sending 2nd REGISTER and awaiting 200 OK REGISTER |
if (p_auth) { |
// receiving 401 Unauthorized response. |
@@ -1254,7 +733,7 @@ |
tc_ack.stop; |
// set headers via, cseq and authorization |
f_setHeaders_2ndREGISTER(p_cSeq_s); |
- f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest(vc_authorization, {c_Integrity_protected_yes}))); // LibSip |
+ f_SendREGISTER(m_REGISTER_Request_IMS(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via_REG, vc_contact, m_add_Authorization_digest(vc_authorization, {c_Integrity_protected_yes}), p_host, p_port)); // LibSip |
// awaiting 200 OK REGISTER |
f_awaitingOkResponse(p_cSeq_s); |
f_getServiceRouteMapIntoRouteInRegistration(p_cSeq_s, vc_response); |
@@ -1275,10 +754,14 @@ |
/** |
* @desc awaiting UE1 registration (with authentication) |
* @param p_cSeq_s The current cseq |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
* @param p_register The expected REGISTER_Request - default: mw_REGISTER_authorizedRequest_IMS |
*/ |
function f_awaitingRegistration_IMS( |
inout CSeq p_cSeq_s, |
+ in SipUrl p_to_user, |
+ in charstring p_qop, |
in template(present) REGISTER_Request p_register := |
mw_REGISTER_authorizedRequest_IMS( |
mw_Authorization_digest( |
@@ -1304,7 +787,7 @@ |
vc_via, |
m_wwwAuthenticate( |
f_calculatecChallenge_forWWWAuthorization( |
- PX_IMS_SUT_UE1_QOP, |
+ p_qop, |
valueof(vc_authorization.body[0].digestResponse) |
) |
) |
@@ -1325,19 +808,23 @@ |
}; |
} |
v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; |
- f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, f_initSipUrl(c_userProfile_SCSCFwithHomeUE), v_passociated_url)); |
+ f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, p_to_user, v_passociated_url)); |
} // end function f_awaitingRegistration_IMS |
/** |
* @desc Awaiting UE1 registration (with authentication, without security headers) |
* @param p_cSeq_s The current cseq |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
*/ |
function f_awaitingRegistration_IMS_gm( |
- inout CSeq p_cSeq_s |
+ inout CSeq p_cSeq_s, |
+ in SipUrl p_to_user, |
+ in charstring p_qop |
) runs on ImsComponent { |
vc_ignore_subscribe := true; // handle SUBSCRIBE during the call |
- f_awaitingRegistration_IMS(p_cSeq_s, mw_REGISTER_authorizedRequest_wo_securityheaders_IMS); |
+ f_awaitingRegistration_IMS(p_cSeq_s, p_to_user, p_qop, mw_REGISTER_authorizedRequest_wo_securityheaders_IMS); |
vc_DeregDone := false; |
} // end function f_awaitingRegistration_IMS_gm |
@@ -1345,9 +832,13 @@ |
/** |
* @desc Remove registration |
* @param p_cSeq_s The current cseq |
+ * @param p_host TODO formerly PX_IMS_TS_PCSCF_HOME_DOMAIN |
+ * @param p_port TODO formerly PX_IMS_TS_PCSCF_PORT |
*/ |
function f_RemoveRegistration_IMS( |
- inout CSeq p_cSeq |
+ inout CSeq p_cSeq, |
+ template(value) charstring p_host, |
+ template(value) integer p_port |
) runs on SipComponent { |
var CommaParam_List v_challenge; |
var Credentials v_credentials; |
@@ -1355,7 +846,7 @@ |
if (PX_SIP_REGISTRATION) { |
f_setHeaders_deREGISTER(p_cSeq); |
- v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg, p_cSeq, vc_from, vc_to, vc_via, vc_contact, vc_authorization, "0"); |
+ v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg, p_cSeq, vc_from, vc_to, vc_via, vc_contact, vc_authorization, p_host, p_port, "0"); |
v_request.msgHeader.route := f_route(); |
f_SendREGISTER(v_request); |
@@ -1368,7 +859,7 @@ |
tc_ack.stop; |
// set headers via, cseq and authorization |
f_setHeaders_2ndREGISTER(p_cSeq); |
- v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg, p_cSeq, vc_from, vc_to, vc_via, vc_contact, vc_authorization, "0"); |
+ v_request := m_REGISTER_Request_expires_IMS(vc_requestUri, vc_callIdReg, p_cSeq, vc_from, vc_to, vc_via, vc_contact, vc_authorization, p_host, p_port, "0"); |
v_request.msgHeader.route := f_route(); |
// Re-send protected REGISTER |
f_SendREGISTER(v_request); // LibSip |
@@ -1398,23 +889,20 @@ |
* @param p_cSeq_s The current cseq |
*/ |
function f_IMS_preamble_MGCF( |
- in integer p_userprofile, |
inout CSeq p_cSeq_s |
) runs on ImsComponent { |
vc_boo_recordRoute := true; |
vc_boo_route := true; |
- f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_MGCF); |
+ //NOTE STF471: removed f_init_interfaceprofile(c_interfaceProfile_IMS_SUT_MGCF); |
- f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s); |
+ f_IMS_preamble_woRegistration(p_cSeq_s); |
} |
/** |
* @desc Sets variables and default initialization for user profile |
- * @param p_userprofile User profile of call |
* @param p_cSeq_s The current cseq |
*/ |
function f_IMS_preamble_woRegistration( |
- in integer p_userprofile, |
inout CSeq p_cSeq_s |
) runs on ImsComponent { |
// avoid deregistration in default behavior |
@@ -1426,7 +914,7 @@ |
LibSip_Steps.f_init_component(p_cSeq_s); |
// Preamble |
- f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
+ //NOTE STF471: removed f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
vc_sdp_local := valueof(m_SDP_bandwidth(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding), vc_userprofile)); |
vc_contact := m_Contact(m_SipUrl_contactIpaddr(vc_userprofile)); |
} |
@@ -1434,11 +922,9 @@ |
//NOTE STF471 added |
/** |
* @desc Sets variables and default initialization for user profile |
- * @param p_userprofile User profile of call |
* @param p_cSeq_s The current cseq |
*/ |
function f_IMS_preamble_woRegistration_as( |
- in integer p_userprofile, |
inout CSeq p_cSeq_s |
) runs on ImsComponent { |
// avoid deregistration in default behavior |
@@ -1450,27 +936,23 @@ |
LibSip_Steps.f_init_component(p_cSeq_s); |
// Preamble |
- f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
+ //NOTE STF471: removed f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
vc_sdp_local := valueof(m_SDP_bandwidth(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding), vc_userprofile)); |
} |
/** |
* @desc Sets variables and default initialization for user profile and handle registration and authentication with MD5 |
- * @param p_userprofile User profile of call |
- * @param p_interface Identifies the selected interface |
* @param p_cSeq_s The current cseq |
* @param p_register Register template |
*/ |
function f_IMS_preamble_withEmergencyRegistration( |
- in integer p_userprofile, |
- in integer p_interface, |
inout CSeq p_cSeq_s, |
template REGISTER_Request p_register |
) runs on ImsComponent { |
- f_init_interfaceprofile(p_interface); |
+ //NOTE STF471: removed f_init_interfaceprofile(p_interface); |
// Variables & defaults initialization |
- f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s); |
+ f_IMS_preamble_woRegistration(p_cSeq_s); |
// Preamble |
f_Registration(p_cSeq_s, p_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED, true); |
@@ -1480,21 +962,17 @@ |
/** |
* @desc Sets variables and default initialization for user profile and handle registration and authentication with MD5 |
- * @param p_userprofile User profile of call |
- * @param p_interface Identifies the selected interface |
* @param p_cSeq_s The current cseq |
* @param p_register Register template |
*/ |
function f_IMS_preamble_withRegistration( |
- in integer p_userprofile, |
- in integer p_interface, |
inout CSeq p_cSeq_s, |
out template REGISTER_Request p_register |
) runs on ImsComponent { |
- f_init_interfaceprofile(p_interface); |
+ //NOTE STF471: removed f_init_interfaceprofile(p_interface); |
// Variables & defaults initialization |
- f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s); |
+ f_IMS_preamble_woRegistration(p_cSeq_s); |
// Preamble |
f_Registration(p_cSeq_s, p_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED); |
@@ -1509,21 +987,17 @@ |
//NOTE STF471 added |
/** |
* @desc Sets variables and default initialization for user profile and handle registration and authentication with MD5 |
- * @param p_userprofile User profile of call |
- * @param p_interface Identifies the selected interface |
* @param p_cSeq_s The current cseq |
* @param p_register Register template |
*/ |
function f_IMS_preamble_withRegistrationWoSubscription( |
- in integer p_userprofile, |
- in integer p_interface, |
inout CSeq p_cSeq_s, |
out template REGISTER_Request p_register |
) runs on ImsComponent { |
- f_init_interfaceprofile(p_interface); |
+ //NOTE STF471: removed f_init_interfaceprofile(p_interface); |
// Variables & defaults initialization |
- f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s); |
+ f_IMS_preamble_woRegistration(p_cSeq_s); |
// Preamble |
f_Registration(p_cSeq_s, p_register, PX_SIP_REGISTER_AUTHENTICATION_ENABLED); |
@@ -1534,21 +1008,21 @@ |
/** |
* @desc Sets variables and default initialization for user profile and handle registration and authentication with MD5 (basic registration template) |
- * @param p_userprofile User profile of call |
- * @param p_interface Identifies the selected interface |
* @param p_cSeq_s The current cseq |
+ * @param p_host TODO formerly PX_IMS_TS_PCSCF_HOME_DOMAIN |
+ * @param p_port TODO formerly PX_IMS_TS_PCSCF_PORT |
*/ |
function f_IMS_preamble_withRegistrationBasic( |
- in integer p_userprofile, |
- in integer p_interface, |
- inout CSeq p_cSeq_s |
+ inout CSeq p_cSeq_s, |
+ template(value) charstring p_host, |
+ template(value) integer p_port |
) runs on ImsComponent { |
- f_init_interfaceprofile(p_interface); |
+ //NOTE STF471: removed f_init_interfaceprofile(p_interface); |
// Variables & defaults initialization |
- f_IMS_preamble_woRegistration(p_userprofile, p_cSeq_s); |
+ f_IMS_preamble_woRegistration(p_cSeq_s); |
// Preamble |
- f_Registration_IMS(p_cSeq_s, PX_SIP_REGISTER_AUTHENTICATION_ENABLED); |
+ f_Registration_IMS(p_cSeq_s, PX_SIP_REGISTER_AUTHENTICATION_ENABLED, p_host, p_port); |
f_setHeaders_SUBSCRIBE(p_cSeq_s); |
f_Subscription(p_cSeq_s, m_SUBSCRIBE_Request_UE(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via, vc_contact, vc_route_REG)); |
} |
@@ -1555,13 +1029,9 @@ |
/** |
* @desc Sets variables and default initialization for user profile and handle registration and authentication with MD5 (basic registration template) |
- * @param p_userprofile User profile of call |
- * @param p_interface Identifies the selected interface |
* @param p_cSeq_s The current cseq |
*/ |
function f_IMS_preamble_AS( |
- in integer p_userprofile, |
- in integer p_interface, |
inout CSeq p_cSeq_s |
) runs on ImsComponent { |
// avoid deregistration in default behavior |
@@ -1575,8 +1045,8 @@ |
vc_default := activate(a_altstep_AS()); |
// Preamble |
- f_init_interfaceprofile(p_interface); |
- f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
+ //NOTE STF471: removed f_init_interfaceprofile(p_interface); |
+ //NOTE STF471: removed f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
vc_sdp_local := valueof(m_SDP_bandwidth(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding), vc_userprofile)); |
vc_contact := m_Contact(m_SipUrl_contactIpaddr(vc_userprofile)); |
} |
@@ -1628,8 +1098,12 @@ |
/** |
* @desc Terminates component with de-registration |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
*/ |
function f_SIP_postamble_IMS1_awaitDeRegistration( |
+ in SipUrl p_to_user, |
+ in charstring p_qop |
) runs on ImsComponent { |
var SipUrl v_passociated_url; |
// Awaiting 1st REGISTER |
@@ -1636,7 +1110,7 @@ |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
// 401 response |
- f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(PX_IMS_SUT_UE1_QOP, valueof(vc_authorization.body[0].digestResponse))))); |
+ f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(p_qop, valueof(vc_authorization.body[0].digestResponse))))); |
// Awaiting 2nd REGISTER with authorization header |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
@@ -1643,7 +1117,7 @@ |
// 200OK to complete the request |
v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; |
- f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, f_initSipUrl(c_userProfile_SCSCFwithHomeUE), v_passociated_url)); |
+ f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, p_to_user, v_passociated_url)); |
f_terminate_component(); |
} |
@@ -1650,8 +1124,12 @@ |
/** |
* @desc Terminates component with de-registration |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
*/ |
function f_IMS_postamble_awaitDeRegistration( |
+ in SipUrl p_to_user, |
+ in charstring p_qop |
) runs on ImsComponent { |
var SipUrl v_passociated_url; |
// Awaiting 1st REGISTER |
@@ -1658,7 +1136,7 @@ |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
// 401 response |
- f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(PX_IMS_SUT_UE1_QOP, valueof(vc_authorization.body[0].digestResponse))))); |
+ f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(p_qop, valueof(vc_authorization.body[0].digestResponse))))); |
// Awaiting 2nd REGISTER with authorization header |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
@@ -1665,7 +1143,7 @@ |
// 200OK to complete the request |
v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; |
- f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, f_initSipUrl(c_userProfile_SCSCFwithHomeUE), v_passociated_url)); |
+ f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, p_to_user, v_passociated_url)); |
f_terminate_component(); |
} |
@@ -1673,8 +1151,12 @@ |
/** |
* @desc Awaits de-registration |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
*/ |
function f_IMS_awaitDeRegistration( |
+ in SipUrl p_to_user, |
+ in charstring p_qop |
) runs on ImsComponent { |
var SipUrl v_passociated_url; |
// Awaiting 1st REGISTER |
@@ -1681,7 +1163,7 @@ |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
// 401 response |
- f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(PX_IMS_SUT_UE1_QOP, valueof(vc_authorization.body[0].digestResponse))))); |
+ f_sendResponse(m_Response_WWWauthenticate_IMS(c_statusLine401, vc_callId, vc_cSeq, vc_caller_From, vc_caller_To, vc_via, m_wwwAuthenticate(f_calculatecChallenge_forWWWAuthorization(p_qop, valueof(vc_authorization.body[0].digestResponse))))); |
// Awaiting 2nd REGISTER with authorization header |
f_awaitingREGISTER(mw_REGISTER_unauthorizedRequest_IMS); |
@@ -1688,7 +1170,7 @@ |
// 200OK to complete the request |
v_passociated_url := vc_caller_From.addressField.nameAddr.addrSpec; |
- f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, f_initSipUrl(c_userProfile_SCSCFwithHomeUE), v_passociated_url)); |
+ f_sendResponse(m_Response_2xxonREGISTER_IMS(c_statusLine200, vc_callId, vc_cSeq, vc_callee_From, vc_callee_To, vc_via, vc_contact, p_to_user, v_passociated_url)); |
} |
/** |
@@ -1784,6 +1266,7 @@ |
* @param p_cSeq CSeq parameter for outgoing BYE |
* @param p_from From parameter for outgoing BYE |
* @param p_to To parameter for outgoing BYE |
+ * @param p_qop of the peer UE (alternatively) |
*/ |
function f_terminateCall_UE_withDeReg( |
SipUrl p_requestUri, |
@@ -1790,7 +1273,8 @@ |
CallId p_CallId, |
inout CSeq p_cSeq, |
From p_from, |
- template(value) To p_to |
+ template(value) To p_to, |
+ in charstring p_qop |
) runs on ImsComponent { |
LibSip_Steps.f_setHeadersBYE(p_cSeq); |
// Sending of a BYE request to release the call and expect a final response |
@@ -1807,7 +1291,7 @@ |
// timeout should be handled in default_alt_step |
} |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_requestUri, p_qop); |
} // end function f_terminateCall_UE_withDeReg |
} |
@@ -1814,10 +1298,14 @@ |
group defaults { |
/** |
- * @desc Altstep for clearing registration (IMS user) |
+ * @desc Altstep for clearing registration (IMS user) |
+ * @param p_to_user The selected user's SIP URL |
+ * @param p_qop of the peer UE (alternatively) |
* @verdict fail for all unexpected branches |
*/ |
altstep a_clearRegistration_IMSuser( |
+ in SipUrl p_to_user, |
+ in charstring p_qop |
) runs on ImsComponent { |
var Response v_response; |
var Request v_request; |
@@ -1829,7 +1317,7 @@ |
// f_SendCANCEL(m_CANCEL_Request(vc_callId, vc_cSeq, vc_from, vc_cancel_To, vc_reqHostPort, vc_via )); // difference between registration state or transaction state |
vc_callId := vc_callIdReg; |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
// allow repeated INVITEs |
@@ -1902,7 +1390,7 @@ |
f_setHeadersOnReceiptOfRequest(v_request); |
f_send200OK(); |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
// unexpected CANCEL is acknowledged to avoid retransmissions |
@@ -1912,7 +1400,7 @@ |
// Answer to the CANCEL |
f_send200OK(); |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
// catch 4xx response |
@@ -1923,7 +1411,7 @@ |
LibSip_Steps.f_setHeadersACK(); |
f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
// catch 5xx response |
@@ -1934,7 +1422,7 @@ |
LibSip_Steps.f_setHeadersACK(); |
f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
// catch invalid REGISTER |
@@ -1947,7 +1435,7 @@ |
setverdict(fail); |
all timer.stop; |
action("Please de-register"); |
- f_IMS_awaitDeRegistration(); |
+ f_IMS_awaitDeRegistration(p_to_user, p_qop); |
f_componentStop(); |
} |
} |
/branches/v3/ttcn/LibIms_Templates.ttcn |
---|
19,8 → 19,6 |
// LibIms |
import from LibIms_SIPTypesAndValues all; |
import from LibIms_PIXITS all; |
// LibXMLTypes |
import from XSD all; |
94,9 → 92,11 |
} |
} |
template(present) Addr_Union mw_UE1_Addr_display := { |
template(present) Addr_Union mw_UE1_Addr_display( |
template(present) charstring p_displayName |
) := { |
nameAddr := { |
displayName := PX_IMS_SUT_UE1_DISPLAY, |
displayName := p_displayName, |
addrSpec := ? |
} |
} |
196,6 → 196,8 |
} |
template(value) Path m_path( |
template(value) charstring p_host, |
template(value) integer p_port, |
template(value) SipUrl p_sipUrl |
) modifies m_path_TS := { |
pathValues := { |
209,7 → 211,10 |
} |
} |
template(value) Path m_path_TS := { |
template(value) Path m_path_TS( |
template(value) charstring p_host, |
template(value) integer p_port |
) := { |
fieldName := PATH_E, |
pathValues := { |
{ |
223,7 → 228,7 |
userOrTelephoneSubscriber := "registrar", |
password := omit |
}, |
hostPort := {PX_IMS_TS_PCSCF_HOME_DOMAIN, PX_IMS_TS_PCSCF_PORT} |
hostPort := {p_host, p_port} |
} |
}, |
urlParameters := { |
386,11 → 391,12 |
} |
} |
template(present) PVisitedNetworkID mw_pVisitedNetworkID |
modifies m_pVisitedNetworkID_TS := { |
template(present) PVisitedNetworkID mw_pVisitedNetworkID( |
template(present) charstring p_vNetworkSpecToken |
) modifies m_pVisitedNetworkID_TS := { |
vNetWorkSpec := { |
{ |
vNetworkSpecToken := PX_IMS_SUT_PCSCF_VisitedNetworkID, |
vNetworkSpecToken := p_vNetworkSpecToken, |
genericParams := * |
} |
} |
2460,11 → 2466,12 |
template(value) Via p_via, |
template(omit) Require p_require := omit, |
template(omit) Route p_route := omit, |
template(omit) Supported p_supported := omit |
template(omit) Supported p_supported := omit, |
template(value) charstring p_homeDomain |
) modifies m_MESSAGE_Request_NoBody_UE := { |
msgHeader := { |
pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue, |
pChargingVector := m_pChargingVector_origIoi_fixedValue(PX_IMS_SUT_UE1_HOME_DOMAIN) |
pChargingVector := m_pChargingVector_origIoi_fixedValue(p_homeDomain) |
} |
} |
2752,7 → 2759,9 |
template(value) To p_to, |
template(value) Via p_via, |
template(omit) Contact p_contact := omit, |
template(omit) Authorization p_authorization := omit |
template(omit) Authorization p_authorization := omit, |
template(value) charstring p_host, |
template(value) integer p_port |
) modifies m_REGISTER_Request_Base := { |
requestLine := { |
method := REGISTER_E, |
2764,7 → 2773,7 |
contact := p_contact, |
cSeq := p_cSeq, |
fromField := p_from, |
path := m_path_TS, |
path := m_path_TS(p_host, p_port), |
pChargingVector := m_pChargingVector_icid_TS, |
pVisitedNetworkID := m_pVisitedNetworkID_TS, |
require := { |
2785,6 → 2794,8 |
template(value) Via p_via, |
template(omit) Contact p_contact := omit, |
template(omit) Authorization p_authorization := omit, |
template(value) charstring p_host, |
template(value) integer p_port, |
template(omit) Path p_path := omit |
) modifies m_REGISTER_Request_IMS := { |
msgHeader := {path := p_path} |
2799,6 → 2810,8 |
template(value) Via p_via, |
template(omit) Contact p_contact := omit, |
template(omit) Authorization p_authorization := omit, |
template(value) charstring p_host, |
template(value) integer p_port, |
template(value) DeltaSec p_deltaSec |
) modifies m_REGISTER_Request_IMS := { |
msgHeader := { |