@startuml
!include skin.inc

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

group Alternative answering phase - unreliable 183 response
	srv <<--]: <i>183 Session Progress (answerSdp2)</i>
	srv -> app: POST or NOTIFY\nVvoipAnswerNotification(pranswer, answerSdp2)
	app -->> bro: <i>peerConnection.setRemoteDescription(pranswer, answerSdp2)</i>

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

	note right of srv: Terminating participant accepts
	srv<<--]: <i>200 OK INVITE(answerSdp2)</i>
	srv-->>]: <i>ACK</i>
	srv -> app: POST or NOTIFY\nVvoipAcceptanceNotification(answerSdp2)
	app -->> bro: <i>peerConnection.setRemoteDescription(answer, answerSdp2)</i>
end

@enduml