diff options
Diffstat (limited to 'mgw/RTP_CodecPort.ttcn')
-rw-r--r-- | mgw/RTP_CodecPort.ttcn | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/mgw/RTP_CodecPort.ttcn b/mgw/RTP_CodecPort.ttcn new file mode 100644 index 00000000..f9293f4d --- /dev/null +++ b/mgw/RTP_CodecPort.ttcn @@ -0,0 +1,61 @@ +module RTP_CodecPort { + + import from IPL4asp_PortType all; + import from IPL4asp_Types all; + import from RTP_Types all; + + type record RTP_RecvFrom { + ConnectionId connId, + HostName remName, + PortNumber remPort, + HostName locName, + PortNumber locPort, + RTP_messages_union msg + }; + + template RTP_RecvFrom t_RTP_RecvFrom(template RTP_messages_union msg) := { + connId := ?, + remName := ?, + remPort := ?, + locName := ?, + locPort := ?, + msg := msg + } + + type record RTP_Send { + ConnectionId connId, + RTP_messages_union msg + } + + template RTP_Send t_RTP_Send(template ConnectionId connId, template RTP_messages_union msg) := { + connId := connId, + msg := msg + } + + private function IPL4_to_RTP_RecvFrom(in ASP_RecvFrom pin, out RTP_RecvFrom pout) { + pout.connId := pin.connId; + pout.remName := pin.remName; + pout.remPort := pin.remPort; + pout.locName := pin.locName; + pout.locPort := pin.locPort; + pout.msg := f_RTP_dec(pin.msg) + } with { extension "prototype(fast)" }; + + private function RTP_to_IPL4_Send(in RTP_Send pin, out ASP_Send pout) { + pout.connId := pin.connId; + pout.proto := { udp := {} }; + pout.msg := f_RTP_enc(pin.msg); + } with { extension "prototype(fast)" }; + + type port RTP_CODEC_PT message { + out RTP_Send; + in RTP_RecvFrom, + ASP_ConnId_ReadyToRelease, + ASP_Event; + } with { extension "user IPL4asp_PT + out(RTP_Send -> ASP_Send:function(RTP_to_IPL4_Send)) + in(ASP_RecvFrom -> RTP_RecvFrom: function(IPL4_to_RTP_RecvFrom); + ASP_ConnId_ReadyToRelease -> ASP_ConnId_ReadyToRelease: simple; + ASP_Event -> ASP_Event: simple)" + } +} |