source: trunk/ETSI-Testsuites/ETSI_auto_IOT/codec/validation/Simple_Testcases.ttcn @ 40

Last change on this file since 40 was 22, checked in by rings, 14 years ago
  • Property svn:executable set to *
File size: 8.9 KB
Line 
1module Simple_Testcases
2{
3        import from TestSystem all;
4        import from LibSip_SIPTypesAndValues all;
5        import from LibSip_SDPTypes all;
6        import from SipIsup_ISUP_MsgTypes all;
7
8        const charstring c_CRLF := oct2char('0D'O) & oct2char('0A'O);
9
10        template SipUrl m_simpleUrl (charstring user, charstring host, integer p) := {
11                scheme :=       "sip",
12                userInfo := {
13                       userOrTelephoneSubscriber := user,
14                       password := omit
15                },
16                hostPort := {
17                        host := host,
18                        portField := p
19                },
20                urlParameters := *,
21                headers :=      *
22        }
23
24        // testing SipUrl
25        testcase TC_SIMPLE_0001() runs on SipTest system SipTest {
26
27                // Preamble
28                connect (self:testPort, self:testPort);
29
30                // Test Body
31                testPort.send ("sip:user;par=u%40example.net@host:42");
32       
33                alt {
34                        [] testPort.receive (m_simpleUrl ("user;par=u%40example.net", "host", 42)) {
35                                setverdict (pass);
36                        }
37                        [] testPort.receive (SipUrl: ?) {
38                                setverdict (fail);
39                        }
40                }
41
42        }
43
44        // testing MessageHeader
45        testcase TC_SIMPLE_0002() runs on SipTest system SipTest {
46
47                // Preamble
48                connect (self:testPort, self:testPort);
49
50                // Test Body
51                testPort.send ( "From: Caller <sip:caller@host:42>;tag=123" & c_CRLF &
52                                "Via: SIP/2.0/UDP grabu.com, SIP/2.0/UDP etsi.org" & c_CRLF &
53                                "Via: SIP/2.0/UDP pouic-pouic.com" & c_CRLF &
54                                "Pouet: blah blah" & c_CRLF &
55                                "Via: SIP/2.0/UDP tutu.com" & c_CRLF &
56                                "Call-ID: a84b4c76e66710" & c_CRLF &
57                                "CSeq: 1 INVITE" & c_CRLF &
58                                "Content-Length: 0" & c_CRLF &
59                                "Content-Type: text/xml" & c_CRLF &                             
60                                "To: User <sip:user@host:42>;test=5" & c_CRLF &
61                                "Contact: User <sip:user@etsi.org:42;test=5?par1=2&par2=30>, <http://www.etsi.org>, tel:5678" & c_CRLF &
62                                "Contact: User3 <sip:user3@etsi.org>" & c_CRLF &
63                                "Accept: text/*;abc=5;def , image/*" & c_CRLF &
64                                "Accept: audio/*;abc=5;def" & c_CRLF &
65                                "Accept-Language: en-us, en-uk, CZ;condition=2;template=abc" & c_CRLF &
66                                "Max-Forwards: 5" & c_CRLF &
67                                "Accept-Encoding: gzip;def=2  , *" & c_CRLF &
68                                "Alert-Info: <sip:etsi.org>, <tel:123456>" & c_CRLF &
69                                "Allow:    INVITE, ACK,   BYE , CANCEL" & c_CRLF &
70                                "Authentication-Info: qop = auth, cnonce=""abc"",nc=00000021" & c_CRLF &
71                                "Authorization: digest username = ""test"", cnonce=""abc"",nc=00000021" & c_CRLF &
72                                "Authorization: digest username = ""test2"", cnonce=""bcd"",nc=00000031" & c_CRLF &
73                                "Call-Info: <sip:etsi.org>;purpose = info, <tel:123456>" & c_CRLF &
74                                "Content-Disposition: session;param1=1; param2=""25&""" & c_CRLF &
75                                "Content-Encoding: gzip" & c_CRLF &
76                                "Content-Language: fr, en-us, en-uk" & c_CRLF &
77                                "Date : Sat, 13 Nov 2010 23:29:00 GMT"  & c_CRLF &
78                                "Error-Info: <sip:etsi.org>, <tel:123456>;par1=5" & c_CRLF &
79                                "Expires: 45" & c_CRLF &
80                                "In-Reply-To:  a84b4c76e66610, a84b4c76e66620, a84b4c76e66630" & c_CRLF &
81                                "MIME-Version: 5.25" & c_CRLF &
82                                "Min-Expires: 10" & c_CRLF &
83                                "Organization: ETSI Einstein Building" & c_CRLF &
84                                "Priority: normal" & c_CRLF &
85                                "Proxy-Authenticate: digest qop = auth, cnonce=""abc"",nc=00000021" & c_CRLF &
86                                "Proxy-Authorization: digest username = ""test"", cnonce=""abc"",nc=00000021" & c_CRLF &
87                                "Proxy-Require: abc, data" & c_CRLF &
88                                "Record-Route: <sip:etsi.org>, <tel:123456>" & c_CRLF &
89                                "Record-Route: <sip:elvior.ee>, <tel:99123456>" & c_CRLF &
90                                "Reply-To: User <sip:user@host:42>;test=5" & c_CRLF &
91                                "Retry-After: 5 (this is a comment)" & c_CRLF &
92                                "Require: good_feedback, warp_speed" & c_CRLF &
93                                "Require: something_else" & c_CRLF &
94                                "Route: <sip:etsi.org>, <tel:123456>" & c_CRLF &
95                                "Server: server1 server2 server4 server8" & c_CRLF &
96                                "Subject: some subject" & c_CRLF &
97                                "Supported: feature1, feature2, feature3" & c_CRLF &
98                                "Timestamp: 55.0" & c_CRLF &
99                                "UnSupported: fancy_feature1, fancy_feature2" & c_CRLF &
100                                "User-Agent: server3 server5" & c_CRLF &
101                                "Warning: 0001 etsi.org:42 ""This is an important warning""" & c_CRLF &
102                                "WWW-Authenticate: digest qop = auth, cnonce=""abc"",nc=00000021" & c_CRLF &
103                                "Pouet: blah blah again" & c_CRLF &
104                                " on multiple lines" & c_CRLF
105                                );
106       
107                alt {
108                        [] testPort.receive (MessageHeader: ?) {
109                                setverdict (inconc);
110                        }
111                }
112               
113        }
114       
115        // simplest SDP message
116        // (example taken from RFC 4566)
117        testcase TC_SIMPLE_0003() runs on SipTest system SipTest {
118                // Preamble
119                connect (self:testPort, self:testPort);
120
121                // Test Body
122                testPort.send (
123                        "v=0" & c_CRLF &
124                        "o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5" & c_CRLF &
125                        "s=SDP Seminar" & c_CRLF
126                        );
127
128                alt {
129                        [] testPort.receive (SDP_Message: ?) {
130                                setverdict (inconc);
131                        }
132                        [] testPort.receive {
133                                setverdict (fail);
134                        }
135                }
136        }
137       
138        // more complex SDP message
139        testcase TC_SIMPLE_0004() runs on SipTest system SipTest {
140                // Preamble
141                connect (self:testPort, self:testPort);
142
143                // Test Body
144                testPort.send (
145                        "v=0" & c_CRLF &
146                        "o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5" & c_CRLF &
147                        "s=SDP Seminar" & c_CRLF &
148                        "i=A Seminar on the session description protocol" & c_CRLF &
149                        "u=http://www.example.com/seminars/sdp.pdf" & c_CRLF &
150                        "e=j.doe@example.com (Jane Doe)" & c_CRLF &
151                        "c=IN IP4 224.2.17.12/127" & c_CRLF &
152                        "t=2873397496 2873404696" & c_CRLF &
153                        "a=blah:BLAHBLAH" & c_CRLF &
154                        "a=truc" & c_CRLF &
155                        "a=cat:blah.blah.blah" & c_CRLF &
156                        "a=keywds:blah blih bloh" & c_CRLF &
157                        "a=tool:some useless tool" & c_CRLF &
158                        "a=ptime:3254235" & c_CRLF &
159                        "a=maxptime:13254235" & c_CRLF &
160                        "a=rtpmap:99 h263-1998/90000" & c_CRLF &
161                        "a=recvonly" & c_CRLF &
162                        "a=sendrecv" & c_CRLF &
163                        "a=sendonly" & c_CRLF &
164                        "a=inactive" & c_CRLF &
165                        "a=orient:landscape" & c_CRLF &
166                        "a=type:meeting" & c_CRLF &
167                        "a=charset:ISO-8859-1" & c_CRLF &
168                        "a=sdplang:fr" & c_CRLF &
169                        "a=lang:en" & c_CRLF &
170                        "a=framerate:25.0" & c_CRLF &
171                        "a=quality:8" & c_CRLF &
172                        "a=fmtp:100 98/98" & c_CRLF &
173                        "a=curr:qos local send" & c_CRLF &
174                        "a=des:blah failure remote none" & c_CRLF &
175                        "a=conf:truc e2e sendrecv" & c_CRLF &
176                        "m=blah 49170/234 RTP/AVP/FOO/BAR 0 1 hello world" & c_CRLF &
177                        "i=I like to blah blah blah blah" & c_CRLF &
178                        "c=IN IP4 192.168.0.42" & c_CRLF &
179                        "c=IN IP4 224.2.17.12/127" & c_CRLF &
180                        "c=IN IP4 224.2.2.1/3/34" & c_CRLF &
181                        "c=IN IP4 foo.bar.com" & c_CRLF &
182                        "c=IN IP6 fe80::204:00ff:fe09:3424" & c_CRLF &
183                        "c=IN IP6 ff0a::42/456" & c_CRLF &
184                        "b=foo:1234" & c_CRLF &
185//                      "b=blah:567890" & c_CRLF &      // FIXME: multiple bandwith fields allowed by the BNF but not by the types
186                        "k=prompt" & c_CRLF &
187                        "a=quality:8" & c_CRLF &
188                        "a=fmtp:100 98/98" & c_CRLF &
189                        "m=audio 49170 RTP/AVP 0" & c_CRLF &
190                        "m=video 51372 RTP/AVP 99" & c_CRLF &
191                        "a=rtpmap:99 h263-1998/90000" & c_CRLF
192                        );
193
194                alt {
195                        [] testPort.receive (SDP_Message: ?) {
196                                setverdict (inconc);
197                        }
198                        [] testPort.receive {
199                                setverdict (fail);
200                        }
201                }
202        }
203       
204        // long SDP message
205        testcase TC_SIMPLE_0005() runs on SipTest system SipTest {
206                // Preamble
207                connect (self:testPort, self:testPort);
208
209                // Test Body
210                testPort.send (
211                        "v=0" & c_CRLF &
212                        "o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5" & c_CRLF &
213                        "s=SDP Seminar" & c_CRLF &
214                        "i=A Seminar on the session description protocol" & c_CRLF &
215                        "u=http://www.example.com/seminars/sdp.pdf" & c_CRLF &
216                        "e=j.doe@example.com (Jane Doe)" & c_CRLF &
217                        "e=ublah@blah.com (Blah blaH)" & c_CRLF &
218                        "e=ublah2@blahblah.com (Blah 2 Blah Blah)" & c_CRLF &
219                        "e=reverse order <in.the@other.order.com>" & c_CRLF &
220                        "e=without@dispname.com" & c_CRLF &
221                        "p=044934-3454" & c_CRLF &
222                        "p=+33 2 99 84 71 71 (fax)" & c_CRLF &
223                        "p=in reverse order <+33 2 99 84 13 37>" & c_CRLF &
224                        "c=IN IP4 224.2.17.12/1/27" & c_CRLF &
225                        "b=X-YZ:128" & c_CRLF &
226                        "b=blah:42" & c_CRLF &
227                        "t=2873397496 2873404696" & c_CRLF &
228                        "t=42 1337" & c_CRLF &
229                        "r=1 2" & c_CRLF &
230                        "r=1 23 456 7890" & c_CRLF &
231                        "z=1231241314 234234s 1234234902394 -234245d" & c_CRLF &
232                        "k=clear:blah! blah!" & c_CRLF &
233                        "a=recvonly" & c_CRLF &
234                        "m=audio 49170 RTP/AVP 0" & c_CRLF &
235                        "m=video 51372 RTP/AVP 99" & c_CRLF &
236                        "a=rtpmap:99 h263-1998/90000" & c_CRLF
237                        );
238
239                alt {
240                        [] testPort.receive (SDP_Message: ?) {
241                                setverdict (inconc);
242                        }
243                        [] testPort.receive {
244                                setverdict (fail);
245                        }
246                }
247        }
248       
249        // SDP message with an IPv6 connection address
250        testcase TC_SIMPLE_0006() runs on SipTest system SipTest {
251                // Preamble
252                connect (self:testPort, self:testPort);
253
254                // Test Body
255                testPort.send (
256                        "v=0" & c_CRLF &
257                        "o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5" & c_CRLF &
258                        "s=SDP Seminar" & c_CRLF &
259                        "c=IN IP6 ff08::232:ff:fe00:1337/24" & c_CRLF
260                        );
261
262                alt {
263                        [] testPort.receive (SDP_Message: ?) {
264                                setverdict (inconc);
265                        }
266                        [] testPort.receive {
267                                setverdict (fail);
268                        }
269                }
270        }
271       
272       
273        // ISUP Initial Address message
274        testcase TC_SIMPLE_0007() runs on SipTest system SipTest {
275                // Preamble
276                connect (self:testPort, self:testPort);
277
278                // Test Body
279                testPort.send ('010061000A03020B090490006956210037F60A070311843301332500'O);
280
281                alt {
282                        [] testPort.receive (ISUP_BICC_MSG: ?) {
283                                setverdict (inconc);
284                        }
285                        [] testPort.receive {
286                                setverdict (fail);
287                        }
288                }
289        }
290}
Note: See TracBrowser for help on using the repository browser.