Commit 5b1d69a7 authored by wattelet's avatar wattelet
Browse files

Update of URI computation

parent 6baa53f4
Loading
Loading
Loading
Loading
+9 −5
Original line number Original line Diff line number Diff line
@@ -3356,27 +3356,31 @@ module LibDiameter_Templates {
         */
         */
        function f_DiameterURI_2_UTF8String(in template DiameterURI p_diameterURI) return UTF8String {
        function f_DiameterURI_2_UTF8String(in template DiameterURI p_diameterURI) return UTF8String {
            var UTF8String v_utf8String;
            var UTF8String v_utf8String;
            var template charstring v_scheme, v_diameterId_FQDN, v_transport, v_protocol;
            var template charstring v_scheme, v_diameterId_FQDN, v_port, v_transport, v_protocol;
            var template integer v_portField;
            var integer v_portField;
            var template charstring v_tailString := "";
            
            
            
            
            v_scheme := p_diameterURI.scheme;
            v_scheme := p_diameterURI.scheme;
            v_diameterId_FQDN := p_diameterURI.diameterId_FQDN;
            v_diameterId_FQDN := p_diameterURI.diameterId_FQDN;
            if (ispresent(p_diameterURI.portField)) 
            if (ispresent(p_diameterURI.portField)) 
            {
            {
                v_portField := p_diameterURI.portField;
                v_portField := valueof (p_diameterURI.portField);
                v_port := int2char( v_portField );
                v_tailString := ":" & v_port;
            }
            }
            if (ispresent(p_diameterURI.transport)) 
            if (ispresent(p_diameterURI.transport)) 
            {
            {
                v_transport := p_diameterURI.transport;
                v_transport := p_diameterURI.transport;
                v_tailString := ";transport=" & v_transport;
            }
            }
            
            
            if (ispresent(p_diameterURI.protocol)) 
            if (ispresent(p_diameterURI.protocol)) 
            {
            {
                v_protocol := p_diameterURI.protocol;
                v_protocol := p_diameterURI.protocol;
                v_tailString := ";protocol=" & v_protocol;
            }
            }
            //FIXME add also cases if portField, transport and protocol are present
            v_utf8String := v_scheme & "://" & v_diameterId_FQDN & v_tailString;
            v_utf8String := v_scheme & "://" & v_diameterId_FQDN;
            
            
            return v_utf8String;
            return v_utf8String;