SIP_Templates: Allow passing UserAgent field
This way it can be set to omit, since this field is not set by an IMS
core.
Change-Id: Ib1e3e66b8fe46ad2626b07193dfcaa594f26352e
diff --git a/library/SIP_Templates.ttcn b/library/SIP_Templates.ttcn
index e1c9ec6..e6e8b53 100644
--- a/library/SIP_Templates.ttcn
+++ b/library/SIP_Templates.ttcn
@@ -228,6 +228,16 @@
optionsTags := optionsTags
}
+// [20.41 RFC2616 14.43]
+template (value) UserAgent ts_UserAgent(template (value) ServerVal_List userAgentBody := {}) := {
+ fieldName := USER_AGENT_E,
+ userAgentBody := userAgentBody
+}
+template (present) UserAgent tr_UserAgent(template (present) ServerVal_List userAgentBody := ?) := {
+ fieldName := USER_AGENT_E,
+ userAgentBody := userAgentBody
+}
+
template (value) SipAddr ts_SipAddr(template (value) HostPort host_port,
template (omit) UserInfo user_info := omit,
@@ -527,6 +537,7 @@
template (omit) Security_client security_client := omit,
template (omit) Security_server security_server := omit,
template (omit) Supported supported := omit,
+ template (omit) UserAgent userAgent := ts_UserAgent({ "osmo-ttcn3-hacks/0.23" }),
template (omit) WwwAuthenticate wwwAuthenticate := omit
) modifies ts_SIP_msgHeader_empty := {
allow := allow,
@@ -557,12 +568,7 @@
addressField := to_addr.addr,
toParams := to_addr.params
},
- userAgent := {
- fieldName := USER_AGENT_E,
- userAgentBody := {
- "osmo-ttcn3-hacks/0.23"
- }
- },
+ userAgent := userAgent,
via := via,
wwwAuthenticate := wwwAuthenticate
}
@@ -582,6 +588,7 @@
template Security_client security_client := *,
template Security_server security_server := *,
template Supported supported := *,
+ template UserAgent userAgent := *,
template WwwAuthenticate wwwAuthenticate := *
) modifies t_SIP_msgHeader_any := {
allow := allow,
@@ -611,7 +618,7 @@
addressField := to_addr.addr,
toParams := to_addr.params
},
- userAgent := *,
+ userAgent := userAgent,
via := via,
wwwAuthenticate := wwwAuthenticate
}