@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