daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/27117 )
Change subject: MGCP_Templates: Add receive templates for SDP and use those in {CR,MD}CX ......................................................................
MGCP_Templates: Add receive templates for SDP and use those in {CR,MD}CX
Change-Id: Ibc46888b1b7913d399c79ab735841844ff0487ad --- M library/MGCP_Templates.ttcn 1 file changed, 52 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/17/27117/1
diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn index 917ef89..59aeb7b 100644 --- a/library/MGCP_Templates.ttcn +++ b/library/MGCP_Templates.ttcn @@ -113,10 +113,10 @@ sdp := sdp }
- template MgcpCommand tr_CRCX(template MgcpEndpoint ep := ?) := { + template MgcpCommand tr_CRCX(template MgcpEndpoint ep := ?, template SDP_Message sdp := *) := { line := t_MgcpCmdLine("CRCX", ?, ep), params := *, - sdp := * + sdp := sdp }
template MgcpResponse tr_CRCX_ACK := { @@ -187,10 +187,10 @@ sdp := sdp }
- template MgcpCommand tr_MDCX := { + template MgcpCommand tr_MDCX(template SDP_Message sdp := *) := { line := t_MgcpCmdLine("MDCX", ?, ?), params := *, - sdp := * + sdp := sdp }
template MgcpResponse tr_MDCX_ACK := { @@ -284,6 +284,18 @@ } }
+ template SDP_connection tr_SDP_connection_IP(template charstring addr, template charstring addr_type := ?, + template integer ttl := *, + template integer num_of_addr := *) := { + net_type := "IN", + addr_type := addr_type, + conn_addr := { + addr := addr, + ttl := ttl, + num_of_addr := num_of_addr + } + } + template SDP_time ts_SDP_time(charstring beg, charstring end) := { time_field := { start_time := beg, @@ -310,6 +322,25 @@ attributes := attributes }
+ template SDP_media_desc tr_SDP_media_desc(template integer port_number := ?, + template SDP_fmt_list fmts := ?, + template SDP_attribute_list attributes := ?) := { + media_field := { + media := "audio", + ports := { + port_number := port_number, + num_of_ports := omit + }, + transport := "RTP/AVP", + fmts := fmts + }, + information := omit, + connections := omit, + bandwidth := omit, + key := omit, + attributes := attributes + } + /* master template for generating SDP based in template arguments */ template SDP_Message ts_SDP(charstring local_addr, charstring remote_addr, charstring session_id, charstring session_version, @@ -331,6 +362,23 @@ media_list := { ts_SDP_media_desc(rtp_port, fmts, attributes) } }
+ template SDP_Message tr_SDP(template charstring remote_addr := ?, template integer rtp_port := ?) := { + protocol_version := 0, + origin := ?, + session_name := ?, + information := *, + uri := *, + emails := *, + phone_numbers := *, + connection := tr_SDP_connection_IP(remote_addr, ?), + bandwidth := *, + times := ?, + timezone_adjustments := *, + key := *, + attributes := *, + media_list := { tr_SDP_media_desc(rtp_port) } + } + template SDP_attribute ts_SDP_rtpmap(integer fmt, charstring val) := { rtpmap := { attr_value := int2str(fmt) & " " & val