Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ The involved actors in the call flows are as follows:
The following links provide call flow diagrams and message examples.

- 3.1. [Subscription for WebRTC events](./subscription_for_webrtc_events.md)
- 3.2. WebRTC registration
- 3.3. Call orignation and disconnection (TBD)
- 3.2. [WebRTC registration](./webrtc_registration.md)
- 3.3. [Call orignation and disconnection](./call_origination_and_disconnection.md)
- 3.4. Call termination and disconnection (TBD)

The message examples illustrate the fields necessary for implementing a WebRTC Gateway, including all defined optional fields where applicable.
Expand Down

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
@startuml

!pragma teoz true
autonumber 1 "<font color=blue><b>[0]"

<style>
.box {
Margin 40
}
.audio{
arrow {
LineColor red
LineThickness 5
}
}
</style>

box Device
participant "Device\nApplication" as DA
end box

box Application Service Provider
participant "Application\nServer" as AS
end box

box "Operator Network" #EEEEEE
participant "Auth\nServer" as AUTH
participant "WebRTC\nGateway" as WG
participant "Telco\nNetwork" as TN
end box

box Device
participant "Remote\nendpoint" as RE
end box

activate WG #LightSteelBlue
activate WG #LightSteelBlue
activate DA

== Call Origination ==

DA -> AS: Call origination request

AS -> AUTH: GET /authorize
AS <-- AUTH: 302 Found\n(redirecting user agent)
DA <[#gray]-> AUTH: End user consent (e.g., ICM Auth Code Flow)
AS -> AUTH: POST /token
AS <-- AUTH: 200 OK

AS -[#red]> WG : **POST /webrtc-call-handling/{apiVersion}/sessions**

AUTH <- WG: POST /token/introspection
AUTH --> WG: 200 OK
activate WG #LightSteelBlue

WG -> TN ++: **SIP INVITE**

TN -> RE ++: SIP INVITE
TN <- RE: SIP 100 Trying

WG <- TN: **SIP 100 Trying**
AS <[#red]-- WG: **201 Created**

DA <- AS

TN <- RE: SIP 183 Session progress

WG <- TN: **SIP 183 Session progress**

AS <[#red]- WG: **POST SINK_URL**\nstatus: Ringing

DA <- AS

AS --[#red]> WG: **204 No content**

WG -> TN: **SIP PRACK**
TN -> RE: SIP PRACK
TN <- RE: SIP 200 OK (PRA)
WG <- TN: **SIP 200 OK (PRA)**

DA <[#purple]-> WG: ICE Connectivity Check
DA <[#purple]-> WG: DTLS Handshake

DA <--> WG <<audio>>: DTLS-SRTP (early media/ring back tone)
& WG <--> RE <<audio>>: RTP (early media/ring back tone)

TN <- RE: SIP 180 Ringing
WG <- TN: **SIP 180 Ringing**

AS <[#red]- WG: **POST SINK_URL**\nstatus: Ringing
DA <- AS
AS --[#red]> WG: **204 No content**

WG -> TN: **SIP PRACK**
TN -> RE: SIP PRACK
TN <- RE: SIP 200 OK (PRA)
WG <- TN: **SIP 200 OK (PRA)**

TN <- RE: SIP 200 OK (INV)
WG <- TN: **SIP 200 OK (INV)**

AS <[#red]- WG: **POST SINK_URL**\nstatus: Connected
DA <- AS
AS --[#red]> WG: **204 No content**

WG -> TN : **SIP ACK**
TN -> RE: SIP ACK

DA <--> WG <<audio>>: DTLS-SRTP (voice media)
& WG <--> RE <<audio>>: RTP (voice media)


@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
@startuml

!pragma teoz true
autonumber 47 "<font color=blue><b>[0]"

<style>
.box {
Margin 40
}
.audio{
arrow {
LineColor red
LineThickness 5
}
}
</style>

box Device
participant "Device\nApplication" as DA
end box

box Application Service Provider
participant "Application\nServer" as AS
end box

box "Operator Network" #EEEEEE
participant "Auth\nServer" as AUTH
participant "WebRTC\nGateway" as WG
participant "Telco\nNetwork" as TN
end box

box Device
participant "Remote\nendpoint" as RE
end box

activate WG #LightSteelBlue
activate WG #LightSteelBlue
activate WG #LightSteelBlue
activate TN
activate RE
activate DA

== Call termination by call originator ==

DA -> AS: Call termination request

AS -> AUTH: GET /authorize
AS <-- AUTH: 302 Found\n(redirecting user agent)
DA <[#gray]-> AUTH: End user consent (e.g., ICM Auth Code Flow)
AS -> AUTH: POST /token
AS <-- AUTH: 200 OK

AS -[#red]> WG: **DELETE /webrtc-call-handling/{apiVersion}/sessions/{mediaSessionId}**

AUTH <- WG: POST /token/introspection
AUTH --> WG: 200 OK

AS <[#red]-- WG: **204 No content**

WG -> TN: **SIP BYE**
TN -> RE: SIP BYE

TN <- RE --: SIP 200 OK (BYE)
WG <- TN --: **SIP 200 OK (BYE)**

AS <[#red]- WG: **POST SINK_URL**\nstatus: Terminated
deactivate WG

DA <- AS
deactivate DA

AS --[#red]> WG: **204 No content**


@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
@startuml

!pragma teoz true
autonumber 47 "<font color=blue><b>[0]"

<style>
.box {
Margin 40
}
.audio{
arrow {
LineColor red
LineThickness 5
}
}
</style>

box Device
participant "Device\nApplication" as DA
end box

box Application Service Provider
participant "Application\nServer" as AS
end box

box "Operator Network" #EEEEEE
participant "Auth\nServer" as AUTH
participant "WebRTC\nGateway" as WG
participant "Telco\nNetwork" as TN
end box

box Device
participant "Remote\nendpoint" as RE
end box

activate WG #LightSteelBlue
activate WG #LightSteelBlue
activate WG #LightSteelBlue
activate TN
activate RE
activate DA

== Call termination by call receiver ==


TN <- RE: SIP BYE
WG <- TN: **SIP BYE**

WG -> TN: **SIP 200 OK (BYE)**
TN -> RE --: SIP 200 OK (BYE)
deactivate RE

AS <[#red]- WG: **POST SINK_URL**\nstatus: Terminated
deactivate WG

DA <- AS
deactivate DA

AS --[#red]> WG: **204 No content**


@enduml
Original file line number Diff line number Diff line change
Expand Up @@ -84,19 +84,19 @@ x-correlator: b4333c46-49c0-4f62-80d7-f0ef930f1c46
}
```

> **ISSUE** (NotAddressed)
> **ISSUE** (UnderDiscussion)
>
> Related Issue: #NN
> Related Issue: #135
>
> Related PR: #NN
>
> Per the updated CAMARA-API-Event-Subscription-and-Notification-Guide.md, event subscriptions (`session-invitation`, `session-status`, `registration-ends`) are consolidated into a single request using the types array to reduce transactions.
>
> This consolidated subscription pattern should be reflected in the webrtc-events.yaml examples.

> **ISSUE** (NotAddressed)
> **ISSUE** (UnderDiscussion)
>
> Related Issue: #NN
> Related Issue: #76
>
> Related PR: #NN
>
Expand All @@ -106,9 +106,9 @@ x-correlator: b4333c46-49c0-4f62-80d7-f0ef930f1c46
>
> Informational descriptions for above fields need to be added in webrtc-events.yaml.

> **ISSUE** (NotAddressed)
> **ISSUE** (UnderDiscussion)
>
> Related Issue: #NN
> Related Issue: #136
>
> Related PR: #NN
>
Expand Down Expand Up @@ -176,7 +176,7 @@ x-correlator: f8e7d6c5-b4a3-2190-fedc-ba0987654321
```
> **ISSUE** (NotAddressed)
>
> Related Issue: #NN
> Related Issue: #78
>
> Related PR: #NN
>
Expand Down Expand Up @@ -263,4 +263,5 @@ x-correlator: b2c3d4e5-f6a7-8901-bcde-f23456789012
```
HTTP/1.1 204 No Content
x-correlator: b2c3d4e5-f6a7-8901-bcde-f23456789012
```

```
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ AUTH --> WG: 200 OK
AS <[#red]-- WG: **201 Created**
activate WG #LightSteelBlue

@enduml
@enduml
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,5 @@ AS <[#red]-- WG: **200 OK**
DA <-- AS: Event subscription update result


@enduml

@enduml
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,5 @@ DA <-- AS: Event subscription delete result
AS --[#red]> WG: **204 No Content**


@enduml

@enduml
Loading
Loading