@startuml
!include skin.inc

participant "<i>Browser</i>" as bro #ffffff
participant "Application" as app 
participant "Server" as srv 

group Alternative answering phase - reliable 183 response
	srv <<--]: <i>183 Session Progress (answerSdp2; 100rel)</i>
	srv -->>]: <i>PRACK</i>
	srv <<--]: <i>200 OK PRACK</i>
	srv -> app: POST or NOTIFY\nVvoipAnswerNotification(answer, answerSdp2)
	app -->> bro: <i>peerConnection.setRemoteDescription(answer, answerSdp2)</i>

	note right of srv: Terminating participant is alerted
	srv<<--]: <i>180 Ringing</i>
	srv -> app: POST or NOTIFY VvoipEventNotification(Ringing)

	note right of srv: Terminating participant accepts
	srv<<--]: <i>200 OK INVITE</i>
	srv-->>]: <i>ACK</i>

	srv -> app: POST or NOTIFY\nVvoipAcceptanceNotification()
end

@enduml