LibS1AP_Templates.ttcn 113 KB
Newer Older
garciay's avatar
garciay committed
 *    @author   ETSI / STF519
 *    @version  $URL:$
 *              $Id:$
 *    @desc     This module provides Lib S1AP Templates used by the test component for S1AP tests.
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS 136 413 / 3GPP TS 36.413 version 13.4.0 Release 13
garciay's avatar
garciay committed
module LibS1AP_Templates {
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
    
garciay's avatar
garciay committed
    // LibS1AP
    import from S1AP_Constants language "ASN.1:1997" all;
    import from S1AP_CommonDataTypes language "ASN.1:1997" all;
    // import from S1AP_Containers language "ASN.1:1997" all;
    import from S1AP_IEs language "ASN.1:1997" all;
    import from S1AP_PDU_Contents language "ASN.1:1997" all;
    import from S1AP_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
    import from LibS1AP_TypesAndValues all;
pintar's avatar
pintar committed
    import from LibS1AP_Interface all;
garciay's avatar
garciay committed
    
    group g_S1AP {
        
        group  g_S1AP_PDU {
            
            /**
garciay's avatar
garciay committed
             * @desc Send template for S1AP PDU with InitiatingMessage payload
             * @param p_procedureCode   Procedure code
             * @param p_value           Message value according to the Procedure code
garciay's avatar
garciay committed
             * @see ETSI TS 136 413 V13.4.0 Clause 9.1 Message Functional Definition and Content
garciay's avatar
garciay committed
             */
            template (value) S1AP_PDU m_initiatingMessage(
                                                          in ProcedureCode p_procedureCode, 
                                                          in anytype p_value
garciay's avatar
garciay committed
                initiatingMessage := {
                    procedureCode := p_procedureCode,
                    criticality := reject,
                    value_ := p_value
                }
            } // End of template m_initiatingMessage
            
        } // End of group g_S1AP_PDU
        
garciay's avatar
garciay committed
        /**
         * @desc List of S1AP Elementary procedures
         * @see ETSI TS 136 413 Table 1: Class 1 procedures
         */
garciay's avatar
garciay committed
        group class1 {
garciay's avatar
garciay committed
            
garciay's avatar
garciay committed
            group sendClass1 {
garciay's avatar
garciay committed
                
                group HandoverPreparation {
                    
                    group initiatingMessage {
                    } // End of group initiatingMessage
                    
                    group successfulOutcome {
                    } // End of group successfulOutcome
                    
                    group unsuccessfulOutcome {
                    } // End of group unsuccessfulOutcome
                    
                } // End of group HandoverPreparation
                
                group HandoverResourceAllocation {
                    
                }// End of group HandoverResourceAllocation
                
                group ERABSetup{
                    
garciay's avatar
garciay committed
                    /**
                     * @desc Send template for InitiatingMessage message with E-RABSetup payload
                     * @param p_value           Expected procedure code
                     */
pintar's avatar
pintar committed
                    template (value) InitiatingMessage m_E_RABSetupRequest(
                                                                           in template (value) RecordOf_ProtocolIE p_value) := {
garciay's avatar
garciay committed
                        procedureCode := id_E_RABSetup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
pintar's avatar
pintar committed
                    } // End of template m_E_RABSetupRequest
                    
                    template (value) RecordOf_ProtocolIE m_E_RABSetupReqIEs(
                                                                            in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                            in template (value) ENB_UE_S1AP_ID p_ENB_value,
                                                                            in template (value) RecordOf_E_RABToBeSetupItemBearerSUReq p_RecordOf_E_RABToBeSetupItem_value) := {
pintar's avatar
pintar committed
                        m_MME_UE_S1AP_ID(p_MME_value),
                        m_ENB_UE_S1AP_ID(p_ENB_value),
                        m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value)
                    } // End of template m_E_RABSetupReqIEs
garciay's avatar
garciay committed
                    
                }// End of group ERABSetup
                
garciay's avatar
garciay committed
                /**
                 * @desc Send messages for Warning Message Transmission Procedures
                 */
                group Warning_Message_Transmission_send {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with WRITE-REPLACE WARNING REQUEST payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_write_Replace_Warning_Request(
                                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_write_Replace_Warning_Request
                    
                    /**
                     * @desc Send template for WRITE-REPLACE WARNING REQUEST message
                     * @param p_message_Identifier              The Message Identifier value
                     * @param p_serial_Number                   The Serial Number value
                     * @param p_repetition_Period               TheRepetition Period value
                     * @param p_number_of_Broadcasts_Requested  The Number of Broadcasts Requested value
                     */
                    template (value) RecordOf_ProtocolIE m_write_Replace_Warning_RequestIEs(
                                                                                            in MessageIdentifier p_message_Identifier,
                                                                                            in SerialNumber p_serial_Number,
                                                                                            in RepetitionPeriod p_repetition_Period,
                                                                                            in NumberOfBroadcasts p_number_of_Broadcasts_Requested
                    ) := {
                        m_message_Identifier(p_message_Identifier),
                        m_serial_Number(p_serial_Number),
                        m_repetition_Period(p_repetition_Period),
                        m_number_of_Broadcasts_Requested(p_number_of_Broadcasts_Requested)
                    } // End of template m_write_Replace_Warning_RequestIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with WRITE-REPLACE WARNING RESPONSE payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_write_Replace_Warning_Response(
                                                                                       in template (value) RecordOf_ProtocolIE p_value) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_write_Replace_Warning_Response
                    
                    /**
                     * @desc Send template for WRITE-REPLACE WARNING RESPONSE message
                     * @param p_message_Identifier  The Message Identifier value
                     * @param p_serial_Number       The Serial Number value
                     */
                    template (value) RecordOf_ProtocolIE m_write_Replace_Warning_ResponseIEs(
                                                                                            in MessageIdentifier p_message_Identifier,
                                                                                            in SerialNumber p_serial_Number
                    ) := {
                        m_message_Identifier(p_message_Identifier),
                        m_serial_Number(p_serial_Number)
                    } // End of template m_write_Replace_Warning_ResponseIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL REQUEST payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_kill_Request(
                                                                      in template (value) RecordOf_ProtocolIE p_value) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_kill_Request
                    
                    /**
                     * @desc Send template for KILL REQUEST message
                     * @param p_message_Identifier  The Message Identifier value
                     * @param p_serial_Number       The Serial Number value
                     */
                    template (value) RecordOf_ProtocolIE m_kill_RequestIEs(
                                                                           in MessageIdentifier p_message_Identifier,
                                                                           in SerialNumber p_serial_Number
                    ) := {
                        m_message_Identifier(p_message_Identifier),
                        m_serial_Number(p_serial_Number)
                    } // End of template m_kill_RequestIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL REQUEST payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_kill_Response(
                                                                      in template (value) RecordOf_ProtocolIE p_value) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_kill_Response
                    
                    /**
                     * @desc Send template for KILL REQUEST message
                     * @param p_message_Identifier  The Message Identifier value
                     * @param p_serial_Number       The Serial Number value
                     */
                    template (value) RecordOf_ProtocolIE m_kill_ResponseIEs(
                                                                           in MessageIdentifier p_message_Identifier,
                                                                           in SerialNumber p_serial_Number
                    ) := {
                        m_message_Identifier(p_message_Identifier),
                        m_serial_Number(p_serial_Number)
                    } // End of template m_kill_ResponseIEs
                    
                }// End of group Warning_Message_Transmission_send
                
garciay's avatar
garciay committed
                //TODO: Other....
garciay's avatar
garciay committed
                
            } // End of group sendClass1 
garciay's avatar
garciay committed
            
garciay's avatar
garciay committed
            group receiveClass1 {
                
garciay's avatar
garciay committed
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914
                group HandoverPreparation{
                    
                }// End of group HandoverPreparation
                    
                group HandoverResourceAllocation{
                    
                }// End of group HandoverResourceAllocation
                
                group ERABSetup{
                    
                    /**
                     * @desc Receive template for SuccessfulOutcome/R-RAB_Setup message
                     * @param p_procedureCode   Expected procedure code. Default: ?
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_E_RABSetupResponse(
                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_E_RABSetup,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_E_RABSetupResponse
                    
                    template (present) RecordOf_ProtocolIE mw_E_RABSetupResIEs(
                                                                               template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                               template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                               template (present) RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_ENB_UE_S1AP_ID(p_ENB_value, ignore),
                        mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value)
                    } // End of template mw_E_RABSetupResIEs
                    
                    template (present) RecordOf_ProtocolIE mw_E_RABSetupResIEs_FailedToSetupList(
                                                                                                 template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                                 template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                                                 template (present) RecordOf_E_RABSetupItemBearerSURes p_RecordOf_E_RABSetupItem_value := ?,
                                                                                                 template (present) RecordOf_E_RABItem p_E_RABItem_value := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value, ignore),
                        mw_ENB_UE_S1AP_ID(p_ENB_value, ignore),
                        mw_E_RABSetupList(p_RecordOf_E_RABSetupItem_value),
                        mw_E_RABFailedToSetupList(p_E_RABItem_value)
                    } // End of template mw_E_RABSetupResIEs
                    
                } // End of group ERABSetup
                
                /**
                 * @desc Send messages for Warning Message Transmission Procedures
                 * @see ETSI TS 136 413 Clause 9.1.13 Warning Message Transmission Messages
                 */
                group Warning_Message_Transmission_receive {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with WRITE-REPLACE WARNING REQUEST/RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_write_Replace_Warning_RequestResponse(
                                                                                                  template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_write_Replace_Warning_RequestResponse
                    
                    /**
                     * @desc Send template for InitiatingMessage message with WRITE-REPLACE WARNING RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_write_Replace_Warning_Response(
                                                                                           template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_WriteReplaceWarning,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_write_Replace_Warning_Response
                    
                    /**
                     * @desc Receive template for WRITE-REPLACE WARNING REQUEST message
                     * @param p_message_Identifier              The expected Message Identifier value. Default: ?
                     * @param p_serial_Number                   The expected Serial Number value. Default: ?
                     * @param p_repetition_Period               The expected Repetition Period value. Default: ?
                     * @param p_number_of_Broadcasts_Requested  The expected Number of Broadcasts Requested value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_write_Replace_Warning_RequestIEs(
                                                                                               template (present) MessageIdentifier p_message_Identifier := ?,
                                                                                               template (present) SerialNumber p_serial_Number := ?,
                                                                                               template (present) RepetitionPeriod p_repetition_Period := ?,
                                                                                               template (present) NumberOfBroadcasts p_number_of_Broadcasts_Requested := ?
                    ) := {
                        mw_message_Identifier(p_message_Identifier),
                        mw_serial_Number(p_serial_Number),
                        mw_repetition_Period(p_repetition_Period),
                        mw_number_of_Broadcasts_Requested(p_number_of_Broadcasts_Requested)
                    } // End of template mw_write_Replace_Warning_RequestIEs
                    
                    /**
                     * @desc Receive template for WRITE-REPLACE WARNING REQUEST message
                     * @param p_serial_Number The expected Message Identifier value. Default: ?
                     * @param p_serial_Number The expected Serial Number value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_write_Replace_Warning_ResponseIEs(
                                                                                                template (present) MessageIdentifier p_message_Identifier := ?,
                                                                                                template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier(p_message_Identifier),
                        mw_serial_Number(p_serial_Number)
                    } // End of template mw_write_Replace_Warning_ResponseIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL REQUEST/RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_kill_RequestResponse(
                                                                                 template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_kill_RequestResponse
                    
                    /**
                     * @desc Send template for InitiatingMessage message with KILL RESPONSE payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) SuccessfulOutcome mw_kill_Response(
                                                                          template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_Kill,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_kill_Response
                    
                    /**
                     * @desc Receive template for KILL REQUEST message
                     * @param p_message_Identifier              The expected Message Identifier value. Default: ?
                     * @param p_serial_Number                   The expected Serial Number value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_kill_RequestIEs(
                                                                              template (present) MessageIdentifier p_message_Identifier := ?,
                                                                              template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier(p_message_Identifier),
                        mw_serial_Number(p_serial_Number)
                    } // End of template mw_kill_RequestIEs
                    
                    /**
                     * @desc Receive template for KILL REQUEST message
                     * @param p_message_Identifier  The expected Message Identifier value
                     * @param p_serial_Number       The expected Serial Number value
                     */
                    template (present) RecordOf_ProtocolIE mw_kill_ResponseIEs(
                                                                               template (present) MessageIdentifier p_message_Identifier := ?,
                                                                               template (present) SerialNumber p_serial_Number := ?
                    ) := {
                        mw_message_Identifier(p_message_Identifier),
                        mw_serial_Number(p_serial_Number)
                    } // End of template mw_kill_ResponseIEs
                    
                }// End of group Warning_Message_Transmission_receive
                
                //TODO: Other....
                
            } // End of group receiveClass1
            
        } // End of group class1
        
        /**
         * @desc List of S1AP Elementary procedures
         * @see ETSI TS 136 413 Table 2: Class 2 procedures
         */
        group class2 {
            
            group sendClass2 {
                
                /**
                 * @desc Send messages for Traces Procedures
                 */
                group Traces_send {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with TRACE START payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_trace_Start(
                                                                     in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_TraceStart,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_trace_Start
                    
                    /**
                     * @desc Send template for TRACE START message
                     * @param p_traceActivation    The Trace Activation value
                     */
                    template (value) RecordOf_ProtocolIE m_trace_StartIEs(
                                                                          in template (value) TraceActivation p_traceActivation
                    ) := {
                        m_traceActivation_IE(p_traceActivation)
                    } // End of template m_trace_StartIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with DEACTIVATE TRACE payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_deactivate_Trace(
                                                                          in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_DeactivateTrace,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_deactivate_Trace
                    
                    /**
                     * @desc Send template for DEACTIVATE TRACE message
                     * @param p_traceActivation    The Deactivate Trace value
                     */
                    template (value) RecordOf_ProtocolIE m_deactivate_TraceIEs(
                                                                               in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                               in template (value) ENB_UE_S1AP_ID p_ENB_value,
                                                                               in E_UTRAN_Trace_ID p_eUTRAN_Trace_ID
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
                        m_ENB_UE_S1AP_ID(p_ENB_value),
                        m_eUTRAN_Trace_ID_IE(p_eUTRAN_Trace_ID)
                    } // End of template m_deactivate_TraceIEs
                    
                } // End of group Traces_send
                
                /**
                 * @desc Send messages for Location Reporting Procedures
                 */
                group Location_reporting_send {
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORTING CONTROL payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_location_Reporting_Control(
                                                                                    in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReportingControl,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Reporting_Control
                    
                    /**
                     * @desc Send template for LOCATION REPORTING CONTROL message
                     * @param p_MME_value       MME UE S1AP ID value
                     * @param p_ENB_value       eNB UE S1AP ID value
                     * @param p_request_Type    The Type Request value
                     */
                    template (value) RecordOf_ProtocolIE m_location_Reporting_ControlIEs(
                                                                                         in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                                         in template (value) ENB_UE_S1AP_ID p_ENB_value,
                                                                                         in template (value) RequestType p_request_Type
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
                        m_ENB_UE_S1AP_ID(p_ENB_value),
                        m_request_Type_IE(p_request_Type)
                    } // End of template m_location_Reporting_ControlIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORTING CONTROL payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_location_Report(
                                                                         in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Report
                    
                    /**
                     * @desc Send template for LOCATION REPORT message
                     * @param p_MME_value       MME UE S1AP ID value
                     * @param p_ENB_value       eNB UE S1AP ID value
                     * @param p_request_Type    The Type Request value
                     */
                    template (value) RecordOf_ProtocolIE m_location_ReportIEs(
                                                                              in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                              in template (value) ENB_UE_S1AP_ID p_ENB_value,
                                                                              in template (value) RequestType p_request_Type
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
                        m_ENB_UE_S1AP_ID(p_ENB_value),
                        m_request_Type_IE(p_request_Type)
                    } // End of template m_location_ReportIEs
                    
                    /**
                     * @desc Send template for InitiatingMessage message with LOCATION REPORT FAILURE INDICATION payload
                     * @param p_value           Expected procedure code
                     */
                    template (value) InitiatingMessage m_location_Report_Failure_Indication(
                                                                                            in template (value) RecordOf_ProtocolIE p_value
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := valueof(p_value)}
                    } // End of template m_location_Report_Failure_Indication
                    
                    /**
                     * @desc Send template for LOCATION REPORT message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value   The expected eNB UE S1AP ID value. Default: ?
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (value) RecordOf_ProtocolIE m_location_Report_Failure_IndicationIEs(
                                                                                                 in template (value) MME_UE_S1AP_ID p_MME_value,
                                                                                                 in template (value) ENB_UE_S1AP_ID p_ENB_value,
                                                                                                 in template (value) Cause p_cause
                    ) := {
                        m_MME_UE_S1AP_ID(p_MME_value),
                        m_ENB_UE_S1AP_ID(p_ENB_value),
                        m_cause_IE(p_cause)
                    } // End of template m_location_Report_Failure_IndicationIEs
                    
                } // End of group Location_reporting_send
                
            } // End of group sendClass2
            
            group receiveClass2 {
                
                /**
                 * @desc Receive messages for Traces Procedures
                 */
                group Traces_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with TRACE START payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_trace_Start(
                                                                        template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_TraceStart,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_trace_Start
                    
                    /**
                     * @desc Receive template for TRACE START message
                     * @param p_traceActivation    The Trace Activation present
                     */
                    template (present) RecordOf_ProtocolIE mw_trace_StartIEs(
                                                                             template (present) TraceActivation p_traceActivation := ?
                    ) := {
                        mw_traceActivation_IE(p_traceActivation)
                    } // End of template mw_trace_StartIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with TRACE FAILURE INDICATION payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_trace_Failure_Indication(
                                                                                     template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_TraceFailureIndication,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_trace_Failure_Indication
                    
                    /**
                     * @desc Receive template for TRACE FAILURE INDICATION message
                     * @param p_MME_value           The expected MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value           The expected eNB UE S1AP ID value. Default: ?
                     * @param m_eUTRAN_Trace_ID_IE  The expected E-UTRAN Trace ID value. Default: ?
                     * @param p_cause               The expected Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_trace_Failure_IndicationIEs(
                                                                                          template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                          template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                                          template (present) E_UTRAN_Trace_ID p_eUTRAN_Trace_ID := ?,
                                                                                          template (present) Cause p_cause := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_ENB_UE_S1AP_ID(p_ENB_value),
                        mw_eUTRAN_Trace_ID_IE(p_eUTRAN_Trace_ID),
                        m_cause_IE(p_cause)
                    } // End of template mw_trace_Failure_IndicationIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with DEACTIVATE TRACE payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_deactivate_Trace(
                                                                             template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_DeactivateTrace,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_deactivate_Trace
                    
                    /**
                     * @desc Receive template for DEACTIVATE TRACE message
                     * @param p_MME_value           The expected MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value           The expected eNB UE S1AP ID value. Default: ?
                     * @param m_eUTRAN_Trace_ID_IE  The expected E-UTRAN Trace ID value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_deactivate_TraceIEs(
                                                                                  template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                  template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                                  template (present) E_UTRAN_Trace_ID p_eUTRAN_Trace_ID := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_ENB_UE_S1AP_ID(p_ENB_value),
                        mw_eUTRAN_Trace_ID_IE(p_eUTRAN_Trace_ID)
                    } // End of template mw_deactivate_TraceIEs
                    
                } // End of group Traces_receive
                
                /**
                 * @desc Receive messages for Location Reporting Procedures
                 */
                group Location_reporting_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with LOCATION REPORTING CONTROL payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_location_Reporting_Control(
                                                                                       template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_LocationReportingControl,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_location_Reporting_Control
                    
                    /**
                     * @desc Receive template for LOCATION REPORTING CONTROL message
                     * @param p_MME_value       MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value       eNB UE S1AP ID value. Default: ?
                     * @param p_request_Type    The Type Request value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_location_Reporting_ControlIEs(
                                                                                            template (present) MME_UE_S1AP_ID p_MME_value,
                                                                                            template (present) ENB_UE_S1AP_ID p_ENB_value,
                                                                                            template (present) RequestType p_request_Type
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_ENB_UE_S1AP_ID(p_ENB_value),
                        mw_request_Type_IE(p_request_Type)
                    } // End of template mw_location_Reporting_ControlIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with LOCATION REPORT payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_location_Report(
                                                                            template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_location_Report
                    
                    /**
                     * @desc Receive template for LOCATION REPORT message
                     * @param p_MME_value       The expected MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value       The expected eNB UE S1AP ID value. Default: ?
                     * @param p_eUTRAN_CGI      The expected Type Request value. Default: ?
                     * @param p_tAI             The expected TAI value. Default: ?
                     * @param p_request_Type    The expected Type Request value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_location_ReportIEs(
                                                                                 template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                 template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                                 template (present) EUTRAN_CGI p_eUTRAN_CGI := ?,
                                                                                 template (present) TAI p_tAI := ?,
                                                                                 template (present) RequestType p_request_Type := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_ENB_UE_S1AP_ID(p_ENB_value),
                        mw_eUTRAN_CGI_IE(p_eUTRAN_CGI),
                        mw_TAI_IE(p_tAI),
                        mw_request_Type_IE(p_request_Type)
                    } // End of template mw_location_ReportIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with LOCATION REPORT FAILURE INDICATION payload
                     * @param p_value           Expected procedure code
                     */
                    template (present) InitiatingMessage mw_location_Report_Failure_Indication(
                                                                                               template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_LocationReport,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_location_Report_Failure_Indication
                    
                    /**
                     * @desc Receive template for LOCATION REPORT message
                     * @param p_MME_value   The expected MME UE S1AP ID value. Default: ?
                     * @param p_ENB_value   The expected eNB UE S1AP ID value. Default: ?
                     * @param p_cause       The expected Cause value. Default: ?
                     */
                    template (present) RecordOf_ProtocolIE mw_location_Report_Failure_IndicationIEs(
                                                                                                    template (present) MME_UE_S1AP_ID p_MME_value := ?,
                                                                                                    template (present) ENB_UE_S1AP_ID p_ENB_value := ?,
                                                                                                    template (present) Cause p_cause := ?
                    ) := {
                        mw_MME_UE_S1AP_ID(p_MME_value),
                        mw_ENB_UE_S1AP_ID(p_ENB_value),
                        mw_cause_IE(p_cause)
                    } // End of template mw_location_Report_Failure_IndicationIEs
                    
                } // End of group Location_reporting_send
                
                /**
                 * @desc Receive messages for Warning message transmission group
                 */
                group Warning_Message_Transmission_receive {
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with PWS RESTART INDICATION payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_pWS_Restart_Indication(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_PWSRestartIndication,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_pWS_Restart_Indication
                    
                    /**
                     * @desc Receive template for PWS RESTART INDICATION message
                     * @param p_eCGIListForFailure              The expected E-CGI List for Restart value
                     * @param p_global_ENB_ID                   The expected Global eNB ID value
                     * @param p_tAIListForRestart               The expected TAI List for Restart value
                     * @param p_emergencyAreaIDListForRestart   The expected Emergency Area ID List for Restart value
                     */
                    template (present) RecordOf_ProtocolIE mw_pWS_Restart_IndicationIEs(
                                                                                        template (present) ECGIListForRestart p_eCGIListForRestart := ?,
                                                                                        template (present) Global_ENB_ID p_global_ENB_ID := ?,
                                                                                        template (present) TAIListForRestart p_tAIListForRestart := ?,
                                                                                        template (present) EmergencyAreaIDListForRestart p_emergencyAreaIDListForRestart := ?
                    ) := {
                        mw_eCGIListForRestart(p_eCGIListForRestart),
                        mw_Global_ENB_ID_IE(p_global_ENB_ID),
                        mw_tAIListForRestart(p_tAIListForRestart),
                        mw_emergencyAreaIDListForRestart(p_emergencyAreaIDListForRestart)
                    } // End of template mw_pWS_Restart_IndicationIEs
                    
                    /**
                     * @desc Receive template for InitiatingMessage message with PWS RESTART INDICATION payload
                     * @param p_value           Expected procedure code. Default: ?
                     */
                    template (present) InitiatingMessage mw_pWS_Failure_Indication(
                                                                                   template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_PWSFailureIndication,
                        criticality := reject,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_pWS_Failure_Indication
                    
                    /**
                     * @desc Receive template for PWS RESTART INDICATION message
                     * @param p_pWSfailedECGIList   The expected PWS failed E-CGI List value
                     * @param p_global_ENB_ID       The expected Global eNB ID value
                     */
                    template (present) RecordOf_ProtocolIE mw_pWS_Failure_IndicationIEs(
                                                                                        template (present) PWSfailedECGIList p_pWSfailedECGIList := ?,
                                                                                        template (present) Global_ENB_ID p_global_ENB_ID := ?
                    ) := {
                        mw_pWSfailedECGIList(p_pWSfailedECGIList),
                        mw_Global_ENB_ID_IE(p_global_ENB_ID)
                    } // End of template mw_pWS_Failure_IndicationIEs
                    
                } // End of group Warning_Message_Transmission_receive
                
                /**
                 * @desc Receive message for eNB direct information transfer group
                 */
                group direct_information_transfer_group {
                    
                    /**
                     * @desc Receive template for InitiatingMessage/eNB_DIRECT_INFORMATION_TRANSFER message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.14 eNB DIRECT INFORMATION TRANSFER
                     */
                    template (present) InitiatingMessage mw_eNB_Direct_Information_Transfer(
                                                                                            template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_eNBDirectInformationTransfer,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Direct_Information_Transfer
                    
                    /**
                     * @desc Receive template eNB_DIRECT_INFORMATION_TRANSFER/IEs message 
                     * @param p_RIMTransfer  TIM transfer value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.14 eNB DIRECT INFORMATION TRANSFER
                     */
                    template (present) RecordOf_ProtocolIE mw_eNBDirectInformationTransfer_EDT(
                                                                                               template (present) Inter_SystemInformationTransferType p_value := ?
                    ) := {
                        {
                            id := S1AP_Constants.id_Inter_SystemInformationTransferTypeEDT,
                            criticality := reject,
                            value_ := { Inter_SystemInformationTransferType := p_value }
                        }
                    } // End of template mw_eNBDirectInformationTransferIEs_EDT
                    
                    /**
                     * @desc Receive template MME_DIRECT_INFORMATION_TRANSFER/IEs message 
                     * @param p_RIMTransfer  TIM transfer value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.15 MME DIRECT INFORMATION TRANSFER
                     */
                    template (present) RecordOf_ProtocolIE mw_mMEDirectInformationTransfer(
                                                                                           template (present) Inter_SystemInformationTransferType p_value := ?
                    ) := {
                        {
                            id := S1AP_Constants.id_Inter_SystemInformationTransferTypeEDT,
                            criticality := reject,
                            value_ := { Inter_SystemInformationTransferType := p_value }
                        }
                    } // End of template mw_eNBDirectInformationTransferIEs_EDT
                    
                    /**
                     * @desc Receive template for ENBDirectInformationTransferIEs message 
                     * @param p_RIMTransfer  Expected RIM value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.1.55 Inter-system Information Transfer Type
                     */
                    template (present) Inter_SystemInformationTransferType mw_Inter_SystemInformationTransferType(
                                                                                                                  template (present) RIMTransfer p_RIMTransfer := ?
                    ) := {
                        rIMTransfer := p_RIMTransfer
                    } // End of template mw_Inter_SystemInformationTransferType
                    
                    /**
                     * @desc Receive template for RIMTransfer message 
                     * @param p_RIMTransfer  Expected RIM value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.23 RIM Transfer
                     */
                    template RIMTransfer mw_RIMTransfer(
                                                        template (present) RIMInformation p_rIMInformation := ?,
                                                        template RIMRoutingAddress p_rIMRoutingAddress := *
                    ) := {
                        rIMInformation     := p_rIMInformation,
                        rIMRoutingAddress  := p_rIMRoutingAddress,
                        iE_Extensions      := omit
                    } // End of template mw_RIMTransfer
                    
                    /**
                     * @desc Receive template for RIMRoutingAddress/GERAN-Cell-ID message 
                     * @param p_gERAN_Cell_ID  Expected GERAN_Cell_ID value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.25 RIM Routing Address
                     */
                    template (present) RIMRoutingAddress mw_rIMRoutingAddress_gERAN_Cell_ID(
                                                                                            template (present) GERAN_Cell_ID p_gERAN_Cell_ID := ?
                    ) := {
                        gERAN_Cell_ID := p_gERAN_Cell_ID
                    } // End of template mw_rIMRoutingAddress_gERAN_Cell_ID
                    
                    /**
                     * @desc Receive template for RIMRoutingAddress/TargetRNC-ID message 
                     * @param p_gERAN_Cell_ID  Expected TargetRNC_ID value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.25 RIM Routing Address
                     */
                    template (present) RIMRoutingAddress mw_rIMRoutingAddress_targetRNC_ID(
                                                                                           template (present) TargetRNC_ID p_targetRNC_ID := ?
                    ) := {
                        targetRNC_ID := p_targetRNC_ID
                    } // End of template mw_rIMRoutingAddress_targetRNC
                    
                    /**
                     * @desc Receive template for RIMRoutingAddress/eHRPD-Sector-ID message 
                     * @param p_gERAN_Cell_ID  Expected eHRPD-Sector-ID value. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.25 RIM Routing Address
                     */
                    template (present) RIMRoutingAddress mw_rIMRoutingAddress_eHRPD_Sector_ID(
                                                                                              template (present) Oct16 p_eHRPD_Sector_ID := ?
                    ) := {
                        eHRPD_Sector_ID := p_eHRPD_Sector_ID
                    } // End of template mw_rIMRoutingAddress_eHRPD_Sector_ID
                    
                    /**
                     * @desc Receive template for InitiatingMessage/MME_DIRECT_INFORMATION_TRANSFER message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.15 MME DIRECT INFORMATION TRANSFER
                     */
                    template (present) InitiatingMessage mw_Mme_Direct_Information_Transfer(
                                                                                            template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_MMEDirectInformationTransfer,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_Mme_Direct_Information_Transfer
                    
                    
                } // End of group direct_information_transfer_group 
                
                /**
                 * @desc Receive message for MME configuration transfer group
                 */
                group configuration_transfer_group {
garciay's avatar
garciay committed
                    
garciay's avatar
garciay committed
                    /**
                     * @desc Receive template for InitiatingMessage/eNB_CONFIGURATION_TRANSFER message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.16 eNB CONFIGURATION TRANSFER
                     */
                    template (present) InitiatingMessage mw_eNB_Configuration_Transfer(
                                                                                       template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_eNBConfigurationTransfer,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_eNB_Configuration_Transfer
garciay's avatar
garciay committed
                    
garciay's avatar
garciay committed
                    /**
                     * @desc Receive template for InitiatingMessage/MME_CONFIGURATION_TRANSFER message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.17 MME CONFIGURATION TRANSFER
                     */
                    template (present) InitiatingMessage mw_Mme_Configuration_Transfer(
                                                                                       template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_MMEConfigurationTransfer,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_Mme_Configuration_Transfer
garciay's avatar
garciay committed
                    
garciay's avatar
garciay committed
                    /**
                     * @desc Receive template for SON Configuration Transfer on MME side
                     * @param p_value Expected SONConfigurationTransfer value
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.26 SON Configuration Transfer
                     */
                    template (present) RecordOf_ProtocolIE mw_sON_Configuration_Transfer_MCT(
                                                                                             template (present) SONConfigurationTransfer p_value := ?
                    ) := {
                        {
                            id := S1AP_Constants.id_SONConfigurationTransferMCT,
                            criticality := ignore,
                            value_ := { SONConfigurationTransfer := p_value }
                        }
                    } // End of template mw_sON_Configuration_Transfer_MCT
                    
                    /**
                     * @desc Receive template for SON Configuration Transfer on ENB side
                     * @param p_value Expected SONConfigurationTransfer value
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.26 SON Configuration Transfer
                     */
                    template (present) RecordOf_ProtocolIE mw_sON_Configuration_Transfer_ECT(
                                                                                             template (present) SONConfigurationTransfer p_value := ?
                    ) := {
                        {
                            id := S1AP_Constants.id_SONConfigurationTransferECT,
                            criticality := ignore,
                            value_ := { SONConfigurationTransfer := p_value }
                        }
                    } // End of template mw_sON_Configuration_Transfer_ECT
                    
                } // End of group configuration_transfer_group
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive messages for LPPa transport group
                 */
                group LPPa_transport_group {
garciay's avatar
garciay committed
                    
                    /**
garciay's avatar
garciay committed
                     * @desc Receive template for InitiatingMessage/UPLINK_UE_ASSOCIATED_LPPA_TRANSPORT message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.19.2 UPLINK UE ASSOCIATED LPPA TRANSPORT
                     */
                    template (present) InitiatingMessage mw_UplinkUEAssociatedLppaTransport(
                                                                                            template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_uplinkUEAssociatedLPPaTransport,
                        criticality := ignore,
                        value_ := {RecordOf_ProtocolIE := p_value}
                    } // End of template mw_UplinkUEAssociatedLppaTransport
                    
                    /**
                     * @desc Receive template for InitiatingMessage/DOWNLINK_UE_ASSOCIATED_LPPA_TRANSPORT message
                     * @param p_value           Expected values. Default: ?
                     * @see ETSI TS 136 413 V13.4.0 Clause 9.1.19.1 DOWNLINK UE ASSOCIATED LPPA TRANSPORT
                     */
                    template (present) InitiatingMessage mw_DownlinkUEAssociatedLppaTransport(
                                                                                              template (present) RecordOf_ProtocolIE p_value := ?
                    ) := {
                        procedureCode := id_downlinkUEAssociatedLPPaTransport,