diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png new file mode 100644 index 0000000000000000000000000000000000000000..16088f4e0859d1999cabf2cd0cf6d09b023a0476 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.txt new file mode 100644 index 0000000000000000000000000000000000000000..7649a4cf487ee037d81261bd8805152d868d3a0a --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_01_03.txt @@ -0,0 +1,62 @@ +@startuml "TD_VoLTE_ECO_INT_INI_01_03.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in same IM CN subsystem +' +''title Figure : Emergency Session Establishment, PSAP in same IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +& "E-CSCF" -> "PSAP" : INVITE +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_04.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.png new file mode 100644 index 0000000000000000000000000000000000000000..d593bcc2be8cc22177229823e08541e0ea43c319 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt new file mode 100644 index 0000000000000000000000000000000000000000..b44e0caf8316d48802fbc3c2041e620e7760c561 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_04.txt @@ -0,0 +1,66 @@ +@startuml "TD_VoLTE_ECO_INT_INI_04.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment with LRF, PSAP in same IM CN subsystem +' +''title Figure : Emergency Session Establishment with LRF, PSAP in same IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "LRF" +end box + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Ml, Mm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "LRF" : Ml + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", LRF #FFAAAA: Network operator determined LRF use + "E-CSCF" -> "LRF" : INVITE + "LRF" -> "E-CSCF" : 3xx Any\n(Contact header with LRF provided SIP_URI) + "E-CSCF" -> "PSAP" : INVITE\n(Route header with LRF provided SIP_URI) +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_05.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.png new file mode 100644 index 0000000000000000000000000000000000000000..c848bb4301a7813172c94d1eb63ffaeea120b003 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt new file mode 100644 index 0000000000000000000000000000000000000000..70f26cdaea98ec4522a620b5eaaeede2b213798f --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_05.txt @@ -0,0 +1,70 @@ +@startuml "TD_VoLTE_ECO_INT_INI_05" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in other IM CN subsystem +' +''title Figure : Emergency Session Establishment, PSAP in other IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mx +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in other IM network + "E-CSCF" -> "IBCF" : INVITE +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_06.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_06.png new file mode 100644 index 0000000000000000000000000000000000000000..dc61ab2172318777410268a53f55ff7e01399dc0 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_06.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_06.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_06.txt new file mode 100644 index 0000000000000000000000000000000000000000..8e1ee264f72ba7b26679ebec478c49d431fb4bae --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_06.txt @@ -0,0 +1,76 @@ +@startuml "TD_VoLTE_ECO_INT_INI_06.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment with LRF, PSAP in other IM CN subsystem +' +''title Figure : Emergency Session Establishment with LRF, PSAP in other IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "LRF" + participant "IBCF" +end box + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Ml, Mx +& rnote left "IBCF" : Mx +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "LRF" : Ml + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE + +rnote over "E-CSCF", LRF #FFAAAA: Network operator determined LRF use + "E-CSCF" -> "LRF" : INVITE + "LRF" -> "E-CSCF" : 3xx Any\n(Contact header with LRF provided SIP_URI) +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in other IM network + "E-CSCF" -> "IBCF" : INVITE\n(Route header with LRF provided SIP_URI) +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_07.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.png new file mode 100644 index 0000000000000000000000000000000000000000..df76f9e8baa102f3ae71ce6a5fa7314a653bac2d Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt new file mode 100644 index 0000000000000000000000000000000000000000..c233c295c1a0eb12d4aea856e718a0949385aa29 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_07.txt @@ -0,0 +1,69 @@ +@startuml "TD_VoLTE_ECO_INT_INI_07.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in the PSTN +' +''title Figure : Emergency Session Establishment, PSAP in the PSTN +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "BGCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mi +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in PSTN + "E-CSCF" -> "BGCF" : INVITE +& "BGCF" -> "PSAP" : INVITE +"PSAP" -> "BGCF" : 183 Session Progress\n(SDP answer) +& "BGCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "BGCF" : 180 Ringing +& "BGCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "BGCF" : 200 OK +& "BGCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "BGCF" : ACK +& "BGCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_08.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_08.png new file mode 100644 index 0000000000000000000000000000000000000000..1c253e582e5275598c58f370f10aca641740ec5f Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_08.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_08.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_08.txt new file mode 100644 index 0000000000000000000000000000000000000000..f8399dfc554ce7adba7347ea4e7bd4d7f6f6382a --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_08.txt @@ -0,0 +1,75 @@ +@startuml "TD_VoLTE_ECO_INT_INI_08.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment with LRF, PSAP in the PSTN +' +''title Figure : Emergency Session Establishment with LRF, PSAP in the PSTN +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "LRF" + participant "BGCF" +end box + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Ml, Mi +& rnote left "BGCF" : Mi +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "LRF" : Ml + +' +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE + +rnote over "E-CSCF", LRF #FFAAAA: Network operator determined LRF use + "E-CSCF" -> "LRF" : INVITE + "LRF" -> "E-CSCF" : 3xx Any\n(Contact header with LRF provided SIP_URI) +rnote over "E-CSCF", PSAP #FFAAAA: PSAP in PSTN + "E-CSCF" -> "BGCF" : INVITE\n(Route header with LRF provided SIP_URI) +& "BGCF" -> "PSAP" : INVITE +"PSAP" -> "BGCF" : 183 Session Progress\n(SDP answer) +& "BGCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "BGCF" : 180 Ringing +& "BGCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "BGCF" : 200 OK +& "BGCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "BGCF" : ACK +& "BGCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_09.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_09.png new file mode 100644 index 0000000000000000000000000000000000000000..e39547b86925d86b6bc48c93ce189854ac59d8f2 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_09.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_09.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_09.txt new file mode 100644 index 0000000000000000000000000000000000000000..a25f63f8ef7b57995817da026e154fb70fe7e568 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_09.txt @@ -0,0 +1,63 @@ + @startuml "TD_VoLTE_ECO_INT_INI_09.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: Emergency Session Establishment, PSAP in same IM CN subsystem +' +''title Figure : Emergency Session Establishment, PSAP in same IM CN subsystem +' +participant "UE A" +'box "EPC A" #LightBlue +' participant PGw +' participant "PCRF" +'end box +box "IMS A" #LightBlue + participant "AS" + participant "S-CSCF" + participant "E-CSCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "AS" : ISC +& rnote right "S-CSCF" : Mw +& rnote right "E-CSCF" : Mm + +' +"UE A" --> "AS" : Emergency +& "AS" -> "S-CSCF" : INVITE +'"S-CSCF" -> "PCRF" : AAR +'rnote over "PCRF", PGw #FFAAAA: Policy decision +'"PCRF" -> "PGw" : RAR +'rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +'"PGw" -> "PCRF" : RAA +'& "PCRF" -> "S-CSCF" : AAA +'"PGw" -> "PCRF" : CCR +'& "PCRF" -> "S-CSCF" : RAR +' "S-CSCF" -> "PCRF" : RAA +'& "PCRF" -> "PGw" : CCA + "S-CSCF" -> "E-CSCF" : INVITE +& "E-CSCF" -> "PSAP" : INVITE +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "S-CSCF" : 183 Session Progress\n(SDP answer) +'& "S-CSCF" -> "PCRF" : AAR +'& "PCRF" -> "PGw" : RAR +'rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +'"PGw" -> "PCRF" : RAA +'& "PCRF" -> "S-CSCF" : AAA +"S-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "S-CSCF" : 180 Ringing +&"S-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "S-CSCF" : 200 OK +& "S-CSCF" -> "UE A" : 200 OK +"UE A" -> "S-CSCF" : ACK +& "S-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_10.png b/msc_scripts/TD_VoLTE_ECO_INT_INI_10.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2a305e603bfa37c894e000c795fd056c83995 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_INI_10.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_INI_10.txt b/msc_scripts/TD_VoLTE_ECO_INT_INI_10.txt new file mode 100644 index 0000000000000000000000000000000000000000..0af4999583027dedce21575ea8bbf6ffa61d7647 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_INI_10.txt @@ -0,0 +1,128 @@ +@startuml "TD_VoLTE_ECO_INT_INI_09.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "PSAP" + + + +box "IMS A" #LightBlue +participant "BGCF" + participant "IBCF" + participant "E-CSCF" + participant "P-CSCF" + + +end box +box "EPC A" #LightBlue + participant PCRF + participant PGw +end box + +participant "UE A" + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mw +& rnote right "IBCF" : Mx +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "BGCF" : Mi +& rnote right "PSAP" : Mm +' +rnote over "UE A", PSAP #FFAAAA: \s\s Emergency call terminated \s\s + +alt Option 1: PSAP in IMS A network +"PSAP" -> "E-CSCF" : INVITE + +else Option 2: PSAP NOT in IMS A network\n +"PSAP" --> "IBCF" : INVITE +&"IBCF" -> "E-CSCF" : INVITE + +else Option 3: PSAP in PSTN network\n +"PSAP" --> "BGCF" : INVITE +'&"PSTN" --> "E-CSCF" : INVITE +&"BGCF" -> "E-CSCF" : INVITE + +end + +"E-CSCF" -> "P-CSCF" : INVITE +&"P-CSCF" -> "UE A" : INVITE +' + +'"P-CSCF" -> "PCRF" : STR +' + +'& "PCRF" -> "PGw" : RAR +' + +rnote over "UE A", PSAP #FFAAAA: \s\s Installation Session Beares(s). \s\s +'rnote over "UE A", PGw #FFAAAA: Installation Session Beares(s). + +'"PGw" -> "PCRF" : RAA +' +'& "PCRF" -> "P-CSCF" : STA + + + +"UE A" -> "P-CSCF" : 183 Session Progress +&"P-CSCF" -> "E-CSCF" : 183 Session Progress + +alt Option 1: PSAP in IMS A network +"E-CSCF" -> "PSAP" : 183 Session Progress + +else Option 2: PSAP NOT in IMS A network\n +"E-CSCF" -> "IBCF" : 183 Session Progress +&"IBCF" --> "PSAP" : 183 Session Progress + +else Option 3: PSAP in PSTN network\n +"E-CSCF" -> "BGCF" : 183 Session Progress +&"BGCF" --> "PSAP" : 183 Session Progress +'&"PSTN" --> "PSAP" : 183 Session Progress + +end + + +' +"UE A" <--> "PSAP" : Early Media +' +'& "PGw" <--> "PSAP" : Not possible + +"UE A" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "E-CSCF" : 180 Ringing +"UE A" -> "P-CSCF" : 200 OK +&"P-CSCF" -> "E-CSCF" : 200 OK + +alt Option 1: PSAP in IMS A network +"E-CSCF" -> "PSAP" : 180 Ringing +"E-CSCF" -> "PSAP" : 200 OK +"PSAP" -> "E-CSCF" : ACK +else Option 2: PSAP NOT in IMS A network\n +"E-CSCF" -> "IBCF" : 180 Ringing +&"IBCF" --> "PSAP" : 180 Ringing +"E-CSCF" -> "IBCF" : 200 OK +&"IBCF" --> "PSAP" : 200 OK +"PSAP" --> "IBCF" : ACK +&"IBCF" -> "E-CSCF" : ACK +else Option 3: PSAP in PSTN network\n +"E-CSCF" -> "BGCF" : 180 Ringing +&"BGCF" --> "PSAP" : 180 Ringing +'&"PSTN" --> "PSAP" : 180 Ringing +"E-CSCF" -> "BGCF" : 200 OK +&"BGCF" --> "PSAP" : 200 OK +'&"PSTN" --> "PSAP" : 200 OK +"PSAP" --> "BGCF" : ACK +&"BGCF" -> "E-CSCF" : ACK +'&"BGCF" -> "E-CSCF" : ACK + +end + +"E-CSCF" -> "P-CSCF" : ACK +&"P-CSCF" -> "UE A" : ACK + +"UE A" <--> "PSAP" : Media exchange +' +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.png b/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5345897a0d45083e5b008451538ce1204b4ea4 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.txt b/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1d0403a884a797d5ecbdd03908af46918e77b09 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_REJ_02.txt @@ -0,0 +1,48 @@ + + +@startuml "TD_VoLTE_ECO_INT_REJ_02_RB.png" + + + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: SIP Session Establishment - Originating Leg +' +''title Figure : SIP Session Establishment - Originating Leg +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" +end box + participant "PSAP" + + + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + + + +' +"UE A" -> "P-CSCF" : INVITE(urn:service:sos*) + +rnote over "PCRF", PGw #FFAAAA: Installation of Session Bearer + +rnote over "P-CSCF", PSAP #FFAAAA: Emergency Session not possible + +'rnote over "UE A", PGw #FFAAAA: Removal of Session Bearer +rnote over "PCRF", PGw #FFAAAA: \s Removal of Session Bearer \s + +"P-CSCF" -> "UE A" : 380 Alternative Service +"UE A" -> "P-CSCF" : ACK +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.png b/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.png new file mode 100644 index 0000000000000000000000000000000000000000..94e6f7de762957ce9ec097ae7d7b02d43c839b44 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.txt b/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fb9ba3dd2a7725bb7589440cadd2bee986f0d3a --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_REJ_03.txt @@ -0,0 +1,48 @@ + + +@startuml "TD_VoLTE_ECO_INT_REJ_03.png" + + + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: SIP Session Establishment - Originating Leg +' +''title Figure : SIP Session Establishment - Originating Leg +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" +end box + participant "PSAP" + + + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + + + +' +"UE A" -> "P-CSCF" : INVITE(urn: urn is not correct) + +rnote over "PCRF", PGw #FFAAAA: Installation of Session Bearer + +rnote over "P-CSCF", PSAP #FFAAAA: Emergency Session not possible + +'rnote over "UE A", PGw #FFAAAA: Removal of Session Bearer +rnote over "PCRF", PGw #FFAAAA: \s Removal of Session Bearer \s + +"P-CSCF" -> "UE A" : 380 Alternative Service +"UE A" -> "P-CSCF" : ACK +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REL_02.png b/msc_scripts/TD_VoLTE_ECO_INT_REL_02.png new file mode 100644 index 0000000000000000000000000000000000000000..2331495ae5d0e24ecf5057758e2e93561d1567af Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_INT_REL_02.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_INT_REL_02.txt b/msc_scripts/TD_VoLTE_ECO_INT_REL_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b289d7df6d76e72855e8a188fc6d18799384ab5 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_INT_REL_02.txt @@ -0,0 +1,95 @@ +@startuml "TD_VoLTE_ECO_INT_REL_02.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "PSAP" + + + +box "IMS A" #LightBlue +participant "BGCF" + participant "IBCF" + participant "E-CSCF" + participant "P-CSCF" + + +end box +box "EPC A" #LightBlue + participant PCRF + participant PGw +end box + +participant "UE A" + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mw +& rnote right "IBCF" : Mx\n\n +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "BGCF" : \nMi\n +& rnote right "PSAP" : \n\nMm +& rnote left "E-CSCF" : Mx\nMi\nMm +' +"PSAP" <--> "UE A" : Media Exchange + +alt PSAP in IMS A network (option 1) +"PSAP" -> "E-CSCF" : BYE + +else PSAP not in IMS A network (option 2)\n +"PSAP" --> "IBCF" : BYE +&"IBCF" -> "E-CSCF" : BYE + +else PSAP in PSTN network (option 3)\n +"PSAP" --> "BGCF" : BYE +'&"PSTN" --> "BGCF" : BYE +&"BGCF" -> "E-CSCF" : BYE + +end + + + +"E-CSCF" -> "P-CSCF" : BYE +&"P-CSCF" -> "UE A" : BYE +' + +"P-CSCF" -> "PCRF" : STR +' + +& "PCRF" -> "PGw" : RAR +' +rnote over "UE A", PGw #FFAAAA: Removal of Session Beares(s). + +"PGw" -> "PCRF" : RAA +' +& "PCRF" -> "P-CSCF" : STA + + + +"UE A" -> "P-CSCF" : 200 OK +&"P-CSCF" -> "E-CSCF" : 200 OK + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : 200 OK + +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : 200 OK +&"IBCF" --> "PSAP" : 200 OK + +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : 200 OK +&"BGCF" --> "PSAP" : 200 OK +'&"PSTN" --> "PSAP" : 200 OK + +end + + +' +"UE A" <--> "PGw" : Not possible +' +& "PGw" <--> "PSAP" : Not possible +' +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.png b/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.png new file mode 100644 index 0000000000000000000000000000000000000000..2002eaaa552efa1053d4cdabefaa857cadd3c24d Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.txt b/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..f548f4c79989e2383e428a89c7d5498fd09db56f --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_RMI_INI_01.txt @@ -0,0 +1,69 @@ +@startuml "TD_VoLTE_ECO_RMI_INI_01.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: SIP Session Establishment - Originating Leg +' +''title Figure : SIP Session Establishment - Originating Leg +' +participant "UE B" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +end box + + participant "PSAP" + +rnote right "UE B" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mw +& rnote right "IBCF" : Mm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE B" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +& "E-CSCF" -> "IBCF" : INVITE +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE B" : 183 Session Progress\n(SDP answer) +"UE B" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE B" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE B" : 200 OK +"UE B" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE B" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.png b/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.png new file mode 100644 index 0000000000000000000000000000000000000000..7c6c6a920d75031d548d8134d067900afef40940 Binary files /dev/null and b/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.png differ diff --git a/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.txt b/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.txt new file mode 100644 index 0000000000000000000000000000000000000000..496680e902d6a949e3b668ea0e16a33a6e8e7e72 --- /dev/null +++ b/msc_scripts/TD_VoLTE_ECO_RMI_INI_03.txt @@ -0,0 +1,38 @@ +@startuml "TD_VoLTE_ECO_RMI_INI_03.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "UE A\nRoaming" +box "EPC A" #LightBlue + participant PGw +end box +box "IMS A" #LightBlue + participant "P-CSCF" + +end box + + +' +rnote right "UE A\nRoaming" : S8 +& rnote right "P-CSCF" : Mw +& rnote right "PGw" : Gm +' + + +"UE A\nRoaming" --> "PGw" : INVITE\n(urn:service:sos*) +& "PGw" -> "P-CSCF" : INVITE\n(urn:service:sos*) +rnote over "PGw", PCRF #FFAAAA: Installation of emergency Bearer - \nEmergency Session not possible +'"P-CSCF" -> "PCRF" : AAR +'& "PCRF" -> "PGw" : RAR +'rnote over "P-CSCF", PCRF #FFAAAA: Emergency Session not possible + +"P-CSCF" -> "PGw" : 380 (Alternative Service) +& "PGw" --> "UE A\nRoaming" : 380 (Alternative Service) +"UE A\nRoaming" --> "PGw" : ACK +& "PGw" -> "P-CSCF" : ACK + + + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.png b/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.png new file mode 100644 index 0000000000000000000000000000000000000000..42563a62cc501ddf1940d92b0b6d9847d49f0e33 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.txt b/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..71ad7f3eee022071c508d8c5875970273f0036ff --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_ATT_01.txt @@ -0,0 +1,36 @@ +@startuml "TD_VoLTE_EMC_INT_ATT_01.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : Emergency Network Attachment with USIM and Establishment of the Emergency Bearer +' +''title Figure : Emergency Network Attachment and Establishment of the Emergency Bearer +' +participant "UE A" +box "EPC A" #LightBlue + participant MME + participant SGw + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "HSS" +end box +' +rnote right "UE A" : Gm +& rnote right "MME" : S6a +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx +' +rnote over "UE A", SGw #FFAAAA: Attachment to E-UTRAN +"UE A" -> "MME" : Establish Emergency IP-CAN\nSession Request +"MME" -> "HSS" : ULR +"HSS" -> "MME" : ULA +"PGw" -> "PCRF" : CCR(with IMSI) +rnote over "PGw", "PCRF" #FFAAAA: Policy Decision +"PCRF" -> "PGw" : CCA +"MME" -> "UE A" : Establish Emergency IP-CAN\nSession Response +"UE A" <--> "P-CSCF" : Emergency call possible over Emergency Bearer + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.png b/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.png new file mode 100644 index 0000000000000000000000000000000000000000..98bdee8ec7d8ad3d13035f45b0bd8a100c1488d4 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.txt b/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f52e7a0258320625730d373901340263f428dbd --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_ATT_02.txt @@ -0,0 +1,36 @@ +@startuml "TD_VoLTE_EMC_INT_ATT_02.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : Emergency Network Attachment without USIM and Establishment of the Emergency Bearer +' +''title Figure : Emergency Network Attachment and Establishment of the Emergency Bearer +' +participant "UE A" +box "EPC A" #LightBlue + participant MME + participant SGw + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "HSS" +end box +' +rnote right "UE A" : Gm +& rnote right "MME" : S6a +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx +' +rnote over "UE A", SGw #FFAAAA: Attachment to E-UTRAN +"UE A" -> "MME" : Establish Emergency IP-CAN\nSession Request +"MME" -> "HSS" : ULR +"HSS" -> "MME" : ULA +"PGw" -> "PCRF" : CCR(with IMEI) +rnote over "PGw", "PCRF" #FFAAAA: Policy Decision +"PCRF" -> "PGw" : CCA +"MME" -> "UE A" : Establish Emergency IP-CAN\nSession Response +"UE A" <--> "P-CSCF" : Emergency call possible over Emergency Bearer + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_DTC_01.txt b/msc_scripts/TD_VoLTE_EMC_INT_DTC_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1e110e39093b648c529885caaacc8b6a6556a9e --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_DTC_01.txt @@ -0,0 +1,30 @@ +@startuml "TD_VxLTE_EMC_INT_DTC_01.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : UE Emergency Initiated Network Detachment (with/without Emergency Registration) +' +''title Figure : UE Emergency Initiated Network Detachment (with/without Emergency Registration) +' +participant "UE A" +box "EPC A" #LightBlue + participant MME + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "HSS" +end box + +rnote right "UE A" : Gm +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx + +' +rnote over "UE A", PGw #FFAAAA: Detachment triggered +"UE A" --> "MME" : Emergency Bearer\n Release Event +"PGw" -> "PCRF" : CCR +"PCRF" -> "PGw" : CCA +"MME" --> "UE A" : Emergency Bearer\n Relased +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.png b/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.png new file mode 100644 index 0000000000000000000000000000000000000000..be22140cc7be84f5068f5ece2bf9193dea2a8328 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.txt b/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..e8c804d4fd71ba9afb65dcb0af435214dc396a25 --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_DTC_02.txt @@ -0,0 +1,68 @@ +@startuml "TD_VoLTE_EMC_INT_DTC_02.png" +!include etsi-style.iuml +!pragma teoz true +' +' +'Figure : UE Emergency Initiated Network Detachment with Previously Established Emergency Registration & Emergency Session +' +''title Figure : UE Emergency Initiated Network Detachment with Previously Established Emergency Registration & Emergency Session +' +participant "UE A" +box "EPC A" #LightBlue + participant MME + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" + participant "BGCF" +end box +participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote left "IBCF" : \nMx\n +& rnote right "IBCF" : Ici +& rnote left "BGCF" : \n\nMi +& rnote left "PSAP" : Mm\n\n + + +' +"UE A" <---> "PSAP" : Active emergency session, media exchange +rnote over "UE A" #FFAAAA: Deattachment triggered +"UE A" -> "P-CSCF" : BYE +"P-CSCF" -> "PCRF" : STR +&"PCRF" -> "PGw" : RAR +"PGw" -> "PCRF" : RAA +&"PCRF" -> "P-CSCF" : STA +&"P-CSCF" -> "E-CSCF" : BYE +rnote over "P-CSCF","E-CSCF" #FFAAAA: Termination of Emergency session +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : BYE +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : BYE +&"IBCF" --> "PSAP" : BYE +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : BYE +&"BGCF" --> "PSAP" : +end +alt PSAP in IMS A network (option 1) +"PSAP" -> "E-CSCF" : 200 OK +else PSAP not in IMS A network (option 2)\n +"PSAP" --> "IBCF" : 200 OK +&"IBCF" -> "E-CSCF" : 200 OK +else PSAP in PSTN network (option 3)\n +"PSAP" --> "BGCF" : +&"BGCF" -> "E-CSCF" : 200 OK +end +"E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +rnote over "UE A", PGw #FFAAAA: Removal of emergency Bearer +"PGw" -> "PCRF" : CCR +"PCRF" -> "PGw" : CCA +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_INI_01.png b/msc_scripts/TD_VoLTE_EMC_INT_INI_01.png new file mode 100644 index 0000000000000000000000000000000000000000..4c959ec1c07d6b57f1d90aa77231883570f22210 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_INI_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_INI_01.txt b/msc_scripts/TD_VoLTE_EMC_INT_INI_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..a00d7c069682212d0cf29a6af9ba7e3dfb9fc964 --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_INI_01.txt @@ -0,0 +1,69 @@ +@startuml "TD_VoLTE_EMC_INT_INI_01.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: SIP Session Establishment - Originating Leg +' +''title Figure : SIP Session Establishment - Originating Leg +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +end box + + participant "PSAP" + + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mw +& rnote right "IBCF" : Ic +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +"UE A" -> "P-CSCF" : INVITE +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE +& "E-CSCF" -> "IBCF" : INVITE +& "IBCF" -> "PSAP" : INVITE +"PSAP" -> "IBCF" : 183 Session Progress\n(SDP answer) +& "IBCF" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "IBCF" : 180 Ringing +& "IBCF" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "IBCF" : 200 OK +& "IBCF" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "IBCF" : ACK +& "IBCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REG_01.png b/msc_scripts/TD_VoLTE_EMC_INT_REG_01.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9713b6a50d812fd11821bae52284903cb404cc Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_REG_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REG_01.txt b/msc_scripts/TD_VoLTE_EMC_INT_REG_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..02b490cdb3c12fcc16c4579122cc2ec7551dfd15 --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_REG_01.txt @@ -0,0 +1,53 @@ +@startuml "TD_VoLTE_EMC_INT_REG_01.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : IMS Emergency Registration (success) +' +''title Figure : IMS Emergency Registration (success) +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "I-CSCF" + participant "S-CSCF" + participant "HSS" +end box +' +rnote right "UE A" : Gm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "P-CSCF" : Mw +& rnote right "I-CSCF" : Mw +& rnote left "S-CSCF" : Mw +& rnote left "HSS" : Cx +' + +"UE A" -> "P-CSCF" : REGISTER(Contact: *sos) +"P-CSCF" --> "PCRF" : AAR +"PCRF" --> "P-CSCF" : AAA +&"P-CSCF" -> "I-CSCF" : REGISTER +& "I-CSCF" -> "HSS" : UAR +"HSS" -> "I-CSCF" : UAA +"I-CSCF" -> "S-CSCF" : REGISTER +& "S-CSCF" -> "HSS" : MAR +"HSS" -> "S-CSCF" : MAA +& "S-CSCF" -> "I-CSCF" : 401 Unauthorized +& "I-CSCF" -> "P-CSCF" : 401 Unauthorized +& "P-CSCF" -> "UE A" : 401 Unauthorized +"UE A" -> "P-CSCF" : REGISTER(Contact: *sos) +& "P-CSCF" -> "I-CSCF" : REGISTER +& "I-CSCF" -> "HSS" : UAR +"HSS" -> "I-CSCF" : UAA +"I-CSCF" -> "S-CSCF" : REGISTER +& "S-CSCF" -> "HSS" : SAR +"HSS" -> "S-CSCF" : SAA +& "S-CSCF" -> "I-CSCF" : 200 OK +& "I-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" <--> "P-CSCF" : IMS Emergency signalling \n possible over Emergency Bearer +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REG_02.png b/msc_scripts/TD_VoLTE_EMC_INT_REG_02.png new file mode 100644 index 0000000000000000000000000000000000000000..656688391670b1c84a443c4f889c122a4f4bc884 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_REG_02.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REG_02.txt b/msc_scripts/TD_VoLTE_EMC_INT_REG_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..84bf2367d4075e6342c303103ad03b6bcc8afcfe --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_REG_02.txt @@ -0,0 +1,53 @@ +@startuml "TD_VoLTE_EMC_INT_REG_02.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : IMS Emergency Registration (unsuccess) +' +''title Figure : IMS Emergency Registration (unsuccess) +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "I-CSCF" + participant "S-CSCF" + participant "HSS" +end box +' +rnote right "UE A" : Gm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "P-CSCF" : Mw +& rnote right "I-CSCF" : Mw +& rnote left "S-CSCF" : Mw +& rnote left "HSS" : Cx +' + +"UE A" -> "P-CSCF" : REGISTER(Contact: *sos) +"P-CSCF" --> "PCRF" : AAR +"PCRF" --> "P-CSCF" : AAA +&"P-CSCF" -> "I-CSCF" : REGISTER +& "I-CSCF" -> "HSS" : UAR +"HSS" -> "I-CSCF" : UAA +"I-CSCF" -> "S-CSCF" : REGISTER +& "S-CSCF" -> "HSS" : MAR +"HSS" -> "S-CSCF" : MAA +& "S-CSCF" -> "I-CSCF" : 401 Unauthorized +& "I-CSCF" -> "P-CSCF" : 401 Unauthorized +& "P-CSCF" -> "UE A" : 401 Unauthorized +"UE A" -> "P-CSCF" : REGISTER(Contact: *sos) +& "P-CSCF" -> "I-CSCF" : REGISTER +& "I-CSCF" -> "HSS" : UAR +"HSS" -> "I-CSCF" : UAA +"I-CSCF" -> "S-CSCF" : REGISTER +& "S-CSCF" -> "HSS" : SAR +"HSS" -> "S-CSCF" : SAA +& "S-CSCF" -> "I-CSCF" : 403 Forbiden +& "I-CSCF" -> "P-CSCF" : 403 Forbiden +& "P-CSCF" -> "UE A" : 403 Forbiden +"UE A" <--> "P-CSCF" : Emergency signalling possible \n over non protected port +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REL_01.png b/msc_scripts/TD_VoLTE_EMC_INT_REL_01.png new file mode 100644 index 0000000000000000000000000000000000000000..0147638dbdf6c16db3b643f6221d8c5cbd9f9f47 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_INT_REL_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_INT_REL_01.txt b/msc_scripts/TD_VoLTE_EMC_INT_REL_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf444eda76a879180f84fa055b52467e087c43bd --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_INT_REL_01.txt @@ -0,0 +1,93 @@ +@startuml "TD_VoLTE_EMC_INT_REL_01.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "UE A" +box "EPC A" #LightBlue + participant "PGw" + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +participant "BGCF" +end box + + +'box "NW B" #LightGray + participant "PSAP" +'end box + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "IBCF" : \nMx\n +& rnote left "BGCF" : \n\nMi +& rnote left "PSAP" : Mm\n\n + +' +"UE A" <--> "PSAP" : Media Exchange +' +"UE A" -> "P-CSCF" : BYE +' +"P-CSCF" -> "E-CSCF" : BYE + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : BYE + +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : BYE +&"IBCF" --> "PSAP" : BYE + +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : BYE +&"BGCF" --> "PSAP" : BYE +'&"PSTN" --> "PSAP" : BYE + +end + + +' +"P-CSCF" -> "PCRF" : STR +' +& "PCRF" -> "PGw" : RAR +' + +rnote over "PCRF", PGw #FFAAAA: Removal of Session Beares(s). + +"PGw" -> "PCRF" : RAA +' +& "PCRF" -> "P-CSCF" : STA +' +alt PSAP in IMS A network (option 1) +'"E-CSCF" -> "PSAP" : BYE +"PSAP" -> "E-CSCF" : 200 OK +else PSAP not in IMS A network (option 2)\n +'"E-CSCF" -> "IBCF" : BYE +'&"IBCF" --> "PSAP" : BYE +"PSAP" --> "IBCF" : 200 OK +&"IBCF" -> "E-CSCF" : 200 OK + +else PSAP in PSTN network (option 3)\n +'"E-CSCF" -> "BGCF" : BYE +'&"BGCF" --> "PSAP" : BYE +'&"PSTN" --> "PSAP" : BYE +"PSAP" --> "BGCF" : 200 OK +&"BGCF" -> "E-CSCF" : 200 OK +'&"PSAP" --> "PSTN" : 200 OK +end +' +"E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +' +"UE A" <--> "PGw" : Not possible +' +& "PGw" <--> "PSAP" : Not possible +@enduml diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.png b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.png new file mode 100644 index 0000000000000000000000000000000000000000..94321a511d0fb050bcb9511e53735316ee9a2644 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.txt b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a1aac78492b7c1149fb39d30a7936b6fa491d2e --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_01.txt @@ -0,0 +1,36 @@ +@startuml "TD_VoLTE_EMC_RMI_ATT_01.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : Visited emergency Network Attachment with USIM and Establishment of the Emergency Bearer +' +''title Figure : Visited emergency Network Attachment and Establishment of the Emergency Bearer +' +participant "UE B" +box "EPC A" #LightBlue + participant MME + participant SGw + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "HSS" +end box +' +rnote right "UE B" : Gm +& rnote right "MME" : S6a +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx +' +rnote over "UE B", SGw #FFAAAA: Attachment to E-UTRAN +"UE B" -> "MME" : Establish Emergency IP-CAN\nSession Request +"MME" -> "HSS" : ULR +"HSS" -> "MME" : ULA +"PGw" -> "PCRF" : CCR(with IMSI) +rnote over "PGw", "PCRF" #FFAAAA: Policy Decision +"PCRF" -> "PGw" : CCA +"MME" -> "UE B" : Establish Emergency IP-CAN\nSession Response +"UE B" <--> "P-CSCF" : Emergency call possible over Emergency Bearer + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.png b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.png new file mode 100644 index 0000000000000000000000000000000000000000..40c2042268a01934622d4de6d78d5fe549e18043 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.txt b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ee7b01677255d08dc8a31f176c77c70b3449a28 --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_RMI_ATT_02.txt @@ -0,0 +1,36 @@ +@startuml "TD_VoLTE_EMC_RMI_ATT_02.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : Visited emergency Network Attachment without USIM and Establishment of the Emergency Bearer +' +''title Figure : Visited emergency Network Attachment and Establishment of the Emergency Bearer +' +participant "UE B" +box "EPC A" #LightBlue + participant MME + participant SGw + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "HSS" +end box +' +rnote right "UE B" : Gm +& rnote right "MME" : S6a +& rnote right "PGw" : Gx +& rnote right "PCRF" : Rx +' +rnote over "UE B", SGw #FFAAAA: Attachment to E-UTRAN +"UE B" -> "MME" : Establish Emergency IP-CAN\nSession Request +"MME" -> "HSS" : ULR +"HSS" -> "MME" : ULA +"PGw" -> "PCRF" : CCR(with IMEI) +rnote over "PGw", "PCRF" #FFAAAA: Policy Decision +"PCRF" -> "PGw" : CCA +"MME" -> "UE B" : Establish Emergency IP-CAN\nSession Response +"UE B" <--> "P-CSCF" : Emergency call possible over Emergency Bearer + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.png b/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.png new file mode 100644 index 0000000000000000000000000000000000000000..d60f3f389f2cd6f2d382d0336b1ad4853f0d5088 Binary files /dev/null and b/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.png differ diff --git a/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.txt b/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff41b1270053e7418fe84418d30faca14a2fde57 --- /dev/null +++ b/msc_scripts/TD_VoLTE_EMC_RMI_REG_01.txt @@ -0,0 +1,44 @@ +@startuml "TD_VoLTE_EMC_RMI_REG_01.png" +!include etsi-style.iuml +!pragma teoz true +' +'Figure : IMS Initial Registration - unsuccessful (Roaming) +' +''title Figure : IMS Initial Registration - unsuccessful (Roaming) +' +participant "UE A" +box "EPC B" #LightBlue + participant PGw + participant PCRF +end box +box "IMS B" #LightBlue + participant "P-CSCF" + participant "I-CSCF" + participant "S-CSCF" + participant "HSS" +end box +' +rnote right "UE A" : Gm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "P-CSCF" : Mw +& rnote right "I-CSCF" : Mw +& rnote left "S-CSCF" : Mw +& rnote left "HSS" : Cx +' +"UE A" -> "P-CSCF" : REGISTER(Contact: *sos) +"P-CSCF" --> "PCRF" : AAR +"PCRF" --> "P-CSCF" : AAA +& "P-CSCF" -> "I-CSCF" : REGISTER(Contact: *sos) +"I-CSCF" -> "HSS" : UAR +"HSS" -> "I-CSCF" : UAA +alt Emergency registration rejected by the visited network +"I-CSCF" -> "P-CSCF" : 403 Forbidden +& "P-CSCF" -> "UE A" : 403 Forbidden +else Emergency registration rejected - UE not supporting GIBA\n +"I-CSCF" -> "P-CSCF" : 420 Bad Extension +& "P-CSCF" -> "UE A" : 420 Bad Extension +end +"UE A" <--> "P-CSCF" : Emergency signalling possible \n over non protected port + +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.png b/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.png new file mode 100644 index 0000000000000000000000000000000000000000..89679697348ecf026ac50fc52d42a34cf92088d4 Binary files /dev/null and b/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.png differ diff --git a/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.txt b/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..760da049081b4a16a6285827f2521287eff8c45c --- /dev/null +++ b/msc_scripts/TD_VoLTE_NGC_INT_ABT_01.txt @@ -0,0 +1,163 @@ +@startuml "TD_VoLTE_NGC_INT_ABT_01.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" +participant "BGCF" +end box + + + participant "PSAP" + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "IBCF" : \nMx\n +& rnote left "BGCF" : \n\nMi +& rnote left "PSAP" : Mm\n\n +' +' "UE A" <--> "PGw" : Not possible +' & "PGw" <--> "PSAP" : Not possible +' "UE A" -> "P-CSCF" : INVITE (urn:service:sos*) +' "P-CSCF" -> "PCRF" : AAR +' & "PCRF" -> "PGw" : RAR +' rnote over "UE A", PGw #FFAAAA: Installation of media Bearer +' "PGw" -> "PCRF" : RAA +' & "PCRF" -> "P-CSCF" : AAA +' "PGw" -> "PCRF" : CCR +' & "PCRF" -> "P-CSCF" : RAR +' "P-CSCF" -> "PCRF" : RAA +' & "PCRF" -> "PGw" : CCA +' & "P-CSCF" -> "E-CSCF" : INVITE + +' alt PSAP in IMS A network (option 1) +' "E-CSCF" -> "PSAP" : INVITE +' "PSAP" -> "E-CSCF" : 183 Session\nProgress +' else PSAP not in IMS A network (option 2)\n +' "E-CSCF" -> "IBCF" : INVITE +' &"IBCF" --> "PSAP" : INVITE +' "PSAP" --> "IBCF" : 183 Session\nProgress +' &"IBCF" -> "E-CSCF" : 183 Session\nProgress +' else PSAP in PSTN network (option 3)\n +' "E-CSCF" -> "BGCF" : INVITE +' &"BGCF" --> "PSTN" : INVITE +' &"PSTN" --> "PSAP" : INVITE +' "PSAP" --> "PSTN" : 183 Session\nProgress +' &"PSTN" --> "BGCF" : 183 Session\nProgress +' &"BGCF" -> "E-CSCF" : 183 Session\nProgress +' end + + + +' "E-CSCF" -> "P-CSCF" : 183 Session\nProgress +' & "P-CSCF" -> "PCRF" : AAR +' & "PCRF" -> "PGw" : RAR +' rnote over "UE A", PGw #FFAAAA: Modification of media Bearer +' "PGw" -> "PCRF" : RAA +' & "PCRF" -> "P-CSCF" : AAA +' "P-CSCF" -> "UE A" : 183 Session\nProgress +' "PSAP" --> "UE A" : Early media + +' alt PSAP in IMS A network (option 1) + +' "PSAP" -> "E-CSCF" : 180 Ringing +' else PSAP not in IMS A network (option 2)\n +' "PSAP" --> "IBCF" : 180 Ringing +' &"IBCF" -> "E-CSCF" : 180 Ringing + +' else PSAP in PSTN network (option 3)\n +' "PSAP" --> "PSTN" : 180 Ringing +' &"PSTN" --> "BGCF" : 180 Ringing +' &"BGCF" -> "E-CSCF" : 180 Ringing +' end + +' "E-CSCF" -> "P-CSCF" : 180 Ringing +' & "P-CSCF" -> "UE A" : 180 Ringing + +rnote over "PGw", PSAP #FFAAAA: \s\s \s\sEmergency session establishment as in TD_VoLTE_ECO_INT_INI_01 until 180 ringing (Event 22)\s\s \s\s + +"UE A" -> "P-CSCF" : CANCEL +"P-CSCF" -> "PCRF" : STR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PCRF #FFAAAA: Removal of Early-media Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : STA + "P-CSCF" -> "E-CSCF" : CANCEL + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : CANCEL +"PSAP" -> "E-CSCF" : 200 OK (CANCEL) +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : CANCEL +&"IBCF" --> "PSAP" : CANCEL +"PSAP" --> "IBCF" : 200 OK (CANCEL) +&"IBCF" -> "E-CSCF" : 200 OK (CANCEL) +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : CANCEL +&"BGCF" --> "PSAP" : CANCEL +'&"PSTN" --> "PSAP" : CANCEL +"PSAP" --> "BGCF" : 200 OK (CANCEL) +'&"PSTN" --> "BGCF" : 200 OK (CANCEL) +&"BGCF" -> "E-CSCF" : 200 OK (CANCEL) + +end + + + "E-CSCF" -> "P-CSCF" : 200 OK (CANCEL) +& "P-CSCF" -> "UE A" : 200 OK (CANCEL) + +alt PSAP in IMS A network (option 1) + +"PSAP" -> "E-CSCF" : 487 (INVITE) +else PSAP not in IMS A network (option 2)\n +"PSAP" --> "IBCF" : 487 (INVITE) +&"IBCF" -> "E-CSCF" : 487 (INVITE) + +else PSAP in PSTN network (option 3)\n +"PSAP" --> "BGCF" : 487 (INVITE) +'&"PSTN" --> "BGCF" : 487 (INVITE) +&"BGCF" -> "E-CSCF" : 487 (INVITE) +end + + "E-CSCF" -> "P-CSCF" : 487 (INVITE) +&"P-CSCF" -> "UE A" : 487 (INVITE) + +"UE A" -> "P-CSCF" : ACK +&"P-CSCF" -> "E-CSCF" : ACK + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : ACK + +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : ACK +&"IBCF" --> "PSAP" : ACK + +else PSAP in PSTN network (option 3)\n +'"PSTN" --> "PSAP" : ACK +"E-CSCF" -> "BGCF" : ACK +&"BGCF" --> "PSAP" : ACK + + + +end + + + + +"UE A" <--> "PGw" : Not possible +& "PGw" <--> "PSAP" : Not possible +@enduml \ No newline at end of file diff --git a/msc_scripts/TD_VoLTE_NGC_INT_INF_01.png b/msc_scripts/TD_VoLTE_NGC_INT_INF_01.png new file mode 100644 index 0000000000000000000000000000000000000000..25fa79c10135c1f127829a194434ff7d35225887 Binary files /dev/null and b/msc_scripts/TD_VoLTE_NGC_INT_INF_01.png differ diff --git a/msc_scripts/TD_VoLTE_NGC_INT_INF_01.txt b/msc_scripts/TD_VoLTE_NGC_INT_INF_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..02d5eb9b5f3d7dd4ca8ef142622ebae7beb2d20a --- /dev/null +++ b/msc_scripts/TD_VoLTE_NGC_INT_INF_01.txt @@ -0,0 +1,76 @@ +@startuml "TD_VoLTE_NGC_INT_INF_01.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "PSAP" + + + +box "IMS A" #LightBlue +participant "BGCF" + participant "IBCF" + participant "E-CSCF" + participant "P-CSCF" + + +end box +box "EPC A" #LightBlue + participant PCRF + participant PGw +end box + +participant "UE A" + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mw +& rnote right "IBCF" : Mx +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote right "BGCF" : Mi +& rnote right "PSAP" : Mm +' + +rnote over "UE A", PSAP #FFAAAA: \s\s eCall type of emergency service session established \s\s + +alt Option 1: PSAP in IMS A network +"PSAP" -> "E-CSCF" : INFO + +else Option 2: PSAP NOT in IMS A network\n +"PSAP" --> "IBCF" : INFO +&"IBCF" -> "E-CSCF" : INFO + +else Option 3: PSAP in PSTN network\n +"PSAP" --> "BGCF" : INFO +'&"PSTN" --> "E-CSCF" : INFO +&"BGCF" -> "E-CSCF" : INFO + +end + +"E-CSCF" -> "P-CSCF" : INFO +&"P-CSCF" -> "UE A" : INFO\n("application/EmergencyCallData.Control+xml" MIME body)\n("request" element: "action" = "send-data", "datatype" = "eCall.MSD") + + +"UE A" -> "P-CSCF" : INFO\n("application/EmergencyCallData.eCall.MSD" MIME body)\n(MSD not exceeding 140 bytes encoded in binary ASN.1) +&"P-CSCF" -> "E-CSCF" : INFO + +alt Option 1: PSAP in IMS A network +"E-CSCF" -> "PSAP" : INFO + +else Option 2: PSAP NOT in IMS A network\n +"E-CSCF" -> "IBCF" : INFO +&"IBCF" --> "PSAP" : INFO + +else Option 3: PSAP in PSTN network\n +"E-CSCF" -> "BGCF" : INFO +&"BGCF" --> "PSAP" : INFO +'&"PSTN" --> "PSAP" : INFO + +end + + + +@enduml diff --git a/msc_scripts/TD_VoLTE_NGC_INT_INI_01.png b/msc_scripts/TD_VoLTE_NGC_INT_INI_01.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf840b603bfd8113116bede81c6dad1b58f3396 Binary files /dev/null and b/msc_scripts/TD_VoLTE_NGC_INT_INI_01.png differ diff --git a/msc_scripts/TD_VoLTE_NGC_INT_INI_01.txt b/msc_scripts/TD_VoLTE_NGC_INT_INI_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..eb126b6882d7d61ed34b4fa724a18b98357e6117 --- /dev/null +++ b/msc_scripts/TD_VoLTE_NGC_INT_INI_01.txt @@ -0,0 +1,62 @@ +@startuml "TD_VoLTE_NGC_INT_INI_01.png" + + +!include etsi-style.iuml +!pragma teoz true +' +'Figure: eCall type of Emergency Service Session Establishment, PSAP in same IM CN subsystem +' +''title Figure : eCall type of Emergency Service Session Establishment, PSAP in same IM CN subsystem +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant "PCRF" +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" +end box + + participant "PSAP" + +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx + +' +"UE A" -> "P-CSCF" : INVITE\n(MSD in "application/EmergencyCallData.eCall.MSD" MIME body) +"P-CSCF" -> "PCRF" : AAR +rnote over "PCRF", PGw #FFAAAA: Policy decision +"PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Installation of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA +& "P-CSCF" -> "E-CSCF" : INVITE\n(MSD in\n"application/EmergencyCallData.eCall.MSD"\nMIME body) +& "E-CSCF" -> "PSAP" : INVITE\n(MSD in\n"application/EmergencyCallData.eCall.MSD"\nMIME body) +"PSAP" -> "E-CSCF" : 183 Session Progress\n(SDP answer) +& "E-CSCF" -> "P-CSCF" : 183 Session Progress\n(SDP answer) +& "P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "PCRF", PGw #FFAAAA: Modification of the Session Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"P-CSCF" -> "UE A" : 183 Session Progress\n(SDP answer) +"UE A" <--> "PSAP" : Early Media +"PSAP" -> "E-CSCF" : 180 Ringing +& "E-CSCF" -> "P-CSCF" : 180 Ringing +&"P-CSCF" -> "UE A" : 180 Ringing +"PSAP" -> "E-CSCF" : 200 OK +& "E-CSCF" -> "P-CSCF" : 200 OK +& "P-CSCF" -> "UE A" : 200 OK +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK +& "E-CSCF" -> "PSAP" : ACK +"UE A" <--> "PSAP" : Media Exchange +@enduml diff --git a/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.png b/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.png new file mode 100644 index 0000000000000000000000000000000000000000..93c5e27923a3dffbae4b1a6e9a2f73c0dc188e0f Binary files /dev/null and b/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.png differ diff --git a/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.txt b/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb424e8a948170a894d99b210487fed23e086601 --- /dev/null +++ b/msc_scripts/TD_VoLTE_NGC_INT_REJ_01.txt @@ -0,0 +1,102 @@ +@startuml "TD_VoLTE_NGC_INT_REJ_01.png" +/'Editor: https://plantuml-editor.kkeisuke.com/ '/ +/'Syntax: http://plantuml.com/fr/sequence-diagram '/ +!include etsi-style.iuml +!pragma teoz true +' +participant "UE A" +box "EPC A" #LightBlue + participant PGw + participant PCRF +end box +box "IMS A" #LightBlue + participant "P-CSCF" + participant "E-CSCF" + participant "IBCF" + participant "BGCF" + +end box + + + participant "PSAP" + + + +' +rnote right "UE A" : Gm +& rnote right "P-CSCF" : Mw +& rnote right "E-CSCF" : Mm\nMx\nMi +& rnote right "IBCF" : Ici +& rnote right "PCRF" : Rx +& rnote right "PGw" : Gx +& rnote left "IBCF" : \nMx\n +& rnote left "BGCF" : \n\nMi +& rnote left "PSAP" : Mm\n\n +' +"UE A" <--> "PGw" : Not possible +& "PGw" <--> "PSAP" : Not possible +"UE A" -> "P-CSCF" : INVITE \n(urn:service:sos*) +"P-CSCF" -> "PCRF" : AAR +& "PCRF" -> "PGw" : RAR +rnote over "UE A", PGw #FFAAAA: Installation of emergency Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : AAA +"PGw" -> "PCRF" : CCR +& "PCRF" -> "P-CSCF" : RAR + "P-CSCF" -> "PCRF" : RAA +& "PCRF" -> "PGw" : CCA + "P-CSCF" -> "E-CSCF" : INVITE \n(urn:service:sos*) + +rnote over "PSAP", PSAP #FFAAAA: PSAP unavailable + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : INVITE \n(urn:service:sos*) +"PSAP" -> "E-CSCF" : 480 Temporary Unavailable +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : INVITE \n(urn:service:sos*) +&"IBCF" --> "PSAP" : INVITE \n(urn:service:sos*) +"PSAP" --> "IBCF" : 480 Temporary Unavailable +&"IBCF" -> "E-CSCF" : 480 Temporary Unavailable +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : INVITE \n(urn:service:sos*) +&"BGCF" --> "PSAP" : INVITE \n(urn:service:sos*) +'&"PSTN" --> "PSAP" : INVITE \n(urn:service:sos*) +"PSAP" --> "BGCF" : 480 Temporary Unavailable +&"BGCF" -> "E-CSCF" : 480 Temporary Unavailable +'&"PSAP" --> "PSTN" : 480 Temporary Unavailable +end + + + + + + + + "E-CSCF" -> "P-CSCF" : 480 Temporary Unavailable +& "P-CSCF" -> "PCRF" : STR +& "PCRF" -> "PGw" : RAR +rnote over "UE A", PGw #FFAAAA: Removal of emergency Bearer +"PGw" -> "PCRF" : RAA +& "PCRF" -> "P-CSCF" : STA +"P-CSCF" -> "UE A" : 380 (Alternative Service) +"UE A" -> "P-CSCF" : ACK +& "P-CSCF" -> "E-CSCF" : ACK + +alt PSAP in IMS A network (option 1) +"E-CSCF" -> "PSAP" : ACK +else PSAP not in IMS A network (option 2)\n +"E-CSCF" -> "IBCF" : ACK +&"IBCF" --> "PSAP" : ACK + +else PSAP in PSTN network (option 3)\n +"E-CSCF" -> "BGCF" : ACK +&"BGCF" --> "PSAP" : ACK +'&"PSTN" --> "PSAP" : ACK + +end + + +"UE A" <--> "PGw" : Not possible +& "PGw" <--> "PSAP" : Not possible + +@enduml diff --git a/msc_scripts/TD_VxLTE_EMC_INT_DTC_01.png b/msc_scripts/TD_VxLTE_EMC_INT_DTC_01.png new file mode 100644 index 0000000000000000000000000000000000000000..c929e3b00933a0e2ef76f6e7cf1fff049681edc6 Binary files /dev/null and b/msc_scripts/TD_VxLTE_EMC_INT_DTC_01.png differ diff --git a/test_purposes/Gm/TP_GM.tplan2 b/test_purposes/Gm/TP_GM.tplan2 index eceb18d129a19936a5a444cd4b29204e68483584..6e28ec91fb2c14c5e38ed7e1586a3cb95cd7c8b5 100644 --- a/test_purposes/Gm/TP_GM.tplan2 +++ b/test_purposes/Gm/TP_GM.tplan2 @@ -513,6 +513,47 @@ Package TP_GM { } } // End of TP_GM_PCSCF_ECO_INVITE_05 + Test Purpose { + + TP Id TP_GM_PCSCF_ECO_INVITE_05 + + Test objective "Verify that the P-CSCF successfully receives an initial emergency INVITE from a registered but not emergency registered UE." + + Reference + "ETSI TS 124 229 [1], Clauses 5.1.6.8.4" + + Config Id CF_VoLTE_RMI_ES + + PICS Selection NONE + + Initial conditions with { + the UE_A entity isAttachedTo the EPC_B and + the UE_A entity isRegisteredTo the IMS_A and + the UE_A entity not isEmergencyRegisteredTo the IMS_A + /* This implies that the UE is currently attached and registered + to its home operator's network and the IP-CAN does not define emergency bearers + see 5.1.6.1 3rd paragraph */ + } + + Expected behaviour + ensure that { + when { + the UE_A entity isRequestedToEstablishEmergencyCall + } + then { + the IMS_P_CSCF_A entity receives an INVITE containing + From indicating value PX_UE_A_SIP_URI, + To indicating value PX_SIP_EMERGENCY_SERVICE_URN, + CallId indicating value PX_UE_A_CALLID, + Via indicating value PX_UE_A_VIA, + Route indicating value PX_UE_A_SERVICE_ROUTE, + PPreferredIdentity, // one or two instances + MessageBody; + from the UE_A entity + } + } + } // End of TP_GM_PCSCF_ECO_INVITE_05 + Test Purpose { TP Id TP_GM_PCSCF_ECO_BYE_01 diff --git a/test_purposes/New Text Document.txt b/test_purposes/New Text Document.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn index d85026b4257287ca7d50832fae0938e51d387bdc..66fc5b2030dd2c8dfebdf0c8bf76daef727f6d19 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Emergency.ttcn @@ -107,7 +107,6 @@ module AtsImsIot_Emergency { } } // End of TC TC_VoLTE_ECO_INT_ATT_01 - // function f_validate_uar(in octetstring p_uar) { // var bitstring v_conv := oct2bit(p_uar); // var UAR_MSG v_msg; @@ -2327,7 +2326,7 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - + // Option 1 f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 7 f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 8 @@ -2424,13 +2423,13 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - + f_mtc_check_TP_MX_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 9 + f_mtc_check_TP_IC_IBCF_CANCEL_01(vc_vxlte_monitor_components.ic, true); // CANCEL Event 10 (NOTE: comment out if ISC simulated by Ic) f_mtc_check_TP_IC_IBCF_2XXRESP_01(vc_vxlte_monitor_components.ic); // 200 CANCEL – Event 11 f_mtc_check_TP_MX_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 12 - f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 @@ -2526,16 +2525,18 @@ module AtsImsIot_Emergency { f_mtc_check_TP_RX_PCRF_STA_01(vc_vxlte_monitor_components.rx); // (STA – Event 5) f_mtc_check_TP_MW_PCSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 6 - + f_mtc_check_TP_MI_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 13 f_mtc_check_TP_MM_ECSCF_EMC_CANCEL_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 14 + f_mtc_check_TP_MI_ECSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 16 - + f_mtc_check_TP_MW_PCSCF_ECO_200OK_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 17 f_mtc_check_TP_GM_PCSCF_200OK_02(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 18 f_mtc_check_TP_MM_ECSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mmB_PSAP, -, v_sip); // Event 22 f_mtc_check_TP_MI_ECSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 23 + f_mtc_check_TP_MW_PCSCF_EMC_487INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 24 f_mtc_check_TP_GM_PCSCF_487INVITE_01(vc_vxlte_monitor_components.gmA, -, v_sip); // Event 25 @@ -2730,6 +2731,14 @@ module AtsImsIot_Emergency { // 480 Temporary Unavailable f_mtc_check_TP_IC_IBCF_480TEMPAV_01(vc_vxlte_monitor_components.ic, -, v_sip); // INVITE Event 18 (NOTE: comment out if ISC simulated by Ic) + + f_mtc_check_TP_MX_ECSCF_ECO_INVITE_01(vc_vxlte_monitor_components.mwEB, -, v_sip); // Event 11 + f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01(vc_vxlte_monitor_components.mwEB, -, v_sip); + + f_mtc_check_TP_IC_IBCF_INVITE_01(vc_vxlte_monitor_components.ic); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) + + // 480 Temporary Unavailable + f_mtc_check_TP_IC_IBCF_480TEMPAV_01(vc_vxlte_monitor_components.ic, -, v_sip); // INVITE Event 12 (NOTE: comment out if ISC simulated by Ic) f_mtc_check_TP_MW_PCSCF_ECO_480INVITE_01(vc_vxlte_monitor_components.mwPE, -, v_sip); // Event 23 f_mtc_check_TP_RX_PCSCF_STR_01(vc_vxlte_monitor_components.rx); // Event 24 @@ -2956,6 +2965,7 @@ module AtsImsIot_Emergency { PX_DIAMETER_GX_INTERFACENAME })) { + var SipMessage v_sip; f_cf_createVxLteMonitor(); @@ -2963,7 +2973,9 @@ module AtsImsIot_Emergency { // map/connect component ports f_cf_adapter_up ( ); f_cf_user_up ( v_ueA ); + f_cf_user_up ( v_psap ); + f_cf_VxLteMonitor_Up(); // Preamble @@ -2973,6 +2985,7 @@ module AtsImsIot_Emergency { } else { // TODO Check OPTIONS from PSAP to E-CSCF } + f_mtc_check_precond_TD_VoLTE_ECO_INT_REJ_03(); // Test body @@ -3008,7 +3021,6 @@ module AtsImsIot_Emergency { } // End of group EmergencySessionAbortOrReject - /** * @see ETSI TS 103 795-2 Clause 5.3.4 NG eCall tests @@ -3333,6 +3345,7 @@ module AtsImsIot_Emergency { } f_cf_adapter_down ( ); + } // End of TC TD_VoLTE_NGC_INT_INF_01_03 group f_TD_VoLTE_NGC_INT_INF_01 { diff --git a/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn b/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn index 366a1f8ad533985bb38c4b7bc49bf0e14d2dbe6d..105d9bdb2aeca20de056d9a0205f4b08251e6c8a 100644 --- a/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_PIXITS.ttcn @@ -59,4 +59,4 @@ module AtsImsIot_PIXITS { } // end group SUT group TS { } // end group TS -} +} \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn index 6d49ec92f988f039f89ca376f83390135f3096ab..6ffc8a320dc548924d95c0eaec3600c50cc01791 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_GM.ttcn @@ -731,6 +731,7 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GM_PCSCF_ECO_REGISTER_03 + function f_mtc_check_TP_GM_PCSCF_REGISTER_04( // FIXME RMI To be reviewed in SipInterfaceMonitor p_monitorCompRef, @@ -1613,7 +1614,7 @@ module AtsImsIot_TP_behavior_GM { if (isvalue(p_monitorCompRef)){ var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_userInfoB := f_getSipUserId(PX_EUT_B); - + // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( @@ -1800,6 +1801,7 @@ module AtsImsIot_TP_behavior_GM { f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); } } // End of function f_mtc_check_TP_GM_PCSCF_ECO_INVITE_03 + /** * @desc Verify that the P-CSCF successfully receives an initial eCall type INVITE from an emergency registered UE. @@ -1906,7 +1908,7 @@ module AtsImsIot_TP_behavior_GM { if (isvalue(p_monitorCompRef)){ var ImsUserInfo v_userInfoA := f_getSipUserId(PX_EUT_A); var ImsUserInfo v_psap := f_getSipUserId(PX_PSAP); - + // Check the INVITE p_monitorCompRef.start( f_Iot_Sip_receive( @@ -2776,6 +2778,7 @@ module AtsImsIot_TP_behavior_GM { p_monitorCompRef.done; } } // End of function f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_02 + function f_mtc_check_TP_GM_PCSCF_183SESSION_PROGRESS_03( in SipInterfaceMonitor p_monitorCompRef, diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn index 09e7834823712a37ecac382f254b375be9328b9a..1b6f77e8bc00fedff4ccb9ebec2cc369d7430509 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MI.ttcn @@ -753,7 +753,7 @@ module AtsImsIot_TP_behavior_MI { } // End of function f_mtc_check_TP_MI_ECSCF_EMC_487INVITE_01 } // End of group imsRequestTermination - + group imsINFO{ /** diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn deleted file mode 100644 index 4d1c3fb0738e8240c1ab49336ea2c6fcae4c4d56..0000000000000000000000000000000000000000 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EB.ttcn +++ /dev/null @@ -1,842 +0,0 @@ -// TODO To be removed -// /** -// * @author TTF T010 -// * @version $Id$ -// * @desc This module provides the TP behaviour functions at Mw interface at E-CSCF/IBCF -// */ - -// module AtsImsIot_TP_behavior_MW_EB { - -// // LibIms -// import from LibIms_Templates all; -// import from LibIms_UpperTester all; -// // LibIot -// import from LibIot_TypesAndValues all; -// import from LibIot_Functions all; -// import from LibIot_TestInterface all; -// import from LibIot_PIXITS all; -// // LibSip -// import from LibSip_SIPTypesAndValues all; -// import from LibSip_Templates all; -// import from LibSip_Common all; -// import from LibSip_SDPTypes all; -// // LibMsrp -// import from LibMsrp_TypesAndValues all; -// import from LibMsrp_Functions all; -// import from LibMsrp_Templates all; -// // AtsImsIot -// import from AtsImsIot_TestSystem all; -// import from AtsImsIot_Templates_MW all; -// import from AtsImsIot_Templates all; -// import from AtsImsIot_TypesAndValues all; -// import from AtsImsIot_Functions all; - -// group imsInvite { - -// /** -// * @desc Verify that the E-CSCF successfully processes an initial INVITE (Originating Leg).. -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives an INVITE containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_PSAP_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE, -// * PAccessNetworkInfo, -// * MessageBody containing -// * SDP containing -// * Version indicating value "0" -// * ; -// * ;; -// * from the IMS_P_CSCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends an INVITE containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_PSAP_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE, -// * PAccessNetworkInfo, -// * MessageBody containing -// * SDP containing -// * Version indicating value "0" -// * ; -// * ;; -// * to the IMS_IBCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_INVITE_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { -// mw_SipRequest( -// mdw_TP_MW_IBCF_INVITE_01( -// ( -// mw_SipUrl_Host(v_EUT_A_Addr) //f_GetEUTScscfIpAddress(PX_EUT_A) -// ) -// )) -// }, -// { mw_SipRequest(mw_INVITE_Request_Base) }, -// {0, omit}, -// "TP_MW_IBCF_INVITE_01 - Request", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_INVITE_01 - -// function f_mtc_check_TP_MW_IBCF_INVITE_02( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { -// mw_SipRequest( -// mdw_TP_MW_IBCF_INVITE_01( -// ( -// mw_SipUrl_Host(v_EUT_A_Addr) //f_GetEUTScscfIpAddress(PX_EUT_A) -// ) -// )) -// }, -// { mw_SipRequest(mw_INVITE_Request_Base) }, -// {0, omit}, -// "TP_MW_IBCF_INVITE_01 - Request", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_INVITE_02 - -// } // End of group imsInvite - -// group ims100Trying { - -// /** -// * @desc Verify that the E-CSCF successfully processes a 100 (Trying) provisional response on initial INVITE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a 100_Trying -// * from the IMS_IBCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 100_Trying -// * to the IMS_P_CSCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBSCF_100Trying_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 100 TRYING -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_TP_MW_IBCF_100Trying_01( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipResponse(mw_100Trying_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_100Trying_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBSCF_100Trying_01 - -// } // End of group ims100Trying - -// group ims180Ringing { - -// /** -// * @desc Verify that the E-CSCF successfully processes a 180 (Ringing) provisional response on initial INVITE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a 180_Ringing containing -// * From indicating value PX_PSAP_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_PSAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE -// * ; -// * from the IMS_IBCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 180_Ringing containing -// * From indicating value PX_PSAP_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_PSAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE -// * ; -// * to the IMS_P_CSCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_180RINGING_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 180 RINGING -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_TP_MW_IBCF_180Ringing_01( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.fromField, -// mw_To_NameAddr_TelUrl( -// -, -// p_sip.request.msgHeader.toField.addressField.addrSpecUnion.components.tel.subscriber -// ))) -// }, -// { mw_SipResponse(mw_180Ringing_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_180RINGING_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_180RINGING_01 - -// } // End of group ims180Ringing - -// group ims183SessionProgress { - -// /** -// * @desc Verify that the E-CSCF successfully processes a 183 (Ringing) provisional response on initial INVITE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a 183_SessionProgress containing -// * From indicating value PX_SAP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_SAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE -// * ; -// * from the IMS_IBCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 183_SessionProgress containing -// * From indicating value PX_PSAP_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_PSAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE -// * ; -// * to the IMS_P_CSCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 183 SESSION_PROGRESS -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_TP_MW_IBCF_183SessionProgress_01( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipResponse(mw_183SessionProgress_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_183SESSION_PROGRESS_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_183SESSION_PROGRESS_01 - -// } // End of group ims183SessionProgress - -// group ims200Ok { - -// /** -// * @desc Verify that the E-CSCF successfully processes a 200 (OK) provisional response on initial INVITE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a 200_Ok containing -// * From indicating value PX_PSAP_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_PSAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE, -// * not PChargingVector, -// * not PChargingFunctionAddresses, -// * not PPreferredIdentity -// * ; -// * from the IMS_IBCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 200_Ok containing -// * From indicating value PX_PSAP_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_PSAP_CALLID, -// * Via indicating value PX_PSAP_VIA, -// * Route indicating value PX_PSAP_SERVICE_ROUTE, -// * PChargingVector, -// * PChargingFunctionAddresses, -// * PPreferredIdentity -// * ; -// * to the IMS_P_CSCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_200OK_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 200 OK -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_200OK( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.fromField, -// ( -// mw_To_NameAddr_TelUrl({quotedString:=f_getSipUserId(PX_EUT_B).publicId}), -// mw_To_AddrUnion_TelUrl(f_getTelUserId(PX_EUT_B).publicId), -// p_sip.request.msgHeader.toField -// ) -// )) -// }, -// { mw_SipResponse(mw_200OK_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_200OK_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; - -// } -// } // End of function f_mtc_check_TP_MW_IBCF_200OK_01 - -// function f_mtc_check_TP_MW_IBCF_ECO_200OK_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 200 OK -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_200OK( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.fromField, -// ( -// mw_To_NameAddr_TelUrl({quotedString:=f_getSipUserId(PX_PSAP).publicId}), -// mw_To_AddrUnion_TelUrl(f_getTelUserId(PX_PSAP).publicId), -// p_sip.request.msgHeader.toField -// ) -// )) -// }, -// { mw_SipResponse(mw_200OK_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_200OK_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; - -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ECO_200OK_01 - -// /** -// * @desc Verify that the E-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the UE_B entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the UE_B entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a 200_Ok containing -// * From indicating value PX_UE_B_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_UE_B_CALLID, -// * Via indicating value PX_UE_B_VIA, -// * Route indicating value PX_UE_B_SERVICE_ROUTE, -// * PChargingVector, -// * PChargingFunctionAddresses, -// * PPreferredIdentity -// * ; -// * from the UE_B entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 200_Ok containing -// * From indicating value PX_UE_B_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_UE_B_CALLID, -// * Via indicating value PX_UE_B_VIA, -// * Route indicating value PX_UE_B_SERVICE_ROUTE, -// * not PChargingVector, -// * not PChargingFunctionAddresses, -// * not PPreferredIdentity -// * ; -// * from the IMS_P_CSCF_B entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_200OK_02( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 200 OK -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_200OK( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipResponse(mw_200OK_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_200OK_02", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_200OK_02 - -// } // End of group ims200Ok - -// group imsAck { - -// /** -// * @desc Verify that the E-CSCF successfully processes a ACK provisional response on initial INVITE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the PSAP entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the PSAP entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives an ACK containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_PSAP_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE -// * ; -// * from the IMS_P_CSCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends an ACK containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_PSAP_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE -// * ; -// * from the IMS_IBCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_ACK_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the ACK -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipRequest(mw_TP_MW_IBCF_ACK_01( -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.cSeq, -// -, // FIXME To be set -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipRequest(mw_ACK_Request_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_ACK_01 - Request", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ACK_01 - -// function f_mtc_check_TP_MW_IBCF_ECO_ACK_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the ACK -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipRequest(mw_TP_MW_IBCF_ACK_01( -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.cSeq, -// -, // FIXME To be set -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipRequest(mw_ACK_Request_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_ACK_01 - Request", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ACK_01 - -// } // End of group imsAck - -// group imsBye { - -// /** -// * @desc Verify that the E-CSCF successfully processes a BYE (Terminating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the UE_B entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the UE_B entity isRegisteredTo the IMS_B and -// * the UE_A entity previouslyEstablishedCallWith the UE_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity receives a BYE containing -// * From indicating value PX_UE_B_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_UE_B_CALLID, -// * Via indicating value PX_UE_B_VIA, -// * Route indicating value PX_UE_B_SERVICE_ROUTE -// * ; -// * from the IMS_P_CSCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a BYE containing -// * From indicating value PX_UE_B_SIP_URI, -// * To indicating value PX_UE_A_SIP_URI, -// * CallId indicating value PX_UE_B_CALLID, -// * Via indicating value PX_UE_B_VIA, -// * Route indicating value PX_UE_B_SERVICE_ROUTE -// * ; -// * from the IMS_IBCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_BYE_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// inout SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the BYE -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( -// p_sip.request.msgHeader.callId, -// -, // New CSeq, -// -, // FIXME To be set -// { -// fieldName := FROM_E, -// addressField := p_sip.request.msgHeader.toField.addressField, -// fromParams := * -// }, //p_sip.request.msgHeader.fromField, -// { -// fieldName := TO_E, -// addressField := p_sip.request.msgHeader.fromField.addressField, -// toParams := * -// } //p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipRequest(mw_BYE_Request_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_BYE_01 - Request", -// true, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// // Retrieve messge -// f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); -// } -// } // End of function f_mtc_check_TP_MW_IBCF_BYE_01 - -// function f_mtc_check_TP_MW_IBCF_ECO_BYE_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// inout SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the BYE -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipRequest(mw_TP_MW_IBCF_BYE_01( -// p_sip.request.msgHeader.callId, -// -, // New CSeq, -// -, // FIXME To be set -// { -// fieldName := FROM_E, -// addressField := p_sip.request.msgHeader.toField.addressField, -// fromParams := * -// }, //p_sip.request.msgHeader.fromField, -// { -// fieldName := TO_E, -// addressField := p_sip.request.msgHeader.fromField.addressField, -// toParams := * -// } //p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipRequest(mw_BYE_Request_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_BYE_01 - Request", -// true, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// // Retrieve messge -// f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ECO_BYE_01 - -// } // End of group imsBye - -// group ims200OkBye { - -// /** -// * @desc Verify that the E-CSCF successfully processes a 200 (OK) BYE (Originating Leg). -// * Initial conditions with { -// * the UE_A entity isAttachedTo the EPC_A and -// * the UE_B entity isAttachedTo the EPC_B and -// * the UE_A entity isRegisteredTo the IMS_A and -// * the UE_B entity isRegisteredTo the IMS_B -// * } -// * -// * Expected behaviour -// * ensure that { -// * when { -// * the IMS_E_CSCF_A entity sends a 200_Ok containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_UE_B_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE, -// * not PChargingVector, -// * not PChargingFunctionAddresses, -// * not PPreferredIdentity -// * to the IMS_IBCF_A entity -// * } -// * then { -// * the IMS_E_CSCF_A entity sends a 200_Ok containing -// * From indicating value PX_UE_A_SIP_URI, -// * To indicating value PX_UE_B_SIP_URI, -// * CallId indicating value PX_UE_A_CALLID, -// * Via indicating value PX_UE_A_VIA, -// * Route indicating value PX_UE_A_SERVICE_ROUTE, -// * not PChargingVector, -// * not PChargingFunctionAddresses, -// * not PPreferredIdentity -// * to the IMS_P_CSCF_A entity -// * } -// * } -// */ -// function f_mtc_check_TP_MW_IBCF_200OK_BYE_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// in SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the 200 OK BYE -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipResponse(mw_200OK( -// p_sip.request.msgHeader.cSeq, -// p_sip.request.msgHeader.callId, -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipResponse(mw_200OK_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_200OK_BYE_01", -// false, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_200OK_BYE_01 - -// } // End of group ims200OkBye - -// group imsCancel { - -// function f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// inout SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// // Check the CANCEL -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { mw_SipRequest(mw_TP_MW_IBCF_CANCEL_01( -// p_sip.request.msgHeader.callId, -// -, // New CSeq, -// -, // FIXME To be set -// { -// fieldName := FROM_E, -// addressField := p_sip.request.msgHeader.toField.addressField, -// fromParams := * -// }, //p_sip.request.msgHeader.fromField, -// { -// fieldName := TO_E, -// addressField := p_sip.request.msgHeader.fromField.addressField, -// toParams := * -// } //p_sip.request.msgHeader.toField -// )) -// }, -// { mw_SipRequest(mw_CANCEL_Request_Base) }, -// { 0, omit }, -// "TP_MW_IBCF_CANCEL_01 - Request", -// true, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// // Retrieve messge -// f_getSipMsgFromMonitor(p_monitorCompRef, p_sip); -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ECO_CANCEL_01 - -// } // End of group imsCancel - -// group ims487Invite { - -// function f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01( -// in SipInterfaceMonitor p_monitorCompRef, -// in boolean p_checkMessage := false, -// inout SipMessage p_sip -// ) runs on ImsTestCoordinator { -// if (isvalue(p_monitorCompRef)) { -// var charstring v_EUT_A_Addr := f_GetEUTScscfAddress_1();//f_GetEUTScscfAddress(PX_EUT_A); -// p_monitorCompRef.start( -// f_Iot_Sip_receive( -// { -// mw_SipResponse( -// mw_487RequestTerminated( // TODO Enforce template -// p_sip.request.msgHeader.callId, -// -, // New CSeq -// p_sip.request.msgHeader.fromField, -// p_sip.request.msgHeader.toField, -// omit -// ) -// ) -// }, -// { -// mw_SipResponse(mdw_4XX_Base) -// }, -// { 0, omit }, -// "TP_MW_IBCF_487INVITE_01", -// true, -// p_checkMessage -// ) -// ); -// p_monitorCompRef.done; -// } -// } // End of function f_mtc_check_TP_MW_IBCF_ECO_487INVITE_01 - -// } // End of group ims487Invite - -// } // End of module AtsImsIot_TP_behavior_MW_EB \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn deleted file mode 100644 index df2e55cfcc09c2f2c078b665a6387fba8c557df3..0000000000000000000000000000000000000000 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_EC.ttcn +++ /dev/null @@ -1,33 +0,0 @@ -// /** -// * @author TTF T010 -// * @version $Id$ -// * @desc This module provides the TP behaviour functions at Mw interface at P-CSCF/E-CSCF -// */ - -// module AtsImsIot_TP_behavior_MW_EC { // TODO: To be removed - -// // LibIms -// import from LibIms_Templates all; -// import from LibIms_UpperTester all; -// // LibIot -// import from LibIot_TypesAndValues all; -// import from LibIot_Functions all; -// import from LibIot_TestInterface all; -// import from LibIot_PIXITS all; -// // LibSip -// import from LibSip_SIPTypesAndValues all; -// import from LibSip_Templates all; -// import from LibSip_Common all; -// import from LibSip_SDPTypes all; -// // LibMsrp -// import from LibMsrp_TypesAndValues all; -// import from LibMsrp_Functions all; -// import from LibMsrp_Templates all; -// // AtsImsIot -// import from AtsImsIot_TestSystem all; -// import from AtsImsIot_Templates_MW all; -// import from AtsImsIot_Templates all; -// import from AtsImsIot_TypesAndValues all; -// import from AtsImsIot_Functions all; - -// } // End of module AtsImsIot_TP_behavior_MW_EC \ No newline at end of file diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn index 45dab74b0347a0ac5d6a9e58fe39f428706c6d6c..31a7883d54e36dc8d53c444167dc81b739f9be4c 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MW_PS.ttcn @@ -2975,6 +2975,40 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01 + function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + var ImsUserInfo v_psapInfo := f_getSipUserId(PX_PSAP); + + // Check the 200 OK + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipResponse(mw_200OK( + p_sip.request.msgHeader.cSeq, + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.fromField, + ( + mw_To_NameAddr_TelUrl({quotedString:=v_psapInfo.publicId}), + mw_To_AddrUnion_TelUrl(v_psapInfo.publicId), + p_sip.request.msgHeader.toField + ) + )) + }, + { mw_SipResponse(mw_200OK_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_200OK_01", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_200OK_01 + /** * @desc Verify that the P-CSCF successfully processes a 200 (Ok) provisional response on initial INVITE (Terminating Leg). * Initial conditions with { @@ -3188,6 +3222,34 @@ module AtsImsIot_TP_behavior_MW_PS { } } // End of function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01 + function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01( + in SipInterfaceMonitor p_monitorCompRef, + in boolean p_checkMessage := false, + in SipMessage p_sip + ) runs on ImsTestCoordinator { + if (isvalue(p_monitorCompRef)) { + // Check the ACK + p_monitorCompRef.start( + f_Iot_Sip_receive( + { mw_SipRequest(mw_TP_MW_ECSCF_ACK_01( + p_sip.request.msgHeader.callId, + p_sip.request.msgHeader.cSeq, + -, // FIXME To be set + p_sip.request.msgHeader.fromField, + p_sip.request.msgHeader.toField + )) + }, + { mw_SipRequest(mw_ACK_Request_Base) }, + { 0, omit }, + "TP_MW_ECSCF_ECO_ACK_01 - Request", + false, + p_checkMessage + ) + ); + p_monitorCompRef.done; + } + } // End of function f_mtc_check_TP_MW_PCSCF_ECO_ACK_01 + /** * @desc Verify that the P-CSCF successfully processes a ACK provisional response on initial INVITE (Terminating Leg). * Initial conditions with { diff --git a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn index 4db51395fd728c24b4c1aa7bc75c2b0028cd970f..a5d41e6db0dd923bc82166e8df70526fcb0848f9 100644 --- a/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_TP_behavior_MX.ttcn @@ -270,7 +270,6 @@ module AtsImsIot_TP_behavior_MX { p_monitorCompRef.done; } } // End of function f_mtc_check_TP_MX_ECSCF_ECO_100Trying_01 - } // End of group ims100Trying @@ -821,7 +820,6 @@ module AtsImsIot_TP_behavior_MX { } // End of group ims3xxAny - group imsINFO{ /** diff --git a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn index dd17d90448ff2557679263977e9f21fc423295c2..aaf7f68e0eae4f4fefb2566f53ca3c54bc06138c 100644 --- a/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn +++ b/ttcn/AtsImsIot/AtsImsIot_Templates_GM.ttcn @@ -483,7 +483,7 @@ module AtsImsIot_Templates_GM { pPreferredID := p_pPreferredID } } // End of template mw_TP_GM_PCSCF_ECO_INVITE_04 - + template (present) INVITE_Request mw_TP_GM_PCSCF_ECO_INVITE_05( // TODO To be enforced template (present) SipUrl p_invite_uri := ?, template (present) From p_from := ?,