Rev

Rev 603 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | Bug Tracker

Rev 603 Rev 604
Line 1... Line 1...
1
/**
1
/**
2
 * @author STF 346, STF366, STF368, STF369, STF450, STF471
2
 * @author STF 346, STF366, STF368, STF369, STF450, STF471
3
 * @version $Id: LibSip_Templates.ttcn 603 2014-02-26 16:04:50Z tepelmann $
3
 * @version $Id: LibSip_Templates.ttcn 604 2014-02-27 10:07:49Z nikolajev $
4
 * @desc This module defines SIP Templates for message, header, and
4
 * @desc This module defines SIP Templates for message, header, and
5
 *      structured types. <br>
5
 *      structured types. <br>
6
 *      Note that any changes made to the definitions in this module
6
 *      Note that any changes made to the definitions in this module
7
 *      may be overwritten by future releases of this library
7
 *      may be overwritten by future releases of this library
8
 *      End users are encouraged to contact the distributers of this
8
 *      End users are encouraged to contact the distributers of this
Line 62... Line 62...
62
    group ModuleParameters {
62
    group ModuleParameters {
63
63
64
        modulepar boolean MB_LENGTH_FROM_ENCVAL := true;
64
        modulepar boolean MB_LENGTH_FROM_ENCVAL := true;
65
        //*     to get length of message body from ecoded value
65
        //*     to get length of message body from ecoded value
66
        modulepar boolean USE_FX_FOR_XML_LENGTH := false;
66
        modulepar boolean USE_FX_FOR_XML_LENGTH := false;
67
-
 
68
-
 
69
-
 
70
-
 
71
-
 
72
67
73
    //*     To use external functions for calculation of XML message/body length
68
    //*     To use external functions for calculation of XML message/body length
74
    } //*     group ModuleParameters
69
    } //*     group ModuleParameters
75
70
76
    group SubFields {
71
    group SubFields {
Line 544... Line 539...
544
            statusCode := p_statusCode,
539
            statusCode := p_statusCode,
545
            reasonPhrase := p_reasonPhrase
540
            reasonPhrase := p_reasonPhrase
546
        }
541
        }
547
542
548
        template(present) StatusLine mw_statusLine1xx modifies mw_statusLine_any := {statusCode := (100 .. 199)}
543
        template(present) StatusLine mw_statusLine1xx modifies mw_statusLine_any := {statusCode := (100 .. 199)}
-
 
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)}
549
548
550
        template(present) StatusLine mw_statusLine4xx modifies mw_statusLine_any := {statusCode := (400 .. 499)}
549
        template(present) StatusLine mw_statusLine4xx modifies mw_statusLine_any := {statusCode := (400 .. 499)}
551
550
552
        template(present) StatusLine mw_statusLine5xx modifies mw_statusLine_any := {statusCode := (500 .. 599)}
551
        template(present) StatusLine mw_statusLine5xx modifies mw_statusLine_any := {statusCode := (500 .. 599)}
-
 
552
       
-
 
553
        template(present) StatusLine mw_statusLine6xx modifies mw_statusLine_any := {statusCode := (600 .. 699)}
553
554
554
        template(present) StatusLine mw_statusLineFinal modifies mw_statusLine_any := {statusCode := (200 .. 699)}
555
        template(present) StatusLine mw_statusLineFinal modifies mw_statusLine_any := {statusCode := (200 .. 699)}
555
556
556
        template(present) NameAddr mw_NameAddr_DispName_User_Host(
557
        template(present) NameAddr mw_NameAddr_DispName_User_Host(
557
            template charstring p_dn,
558
            template charstring p_dn,
Line 2383... Line 2384...
2383
                template(present) Response mw_Response_StatusCode_Base(
2384
                template(present) Response mw_Response_StatusCode_Base(
2384
                    template(present) StatusLine.statusCode p_statusCode := ?,
2385
                    template(present) StatusLine.statusCode p_statusCode := ?,
2385
                    template CallId p_callId,
2386
                    template CallId p_callId,
2386
                    template CSeq p_cSeq
2387
                    template CSeq p_cSeq
2387
                ) modifies mw_Response_Dummy := {
2388
                ) modifies mw_Response_Dummy := {
2388
                    statusLine := {
-
 
2389
                        sipVersion := c_sipNameVersion,
-
 
2390
                        statusCode := p_statusCode,
2389
                    statusLine := mw_statusLine(p_statusCode, ?),
2391
                        reasonPhrase := ?
-
 
2392
                    },
-
 
2393
                    msgHeader := {
2390
                    msgHeader := {
2394
                        callId := p_callId,
2391
                        callId := p_callId,
2395
                        contentLength := *,
2392
                        contentLength := *,
2396
                        cSeq := p_cSeq,
2393
                        cSeq := p_cSeq,
2397
                        fromField := ?,
2394
                        fromField := ?,
Line 2403... Line 2400...
2403
2400
2404
                template(present) Response mw_Response_1xx_Base(
2401
                template(present) Response mw_Response_1xx_Base(
2405
                    template CallId p_callId,
2402
                    template CallId p_callId,
2406
                    template CSeq p_cSeq
2403
                    template CSeq p_cSeq
2407
                ) modifies mw_Response_Dummy := {
2404
                ) modifies mw_Response_Dummy := {
2408
                    statusLine := {
2405
                    statusLine := mw_statusLine1xx,
2409
                        sipVersion := c_sipNameVersion,
-
 
2410
                        statusCode := (100 .. 199),
-
 
2411
                        reasonPhrase := ?
-
 
2412
                    },
-
 
2413
                    msgHeader := {
2406
                    msgHeader := {
2414
                        callId := p_callId,
2407
                        callId := p_callId,
2415
                        contentLength := *,
2408
                        contentLength := *,
2416
                        cSeq := p_cSeq,
2409
                        cSeq := p_cSeq,
2417
                        fromField := ?,
2410
                        fromField := ?,
Line 2423... Line 2416...
2423
2416
2424
                template(present) Response mw_Response_2xx_Base(
2417
                template(present) Response mw_Response_2xx_Base(
2425
                    template CallId p_callId,
2418
                    template CallId p_callId,
2426
                    template CSeq p_cSeq
2419
                    template CSeq p_cSeq
2427
                ) modifies mw_Response_1xx_Base := {
2420
                ) modifies mw_Response_1xx_Base := {
2428
                    statusLine := {
2421
                    statusLine := mw_statusLine2xx
2429
                        sipVersion := c_sipNameVersion,
-
 
2430
                        statusCode := (200 .. 299),
-
 
2431
                        reasonPhrase := ?
-
 
2432
                    }
-
 
2433
                }
2422
                }
2434
2423
2435
                template(present) Response mw_Response_3xx_Base(
2424
                template(present) Response mw_Response_3xx_Base(
2436
                    template CallId p_callId,
2425
                    template CallId p_callId,
2437
                    template CSeq p_cSeq
2426
                    template CSeq p_cSeq
2438
                ) modifies mw_Response_1xx_Base := {
2427
                ) modifies mw_Response_1xx_Base := {
2439
                    statusLine := {
2428
                    statusLine := mw_statusLine3xx
2440
                        sipVersion := c_sipNameVersion,
-
 
2441
                        statusCode := (300 .. 399),
-
 
2442
                        reasonPhrase := ?
-
 
2443
                    }
-
 
2444
                }
2429
                }
2445
2430
2446
                template(present) Response mw_Response_4xx_Base(
2431
                template(present) Response mw_Response_4xx_Base(
2447
                    template CallId p_callId,
2432
                    template CallId p_callId,
2448
                    template CSeq p_cSeq
2433
                    template CSeq p_cSeq
2449
                ) modifies mw_Response_1xx_Base := {
2434
                ) modifies mw_Response_1xx_Base := {
2450
                    statusLine := {
2435
                    statusLine := mw_statusLine4xx
2451
                        sipVersion := c_sipNameVersion,
-
 
2452
                        statusCode := (400 .. 499),
-
 
2453
                        reasonPhrase := ?
-
 
2454
                    }
-
 
2455
                }
2436
                }
2456
2437
2457
                template(present) Response mw_Response_5xx_Base(
2438
                template(present) Response mw_Response_5xx_Base(
2458
                    template CallId p_callId,
2439
                    template CallId p_callId,
2459
                    template CSeq p_cSeq
2440
                    template CSeq p_cSeq
2460
                ) modifies mw_Response_1xx_Base := {
2441
                ) modifies mw_Response_1xx_Base := {
2461
                    statusLine := {
2442
                    statusLine := mw_statusLine5xx
2462
                        sipVersion := c_sipNameVersion,
-
 
2463
                        statusCode := (500 .. 599),
-
 
2464
                        reasonPhrase := ?
-
 
2465
                    }
-
 
2466
                }
2443
                }
2467
2444
2468
                template(present) Response mw_Response_6xx_Base(
2445
                template(present) Response mw_Response_6xx_Base(
2469
                    template CallId p_callId,
2446
                    template CallId p_callId,
2470
                    template CSeq p_cSeq
2447
                    template CSeq p_cSeq
2471
                ) modifies mw_Response_1xx_Base := {
2448
                ) modifies mw_Response_1xx_Base := {
2472
                    statusLine := {
2449
                    statusLine := mw_statusLine6xx
2473
                        sipVersion := c_sipNameVersion,
-
 
2474
                        statusCode := (600 .. 699),
-
 
2475
                        reasonPhrase := ?
-
 
2476
                    }
-
 
2477
                }
2450
                }
2478
2451
2479
                template(present) Response mw_Response_Algorithm(
2452
                template(present) Response mw_Response_Algorithm(
2480
                    template(present) StatusLine p_statusLine := ?,
2453
                    template(present) StatusLine p_statusLine := ?,
2481
                    template CallId p_callId,
2454
                    template CallId p_callId,
2482
                    template CSeq p_cSeq,
2455
                    template CSeq p_cSeq,
2483
                    template CredentialsList p_credentialsList
2456
                    template(present) CredentialsList p_credentialsList
2484
                ) modifies mw_Response_Base := {
2457
                ) modifies mw_Response_Base := {
2485
                    statusLine := {
-
 
2486
                        sipVersion := c_sipNameVersion,
-
 
2487
                        statusCode := p_statusLine.statusCode,
2458
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
2488
                        reasonPhrase := ?
-
 
2489
                    },
-
 
2490
                    msgHeader := {
2459
                    msgHeader := {
2491
                        authorization := {
2460
                        authorization := {
2492
                            fieldName := AUTHORIZATION_E,
2461
                            fieldName := AUTHORIZATION_E,
2493
                            body := p_credentialsList
2462
                            body := p_credentialsList
2494
                        }
2463
                        }
Line 2739... Line 2708...
2739
                    msgHeader := {reason := mw_ReasonSIP(p_cause)}
2708
                    msgHeader := {reason := mw_ReasonSIP(p_cause)}
2740
                }
2709
                }
2741
2710
2742
                template(present) BYE_Request mw_BYE_Request_headerfieldlist(
2711
                template(present) BYE_Request mw_BYE_Request_headerfieldlist(
2743
                    template CallId p_callId,
2712
                    template CallId p_callId,
2744
                    template SipUrl p_requestUri,
2713
                    template(present) SipUrl p_requestUri,
2745
                    template(present) To p_to := ?,
2714
                    template(present) To p_to := ?,
2746
                    template(present) From p_from := ?,
2715
                    template(present) From p_from := ?,
2747
                    template CSeq p_cSeq,
2716
                    template CSeq p_cSeq,
2748
                    template Route p_route,
2717
                    template Route p_route,
2749
                    template RecordRoute p_recordRoute,
2718
                    template RecordRoute p_recordRoute,
Line 2979... Line 2948...
2979
                    template CSeq p_cSeq,
2948
                    template CSeq p_cSeq,
2980
                    template PAssertedID p_pAssertedID,
2949
                    template PAssertedID p_pAssertedID,
2981
                    template Privacy p_privacy,
2950
                    template Privacy p_privacy,
2982
                    template Supported p_supported
2951
                    template Supported p_supported
2983
                ) modifies mw_Response_Base := {
2952
                ) modifies mw_Response_Base := {
2984
                    statusLine := {
-
 
2985
                        sipVersion := c_sipNameVersion,
-
 
2986
                        statusCode := p_statusLine.statusCode,
2953
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
2987
                        reasonPhrase := ?
-
 
2988
                    },
-
 
2989
                    msgHeader := {
2954
                    msgHeader := {
2990
                        pAssertedID := p_pAssertedID,
2955
                        pAssertedID := p_pAssertedID,
2991
                        privacy := p_privacy,
2956
                        privacy := p_privacy,
2992
                        supported := p_supported
2957
                        supported := p_supported
2993
                    }
2958
                    }
Line 3039... Line 3004...
3039
                    template(present) StatusLine p_statusLine := ?,
3004
                    template(present) StatusLine p_statusLine := ?,
3040
                    template CallId p_callId,
3005
                    template CallId p_callId,
3041
                    template CSeq p_cSeq,
3006
                    template CSeq p_cSeq,
3042
                    template(present) DeltaSec p_deltaSec := ?
3007
                    template(present) DeltaSec p_deltaSec := ?
3043
                ) modifies mw_Response_Base := {
3008
                ) modifies mw_Response_Base := {
3044
                    statusLine := {
-
 
3045
                        sipVersion := c_sipNameVersion,
-
 
3046
                        statusCode := p_statusLine.statusCode,
3009
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3047
                        reasonPhrase := ?
-
 
3048
                    },
-
 
3049
                    msgHeader := {expires := mw_Expires(p_deltaSec)}
3010
                    msgHeader := {expires := mw_Expires(p_deltaSec)}
3050
                }
3011
                }
3051
3012
3052
                template(present) Response mw_Response_PAsserted_Privacy(
3013
                template(present) Response mw_Response_PAsserted_Privacy(
3053
                    template(present) StatusLine p_statusLine := ?,
3014
                    template(present) StatusLine p_statusLine := ?,
3054
                    template CallId p_callId,
3015
                    template CallId p_callId,
3055
                    template CSeq p_cSeq,
3016
                    template CSeq p_cSeq,
3056
                    template PAssertedID p_pAssertedID,
3017
                    template PAssertedID p_pAssertedID,
3057
                    template Privacy p_privacy
3018
                    template Privacy p_privacy
3058
                ) modifies mw_Response_Base := {
3019
                ) modifies mw_Response_Base := {
3059
                    statusLine := {
-
 
3060
                        sipVersion := c_sipNameVersion,
-
 
3061
                        statusCode := p_statusLine.statusCode,
3020
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3062
                        reasonPhrase := ?
-
 
3063
                    },
-
 
3064
                    msgHeader := {
3021
                    msgHeader := {
3065
                        pAssertedID := p_pAssertedID,
3022
                        pAssertedID := p_pAssertedID,
3066
                        privacy := p_privacy
3023
                        privacy := p_privacy
3067
                    }
3024
                    }
3068
                }
3025
                }
Line 3071... Line 3028...
3071
                    template(present) StatusLine p_statusLine := ?,
3028
                    template(present) StatusLine p_statusLine := ?,
3072
                    template CallId p_callId,
3029
                    template CallId p_callId,
3073
                    template CSeq p_cSeq,
3030
                    template CSeq p_cSeq,
3074
                    template(value) charstring p_cause
3031
                    template(value) charstring p_cause
3075
                ) modifies mw_Response_Base := {
3032
                ) modifies mw_Response_Base := {
3076
                    statusLine := {
-
 
3077
                        sipVersion := c_sipNameVersion,
-
 
3078
                        statusCode := p_statusLine.statusCode,
3033
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3079
                        reasonPhrase := ?
-
 
3080
                    },
-
 
3081
                    msgHeader := {reason := mw_Reason(p_cause)}
3034
                    msgHeader := {reason := mw_Reason(p_cause)}
3082
                }
3035
                }
3083
3036
3084
                template(present) Response mw_Response_RecordRoute(
3037
                template(present) Response mw_Response_RecordRoute(
3085
                    template(present) StatusLine p_statusLine := ?,
3038
                    template(present) StatusLine p_statusLine := ?,
3086
                    template CallId p_callId,
3039
                    template CallId p_callId,
3087
                    template CSeq p_cSeq,
3040
                    template CSeq p_cSeq,
3088
                    template RecordRoute p_recordRoute
3041
                    template RecordRoute p_recordRoute
3089
                ) modifies mw_Response_Base := {
3042
                ) modifies mw_Response_Base := {
3090
                    statusLine := {
-
 
3091
                        sipVersion := c_sipNameVersion,
-
 
3092
                        statusCode := p_statusLine.statusCode,
3043
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3093
                        reasonPhrase := ?
-
 
3094
                    },
-
 
3095
                    msgHeader := {recordRoute := p_recordRoute}
3044
                    msgHeader := {recordRoute := p_recordRoute}
3096
                }
3045
                }
3097
3046
3098
                template(present) Response mw_Response_Via(
3047
                template(present) Response mw_Response_Via(
3099
                    template(present) StatusLine p_statusLine := ?,
3048
                    template(present) StatusLine p_statusLine := ?,
3100
                    template CallId p_callId,
3049
                    template CallId p_callId,
3101
                    template CSeq p_cSeq,
3050
                    template CSeq p_cSeq,
3102
                    template(present) Via p_via := ?
3051
                    template(present) Via p_via := ?
3103
                ) modifies mw_Response_Base := {
3052
                ) modifies mw_Response_Base := {
3104
                    statusLine := {
-
 
3105
                        sipVersion := c_sipNameVersion,
-
 
3106
                        statusCode := p_statusLine.statusCode,
3053
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3107
                        reasonPhrase := ?
-
 
3108
                    },
-
 
3109
                    msgHeader := {via := p_via}
3054
                    msgHeader := {via := p_via}
3110
                }
3055
                }
3111
3056
3112
                template(present) Response mw_Response_Contact(
3057
                template(present) Response mw_Response_Contact(
3113
                    template(present) StatusLine p_statusLine := ?,
3058
                    template(present) StatusLine p_statusLine := ?,
3114
                    template CallId p_callId,
3059
                    template CallId p_callId,
3115
                    template CSeq p_cSeq,
3060
                    template CSeq p_cSeq,
3116
                    template Contact p_contact
3061
                    template Contact p_contact
3117
                ) modifies mw_Response_Base := {
3062
                ) modifies mw_Response_Base := {
3118
                    statusLine := {
-
 
3119
                        sipVersion := c_sipNameVersion,
-
 
3120
                        statusCode := p_statusLine.statusCode,
3063
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3121
                        reasonPhrase := ?
-
 
3122
                    },
-
 
3123
                    msgHeader := {contact := p_contact}
3064
                    msgHeader := {contact := p_contact}
3124
                }
3065
                }
3125
3066
3126
                template(present) Response mw_Response_AlertInfo(
3067
                template(present) Response mw_Response_AlertInfo(
3127
                    template(present) StatusLine p_statusLine := ?,
3068
                    template(present) StatusLine p_statusLine := ?,
3128
                    template CallId p_callId,
3069
                    template CallId p_callId,
3129
                    template CSeq p_cSeq,
3070
                    template CSeq p_cSeq,
3130
                    template AlertInfo p_alertInfo
3071
                    template AlertInfo p_alertInfo
3131
                ) modifies mw_Response_Base := {
3072
                ) modifies mw_Response_Base := {
3132
                    statusLine := {
-
 
3133
                        sipVersion := c_sipNameVersion,
-
 
3134
                        statusCode := p_statusLine.statusCode,
3073
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3135
                        reasonPhrase := ?
-
 
3136
                    },
-
 
3137
                    msgHeader := {alertInfo := p_alertInfo}
3074
                    msgHeader := {alertInfo := p_alertInfo}
3138
                }
3075
                }
3139
3076
3140
                template(present) Response mw_Response_HistoryInfo(
3077
                template(present) Response mw_Response_HistoryInfo(
3141
                    template(present) StatusLine p_statusLine := ?,
3078
                    template(present) StatusLine p_statusLine := ?,
3142
                    template CallId p_callId,
3079
                    template CallId p_callId,
3143
                    template CSeq p_cSeq,
3080
                    template CSeq p_cSeq,
3144
                    template HistoryInfo p_historyInfo
3081
                    template HistoryInfo p_historyInfo
3145
                ) modifies mw_Response_Base := {
3082
                ) modifies mw_Response_Base := {
3146
                    statusLine := {
-
 
3147
                        sipVersion := c_sipNameVersion,
-
 
3148
                        statusCode := p_statusLine.statusCode,
3083
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3149
                        reasonPhrase := ?
-
 
3150
                    },
-
 
3151
                    msgHeader := {historyInfo := p_historyInfo}
3084
                    msgHeader := {historyInfo := p_historyInfo}
3152
                }
3085
                }
3153
3086
3154
                template(present) Response mw_Response_messageBody(
3087
                template(present) Response mw_Response_messageBody(
3155
                    template(present) StatusLine p_statusLine := ?,
3088
                    template(present) StatusLine p_statusLine := ?,
3156
                    template CallId p_callId,
3089
                    template CallId p_callId,
3157
                    template CSeq p_cSeq,
3090
                    template CSeq p_cSeq,
3158
                    template Require p_require,
3091
                    template Require p_require,
3159
                    template MessageBody p_mb
3092
                    template MessageBody p_mb
3160
                ) modifies mw_Response_Base := {
3093
                ) modifies mw_Response_Base := {
3161
                    statusLine := {
-
 
3162
                        sipVersion := c_sipNameVersion,
-
 
3163
                        statusCode := p_statusLine.statusCode,
3094
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3164
                        reasonPhrase := ?
-
 
3165
                    },
-
 
3166
                    msgHeader := {require := p_require},
3095
                    msgHeader := {require := p_require},
3167
                    messageBody := p_mb
3096
                    messageBody := p_mb
3168
                }
3097
                }
3169
3098
3170
                template(present) Response mw_Response_Require(
3099
                template(present) Response mw_Response_Require(
3171
                    template(present) StatusLine p_statusLine := ?,
3100
                    template(present) StatusLine p_statusLine := ?,
3172
                    template CallId p_callId,
3101
                    template CallId p_callId,
3173
                    template CSeq p_cSeq,
3102
                    template CSeq p_cSeq,
3174
                    template Require p_require
3103
                    template Require p_require
3175
                ) modifies mw_Response_Base := {
3104
                ) modifies mw_Response_Base := {
3176
                    statusLine := {
-
 
3177
                        sipVersion := c_sipNameVersion,
-
 
3178
                        statusCode := p_statusLine.statusCode,
3105
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3179
                        reasonPhrase := ?
-
 
3180
                    },
-
 
3181
                    msgHeader := {require := p_require}
3106
                    msgHeader := {require := p_require}
3182
                }
3107
                }
3183
3108
3184
                template(present) Response mw_Response_Require_ifpresent(
3109
                template(present) Response mw_Response_Require_ifpresent(
3185
                    template(present) StatusLine p_statusLine := ?,
3110
                    template(present) StatusLine p_statusLine := ?,
3186
                    template CallId p_callId,
3111
                    template CallId p_callId,
3187
                    template CSeq p_cSeq,
3112
                    template CSeq p_cSeq,
3188
                    template Require p_require
3113
                    template(present) Require p_require
3189
                ) modifies mw_Response_Base := {
3114
                ) modifies mw_Response_Base := {
3190
                    statusLine := {
-
 
3191
                        sipVersion := c_sipNameVersion,
-
 
3192
                        statusCode := p_statusLine.statusCode,
3115
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3193
                        reasonPhrase := ?
-
 
3194
                    },
-
 
3195
                    msgHeader := {require := p_require  ifpresent}
3116
                    msgHeader := {require := p_require  ifpresent}
3196
                }
3117
                }
3197
3118
3198
                template(present) Response mw_Response_Supported(
3119
                template(present) Response mw_Response_Supported(
3199
                    template(present) StatusLine p_statusLine := ?,
3120
                    template(present) StatusLine p_statusLine := ?,
3200
                    template CallId p_callId,
3121
                    template CallId p_callId,
3201
                    template CSeq p_cSeq,
3122
                    template CSeq p_cSeq,
3202
                    template Supported p_supported
3123
                    template Supported p_supported
3203
                ) modifies mw_Response_Base := {
3124
                ) modifies mw_Response_Base := {
3204
                    statusLine := {
-
 
3205
                        sipVersion := c_sipNameVersion,
-
 
3206
                        statusCode := p_statusLine.statusCode,
3125
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3207
                        reasonPhrase := ?
-
 
3208
                    },
-
 
3209
                    msgHeader := {supported := p_supported}
3126
                    msgHeader := {supported := p_supported}
3210
                }
3127
                }
3211
3128
3212
                template(present) Response mw_Response_UserToUser(
3129
                template(present) Response mw_Response_UserToUser(
3213
                    template(present) StatusLine p_statusLine := ?,
3130
                    template(present) StatusLine p_statusLine := ?,
3214
                    template CallId p_callId,
3131
                    template CallId p_callId,
3215
                    template CSeq p_cSeq
3132
                    template CSeq p_cSeq
3216
                ) modifies mw_Response_Base := {
3133
                ) modifies mw_Response_Base := {
3217
                    statusLine := {
-
 
3218
                        sipVersion := c_sipNameVersion,
-
 
3219
                        statusCode := p_statusLine.statusCode,
3134
                    statusLine := mw_statusLine(p_statusLine.statusCode, ?),
3220
                        reasonPhrase := ?
-
 
3221
                    },
-
 
3222
                    msgHeader := {userToUser := ?}
3135
                    msgHeader := {userToUser := ?}
3223
                }
3136
                }
3224
3137
3225
3138
3226
3139
Line 3241... Line 3154...
3241
3154
3242
        group SDP_Messages {
3155
        group SDP_Messages {
3243
3156
3244
            group base_templates {
3157
            group base_templates {
3245
3158
3246
                template(value) SDP_Message m_SDP(
3159
                template(value) SDP_Message m_SDP_base := {
3247
                    template(value) SDP_media_desc p_media,
-
 
3248
                    template(value) SipUserProfile p_userprofile
-
 
3249
                ) := {
-
 
3250
                    protocol_version := 0,  //*     v=0
3160
                    protocol_version := 0,  //*     v=0
3251
                    origin := {
3161
                    origin := {
3252
                        user_name := PX_SIP_SDP_user_name,
3162
                        user_name := PX_SIP_SDP_user_name,
3253
                        session_id := PX_SIP_SDP_session_id,
3163
                        session_id := PX_SIP_SDP_session_id,
3254
                        session_version := "0",
3164
                        session_version := "0",
3255
                        net_type := c_in,
3165
                        net_type := c_in,
3256
                        addr_type := c_ip4,
3166
                        addr_type := c_ip4,
3257
                        addr := p_userprofile.contactIpaddr
3167
                        addr := ""
3258
                    },
3168
                    },
3259
                    //*     o=voicesession 12345 12345 IN IP4 172.27.1.219
3169
                    //*     o=voicesession 12345 12345 IN IP4 172.27.1.219
3260
                    session_name := "Voice Session",  //*     s=Voice Session
3170
                    session_name := "Voice Session",  //*     s=Voice Session
3261
                    information := omit,
3171
                    information := omit,
3262
                    uri := omit,
3172
                    uri := omit,
3263
                    emails := omit,
3173
                    emails := omit,
3264
                    phone_numbers := omit,
3174
                    phone_numbers := omit,
-
 
3175
                    connection := omit,
-
 
3176
                    bandwidth := omit,
-
 
3177
                    times := {
-
 
3178
                        {
-
 
3179
                            time_field := {"0", "0"},
-
 
3180
                            time_repeat := omit
-
 
3181
                        }
-
 
3182
                    },  //*     t=0 0
-
 
3183
                    timezone_adjustments := omit,
-
 
3184
                    key := omit,
-
 
3185
                    attributes := omit,
-
 
3186
                    media_list := omit
-
 
3187
                }
-
 
3188
-
 
3189
                template(value) SDP_Message m_SDP(
-
 
3190
                    template(value) SDP_media_desc p_media,
-
 
3191
                    template(value) SipUserProfile p_userprofile
-
 
3192
                ) modifies m_SDP_base := {
-
 
3193
                    origin := {
-
 
3194
                        addr := p_userprofile.contactIpaddr
-
 
3195
                    },
-
 
3196
                    //*     o=voicesession 12345 12345 IN IP4 172.27.1.219
3265
                    connection := {
3197
                    connection := {
3266
                        net_type := c_in,
3198
                        net_type := c_in,
3267
                        addr_type := c_ip4,
3199
                        addr_type := c_ip4,
3268
                        conn_addr := {
3200
                        conn_addr := {
3269
                            addr := p_userprofile.bearerIpaddr,
3201
                            addr := p_userprofile.bearerIpaddr,
Line 3271... Line 3203...
3271
                            num_of_addr := omit
3203
                            num_of_addr := omit
3272
                        }
3204
                        }
3273
                    },  //*     c=IN
3205
                    },  //*     c=IN
3274
                        //*     IP4
3206
                        //*     IP4
3275
                        //*     172.27.1.219
3207
                        //*     172.27.1.219
3276
                    bandwidth := omit,
-
 
3277
                    times := {
-
 
3278
                        {
-
 
3279
                            time_field := {"0", "0"},
-
 
3280
                            time_repeat := omit
-
 
3281
                        }
-
 
3282
                    },  //*     t=0 0
-
 
3283
                    timezone_adjustments := omit,
-
 
3284
                    key := omit,
-
 
3285
                    attributes := omit,
-
 
3286
                    media_list := {p_media}
3208
                    media_list := {p_media}
3287
                }
3209
                }
3288
3210
3289
                template(value) SDP_Message m_SDP_mediaList(
3211
                template(value) SDP_Message m_SDP_mediaList(
3290
                    template(value) SDP_media_desc_list p_media_list,
3212
                    template(value) SDP_media_desc_list p_media_list,
3291
                    template(value) SipUserProfile p_userprofile
3213
                    template(value) SipUserProfile p_userprofile
3292
                ) := {
3214
                ) modifies m_SDP_base := {
3293
                    protocol_version := 0,  //*     v=0
-
 
3294
                    origin := {
3215
                    origin := {
3295
                        user_name := PX_SIP_SDP_user_name,
-
 
3296
                        session_id := PX_SIP_SDP_session_id,
-
 
3297
                        session_version := "0",
-
 
3298
                        net_type := c_in,
-
 
3299
                        addr_type := c_ip4,
-
 
3300
                        addr := p_userprofile.contactIpaddr
3216
                        addr := p_userprofile.contactIpaddr
3301
                    },
3217
                    },
3302
                    //*     o=voicesession 12345 12345 IN IP4 172.27.1.219
3218
                    //*     o=voicesession 12345 12345 IN IP4 172.27.1.219
3303
                    session_name := "Voice Session",  //*     s=Voice Session
-
 
3304
                    information := omit,
-
 
3305
                    uri := omit,
-
 
3306
                    emails := omit,
-
 
3307
                    phone_numbers := omit,
-
 
3308
                    connection := {
3219
                    connection := {
3309
                        net_type := c_in,
3220
                        net_type := c_in,
3310
                        addr_type := c_ip4,
3221
                        addr_type := c_ip4,
3311
                        conn_addr := {
3222
                        conn_addr := {
3312
                            addr := p_userprofile.bearerIpaddr,
3223
                            addr := p_userprofile.bearerIpaddr,
Line 3314... Line 3225...
3314
                            num_of_addr := omit
3225
                            num_of_addr := omit
3315
                        }
3226
                        }
3316
                    },  //*     c=IN
3227
                    },  //*     c=IN
3317
                        //*     IP4
3228
                        //*     IP4
3318
                        //*     172.27.1.219
3229
                        //*     172.27.1.219
3319
                    bandwidth := omit,
-
 
3320
                    times := {
-
 
3321
                        {
-
 
3322
                            time_field := {"0", "0"},
-
 
3323
                            time_repeat := omit
-
 
3324
                        }
-
 
3325
                    },  //*     t=0 0
-
 
3326
                    timezone_adjustments := omit,
-
 
3327
                    key := omit,
-
 
3328
                    attributes := omit,
-
 
3329
                    media_list := p_media_list
3230
                    media_list := p_media_list
3330
                }
3231
                }
3331
3232
3332
                template(value) SDP_Message m_SDP_media_attr_preconditions(
3233
                template(value) SDP_Message m_SDP_media_attr_preconditions(
3333
                    template(value) SDP_media_desc p_media,
3234
                    template(value) SDP_media_desc p_media,
Line 3422... Line 3323...
3422
3323
3423
                template(value) SDP_Message m_SDP_encrypted(
3324
                template(value) SDP_Message m_SDP_encrypted(
3424
                    template(value) SDP_media_desc p_media,
3325
                    template(value) SDP_media_desc p_media,
3425
                    template(value) SipUserProfile p_userprofile
3326
                    template(value) SipUserProfile p_userprofile
3426
                ) modifies m_SDP := {
3327
                ) modifies m_SDP := {
3427
                    protocol_version := 0,
-
 
3428
                    bandwidth := {
3328
                    bandwidth := {
3429
                        {
3329
                        {
3430
                            PX_SIP_SDP_b_modifier,
3330
                            PX_SIP_SDP_b_modifier,
3431
                            PX_SIP_SDP_b_bandwidth
3331
                            PX_SIP_SDP_b_bandwidth
3432
                        }
3332
                        }
Line 3488... Line 3388...
3488
                bandwidth := omit,
3388
                bandwidth := omit,
3489
                key := p_sdpKey,
3389
                key := p_sdpKey,
3490
                attributes := {{rtpmap := {attr_value := p_PT & " " & p_encod}}} //*     a=rtpmap:8 PCMA/8000
3390
                attributes := {{rtpmap := {attr_value := p_PT & " " & p_encod}}} //*     a=rtpmap:8 PCMA/8000
3491
            }
3391
            }
3492
3392
-
 
3393
            /**
-
 
3394
             * @desc send template with specific media transport and attribute values
-
 
3395
             * @param p_mediaAttribute parameter for SDP media transport supported by the IUT
-
 
3396
             *        former PX_SIP_SDP_media_transport
-
 
3397
             * @param p_mediaAttribute parameter for SDP media attribute supported by the IUT,
-
 
3398
             *        former PX_SIP_SDP_media_attribute_Exp & PX_SIP_SDP_media_transport_Exp
-
 
3399
             */
3493
            template(value) SDP_media_desc m_media_unsupported := {
3400
            template(value) SDP_media_desc m_media_unsupported(
-
 
3401
                template(value) charstring p_mediaTransport,
-
 
3402
                template(value) charstring p_mediaAttribute
-
 
3403
            ) := {
3494
                media_field := {
3404
                media_field := {
3495
                    media := PX_SIP_SDP_media_video,
3405
                    media := PX_SIP_SDP_media_video,
3496
                    ports := {
3406
                    ports := {
3497
                        port_number := 11500,
3407
                        port_number := 11500,
3498
                        num_of_ports := omit
3408
                        num_of_ports := omit
3499
                    },
3409
                    },
3500
                    transport := PX_SIP_SDP_media_transport,
3410
                    transport := p_mediaTransport,
3501
                    fmts := {"99"}
3411
                    fmts := {"99"}
3502
                },  //*     m=audio 8500 RTP/AVP 0
3412
                },  //*     m=audio 8500 RTP/AVP 0
3503
                information := omit,
3413
                information := omit,
3504
                connections := omit,
3414
                connections := omit,
3505
                bandwidth := omit,
3415
                bandwidth := omit,
3506
                key := omit,
3416
                key := omit,
3507
                attributes := {{rtpmap := {attr_value := PX_SIP_SDP_media_attribute_Exp}}}
3417
                attributes := {{rtpmap := {attr_value := p_mediaAttribute}}}
3508
            }
3418
            }
3509
3419
3510
            template(value) SDP_bandwidth m_bandwidth(
3420
            template(value) SDP_bandwidth m_bandwidth(
3511
                template(value) charstring loc_m,
3421
                template(value) charstring loc_m,
3512
                template(value) integer loc_b
3422
                template(value) integer loc_b
Line 3713... Line 3623...
3713
            msg_account := *,
3623
            msg_account := *,
3714
            msg_summary_line_list := *,
3624
            msg_summary_line_list := *,
3715
            opt_msg_headers := *
3625
            opt_msg_headers := *
3716
        }
3626
        }
3717
3627
3718
        template(present) SimpleMsgSummary mw_SMS_yes := {
3628
        template(present) SimpleMsgSummary mw_SMS_yes modifies mw_SMS := {
3719
            msg_status_line := mw_msgStatusLine_yes,
3629
            msg_status_line := mw_msgStatusLine_yes
3720
            msg_account := *,
-
 
3721
            msg_summary_line_list := *,
-
 
3722
            opt_msg_headers := *
-
 
3723
        }
3630
        }
3724
3631
3725
        template(present) SimpleMsgSummary mw_SMS_yesUri := {
3632
        template(present) SimpleMsgSummary mw_SMS_yesUri modifies mw_SMS_yes := {
3726
            msg_status_line := mw_msgStatusLine_yes,
-
 
3727
            msg_account := mw_msgAccount,
3633
            msg_account := mw_msgAccount
3728
            msg_summary_line_list := *,
-
 
3729
            opt_msg_headers := *
-
 
3730
        }
3634
        }
3731
3635
3732
        template(present) SimpleMsgSummary mw_SMS_yesVoice := {
3636
        template(present) SimpleMsgSummary mw_SMS_yesVoice modifies mw_SMS_yes := {
3733
            msg_status_line := mw_msgStatusLine_yes,
-
 
3734
            msg_account := *,
-
 
3735
            msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)},
3637
            msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}
3736
            opt_msg_headers := *
-
 
3737
        }
3638
        }
3738
3639
3739
        template(present) SimpleMsgSummary mw_SMS_yesUriVoice := {
3640
        template(present) SimpleMsgSummary mw_SMS_yesUriVoice modifies mw_SMS_yesUri := {
3740
            msg_status_line := mw_msgStatusLine_yes,
-
 
3741
            msg_account := mw_msgAccount,
-
 
3742
            msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)},
3641
            msg_summary_line_list := {mw_msgSummaryLine(c_voiceMessage)}
3743
            opt_msg_headers := *
-
 
3744
        }
3642
        }
3745
3643
3746
        template(value) Msg_status_line m_msgStatusLine_yes := {
3644
        template(value) Msg_status_line m_msgStatusLine_yes := {
3747
            msg_type := c_messageWaiting,
3645
            msg_type := c_messageWaiting,
3748
            msg_status := "yes"
3646
            msg_status := "yes"
Line 3847... Line 3745...
3847
3745
3848
        template(value) MessageBody m_MBody_MIMESdpEncrypted(
3746
        template(value) MessageBody m_MBody_MIMESdpEncrypted(
3849
            template(value) SDP_Message p_sdp
3747
            template(value) SDP_Message p_sdp
3850
        ) := {
3748
        ) := {
3851
            mimeMessageBody := {
3749
            mimeMessageBody := {
3852
                boundary := "--boundary1",  // "PX_SIP_MIME_Boundary",
3750
                boundary := "--" & PX_SIP_MIME_Boundary,
3853
                mimeEncapsulatedList := {
3751
                mimeEncapsulatedList := {
3854
                    {
3752
                    {
3855
                        content_type := "application/sdp",  // "PX_SIP_SDP_ContentType",
3753
                        content_type := "application/sdp",
3856
                        // TODO add "Content-Transfer-Encoding:base64"
3754
                        // TODO add "Content-Transfer-Encoding:base64"
3857
                        content_disposition := "attachment;handling=required;filename=smime.p7",  // TODO use PIXIT
3755
                        content_disposition := "attachment;handling=required;filename=smime.p7",  // TODO use PIXIT
3858
                        mime_encapsulated_part := {sdpMessageBody := p_sdp}
3756
                        mime_encapsulated_part := {sdpMessageBody := p_sdp}
3859
                    }
3757
                    }
3860
                }
3758
                }