Rev

Rev 604 | Details | Compare with Previous | Last modification | View Log | SVN | Bug Tracker

Rev Author Line No. Line
560 garciay 1
/**
572 garciay 2
 * @author STF 346, STF366, STF368, STF369, STF450, STF471
3
 * @version $Id: LibSip_Templates.ttcn 607 2014-02-27 17:24:26Z nikolajev $
599 tepelmann 4
 * @desc This module defines SIP Templates for message, header, and
5
 *      structured types. <br>
6
 *      Note that any changes made to the definitions in this module
7
 *      may be overwritten by future releases of this library
8
 *      End users are encouraged to contact the distributers of this
9
 *      module regarding their modifications or additions.
10
 * @remark Any additions to the templates shall follow the design rules and always modify base templates only; Existing templates shall not be changed or removed - change requests shall be made to http://t-ort.etsi.org
9 rennoch 11
 */
572 garciay 12
module LibSip_Templates {
599 tepelmann 13
    // LibSip
572 garciay 14
    import from LibSip_SIPTypesAndValues all;
15
    import from LibSip_SDPTypes all;
16
    import from LibSip_Interface all;
17
    import from LibSip_PIXITS all;
18
    import from LibSip_XMLTypes all;
19
    import from LibSip_SimpleMsgSummaryTypes all;
20
    import from LibSip_MessageBodyTypes all;
9 rennoch 21
 
496 schmitting 22
    import from NoTargetNamespace language "XSD" all
23
    with {
572 garciay 24
        extension "File:../xsd/Ims3gpp.xsd";
496 schmitting 25
    }
572 garciay 26
 
496 schmitting 27
    import from urn_ietf_params_xml_ns_conference_info language "XSD" all
28
    with {
572 garciay 29
        extension "File:../xsd/CONF.xsd";
496 schmitting 30
    }
572 garciay 31
 
496 schmitting 32
    import from http_uri_etsi_org_ngn_params_xml_simservs_pstn language "XSD" all
33
    with {
572 garciay 34
        extension "File:../xsd/PSTN.xsd";
496 schmitting 35
    }
572 garciay 36
 
496 schmitting 37
    import from http_uri_etsi_org_ngn_params_xml_simservs_xcap language "XSD" all
38
    with {
572 garciay 39
        extension "File:../xsd/SupplementaryServices.xsd";
496 schmitting 40
    }
572 garciay 41
 
496 schmitting 42
    import from http_uri_etsi_org_ngn_params_xml_simservs_mcid language "XSD" all
43
    with {
572 garciay 44
        extension "File:../xsd/MCID.xsd";
496 schmitting 45
    }
572 garciay 46
 
496 schmitting 47
    import from urn_ietf_params_xml_ns_resource_lists language "XSD" all
48
    with {
572 garciay 49
        extension "File:../xsd/ResourceList.xsd";
496 schmitting 50
    }
572 garciay 51
 
502 pintar 52
    import from http_uri_etsi_org_ngn_params_xml_comm_div_info language "XSD" all
53
    with {
572 garciay 54
        extension "File:../xsd/CDIVN.xsd";
502 pintar 55
    }
56
 
57
    import from urn_3gpp_ns_cw_1_0 language "XSD" all
572 garciay 58
    with {
59
        extension "File:../xsd/cw.xsd";
502 pintar 60
    }
9 rennoch 61
 
572 garciay 62
    group ModuleParameters {
9 rennoch 63
 
572 garciay 64
        modulepar boolean MB_LENGTH_FROM_ENCVAL := true;
65
        //*     to get length of message body from ecoded value
66
        modulepar boolean USE_FX_FOR_XML_LENGTH := false;
9 rennoch 67
 
572 garciay 68
    //*     To use external functions for calculation of XML message/body length
69
    } //*     group ModuleParameters
9 rennoch 70
 
572 garciay 71
    group SubFields {
9 rennoch 72
 
599 tepelmann 73
        template(value) Addr_Union m_AddrUnion_NameAddr(template(value) NameAddr p_nameAddr) := {nameAddr := p_nameAddr}
9 rennoch 74
 
572 garciay 75
        template(value) Addr_Union m_AddrUnion_DisplayAndSipUrl(
599 tepelmann 76
            template(value) charstring p_displayName,
77
            template(value) SipUrl p_addrSpec
78
        ) := {
572 garciay 79
            nameAddr := m_CallingAddr(p_displayName, p_addrSpec)
80
        }
9 rennoch 81
 
572 garciay 82
        template(value) NameAddr m_NameAddr(
602 nikolajev 83
            template(omit) charstring p_displayName := omit,
599 tepelmann 84
            template(value) SipUrl p_addrSpec
85
        ) := {
86
            displayName := p_displayName,
87
            addrSpec := p_addrSpec
572 garciay 88
        }
9 rennoch 89
 
572 garciay 90
        template(value) NameAddr m_CallingAddr(
599 tepelmann 91
            template(value) charstring p_displayName,
92
            template(value) SipUrl p_addrSpec
93
        ) := m_NameAddr(p_displayName, p_addrSpec);
557 nikolajev 94
 
572 garciay 95
        template(present) NameAddr mw_NameAddr(
599 tepelmann 96
            template charstring p_displayName,
602 nikolajev 97
            template(present) SipUrl p_addrSpec := ?
599 tepelmann 98
        ) := {
99
            displayName := p_displayName,
100
            addrSpec := p_addrSpec
572 garciay 101
        }
9 rennoch 102
 
602 nikolajev 103
        template(present) CommaParam_List mw_digestResponse(
104
            template(present) GenericParam p_genericParam := ?
105
        ) := superset(p_genericParam);
106
 
599 tepelmann 107
        //*     c_Integrity_protected_yes
590 garciay 108
        template(value) SemicolonParam_List m_cpc := {
109
            {
599 tepelmann 110
                "cpc",
590 garciay 111
                PX_SIP_ISUP_CPC_VALUE
599 tepelmann 112
            }
590 garciay 113
        }
9 rennoch 114
 
572 garciay 115
        template(value) SemicolonParam_List m_ReasonParams(
602 nikolajev 116
            template(omit) charstring p_cause := omit,
599 tepelmann 117
            template(value) charstring p_text
118
        ) := {
572 garciay 119
            m_Cause(p_cause), m_Text(p_text)
120
        }
9 rennoch 121
 
572 garciay 122
        template(present) SemicolonParam_List mw_ReasonParams(
599 tepelmann 123
            template charstring p_cause,
124
            template charstring p_text
125
        ) := {
572 garciay 126
            mw_Cause_base(p_cause), mw_Text(p_text)
127
        }
532 rennoch 128
 
572 garciay 129
        template(value) ReasonValue m_ReasonValue_Base := {
599 tepelmann 130
            token := "",
572 garciay 131
            reasonParams := omit
132
        }
599 tepelmann 133
 
572 garciay 134
        template(present) ReasonValue mw_ReasonValue_Base := {
599 tepelmann 135
            token := ?,
572 garciay 136
            reasonParams := *
137
        }
599 tepelmann 138
 
572 garciay 139
        template(value) ReasonValue m_ReasonValue_param(
599 tepelmann 140
            template(value) charstring p_cause,
141
            template(value) charstring p_text
572 garciay 142
        ) modifies m_ReasonValue_Base := {
143
            reasonParams := m_ReasonParams(p_cause, p_text)
144
        }
599 tepelmann 145
 
572 garciay 146
        template(present) ReasonValue mw_ReasonValue_param(
599 tepelmann 147
            template charstring p_cause,
148
            template charstring p_text
572 garciay 149
        ) modifies mw_ReasonValue_Base := {
150
            reasonParams := mw_ReasonParams(p_cause, p_text)
151
        }
599 tepelmann 152
 
572 garciay 153
        template(value) ReasonValue m_ReasonValue(
599 tepelmann 154
            template(value) charstring p_cause,
155
            template(value) charstring p_text
572 garciay 156
        ) modifies m_ReasonValue_param := {
157
            token := "Q.850"
158
        }
599 tepelmann 159
 
572 garciay 160
        template(present) ReasonValue mw_ReasonValue(
599 tepelmann 161
            template charstring p_cause,
162
            template charstring p_text
572 garciay 163
        ) modifies mw_ReasonValue_param := {
164
            token := "Q.850"
165
        }
599 tepelmann 166
 
572 garciay 167
        template(value) ReasonValue m_ReasonValueSIP(
599 tepelmann 168
            template(value) charstring p_cause,
169
            template(value) charstring p_text
572 garciay 170
        ) modifies m_ReasonValue_param := {
171
            token := "SIP"
172
        }
599 tepelmann 173
 
572 garciay 174
        template(present) ReasonValue mw_ReasonValueSIP(
599 tepelmann 175
            template charstring p_cause,
176
            template charstring p_text
572 garciay 177
        ) modifies mw_ReasonValue_param := {
178
            token := "SIP"
179
        }
9 rennoch 180
 
602 nikolajev 181
        template(present) RouteBody mw_routeBody(
182
            template(present) SipUrl p_sipurl := ?
183
        ) := {
599 tepelmann 184
            nameAddr := mw_NameAddr(*, p_sipurl),
572 garciay 185
            rrParam := *
186
        }
187
 
602 nikolajev 188
        template(value) SentProtocol m_SentProtocol(
189
            template(value) charstring p_protocol
190
        ) := {
599 tepelmann 191
            protocolName := c_sipName,
192
            protocolVersion := c_sipVersion,
572 garciay 193
            transport := p_protocol
194
        }
195
 
603 tepelmann 196
        template(value) SipUrl m_BasicSipUrl := {
599 tepelmann 197
            scheme := (c_sipScheme),
572 garciay 198
            components := {
199
                sip := {
200
                    userInfo := {
599 tepelmann 201
                        userOrTelephoneSubscriber := "",  //*     charstring
202
                        password :=
203
                            omit //*     optional charstring
572 garciay 204
                    },
205
                    hostPort := {
599 tepelmann 206
                        host := omit,  //*     hostname, IPv4 or IPv6 as a charstring
207
                        portField :=
208
                            omit //*     p_userprofile.currPort - optional integer
572 garciay 209
                    }
210
                }
211
            },
599 tepelmann 212
            urlParameters := omit,
572 garciay 213
            headers := omit
214
        }
590 garciay 215
 
602 nikolajev 216
        template(value) SipUrl m_SipUrl_currDomain_Base(
217
            template(value) SipUserProfile p_userprofile
218
        ) modifies m_BasicSipUrl := {
219
            components := {
220
                sip := {
221
                    userInfo := {
222
                        userOrTelephoneSubscriber := p_userprofile.publUsername
223
                    }
224
                }
225
            }
226
        }
599 tepelmann 227
 
602 nikolajev 228
        template(value) SipUrl m_SipUrl_currDomain(
229
            template(value) SipUserProfile p_userprofile
230
        ) modifies m_SipUrl_currDomain_Base := {
572 garciay 231
            components := {
232
                sip := {
233
                    hostPort := {
234
                        host :=
599 tepelmann 235
                            p_userprofile
236
                            .homeDomain //*     hostname, IPv4 or IPv6 as a charstring
572 garciay 237
                    }
238
                }
239
            }
240
        }
241
 
602 nikolajev 242
        template(value) SipUrl m_SipUrl_contactIpaddr(
243
            template(value) SipUserProfile p_userprofile
244
        ) modifies m_SipUrl_currDomain_Base := {
572 garciay 245
            components := {
246
                sip := {
247
                    hostPort := {
590 garciay 248
                        host := p_userprofile.contactIpaddr,  //*     hostname, IPv4 or IPv6 as a charstring
599 tepelmann 249
                        portField :=
250
                            p_userprofile
251
                            .contactPort //*     optional integer
572 garciay 252
                    }
253
                }
254
            }
255
        }
256
 
602 nikolajev 257
        template(value) SipUrl m_SipUrl_contactIpaddrAndCpc(
258
            template(value) SipUserProfile p_userprofile
259
        ) modifies m_SipUrl_contactIpaddr := {
572 garciay 260
            components := {
261
                sip := {
262
                    userInfo := {
263
                        userOrTelephoneSubscriber :=
599 tepelmann 264
                            p_userprofile.publUsername & "; cpc=" &
265
                            PX_SIP_ISUP_CPC_VALUE //*     charstring
572 garciay 266
                    }
267
                }
268
            }
269
        }
270
 
602 nikolajev 271
        template(value) SipUrl m_SipUrl_currIpaddr(
272
            template(value) SipUserProfile p_userprofile
273
        ) modifies m_SipUrl_currDomain_Base := {
572 garciay 274
            components := {
275
                sip := {
276
                    hostPort := {
590 garciay 277
                        host := p_userprofile.currIpaddr,  //*     hostname, IPv4 or IPv6 as a charstring
599 tepelmann 278
                        portField :=
279
                            p_userprofile
280
                            .currPort //*     optional integer
572 garciay 281
                    }
282
                }
283
            }
284
        }
285
 
590 garciay 286
        template(value) SipUrl m_SipUrl_Anonymous modifies m_BasicSipUrl := {
572 garciay 287
            components := {
288
                sip := {
289
                    userInfo := {
599 tepelmann 290
                        userOrTelephoneSubscriber :=
291
                            "Anonymous" //*     charstring
572 garciay 292
                    },
293
                    hostPort := {
599 tepelmann 294
                        host :=
295
                            "Anonymous.invalid" //*     hostname, IPv4 or IPv6 as a charstring
572 garciay 296
                    }
297
                }
590 garciay 298
            }
299
        }
300
 
301
        // TODO: this temlate is possibly incorrectly defined, or "p_urlParameters" parameter name is incorrect, since it is assigned to "headers"
302
        template(value) SipUrl m_SipUrl_NumberHostHeader(
599 tepelmann 303
            template(value) charstring p_number,
304
            template(value) charstring p_host,
602 nikolajev 305
            template(omit) AmpersandParam_List p_urlParameters := omit
590 garciay 306
        ) modifies m_BasicSipUrl := {
307
            components := {
308
                sip := {
599 tepelmann 309
                    userInfo := {userOrTelephoneSubscriber := p_number},
310
                    hostPort := {host := p_host}
590 garciay 311
                }
572 garciay 312
            },
590 garciay 313
            urlParameters := p_urlParameters
572 garciay 314
        }
315
 
590 garciay 316
        template(value) SipUrl m_SipUrl_NumberHostParam(
599 tepelmann 317
            template(value) charstring p_number,
318
            template(value) charstring p_host,
602 nikolajev 319
            template(omit) AmpersandParam_List p_urlParameters := omit
590 garciay 320
        ) modifies m_SipUrl_NumberHostHeader := {
599 tepelmann 321
            components := {sip := {hostPort := {portField := c_defaultSipPort}}}
590 garciay 322
        }
323
 
324
        template(value) SipUrl m_SipUrl_NumberHostParam_woPort(
599 tepelmann 325
            template(value) charstring p_number,
326
            template(value) charstring p_host,
602 nikolajev 327
            template(omit) AmpersandParam_List p_urlParameters := omit
590 garciay 328
        ) modifies m_SipUrl_NumberHostParam := {
599 tepelmann 329
            components := {sip := {hostPort := {portField := omit}}}
590 garciay 330
        }
331
 
332
        template(present) SipUrl m_BasicTelUrl := {
599 tepelmann 333
            scheme := (c_telScheme),
334
            components := {tel := {subscriber := ""}},
335
            urlParameters := omit,
572 garciay 336
            headers := omit
337
        }
338
 
602 nikolajev 339
        template(value) SipUrl m_TelUrl_publUser(
340
            template(value) SipUserProfile p_userprofile
341
        ) modifies m_BasicTelUrl := {
572 garciay 342
            components := {
590 garciay 343
                tel := {
344
                    subscriber :=
599 tepelmann 345
                        p_userprofile
346
                        .publUsername //*     charstring
590 garciay 347
                }
348
            }
572 garciay 349
        }
350
 
590 garciay 351
        template(present) SipUrl mw_TelUrl := {
599 tepelmann 352
            scheme := c_telScheme,
353
            components := {tel := {subscriber := ?}},
354
            urlParameters := *,
590 garciay 355
            headers := *
572 garciay 356
        }
357
 
590 garciay 358
        template(present) SipUrl mw_SipUrl := {
599 tepelmann 359
            scheme := c_sipScheme,
572 garciay 360
            components := {
361
                sip := {
590 garciay 362
                    userInfo := {
599 tepelmann 363
                        userOrTelephoneSubscriber := ?,
590 garciay 364
                        password := *
365
                    },
366
                    hostPort := {
599 tepelmann 367
                        host := *,
590 garciay 368
                        portField := *
369
                    }
572 garciay 370
                }
590 garciay 371
            },
599 tepelmann 372
            urlParameters := *,
590 garciay 373
            headers := *
572 garciay 374
        }
375
 
376
        template(present) SipUrl mw_TelSip_unavailableInvalidUri := (mw_TelSip_unavailableInvalidUri1, mw_TelSip_unavailableInvalidUri2);
377
 
590 garciay 378
        template(present) SipUrl mw_TelSip_unavailableInvalidUri1 modifies mw_SipUrl := {
572 garciay 379
            components := {
380
                sip := {
381
                    userInfo := {
599 tepelmann 382
                        userOrTelephoneSubscriber := "unavailable",
383
                        password :=
384
                            omit // TODO STF471: shall be omit or *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 385
                    },
386
                    hostPort := {
599 tepelmann 387
                        host := "anonymous.invalid",
572 garciay 388
                        portField := c_defaultSipPort
389
                    }
390
                }
391
            },
599 tepelmann 392
            urlParameters := omit,  // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
393
            headers :=
394
                omit // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 395
        }
590 garciay 396
        template(present) SipUrl mw_TelSip_unavailableInvalidUri2 modifies mw_TelUrl := {
599 tepelmann 397
            components := {tel := {subscriber := "unavailable"}},
398
            urlParameters := omit,  // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
399
            headers :=
400
                omit // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 401
        }
402
 
602 nikolajev 403
        template(present) SipUrl mw_TelSip_unavailableUri(
404
            template(value) charstring p_host
405
        ) := (mw_TelSip_unavailableUri1(p_host), mw_TelSip_unavailableUri2(p_host));
572 garciay 406
 
602 nikolajev 407
        template(present) SipUrl mw_TelSip_unavailableUri1(
408
            template(value) charstring p_host
409
        ) modifies mw_TelUrl := {
599 tepelmann 410
            components := {tel := {subscriber := "unavailable"}},
411
            urlParameters := omit,  // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
412
            headers :=
413
                omit // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 414
        }
599 tepelmann 415
 
602 nikolajev 416
        template(present) SipUrl mw_TelSip_unavailableUri2(
417
            template(value) charstring p_host
418
        ) modifies mw_SipUrl := {
572 garciay 419
            components := {
420
                sip := {
421
                    userInfo := {
599 tepelmann 422
                        userOrTelephoneSubscriber := "unavailable",
423
                        password :=
424
                            omit // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
425
                    },
572 garciay 426
                    hostPort := {
599 tepelmann 427
                        host := p_host,
572 garciay 428
                        portField := c_defaultSipPort
429
                    }
430
                }
590 garciay 431
            },
599 tepelmann 432
            urlParameters := omit,  // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
433
            headers :=
434
                omit // TODO STF471: shall be *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 435
        }
436
 
602 nikolajev 437
        template(present) SipUrl mw_SipUrl_Number(
438
            template(present) charstring p_number := ?
439
        ) modifies mw_SipUrl := {
572 garciay 440
            components := {
441
                sip := {
599 tepelmann 442
                    userInfo := {userOrTelephoneSubscriber := p_number},
572 garciay 443
                    hostPort := ?
444
                }
590 garciay 445
            }
572 garciay 446
        }
447
 
602 nikolajev 448
        template(present) SipUrl mw_TelSipUrl_Number(
449
            template(present) charstring p_number := ?
450
        ) := (mw_SipUrl_Number(p_number), mw_TelSipUrl_Number2(p_number));
572 garciay 451
 
602 nikolajev 452
        template(present) SipUrl mw_TelSipUrl_Number1(
453
            template(present) charstring p_number := ?
454
        ) := mw_SipUrl_Number(p_number);
572 garciay 455
 
602 nikolajev 456
        template(present) SipUrl mw_TelSipUrl_Number2(
457
            template(present) charstring p_number := ?
458
        ) modifies mw_TelUrl := {
459
            components := {
460
                tel := {
461
                    subscriber := p_number
462
                }
463
            }
464
        }
599 tepelmann 465
 
602 nikolajev 466
        template(present) SipUrl mw_SipUrl_Host(
467
            template charstring p_host
468
        ) modifies mw_SipUrl := {
590 garciay 469
            components := {
470
                sip := {
599 tepelmann 471
                    userInfo := *,
472
                    hostPort := {host := p_host}
590 garciay 473
                }
474
            }
572 garciay 475
        }
476
 
590 garciay 477
        template(present) SipUrl mw_SipUrl_User_Host(
602 nikolajev 478
            template(present) charstring p_user := ?,
599 tepelmann 479
            template charstring p_host
590 garciay 480
        ) modifies mw_SipUrl := {
572 garciay 481
            components := {
590 garciay 482
                sip := {
599 tepelmann 483
                    userInfo := {userOrTelephoneSubscriber := p_user},
590 garciay 484
                    hostPort := {
599 tepelmann 485
                        host :=
486
                            p_host //*     hostname, IPv4 or IPv6 as a charstring
590 garciay 487
                    }
488
                }
572 garciay 489
            },
599 tepelmann 490
            urlParameters := {m_UserPhone}
572 garciay 491
        }
599 tepelmann 492
 
590 garciay 493
        template(present) SipUrl mw_SipUrl_Anonymous modifies mw_SipUrl := {
572 garciay 494
            components := {
495
                sip := {
496
                    userInfo := {
497
                        userOrTelephoneSubscriber := pattern "[a,A][n,N][o,O][n,N][y,Y][m,M][o,O][u,U][s,s]",  //*     charstring
599 tepelmann 498
                        password :=
499
                            omit // TODO STF471: shall be omit or *. If *, remove them die to modifies mw_BasicSipUrl
572 garciay 500
                    },
501
                    hostPort := {
599 tepelmann 502
                        host :=
503
                            pattern
504
                                "[a,A]nonymous.invalid" //*     hostname, IPv4 or IPv6 as a charstring
572 garciay 505
                    }
506
                }
590 garciay 507
            }
572 garciay 508
        }
509
 
602 nikolajev 510
        template(present) SipUrl mw_SipUrl_urlParam(
511
            template SemicolonParam_List p_urlParameters
512
        ) modifies mw_SipUrl := {
513
            urlParameters := p_urlParameters
514
        }
572 garciay 515
 
590 garciay 516
        template(present) ContactAddress mw_ContactAddress := {
599 tepelmann 517
            addressField := ?,
590 garciay 518
            contactParams := *
519
        }
572 garciay 520
 
599 tepelmann 521
        template(present) HostPort mw_hostPort(
522
            template charstring p_host,
523
            template integer p_portField
524
        ) := {
525
            host := p_host,
590 garciay 526
            portField := p_portField
527
        }
572 garciay 528
 
590 garciay 529
        template(present) StatusLine mw_statusLine_any := {
599 tepelmann 530
            sipVersion := c_sipNameVersion,
531
            statusCode := ?,
590 garciay 532
            reasonPhrase := ?
533
        }
599 tepelmann 534
 
590 garciay 535
        template(present) StatusLine mw_statusLine(
602 nikolajev 536
            in template(present) integer p_statusCode := ?,
537
            in template(present) charstring p_reasonPhrase := ?
590 garciay 538
        ) modifies mw_statusLine_any := {
599 tepelmann 539
            statusCode := p_statusCode,
590 garciay 540
            reasonPhrase := p_reasonPhrase
541
        }
599 tepelmann 542
 
590 garciay 543
        template(present) StatusLine mw_statusLine1xx modifies mw_statusLine_any := {statusCode := (100 .. 199)}
604 nikolajev 544
 
545
        template(present) StatusLine mw_statusLine2xx modifies mw_statusLine_any := {statusCode := (200 .. 299)}
546
 
547
        template(present) StatusLine mw_statusLine3xx modifies mw_statusLine_any := {statusCode := (300 .. 399)}
572 garciay 548
 
599 tepelmann 549
        template(present) StatusLine mw_statusLine4xx modifies mw_statusLine_any := {statusCode := (400 .. 499)}
550
 
551
        template(present) StatusLine mw_statusLine5xx modifies mw_statusLine_any := {statusCode := (500 .. 599)}
604 nikolajev 552
 
553
        template(present) StatusLine mw_statusLine6xx modifies mw_statusLine_any := {statusCode := (600 .. 699)}
599 tepelmann 554
 
555
        template(present) StatusLine mw_statusLineFinal modifies mw_statusLine_any := {statusCode := (200 .. 699)}
556
 
590 garciay 557
        template(present) NameAddr mw_NameAddr_DispName_User_Host(
599 tepelmann 558
            template charstring p_dn,
602 nikolajev 559
            template(present) charstring p_user := ?,
599 tepelmann 560
            template charstring p_host
561
        ) := {
572 garciay 562
            displayName := p_dn,
563
            addrSpec := {
564
                scheme := c_sipScheme,  //*     contains "sip"
532 rennoch 565
                components := {
572 garciay 566
                    sip := {
599 tepelmann 567
                        userInfo := {
568
                            userOrTelephoneSubscriber := p_user,
569
                            password := *
570
                        },
572 garciay 571
                        hostPort := {
590 garciay 572
                            host := p_host,  //*     hostname, IPv4 or IPv6 as a charstring
599 tepelmann 573
                            portField :=
574
                                * //*     optional integer
572 garciay 575
                        }
576
                    }
532 rennoch 577
                },
599 tepelmann 578
                urlParameters := {m_UserPhone},
532 rennoch 579
                headers := *
572 garciay 580
            }
581
        }
9 rennoch 582
 
590 garciay 583
        template(present) Addr_Union mw_AddrUnion_Nameaddr(
599 tepelmann 584
            template charstring p_dn,
602 nikolajev 585
            template(present) charstring p_user := ?,
599 tepelmann 586
            template charstring p_host
587
        ) := {
572 garciay 588
            nameAddr := mw_NameAddr_DispName_User_Host(p_dn, p_user, p_host)
589
        }
590
 
599 tepelmann 591
        template(present) Addr_Union mw_AddrUnion_SipUrl(
602 nikolajev 592
            template(present) charstring p_user := ?,
599 tepelmann 593
            template charstring p_host
594
        ) := {
572 garciay 595
            addrSpecUnion := mw_SipUrl_User_Host(p_user, p_host)
596
        }
9 rennoch 597
 
598
 
599 tepelmann 599
    } //*     end group Subfields
600
 
572 garciay 601
    group HeaderFieldTemplates {
602 nikolajev 602
        template(value) LibSip_SIPTypesAndValues.Allow m_Allow(
603
            template(value) Method_List p_methods
604
        ) := {
599 tepelmann 605
            fieldName := ALLOW_E,
590 garciay 606
            methods := p_methods
607
        }
9 rennoch 608
 
602 nikolajev 609
        template(present) LibSip_SIPTypesAndValues.Allow mw_Allow(
610
            template(value) charstring p_method
611
        ) := {
599 tepelmann 612
            fieldName := ALLOW_E,
590 garciay 613
            methods := superset(p_method)
614
        }
9 rennoch 615
 
602 nikolajev 616
        template(value) GenericParam m_Cause(
617
            template(omit) charstring p_cause := omit
618
        ) := {
599 tepelmann 619
            id := "cause",
590 garciay 620
            paramValue := p_cause
621
        }
599 tepelmann 622
 
602 nikolajev 623
        template(present) GenericParam mw_Cause_base(
624
            template charstring p_cause
625
        ) := {
599 tepelmann 626
            id := "cause",
590 garciay 627
            paramValue := p_cause
628
        }
9 rennoch 629
 
602 nikolajev 630
        template(present) GenericParam mw_Cause(
631
            template(value) charstring p_cause
632
        ) := {
599 tepelmann 633
            // TODO - Expression does not work for all TTCN tools
634
            id := ?,
635
            paramValue := pattern "*{p_cause}*"
590 garciay 636
        }
9 rennoch 637
 
602 nikolajev 638
        template(value) Authorization m_Authorization(
639
            template(value) Credentials p_credentials
640
        ) := {
599 tepelmann 641
            fieldName := AUTHORIZATION_E,
642
            body := {p_credentials}
590 garciay 643
        }
599 tepelmann 644
 
645
        // TODO: CR
602 nikolajev 646
        template(value) Authorization m_Authorization_digest(
647
            template(value) CommaParam_List p_commaParam_List
648
        ) := {
599 tepelmann 649
            fieldName := AUTHORIZATION_E,
650
            body := {{digestResponse := p_commaParam_List}}
572 garciay 651
        }
9 rennoch 652
 
602 nikolajev 653
        template(present) Authorization mw_Authorization_digest(
654
            template(present) CommaParam_List p_commaParam_List := ?
655
        ) := {
599 tepelmann 656
            fieldName := AUTHORIZATION_E,
657
            body := {{digestResponse := p_commaParam_List}}
572 garciay 658
        }
9 rennoch 659
 
599 tepelmann 660
        template(value) Authorization m_add_Authorization_digest(
661
            template(value) Authorization p_auth,
662
            template(value) CommaParam_List p_commaParam_List
663
        ) := {
664
            fieldName := AUTHORIZATION_E,
665
            body := {{digestResponse := f_merge_CommaParam_List(p_auth.body[0].digestResponse, p_commaParam_List)}}
572 garciay 666
        }
599 tepelmann 667
        // TODO: STF471 this template contains matching symbol, but name suggests it is send template
590 garciay 668
        template(present) Authorization m_Authorization_other := {
599 tepelmann 669
            fieldName := AUTHORIZATION_E,
670
            body := {{otherResponse := ?}}
590 garciay 671
        }
9 rennoch 672
 
590 garciay 673
        template(present) Authorization mw_Authorization_other := {
599 tepelmann 674
            fieldName := AUTHORIZATION_E,
675
            body := {{otherResponse := ?}}
590 garciay 676
        }
574 nikolajev 677
 
602 nikolajev 678
        template(value) Contact m_Contact(
679
            template(value) SipUrl p_sipUrl
680
        ) := {
572 garciay 681
            fieldName := CONTACT_E,
590 garciay 682
            contactBody := {
683
                contactAddresses := {
684
                    {
599 tepelmann 685
                        addressField := {addrSpecUnion := p_sipUrl},
590 garciay 686
                        contactParams := omit
687
                    }
688
                }
599 tepelmann 689
            } //*     end contactBody
690
        } //*     end m_Contact
9 rennoch 691
 
602 nikolajev 692
        template(value) Contact m_Contact_profile(
693
            template(value) SipUserProfile p_userprofile
694
        ) := {
572 garciay 695
            fieldName := CONTACT_E,
599 tepelmann 696
            contactBody := {
697
                contactAddresses := {
698
                    {
699
                        addressField := {addrSpecUnion := m_SipUrl_contactIpaddr(p_userprofile)},
700
                        contactParams := omit
701
                    }
702
                }
703
            } //*     end
704
              //*     contactBody
705
        } //*     end m_Contact
9 rennoch 706
 
560 garciay 707
 
599 tepelmann 708
        template(value) Contact m_Contact_profile_expires(
709
            template(value) SipUserProfile p_userprofile,
710
            template(value) charstring p_expires
711
        ) := {
572 garciay 712
            fieldName := CONTACT_E,
713
            contactBody := {
599 tepelmann 714
                contactAddresses := {
715
                    {
716
                        addressField := {addrSpecUnion := m_SipUrl_contactIpaddr(p_userprofile)},
717
                        contactParams := {
718
                            {
719
                                "expires",
720
                                p_expires
721
                            }
722
                        }
723
                    }
724
                }
725
            } //*     end contactBody
726
        } //*     end m_Contact
572 garciay 727
 
599 tepelmann 728
        template(value) From m_From(
729
            template(value) NameAddr p_nameAddr,
730
            template(value) charstring p_tag_str
731
        ) := {
572 garciay 732
            fieldName := FROM_E,
599 tepelmann 733
            addressField := {nameAddr := p_nameAddr},  //*     end addressField
590 garciay 734
            fromParams := {
735
                {
599 tepelmann 736
                    id := c_tagId,
590 garciay 737
                    paramValue := p_tag_str
738
                }
739
            }
572 garciay 740
        }
741
 
602 nikolajev 742
        template(value) From m_From_Anonymous(
743
            template(value) charstring p_tag_str
744
        ) := {
572 garciay 745
            fieldName := FROM_E,
746
            addressField := {
747
                nameAddr :=
599 tepelmann 748
                    m_NameAddr(
749
                        "Anonymous",
750
                        //*     optional charstring
751
                        m_SipUrl_Anonymous //*     SipUrl
752
                    )
753
            },  //*     end addressField
590 garciay 754
            fromParams := {
755
                {
599 tepelmann 756
                    id := c_tagId,
590 garciay 757
                    paramValue := p_tag_str
758
                }
759
            }
572 garciay 760
        }
761
 
602 nikolajev 762
        template(value) From m_From_SipUrl(
763
            template(value) SipUrl p_sipUrl
764
        ) := {
572 garciay 765
            fieldName := FROM_E,
766
            addressField := {
767
                nameAddr :=
599 tepelmann 768
                    m_NameAddr(
769
                        omit,
770
                        //*     optional charstring
771
                        p_sipUrl //*     SipUrl
772
                    )
773
            },  //*     end addressField
572 garciay 774
            fromParams := omit
775
        }
776
 
590 garciay 777
        template(value) Event m_Event_base := {
599 tepelmann 778
            fieldName := EVENT_E,
779
            eventType := "",
590 garciay 780
            eventParams := omit
781
        }
572 garciay 782
 
599 tepelmann 783
        template(value) Event m_Event_refer modifies m_Event_base := {eventType := "refer"}
572 garciay 784
 
785
        template(value) Event m_Event_conference modifies m_Event_base := {eventType := "conference"}
786
 
787
        template(value) Event m_Event_presence modifies m_Event_base := {eventType := "presence"}
788
 
789
        template(value) Event m_Event_reg modifies m_Event_base := {eventType := "reg"}
790
 
791
        template(value) Event m_Event_cdiv modifies m_Event_base := {eventType := "comm-div-info"}
792
 
560 garciay 793
        template(value) Event m_Event_mcid := m_Event_cdiv;
9 rennoch 794
 
599 tepelmann 795
        template(value) Expires m_Expires_base := {
796
            fieldName := EXPIRES_E,
797
            deltaSec := ""
798
        }
560 garciay 799
 
572 garciay 800
        template(value) Expires m_Expires_600000 modifies m_Expires_base := {deltaSec := "600000"}
9 rennoch 801
 
602 nikolajev 802
        template(value) Expires m_Expires(
803
            template(value) charstring p_deltaSec
804
        ) modifies m_Expires_base := {
805
            deltaSec := p_deltaSec
806
        }
9 rennoch 807
 
602 nikolajev 808
        template(present) Expires mw_Expires(
809
            template(present) charstring p_deltaSec := ?
810
        ) := {
599 tepelmann 811
            fieldName := EXPIRES_E,
812
            deltaSec := p_deltaSec
813
        }
9 rennoch 814
 
602 nikolajev 815
        template(value) HistoryInfo m_HistoryInfo(
816
            template(value) HistoryInfo_List p_HistoryInfo_List
817
        ) := {
599 tepelmann 818
            fieldName := HISTORY_INFO_E,
819
            historyInfoList := p_HistoryInfo_List
572 garciay 820
        }
52 rennoch 821
 
602 nikolajev 822
        template(present) HistoryInfo mw_HistoryInfo(
823
            template(present) HistoryInfo_List p_HistoryInfo_List := ?
824
        ) := {
599 tepelmann 825
            fieldName := HISTORY_INFO_E,
826
            historyInfoList := p_HistoryInfo_List
572 garciay 827
        }
561 garciay 828
 
599 tepelmann 829
        template(value) HistoryInfoEntry m_HistoryInfoEntry(
830
            template(value) SipUrl p_Url,
602 nikolajev 831
            template(omit) IntegerList p_index := omit,
832
            template(omit) SemicolonParam_List p_paramlist := omit
599 tepelmann 833
        ) := {
834
            nameAddr := m_NameAddr(omit, p_Url),
835
            hiIndex := p_index,
836
            hiExtention := p_paramlist
572 garciay 837
        }
9 rennoch 838
 
599 tepelmann 839
        template(present) HistoryInfoEntry mw_HistoryInfoEntry(
602 nikolajev 840
            template(present) SipUrl p_Url := ?,
599 tepelmann 841
            template IntegerList p_index,
842
            template SemicolonParam_List p_paramlist
843
        ) := {
844
            nameAddr := mw_NameAddr(*, p_Url),
845
            hiIndex := p_index,
846
            hiExtention := p_paramlist
572 garciay 847
        }
9 rennoch 848
 
602 nikolajev 849
        template(value) PAssertedID m_PAssertedID(
850
            template(value) Addr_Union p_pAssertedIDValue
851
        ) := {
599 tepelmann 852
            fieldName := P_ASSERTED_ID_E,
853
            pAssertedIDValueList := {p_pAssertedIDValue}
572 garciay 854
        }
9 rennoch 855
 
599 tepelmann 856
        template(value) PAssertedID m_PAssertedID_2x(
857
            template(value) Addr_Union p_pAssertedIDValue,
858
            template(value) Addr_Union p_pAssertedIDValue2
859
        ) modifies m_PAssertedID := {
572 garciay 860
            pAssertedIDValueList := {p_pAssertedIDValue, p_pAssertedIDValue2}
861
        }
9 rennoch 862
 
602 nikolajev 863
        template(present) PAssertedID mw_PAssertedID(
864
            template(present) PAssertedIDValue p_pAssertedIDValue := ?
865
        ) := {
599 tepelmann 866
            fieldName := P_ASSERTED_ID_E,
867
            pAssertedIDValueList := {p_pAssertedIDValue}
572 garciay 868
        }
9 rennoch 869
 
602 nikolajev 870
        template(present) PAssertedIDValue mw_PAssertedIDValue(
871
            template(present) SipUrl p_SipUrl := ?
872
        ) := {
590 garciay 873
            nameAddr := {
599 tepelmann 874
                displayName := *,
590 garciay 875
                addrSpec := p_SipUrl
876
            }
877
        }
572 garciay 878
 
602 nikolajev 879
        template(value) PPreferredID m_PPreferredID(
880
            template(value) Addr_Union p_pPreferredIDValue
881
        ) := {
599 tepelmann 882
            fieldName := P_PREFERRED_ID_E,
883
            pPreferredIDValueList := {p_pPreferredIDValue}
561 garciay 884
        }
572 garciay 885
 
602 nikolajev 886
        template(value) Privacy m_Privacy(
887
            template(value) PrivacyValue p_privacy
888
        ) := {
599 tepelmann 889
            fieldName := PRIVACY_E,
890
            privValueList := {p_privacy}
590 garciay 891
        }
572 garciay 892
 
602 nikolajev 893
        template(present) Privacy mw_Privacy_Base(
894
            template(present) charstring p_value := ?
895
        ) := {
599 tepelmann 896
            fieldName := PRIVACY_E,
590 garciay 897
            privValueList := {*, p_value, *}
898
        }
599 tepelmann 899
 
572 garciay 900
        template(present) Privacy mw_Privacy_id := mw_Privacy_Base("id");
901
 
902
        template(present) Privacy mw_Privacy_user := mw_Privacy_Base("user");
903
 
599 tepelmann 904
        template(value) RAck m_RAck(
905
            integer p_responseNum,
906
            integer p_seqNumber,
907
            charstring p_method
908
        ) := {
909
            fieldName := RACK_E,
910
            responseNum := p_responseNum,
911
            seqNumber := p_seqNumber,
590 garciay 912
            method := p_method
561 garciay 913
        }
572 garciay 914
 
602 nikolajev 915
        template(value) Reason m_Reason(
916
            template(value) integer p_cause
917
        ) := {
599 tepelmann 918
            fieldName := REASON_E,
919
            reasonValues := {m_ReasonValue(int2str(valueof(p_cause)), "dummy")}
561 garciay 920
        }
548 pintar 921
 
599 tepelmann 922
        template(value) Reason m_Reason21 := {
923
            fieldName := REASON_E,
924
            reasonValues := {m_ReasonValue(int2str(21), "call reject")}
590 garciay 925
        }
572 garciay 926
 
590 garciay 927
        template(present) Reason mw_Reason_Base := {
599 tepelmann 928
            fieldName := REASON_E,
929
            reasonValues := {}
590 garciay 930
        }
572 garciay 931
 
602 nikolajev 932
        template(present) Reason mw_Reason(
933
            template(value) charstring p_cause
934
        ) modifies mw_Reason_Base := {
935
            reasonValues := {mw_ReasonValue(p_cause, ?)}
936
        }
572 garciay 937
 
602 nikolajev 938
        template(present) Reason mw_ReasonSIP(
939
            template(value) charstring p_cause
940
        ) modifies mw_Reason_Base := {
941
            reasonValues := {mw_ReasonValueSIP(p_cause, ?)}
942
        }
572 garciay 943
 
602 nikolajev 944
        template(value) RecordRoute m_recordRoute_currIpAddr(
945
            template(value) SipUserProfile p_userprofile
946
        ) := {
553 rennoch 947
            fieldName := RECORD_ROUTE_E,
572 garciay 948
            routeBody := {
949
                {
950
                    nameAddr := {
951
                        displayName := omit,
952
                        addrSpec := {
953
                            scheme := c_sipScheme,  //*     contains "sip"
590 garciay 954
                            components := {
955
                                sip := {
599 tepelmann 956
                                    userInfo := omit,
590 garciay 957
                                    hostPort := {
599 tepelmann 958
                                        host := p_userprofile.currIpaddr,
590 garciay 959
                                        portField := p_userprofile.currPort
960
                                    }
961
                                }
962
                            },
572 garciay 963
                            urlParameters := omit,
964
                            headers := omit
965
                        }
966
                    },
967
                    rrParam := omit
968
                }
969
            }
970
        }
971
 
599 tepelmann 972
        // TODO STF471 addition
973
        template(value) RecordRoute m_recordRoute_currIpAddr_params(
974
            template(value) SipUserProfile p_userprofile,
975
            template(value) SemicolonParam_List p_urlParameters
976
        ) := {
572 garciay 977
            fieldName := RECORD_ROUTE_E,
978
            routeBody := {
979
                {
980
                    nameAddr := {
981
                        displayName := omit,
982
                        addrSpec := {
983
                            scheme := c_sipScheme,  //*     contains "sip"
590 garciay 984
                            components := {
985
                                sip := {
599 tepelmann 986
                                    userInfo := omit,
590 garciay 987
                                    hostPort := {
599 tepelmann 988
                                        host := p_userprofile.currIpaddr,
590 garciay 989
                                        portField := p_userprofile.currPort
990
                                    }
991
                                }
992
                            },
553 rennoch 993
                            urlParameters := p_urlParameters,
572 garciay 994
                            headers := omit
995
                        }
553 rennoch 996
                    },
572 garciay 997
                    rrParam := omit
998
                }
999
            }
1000
        }
1001
 
602 nikolajev 1002
        template(value) RouteBody m_routeBody_currIpAddr(
1003
            template(value) SipUserProfile p_userprofile
1004
        ) := {
548 pintar 1005
            nameAddr := {
572 garciay 1006
                displayName := omit,
1007
                addrSpec := {
1008
                    scheme := c_sipScheme,  //*     contains "sip"
590 garciay 1009
                    components := {
1010
                        sip := {
599 tepelmann 1011
                            userInfo := omit,
590 garciay 1012
                            hostPort := {
599 tepelmann 1013
                                host := p_userprofile.homeDomain,
590 garciay 1014
                                portField := p_userprofile.currPort
1015
                            }
1016
                        }
1017
                    },
548 pintar 1018
                    urlParameters := omit,
1019
                    headers := omit
1020
                }
1021
            },
1022
            rrParam := omit
572 garciay 1023
        }
9 rennoch 1024
 
602 nikolajev 1025
        template(value) ReferredBy m_ReferredBy_SipUrl(
1026
            template(value) SipUrl p_sipUrl
1027
        ) := {
572 garciay 1028
            fieldName := REFERRED_BY_E,
599 tepelmann 1029
            nameAddr :=
1030
                m_NameAddr(
1031
                    // STF471 {displayName
1032
                    omit,
1033
                    // := omit,
1034
                    p_sipUrl // addrSpec:=p_sipUrl}
1035
                ),
572 garciay 1036
            referredbyIdParams := omit
1037
        }
340 deshpande 1038
 
599 tepelmann 1039
        template(value) ReferTo m_ReferTo_SipUrl(
1040
            template(value) SipUrl p_sipUrl,
1041
            template(value) charstring p_method
1042
        ) := {
572 garciay 1043
            fieldName := REFER_TO_E,
599 tepelmann 1044
            nameAddr :=
1045
                m_NameAddr(
1046
                    // STF471 {displayName
1047
                    omit,
1048
                    // := omit,
1049
                    p_sipUrl // addrSpec:=p_sipUrl}
1050
                ),
590 garciay 1051
            referToParams := {
599 tepelmann 1052
                {
1053
                    id := "method",
1054
                    paramValue := p_method
1055
                }
590 garciay 1056
            }
572 garciay 1057
        }
515 garciay 1058
 
602 nikolajev 1059
        template(value) ReferSub m_ReferSub(
1060
            template(value) boolean p_value
1061
        ) := {
599 tepelmann 1062
            fieldName := REFER_SUB_E,
1063
            referSubValue := p_value,
590 garciay 1064
            referSubParams := omit
1065
        }
340 deshpande 1066
 
599 tepelmann 1067
        template(value) Replaces m_Replaces(
1068
            template(value) charstring p_callId,
1069
            template(value) charstring p_toTag,
1070
            template(value) charstring p_fromTag
1071
        ) := {
572 garciay 1072
            fieldName := REPLACES_E,
590 garciay 1073
            replacesParams := {
599 tepelmann 1074
                {
1075
                    id := p_callId,
1076
                    paramValue := omit
1077
                },
1078
                {
1079
                    id := "to-tag",
1080
                    paramValue := p_toTag
1081
                },
1082
                {
1083
                    id := "from-tag",
1084
                    paramValue := p_fromTag
1085
                }
590 garciay 1086
            }
572 garciay 1087
        }
560 garciay 1088
 
590 garciay 1089
        template(value) Require m_Require_empty := {
599 tepelmann 1090
            fieldName := REQUIRE_E,
1091
            optionsTags := {""}
590 garciay 1092
        }
9 rennoch 1093
 
599 tepelmann 1094
        template(value) Require m_Require_replaces modifies m_Require_empty := {optionsTags := {c_replaces}}
572 garciay 1095
 
599 tepelmann 1096
        template(value) Require m_Require_100rel modifies m_Require_empty := {optionsTags := {c_tag100rel}}
572 garciay 1097
 
599 tepelmann 1098
        template(value) Require m_Require_prec modifies m_Require_empty := {optionsTags := {c_tagPrecond}}
572 garciay 1099
 
1100
        template(value) SubscriptionState m_SubscriptionState_active := {
599 tepelmann 1101
            fieldName := SUBSCRIPTION_STATE_E,
1102
            subState := "active",
590 garciay 1103
            substateParams := {
599 tepelmann 1104
                {
1105
                    id := "expires",
1106
                    paramValue := "60000"
1107
                }
590 garciay 1108
            }
329 rennoch 1109
        }
572 garciay 1110
 
590 garciay 1111
        template(value) Supported m_Supported_empty := {
599 tepelmann 1112
            fieldName := SUPPORTED_E,
1113
            optionsTags := {""}
590 garciay 1114
        }
572 garciay 1115
 
599 tepelmann 1116
        template(value) Supported m_Supported_fromChange modifies m_Supported_empty := {optionsTags := {c_tagFromChange}}
572 garciay 1117
 
599 tepelmann 1118
        template(value) Supported m_Supported_prec modifies m_Supported_empty := {optionsTags := {c_tagPrecond}}
572 garciay 1119
 
599 tepelmann 1120
        template(value) Supported m_Supported_100rel modifies m_Supported_empty := {optionsTags := {c_tag100rel}}
572 garciay 1121
 
599 tepelmann 1122
        template(value) Supported m_Supported_100rel_prec modifies m_Supported_empty := {optionsTags := {c_tag100rel, c_tagPrecond}}
572 garciay 1123
 
602 nikolajev 1124
        template(value) GenericParam m_Text(
1125
            template(value) charstring p_text
1126
        ) := {
599 tepelmann 1127
            id := "text",
590 garciay 1128
            paramValue := p_text
1129
        }
572 garciay 1130
 
602 nikolajev 1131
        template(present) GenericParam mw_Text(
1132
            template charstring p_text
1133
        ) := {
599 tepelmann 1134
            id := "text",
590 garciay 1135
            paramValue := p_text
1136
        }
572 garciay 1137
 
590 garciay 1138
        template(value) GenericParam m_UserPhone := {
599 tepelmann 1139
            id := "user",
590 garciay 1140
            paramValue := "phone"
1141
        }
572 garciay 1142
 
590 garciay 1143
        template(value) GenericParam m_UserToUserEncodingHex := {
599 tepelmann 1144
            id := "encoding",
590 garciay 1145
            paramValue := "hex"
1146
        }
572 garciay 1147
 
602 nikolajev 1148
        template(value) UserToUser m_UserToUserData(
1149
            template(value) UserToUser.uuiData p_U2UData
1150
        ) := {
599 tepelmann 1151
            fieldName := USER_TO_USER_E,
1152
            uuiData := p_U2UData,
590 garciay 1153
            uuiParam := m_UserToUserEncodingHex
329 rennoch 1154
        }
9 rennoch 1155
 
602 nikolajev 1156
        template(value) To m_To(
1157
            template(value) SipUrl p_sipUrl
1158
        ) := {
572 garciay 1159
            fieldName := TO_E,
1160
            addressField := {
599 tepelmann 1161
                nameAddr :=
1162
                    m_NameAddr(
1163
                        "ETSI Tester",
1164
                        //*     optional charstring
1165
                        p_sipUrl //*     SipUrl
1166
                    )
1167
            },  //*     end addressField
572 garciay 1168
            toParams := omit
1169
        }
9 rennoch 1170
 
602 nikolajev 1171
        template(value) To m_To_SipUrl(
1172
            template(value) SipUrl p_sipUrl
1173
        ) modifies m_To := {
572 garciay 1174
            addressField := {
1175
                nameAddr := {
1176
                    displayName :=
1177
                        omit //*     optional charstring
1178
                }
599 tepelmann 1179
            } //*     end addressField
572 garciay 1180
        }
9 rennoch 1181
 
599 tepelmann 1182
        template(present) To mw_To_NameAddr_SipUrl(
1183
            template charstring p_dn,
602 nikolajev 1184
            template(present) charstring p_user := ?,
599 tepelmann 1185
            template charstring p_host
1186
        ) := {
1187
            fieldName := TO_E,
1188
            addressField := (mw_AddrUnion_Nameaddr(p_dn, p_user, p_host), mw_AddrUnion_SipUrl(p_user, p_host)),
590 garciay 1189
            toParams := *
572 garciay 1190
        }
1191
 
602 nikolajev 1192
        template(present) To mw_To(
1193
            template(present) SipUrl p_sipUrl := ?
1194
        ) := {
599 tepelmann 1195
            fieldName := TO_E,
1196
            addressField := {nameAddr := mw_NameAddr(*, p_sipUrl)},
590 garciay 1197
            toParams := *
572 garciay 1198
        }
408 pintar 1199
 
602 nikolajev 1200
        template(present) From mw_From(
1201
            template(present) SipUrl p_sipUrl := ?
1202
        ) := {
599 tepelmann 1203
            fieldName := FROM_E,
1204
            addressField := {nameAddr := mw_NameAddr(*, p_sipUrl)},
590 garciay 1205
            fromParams := *
572 garciay 1206
        }
9 rennoch 1207
 
599 tepelmann 1208
        template(present) From mw_From_NameAddr_SipUrl(
1209
            template charstring p_dn,
602 nikolajev 1210
            template(present) charstring p_user := ?,
599 tepelmann 1211
            template charstring p_host
1212
        ) := {
1213
            fieldName := FROM_E,
1214
            addressField := (mw_AddrUnion_Nameaddr(p_dn, p_user, p_host), mw_AddrUnion_SipUrl(p_user, p_host)),
590 garciay 1215
            fromParams := *
572 garciay 1216
        }
599 tepelmann 1217
        template(value) ViaBody m_ViaBody_currIpaddr(
1218
            template(value) charstring branch_val,
1219
            template(value) SipUserProfile p_userprofile
1220
        ) := {
572 garciay 1221
            sentProtocol := m_SentProtocol(PX_SIP_TRANSPORT),
599 tepelmann 1222
            sentBy := {
1223
                host := p_userprofile.currIpaddr,
1224
                portField := p_userprofile.currPort
1225
            },
1226
            viaParams := {
1227
                {
1228
                    id := c_branchId,
1229
                    paramValue := branch_val
1230
                }
1231
            }
572 garciay 1232
        }
9 rennoch 1233
 
602 nikolajev 1234
        template(present) ViaBody mw_ViaBody_interface(
1235
            template(present) HostPort p_hostport := ?
1236
        ) := {
599 tepelmann 1237
            sentProtocol := m_SentProtocol(PX_SIP_TRANSPORT),
590 garciay 1238
            sentBy := {
599 tepelmann 1239
                host := p_hostport.host,
590 garciay 1240
                portField := p_hostport.portField
599 tepelmann 1241
            },
590 garciay 1242
            viaParams := *
572 garciay 1243
        }
9 rennoch 1244
 
602 nikolajev 1245
        template(present) Via mw_Via(
1246
            template(present) ViaBody p_viabody := ?
1247
        ) := {
572 garciay 1248
            fieldName := VIA_E,
599 tepelmann 1249
            viaBody := {*, p_viabody, *} // superset(p_viabody)
572 garciay 1250
        }
253 rennoch 1251
 
590 garciay 1252
        template(present) CallId mw_CallId_any := {
599 tepelmann 1253
            fieldName := CALL_ID_E,
590 garciay 1254
            callid := ?
1255
        }
572 garciay 1256
 
590 garciay 1257
        template(present) Require mw_Require_Base := {
599 tepelmann 1258
            fieldName := REQUIRE_E,
1259
            optionsTags := {}
590 garciay 1260
        }
572 garciay 1261
 
599 tepelmann 1262
        template(present) Require mw_Require_not_100rel modifies mw_Require_Base := {optionsTags := superset(complement(c_tag100rel))}
572 garciay 1263
 
599 tepelmann 1264
        template(present) Require mw_require_100rel modifies mw_Require_Base := {optionsTags := superset(c_tag100rel)}
1265
 
602 nikolajev 1266
        template(present) RecordRoute mw_recordroute(
1267
            template(present) RouteBody p_routeBody := ?
1268
        ) := {
572 garciay 1269
            fieldName := RECORD_ROUTE_E,
599 tepelmann 1270
            routeBody := {*, p_routeBody, *} // superset(p_routeBody)
572 garciay 1271
        }
1272
 
602 nikolajev 1273
        template(present) Route mw_route(
1274
            template(present) RouteBody_List p_routeBody := ?
1275
        ) := {
599 tepelmann 1276
            fieldName := ROUTE_E,
590 garciay 1277
            routeBody := p_routeBody
1278
        }
572 garciay 1279
 
590 garciay 1280
        template(present) Supported mw_Supported_Base := {
599 tepelmann 1281
            fieldName := SUPPORTED_E,
1282
            optionsTags := {}
572 garciay 1283
        }
1284
 
599 tepelmann 1285
        template(present) Supported mw_Supported_100rel_prec modifies mw_Supported_Base := {optionsTags := superset(c_tag100rel, c_tagPrecond)}
572 garciay 1286
 
599 tepelmann 1287
        template(present) Supported mw_Supported_100rel modifies mw_Supported_Base := {optionsTags := superset(c_tag100rel)}
572 garciay 1288
 
599 tepelmann 1289
        template(present) Supported mw_Supported_fromChange modifies mw_Supported_Base := {optionsTags := superset(c_tagFromChange)}
572 garciay 1290
 
602 nikolajev 1291
        template(present) UserToUser mw_UserToUserData(
1292
            template(present) UserToUser.uuiData p_U2UData := ?
1293
        ) := {
599 tepelmann 1294
            fieldName := USER_TO_USER_E,
1295
            uuiData := p_U2UData,
590 garciay 1296
            uuiParam := ?
572 garciay 1297
        }
1298
 
1299
        template(present) Contact mw_Contact_conference := {
1300
            fieldName := CONTACT_E,
1301
            contactBody := {
1302
                contactAddresses := {
1303
                    {
1304
                        addressField := {
590 garciay 1305
                            nameAddr := {
599 tepelmann 1306
                                displayName := *,
590 garciay 1307
                                addrSpec := {
599 tepelmann 1308
                                    scheme := ?,
1309
                                    components := ?,
590 garciay 1310
                                    urlParameters := {
1311
                                        {
599 tepelmann 1312
                                            "isfocus",
590 garciay 1313
                                            *
599 tepelmann 1314
                                        },
590 garciay 1315
                                        *
599 tepelmann 1316
                                    },
590 garciay 1317
                                    headers := *
599 tepelmann 1318
                                }
590 garciay 1319
                            }
572 garciay 1320
                        },
599 tepelmann 1321
                        contactParams := *
502 pintar 1322
                    }
572 garciay 1323
                }
1324
            }
1325
        }
9 rennoch 1326
 
590 garciay 1327
        template(value) AlertInfo m_AlertInfo_Base := {
599 tepelmann 1328
            fieldName := ALERT_INFO_E,
1329
            alertInfoBody := {}
590 garciay 1330
        }
9 rennoch 1331
 
602 nikolajev 1332
        template(value) AlertInfo m_AlertInfo(
1333
            template(value) charstring p_urn
1334
        ) modifies m_AlertInfo_Base := {
590 garciay 1335
            alertInfoBody := {
599 tepelmann 1336
                {
1337
                    p_urn,
1338
                    omit
1339
                }
590 garciay 1340
            }
1341
        }
9 rennoch 1342
 
602 nikolajev 1343
        template(present) AlertInfo mw_AlertInfo(
1344
            template(present) charstring p_urn := ?
1345
        ) modifies m_AlertInfo_Base := {
599 tepelmann 1346
            alertInfoBody :=
1347
                superset(
1348
                    {
1349
                        p_urn,
1350
                        omit
1351
                    }
1352
                )
590 garciay 1353
        }
9 rennoch 1354
 
1355
 
1356
 
599 tepelmann 1357
    } //*     end of group HeaderFieldTemplates
9 rennoch 1358
 
599 tepelmann 1359
 
572 garciay 1360
    group MessageTemplates {
599 tepelmann 1361
 
572 garciay 1362
        group dummy_templates {
599 tepelmann 1363
 
572 garciay 1364
            group dummy_parameter_send {
9 rennoch 1365
 
602 nikolajev 1366
                template(value) RequestLine m_requestLine_dummy(
1367
                    template(value) Method p_method
1368
                ) := {
599 tepelmann 1369
                    method := p_method,
1370
                    requestUri := c_unavailableUri,
590 garciay 1371
                    sipVersion := c_sipNameVersion
572 garciay 1372
                }
9 rennoch 1373
 
572 garciay 1374
                template(value) MessageHeader m_msgHeader_dummy := {
1375
                    accept := omit,
1376
                    acceptContact := omit,
1377
                    acceptEncoding := omit,
1378
                    acceptLanguage := omit,
1379
                    alertInfo := omit,
1380
                    allow := omit,
1381
                    allowEvents := omit,  //*     RFC3265
1382
                    authenticationInfo := omit,
1383
                    authorization := omit,
1384
                    callId := c_empty_CallId,
1385
                    callInfo := omit,
1386
                    contact := omit,
1387
                    contentDisposition := omit,
1388
                    contentEncoding := omit,
1389
                    contentLanguage := omit,
590 garciay 1390
                    contentLength := {
599 tepelmann 1391
                        fieldName := CONTENT_LENGTH_E,
590 garciay 1392
                        len := 0
1393
                    },
572 garciay 1394
                    contentType := omit,  //*     if message body present m,
599 tepelmann 1395
                                          //*     else not present
572 garciay 1396
                    cSeq := c_empty_cSeq,
1397
                    date := omit,
1398
                    errorInfo := omit,
1399
                    event := omit,  //*     RFC3265
1400
                    expires := omit,
1401
                    fromField := c_empty_From,
1402
                    geolocation := omit,
1403
                    geolocationRouting := omit,
1404
                    historyInfo := omit,  //*     RFC4244
1405
                    inReplyTo := omit,
1406
                    maxForwards := c_maxForwards70,
1407
                    mimeVersion := omit,
1408
                    minExpires := omit,
1409
                    minSE := omit,  //*     RFC4028
1410
                    organization := omit,
1411
                    pAccessNetworkInfo := omit,  //*     RFC3455
1412
                    pAssertedID := omit,
1413
                    pAssertedService := omit,
1414
                    pAssociatedURI := omit,
1415
                    path := omit,  //*     RFC3327
1416
                    pCalledPartyID := omit,  //*     RFC3455
1417
                    pChargingFunctionAddresses := omit,  //*     RFC3455
1418
                    pChargingVector := omit,  //*     RFC3455
1419
                    pEarlyMedia := omit,  //*     RFC5009
1420
                    pMediaAuthorization := omit,  //*     RFC3313
1421
                    pPreferredID := omit,
1422
                    pPreferredService := omit,
1423
                    priority := omit,
1424
                    privacy := omit,
1425
                    proxyAuthenticate := omit,
1426
                    proxyAuthorization := omit,
1427
                    proxyRequire := omit,
1428
                    pVisitedNetworkID := omit,  //*     RFC3455
1429
                    rAck := omit,
1430
                    rSeq := omit,
1431
                    reason := omit,
1432
                    recordRoute := omit,
1433
                    requestDisposition := omit,
1434
                    referredBy := omit,  //*     RFC3892 - REFER method
1435
                    referTo := omit,  //*     RFC3515 - REFER method
1436
                    referSub := omit,  //*     RFC4488 - REFER method
1437
                    replaces := omit,  //*     RFC3891
1438
                    replyTo := omit,
1439
                    require := omit,
1440
                    retryAfter := omit,
1441
                    route := omit,
1442
                    securityClient := omit,  //*     RFC3329
1443
                    securityServer := omit,  //*     RFC3329
1444
                    securityVerify := omit,  //*     RFC3329
1445
                    server := omit,
1446
                    serviceRoute := omit,  //*     RFC3608
1447
                    sessionExpires := omit,  //*     RFC4028
1448
                    sessionId := omit,
1449
                    sipETag := omit,
1450
                    sipIfMatch := omit,
1451
                    subject := omit,
1452
                    subscriptionState := omit,  //*     RFC3265
1453
                    supported := omit,
1454
                    timestamp := omit,
1455
                    toField := c_empty_To,
1456
                    unsupported := omit,
1457
                    userToUser := omit,
1458
                    userAgent := omit,
1459
                    via := c_empty_Via,
1460
                    warning := omit,
1461
                    wwwAuthenticate := omit,
1462
                    undefinedHeader_List := omit
1463
                }
9 rennoch 1464
 
230 pintar 1465
 
599 tepelmann 1466
 
572 garciay 1467
            } //*     group dummy_parameter_send
9 rennoch 1468
 
572 garciay 1469
            group dummy_parameter_receive {
9 rennoch 1470
 
602 nikolajev 1471
                template(present) RequestLine mw_requestLine_dummy(
1472
                    Method p_method
1473
                ) := {
599 tepelmann 1474
                    method := p_method,
1475
                    requestUri := ?,
590 garciay 1476
                    sipVersion := c_sipNameVersion
1477
                }
9 rennoch 1478
 
572 garciay 1479
                template(present) MessageHeader mw_msgHeader_dummy := {
1480
                    accept := *,
1481
                    acceptContact := *,
1482
                    acceptEncoding := *,
1483
                    acceptLanguage := *,
1484
                    alertInfo := *,
1485
                    allow := *,
1486
                    allowEvents := *,  //*     RFC3265
1487
                    authenticationInfo := *,
1488
                    authorization := *,
1489
                    callId := ?,
1490
                    callInfo := *,
1491
                    contact := *,
1492
                    contentDisposition := *,
1493
                    contentEncoding := *,
1494
                    contentLanguage := *,
1495
                    contentLength := ?,
1496
                    contentType := *,
1497
                    cSeq := ?,
1498
                    date := *,
1499
                    errorInfo := *,
1500
                    event := *,  //*     RFC3265
1501
                    expires := *,
1502
                    fromField := ?,
1503
                    geolocation := *,
1504
                    geolocationRouting := *,
1505
                    historyInfo := *,  //*     RFC4244
1506
                    inReplyTo := *,
1507
                    maxForwards := *,
1508
                    mimeVersion := *,
1509
                    minExpires := *,
1510
                    minSE := *,  //*     RFC4028
1511
                    organization := *,
1512
                    pAccessNetworkInfo := *,  //*     RFC3455
1513
                    pAssertedID := *,
1514
                    pAssertedService := *,
1515
                    pAssociatedURI := *,
1516
                    path := *,  //*     RFC3327
1517
                    pCalledPartyID := *,  //*     RFC3455
1518
                    pChargingFunctionAddresses := *,  //*     RFC3455
1519
                    pChargingVector := *,  //*     RFC3455
1520
                    pEarlyMedia := *,  //*     RFC5009
1521
                    pMediaAuthorization := *,  //*     RFC3313
1522
                    pPreferredID := *,
1523
                    pPreferredService := *,
1524
                    priority := *,
1525
                    privacy := *,
1526
                    proxyAuthenticate := *,
1527
                    proxyAuthorization := *,
1528
                    proxyRequire := *,
1529
                    pVisitedNetworkID := *,  //*     RFC3455
1530
                    rAck := *,
1531
                    rSeq := *,
1532
                    reason := *,
1533
                    recordRoute := *,
1534
                    requestDisposition := *,
1535
                    referredBy := *,  //*     RFC3892 - REFER method
1536
                    referTo := *,  //*     RFC3515 - REFER method
1537
                    referSub := *,  //*     RFC4488 - REFER method
1538
                    replaces := *,  //*     RFC 3891
1539
                    replyTo := *,
1540
                    require := *,
1541
                    retryAfter := *,
1542
                    route := *,
1543
                    securityClient := *,  //*     RFC3329
1544
                    securityServer := *,  //*     RFC3329
1545
                    securityVerify := *,  //*     RFC3329
1546
                    server := *,
1547
                    serviceRoute := *,  //*     RFC3608
1548
                    sessionExpires := *,  //*     RFC4028
1549
                    sessionId := *,
1550
                    sipETag := *,
1551
                    sipIfMatch := *,
1552
                    subject := *,
1553
                    subscriptionState := *,  //*     RFC3265
1554
                    supported := *,
1555
                    timestamp := *,
1556
                    toField := ?,
1557
                    unsupported := *,
1558
                    userToUser := *,
1559
                    userAgent := *,
1560
                    via := ?,
1561
                    warning := *,
1562
                    wwwAuthenticate := *,
1563
                    undefinedHeader_List := *
1564
                }
9 rennoch 1565
 
1566
 
1567
 
599 tepelmann 1568
            } //*     end group dummy_parameter_receive
1569
 
572 garciay 1570
            group dummy_request_templates_send {
9 rennoch 1571
 
572 garciay 1572
                template(value) ACK_Request m_ACK_Dummy := {
599 tepelmann 1573
                    requestLine := m_requestLine_dummy(ACK_E),
1574
                    msgHeader := m_msgHeader_dummy,
1575
                    messageBody := omit,
590 garciay 1576
                    payload := omit
572 garciay 1577
                }
9 rennoch 1578
 
572 garciay 1579
                template(value) BYE_Request m_BYE_Dummy := {
599 tepelmann 1580
                    requestLine := m_requestLine_dummy(BYE_E),
1581
                    msgHeader := m_msgHeader_dummy,
1582
                    messageBody := omit,
590 garciay 1583
                    payload := omit
572 garciay 1584
                }
9 rennoch 1585
 
572 garciay 1586
                template(value) CANCEL_Request m_CANCEL_Dummy := {
599 tepelmann 1587
                    requestLine := m_requestLine_dummy(CANCEL_E),
1588
                    msgHeader := m_msgHeader_dummy,
1589
                    messageBody := omit,
590 garciay 1590
                    payload := omit
572 garciay 1591
                }
9 rennoch 1592
 
572 garciay 1593
                template(value) INFO_Request m_INFO_Dummy := {
599 tepelmann 1594
                    requestLine := m_requestLine_dummy(INFO_E),
1595
                    msgHeader := m_msgHeader_dummy,
1596
                    messageBody := omit,
590 garciay 1597
                    payload := omit
572 garciay 1598
                }
9 rennoch 1599
 
572 garciay 1600
                template(value) INVITE_Request m_INVITE_Dummy := {
599 tepelmann 1601
                    requestLine := m_requestLine_dummy(INVITE_E),
1602
                    msgHeader := m_msgHeader_dummy,
1603
                    messageBody := omit,
590 garciay 1604
                    payload := omit
572 garciay 1605
                }
9 rennoch 1606
 
572 garciay 1607
                template(value) MESSAGE_Request m_MESSAGE_Dummy := {
599 tepelmann 1608
                    requestLine := m_requestLine_dummy(MESSAGE_E),
590 garciay 1609
                    msgHeader := m_msgHeader_dummy,
599 tepelmann 1610
                    messageBody := omit,
590 garciay 1611
                    payload := omit
572 garciay 1612
                }
9 rennoch 1613
 
572 garciay 1614
                template(value) NOTIFY_Request m_NOTIFY_Dummy := {
590 garciay 1615
                    requestLine := m_requestLine_dummy(NOTIFY_E),
599 tepelmann 1616
                    msgHeader := m_msgHeader_dummy,
1617
                    messageBody := omit,
590 garciay 1618
                    payload := omit
572 garciay 1619
                }
9 rennoch 1620
 
572 garciay 1621
                template(value) OPTIONS_Request m_OPTIONS_Dummy := {
599 tepelmann 1622
                    requestLine := m_requestLine_dummy(OPTIONS_E),
1623
                    msgHeader := m_msgHeader_dummy,
1624
                    messageBody := omit,
590 garciay 1625
                    payload := omit
572 garciay 1626
                }
9 rennoch 1627
 
572 garciay 1628
                template(value) PRACK_Request m_PRACK_Dummy := {
599 tepelmann 1629
                    requestLine := m_requestLine_dummy(PRACK_E),
1630
                    msgHeader := m_msgHeader_dummy,
1631
                    messageBody := omit,
590 garciay 1632
                    payload := omit
572 garciay 1633
                }
9 rennoch 1634
 
572 garciay 1635
                template(value) PUBLISH_Request m_PUBLISH_Dummy := {
599 tepelmann 1636
                    requestLine := m_requestLine_dummy(PUBLISH_E),
1637
                    msgHeader := m_msgHeader_dummy,
1638
                    messageBody := omit,
590 garciay 1639
                    payload := omit
572 garciay 1640
                }
9 rennoch 1641
 
572 garciay 1642
                template(value) REGISTER_Request m_REGISTER_Dummy := {
599 tepelmann 1643
                    requestLine := m_requestLine_dummy(REGISTER_E),
1644
                    msgHeader := m_msgHeader_dummy,
1645
                    messageBody := omit,
590 garciay 1646
                    payload := omit
572 garciay 1647
                }
9 rennoch 1648
 
572 garciay 1649
                template(value) REFER_Request m_REFER_Dummy := {
599 tepelmann 1650
                    requestLine := m_requestLine_dummy(REFER_E),
1651
                    msgHeader := m_msgHeader_dummy,
1652
                    messageBody := omit,
590 garciay 1653
                    payload := omit
572 garciay 1654
                }
9 rennoch 1655
 
572 garciay 1656
                template(value) SUBSCRIBE_Request m_SUBSCRIBE_Dummy := {
599 tepelmann 1657
                    requestLine := m_requestLine_dummy(SUBSCRIBE_E),
1658
                    msgHeader := m_msgHeader_dummy,
1659
                    messageBody := omit,
590 garciay 1660
                    payload := omit
572 garciay 1661
                }
9 rennoch 1662
 
572 garciay 1663
                template(value) UPDATE_Request m_UPDATE_Dummy := {
599 tepelmann 1664
                    requestLine := m_requestLine_dummy(UPDATE_E),
1665
                    msgHeader := m_msgHeader_dummy,
1666
                    messageBody := omit,
590 garciay 1667
                    payload := omit
572 garciay 1668
                }
9 rennoch 1669
 
1670
 
599 tepelmann 1671
 
1672
            } //*     end group dummy_request_templates_send
572 garciay 1673
            group dummy_request_templates_receive {
561 garciay 1674
 
572 garciay 1675
                template(present) ACK_Request mw_ACK_Dummy := {
599 tepelmann 1676
                    requestLine := mw_requestLine_dummy(ACK_E),
1677
                    msgHeader := mw_msgHeader_dummy,
1678
                    messageBody := *,
590 garciay 1679
                    payload := *
572 garciay 1680
                }
407 pintar 1681
 
572 garciay 1682
                template(present) BYE_Request mw_BYE_Dummy := {
599 tepelmann 1683
                    requestLine := mw_requestLine_dummy(BYE_E),
590 garciay 1684
                    msgHeader := mw_msgHeader_dummy,
599 tepelmann 1685
                    messageBody := *,
590 garciay 1686
                    payload := *
572 garciay 1687
                }
9 rennoch 1688
 
572 garciay 1689
                template(present) CANCEL_Request mw_CANCEL_Dummy := {
599 tepelmann 1690
                    requestLine := mw_requestLine_dummy(CANCEL_E),
1691
                    msgHeader := mw_msgHeader_dummy,
1692
                    messageBody := *,
590 garciay 1693
                    payload := *
572 garciay 1694
                }
9 rennoch 1695
 
572 garciay 1696
                template(present) INFO_Request mw_INFO_Dummy := {
599 tepelmann 1697
                    requestLine := mw_requestLine_dummy(INFO_E),
1698
                    msgHeader := mw_msgHeader_dummy,
1699
                    messageBody := *,
590 garciay 1700
                    payload := *
572 garciay 1701
                }
485 pintar 1702
 
572 garciay 1703
                template(present) INVITE_Request mw_INVITE_Dummy := {
599 tepelmann 1704
                    requestLine := mw_requestLine_dummy(INVITE_E),
1705
                    msgHeader := mw_msgHeader_dummy,
1706
                    messageBody := *,
590 garciay 1707
                    payload := *
572 garciay 1708
                }
9 rennoch 1709
 
572 garciay 1710
                template(present) MESSAGE_Request mw_MESSAGE_Dummy := {
599 tepelmann 1711
                    requestLine := mw_requestLine_dummy(MESSAGE_E),
1712
                    msgHeader := mw_msgHeader_dummy,
1713
                    messageBody := *,
590 garciay 1714
                    payload := *
572 garciay 1715
                }
9 rennoch 1716
 
572 garciay 1717
                template(present) OPTIONS_Request mw_OPTIONS_Dummy := {
599 tepelmann 1718
                    requestLine := mw_requestLine_dummy(OPTIONS_E),
1719
                    msgHeader := mw_msgHeader_dummy,
1720
                    messageBody := *,
590 garciay 1721
                    payload := *
572 garciay 1722
                }
9 rennoch 1723
 
572 garciay 1724
                template(present) NOTIFY_Request mw_NOTIFY_Dummy := {
599 tepelmann 1725
                    requestLine := mw_requestLine_dummy(NOTIFY_E),
1726
                    msgHeader := mw_msgHeader_dummy,
1727
                    messageBody := *,
590 garciay 1728
                    payload := *
572 garciay 1729
                }
9 rennoch 1730
 
572 garciay 1731
                template(present) PRACK_Request mw_PRACK_Dummy := {
599 tepelmann 1732
                    requestLine := mw_requestLine_dummy(PRACK_E),
1733
                    msgHeader := mw_msgHeader_dummy,
1734
                    messageBody := *,
590 garciay 1735
                    payload := *
572 garciay 1736
                }
9 rennoch 1737
 
572 garciay 1738
                template(present) PUBLISH_Request mw_PUBLISH_Dummy := {
599 tepelmann 1739
                    requestLine := mw_requestLine_dummy(PUBLISH_E),
1740
                    msgHeader := mw_msgHeader_dummy,
1741
                    messageBody := *,
590 garciay 1742
                    payload := *
572 garciay 1743
                }
9 rennoch 1744
 
572 garciay 1745
                template(present) REFER_Request mw_REFER_Dummy := {
599 tepelmann 1746
                    requestLine := mw_requestLine_dummy(REFER_E),
590 garciay 1747
                    msgHeader := mw_msgHeader_dummy,
599 tepelmann 1748
                    messageBody := *,
590 garciay 1749
                    payload := *
572 garciay 1750
                }
9 rennoch 1751
 
572 garciay 1752
                template(present) REGISTER_Request mw_REGISTER_Dummy := {
599 tepelmann 1753
                    requestLine := mw_requestLine_dummy(REGISTER_E),
1754
                    msgHeader := mw_msgHeader_dummy,
1755
                    messageBody := *,
590 garciay 1756
                    payload := *
572 garciay 1757
                }
1758
 
1759
                template(present) SUBSCRIBE_Request mw_SUBSCRIBE_Dummy := {
599 tepelmann 1760
                    requestLine := mw_requestLine_dummy(SUBSCRIBE_E),
1761
                    msgHeader := mw_msgHeader_dummy,
1762
                    messageBody := *,
590 garciay 1763
                    payload := *
572 garciay 1764
                }
1765
 
1766
                template(present) UPDATE_Request mw_UPDATE_Dummy := {
599 tepelmann 1767
                    requestLine := mw_requestLine_dummy(UPDATE_E),
1768
                    msgHeader := mw_msgHeader_dummy,
1769
                    messageBody := *,
590 garciay 1770
                    payload := *
572 garciay 1771
                }
1772
 
1773
 
1774
 
599 tepelmann 1775
            } //*     end group dummy_request_templates_receive
1776
 
572 garciay 1777
            group dummy_response_templates_send {
1778
 
1779
                template(value) Response m_Response_Dummy := {
599 tepelmann 1780
                    statusLine := c_statusLine100,
1781
                    msgHeader := m_msgHeader_dummy,
1782
                    messageBody := omit,
590 garciay 1783
                    payload := omit
572 garciay 1784
                }
1785
 
1786
 
599 tepelmann 1787
 
572 garciay 1788
            } //*     group dummy_response_templates_send
1789
 
1790
            group dummy_response_templates_receive {
599 tepelmann 1791
 
590 garciay 1792
                template(present) Response mw_Response_Dummy := {
599 tepelmann 1793
                    statusLine := ?,
1794
                    msgHeader := mw_msgHeader_dummy,
1795
                    messageBody := *,
590 garciay 1796
                    payload := *
1797
                }
572 garciay 1798
 
599 tepelmann 1799
 
572 garciay 1800
            } //*     group dummy_response_templates_receive
485 pintar 1801
        }
9 rennoch 1802
 
572 garciay 1803
        group base_templates {
9 rennoch 1804
 
599 tepelmann 1805
            template(value) CSeq m_cSeq(
1806
                template(value) integer p_seqNumber,
1807
                template(value) charstring p_method
1808
            ) := {
1809
                fieldName := CSEQ_E,
1810
                seqNumber := p_seqNumber,
590 garciay 1811
                method := p_method
572 garciay 1812
            }
9 rennoch 1813
 
602 nikolajev 1814
            template(value) ContentLength m_contentLength(
1815
                template(value) integer p_len
1816
            ) := {
599 tepelmann 1817
                fieldName := CONTENT_LENGTH_E,
590 garciay 1818
                len := p_len
1819
            }
9 rennoch 1820
 
602 nikolajev 1821
            template(value) ContentType m_contentType(
1822
                template(value) charstring p_mediaType
1823
            ) := {
599 tepelmann 1824
                fieldName := CONTENT_TYPE_E,
590 garciay 1825
                mediaType := p_mediaType
1826
            }
9 rennoch 1827
 
602 nikolajev 1828
            template(present) ContentType mw_contentType(
1829
                in template(present) charstring p_mediaType := ?
1830
            ) := {
599 tepelmann 1831
                fieldName := CONTENT_TYPE_E,
590 garciay 1832
                mediaType := p_mediaType
1833
            }
9 rennoch 1834
 
572 garciay 1835
            group request_send {
9 rennoch 1836
 
590 garciay 1837
                template(value) ACK_Request m_ACK_Request_Base(
599 tepelmann 1838
                    template(value) SipUrl p_requestUri,
602 nikolajev 1839
                    template(omit) CallId p_callId := omit,
1840
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1841
                    template(value) From p_from,
1842
                    template(value) To p_to,
1843
                    template(value) Via p_via
590 garciay 1844
                ) modifies m_ACK_Dummy := {
599 tepelmann 1845
                    requestLine := {requestUri := p_requestUri},
572 garciay 1846
                    msgHeader := {
1847
                        callId := p_callId,
599 tepelmann 1848
                        cSeq := m_cSeq(p_cSeq.seqNumber, "ACK"),  // STF471
1849
                                                                  // {fieldName:=CSEQ_E,
1850
                                                                  // seqNumber:=
1851
                                                                  // p_cSeq.seqNumber,
1852
                                                                  // method:=
1853
                                                                  // "ACK"},
572 garciay 1854
                        fromField := p_from,
1855
                        toField := p_to,
1856
                        via := p_via
1857
                    }
1858
                }
9 rennoch 1859
 
599 tepelmann 1860
                // TODO STF471 added
590 garciay 1861
                template(value) ACK_Request m_ACK_Request_withRecordRoute(
599 tepelmann 1862
                    template(value) SipUrl p_requestUri,
602 nikolajev 1863
                    template(omit) CallId p_callId := omit,
1864
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1865
                    template(value) From p_from,
1866
                    template(value) To p_to,
1867
                    template(value) Via p_via,
1868
                    template(value) Route p_route
590 garciay 1869
                ) modifies m_ACK_Request_Base := {
572 garciay 1870
                    msgHeader := {
1871
                        route := p_route,
1872
                        contentLength := m_contentLength(0)
1873
                    }
1874
                }
9 rennoch 1875
 
599 tepelmann 1876
                template(value) BYE_Request m_BYE_Request_Base(
1877
                    template(value) SipUrl p_requestUri,
602 nikolajev 1878
                    template(omit) CallId p_callId := omit,
1879
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1880
                    template(value) From p_from,
1881
                    template(value) To p_to,
1882
                    template(value) Via p_via
590 garciay 1883
                ) modifies m_BYE_Dummy := {
599 tepelmann 1884
                    requestLine := {requestUri := p_requestUri},
590 garciay 1885
                    msgHeader := {
599 tepelmann 1886
                        callId := p_callId,
1887
                        cSeq := p_cSeq,
1888
                        fromField := p_from,
1889
                        toField := p_to,
590 garciay 1890
                        via := p_via
1891
                    }
572 garciay 1892
                }
9 rennoch 1893
 
590 garciay 1894
                template(value) CANCEL_Request m_CANCEL_Request_Base(
599 tepelmann 1895
                    template(value) SipUrl p_requestUri,
602 nikolajev 1896
                    template(omit) CallId p_callId := omit,
1897
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1898
                    template(value) From p_from,
1899
                    template(value) To p_to,
1900
                    template(value) Via p_via
590 garciay 1901
                ) modifies m_CANCEL_Dummy := {
599 tepelmann 1902
                    requestLine := {requestUri := p_requestUri},
590 garciay 1903
                    msgHeader := {
599 tepelmann 1904
                        callId := p_callId,
1905
                        cSeq := p_cSeq,
1906
                        fromField := p_from,
1907
                        toField := p_to,
590 garciay 1908
                        via := p_via
1909
                    }
572 garciay 1910
                }
9 rennoch 1911
 
590 garciay 1912
                template(value) INFO_Request m_INFO_Request_Base(
599 tepelmann 1913
                    template(value) SipUrl p_requestUri,
602 nikolajev 1914
                    template(omit) CallId p_callId := omit,
1915
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1916
                    template(value) From p_from,
1917
                    template(value) To p_to,
1918
                    template(value) Via p_via
590 garciay 1919
                ) modifies m_INFO_Dummy := {
599 tepelmann 1920
                    requestLine := {requestUri := p_requestUri},
590 garciay 1921
                    msgHeader := {
599 tepelmann 1922
                        callId := p_callId,
1923
                        cSeq := p_cSeq,
1924
                        fromField := p_from,
1925
                        toField := p_to,
590 garciay 1926
                        via := p_via
1927
                    }
572 garciay 1928
                }
9 rennoch 1929
 
599 tepelmann 1930
                template(value) INVITE_Request m_INVITE_Request_Base(
1931
                    template(value) SipUrl p_requestUri,
602 nikolajev 1932
                    template(omit) CallId p_callId := omit,
1933
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1934
                    template(value) From p_from,
1935
                    template(value) To p_to,
1936
                    template(value) Via p_via,
1937
                    template(value) Contact p_contact
1938
                ) modifies m_INVITE_Dummy := {
572 garciay 1939
                    requestLine := {requestUri := p_requestUri},
599 tepelmann 1940
                    msgHeader := {
1941
                        callId := p_callId,
1942
                        contact := p_contact,
1943
                        cSeq := p_cSeq,
1944
                        fromField := p_from,
1945
                        toField := p_to,
1946
                        via := p_via
1947
                    }
572 garciay 1948
                }
9 rennoch 1949
 
599 tepelmann 1950
                template(value) MESSAGE_Request m_MESSAGE_Request_Base(
1951
                    template(value) SipUrl p_requestUri,
602 nikolajev 1952
                    template(omit) CallId p_callId := omit,
1953
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1954
                    template(value) From p_from,
1955
                    template(value) To p_to,
1956
                    template(value) Via p_via
1957
                ) modifies m_MESSAGE_Dummy := {
572 garciay 1958
                    requestLine := {requestUri := p_requestUri},
599 tepelmann 1959
                    msgHeader := {
1960
                        callId := p_callId,
1961
                        cSeq := p_cSeq,
1962
                        fromField := p_from,
1963
                        toField := p_to,
1964
                        via := p_via
1965
                    }
572 garciay 1966
                }
9 rennoch 1967
 
599 tepelmann 1968
                template(value) NOTIFY_Request m_NOTIFY_Request_Base(
1969
                    template(value) SipUrl p_requestUri,
602 nikolajev 1970
                    template(omit) CallId p_callId := omit,
1971
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1972
                    template(value) From p_from,
1973
                    template(value) To p_to,
1974
                    template(value) Via p_via
1975
                ) modifies m_NOTIFY_Dummy := {
572 garciay 1976
                    requestLine := {requestUri := p_requestUri},
1977
                    msgHeader := {
1978
                        callId := p_callId,
599 tepelmann 1979
                        cSeq := m_cSeq(p_cSeq.seqNumber, "NOTIFY"),  // STF471
1980
                                                                     // {fieldName:=CSEQ_E,
1981
                                                                     // seqNumber:=
1982
                                                                     // p_cSeq.seqNumber,
1983
                                                                     // method:=
1984
                                                                     // "NOTIFY"},
572 garciay 1985
                        fromField := p_from,
1986
                        toField := p_to,
1987
                        via := p_via
1988
                    }
1989
                }
9 rennoch 1990
 
599 tepelmann 1991
                template(value) OPTIONS_Request m_OPTIONS_Request_Base(
1992
                    template(value) SipUrl p_requestUri,
602 nikolajev 1993
                    template(omit) CallId p_callId := omit,
1994
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 1995
                    template(value) From p_from,
1996
                    template(value) To p_to,
1997
                    template(value) Via p_via
1998
                ) modifies m_OPTIONS_Dummy := {
572 garciay 1999
                    requestLine := {requestUri := p_requestUri},
2000
                    msgHeader := {
2001
                        callId := p_callId,
599 tepelmann 2002
                        cSeq := m_cSeq(p_cSeq.seqNumber, "OPTIONS"),  // STF471
2003
                                                                      // {fieldName:=CSEQ_E,
2004
                                                                      // seqNumber:=
2005
                                                                      // p_cSeq.seqNumber,
2006
                                                                      // method:=
2007
                                                                      // "OPTIONS"},
572 garciay 2008
                        fromField := p_from,
2009
                        toField := p_to,
2010
                        via := p_via
2011
                    }
2012
                }
411 rennoch 2013
 
599 tepelmann 2014
                template(value) PRACK_Request m_PRACK_Request_Base(
2015
                    template(value) SipUrl p_requestUri,
602 nikolajev 2016
                    template(omit) CallId p_callId := omit,
2017
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 2018
                    template(value) From p_from,
2019
                    template(value) To p_to,
2020
                    template(value) Via p_via,
2021
                    template(value) RAck p_RAck
2022
                ) modifies m_PRACK_Dummy := {
572 garciay 2023
                    requestLine := {requestUri := p_requestUri},
2024
                    msgHeader := {
2025
                        callId := p_callId,
599 tepelmann 2026
                        cSeq := m_cSeq(p_cSeq.seqNumber, "PRACK"),  // STF471
2027
                                                                    // {fieldName:=CSEQ_E,
2028
                                                                    // seqNumber:=
2029
                                                                    // p_cSeq.seqNumber,
2030
                                                                    // method:=
2031
                                                                    // "PRACK"},
572 garciay 2032
                        fromField := p_from,
2033
                        rAck := p_RAck,
2034
                        toField := p_to,
2035
                        via := p_via
2036
                    },
2037
                    messageBody := omit
2038
                }
329 rennoch 2039
 
599 tepelmann 2040
                // TODO: parameters "p_RAck" is not used, intentional or
2041
                // bug?
2042
                template(value) PUBLISH_Request m_PUBLISH_Request_Base(
2043
                    template(value) SipUrl p_requestUri,
602 nikolajev 2044
                    template(omit) CallId p_callId := omit,
2045
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 2046
                    template(value) From p_from,
2047
                    template(value) To p_to,
2048
                    template(value) Via p_via,
602 nikolajev 2049
                    template(omit) Event p_event := omit,
2050
                    template(omit) RAck p_RAck := omit,
599 tepelmann 2051
                    template(value) MessageBody p_mb
2052
                ) modifies m_PUBLISH_Dummy := {
572 garciay 2053
                    requestLine := {requestUri := p_requestUri},
2054
                    msgHeader := {
2055
                        callId := p_callId,
599 tepelmann 2056
                        contentLength := m_contentLength(f_MessageBodyLength(p_mb)),  // STF471
2057
                                                                                      // {fieldName
2058
                                                                                      // :=
2059
                                                                                      // CONTENT_LENGTH_E,
2060
                                                                                      // len:=
2061
                                                                                      // f_MessageBodyLength(valueof(p_mb))},
2062
                        contentType := m_contentType(c_plainText),  // STF471
2063
                                                                    // {fieldName
2064
                                                                    // :=
2065
                                                                    // CONTENT_TYPE_E,
2066
                                                                    // mediaType
2067
                                                                    // :=
2068
                                                                    // c_plainText/*c_sdp*/},
2069
                        cSeq := m_cSeq(p_cSeq.seqNumber, "PUBLISH"),  // STF471
2070
                                                                      // {fieldName:=CSEQ_E,
2071
                                                                      // seqNumber:=
2072
                                                                      // p_cSeq.seqNumber,
2073
                                                                      // method:=
2074
                                                                      // "PUBLISH"},
572 garciay 2075
                        event := p_event,
599 tepelmann 2076
                        rAck := p_RAck,  // TODO: added by STF471
572 garciay 2077
                        fromField := p_from,
2078
                        toField := p_to,
2079
                        via := p_via
2080
                    },
2081
                    messageBody := p_mb
2082
                }
337 rennoch 2083
 
599 tepelmann 2084
                template(value) REFER_Request m_REFER_Request_Base(
2085
                    template(value) SipUrl p_requestUri,
602 nikolajev 2086
                    template(omit) CallId p_callId := omit,
2087
                    template(omit) CSeq p_cSeq := omit,
2088
                    template(omit) Contact p_contact := omit,
599 tepelmann 2089
                    template(value) From p_from,
2090
                    template(value) To p_to,
2091
                    template(value) Via p_via,
602 nikolajev 2092
                    template(omit) ReferTo p_referTo := omit,
2093
                    template(omit) ReferredBy p_referredBy := omit
599 tepelmann 2094
                ) modifies m_REFER_Dummy := {
572 garciay 2095
                    requestLine := {requestUri := p_requestUri},
2096
                    msgHeader := {
2097
                        callId := p_callId,
2098
                        contact := p_contact,
599 tepelmann 2099
                        cSeq := m_cSeq(p_cSeq.seqNumber, "REFER"),  // STF471
2100
                                                                    // {fieldName:=CSEQ_E,
2101
                                                                    // seqNumber:=
2102
                                                                    // p_cSeq.seqNumber,
2103
                                                                    // method:=
2104
                                                                    // "REFER"},
572 garciay 2105
                        fromField := p_from,
2106
                        referTo := p_referTo,
2107
                        referredBy := p_referredBy,
2108
                        toField := p_to,
2109
                        via := p_via
2110
                    }
2111
                }
337 rennoch 2112
 
599 tepelmann 2113
                template(value) REFER_Request m_REFER_Request_replaces(
2114
                    template(value) SipUrl p_requestUri,
602 nikolajev 2115
                    template(omit) CallId p_callId := omit,
2116
                    template(omit) CSeq p_cSeq := omit,
2117
                    template(omit) Contact p_contact := omit,
599 tepelmann 2118
                    template(value) From p_from,
2119
                    template(value) To p_to,
2120
                    template(value) Via p_via,
2121
                    template(value) ReferTo p_referTo,
2122
                    template(value) ReferredBy p_referredBy,
2123
                    template(value) Replaces p_replaces,
602 nikolajev 2124
                    template(omit) Require p_require := omit
599 tepelmann 2125
                ) modifies m_REFER_Request_Base := {
2126
                    msgHeader := {
2127
                        replaces := p_replaces,
2128
                        require := p_require
2129
                    }
572 garciay 2130
                }
230 pintar 2131
 
590 garciay 2132
                template(value) REGISTER_Request m_REGISTER_Request_Base(
599 tepelmann 2133
                    template(value) SipUrl p_requestUri,
602 nikolajev 2134
                    template(omit) CallId p_callId := omit,
2135
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 2136
                    template(value) From p_from,
2137
                    template(value) To p_to,
2138
                    template(value) Via p_via,
602 nikolajev 2139
                    template(omit) Contact p_contact := omit,
2140
                    template(omit) Authorization p_authorization := omit
590 garciay 2141
                ) modifies m_REGISTER_Dummy := {
599 tepelmann 2142
                    requestLine := {requestUri := p_requestUri},
572 garciay 2143
                    msgHeader := {
2144
                        authorization := p_authorization,
2145
                        callId := p_callId,
2146
                        contact := p_contact,
2147
                        cSeq := p_cSeq,
2148
                        fromField := p_from,
2149
                        toField := p_to,
590 garciay 2150
                        supported := {
599 tepelmann 2151
                            fieldName := SUPPORTED_E,
2152
                            optionsTags := {"path"}
590 garciay 2153
                        },
572 garciay 2154
                        via := p_via
2155
                    }
2156
                }
9 rennoch 2157
 
590 garciay 2158
                template(value) SUBSCRIBE_Request m_SUBSCRIBE_Request_Base(
599 tepelmann 2159
                    template(value) SipUrl p_requestUri,
602 nikolajev 2160
                    template(omit) CallId p_callId := omit,
2161
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 2162
                    template(value) From p_from,
2163
                    template(value) To p_to,
2164
                    template(value) Via p_via
590 garciay 2165
                ) modifies m_SUBSCRIBE_Dummy := {
599 tepelmann 2166
                    requestLine := {requestUri := p_requestUri},
572 garciay 2167
                    msgHeader := {
2168
                        callId := p_callId,
599 tepelmann 2169
                        cSeq := m_cSeq(p_cSeq.seqNumber, "SUBSCRIBE"),  // STF471
2170
                                                                        // {fieldName:=CSEQ_E,
2171
                                                                        // seqNumber:=
2172
                                                                        // p_cSeq.seqNumber,
2173
                                                                        // method:=
2174
                                                                        // "SUBSCRIBE"},
572 garciay 2175
                        fromField := p_from,
2176
                        toField := p_to,
2177
                        via := p_via
2178
                    }
2179
                }
9 rennoch 2180
 
590 garciay 2181
                template(value) UPDATE_Request m_UPDATE_Request_Base(
599 tepelmann 2182
                    template(value) SipUrl p_requestUri,
602 nikolajev 2183
                    template(omit) CallId p_callId := omit,
2184
                    template(omit) CSeq p_cSeq := omit,
599 tepelmann 2185
                    template(value) From p_from,
2186
                    template(value) To p_to,
2187
                    template(value) Via p_via,
602 nikolajev 2188
                    template(omit) Contact p_contact := omit,
599 tepelmann 2189
                    template(value) MessageBody p_mb
590 garciay 2190
                ) modifies m_UPDATE_Dummy := {
572 garciay 2191
                    requestLine := {requestUri := p_requestUri},
2192
                    msgHeader := {
2193
                        callId := p_callId,
2194
                        contact := p_contact,
599 tepelmann 2195
                        contentLength := m_contentLength(f_MessageBodyLength(p_mb)),  // STF471
2196
                                                                                      // {fieldName
2197
                                                                                      // :=
2198
                                                                                      // CONTENT_LENGTH_E,
2199
                                                                                      // len:=
2200
                                                                                      // f_MessageBodyLength(valueof(p_mb))},
2201
                        contentType := m_contentType(c_sdpApplication),  // STF471
2202
                                                                         // {fieldName
2203
                                                                         // :=
2204
                                                                         // CONTENT_TYPE_E,
2205
                                                                         // mediaType
2206
                                                                         // :=
2207
                                                                         // c_sdp},
2208
                        cSeq := m_cSeq(p_cSeq.seqNumber, "UPDATE"),  // STF471
2209
                                                                     // {fieldName:=CSEQ_E,