pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37325?usp=email )
Change subject: asterisk: IMS: Expect P-Early-Media supported in MO INVITE
......................................................................
asterisk: IMS: Expect P-Early-Media supported in MO INVITE
Change-Id: I21f2c84b50be9b16fc45fa1fe72af40d715ee883
---
M asterisk/IMS_ConnectionHandler.ttcn
M library/SIP_Templates.ttcn
2 files changed, 31 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/37325/1
diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 1305e1d..51f96ea 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -1413,6 +1413,7 @@
tr_Via_from(f_tr_HostPort(g_pars.subscr.remote_sip_host,
g_pars.subscr.ipsec_remote_port_s)),
?,
accept := tr_Accept(superset(tr_AcceptBody("application/sdp"),
tr_AcceptBody("application/3gpp-ims+xml"))),
+ p_early_media := tr_P_Early_Media(superset("supported")),
supported := tr_Supported(superset("timer")),
body := ?);
var charstring sip_expect_str := log2str(exp_req);
@@ -1516,6 +1517,7 @@
g_pars.subscr.cp.to_addr,
invite_via,
g_pars.subscr.cp.sip_seq_nr,
+ p_early_media := ts_P_Early_Media({"recvonly"}),
rseq := ts_RSeq(1),
body := tx_sdp);
SIP.send(tx_resp);
diff --git a/library/SIP_Templates.ttcn b/library/SIP_Templates.ttcn
index bfb3655..3d2112c 100644
--- a/library/SIP_Templates.ttcn
+++ b/library/SIP_Templates.ttcn
@@ -325,6 +325,16 @@
p_assoc_uris := p_assoc_uris
}
+// RFC5009
+template (present) P_Early_Media tr_P_Early_Media(template Em_param_List em_param_list :=
*) := {
+ fieldName := P_EARLY_MEDIA_E,
+ em_param_list := em_param_list
+}
+template (value) P_Early_Media ts_P_Early_Media(template (omit) Em_param_List
em_param_list := omit) := {
+ fieldName := P_EARLY_MEDIA_E,
+ em_param_list := em_param_list
+}
+
// [RFC6050]
template (present) P_Preferred_Service tr_P_Preferred_Service(template (present)
Service_ID_List p_ps := ?) := {
fieldName := P_PREFERRED_SERVICE_E,
@@ -738,6 +748,7 @@
template (omit) MinExpires minExpires := omit,
template (omit) Min_SE min_SE := omit,
template (omit) P_Associated_Uri p_associated_uri := omit,
+ template (omit) P_Early_Media p_early_media := omit,
template (omit) RAck rack := omit,
template (omit) Require require := omit,
template (omit) RSeq rseq := omit,
@@ -769,6 +780,7 @@
minExpires := minExpires,
min_SE := min_SE,
p_associated_uri := p_associated_uri,
+ p_Early_Media := p_early_media,
rack := rack,
require := require,
rseq := rseq,
@@ -799,6 +811,7 @@
template Expires expires := *,
template Min_SE min_SE := *,
template P_Associated_Uri p_associated_uri := *,
+ template P_Early_Media p_early_media := *,
template RAck rack := *,
template Require require := *,
template RSeq rseq := *,
@@ -829,6 +842,7 @@
fromField := from_addr,
min_SE := min_SE,
p_associated_uri := p_associated_uri,
+ p_Early_Media := p_early_media,
rack := rack,
require := require,
rseq := rseq,
@@ -905,6 +919,7 @@
template (value) Contact contact,
integer seq_nr,
template (omit) Accept accept := omit,
+ template (omit) P_Early_Media p_early_media := omit,
template (omit) Min_SE min_SE := omit,
template (omit) Session_expires session_expires := omit,
template (omit) Supported supported := omit,
@@ -917,6 +932,7 @@
content_type := f_ContentTypeOrOmit(ts_CT_SDP, body),
accept := accept,
min_SE := min_SE,
+ p_early_media := p_early_media,
session_expires := session_expires,
supported := supported),
messageBody := body,
@@ -930,6 +946,7 @@
template Via via := tr_Via_from(f_tr_HostPort_opt_defport(?)),
template integer seq_nr,
template Accept accept := *,
+ template P_Early_Media p_early_media := *,
template Min_SE min_SE := *,
template Session_expires session_expires := *,
template Supported supported := *,
@@ -939,6 +956,7 @@
via, "INVITE", seq_nr,
accept := accept,
min_SE := min_SE,
+ p_early_media := p_early_media,
session_expires := session_expires),
messageBody := body,
payload := omit
@@ -1185,6 +1203,7 @@
Via via,
integer seq_nr,
charstring method := "INVITE",
+ template (omit) P_Early_Media p_early_media := omit,
template (omit) Require require := ts_Require({"100rel",
"precondition"}),
template (omit) RSeq rseq := ts_RSeq(1),
template (omit) charstring body := omit) := {
@@ -1193,6 +1212,7 @@
via,
content_length := f_ContentLength(body),
content_type := f_ContentTypeOrOmit(ts_CT_SDP, body),
+ p_early_media := p_early_media,
require := require,
rseq := rseq),
messageBody := body,
--
To view, visit
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37325?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I21f2c84b50be9b16fc45fa1fe72af40d715ee883
Gerrit-Change-Number: 37325
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange