source: trunk/ETSI-Testsuites/ETSI_auto_IOT/codec/validation/LibSip_Interface.ttcn @ 28

Last change on this file since 28 was 22, checked in by rings, 14 years ago
  • Property svn:executable set to *
File size: 8.0 KB
Line 
1/*
2 *      @author         STF 346, STF366, STF368, STF369
3 *  @version    $Id: LibSip_Interface.ttcn 256 2009-05-08 08:16:58Z pintar $
4 *      @desc           This module provides the types used by the test component
5 *              for SIP-IMS tests. Module become from STF306 and STF334-336
6 */
7
8module LibSip_Interface language "TTCN-3:2005"//MRO
9{       
10        //LibCommon
11        import from LibCommon_Sync all;
12        import from LibCommon_AbstractData all;
13        import from LibCommon_BasicTypesAndValues all;
14        import from LibCommon_DataStrings all;
15        //LibSip
16        import from LibSip_SIPTypesAndValues all;
17        import from LibSip_SDPTypes all;
18        import from LibSip_XMLTypes all;
19       
20        import from LibSip_PIXITS all;
21
22        group AdressTypes
23        {
24          type record address4SIP
25          {
26                //HostPort
27                charstring              host optional,        // hostname, IPv4 or IPv6
28                integer             portField optional    // represented as an integer
29          } with { encode "SIPCodec" }
30
31          type address4SIP address;
32
33        }// end group AdressTypes
34
35        type port SipPort message {
36                  inout Request,
37                                REGISTER_Request,
38                                INVITE_Request,
39                                OPTIONS_Request,
40                                BYE_Request,
41                                CANCEL_Request,
42                                ACK_Request,
43                                PRACK_Request,
44                                NOTIFY_Request,
45                                SUBSCRIBE_Request,
46                                PUBLISH_Request,
47                                UPDATE_Request,
48                                REFER_Request,
49                                MESSAGE_Request,
50                                INFO_Request,
51                                Response,
52                                Raw } with { extension "address" };
53                               
54        signature s_SIP_conversation (in charstring text, out boolean answer);
55        signature s_SIP_ringing (in charstring text, out boolean answer);
56    signature s_SIP_announcementA (in charstring text, out boolean answer);
57        signature s_SIP_announcementB (in charstring text, out boolean answer);
58        signature s_SIP_announcement (in charstring text, out boolean answer);
59        signature s_SIP_voiceMessage (in charstring text, out boolean answer);
60    signature s_SIP_mediastopped (in charstring text, out boolean answer);
61        type port operatorPort procedure {inout s_SIP_conversation; inout s_SIP_ringing; inout s_SIP_announcementA; inout s_SIP_announcementB; inout s_SIP_announcement; inout s_SIP_voiceMessage; inout s_SIP_mediastopped};
62                               
63        //      Solution for building error problem. (Important for validation)
64        //type component ImsComponent extends SipComponent need to be located in LibIms_Interface and not in LibSip_Interface module
65        //With this solution TAU compiler error.
66//      type component ImsComponent extends SipComponent
67//      {
68//              // general variables
69//              var ImsInterfaceProfile vc_interfaceprofile
70//       } // end ImsComponent
71
72        type component SipComponent
73        {
74          //port
75          port  SipPort SIPP;
76          // used for communication with the operator
77          port operatorPort opPort;
78
79          // current address to send TCP/UDP messages
80          var SipUserProfile vc_userprofile;            // PIXIT userinformation
81          var address            vc_sent_label  := {host := PX_SIP_SUT_IPADDR, portField := PX_SIP_SUT_PORT};
82
83          // last incoming message
84          var Response  vc_response;    // last incoming response message
85          var boolean   vc_boo_response := false; // to check if response received or not
86          var Request   vc_request;             // last incoming request message                                       
87          var boolean   vc_boo_request := false; // to check if request received or not
88          var Request   vc_requestFor407;       // last INVITE request to be authorized if 407/401 received from Proxy 
89
90          var SipUrl    vc_requestUri   := c_empty_RequestUri;
91          var SipUrl    vc_requestUri2  := c_empty_RequestUri;//MRO
92          var charstring vc_branch              := "";
93          var charstring vc_branch_ICSCF        := "";
94          var charstring vc_branch_SCSCF        := "";
95
96          // SIP message header fields (for building next message)
97          var CallId    vc_callId       := c_empty_CallId;
98          var CallId    vc_callIdReg    := c_empty_CallId;
99          var From              vc_from         := c_empty_From;
100          var To                vc_to           := c_empty_To;
101          var To                vc_cancel_To    := c_empty_To;  // used for next CANCEL
102          var Via               vc_via          := c_empty_Via;
103          var Via               vc_via_REG              := c_empty_Via; // via used in last REGISTER
104          var ContentType vc_contentType:= c_empty_ContentType;//MRO
105         
106          var RecordRoute vc_recordRoute;                        // value of RecordRoute header
107          var boolean   vc_boo_recordRoute := false; // boolean indicates valid recordRoute
108          var Route             vc_route;                                        // value of Route header
109          var boolean   vc_boo_route    := false;        // boolean indicates valid Route
110
111          var Contact   vc_contact;                     // value of Contact header
112          var CSeq              vc_cSeq                 := c_empty_cSeq;        // value of CSeq header
113          var RAck              vc_rAck                 := { fieldName := RACK_E, responseNum := 1, seqNumber := 1, method := "INVITE"}; // value of RAck header
114          var HostPort  vc_reqHostPort  := {host:=PX_SIP_SUT_IPADDR, portField:=PX_SIP_SUT_PORT}; // address to send request
115          var Privacy   vc_privacy;
116          var HistoryInfo_List vc_historyInfoList := {}; // value of history list according to RFC4244
117          var SipUrl      vc_confURI;    // conference URI according to TS124147 ch. 5.3.1.3.2
118          var SDP_Message vc_sdp_remote; // incoming SDP offers
119          var SDP_Message vc_sdp_local;  // SDP values to be sent
120          var XmlBody   vc_xml_remote;   // incoming XML value
121          var XmlBody   vc_xml_local;    //SDP values to be sent
122         
123          var CSeq              vc_iut_CSeq     := c_empty_cSeq;        // value of last CSeq header used by the IUT in request
124          // To/From header-fields to be used if the callee will release the session
125          var To                vc_callee_To    := c_empty_To;
126          var From              vc_callee_From  := c_empty_From;
127          // To/From header-fields to be used if the caller will release the session
128          var To                vc_caller_To    := c_empty_To;
129          var From              vc_caller_From  := c_empty_From;
130          var Authorization vc_authorization;
131                 
132          // variables for storing default references
133          var default   vc_default;
134          var default   vc_def_catchSyncStop;
135       
136          // general timers
137          timer tc_T1    := PX_SIP_T1;
138          timer tc_Tf    := PX_SIP_TF;
139          timer tc_wait  := PX_SIP_TWAIT;
140          timer tc_ack   := PX_SIP_TACK;
141          timer tc_resp  := PX_SIP_TRESP;
142          timer tc_noAct := PX_SIP_TNOACT; // time for SUT to get idle state
143//        timer TRept;
144//        timer TSync    := PX_SIP_TSYNC;
145          timer tc_guard   := PX_SIP_TGUARD;//MRO
146          timer tc_tDelay   := 32.0;
147
148          var float             vc_tcRESP                               := PX_SIP_TRESP; // standard value for TRESP (may be modified in particular tests)
149               
150        // indicators set/used parameter status or state handling in default
151          var boolean           vc_sdp_remote_is_valid  := false;       // true if there is a value in v_SDP_remote
152          var boolean           vc_history_is_valid     := false;       // true if there is a HistoryList in response message
153          var boolean           vc_send_SDP                     := false;       // send SDP in the next outgoing message
154          var boolean           vc_ignore_bye                   := false;       // enable ignore of repeated bye in default
155          var boolean           vc_ignore_invite                := false;       // enable ignore invite in default
156          var boolean           vc_ignore181                    := false;       // enable ignore of 181 in default
157          var boolean           vc_ignore484                    := false;       // enable ignore of 484 in default
158          var boolean           vc_ignore4xx                    := false;       // enable ignore of 4xx in default
159          var boolean           vc_ignore200OKinv               := false;       // enable ignore of 200OKinv in default
160          var boolean           vc_supported_100rel             := false;       // true if the received invite contains 100rel
161          var boolean           vc_supported_precondition:= false;      // true if the received invite contains precondition
162          var boolean           vc_MESSAGEreceived              := false;       // true if MESSAGE received during altstep
163          var boolean           vc_first_recv                   := false;       // true after receipt of first incomming SIP message
164          var boolean           vc_firstREGISTER_sent   := false;       // true after sent of first REGISTER message
165
166          var boolean v_white_space := false;//MRO
167
168          // ETS address
169      var address v_ets_label := { host := PX_SIP_TS1_IPADDR, portField := PX_SIP_TS1_PORT};
170
171          // parts needed for Client/SelfSyncComp type compatibility
172          var   StringStack v_stateStack := c_initStringStack;
173          port  SyncPort        syncSendPort;
174          port  SyncPort        syncPort;
175          timer tc_sync         := PX_TSYNC_TIME_LIMIT;
176                       
177//        // used for communication with the operator
178//        port operatorPort_SIP opPort;
179
180  } // end SipComponent
181 
182} // end module LibSip_Interface
Note: See TracBrowser for help on using the repository browser.