Commit 9e5de772 authored by Andreas Liebig's avatar Andreas Liebig
Browse files

Add simple ESRP test purpose

parent 07f30895
Loading
Loading
Loading
Loading
+180 −0
Original line number Diff line number Diff line
/* ETSI Software License
* As long as the hereunder conditions are respected, non-exclusive permission is hereby granted,
* free of charge, to use, reproduce and modify this software source code, under the following conditions:
* This source code is provided AS IS with no warranties, express or implied, including but not limited to,
* the warranties of merchantability, fitness for a particular purpose and warranties for non-infringement
* of intellectual property rights.
* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without
* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary
* loss) arising out of or related to the use of or inability to use the source code.
* This permission is granted to facilitate the implementation of the related ETSI standard, provided that
* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions
* as the present permission.
* This permission does not apply to any documentation associated with this source code for which ETSI keeps
* all rights reserved.
* The present ETSI Source Code license shall be included in all copies of whole or part of this source code
* and shall not imply any sub-license right.
* (c) ETSI 2018 
*/
 
 
Package NG112_ESRP {
        Domain {
            pics:
                - PICS_SERVICE_ESRP
                ;
            entities:
                - IUT
                - ECRF
                - PSAP
                ;
            events:
                - receives //for packets coming from the network to the IUT
                - sends //for packets sent by the IUT to the network
                - forwards //forwards the previously received message to the next hop
                - isConfiguredWith //IUT is configured to use the ECRF
                - isReachableWith // the PSAP is reachable via the specified URI
                - receivedInitialInviteRequestAndSentLostQueryToEcrf // [ref esrp.txt:RECEIVED_INITITAL_INVITE_AND_SENT_LOST_REQUEST]
                - receivesLostResponseFor // IUT receives a LoST response for the give target URI [ref esrp.txt:RECEIVES_LOST_RESPONSE_FOR]
                ;
        }

//			Const {
//        SDP_AND_PIDF_MULTIPART [ref esrp.txt:SDP_AND_PIDF_MULTIPART];
//        SERVICE_URN_1: "urn:service:sos.police";
//        SIP_URI_1: "sip:police@city.com";
//        LOCATION_1: "12.00, 53.00"
//     }
        
//		Data {
//        	type PDU;	
//        }
//        Configuration {
//	        Interface Type defaultGT accepts PDU;
//	        Component Type NG112Comp with gate g of type defaultGT;
//	        Test Configuration CFG_ESRP_01 
//	        	containing 
//	        		Tester component BCF of type NG112Comp
//	        		Tester component LIS of type NG112Comp
//	        		Tester component ECRF of type NG112Comp
//	        		SUT component IUT of type NG112Comp
//	        		connection between BCF.g and IUT.g
//	        		connection between LIS.g and IUT.g
//	        		connection between ECRF.g and IUT.g;
//	    }

Test Purpose {
TP Id TP_ESRP_SIP_INVITE_BV_01
Test objective 
    "IUT successfully forwards an incoming SIP INVITE to the correct downstream element, based on the ECRF response" 
Reference 
    "Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.3",
    "https://tools.ietf.org/html/rfc5222"
//Config Id CFG_ESRP_01
PICS Selection PICS_SERVICE_ESRP
Initial conditions with {
    the IUT entity isConfiguredWith the ECRF
    and the PSAP entity isReachableWith the SIP_URI_1
    and the IUT entity receivedInitialInviteRequestAndSentLostQueryToEcrf
}
Expected behaviour
    ensure that {
        when {
            the IUT entity receives a SIP_INVITE containing
            	Request_URI indicating value SERVICE_URN_1,
                Content_Type indicating value "multipart/mixed",
                body containing
                    SDP_AND_PIDF_MULTIPART
                ;
             ;
             and the IUT entity sends a POST containing
             Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findService" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "location" containing
                                element "Point" inNamespace "http://www.opengis.net/gml" containing
                                    attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
                                    element "pos" indicating value LOCATION_1;
                            ,
                            element "service" indicating value SERVICE_URN_1;
                        ;
                    ;
                ;
             	; to the ECRF entity
             	and the IUT entity receives a httpResponse containing
                Status_Code indicating value "200 OK",
                version indicating value "1.0",
                Content_type indicating value "application/lost+xml;charset=utf-8",
                body containing
                    xmlMessage containing
                        version indicating value "1.0",
                        element "findServiceResponse" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                            element "mapping" containing
                                attribute "source",
                                attribute "sourceId",
                                attribute "lastUpdated",
                                attribute "expires",
                                element "service" indicating value SERVICE_URN_1,
                                element "uri" indicating value SIP_URI_1;
                            ,
                            element "locationUsed"
                        ;
                    ;
                ;
              ; from the ECRF entity
        }
        then {
            the IUT entity forwards a SIP_INVITE containing
                Request_URI indicating value SERVICE_URN_1,
                Content_Type indicating value "multipart/mixed",
                Route_Header indicating value SIP_URI_1
                body containing
                    SDP_AND_PIDF_MULTIPART
                ;
            ; to the PSAP entity
        }
    }
}  //End of TP_ESRP_SIP_INVITE_BV_01

Test Purpose {
TP Id TP_ESRP_SIP_INVITE_BV_02
Test objective 
    "IUT adds Incident-ID and Call-ID INFO headers" 
Reference 
    "Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.3",
    "https://tools.ietf.org/html/rfc5222"
//Config Id CFG_ESRP_01
PICS Selection PICS_SERVICE_ESRP
Initial conditions with {
    the IUT entity isConfiguredWith the ECRF
    and the PSAP entity isReachableWith the SIP_URI_1
    and the IUT entity receivedInitialInviteRequestAndSentLostQueryToEcrf
}
Expected behaviour
    ensure that {
        when {
            the IUT entity receivesLostResponseFor the SIP_URI_1 from the ECRF entity
        }
        then {
            the IUT entity forwards the SIP_INVITE containing
                Request_URI indicating value SERVICE_URN_1,
                Content_Type indicating value "multipart/mixed",
                Route indicating value SIP_URI_1,
                Call_Info containing 
                	uri indicating value valid "Incident Tracking Identifier",
                	purpose "EES-IncidentId"
                ;,
                Call_Info containing 
                	uri indicating value valid "Call Identifier",
                	purpose "EES-CallId"
                ;,
                body containing
                    SDP_AND_PIDF_MULTIPART
                ;
            ; to the PSAP entity
        }
    }
}  //End of TP_ESRP_SIP_INVITE_BV_02
}
 No newline at end of file

test_purposes/esrp.txt

0 → 100644
+102 −0
Original line number Diff line number Diff line
*** SDP
v=0
o=alice 2890844526 2890842807 IN IP4 atlanta.example.com
s=-
c=IN IP4 192.0.2.1
t=0 0
m=audio 20000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
m=video 20002 RTP/AVP 31
a=rtpmap:31 H261/90000


*** SDP_AND_PIDF_MULTIPART
 --boundary1
Content-Type: application/sdp

v=0
o=alice 2890844526 2890842807 IN IP4 atlanta.example.com
s=-
c=IN IP4 192.0.2.1
t=0 0
m=audio 20000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
m=video 20002 RTP/AVP 31
a=rtpmap:31 H261/90000

--boundary1
 Content-Type: application/pidf+xml
   Content-ID: <target123@atlanta.example.com>
   <?xml version="1.0" encoding="UTF-8"?>
      <presence xmlns="urn:ietf:params:xml:ns:pidf"
      entity="pres:3650n87934c@ls.example.com">
      <tuple id="b650sf789nd">
       <status>
        <geopriv xmlns="urn:ietf:params:xml:ns:pidf:geopriv10">
         <location-info>
          <Point xmlns="http://www.opengis.net/gml"
           srsName="urn:ogc:def:crs:EPSG::4326">
           <pos>12.00, 53.00</pos>
          </Point>
         </location-info>
         <usage-rules
          xmlns:gbp="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy">
          <gbp:retention-expiry>2006-01-11T03:42:28+00:00
          </gbp:retention-expiry>
         </usage-rules>
         <method>Wiremap</method>
        </geopriv>
       </status>
       <timestamp>2006-01-10T03:42:28+00:00</timestamp>
      </tuple>
     </presence>
--boundary1--


 *** RECEIVED_INITITAL_INVITE_AND_SENT_LOST_REQUEST
the IUT entity receives a SIP_INVITE containing
	Request_URI indicating value SERVICE_URN_1,
    Content_Type indicating value "multipart/mixed",
    body containing
        SDP_AND_PIDF_MULTIPART
    ;
 ;
 and the IUT entity sends a POST containing
 Content_type indicating value "application/lost+xml;charset=utf-8",
    body containing
        xmlMessage containing
            version indicating value "1.0",
            element "findService" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                element "location" containing
                    element "Point" inNamespace "http://www.opengis.net/gml" containing
                        attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
                        element "pos" indicating value LOCATION_1;
                ,
                element "service" indicating value SERVICE_URN_1;
            ;
        ;
    ;
 	; to the ECRF entity
 
 *** RECEIVES_LOST_RESPONSE_FOR [TARGET_URI]
 the IUT entity receives a httpResponse containing
    Status_Code indicating value "200 OK",
    version indicating value "1.0",
    Content_type indicating value "application/lost+xml;charset=utf-8",
    body containing
        xmlMessage containing
            version indicating value "1.0",
            element "findServiceResponse" inNamespace "urn:ietf:params:xml:ns:lost1" containing
                element "mapping" containing
                    attribute "source",
                    attribute "sourceId",
                    attribute "lastUpdated",
                    attribute "expires",
                    element "service" indicating value SERVICE_URN_1,
                    element "uri" indicating value [TARGET_URI];
                ,
                element "locationUsed"
            ;
        ;
    ;
  ; from the ECRF entity
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ a=rtpmap:31 H261/90000
         <location-info>
          <Point xmlns="http://www.opengis.net/gml"
           srsName="urn:ogc:def:crs:EPSG::4326">
           <pos>-34.407 150.88001</pos>
           <pos>12.00, 53.001</pos>
          </Point>
         </location-info>
         <usage-rules