asterisk: IMS: Validate P-Access-Network-Info in rx INVITE
Change-Id: Ie4c4c4e11abbaae81f934675c569b09433a5eb15
diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 7819e62..1eae16d 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -697,9 +697,15 @@
contact := g_rx_sip_req.msgHeader.contact;
f_ims_validate_register_contact(contact);
- /* Validate P-Access-Network-Info: */
+ /* Validate P-Access-Network-Info: 3GPP TS 24.229 5.1.2A.1.1
+ * "If available to the UE (as defined in the access technology specific annexes for each access technology), the UE shall
+ * insert a P-Access-Network-Info header field into any request for a dialog, any subsequent request (except CANCEL
+ * requests) or response (except CANCEL responses) within a dialog or any request for a standalone method (see
+ * subclause 7.2A.4). Insertion of the P-Access-Network-Info header field into the ACK request is optional."
+ */
f_ims_validate_register_P_Access_Network_info(g_rx_sip_req, exp_present := true);
+
/* Tx 100 Tyring */
tx_resp := ts_SIP_Response_Trying(sip_call_id,
from_addr,
@@ -772,6 +778,8 @@
f_ConnHdlr_parse_initial_SIP_INVITE(g_rx_sip_req);
via := g_rx_sip_req.msgHeader.via;
+ f_ims_validate_register_P_Access_Network_info(g_rx_sip_req, exp_present := true);
+
/* Tx 180 Ringing */
tx_resp := ts_SIP_Response_Ringing(g_pars.subscr.cp.sip_call_id,