asterisk: Allow configuring a domain servername instead of IP address
Change-Id: I23afdc8b70132dbd947c280f6e5aadbc84849f01
diff --git a/asterisk/Asterisk_Tests.ttcn b/asterisk/Asterisk_Tests.ttcn
index 4ac7eaf..5a51d1d 100644
--- a/asterisk/Asterisk_Tests.ttcn
+++ b/asterisk/Asterisk_Tests.ttcn
@@ -37,6 +37,7 @@
charstring mp_local_ims_host := "127.0.0.3";
integer mp_local_ims_port := 5060;
+ charstring mp_ims_domain := "ims.mnc001.mcc238.3gppnetwork.org"
charstring mp_ims_imsi := "238010000090828";
/* Asterisk AMI: */
@@ -88,6 +89,7 @@
var template (value) IMS_CallPars cp := t_IMS_CallPars(mp_local_sip_host, 1234 + 2*idx);
var template (value) IMS_ConnHdlrPars pars := t_IMS_Pars(mp_local_ims_host,
mp_local_ims_port,
+ mp_ims_domain,
mp_ims_imsi,
cp := cp);
return valueof(pars);
@@ -393,7 +395,7 @@
c_auth_res, c_auth_ck, c_auth_ik);
AMI_CLIENT.receive(tr_AMI_Event_Registry(f_sip_SipAddr_to_str(pars.subscr.local_sip_record),
- "sip:" & mp_local_ims_host,
+ "sip:" & mp_ims_domain,
"Registered"));
/* TODO: test "Action: PJSIPUnregister" */
@@ -449,9 +451,9 @@
sip_pars.cp.calling := sip_pars.registrar_sip_record;
sip_pars.cp.called := valueof(ts_SipAddr(ts_HostPort(sip_pars.remote_sip_host),
ts_UserInfo(c_ext_msisdn)));
- ims_pars.subscr.cp.calling := valueof(ts_SipAddr(ts_HostPort(ims_pars.local_sip_host),
+ ims_pars.subscr.cp.calling := valueof(ts_SipAddr(ts_HostPort(ims_pars.realm),
ts_UserInfo(ims_pars.subscr.msisdn)));
- ims_pars.subscr.cp.called := valueof(ts_SipAddr(ts_HostPort(ims_pars.local_sip_host),
+ ims_pars.subscr.cp.called := valueof(ts_SipAddr(ts_HostPort(ims_pars.realm),
ts_UserInfo(c_ext_msisdn)));
vc_conn_ims := f_start_handler_IMS(refers(f_TC_ims_call_mo), ims_pars);
diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 3f0c380..a2f3dba 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -144,6 +144,7 @@
template (value) IMS_ConnHdlrSubscrPars t_IMS_SubscrPars(charstring local_sip_host,
uint16_t local_sip_port,
+ charstring domain,
charstring imsi,
charstring msisdn := "90828",
charstring display_name := "Anonymous",
@@ -166,19 +167,19 @@
ipsec_remote_spi_s := omit,
ipsec_remote_port_c := omit,
ipsec_remote_port_s := omit,
- registrar_sip_record := ts_SipAddr(ts_HostPort(local_sip_host),
+ registrar_sip_record := ts_SipAddr(ts_HostPort(domain),
ts_UserInfo(imsi),
f_sip_str_quote(display_name)),
- registrar_sip_call_id := hex2str(f_rnd_hexstring(15)) & "@" & local_sip_host,
+ registrar_sip_call_id := hex2str(f_rnd_hexstring(15)) & "@" & domain,
registrar_sip_seq_nr := f_sip_rand_seq_nr(),
- local_sip_url_ext := ts_SipUrl(ts_HostPort(local_sip_host, local_sip_port),
+ local_sip_url_ext := ts_SipUrl(ts_HostPort(domain, local_sip_port),
ts_UserInfo(imsi)),
- local_sip_record := ts_SipAddr(ts_HostPort(local_sip_host),
+ local_sip_record := ts_SipAddr(ts_HostPort(domain),
ts_UserInfo(imsi)),
local_contact := valueof(ts_Contact({
ts_ContactAddress(
ts_Addr_Union_SipUrl(ts_SipUrl(ts_HostPort(
- local_sip_host,
+ domain,
local_sip_port),
ts_UserInfo(imsi))),
omit)
@@ -188,15 +189,16 @@
template (value) IMS_ConnHdlrPars t_IMS_Pars(charstring local_sip_host,
uint16_t local_sip_port,
+ charstring domain,
charstring imsi,
template (omit) IMS_CallPars cp := omit) := {
t_guard := 30.0,
- realm := local_sip_host,
+ realm := domain,
local_sip_host := local_sip_host,
local_sip_port := local_sip_port,
- registrar_sip_req_uri := valueof(ts_SipUrlHost(local_sip_host)),
+ registrar_sip_req_uri := valueof(ts_SipUrlHost(domain)),
local_via := ts_Via_from(ts_HostPort(local_sip_host, local_sip_port)),
- subscr := t_IMS_SubscrPars(local_sip_host, local_sip_port, imsi := imsi, cp := cp)
+ subscr := t_IMS_SubscrPars(local_sip_host, local_sip_port, domain := domain, imsi := imsi, cp := cp)
}
private altstep as_Tguard() runs on IMS_ConnHdlr {