437,18 → 437,18 |
vc_userprofile.registrarDomain := PX_IMS_SUT_UE4_REGISTRAR; |
} |
|
case (c_userProfile_UE1atSUTvisiting) { //variant c_userProfile_UE1atSUTvisiting |
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_TS_UE1_REGISTRAR; |
case (c_userProfile_UE1atSUTvisiting) { //variant c_userProfile_UE1atSUTvisiting - UE4 parameters |
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; |
} |
|
// //temporary not used and it can be deleted during validation |
471,6 → 471,7 |
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 |
484,7 → 485,7 |
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.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 |
496,14 → 497,15 |
case (c_userProfile_ICSCFwithHomeUE) { //variant c_userProfile_ICSCFwithHomeUE |
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.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 |
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 |
511,6 → 513,7 |
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 |
524,7 → 527,8 |
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.homeDomain := PX_IMS_TS_IMS1UE_HOME_DOMAIN; // From, To (register) |
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 |
537,7 → 541,8 |
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.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN; // From, To (register) |
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 |
551,6 → 556,7 |
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 |
565,6 → 571,7 |
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 |
576,14 → 583,15 |
case (c_userProfile_SCSCFwithHomeUE) { //variant c_userProfile_SCSCFwithHomeUE |
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_UE1_PORT; // contact (simulated UE) |
vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR; // contact |
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 |
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 |
670,7 → 678,7 |
} |
case (c_userProfile_SCSCFwithHomeUE) { |
p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit}; |
p_sipUrl.hostPort := {host := PX_IMS_TS_SCSCF_IPADDR, portField :=omit} |
p_sipUrl.hostPort := {host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, portField :=omit} |
} |
case (c_userProfile_ISUP) { |
p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_ISUP_PUBLIC_USER, password:=omit}; |
875,6 → 883,63 |
|
}//end function f_awaitingRegistration_IMS |
|
|
/** |
* |
* @desc remove registration |
* @param p_cSeq_s cseq parameter |
*/ |
function f_RemoveRegistration_IMS(inout CSeq p_cSeq) runs on SipComponent |
{ |
var CommaParam_List v_challenge; |
var Credentials v_credentials; |
var template REGISTER_Request v_request; |
|
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.msgHeader.route := f_route(); |
|
f_SendREGISTER(v_request); |
if (PX_SIP_REGISTER_AUTHENTICATION_ENABLED) |
{ |
// receiving 401 Unauthorized response. |
// and Re-send REGISTER request with Authorization header |
tc_ack.start(PX_SIP_TACK); |
alt |
{ |
[] SIPP.receive (mw_Response_Base(c_statusLine401, vc_callIdReg, p_cSeq)) -> value vc_response |
{ |
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.msgHeader.route := f_route(); |
// Re-send protected REGISTER |
f_SendREGISTER(v_request);//LibSip |
|
// awaiting 200 OK REGISTER |
f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq)); |
} |
[] SIPP.receive (mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq))-> value vc_response |
{ |
tc_ack.stop; |
f_setHeadersOnReceiptOfResponse(vc_cSeq, vc_response); |
log ("Authorization was not requested as expected"); |
} |
} |
} |
else |
{ |
f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callIdReg, p_cSeq)); |
} |
} |
} // end f_RemoveRegistration_IMS |
|
|
} // end group registration |
|
group preambles { |
908,7 → 973,7 |
//Preamble |
f_init_userprofile(p_userprofile); // assignment of PIXIT values to component variable |
vc_sdp_local := valueof(m_SDP_bandwidth(valueof(m_media_dynPT(PX_SIP_SDP_dyn, PX_SIP_SDP_encoding)), vc_userprofile)); |
|
vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile))); |
} |
|
/* |