pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38179?usp=email )
Change subject: asterisk: TC_ims_reregistration: Expect re-register using existing ipsec
ctx
......................................................................
asterisk: TC_ims_reregistration: Expect re-register using existing ipsec ctx
Change-Id: I8d100dbba6cddfa5f31437c9cdc8c48f1bbd5701
---
M asterisk/Asterisk_Tests.ttcn
M asterisk/IMS_ConnectionHandler.ttcn
2 files changed, 13 insertions(+), 13 deletions(-)
Approvals:
jolly: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn
index 20e01e7..dccf9fa 100644
--- a/asterisk/Asterisk_Tests.ttcn
+++ b/asterisk/Asterisk_Tests.ttcn
@@ -706,11 +706,11 @@
f_create_sip_expect(valueof(ts_SipUrl_from_Addr_Union(g_pars.subscr.registrar_sip_record.addr)));
as_IMS_register();
- /* Re-Register: This should optimally be a as_IMS_2nd_register() instead... */
timer Trereg;
Trereg.start(int2float(g_pars.subscr.registrar_expires) - 5.0);
+ g_pars.subscr.registrar_expires := c_def_expires;
alt {
- [] as_IMS_register();
+ [] as_IMS_2nd_register();
[] Trereg.timeout {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str(g_name & ": Timeout
waiting for re-registration"));
}
@@ -730,8 +730,8 @@
f_AMI_IMS_register(pars);
- /* Re-Register: if this was a 2nd REGISTER, then reauth shouldn't be needed... */
- as_AMI_IMS_register_Auth(pars, resync := false);
+ /* Wait for Asterisk to re-register and IMS_ConnHdlr to handle it... */
+ f_sleep(int2float(pars.subscr.registrar_expires));
/* Trigger unregistration: */
f_AMI_IMS_unregister(pars);
diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 12f624c..39abc59 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -102,6 +102,7 @@
integer registrar_expires,
SipUrl local_sip_url_ext,
SipAddr local_sip_record,
+ WwwAuthenticate www_auth optional,
Contact registered_contact optional,
P_Associated_Uri p_associated_uri,
IMS_CallPars cp optional
@@ -241,6 +242,7 @@
ts_UserInfo(imsi)),
local_sip_record := ts_SipAddr(ts_HostPort(domain),
ts_UserInfo(imsi)),
+ www_auth := omit,
registered_contact := omit,
p_associated_uri := ts_P_Associated_Uri({}),
cp := cp
@@ -781,7 +783,6 @@
var CallidString sip_call_id;
var template (value) From from_addr;
var template (value) To to_addr;
- var WwwAuthenticate wwwAuthenticate;
var Security_server security_server;
var template (value) Require require := ts_Require({"sec-agree"});
var template (value) Supported supported := ts_Supported({"sec-agree"});
@@ -835,7 +836,7 @@
}
to_addr.toParams := f_sip_param_set(to_addr.toParams, "tag",
f_sip_rand_tag());
- wwwAuthenticate := f_gen_WwwAuthenticate();
+ g_pars.subscr.www_auth := f_gen_WwwAuthenticate();
security_server := f_gen_Security_server();
/* Tx 401 Unauthorized */
@@ -843,7 +844,7 @@
from_addr,
to_addr,
via,
- wwwAuthenticate,
+ g_pars.subscr.www_auth,
sip_seq_nr,
"REGISTER",
p_associated_uri := g_pars.subscr.p_associated_uri,
@@ -857,7 +858,7 @@
/* Now we should receive a new non-protected REGISTER
* with Authoritzation containing auts in base64: */
var template (present) Authorization authorization :=
- f_tr_Authorization_AKAv1MD5(wwwAuthenticate,
+ f_tr_Authorization_AKAv1MD5(g_pars.subscr.www_auth,
g_pars.subscr.imsi & "@" & g_pars.realm,
f_sip_SipUrl_to_str(g_pars.registrar_sip_req_uri));
exp_req :=
@@ -906,7 +907,7 @@
from_addr,
to_addr,
via,
- wwwAuthenticate,
+ g_pars.subscr.www_auth,
sip_seq_nr,
"REGISTER",
p_associated_uri := g_pars.subscr.p_associated_uri,
@@ -918,7 +919,7 @@
}
/* Now we should receive a new REGISTER over ipsec: */
- as_IMS_2nd_register(wwwAuthenticate, early_ret := early_ret);
+ as_IMS_2nd_register(early_ret := early_ret);
}
[fail_others] as_SIP_fail_resp(sip_expect_str);
[fail_others] as_SIP_fail_req(sip_expect_str);
@@ -926,12 +927,11 @@
}
/* Peer is issuing 2nd register, accept it: */
-altstep as_IMS_2nd_register(WwwAuthenticate wwwAuthenticate,
- IMS_register_early_return early_ret := IMS_REG_EARLY_RET_BEFORE_None,
+altstep as_IMS_2nd_register(IMS_register_early_return early_ret :=
IMS_REG_EARLY_RET_BEFORE_None,
boolean fail_others := true) runs on IMS_ConnHdlr
{
var template (present) Authorization authorization :=
- f_tr_Authorization_AKAv1MD5(wwwAuthenticate,
+ f_tr_Authorization_AKAv1MD5(g_pars.subscr.www_auth,
g_pars.subscr.imsi & "@" & g_pars.realm,
f_sip_SipUrl_to_str(g_pars.registrar_sip_req_uri));
var template (present) PDU_SIP_Request exp_req :=
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38179?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I8d100dbba6cddfa5f31437c9cdc8c48f1bbd5701
Gerrit-Change-Number: 38179
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>